:root{--ink:#1e293b;--muted:#64748b;--rule:#e2e8f0;--page:#f1f5f9;--card:#fff;--primary:#1d4ed8;--good:#15803d;--bad:#b91c1c;--warn:#b45309;color:var(--ink);background:var(--page);font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--ink:#e2e8f0;--muted:#94a3b8;--rule:#334155;--page:#0f172a;--card:#1e293b;--primary:#93c5fd;--good:#4ade80;--bad:#f87171;--warn:#fbbf24}}body{background:var(--page);margin:0}.page{max-width:1280px;margin:0 auto;padding:24px 16px 48px}.page.narrow{max-width:760px}h1{margin:0 0 8px;font-size:1.5rem}.lede{color:var(--muted);margin:0 0 20px}.summary{font-weight:600}.summary[data-state=passed]{color:var(--good)}.summary[data-state=failed]{color:var(--bad)}.checks ul{background:var(--card);border:1px solid var(--rule);border-radius:12px;margin:0;padding:0;list-style:none}.checks li{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:14px 16px;display:flex}.checks li:first-child{border-top:none}.label{flex:0 0 220px;font-weight:600}.detail{color:var(--muted);flex:240px}.checks li.failed .detail{color:var(--bad)}a{color:var(--primary);font-weight:600}h2{margin:24px 0 8px;font-size:1.1rem}.account{background:var(--card);border:1px solid var(--rule);border-radius:12px;margin:16px 0 8px;padding:16px}.account h2{margin-top:0}.account label{color:var(--muted);margin-bottom:6px;display:block}.row{flex-wrap:wrap;gap:8px;display:flex}input,select{min-width:0;font:inherit;color:var(--ink);background:var(--page);border:1px solid var(--rule);border-radius:8px;flex:220px;padding:10px 12px}button{font:inherit;color:#fff;background:var(--primary);cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-weight:600}@media (prefers-color-scheme:dark){button{color:#0f172a}}button:disabled{opacity:.6;cursor:default}button.link{color:var(--primary);background:0 0;margin-top:10px;padding:0}.error{color:var(--bad)}details.danger{border-top:1px solid var(--rule);margin-top:16px;padding-top:12px}details.danger summary{color:var(--bad);cursor:pointer;font-weight:600}details.danger button{background:var(--bad)}.sync-check{margin-top:16px}.sync-check ol{color:var(--muted);margin:10px 0 0;padding-left:20px}.pairing{border-top:1px solid var(--rule);margin-top:16px;padding-top:12px}.pairing h3{margin:0 0 6px;font-size:1rem}.qr{width:220px;height:220px;margin:12px 0;display:block}.digits{letter-spacing:.1em;margin:8px 0 12px;font-family:ui-monospace,monospace;font-size:2rem;font-weight:700}button.secondary{color:var(--primary);border:1px solid var(--rule);background:0 0}.bar{z-index:5;background:var(--card);border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:8px 24px;padding:10px 24px;display:flex;position:sticky;top:0}.brand{font-weight:700}.bar nav{flex-wrap:wrap;flex:1;gap:4px;display:flex}.bar nav a{color:var(--muted);border-radius:8px;padding:6px 12px;text-decoration:none}.bar nav a.active{color:var(--primary);background:var(--page)}.status{align-items:center;gap:12px;font-size:.9rem;display:flex}.status button.link{margin:0}.muted{color:var(--muted)}.bad{color:var(--bad)}.warn{color:var(--warn)}a.warn{font-weight:600}.page-head{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:16px;display:flex}.page-head h1{flex:1;margin:0}.month-nav{align-items:center;gap:6px;display:flex}.month-nav select{flex:none;min-width:180px}.month-nav button{padding:8px 12px}.empty{text-align:center;color:var(--muted);background:var(--card);border:1px dashed var(--rule);border-radius:12px;padding:32px}.with-panel{align-items:flex-start;gap:24px;display:flex}.grow{flex:1;min-width:0;overflow-x:auto}table.grid{border-collapse:collapse;background:var(--card);border:1px solid var(--rule);border-radius:12px;width:100%;font-size:.95rem;overflow:hidden}.grid th,.grid td{text-align:left;border-bottom:1px solid var(--rule);white-space:nowrap;padding:10px 12px}.grid td:nth-child(3){white-space:normal}.grid th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:600}.grid .num{text-align:right;font-variant-numeric:tabular-nums}.grid tfoot td{border-bottom:none;font-weight:600}.grid tr.clickable{cursor:pointer}.grid tr.clickable:hover{background:var(--page)}.grid tr.selected{background:var(--page);box-shadow:inset 3px 0 0 var(--primary)}.grid tr.other td{color:var(--muted)}.panel{background:var(--card);border:1px solid var(--rule);border-radius:12px;flex:0 0 360px;padding:16px;position:sticky;top:72px}.panel-head{justify-content:space-between;align-items:center;display:flex}.panel-head h2,.panel-head button.link{margin:0}.panel label{color:var(--muted);flex-direction:column;gap:4px;margin-top:12px;font-size:.9rem;display:flex}.panel label input,.panel label select{box-sizing:border-box;flex:none;width:100%}.panel label.check{color:var(--ink);flex-direction:row;align-items:center;gap:8px}.panel label.check input{width:auto}.pair{gap:12px;display:flex}.pair label{flex:1}.hint{color:var(--muted);margin:4px 0 0;font-size:.85rem}.total{margin:10px 0 0;font-weight:600}.invoiced{border-top:1px solid var(--rule);margin-top:16px;padding-top:12px}.invoiced h3{margin:0 0 4px;font-size:1rem}.invoiced p{margin:0}.panel .row{margin-top:16px}.confirm{border:1px solid var(--bad);border-radius:8px;margin-top:16px;padding:12px}.confirm p{margin:0}.confirm .row{margin-top:10px}button.danger{background:var(--bad)}button.link.danger-link{color:var(--bad);margin-top:16px}.good{color:var(--good)}a.button{color:#fff;background:var(--primary);border-radius:8px;padding:10px 16px;font-weight:600;text-decoration:none}@media (prefers-color-scheme:dark){a.button{color:#0f172a}}.tabs{background:var(--card);border:1px solid var(--rule);border-radius:10px;gap:4px;padding:3px;display:flex}.tabs .tab{color:var(--muted);background:0 0;padding:6px 12px}.tabs .tab.active{color:var(--primary);background:var(--page)}.summary-line{margin:-4px 0 12px}.panel.wide{flex-basis:420px}.panel-sub{color:var(--muted);margin:4px 0 12px}.facts{grid-template-columns:auto 1fr;gap:4px 16px;margin:0 0 12px;font-size:.95rem;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}table.lines{border-collapse:collapse;width:100%;margin:8px 0 12px;font-size:.9rem}.lines td{border-bottom:1px solid var(--rule);vertical-align:top;padding:6px 0}.lines td+td{padding-left:8px}.lines .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.lines tfoot td{border-bottom:none}.lines tr.strong td{border-top:2px solid var(--rule);font-weight:700}.panel-section{border-top:1px solid var(--rule);margin-top:16px;padding-top:12px}.panel-section h3{margin:0 0 8px;font-size:1rem}.panel-section button.link{margin-top:6px}.row.tight input{flex:140px}.narrow-page{max-width:640px}.builder-cols{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:24px;display:grid}.card{background:var(--card);border:1px solid var(--rule);border-radius:12px;padding:16px}.card h2{margin:0 0 10px}.card-head{justify-content:space-between;align-items:baseline;margin-top:20px;display:flex}.card-head button.link{margin:0}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{color:var(--ink);background:var(--page);border:1px solid var(--rule);flex-direction:column;align-items:flex-start;padding:8px 14px;display:flex}.chip.active{color:#fff;background:var(--primary);border-color:var(--primary)}.chip-detail{opacity:.8;font-size:.75rem;font-weight:400}ul.ticks{margin:0;padding:0;list-style:none}.ticks li{border-top:1px solid var(--rule)}.ticks label{cursor:pointer;align-items:center;gap:12px;padding:10px 4px;display:flex}.ticks input{flex:none;width:18px;height:18px;padding:0}.tick-date{flex:0 0 140px}.tick-what{color:var(--muted);flex:1}.ticks .num{font-variant-numeric:tabular-nums}label.field{color:var(--muted);flex-direction:column;gap:4px;margin-top:12px;font-size:.9rem;display:flex}label.field input,label.field textarea{box-sizing:border-box;flex:none;width:100%}textarea{font:inherit;color:var(--ink);background:var(--page);border:1px solid var(--rule);resize:vertical;border-radius:8px;padding:10px 12px}button.wide{width:100%;margin-top:8px}.notice{background:var(--card);border:1px solid var(--warn);border-left-width:4px;border-radius:8px;margin:0 0 16px;padding:12px 14px}.notice.muted-notice{border-color:var(--rule);color:var(--muted)}.card.next{border-left:4px solid var(--primary);margin-bottom:24px}.cap{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.75rem;font-weight:700}.next-head{align-items:baseline;gap:12px;display:flex}.next-head h2{margin:4px 0}.month{margin-bottom:28px;scroll-margin-top:72px}.month-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.month-head h2{margin:0}.card.formb{margin-top:12px}.card h3{margin:0;font-size:1rem}ul.raised{margin:12px 0 0;padding:0;list-style:none}.raised li{background:var(--card);border:1px solid var(--rule);border-radius:12px;margin-top:8px;padding:12px 16px}.raised-what{flex-wrap:wrap;gap:4px 12px;margin-bottom:8px;display:flex}.raised .row.tight{align-items:center}.raised .row.tight input{flex:0 170px}.raised button.link{margin:0}details.settled{margin:8px 0 24px}details.settled summary{cursor:pointer;margin-bottom:12px;font-weight:600}.year-pick{flex:none;min-width:170px}.stats{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:16px;display:grid}.stat{font:inherit;text-align:left;color:var(--ink);background:var(--card);border:1px solid var(--rule);border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;font-weight:400;text-decoration:none;display:flex}.stat strong{font-variant-numeric:tabular-nums;font-size:1.2rem}.stat .muted{font-size:.85rem}.stat.pick{cursor:pointer}.stat.pick:hover,.stat.pick.active{border-color:var(--primary)}.card-head.first{margin-top:0}label.check.inline{align-items:center;gap:8px;font-size:.9rem;display:flex}label.check.inline input{flex:none;width:auto}.distances td{vertical-align:middle}input.distance{text-align:right;flex:none;width:90px;padding:6px 8px}.section-title{margin:24px 0 10px}@media (width<=900px){.builder-cols{grid-template-columns:1fr}.tick-date{flex-basis:96px}.with-panel{flex-direction:column-reverse;align-items:stretch}.bar{padding:10px 16px}.panel{box-sizing:border-box;flex:none;width:100%;position:static}}.chips.small{margin-top:8px}.chips.small .chip{padding:5px 10px;font-size:.85rem}.stat.lead{border-left:4px solid var(--primary)}.progress{background:var(--rule);border-radius:3px;height:6px;margin:4px 0 0;overflow:hidden}.progress span{background:var(--primary);height:100%;display:block}.cols{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:16px;margin-top:16px;display:grid}ul.todos{margin:0;padding:0;list-style:none}.todos li{border-left:3px solid var(--rule);margin-bottom:6px;padding:8px 0 8px 12px}.todos li.done{border-left-color:var(--good)}.todos li.nudge{border-left-color:var(--warn)}.todos li.gap{border-left-color:var(--bad)}.todos a,.todos span,.todos button.plain{color:var(--ink);flex-direction:column;gap:2px;text-decoration:none;display:flex}button.plain{font:inherit;text-align:left;color:var(--ink);background:0 0;border:none;padding:0;font-weight:400}button.link.inline{margin:0;display:inline}.period{align-items:flex-end;margin:8px 0}label.inline-field{margin-top:0}label.inline-field input{width:auto}.quarters{gap:10px;display:grid}.quarter-head{cursor:pointer;flex-wrap:wrap;gap:4px 16px;width:100%;display:flex}.quarter-body{margin-top:12px}.quarter-body .row.tight{align-items:center;margin-top:8px}.quarter-body select{flex:0 260px}.card.quarter.overdue{border-color:var(--bad)}.form-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px 20px;display:grid}.form-grid .wide{grid-column:1/-1}.form-grid .field .hint{margin:0}.narrow-card{max-width:640px}.tabs.inline-tabs{margin:8px 0 12px;display:inline-flex}.signature-pad{width:100%;color:var(--ink);background:var(--page);border:1px dashed var(--muted);touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;border-radius:10px;margin:4px 0;position:relative}.signature-pad svg{width:100%;height:100%;position:absolute;inset:0}.pad-hint{color:var(--muted);pointer-events:none;position:absolute;bottom:12px;left:16px}ul.tokens{color:var(--muted);margin:0 0 8px;padding-left:18px;font-size:.9rem}.email-body{white-space:pre-wrap}@media (width<=900px){.bar nav{scrollbar-width:none;flex-wrap:nowrap;flex:1 0 100%;order:3;overflow-x:auto}.bar nav a{white-space:nowrap}.status{margin-left:auto}}.button-link{font-weight:600}.notice.good-notice{border-color:var(--good)}label.file-button{cursor:pointer;margin:8px 0;display:inline-block}.mapping{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px 14px;display:grid}.map-heading{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.map-sample{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.options{gap:8px 20px;margin-top:12px}.grid.review{margin-top:16px}.grid.review tr.problem td{color:var(--muted)}.grid.review td:nth-child(3){white-space:nowrap}.grid.review td:last-child{white-space:normal}.card.import-go{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex;position:sticky;bottom:12px}.card.import-go p{flex:320px;margin:0}ul.outcomes{margin:0 0 8px;padding-left:18px}.outcomes li{margin:4px 0}.lookup{border-bottom:1px solid var(--rule);padding-bottom:8px}ul.matches{border:1px solid var(--rule);border-radius:8px;max-height:240px;margin:6px 0 0;padding:0;list-style:none;overflow-y:auto}.matches li{border-top:1px solid var(--rule);padding:8px 10px}.matches li:first-child{border-top:none}.matches button.plain{cursor:pointer;flex-direction:column;gap:2px;width:100%;display:flex}
