:root{--bg: oklch(.985 .004 120);--surface: oklch(1 0 0);--surface-subtle: oklch(.966 .006 120);--surface-strong: oklch(.935 .008 120);--sidebar: oklch(.245 .026 128);--sidebar-soft: oklch(.305 .032 128);--ink: oklch(.23 .018 130);--ink-strong: oklch(.16 .018 130);--muted: oklch(.45 .017 130);--muted-strong: oklch(.35 .017 130);--border: oklch(.845 .011 120);--border-soft: oklch(.902 .009 120);--primary: oklch(.45 .105 112);--primary-hover: oklch(.39 .11 112);--success: oklch(.46 .12 145);--success-soft: oklch(.936 .035 145);--warning: oklch(.64 .14 75);--warning-soft: oklch(.95 .045 75);--danger: oklch(.54 .17 28);--danger-soft: oklch(.95 .035 28);--info: oklch(.49 .13 245);--focus: oklch(.68 .11 112);--shadow-sm: 0 1px 2px oklch(.18 .015 130 / .08);--radius: 8px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html,body{min-width:0;margin:0;background:var(--bg)}button,input,select{font:inherit}button{border:0;cursor:pointer}button:disabled,input:disabled,.disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.appShell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;height:100vh;flex-direction:column;gap:24px;padding:18px 14px;color:#e7e8e4;background:var(--sidebar)}.brandBlock{display:flex;min-width:0;align-items:center;gap:11px}.brandMark{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;color:var(--sidebar);border-radius:var(--radius);background:#d8de98}.brandBlock strong{display:block;color:#fff;font-size:16px;line-height:1.25}.brandBlock span{display:block;margin-top:2px;color:#afb2aa;font-size:12px}.sidebar nav{display:grid;gap:5px}.sidebar a{display:flex;min-height:38px;align-items:center;gap:9px;padding:0 10px;color:#c2c5be;text-decoration:none;border-radius:var(--radius)}.sidebar a.active,.sidebar a:hover{color:#fff;background:var(--sidebar-soft)}.rolePanel{margin-top:auto;padding-top:18px;border-top:1px solid oklch(.42 .026 128)}.rolePanel label{color:#c2c5be}.rolePanel select{color:var(--ink);background:#fff}.rolePanel p{margin:10px 0 0;color:#afb2aa;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.versionBlock{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;color:#afb2aa;font-size:12px}.versionBlock a{color:#d8de98;text-decoration:none}.versionBlock a:hover{color:#fff}label{display:grid;min-width:0;gap:6px;color:var(--muted-strong);font-size:12px;font-weight:680}input,select{width:100%;min-width:0;min-height:36px;padding:0 10px;color:var(--ink);border:1px solid var(--border);border-radius:var(--radius);background:#fff}input::placeholder{color:var(--muted);opacity:1}.workspace{min-width:0;padding:24px clamp(16px,2.3vw,32px) 40px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}h1,h2,p{margin:0}h1{color:var(--ink-strong);font-size:24px;line-height:1.25;letter-spacing:0;text-wrap:balance}h2{color:var(--ink-strong);font-size:16px;line-height:1.35}.topbar p,.uploadPanel p,.actionBand span{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.55;text-wrap:pretty}.metricsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:14px}.metric,.panel,.toolbarBand,.filterBand,.actionBand,.tableBand{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface)}.metric{position:relative;min-height:92px;padding:15px 16px;box-shadow:var(--shadow-sm)}.metric:before{content:"";position:absolute;top:15px;right:15px;width:9px;height:9px;border-radius:999px;background:var(--primary)}.metric span{display:block;color:var(--muted);font-size:13px}.metric strong{display:block;margin-top:10px;color:var(--ink-strong);font-size:24px;line-height:1.1}.metric-primary:before{background:var(--primary)}.metric-success:before{background:var(--success)}.metric-warning:before{background:var(--warning)}.metric-info:before{background:var(--info)}.toolbarBand,.filterBand,.actionBand{margin-bottom:12px;padding:14px;box-shadow:var(--shadow-sm)}.uploadPanel,.panelHeader,.actionBand{display:flex;align-items:center;justify-content:space-between;gap:14px}.uploadPanel{align-items:flex-start}.uploadActions,.actionButtons{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.notice{display:flex;align-items:flex-start;gap:9px;margin-top:12px;padding:10px 12px;color:#472d00;color:oklch(.32 .075 75);border:1px solid oklch(.82 .075 75);border-radius:var(--radius);background:var(--warning-soft);font-size:13px;line-height:1.45}.notice svg{flex:0 0 auto;margin-top:1px}.filterBand{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr)) minmax(120px,.8fr);align-items:end;gap:10px}.primaryButton,.secondaryButton,.dangerButton,.fileButton{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:7px;padding:0 13px;border-radius:var(--radius);font-size:14px;font-weight:700;line-height:1;text-decoration:none;white-space:nowrap}.primaryButton{color:#fff;background:var(--primary)}.primaryButton:hover:not(:disabled){background:var(--primary-hover)}.secondaryButton,.fileButton{color:var(--ink);border:1px solid var(--border);background:#fff}.secondaryButton:hover:not(:disabled),.fileButton:hover:not(.disabled){border-color:#a1a897;background:var(--surface-subtle)}.dangerButton{color:#fff;background:var(--danger)}.dangerButton:hover:not(:disabled){background:#a9231e}.fileButton input{display:none}.previewPanel{margin-top:12px;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface-subtle)}.previewSummary{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:11px 12px;color:var(--muted);font-size:13px}.previewSummary strong{color:var(--ink-strong)}.previewTableWrap{overflow:auto;border-top:1px solid var(--border-soft)}.previewTable{width:100%;min-width:980px;border-collapse:collapse;background:#fff;font-size:13px}.actionBand>div:first-child{min-width:220px}.actionBand strong{color:var(--ink-strong)}.reasonInput{width:min(220px,100%);flex:1 1 180px}.settlementConfirmPanel{margin-bottom:12px;padding:14px;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.settlementConfirmHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.settlementConfirmHeader p{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.5}.settlementSummary{min-width:160px;text-align:right}.settlementSummary span{display:block;color:var(--muted);font-size:13px}.settlementSummary strong{display:block;margin-top:6px;color:var(--ink-strong);font-size:20px;line-height:1.2}.settlementPreviewList{display:grid;gap:8px;margin-top:12px}.settlementPreviewItem{display:grid;grid-template-columns:minmax(140px,1.2fr) minmax(80px,.7fr) minmax(120px,1fr) minmax(100px,.7fr);gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface-subtle);font-size:13px}.settlementPreviewItem strong{color:var(--ink-strong);text-align:right}.settlementPreviewList p{color:var(--muted);font-size:13px}.settlementConfirmActions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.tableBand{overflow:hidden;box-shadow:var(--shadow-sm)}.tableWrap{width:100%;overflow:auto;max-height:min(52vh,560px);scrollbar-gutter:stable}.shipmentsTable,.smallTable{width:100%;border-collapse:collapse;font-size:13px}.shipmentsTable{min-width:2260px}th,td{padding:10px 9px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--border-soft)}th{position:sticky;z-index:1;top:0;color:var(--muted-strong);background:var(--surface-strong);font-size:12px;font-weight:760;white-space:nowrap}td{color:var(--ink);white-space:nowrap}tbody tr:hover{background:#f6f7f2}.checkCol{width:54px}.moneyCell{color:var(--ink-strong);font-weight:720}.monoCell{font-family:SFMono-Regular,Consolas,monospace;font-size:12px}.remarkCell{max-width:240px;color:var(--muted);white-space:normal}.lockedRow{background:#f6f7f4}.statusPill{display:inline-flex;min-width:68px;min-height:24px;align-items:center;justify-content:center;padding:0 8px;border-radius:999px;font-size:12px;font-weight:720}.statusPill.success{color:#052a09;background:var(--success-soft)}.statusPill.warning{color:#3a2400;color:oklch(.28 .06 75);background:var(--warning-soft)}.statusPill.danger{color:#5b1713;background:var(--danger-soft)}.bottomGrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:12px;margin-top:12px}.panel{min-width:0;padding:14px;box-shadow:var(--shadow-sm)}.panelHeader{min-height:36px}.smallTableWrap{margin-top:12px;overflow:auto}.smallTable th,.smallTable td{white-space:nowrap}.auditList{display:grid;gap:8px;margin-top:12px}.auditItem{padding:10px;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface-subtle)}.auditItem strong,.auditItem span{display:block}.auditItem strong{color:var(--ink-strong);font-size:13px}.auditItem span,.auditItem p{color:var(--muted);font-size:12px;line-height:1.45}.auditItem p{margin-top:4px}.emptyState{padding:30px 18px;color:var(--muted);text-align:center;white-space:normal}@media(max-width:1180px){.appShell{grid-template-columns:216px minmax(0,1fr)}.workspace{padding:20px 18px 32px}.filterBand{grid-template-columns:repeat(3,minmax(150px,1fr))}.filterBand .primaryButton{width:100%}.uploadPanel,.actionBand{align-items:stretch;flex-direction:column}.uploadActions,.actionButtons{justify-content:flex-start}}@media(max-width:860px){.appShell{display:block}.sidebar{position:static;height:auto;padding:14px}.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar a{justify-content:center;padding:0 8px}.rolePanel{margin-top:0}.workspace{padding:16px 12px 28px}.topbar{flex-direction:column}.topbar .secondaryButton{align-self:flex-start}.metricsGrid,.filterBand,.bottomGrid{grid-template-columns:1fr}.panelHeader{align-items:flex-start;flex-direction:column}.settlementConfirmHeader,.settlementConfirmActions{align-items:stretch;flex-direction:column}.settlementSummary{text-align:left}.settlementPreviewItem{grid-template-columns:1fr}}@media(max-width:560px){.sidebar nav{grid-template-columns:1fr}.uploadActions,.actionButtons{display:grid;grid-template-columns:1fr}.primaryButton,.secondaryButton,.dangerButton,.fileButton{width:100%}}@media(prefers-reduced-motion:no-preference){.primaryButton,.secondaryButton,.dangerButton,.fileButton,.sidebar a,tbody tr{transition:background-color .18s ease-out,border-color .18s ease-out,color .18s ease-out}}
