.admin-tabs{display:flex;gap:8px;margin:18px 0 24px;overflow:auto}.admin-tabs button{white-space:nowrap;min-height:46px;background:#f7f1fc;border:1px solid #c9bbdc;color:#705687;padding:10px 20px}.admin-tabs [aria-selected="true"]{background:linear-gradient(110deg,#f2c5e3,#c6dafa);color:#563e70;border-color:#a99ac7;box-shadow:0 3px 0 #d5c4e8}
.sales-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.sales-filters label{display:grid;gap:5px;font-size:12px}.sales-filters input{min-height:44px;padding:8px 10px;border:1px solid #c3b5d1;border-radius:10px;background:#fff;color:#654d78}.sales-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.sales-metric{background:linear-gradient(135deg,#fff7fc,#eff4ff);border:1px solid #dfd3e9;border-radius:15px;padding:18px 14px;min-width:0}.sales-metric span,.sales-metric small{display:block;color:#887591;font-size:12px}.sales-metric strong{display:block;color:#63477b;font-size:24px;overflow-wrap:anywhere;margin:8px 0}.sales-total{padding:16px 4px;font-size:15px;display:flex;gap:12px;justify-content:space-between;border-bottom:1px solid #dfd3e9;margin:10px 0}.sales-total strong{font-size:24px;color:#70518b}.sales-table{min-width:620px}.sales-format{display:grid;grid-template-columns:170px 1fr;gap:8px;font-size:12px}.sales-format dd{margin:0;overflow-wrap:anywhere}.sales-shortcuts{margin:12px 0}.panel summary{cursor:pointer;font-size:18px;color:#674d80;padding:3px 0 10px}#salesPanel .panel{border-radius:18px;border:1px solid #cfc3dc;box-shadow:0 5px 14px #7b609010}#salesPanel .status:empty{display:none}@media(max-width:700px){.sales-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-metric strong{font-size:21px}.sales-filters{gap:8px}.sales-filters input{max-width:160px}.sales-format{grid-template-columns:1fr}.sales-format dt{font-weight:bold}.sales-format dd{margin-bottom:7px}.admin-tabs button{padding:10px 15px}.sales-total{align-items:center}}
.sticker-upload-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:16px 0 24px}.upload-sticker-tile{min-width:0;border:1px solid #dccce5;background:#fffafd;border-radius:14px;padding:7px;display:grid;gap:6px}.upload-sticker-tile img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:repeating-conic-gradient(#f3edf6 0 25%,#fff 0 50%) 0/16px 16px;border-radius:9px}.sticker-cover-choice{background:transparent;border:0;color:#8a7497;min-height:36px}.sticker-cover-choice[aria-pressed="true"]{background:#ebd7f0;color:#6b437f}.tile-replace{font-size:11px;text-align:center;color:#84718f;cursor:pointer}.tile-replace input{display:block;width:100%;font-size:9px;margin-top:4px}.upload-sheet-drop{border:2px dashed #c7b4d4;border-radius:16px;padding:26px;display:grid;gap:12px;place-items:center;background:#fbf6ff;margin:20px 0}.upload-sheet-drop small{color:#8b7999}.upload-pack-details{display:grid;gap:14px}.registered-pack-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e3d9eb;font-size:13px}#stickerUploadForm select{min-height:44px;padding:10px;border:1px solid #c3b5d1;border-radius:10px;background:#fff;color:#654d78}#stickerUploadForm .sales-filters input{max-width:110px}#stickerPublish{width:100%;margin-top:12px}@media(max-width:700px){.sticker-upload-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.tile-replace input{font-size:8px}.upload-sheet-drop{padding:20px 10px}}@media(max-width:700px){.sticker-upload-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

.sticker-export-cell{position:sticky;right:0;background:#fffafd;text-align:center;min-width:64px;border-left:1px solid #dfd3e9;z-index:1}.sticker-export-cell .btn{padding:8px;min-height:44px;min-width:44px}

#packSalesDialog{width:min(560px,94vw);max-height:88dvh;overflow:auto}
.pack-sales-figures{display:grid;grid-template-columns:1fr auto;gap:6px 16px}.pack-sales-figures dd{margin:0}
#packSalesInputs{display:grid;gap:8px}#packSalesInputs[hidden]{display:none}
#packSalesInputs label{display:flex;align-items:center;justify-content:space-between;gap:8px}
#packSalesInputs input{width:8em;max-width:45%}.sticker-export-cell .btn{width:auto;white-space:nowrap}

.member-languages{margin:12px 0 20px;color:var(--ink)}
.member-languages summary{width:fit-content;padding:.5rem 0;cursor:pointer;font-weight:700}
.member-languages p{font-size:.86rem}
#adminLanguageCounts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:6px 16px}
#adminLanguageCounts>div{display:flex;justify-content:space-between;gap:.5rem;padding:6px 2px;border-bottom:1px solid var(--line)}
#adminLanguageCounts dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}

/* 정산 CSV 열 설명표. 예전 dl 스타일 대신 표로 보여줍니다. */
table.sales-format{width:100%;border-collapse:collapse;font-size:12.5px}
table.sales-format th,table.sales-format td{padding:7px 10px;text-align:left;vertical-align:top;border-bottom:1px solid #eee5f3}
table.sales-format th{font-weight:600;white-space:nowrap}
table.sales-format td:first-child{white-space:nowrap}
table.sales-format code{font-size:12.5px;font-weight:600;word-break:keep-all}

/* 작가 관리 카드. 한 사람당 한 상자로 묶어 보여줍니다. */
.artist-card{border:1px solid #dbc6dc;border-radius:12px;padding:14px;margin-bottom:12px;display:grid;gap:9px}
.artist-card .inline-field{display:grid;gap:4px;font-size:12px}
.artist-card .inline-field input{min-height:40px;padding:7px 10px;border-radius:8px;border:1px solid #cdbbdd}
.artist-packs{display:flex;flex-wrap:wrap;gap:8px 14px;padding-top:6px;border-top:1px solid #eee5f3}
.artist-packs p{flex:1 0 100%;margin:0 0 2px;font-size:11px}
.artist-packs label{display:flex;align-items:center;gap:5px;font-size:12.5px}
.artist-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}

/* 작가 지급 미리보기. 파일을 받기 전에 숫자를 눈으로 확인하는 자리입니다. */
.artist-preview:empty{display:none}
.artist-preview{margin-top:12px;padding:12px;border:1px solid #dbc6dc;border-radius:12px;background:#fdfaff}
.artist-preview>p{margin:0 0 9px;font-size:13px}
.artist-preview-table{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:10px}
.artist-preview-table th,.artist-preview-table td{padding:5px 7px;text-align:right;border-bottom:1px solid #eee5f3;white-space:nowrap}
.artist-preview-table th:first-child,.artist-preview-table td:first-child{text-align:left;white-space:normal}
.artist-preview-steps{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin:0;font-size:12.5px}
.artist-preview-steps dt{color:#7b6589}
.artist-preview-steps dd{margin:0;text-align:right}
.artist-preview-steps .total{font-weight:700;color:#5c3f76;padding-top:6px;border-top:1px solid #d9c9e8;margin-top:2px}

/* 스티커 관리 목록. 한 팩이 한 줄입니다. */
.pack-row{border:1px solid #dbc6dc;border-radius:12px;padding:11px 13px;margin-bottom:9px;display:grid;gap:6px}
.pack-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.pack-head strong{font-size:14px}
.pack-badge{font-size:11px;padding:2px 9px;border-radius:999px;border:1px solid #d3bfe4;background:#f7f1fc;color:#6d5484;white-space:nowrap}
.pack-badge.is-selling{background:#eef7ef;border-color:#bcdcc3;color:#3f7a52}
.pack-badge.is-hidden{background:#f3f1f4;border-color:#d4ccd9;color:#7a7280}
.pack-badge.is-draft{background:#fff6e8;border-color:#e8d3ae;color:#8a6a2f}
.pack-badge.is-ended{background:#fdeff3;border-color:#e6c2d1;color:#8d5570}
.pack-meta{margin:0;font-size:11.5px;word-break:break-all}
.pack-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.pack-end{display:flex;align-items:center;gap:6px;font-size:12px}
.pack-end input{min-height:36px;padding:4px 8px;border-radius:8px;border:1px solid #cdbbdd}
.pack-badge.is-excluded{background:#f1f0f6;border-color:#c9c4d8;color:#6a6480}

/* 집계에서 뺀 팩이 있을 때만 보이는 알림. 깜빡하고 정산서를 뽑지 않도록. */
.sales-excluded:empty{display:none}
.sales-excluded{margin:8px 0;padding:9px 12px;border:1px solid #e8d3ae;border-radius:10px;background:#fff8ec;color:#8a6a2f;font-size:12.5px;line-height:1.6;word-break:keep-all}
.artist-pack-search{flex:1 0 100%;min-height:38px;padding:7px 10px;border-radius:8px;border:1px solid #cdbbdd;margin-bottom:2px}
.artist-pack-options{display:flex;flex-wrap:wrap;gap:8px 14px;flex:1 0 100%}
.artist-pack-options label[hidden]{display:none}
