:root{--ink: #23211E;--ink-2: #4A463F;--muted: #6E6A64;--muted-2: #8C877F;--disabled: #A39E97;--canvas: #FBFAF9;--surface: #FFFFFF;--sunken: #F4F2EF;--sunken-2: #EFEDEA;--hover: #E9E6E2;--hover-2: #EDEAE6;--rule: #E3E0DB;--rule-strong: #C9C4BC;--rule-mid: #DDD9D3;--rule-mid-2: #D8D4CE;--accent: #3D5A80;--accent-pressed: #2C4460;--accent-tint: #F7F9FB;--accent-tint-2: #F0F4F9;--accent-tint-3: #EDF1F6;--accent-ring: #D8E1EC;--accent-mark: #E5EBF2;--pos-dot: #2E7D52;--pos-text: #22603F;--pos-fill: #E8F2EC;--pos-border: #C6DFD1;--warn-dot: #A9700A;--warn-text: #8A5B08;--warn-fill: #FDF6EC;--warn-border: #EBD9B8;--neg-dot: #B3261E;--neg-text: #93180F;--neg-fill: #FBE9E7;--neg-border: #E9C8C4;--neu-dot: #6E6A64;--neu-text: #4A463F;--neu-fill: #EFEDEA;--neu-border: #DDD9D3;--pos-btn: #2E7D52;--pos-btn-hover: #23603F;--brand: #E8552C;--font-ui: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--font-doc: "Quicksand", var(--font-ui);--gutter: 32px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-ui);font-size:14px;color:var(--ink);background:var(--sunken-2);-webkit-font-smoothing:antialiased}button,input,select,textarea{border-radius:0;font:inherit;color:inherit}::selection{background:var(--accent-ring)}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-pressed);text-decoration:underline}.num,td.num,th.num,.kpi-figure,.fig{font-variant-numeric:tabular-nums;text-align:right}.mono{font-family:var(--font-mono)}:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring)}.shell{display:flex;height:100%}.sidebar{flex:0 0 216px;background:var(--sunken);border-right:1px solid var(--rule);position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{padding:20px 16px 18px;border-bottom:1px solid var(--rule)}.brand img{width:132px;display:block}.brand-sub{margin-top:10px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2)}.nav{flex:1;overflow-y:auto;padding-bottom:12px}.nav-section{font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--disabled);padding:14px 14px 5px}.nav-item{display:flex;align-items:center;gap:8px;padding:7px 14px 7px 12px;font-size:13px;font-weight:500;color:var(--ink);background:none;border:0;width:100%;text-align:left;cursor:pointer}.nav-item:hover{background:var(--hover)}.nav-item.active:before{content:"";width:2px;height:15px;background:var(--brand);margin-right:-3px}.nav-item.active{font-weight:600}.nav-count{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--neg-text);background:var(--neg-fill);padding:1px 5px}.sidebar-footer{border-top:1px solid var(--rule);padding:12px 16px;display:flex;align-items:center;gap:8px}.avatar{width:22px;height:22px;background:var(--ink);color:#fff;font-size:10px;font-weight:600;display:grid;place-items:center}.sidebar-footer span{font-size:12px;color:var(--muted)}.main{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--canvas);overflow-y:auto}.page-head{padding:26px var(--gutter) 18px;border-bottom:2px solid var(--ink);display:flex;align-items:flex-start;gap:24px;background:var(--canvas)}.page-head h1{margin:0;font-size:22px;font-weight:600;letter-spacing:-.015em}.page-head h1.mono{font-family:var(--font-mono)}.page-sub{margin:6px 0 0;font-size:12px;color:var(--muted)}.page-actions{margin-left:auto;display:flex;gap:10px;align-items:center}.back-link{display:inline-block;margin-bottom:8px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;background:none;padding:0;cursor:pointer;text-align:left;font-size:12px;font-weight:500;color:var(--accent)}.back-link:hover{color:var(--accent-pressed);text-decoration:underline}.back-link:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.picker{position:absolute;top:100%;left:0;right:0;z-index:45;background:var(--surface);border:1px solid var(--rule-strong);box-shadow:0 10px 24px #201e1d29,0 2px 5px #201e1d1a;max-height:min(320px,50vh);overflow-y:auto}.picker .nav-item{padding:8px 12px;display:block}.kpi-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--rule);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}@media(max-width:1240px){.kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.kpi{background:var(--surface);padding:16px 18px 18px}.kpi-label{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.kpi-value{font-size:26px;font-weight:600;margin-top:6px;letter-spacing:-.02em}.kpi-value.neg{color:var(--neg-text)}.kpi-sub{font-size:11px;color:var(--muted-2);margin-top:4px;line-height:1.4}.kpi-alert{background:var(--warn-fill);box-shadow:inset 3px 0 0 var(--warn-dot)}.kpi-alert .kpi-label,.kpi-alert .kpi-value,.kpi-alert .kpi-sub{color:var(--warn-text)}.dash-row{display:grid;gap:1px;background:var(--rule);border-bottom:1px solid var(--rule)}@media(max-width:980px){.dash-row{grid-template-columns:minmax(0,1fr)!important}}.dash-cell{background:var(--canvas);padding:20px var(--gutter) 26px;min-width:0}.dash-h{margin:0 0 4px;font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.age-bar{display:flex;height:34px;border:1px solid var(--ink);background:var(--sunken);overflow:hidden}.age-seg{background:var(--accent-mark);border-right:1px solid var(--ink)}.age-seg:last-child{border-right:0}.age-seg.neg{background:var(--neg-fill)}.age-legend{display:grid;grid-template-columns:repeat(5,minmax(80px,1fr));gap:12px;margin-top:10px}.age-label{font-size:11px;color:var(--muted)}.age-figure{font-size:14px;font-weight:600;margin-top:2px}.age-figure.neg,.num.neg{color:var(--neg-text)}.attn-list{display:grid;gap:1px;background:var(--rule);border-top:1px solid var(--rule)}.attn{background:var(--canvas);display:grid;grid-template-columns:1fr auto;gap:6px 14px;padding:10px 0}.attn-flags{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--muted)}.attn-flag{display:flex;align-items:flex-start;gap:6px;line-height:1.4}.attn-paid{font-size:11px;color:var(--muted-2);text-align:right;white-space:nowrap}.sq{width:7px;height:7px;margin-top:4px;flex:0 0 7px;background:var(--neu-dot)}.sq.negative{background:var(--neg-dot)}.sq.warn{background:var(--warn-dot)}.sq.neutral{background:var(--neu-dot)}.health-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;margin-top:12px}.meter{position:relative;height:8px;background:var(--rule-mid-2);margin-top:8px}.meter-fill{height:100%;background:var(--accent)}.meter-tick{position:absolute;top:-3px;width:1px;height:14px}.meter-tick.warn{background:var(--warn-dot)}.meter-tick.neg{background:var(--neg-dot)}.dropzone{border:2px dashed var(--rule-strong);background:var(--sunken);padding:26px 24px;text-align:left}.checks{display:grid;gap:12px;margin-top:10px}.check{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start}.check-mark{font-weight:700;font-size:13px;line-height:1.3}.check-mark.pos{color:var(--pos-text)}.check-mark.neg{color:var(--neg-text)}.check-mark.warn{color:var(--warn-text)}.fail-panel{border:1px solid var(--neg-border);background:var(--neg-fill)}.fail-band{background:var(--neg-border);color:#fff;padding:8px 20px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.progress{width:120px;height:6px;background:var(--rule-mid-2);margin-top:6px}.progress-fill{height:100%;background:var(--accent)}.recon-card{width:100%;max-width:840px;border:1px solid var(--rule-strong);background:var(--surface)}.recon-status{display:flex;align-items:center;gap:10px;padding:12px 20px;border-bottom:1px solid var(--rule);background:var(--sunken)}.recon-status.warn{background:var(--warn-fill)}.recon-state{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.recon-score{font-size:11px;color:var(--muted-2)}.recon-band{padding:18px 20px;border-bottom:1px solid var(--rule)}.recon-line{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-top:6px}.narration{flex:1;min-width:280px;font-family:var(--font-mono);font-size:12px;line-height:1.5;background:var(--sunken);border:1px solid var(--rule);padding:6px 8px;word-break:break-all}.recon-split{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border-bottom:1px solid var(--rule)}@media(max-width:760px){.recon-split{grid-template-columns:1fr}}.recon-half{background:var(--surface);padding:16px 20px}.recon-why{background:var(--accent-tint);box-shadow:inset 3px 0 0 var(--accent);padding:16px 20px;border-bottom:1px solid var(--rule)}.recon-actions{display:flex;gap:10px;align-items:center;padding:14px 20px;flex-wrap:wrap}.cleared{border:1px solid var(--rule-strong);background:var(--surface);padding:40px;max-width:720px}.step-ribbon{display:flex;align-items:stretch;gap:1px;margin:18px var(--gutter) 0;background:var(--rule);border:1px solid var(--rule);font-size:12px;font-weight:500}.step{display:flex;align-items:center;gap:8px;padding:9px 14px;background:var(--sunken)}.step-chip{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:10px;font-weight:700}.step-done .step-chip{background:var(--ink);color:#fff}.step-active{background:var(--accent);color:#fff;font-weight:600}.step-active .step-chip{background:#fff;color:var(--accent)}.step-pending{color:var(--muted-2, #A39E97)}.step-pending .step-chip{border:1px solid currentColor}.step-hint{margin-left:auto;display:flex;align-items:center;padding:9px 14px;background:var(--sunken);font-size:11px;color:var(--muted);white-space:nowrap}.toolbar{padding:12px var(--gutter);background:var(--sunken);border-bottom:1px solid var(--rule);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.toolbar-divider{width:1px;height:20px;background:var(--rule-mid-2)}.toolbar-right{margin-left:auto;display:flex;gap:10px;align-items:center}.showing{font-size:12px;color:var(--muted)}.btn{font-size:13px;font-weight:500;padding:7px 14px;border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);cursor:pointer}.btn:hover{background:var(--sunken)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn-primary:hover{background:var(--accent-pressed);border-color:var(--accent-pressed)}.btn-danger{border-color:var(--neg-border);color:var(--neg-text)}.btn-danger:hover{background:var(--neg-fill)}.btn:disabled,.btn-primary:disabled{background:var(--rule-mid-2);border-color:var(--rule-mid-2);color:var(--muted-2);cursor:not-allowed}.kbd{font-family:var(--font-mono);font-size:11px;border:1px solid currentColor;padding:0 4px;margin-left:8px;opacity:.75}.input,.select{font-size:13px;padding:6px 8px;border:1px solid var(--rule-strong);background:var(--surface)}.input:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring)}.search{width:320px;max-width:100%}.chip{font-size:11px;font-weight:600;padding:3px 8px;border:1px solid var(--rule-mid);background:var(--surface);color:var(--muted);cursor:pointer}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.chip.overdue{border-color:var(--neg-border);color:var(--neg-text)}.chip.part{border-color:var(--warn-border);color:var(--warn-text)}.chip.paid{border-color:var(--pos-border);color:var(--pos-text)}.pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:2px 7px;border:1px solid var(--neu-border);background:var(--neu-fill);color:var(--neu-text);white-space:nowrap}.pill .dot{width:6px;height:6px;background:var(--neu-dot)}.pill.pos{border-color:var(--pos-border);background:var(--pos-fill);color:var(--pos-text)}.pill.pos .dot{background:var(--pos-dot)}.pill.warn{border-color:var(--warn-border);background:var(--warn-fill);color:var(--warn-text)}.pill.warn .dot{background:var(--warn-dot)}.pill.neg{border-color:var(--neg-border);background:var(--neg-fill);color:var(--neg-text)}.pill.neg .dot{background:var(--neg-dot)}.table-scroll{overflow-x:auto}.dash-cell,.recon-half,.split-rail>*{min-width:0}.dash-cell>table.data,.recon-half>table.data{display:block;overflow-x:auto}table.data{width:100%;border-collapse:collapse}table.data thead th{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);text-align:left;padding:0 12px;height:34px;border-bottom:2px solid var(--ink);white-space:nowrap;background:var(--canvas)}table.data thead th.num{text-align:right}table.data tbody td{font-size:13px;padding:0 12px;height:40px;border-bottom:1px solid var(--rule);white-space:nowrap}table.data tbody tr:first-child td:first-child,table.data thead th:first-child,table.data tbody td:first-child{padding-left:var(--gutter)}table.data tbody td:last-child,table.data thead th:last-child{padding-right:var(--gutter)}table.data tbody tr.clickable{cursor:pointer}table.data tbody tr.clickable:hover{background:var(--accent-tint-3)}td.strong,th.strong{font-weight:600}.zero{color:var(--disabled)}table.data tfoot td{font-size:13px;font-weight:700;height:42px;padding:0 12px;background:var(--sunken);border-bottom:2px solid var(--ink);border-top:2px solid var(--ink)}table.data tfoot td:first-child{padding-left:var(--gutter)}table.data tfoot td:last-child{padding-right:var(--gutter)}.grid-1px{display:grid;gap:1px;background:var(--rule)}.split-rail{display:grid;gap:1px;background:var(--rule);grid-template-columns:minmax(0,1fr) 340px}.split-rail.wide{grid-template-columns:minmax(0,1fr) 380px}.panel{background:var(--canvas);padding:22px var(--gutter) 26px}.panel h2{margin:0 0 14px;font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.card-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);margin-bottom:8px}.note{background:var(--sunken);border:1px solid var(--rule);padding:10px 12px;font-size:12px;color:var(--ink-2);line-height:1.55;max-width:66ch;text-wrap:pretty}.note-accent{background:var(--accent-tint);box-shadow:inset 3px 0 0 var(--accent);border:0;padding:12px 14px}.note-warn{background:var(--warn-fill);border-color:var(--warn-border);color:var(--warn-text)}.note-neg{background:var(--neg-fill);border-color:var(--neg-border);color:var(--neg-text)}.empty{padding:56px 40px}.empty h2{margin:10px 0 8px;font-size:15px;text-transform:none;letter-spacing:0}.empty p{margin:0;font-size:13px;color:var(--muted);line-height:1.55;max-width:52ch}.spinner-text{padding:40px var(--gutter);font-size:13px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule)}.panel-wide{grid-column:1 / -1}.field{display:block;margin-bottom:16px}.field-label{display:block;margin-bottom:5px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.field .input,.field textarea.input,.field select.input{width:100%}.field-hint,.field-problem{display:block;margin-top:5px;font-size:12px;line-height:1.5;max-width:56ch;text-wrap:pretty}.field-hint{color:var(--muted)}.field-problem{color:var(--neg-text);font-weight:500}.field-bad .input,.field-bad textarea.input,.field-bad select.input{border-color:var(--neg-border);background:var(--neg-fill)}.field-inline{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:13px;cursor:pointer}.field-inline input[type=checkbox]{accent-color:var(--accent)}.field-tight{margin:8px 0 0;font-size:12px}.input-suffix,.input-prefix{display:flex;align-items:center;gap:6px}.input-suffix>span,.input-prefix>span{font-size:12px;color:var(--muted)}.input-suffix .input{width:90px}.input-prefix .input{width:130px}.input-bare{border:0;background:none;padding:4px 0;font-size:15px;font-weight:600}.input-bare:focus{box-shadow:none;border-bottom:1px solid var(--accent)}.cell>.input-bare:not(.num):not(.sac){width:100%}.segmented{display:inline-flex}.segmented button{font-size:13px;font-weight:500;padding:6px 14px;border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);cursor:pointer;margin-left:-1px}.segmented button:first-child{margin-left:0}.segmented button.seg-on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600;position:relative;z-index:1}.note-tight{margin-top:4px}.problem-list{margin:8px 0 0;padding-left:18px}.problem-list li{margin:3px 0}.section-head{margin:0;padding:22px var(--gutter) 0;font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.section-sub{padding:6px var(--gutter) 14px;margin:0}.grid-3{grid-template-columns:repeat(3,1fr)}.cell{background:var(--canvas);padding:14px var(--gutter) 16px}.toolbar-foot{border-top:1px solid var(--rule);border-bottom:0}.lines-table td{vertical-align:top;padding-top:12px;padding-bottom:12px}.row-variable{background:var(--accent-tint);box-shadow:inset 3px 0 0 var(--accent)}.mode-stack{display:flex;flex-direction:column;gap:3px}.mode-option{display:flex;align-items:center;gap:7px;font-size:13px;cursor:pointer;white-space:nowrap}.mode-option input{accent-color:var(--accent)}.sac{width:90px;font-size:13px}.token-bar{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.token-chip{display:inline-flex;align-items:baseline;gap:6px;font-size:11px;padding:3px 7px;border:1px solid var(--rule-mid);background:var(--surface);color:var(--ink-2);cursor:pointer}.token-chip:hover{background:var(--accent-tint-2);border-color:var(--accent-ring)}.token-example{color:var(--muted)}.btn-small{font-size:12px;padding:4px 9px}.link-cell{border:0;background:none;padding:0;cursor:pointer;font:inherit;font-weight:600;color:var(--ink);text-align:left}.link-cell:hover{color:var(--accent);text-decoration:underline}.row-clickable{cursor:pointer}.row-clickable:hover{background:var(--accent-tint)}.sub{margin-top:3px;font-size:12px;color:var(--muted);line-height:1.45}.lines-table{table-layout:fixed}.lines-table th:first-child,.lines-table td:first-child{width:40%}.lines-table td:first-child input.input-bare{width:100%}.lines-table th:nth-child(2),.lines-table td:nth-child(2){width:88px}.lines-table th:nth-child(3),.lines-table td:nth-child(3){width:22%}.lines-table th:nth-child(4),.lines-table td:nth-child(4){width:150px}.lines-table th:last-child,.lines-table td:last-child{width:84px}.lines-table td .sub{white-space:normal}.cell .input-suffix .input{width:120px}.note-pos{background:var(--pos-fill);border-color:var(--pos-border);color:var(--pos-text)}.sidebar-gmail{margin-top:auto;padding:12px 16px 0;border-top:1px solid var(--rule)}.sidebar-gmail-note{margin-top:6px;font-size:11px;line-height:1.45;color:var(--muted);text-wrap:pretty}.empty-lines{border:1px dashed var(--rule-strong);background:var(--canvas);padding:18px 20px}.topbar,.nav-scrim{display:none}@media(max-width:900px){:root{--gutter: 16px}.shell{display:block;height:auto}.topbar{display:flex;align-items:center;gap:12px;padding:10px var(--gutter);background:var(--sunken);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:40}.topbar img{width:104px;display:block}.topbar-toggle{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:none;border:1px solid var(--rule-strong);font-size:15px;line-height:1;padding:7px 10px;cursor:pointer}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:60;width:264px;height:100dvh;flex:none;transform:translate(-100%);transition:transform .16s ease-out}.nav-open .sidebar{transform:translate(0)}.nav-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#201e1d6b}.main{overflow-y:visible}.page-head{flex-direction:column;align-items:stretch;gap:12px;padding-top:18px}.page-head h1{font-size:19px}.page-actions{margin-left:0;flex-wrap:wrap}.grid-1px,.grid-1px.grid-2,.grid-1px.grid-3,.split-rail,.split-rail.wide,.dash-row,.recon-split,.health-grid{grid-template-columns:minmax(0,1fr)!important}.kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-value{font-size:22px}.step-ribbon{overflow-x:auto;margin:12px var(--gutter) 0}.step{white-space:nowrap}.step-hint{display:none}input,select,.input,.select{max-width:100%}input[type=date]{width:100%}.toolbar{gap:8px}.search{width:100%}.toolbar-right{margin-left:0;width:100%}.age-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.attn{grid-template-columns:1fr}.attn-paid{text-align:left}.recon-card{max-width:100%}.recon-line{flex-direction:column;align-items:stretch;gap:10px}.narration{min-width:0;width:100%;word-break:normal;overflow-wrap:anywhere}.table-scroll{-webkit-overflow-scrolling:touch}table.data{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:560px){.kpi-strip{grid-template-columns:minmax(0,1fr)}.page-actions .btn{flex:1 1 auto}}@media(pointer:coarse){.btn,.nav-item,.chip{min-height:40px}.link-cell{min-height:32px}}
