/* 출하 정산 상세와 일괄 등록. 모든 규칙을 전용 클래스 안에 한정한다. */
.settlement-toolbar { display:flex; justify-content:flex-end; margin:-4px 0 14px; gap:8px; flex-wrap:wrap; }
.settlement-filter { display:inline-flex; gap:7px; align-items:center; font-size:.8rem; color:var(--ink-soft); cursor:pointer; min-height:40px; }
.settlement-cell { font-variant-numeric:tabular-nums; }
.settlement-overlay { position:fixed; inset:0; z-index:10020; display:flex; align-items:center; justify-content:center; padding:24px; background:var(--scrim-70,rgba(0,0,0,.7)); }
.settlement-overlay[hidden], .settlement-overlay [hidden] { display:none!important; }
.settlement-dialog { width:min(800px,100%); max-height:calc(100dvh - 48px); overflow:auto; overscroll-behavior:contain; border:1px solid var(--line); border-radius:18px; background:linear-gradient(var(--panel,var(--bg)),var(--panel,var(--bg))),var(--bg); color:var(--ink); box-shadow:0 20px 70px rgba(0,0,0,.35); font-size:.9rem; }
.settlement-dialog.ss-wide { width:min(1180px,100%); }
.settlement-dialog * { box-sizing:border-box; }
.settlement-dialog button,.settlement-dialog input,.settlement-dialog select,.settlement-dialog textarea { font:inherit; }
.settlement-dialog button { cursor:pointer; }
.settlement-dialog button:disabled { opacity:.55; cursor:default; }
.settlement-dialog :focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.ss-head { display:flex; align-items:flex-start; gap:12px; padding:20px 22px 16px; border-bottom:1px solid var(--line); }
.ss-head-main { min-width:0; flex:1; }
.ss-head h2 { margin:0 0 6px; font-size:1.35rem; font-weight:900; }
.ss-eyebrow { color:var(--accent-text,var(--accent)); font-size:.74rem; font-weight:800; margin-bottom:4px; }
.ss-meta { color:var(--ink-soft); font-size:.78rem; line-height:1.7; overflow-wrap:anywhere; }
.ss-close { width:44px; height:44px; flex:none; border:1px solid var(--line); border-radius:50%; background:var(--surface); color:var(--ink); font-size:1.1rem!important; }
.ss-content { padding:20px 22px; }
.ss-summary { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(220px,1fr); gap:18px; }
.ss-metrics { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0; }
.ss-metric { min-width:0; background:var(--surface); border:1px solid var(--line); border-radius:11px; padding:12px 14px; }
.ss-metric dt { color:var(--ink-soft); font-size:.76rem; margin-bottom:5px; }
.ss-metric dd { margin:0; font-size:1.5rem; font-weight:900; font-variant-numeric:tabular-nums; white-space:nowrap; }
.ss-metric small { font-size:.73rem; margin-left:4px; color:var(--ink-soft); font-weight:500; }
.ss-metric.ss-highlight { border-color:var(--accent); background:var(--surface); }
.ss-plot-block { min-width:0; }
.ss-section-title { font-weight:800; margin-bottom:8px; font-size:.85rem; }
.ss-scatter { display:block; width:100%; height:210px; }
.ss-scatter text { fill:var(--ink-soft); font-size:11px; font-family:inherit; }
.ss-scatter line { stroke:var(--line); }
.ss-legend { display:flex; flex-wrap:wrap; gap:6px 14px; font-size:.72rem; color:var(--ink-soft); }
.ss-legend span { display:flex; align-items:center; gap:5px; }
.ss-legend i { display:inline-block; width:8px; height:8px; border-radius:50%; }
.ss-payout { padding:20px; display:flex; flex-direction:column; justify-content:center; gap:8px; border-radius:12px; background:var(--surface); border:1px solid var(--line); }
.ss-payout strong { font-variant-numeric:tabular-nums; font-size:1.75rem; line-height:1.4; overflow-wrap:anywhere; }
.ss-payout strong small { font-size:.9rem; }
.ss-muted { color:var(--ink-soft); font-size:.78rem; line-height:1.6; overflow-wrap:anywhere; }
.ss-foot { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; padding:16px 22px; border-top:1px solid var(--line); background:var(--surface); }
.ss-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.ss-button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:42px; padding:9px 14px; border:1px solid var(--accent); border-radius:9px; font-weight:800!important; font-size:.82rem!important; background:var(--accent); color:var(--accent-ink); text-decoration:none; }
.ss-button.ss-secondary { background:var(--surface); color:var(--ink); border-color:var(--line-2,var(--line)); }
.ss-button.ss-danger { background:var(--surface); color:var(--t-red,var(--ink)); border-color:var(--line-2,var(--line)); }
.ss-message { padding:11px 14px; border:1px solid var(--line); background:var(--surface); border-radius:9px; color:var(--ink-soft); line-height:1.6; font-size:.82rem; margin-bottom:12px; white-space:pre-line; }
.ss-message[data-error=true] { border-color:var(--t-red,var(--line)); color:var(--t-red,var(--ink)); }
.ss-drop { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; padding:14px 16px; border:2px dashed var(--line-2,var(--line)); border-radius:13px; background:var(--surface); text-align:left; margin-bottom:16px; }
.ss-drop.ss-drag { border-color:var(--accent); }
.ss-drop input[type=file] { position:absolute; width:1px; height:1px; opacity:0; }
.ss-progress { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:12px; font-size:.82rem; color:var(--ink-soft); }
.ss-progress b { color:var(--ink); }
.ss-queue-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-bottom:14px; }
.ss-queue-tab { display:flex; flex-wrap:wrap; gap:7px; align-items:center; justify-content:center; min-height:48px; padding:10px 8px; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--ink-soft); font-weight:800!important; font-size:.84rem!important; }
.ss-queue-tab[aria-selected=true] { color:var(--accent-text,var(--accent)); border-color:var(--accent); background:var(--surface); box-shadow:inset 0 -3px var(--accent); }
/* 낮 테마의 공통 button !important 규칙에서도 선택된 탭을 구분한다. */
:root:is([data-theme="light"],[data-theme="hanul"],[data-theme="taegeuk"]) .settlement-dialog .ss-queue-tab[aria-selected=true] { color:var(--accent-text,var(--accent))!important; border-color:var(--accent)!important; box-shadow:inset 0 -3px var(--accent)!important; }
.ss-queue-tab b { font-variant-numeric:tabular-nums; padding:2px 7px; border-radius:12px; background:var(--panel,var(--bg)); }
.ss-queue-tools { margin-bottom:12px; }
.ss-queue-more { margin-top:12px; }
.ss-queue-foot { position:sticky; bottom:0; z-index:1; background:linear-gradient(var(--panel,var(--bg)),var(--panel,var(--bg))),var(--bg); }
.ss-saved-fields { margin:0; }
.ss-saved-fields .ss-metric dd { white-space:normal; overflow-wrap:anywhere; font-size:1rem; }
.ss-queue { display:flex; flex-direction:column; gap:8px; }
.ss-file { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:12px 14px; border:1px solid var(--line); border-radius:10px; background:var(--surface); align-items:center; }
.ss-file-name { font-weight:800; overflow-wrap:anywhere; }
.ss-file-info { display:flex; gap:6px 12px; flex-wrap:wrap; color:var(--ink-soft); font-size:.76rem; margin-top:4px; }
.ss-badge { display:inline-block; font-size:.73rem; padding:3px 8px; border-radius:20px; border:1px solid var(--line); background:var(--surface); white-space:nowrap; }
.ss-badge[data-kind=saved],.ss-badge[data-kind=ready] { color:var(--t-green,var(--accent-text,var(--accent))); }
.ss-badge[data-kind=failed],.ss-badge[data-kind=review] { color:var(--t-orange,var(--ink)); }
.ss-review-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; }
.ss-pdf { width:100%; height:560px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.ss-review-form { min-width:0; }
.ss-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-bottom:14px; }
.ss-field { min-width:0; display:block; font-size:.74rem; color:var(--ink-soft); }
.ss-field input,.ss-field select,.ss-field textarea,.ss-select { width:100%; min-width:0; padding:9px; margin-top:4px; min-height:42px; border:1px solid var(--line-2,var(--line)); border-radius:8px; background:var(--field,var(--surface)); color:var(--ink); font-size:.84rem; }
.ss-field textarea { min-height:70px; resize:vertical; }
.ss-field.ss-full { grid-column:1/-1; }
.ss-checks { overflow:auto; margin:10px 0; }
.ss-checks table { font-size:.76rem; }
.ss-checks th,.ss-checks td { padding:7px; white-space:normal; }
.ss-checks td:first-child { font-weight:700; }
.ss-ack { display:flex; gap:8px; align-items:flex-start; font-size:.8rem; line-height:1.6; margin:12px 0; }
.ss-ack input { margin-top:5px; }
.ss-source { padding:0 22px 18px; display:flex; flex-direction:column; gap:8px; }
.ss-source-item { display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:.8rem; }
.ss-source-item span { flex:1; min-width:0; overflow-wrap:anywhere; }
.ss-history { display:flex; flex-direction:column; gap:10px; font-size:.8rem; }
.ss-history article { padding:12px; border:1px solid var(--line); border-radius:9px; }
.ss-history pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; font-size:.75rem; margin-top:5px; color:var(--ink-soft); }
@media(max-width:650px) {
 .settlement-overlay { padding:8px; align-items:flex-end; }
 .settlement-dialog { max-height:calc(100dvh - 16px); border-radius:16px; }
 .ss-head,.ss-content { padding:16px; }
 .ss-summary,.ss-review-grid { grid-template-columns:minmax(0,1fr); }
 .ss-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 .ss-metric { padding:10px; }
 .ss-metric dd { font-size:1.27rem; }
 .ss-payout { padding:15px; }
 .ss-payout strong { font-size:1.65rem; }
 .ss-foot { padding:14px 16px; }
 .ss-foot > .ss-button { width:100%; }
 .ss-file { grid-template-columns:minmax(0,1fr); }
 .ss-pdf { height:330px; }
 .ss-source { padding:0 16px 16px; }
 .ss-button { min-height:44px; }
 .ss-fields { gap:8px; }
}

.ss-group-start { display:flex; gap:12px; flex-wrap:wrap; align-items:center; justify-content:space-between; padding:12px; margin:14px 0; border:1px solid var(--line); border-radius:10px; background:var(--surface); font-size:.82rem; }
.ss-group-members { display:grid; gap:8px; margin-bottom:16px; }
.ss-group-picker { padding:12px 14px; margin-bottom:18px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.ss-group-options { max-height:260px; overflow:auto; overscroll-behavior:contain; }
.ss-group-option { display:flex; align-items:flex-start; gap:10px; min-height:48px; padding:10px 4px; border-bottom:1px solid var(--line); font-size:.82rem; cursor:pointer; }
.ss-group-option input { margin-top:4px; flex:none; }
.ss-group-option > span { min-width:0; overflow-wrap:anywhere; }
.ss-group-option > span > span { display:block; color:var(--ink-soft); margin-top:4px; font-size:.76rem; }
.ss-group-picker .ss-ack { margin:4px 0; }
