:root{--bg:#f5f6f8;--surface:#fff;--surface-2:#f9fafb;--border:#e3e6eb;--border-strong:#cfd4dc;--text:#1c2430;--muted:#667085;--accent:#0f6e6e;--accent-hover:#0b5959;--accent-soft:#e6f2f2;--good:#1c7c43;--good-soft:#e7f5ec;--warn:#9a6100;--warn-soft:#fdf3e1;--bad:#b42318;--bad-soft:#fdecea;--info:#1f5fbf;--info-soft:#e8f0fc;--sidebar:#17222e;--radius:8px;--shadow:0 1px 2px #1018280d;color:var(--text);background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}h1{letter-spacing:-.01em;margin:0 0 4px;font-size:22px}h2{margin:0 0 8px;font-size:15px}p{margin:0 0 8px;line-height:1.5}a{color:var(--accent)}.mono{white-space:nowrap;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12.5px}.sans{white-space:normal;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.muted{color:var(--muted)}.small{font-size:12.5px}.upper{text-transform:uppercase;letter-spacing:.05em}.pad{padding:16px}.nowrap{white-space:nowrap}.wrap{word-break:break-word;max-width:320px}.num{text-align:right;font-variant-numeric:tabular-nums}.text-bad{color:var(--bad);font-weight:600}.req{color:var(--bad)}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--sidebar);color:#cfd8e3;flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.sidebar .brand{border-bottom:1px solid #ffffff14;padding:18px 16px}.brand{align-items:center;gap:10px;display:flex}.brand-mark{background:var(--accent);color:#fff;border-radius:8px;place-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:grid}.brand-name{color:#fff;font-weight:600}.login-card .brand-name{color:var(--text)}.brand-sub{color:#8fa0b3;font-size:12px}nav{scrollbar-width:none;-ms-overflow-style:none;flex:1;padding:8px;overflow-y:auto}nav::-webkit-scrollbar{width:0;height:0;display:none}.nav-group{text-transform:uppercase;letter-spacing:.06em;color:#7f8fa3;padding:14px 10px 6px;font-size:11px}.nav-link{color:#d7dee7;border-radius:6px;justify-content:space-between;align-items:center;padding:8px 10px;text-decoration:none;display:flex}.nav-link:hover{background:#ffffff0f}.nav-link.active{color:#fff;background:#0f6e6e59}.nav-link.soon{color:#8595a8}.nav-soon{white-space:nowrap;border:1px solid #ffffff26;border-radius:10px;flex-shrink:0;margin-left:6px;padding:1px 6px;font-size:10.5px}.sidebar-foot{border-top:1px solid #ffffff14;flex-direction:column;gap:8px;padding:12px 16px;display:flex}.sidebar-foot-actions{justify-content:space-between;align-items:center;gap:8px;margin-top:2px;display:flex}.who-name{color:#fff;font-weight:600}.who-role{color:#8fa0b3;font-size:11.5px}.sidebar .btn-ghost{color:#cfd8e3;border-color:#ffffff26}.content{min-width:0;padding:24px 28px 48px}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.page-header p{color:var(--muted);max-width:820px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;overflow:hidden}.card-head{padding:14px 16px 6px}.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cards-2 .card{margin-bottom:0}.stat{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:var(--radius);padding:14px 16px}.stat-bad{border-left-color:var(--bad)}.stat-warn{border-left-color:var(--warn)}.stat-info{border-left-color:var(--info)}.stat-zero{border-left-color:var(--border-strong)}.stat-title{color:var(--muted);font-size:12.5px;font-weight:600}.stat-value{font-variant-numeric:tabular-nums;margin-top:4px;font-size:26px;font-weight:700}.stat-unit{color:var(--muted);font-size:13px;font-weight:500}.stat-amount{font-weight:600}.stat-hint{color:var(--muted);margin-top:6px;font-size:11.5px;line-height:1.4}.btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:7px 14px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-danger{background:var(--bad);border-color:var(--bad);color:#fff}.btn-danger-ghost{color:var(--bad);border-color:#f1c0bb}.btn-ghost{background:0 0}.btn-sm{padding:4px 10px;font-size:12.5px}.btn-block{justify-content:center;width:100%}.icon-btn{cursor:pointer;color:var(--muted);background:0 0;border:0;font-size:22px;line-height:1}input,select,textarea{font:inherit;color:inherit;border:1px solid var(--border-strong);background:#fff;border-radius:6px;min-width:0;padding:7px 9px}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:2px solid #0f6e6e40}input:disabled{background:var(--surface-2)}.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.field-label{color:#475467;font-size:12px;font-weight:600}.field-hint{color:var(--muted);font-size:11.5px}.checkbox{align-self:center;align-items:center;gap:8px;display:flex}.grid-2{grid-template-columns:1fr 1fr;column-gap:16px;display:grid}.toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:12px;padding:14px 16px 2px;display:flex}.toolbar .field{margin-bottom:12px}.toolbar input:not([type]),.toolbar input[type=text]{min-width:240px}.align-end{margin-bottom:12px}.push-right{margin-left:auto}.tabs{border-bottom:1px solid var(--border);background:var(--surface-2);gap:4px;padding:0 16px;display:flex}.tabs button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:11px 12px;font-weight:600}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.count{background:var(--border);color:var(--text);border-radius:10px;margin-left:4px;padding:1px 7px;font-size:11.5px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;color:#475467;background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;padding:9px 10px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--border);vertical-align:top;padding:9px 10px}tr:last-child td{border-bottom:0}td.check,th.check{width:34px}.row-selected td{background:var(--accent-soft)}.row-error td{background:var(--bad-soft)}.row-muted td{color:var(--muted)}.row-flag td{background:var(--warn-soft)}.cell{width:100%;min-width:130px;padding:5px 7px}.cell.invalid{border-color:var(--bad)}.cell-error{color:var(--bad);white-space:normal;max-width:200px;margin-top:3px;font-size:11.5px}.docs-row td{background:var(--surface-2)}.chip{border:1px solid var(--border-strong);background:#fff;border-radius:12px;margin:2px 6px 2px 0;padding:3px 9px;font-size:12.5px;text-decoration:none;display:inline-block}.action-bar{border-top:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding:12px 16px 0;display:flex}.action-bar>.muted{max-width:520px;padding-bottom:14px}.action-bar-right{align-items:flex-end;gap:12px;display:flex}.badge{white-space:nowrap;color:#475467;background:#eef0f3;border-radius:10px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-block}.badge-good{background:var(--good-soft);color:var(--good)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-bad{background:var(--bad-soft);color:var(--bad)}.badge-info{background:var(--info-soft);color:var(--info)}.banner{border-radius:6px;margin:0 0 12px;padding:10px 14px;font-size:13px}.card>.banner{margin:12px 16px}.banner ul{margin:6px 0 0;padding-left:18px}.banner-bad{background:var(--bad-soft);color:var(--bad);border:1px solid #f5c2bd}.banner-warn{background:var(--warn-soft);color:#7a4d00;border:1px solid #f3dcaa}.error-list{margin:0;padding-left:18px;line-height:1.7}.modal-backdrop{z-index:50;background:#10182873;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:10px;flex-direction:column;width:100%;max-height:calc(100vh - 40px);display:flex;box-shadow:0 20px 50px #10182840}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-head h2{margin:0}.modal-body{padding:16px 18px;overflow-y:auto}.modal-foot{border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 10px 10px;justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.toasts{z-index:60;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{color:#fff;background:#1d2939;border-radius:6px;padding:10px 14px;font-size:13px;box-shadow:0 6px 20px #0003}.toast-bad{background:var(--bad)}.login-wrap{place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{border:1px solid var(--border);width:100%;max-width:380px;box-shadow:var(--shadow);background:#fff;border-radius:12px;padding:28px}.login-card .brand{margin-bottom:20px}.login-card .brand-sub{color:var(--muted)}.login-card .muted{margin-top:14px}@media (width<=1100px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.content{padding:16px}.cards,.cards-2,.grid-2{grid-template-columns:1fr}.sidebar .brand{justify-content:space-between;display:flex}.menu-toggle{color:#cfd8e3;font:inherit;background:0 0;border:1px solid #ffffff40;border-radius:6px;margin-left:auto;padding:6px 12px}.sidebar .side-collapsible{display:none}.sidebar.menu-open .side-collapsible{flex-direction:column;max-height:75vh;display:flex;overflow-y:auto}.card{overflow-x:auto}}.menu-toggle{display:none}@media (width<=760px){.menu-toggle{display:inline-block}}.side-collapsible{flex-direction:column;flex:1;min-height:0;display:flex}.side-search-hint{color:#8fa0b3;padding:4px 4px 0;font-size:11.5px}input[type=file]{background:var(--surface-2);padding:6px}input.invalid,select.invalid,textarea.invalid{border-color:var(--bad)}textarea{resize:vertical;width:100%;min-height:64px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:16px;display:grid}.variance{border-radius:6px;margin-bottom:12px;padding:10px 12px;font-size:13px}.variance-ok{background:var(--good-soft);color:var(--good)}.variance-flag{background:var(--warn-soft);color:#7a4d00}.kv{grid-template-columns:max-content 1fr;gap:4px 16px;margin-bottom:12px;font-size:13px;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:500}.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.steps .card{margin-bottom:0}.step-no{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;margin-right:8px;font-size:12px;font-weight:700;display:inline-grid}.urn-table td{border:0;padding:4px 6px}.urn-table input{width:100%}.summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.summary-grid>div{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:8px 10px}.summary-grid .lbl{color:var(--muted);font-size:11.5px}.summary-grid .val{font-variant-numeric:tabular-nums;font-weight:700}.banner-good{background:var(--good-soft);color:var(--good);border:1px solid #b7e1c5}@media (width<=1100px){.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.steps{grid-template-columns:1fr}}@media (width<=760px){.grid-3{grid-template-columns:1fr}}.chip{white-space:nowrap}.banner-info{background:var(--info-soft);color:#14396f;border:1px solid #c3d8f5}.banner-info code,.banner code{background:#1018280f;border-radius:3px;padding:1px 4px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px}.modal-body>.banner:last-child{margin:8px 0 0}.chip[title]{cursor:help}.table-compact th,.table-compact td{padding:6px 7px;font-size:12px}.table-compact .badge{white-space:normal;padding:2px 6px;font-size:11px;line-height:1.25}.table-compact .muted.small{font-size:11px}.table-compact .btn-sm{padding:3px 8px;font-size:11.5px}.danger-zone{align-items:center;gap:8px;margin-right:auto;display:flex}.steps-list{margin:0 0 14px;padding-left:20px;font-size:13.5px;line-height:1.6}.steps-list li{margin-bottom:12px}.pad-sm{margin-top:8px}.text-warn{color:var(--warn);font-weight:600}.suggestions{margin-top:4px}button.chip,button.chip[title]{cursor:pointer;font:inherit;color:var(--accent);font-size:12px}button.chip:hover{background:var(--accent-soft)}.chip-on{background:var(--accent-soft);border-color:var(--accent);font-weight:600}.bulk-bar{background:var(--accent-soft);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:10px;padding:10px 16px;display:flex}.bulk-bar .field{margin:0}.col-check{width:28px}.work-grid{grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px;display:grid}.work-card{margin-bottom:0}.work-card .work-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px 8px;display:flex}.work-card h3{margin:0;font-size:15px}.work-card .work-count{text-align:right;font-size:22px;font-weight:700;line-height:1}.work-card .work-hint{color:var(--muted);margin-top:2px;font-size:12.5px}.work-card.work-late{border-left:4px solid var(--bad)}.work-card.work-some{border-left:4px solid var(--warn)}.work-card.work-none{opacity:.7}.work-card table td{font-size:12.5px}.work-foot{padding:8px 16px 12px;font-size:13px}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-left:2px solid var(--border-strong);padding:0 0 12px 12px;position:relative}.timeline li:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:4px;left:-5px}.cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}.section-title{margin:18px 0 8px;font-size:14px}.grid-3.small>div{margin-bottom:10px}.side-search{padding:0 12px 10px}.side-search input{color:#fff;background:#ffffff14;border:1px solid #ffffff24;border-radius:6px;width:100%;padding:7px 10px;font-size:13px}.side-search input::placeholder{color:#8fa0b3}.who-cover{color:#f5c26b;margin-top:2px;font-size:11.5px}.link-btn{color:#9fc3d9;cursor:pointer;white-space:nowrap;background:0 0;border:0;margin-top:2px;padding:0;font-size:11.5px;text-decoration:underline}.link-btn:hover{color:#fff}.search-group h3{margin:0;padding:12px 16px 6px;font-size:14px}.kv{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 16px;padding:14px 16px;display:grid}.kv>div>span{color:var(--muted);font-size:12px;display:block}.timeline .tl-BILLED:before{background:var(--muted)}.timeline .tl-NOTE:before{background:var(--warn)}.timeline .tl-BATCH:before,.timeline .tl-UPLOAD:before{background:var(--info)}.card-pad{padding:14px 16px}.note-form{align-items:flex-start;gap:8px;display:flex}.note-form textarea{flex:1}.pager{justify-content:flex-end;align-items:center;gap:8px;padding:10px 16px;display:flex}.link-btn-dark{color:var(--accent);font-size:12px}.doc-checks{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 14px;margin-bottom:8px;display:grid}.doc-check{align-items:center;gap:7px;font-size:13px;display:flex}.doc-chips{margin:4px 0 0}
