/* 관리자 화면: 기존 밝은 보라색 토큰과 독립적인 화면 간격을 사용합니다. */
.admin-page {
  --admin-line: #ddd5e8;
  --admin-muted: #665c75;
  --admin-soft: #f7f3fc;
  max-width: 1440px;
  margin: 0 auto;
  padding: 38px 40px 176px;
  overflow-wrap: anywhere;
}
.admin-page-heading {display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:25px}
.admin-page-heading>div {min-width:0;max-width:760px}
.admin-page-heading h1 {margin-top:10px;font-size:1.8rem;line-height:1.45;letter-spacing:-.045em}
.admin-page-heading>div>p:last-child {margin-top:11px;color:var(--muted);font-size:.9rem;line-height:1.85;word-break:keep-all;overflow-wrap:anywhere}
.admin-page-heading>.button {flex:none;margin-top:10px;min-height:44px;font-size:.81rem}
.admin-guide {padding:18px 21px;border:1px solid #ded0ef;border-radius:14px;background:#f4effb;color:var(--accent-dark)}
.admin-guide>strong {font-size:.87rem;line-height:1.7}
.admin-guide>p {margin-top:5px;font-size:.8rem;line-height:1.85;color:#655572;word-break:keep-all;overflow-wrap:anywhere}
.admin-stats {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:23px 0}
.admin-stats>div {display:flex;flex-direction:column;gap:11px;padding:22px 23px;border:1px solid var(--border);border-radius:15px;background:var(--surface)}
.admin-stats>div:last-child {border-color:#d9cce9;background:#fcfaff}
.admin-stats span {font-size:.78rem;line-height:1.6;color:var(--admin-muted);word-break:keep-all;overflow-wrap:anywhere}
.admin-stats strong {font-size:1.95rem;font-weight:650;line-height:1.2;letter-spacing:-.04em;color:var(--accent-dark);font-variant-numeric:tabular-nums}
.admin-status-row {display:flex;align-items:center;justify-content:space-between;gap:16px;margin:3px 0 18px}
.admin-status-row>p {font-size:.76rem;color:var(--muted);line-height:1.75;min-width:0}
.admin-status-row>.button {flex:none;min-height:43px;font-size:.78rem;padding:10px 13px}
.admin-notice {margin:0 0 19px;padding:15px 17px;border:1px solid #cfc0e4;border-radius:11px;background:#f2ebfb;color:#523a75;font-size:.82rem;line-height:1.85;word-break:keep-all;overflow-wrap:anywhere}
.admin-notice.is-error {border-color:#e8bdb2;background:#fff4ef;color:#8d342a}
.admin-notice:focus {outline:3px solid var(--ring);outline-offset:3px}
.admin-layout {display:grid;grid-template-columns:242px minmax(0,1fr);align-items:start;gap:23px}
.admin-account-pane {position:sticky;top:22px;min-width:0;border:1px solid var(--border);border-radius:16px;padding:21px 12px 12px;background:var(--surface);box-shadow:var(--shadow)}
.admin-account-pane h2 {font-size:.92rem;letter-spacing:-.025em;margin:0 8px 16px;line-height:1.6}
#admin-account-list {max-height:calc(100dvh - 240px);overflow:auto;overscroll-behavior:contain;padding:3px;scrollbar-width:thin;scrollbar-color:#cbbddd transparent}
.admin-account {display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:68px;text-align:left;padding:12px 11px;margin-bottom:5px;border:1px solid transparent;border-radius:10px;background:#fff;color:var(--text);transition:background .15s,border-color .15s}
.admin-account>span {display:grid;gap:5px;min-width:0}
.admin-account strong {font-size:.82rem;font-weight:650;line-height:1.5;overflow-wrap:anywhere}
.admin-account small {font-size:.7rem;line-height:1.6;color:var(--admin-muted);overflow-wrap:anywhere}
.admin-account>b {min-width:27px;flex:none;font-size:.72rem;font-weight:600;line-height:1.5;padding:4px 6px;border-radius:7px;background:#f2eef6;color:#645174;text-align:center;font-variant-numeric:tabular-nums}
.admin-account:hover:not(:disabled) {border-color:#d7c7eb;background:#fbf8fe}
.admin-account.active {border-color:#a384ca;background:#f0e9f8;box-shadow:inset 3px 0 0 var(--accent)}
.admin-account.active strong {color:var(--accent-dark)}
.admin-account.active>b {background:#e1d3f0;color:#4e3274}
.admin-side-empty {font-size:.77rem;line-height:1.9;color:var(--muted);padding:13px 8px 18px;word-break:keep-all;overflow-wrap:anywhere}
.admin-main {min-width:0}
.admin-filters {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(110px,.65fr) minmax(0,1.25fr);gap:15px;padding:21px;border:1px solid var(--border);border-radius:15px;background:var(--surface)}
.admin-filters .field {min-width:0;gap:9px;font-size:.78rem;color:var(--admin-muted)}
.admin-filters input,.admin-filters select {min-height:44px;border-color:#95879f;border-radius:9px;background:#fff;font-size:.83rem}
.admin-selection-bar {display:flex;align-items:center;justify-content:space-between;gap:14px;margin:17px 0 23px;padding:14px 16px;border:1px solid #e4dbea;border-radius:11px;background:#f8f5fc}
.admin-selection-bar>label {display:flex;align-items:center;gap:10px;min-height:30px;font-size:.78rem;line-height:1.7;color:#51435f;cursor:pointer;min-width:0}
.admin-selection-bar input,.admin-feedback-select input {width:19px;height:19px;margin:0;flex:none;accent-color:var(--accent)}
.admin-selection-bar>span {flex:none;font-size:.75rem;font-weight:650;color:var(--accent-dark);line-height:1.7;font-variant-numeric:tabular-nums}
.admin-results-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.admin-results-heading h2 {font-size:1rem;line-height:1.65;letter-spacing:-.025em}
.admin-results-heading>span {font-size:.75rem;color:var(--muted);line-height:1.7;text-align:right}
.admin-draft-list {display:grid;grid-template-columns:minmax(0,1fr);gap:13px}
.admin-feedback {min-width:0;padding:23px;border:1px solid #ddd8e5;border-radius:15px;background:var(--surface);box-shadow:0 3px 16px #30204404;transition:border-color .15s,box-shadow .15s}
.admin-feedback.is-selected {border-color:#a082c8;box-shadow:inset 3px 0 0 var(--accent);background:#fdfbff}
.admin-feedback-heading {display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
.admin-feedback-select {display:flex;align-items:flex-start;gap:13px;min-width:0;cursor:pointer}
.admin-feedback-select input {margin-top:3px}
.admin-feedback-select>span {display:grid;gap:5px;min-width:0}
.admin-feedback-select strong {font-size:1rem;font-weight:700;line-height:1.55;overflow-wrap:anywhere}
.admin-feedback-select>span>span {font-size:.74rem;line-height:1.7;color:var(--muted)}
.admin-ready-badge {flex:none;display:inline-flex;align-items:center;border:1px solid #c4dfcc;border-radius:7px;background:#edf7ef;color:#236045;padding:5px 8px;font-size:.66rem;font-weight:600;line-height:1.55;text-align:center}
.admin-ready-badge.needs-edit {border-color:#eccda9;background:#fff3e5;color:#865019}
.admin-owner {display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;margin:16px 0 0;padding-left:32px;font-size:.72rem;line-height:1.75;min-width:0;color:var(--admin-muted)}
.admin-owner>span:first-child {color:#70637d;margin-right:2px}
.admin-owner>strong {font-size:.76rem;font-weight:600;color:#4c3c60;overflow-wrap:anywhere}
.admin-owner>span:last-child {overflow-wrap:anywhere}
.admin-saved-at {margin:7px 0 0;padding-left:32px;font-size:.7rem;line-height:1.7;color:#74677f}
.admin-row-error {margin-top:15px;padding:10px 12px;border:1px solid #f0d2c8;border-radius:8px;background:#fff6f2;color:#943e2c;font-size:.76rem;line-height:1.85;word-break:keep-all;overflow-wrap:anywhere}
.admin-preview {margin-top:17px;border-top:1px solid #e9e2f0}
.admin-preview>summary {display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:44px;padding:13px 0 0;font-size:.77rem;font-weight:600;line-height:1.7;color:var(--accent-dark);list-style:none;cursor:pointer}
.admin-preview>summary::-webkit-details-marker {display:none}
.admin-preview>summary::after {content:'+';font-size:1.15rem;font-weight:400;line-height:1;flex:none;padding:3px}
.admin-preview[open]>summary::after {content:'−'}
.admin-letter {margin:14px 0 0;padding:18px 19px;border:1px solid #e6deee;border-radius:10px;background:#faf8fd;color:#453b51;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font:400 .82rem/1.95 "Pretendard","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;max-width:100%;tab-size:2}
.admin-export-bar {position:fixed;z-index:30;left:50%;bottom:18px;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;gap:20px;width:calc(100% - 80px);max-width:1360px;padding:20px 23px;border:1px solid #d9cce9;border-radius:17px;background:#fff;box-shadow:0 5px 35px #452e7126}
.admin-export-bar>div:first-child {min-width:0;max-width:410px}
.admin-export-bar strong {font-size:.9rem;line-height:1.7;color:#49355f}
.admin-export-bar p {margin-top:4px;font-size:.73rem;line-height:1.8;color:var(--admin-muted);word-break:keep-all;overflow-wrap:anywhere}
.admin-export-bar>div:last-child {display:flex;justify-content:flex-end;gap:10px;min-width:0}
.admin-export-bar .button {min-height:46px;padding:12px 15px;font-size:.8rem;line-height:1.65;word-break:keep-all;overflow-wrap:anywhere;white-space:normal}
.admin-export-bar .primary {min-width:186px}
.admin-page .button:disabled,.admin-account:disabled {background:#eeebf2;color:#676071;border-color:#d6cfdf;box-shadow:none;opacity:1;cursor:not-allowed}
.admin-page .button:disabled:hover,.admin-account:disabled:hover {background:#eeebf2;color:#676071;border-color:#d6cfdf}
.admin-filters input:disabled,.admin-filters select:disabled {color:#675e72;background:#eeebf2;border-color:#b2a8bd;opacity:1}
.admin-load-more {display:flex;width:100%;margin:20px 0 5px;min-height:48px;font-size:.82rem}
.admin-page .empty-results {border:1px dashed #d7cce3;border-radius:15px;background:#fcfaff;min-height:210px;padding:45px 20px}
.admin-page .empty-results>strong {line-height:1.75}
.admin-page .empty-results>p {word-break:keep-all;overflow-wrap:anywhere}
.admin-nav-button {border-color:#cbb7e4;background:#f6f0fc;color:var(--accent-dark);white-space:nowrap;font-size:.8rem}
.admin-nav-button:hover,.admin-nav-button[aria-pressed=true] {border-color:var(--accent);background:#eae0f8;color:#4d2d82}
.admin-nav-button[aria-pressed=true] {box-shadow:inset 0 -2px 0 var(--accent)}
.topbar-right>.admin-nav-button {flex:none;padding:10px 12px}
.sharing-notice {padding:13px 16px;margin:0 0 19px;border:1px solid #ded1eb;border-radius:11px;background:#f6f1fc;color:#5d4974;font-size:.79rem;line-height:1.85;word-break:keep-all;overflow-wrap:anywhere}
.sharing-notice strong {font-weight:650;color:#503b6b}
.button.quick-save.primary {background:var(--accent);color:#fff;border-color:var(--accent);min-height:47px}
.button.quick-save.primary:hover:not(:disabled) {background:var(--accent-dark);border-color:var(--accent-dark)}
.button.quick-save.primary:disabled {background:#eae5f1;color:#665b74;border-color:#d7cde3;opacity:1}

@media (max-width:1180px) {
  .admin-page {padding:30px 24px 195px}
  .admin-layout {grid-template-columns:216px minmax(0,1fr);gap:18px}
  .admin-account-pane {padding-left:9px;padding-right:9px}
  .admin-filters {padding:18px;gap:12px}
  .admin-feedback {padding:20px}
  .admin-export-bar {width:calc(100% - 48px);padding:18px 20px;gap:18px}
  .admin-export-bar>div:first-child {max-width:300px}
  .admin-export-bar>div:last-child {gap:8px}
  .admin-export-bar .button {font-size:.76rem;padding:11px 13px}
  .admin-export-bar .primary {min-width:164px}
  .topbar-right:has(.admin-nav-button:not([hidden])) {gap:6px}
  .topbar-right>.admin-nav-button {padding:10px 9px;font-size:.75rem}
}
@media (max-width:1000px) {
  .admin-layout {grid-template-columns:minmax(0,1fr)}
  .admin-account-pane {display:none}
  .admin-export-bar {align-items:flex-start}
  .admin-export-bar>div:first-child {max-width:250px}
  .admin-export-bar>div:last-child {flex:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-export-bar .primary {min-width:0}
}
@media (max-width:760px) {
  .admin-page {padding-bottom:235px}
  .admin-page-heading {gap:16px;flex-wrap:wrap}
  .admin-page-heading>.button {margin-top:0}
  .admin-export-bar {display:block;bottom:12px;padding:16px 18px}
  .admin-export-bar>div:first-child {max-width:none}
  .admin-export-bar>div:last-child {margin-top:12px;gap:10px}
  .admin-export-bar p {font-size:.72rem;margin-top:3px}
  .admin-export-bar strong {font-size:.85rem}
}
@media (max-width:640px) {
  .admin-page {padding:26px 14px calc(270px + env(safe-area-inset-bottom,0px))}
  .admin-page-heading {margin-bottom:20px;gap:15px}
  .admin-page-heading h1 {font-size:1.48rem;margin-top:9px}
  .admin-page-heading .eyebrow {font-size:.6rem}
  .admin-page-heading>div>p:last-child {font-size:.8rem;margin-top:9px;line-height:1.9}
  .admin-page-heading>.button {font-size:.75rem;min-height:43px;padding:10px 13px}
  .admin-guide {padding:15px 16px;border-radius:12px}
  .admin-guide>strong {font-size:.8rem}
  .admin-guide>p {font-size:.73rem;line-height:1.9;margin-top:6px}
  .admin-stats {gap:7px;margin:17px 0}
  .admin-stats>div {padding:15px 10px 14px;border-radius:11px;gap:9px}
  .admin-stats span {font-size:.67rem;line-height:1.65;min-height:35px}
  .admin-stats strong {font-size:1.55rem}
  .admin-status-row {gap:10px;margin-bottom:15px;align-items:flex-start}
  .admin-status-row>p {font-size:.69rem;padding-top:5px}
  .admin-status-row>.button {font-size:.71rem;padding:9px 10px;min-height:40px}
  .admin-notice {font-size:.75rem;padding:13px 14px}
  .admin-filters {grid-template-columns:minmax(0,1fr) minmax(90px,.62fr);padding:16px 14px;gap:15px 11px;border-radius:13px}
  .admin-filters .field {font-size:.74rem;gap:8px}
  .admin-filters .field:last-child {grid-column:1/-1}
  .admin-filters input,.admin-filters select {font-size:1rem;min-height:46px;padding:10px}
  .admin-selection-bar {padding:11px 12px;gap:9px;flex-wrap:wrap;margin:13px 0 20px}
  .admin-selection-bar>label {font-size:.7rem;gap:8px;min-height:33px}
  .admin-selection-bar>span {font-size:.7rem;margin-left:auto}
  .admin-selection-bar input,.admin-feedback-select input {width:19px;height:19px}
  .admin-results-heading {gap:10px;margin-bottom:12px;align-items:flex-start}
  .admin-results-heading h2 {font-size:.91rem;flex:none}
  .admin-results-heading>span {font-size:.68rem;line-height:1.75}
  .admin-feedback {padding:17px 14px;border-radius:12px}
  .admin-feedback-heading {gap:10px}
  .admin-feedback-select {gap:10px}
  .admin-feedback-select strong {font-size:.9rem}
  .admin-feedback-select>span>span {font-size:.7rem}
  .admin-ready-badge {font-size:.59rem;padding:5px 6px;max-width:80px}
  .admin-owner {margin-top:13px;padding-left:29px;font-size:.66rem;gap:4px 6px}
  .admin-owner>strong {font-size:.72rem}
  .admin-saved-at {padding-left:29px;font-size:.65rem;line-height:1.85}
  .admin-row-error {font-size:.72rem;padding:10px}
  .admin-preview {margin-top:15px}
  .admin-preview>summary {font-size:.74rem;min-height:43px}
  .admin-letter {padding:15px 13px;font-size:.78rem;line-height:1.95;margin-top:12px}
  .admin-export-bar {left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom,0px));width:auto;transform:none;padding:15px 14px;border-radius:14px}
  .admin-export-bar strong {font-size:.8rem}
  .admin-export-bar p {font-size:.68rem;line-height:1.75;margin-top:3px}
  .admin-export-bar>div:last-child {grid-template-columns:minmax(0,1fr);gap:7px;margin-top:11px}
  .admin-export-bar .button {width:100%;min-height:43px;padding:10px 9px;font-size:.75rem;line-height:1.6}
  .admin-export-bar .primary {order:-1}
  .admin-load-more {font-size:.76rem;min-height:45px;margin-top:17px}
  .admin-page .empty-results {padding:36px 15px}
  .admin-page .empty-results>strong {font-size:.85rem}
  .admin-page .empty-results>p {font-size:.75rem}
  .sharing-notice {font-size:.74rem;padding:12px 13px;margin-bottom:16px}
  .topbar-right:has(.admin-nav-button:not([hidden])) {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0}
  .topbar-right:has(.admin-nav-button:not([hidden]))>.account-controls {grid-column:1/-1;order:3;min-width:0;max-width:100%;width:100%;margin-top:3px}
  .topbar-right:has(.admin-nav-button:not([hidden]))>.button {min-width:0;width:100%;font-size:.74rem;padding:10px 6px;min-height:42px;white-space:normal}
  .topbar-right:has(.admin-nav-button:not([hidden]))>.home-link {min-width:0;min-height:42px;padding:8px 7px;font-size:.74rem}
  .topbar-right:has(.admin-nav-button:not([hidden])) .account-person strong {max-width:min(200px,55vw)}
}
@media (max-width:360px) {
  .admin-page {padding-left:12px;padding-right:12px}
  .admin-stats {gap:5px}
  .admin-stats>div {padding-left:8px;padding-right:8px}
  .admin-stats span {font-size:.63rem;min-height:43px}
  .admin-stats strong {font-size:1.4rem}
  .admin-filters {padding:14px 12px;gap:13px 9px}
  .admin-selection-bar>label {font-size:.67rem;gap:7px}
  .admin-feedback {padding:16px 12px}
  .admin-ready-badge {max-width:72px;font-size:.56rem}
  .admin-export-bar {left:8px;right:8px;padding:13px 12px}
  .admin-export-bar .button {font-size:.72rem}
  .topbar-right:has(.admin-nav-button:not([hidden]))>.button {font-size:.7rem}
}
