:root{--bg:#f6f7f9;--surface:#ffffff;--border:#e0e3e8;--text:#1a1f2b;--muted:#667085;--accent:#2054a4;--accent-soft:#e8effa;--green:#187a45;--green-soft:#e3f4ea;--amber:#955d00;--amber-soft:#fdf1dc;--red:#b42318;--red-soft:#fdeceb;--radius:10px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:0 24px;display:flex;align-items:center;gap:24px;height:56px}.topbar .brand{font-weight:650;font-size:16px;color:var(--text)}.topbar nav{display:flex;gap:16px;flex:1 1}.topbar .who{color:var(--muted);font-size:13px}main.page{max-width:1080px;margin:0 auto;padding:28px 24px 64px}h1{font-size:22px;margin:0 0 4px}h2{font-size:17px;margin:28px 0 10px}.sub{color:var(--muted);margin:0 0 20px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;margin-bottom:16px}.card h3{margin:0 0 6px;font-size:15px}.card.master-banner{border-left:3px solid var(--accent)}.card.danger-zone{border-left:3px solid var(--red)}.card.linked-banner{border-left:3px solid var(--amber);background:var(--amber-soft)}.card.linked-banner .btn.secondary{background:var(--surface)}.grid{display:grid;grid-gap:14px;gap:14px}.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:1fr 1fr 1fr}table.list{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}table.list td,table.list th{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border);font-size:14px}table.list th{background:#fafbfc;color:var(--muted);font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.03em}table.list tr:last-child td{border-bottom:none}table.list th a{color:inherit;text-decoration:none}table.list th a:hover{color:var(--accent)}table.list th .sort-arrow{display:inline-block;width:14px;margin-left:3px;font-size:10px}table.list tbody tr:hover{background:#f7f9fc}.chip{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12.5px;font-weight:600;white-space:nowrap}.chip.gray{background:#eef0f3;color:var(--muted)}.chip.blue{background:var(--accent-soft);color:var(--accent)}.chip.green{background:var(--green-soft);color:var(--green)}.chip.amber{background:var(--amber-soft);color:var(--amber)}.chip.red{background:var(--red-soft);color:var(--red)}.btn{display:inline-block;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:8px;padding:7px 16px;font-size:14px;font-weight:600;cursor:pointer}.btn:hover{filter:brightness(1.08);text-decoration:none}.btn.secondary{background:var(--surface);color:var(--accent)}.btn.danger{background:var(--red);border-color:var(--red)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.small{padding:4px 10px;font-size:13px}form.stack{gap:12px;max-width:560px}form.stack,label.field{display:flex;flex-direction:column}label.field{gap:4px;font-size:13.5px;font-weight:600;color:var(--muted)}label.field input,label.field select,label.field textarea{border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:14px;font-family:inherit;color:var(--text);background:var(--surface)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spacer{flex:1 1}.muted{color:var(--muted)}.mono,.muted{font-size:13px}.mono{font-family:Consolas,monospace}.error{color:var(--red);font-size:13.5px}main.page.wide{max-width:1600px}.cellgridwrap{margin-bottom:18px}.viewtabs{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}.viewtabs button{border:0;background:transparent;padding:6px 14px;font:inherit;font-size:13.5px;color:var(--muted);cursor:pointer;border-right:1px solid var(--border)}.viewtabs button:last-child{border-right:0}.viewtabs button.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.savechip{font-size:13px;color:var(--muted)}.savechip.dirty{color:var(--amber);font-weight:600}.savechip.saved{color:var(--green);font-weight:600}.savechip.failed{color:var(--red);font-weight:600}.gridscroll{overflow:auto;max-height:70vh;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}table.cellgrid{border-collapse:separate;border-spacing:0;font-size:13.5px}table.cellgrid td,table.cellgrid th{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:0}table.cellgrid thead th{position:-webkit-sticky;position:sticky;top:0;z-index:3;background:#fafbfc;color:var(--muted);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;text-align:right;padding:6px 8px;vertical-align:bottom;white-space:nowrap}table.cellgrid thead th small{display:block;font-weight:400;text-transform:none;letter-spacing:0;font-size:inherit;opacity:.8}table.cellgrid thead tr.totals td,table.cellgrid thead tr.totals th{position:-webkit-sticky;position:sticky;top:46px;z-index:3;background:#eef2f7;font-weight:700;color:var(--text);border-bottom:2px double var(--border);padding:6px 8px;text-align:right}table.cellgrid .stick.name{position:-webkit-sticky;position:sticky;left:0;z-index:4;background:var(--surface);text-align:left;min-width:300px;max-width:300px;font-weight:500;text-transform:none;letter-spacing:0;font-size:13px;color:var(--text)}table.cellgrid thead .stick.name{z-index:5;background:#fafbfc}table.cellgrid thead tr.totals .stick.name{background:#eef2f7}table.cellgrid td.num,table.cellgrid th.num{text-align:right}table.cellgrid td.txt,table.cellgrid td.txt input,table.cellgrid th.txt{text-align:left}input.namecell,table.cellgrid td.num input,table.cellgrid td.txt input{width:100%;border:0;background:transparent;padding:5px 8px;font:inherit;color:var(--text);text-align:right}input.namecell{text-align:left;padding:5px 10px}input.namecell:focus,table.cellgrid td.num input:focus,table.cellgrid td.txt input:focus{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-soft)}input.namecell:disabled,table.cellgrid td.num input:disabled,table.cellgrid td.txt input:disabled{color:var(--text);opacity:1}table.cellgrid td.bad input{background:var(--red-soft);color:var(--red)}table.cellgrid td.derived,table.cellgrid th.derived{background:#f7f8fa;padding:5px 8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}table.cellgrid td.derived.highlight{background:var(--accent-soft);font-weight:600}table.cellgrid td.derived.zero{color:var(--muted)}table.cellgrid tbody tr:hover td:not(.derived){background:#fcfdff}table.cellgrid td.rowtools{text-align:center}table.cellgrid td.rowtools button{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:13px;padding:4px 8px}table.cellgrid td.rowtools button:hover{color:var(--red)}table.cellgrid.register th.month{min-width:96px}table.cellgrid.balances .stick.name{min-width:260px;max-width:260px;padding:5px 10px}table.cellgrid.balances .acctname{display:block;font-weight:600}table.cellgrid.balances .missing,table.cellgrid.balances .stick.name small{display:block;font-weight:400;font-size:10.5px;color:var(--muted);text-transform:none;letter-spacing:0}table.cellgrid.balances .missing{color:var(--red);font-weight:600}table.cellgrid.balances th.month{min-width:108px}table.cellgrid.balances tr.archived .acctname{color:var(--muted);font-style:italic}table.cellgrid.summary .stick.name{min-width:210px;max-width:210px;padding:5px 10px}table.cellgrid.summary .acctname{display:block;font-weight:600}table.cellgrid.summary .stick.name small{display:block;font-weight:400;font-size:10.5px;color:var(--muted);text-transform:none;letter-spacing:0}table.cellgrid.summary th.num{min-width:104px}table.cellgrid.summary td.proofok{background:var(--green-soft);color:var(--green);font-weight:600}table.cellgrid.summary td.proofbad{background:var(--red-soft);color:var(--red);font-weight:700}.card.cols-3-span{grid-column:1/-1}table.cellgrid th.sortable button{border:0;background:transparent;text-align:left;padding:5px 10px;display:flex;align-items:center;gap:4px}table.cellgrid th.sortable .sort-arrow{font-size:9px}table.cellgrid.items td.txt input{min-width:90px}table.cellgrid.items td.txt input,table.cellgrid.items th[style*=width]+td{max-width:100%}table.cellgrid th.sortable{position:-webkit-sticky;position:sticky;padding:0}table.cellgrid th.sortable button{all:unset;box-sizing:border-box;display:block;width:100%;padding:6px 8px;cursor:pointer;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;white-space:nowrap}table.cellgrid th.sortable button:hover{color:var(--accent)}table.cellgrid th.sortable .sortmark{display:inline-block;width:10px;font-size:9px}table.cellgrid th.sortable .colgrip{position:absolute;top:0;right:-3px;width:7px;height:100%;cursor:col-resize;z-index:4}table.cellgrid th.sortable .colgrip:hover{background:var(--accent);opacity:.35}table.cellgrid.items th.num,table.cellgrid.items th.txt{text-align:left}table.cellgrid.items td.num,table.cellgrid.items th.num{text-align:right}table.cellgrid.items td.pick,table.cellgrid.items th.pick{width:30px;text-align:center;padding:0 4px}table.cellgrid.items tr.cleared td input{color:var(--muted)}table.cellgrid.items tr.cleared{background:#fbfbfc}table.cellgrid.items td.derived.stale{color:var(--red);font-weight:600}table.cellgrid.items td.txt.derived{font-size:12px;color:var(--muted);white-space:nowrap;padding:5px 8px}table.cellgrid.items td.txt.derived.bad{color:var(--red);font-weight:600;background:var(--red-soft)}table.cellgrid.items td.rowtools{white-space:nowrap}table.cellgrid.items td.rowtools button{padding:4px 5px}table.cellgrid.items td.rowtools button:first-child:hover{color:var(--accent)}table.cellgrid.items td.needsid{background:var(--amber-soft)}table.cellgrid.items td.needsid input::placeholder{color:var(--amber)}.bulkbar{gap:8px;padding:3px 10px;background:var(--accent-soft);border-radius:8px}.bulkbar input{border:1px solid var(--border);border-radius:6px;padding:4px 8px;font:inherit;font-size:13px}.blockers{margin:0;padding-left:20px;font-size:13.5px;color:var(--red)}.blockers li{margin:3px 0}.blockers.ready{padding-left:0;color:var(--green);font-weight:600}.gatestat{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:5px 0;border-bottom:1px solid var(--border);font-size:13.5px}.gatestat:last-child{border-bottom:0}.gatestat-label{color:var(--muted)}.gatestat-value{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.gatestat-value.ok{color:var(--green)}.gatestat-value.warn{color:var(--amber)}.gatestat-value.bad{color:var(--red)}.addgrant{margin-top:10px}.addgrant input{padding:7px 10px;font:inherit;font-size:14px}.addgrant input,.slot{border:1px solid var(--border);border-radius:8px}.slot{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--surface)}.slot.filled{border-color:var(--green);background:var(--green-soft)}.progressbar{height:8px;border-radius:999px;background:#e8eaee;overflow:hidden}.progressbar>div{height:100%;background:var(--green);border-radius:999px}table.cellgrid.items td.corrective{position:relative}table.cellgrid.items td.corrective input{width:100%;border:0;background:transparent;padding:5px 8px;font:inherit;font-size:12px;color:var(--text)}table.cellgrid.items td.corrective input::placeholder{color:var(--muted);font-style:italic}table.cellgrid.items td.corrective.overridden input{font-weight:600}table.cellgrid.items td.corrective.nearmatch{background:var(--amber-soft)}table.cellgrid.items td.corrective .adopt{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--amber);font:inherit;font-size:10.5px;font-weight:600;padding:0 8px 4px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}table.cellgrid.items td.corrective .adopt:hover{text-decoration:underline}.steps .steplist{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0}.steps .steplist li{flex:1 1 150px}.steps .steplist a{display:block;padding:8px 10px;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:inherit;background:#fff}.steps .steplist a:hover{border-color:var(--accent)}.steps .steplist .stepmark{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-right:7px;border-radius:50%;background:#eef0f3;color:var(--muted);font-size:12px;font-weight:700}.steps .steplist .steptitle{font-weight:600;font-size:13px}.steps .steplist .stepnote{display:block;margin-top:3px;font-size:12px;color:var(--muted)}.steps .steplist li.done .stepmark{background:var(--green-soft);color:var(--green)}.steps .steplist li.next a{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.steps .steplist li.next .stepmark{background:var(--accent-soft);color:var(--accent)}.steps .steplist li:not(.done):not(.next) .stepnote{color:var(--amber)}.field.inline{display:inline-flex;margin:0}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}