:root{--paper:#f5f7fa;--surface:#fff;--ink:#17233b;--muted:#5e6b82;--line:#dce2eb;--soft:#edf1f7;--accent:#2b54d9;--accent-ink:#fff;--danger:#c23a3a;--ok:#1e8a5a;--warn:#b7791f;--display:"Bricolage Grotesque", "Avenir Next", "Segoe UI", system-ui, sans-serif;--body:"Figtree", "Segoe UI", system-ui, -apple-system, sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0f1522;--surface:#172033;--ink:#e7ecf5;--muted:#98a4ba;--line:#2a3550;--soft:#1d2840;--accent:#7c9bff;--accent-ink:#0f1522;--danger:#ff7b7b;--ok:#4fc98e;--warn:#e7b04e}}:root[data-theme=dark]{--paper:#0f1522;--surface:#172033;--ink:#e7ecf5;--muted:#98a4ba;--line:#2a3550;--soft:#1d2840;--accent:#7c9bff;--accent-ink:#0f1522;--danger:#ff7b7b;--ok:#4fc98e;--warn:#e7b04e}*,:before,:after{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--body);margin:0;font-size:15px;line-height:1.5}button,input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}.app{max-width:1440px;margin:0 auto;padding:24px 16px 40px}header{flex-wrap:wrap;align-items:flex-end;gap:12px 24px;margin-bottom:20px;display:flex}h1{font-family:var(--display);letter-spacing:-.03em;margin:0;font-size:clamp(2.2rem,5vw,3.6rem);font-weight:700;line-height:.95}h2{font-family:var(--display);letter-spacing:-.01em;margin:28px 0 8px;font-size:1.3rem;font-weight:650}header #signOutBtn{margin-left:auto}.tabs{flex-wrap:wrap;gap:4px;display:flex}.tabs a{color:var(--muted);border-radius:10px;padding:6px 12px;font-weight:500;text-decoration:none}.tabs a:hover{background:var(--soft);color:var(--ink)}.tabs a[aria-current=page]{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;padding:8px 14px;font-weight:500}.btn:hover{background:var(--soft)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--soft)}.btn.small{padding:4px 10px;font-size:.85rem}.btn:disabled{opacity:.5;cursor:default}input,select{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:8px 10px}label{flex-direction:column;gap:4px;font-size:.9rem;font-weight:500;display:flex}.msg{color:var(--muted);margin:12px 0 0;font-size:.88rem}.msg.err{color:var(--danger)}.msg:empty{display:none}.lede{color:var(--muted);max-width:72ch;margin:0 0 12px;font-size:.93rem}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:12px 24px;display:flex}.toolbar label{flex-direction:row;align-items:center;gap:8px}.toolbar .lede{flex:360px;margin:0}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow-x:auto}table.grid{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.grid th,.grid td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;vertical-align:top;padding:8px 12px}.grid tbody tr:last-child>*{border-bottom:0}.grid thead th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:var(--soft);font-size:.8rem;font-weight:600}.grid tbody th{font-weight:600}.grid td small{color:var(--muted);margin-top:2px;font-size:.78rem;display:block}.grid td.empty{color:var(--muted)}.grid.num td,.grid.num thead th:not(:first-child){text-align:right}.grid.num td[title]{cursor:help}.grid .sub{color:var(--muted);font-size:.88rem}.grid td.flagged{background:color-mix(in srgb, var(--warn) 16%, transparent)}.chip{background:var(--soft);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:.82rem;font-weight:600;display:inline-block}.chip.ok{background:color-mix(in srgb, var(--ok) 16%, transparent);color:var(--ok)}.chip.warn{background:color-mix(in srgb, var(--warn) 18%, transparent);color:var(--warn)}.chip.info{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}.chip.late{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.notes{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-top:28px;padding:12px 16px}.notes summary{cursor:pointer;font-weight:600}.notes dl{grid-template-columns:max-content 1fr;gap:8px 16px;margin:12px 0 0;font-size:.92rem;display:grid}.notes dt{font-weight:600}.notes dd{color:var(--muted);margin:0}@media (width<=560px){.notes dl{grid-template-columns:1fr}.notes dd{margin-bottom:8px}}.auth{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;width:min(380px,100%);padding:24px}.auth-card h1{margin-bottom:16px;font-size:2.4rem}.auth-card form{flex-direction:column;gap:12px;display:flex}.auth-card .help{color:var(--muted);margin:0;font-size:.92rem}.auth-card #authCode{letter-spacing:.2em;font-variant-numeric:tabular-nums;font-size:1.3rem}.form-actions{flex-wrap:wrap;gap:8px;display:flex}.btn.google{justify-content:center;align-items:center;gap:10px;width:100%;padding:10px 14px;display:inline-flex}.auth-card .or{color:var(--muted);align-items:center;gap:10px;margin:14px 0;font-size:.85rem;display:flex}.auth-card .or:before,.auth-card .or:after{content:"";background:var(--line);flex:1;height:1px}.tabs .count:not(:empty){background:var(--warn);min-width:20px;color:var(--surface);text-align:center;border-radius:999px;margin-left:4px;padding:0 6px;font-size:.78rem;display:inline-block}.review-layout{align-items:start;gap:16px;display:grid}@media (width>=1000px){.review-layout:has(.pdf-pane:not([hidden])){grid-template-columns:minmax(360px,440px) 1fr}}.review-list{flex-direction:column;gap:12px;display:flex}.review-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.review-card.current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.review-card header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.review-card h3{margin:0;font-size:1rem}.review-card .figure{font-variant-numeric:tabular-nums;margin:6px 0}.review-card .figure strong{font-family:var(--display);font-size:1.6rem}.review-card .sub{color:var(--muted);font-size:.88rem}.review-card .basis{margin:0 0 6px;font-size:.9rem}.review-card blockquote{border-left:3px solid var(--line);background:var(--soft);border-radius:0 8px 8px 0;margin:6px 0;padding:6px 10px;font-size:.88rem}.review-card .flags{color:var(--warn);margin:8px 0;padding-left:18px;font-size:.9rem}.review-card .flags li.note{color:var(--muted)}.review-card .form-actions{margin-top:10px}.review-card .correct{grid-template-columns:1fr 1fr;align-items:end;gap:10px;margin-top:10px;display:grid}.review-card .correct .wide,.review-card .correct button{grid-column:1/-1}.pdf-pane{background:var(--surface);border:1px solid var(--line);border-radius:14px;position:sticky;top:12px;overflow:hidden}.pdf-head{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:8px 12px;font-size:.88rem;display:flex}.pdf-head a{color:var(--accent);white-space:nowrap}.pdf-pane iframe{background:#fff;border:0;width:100%;height:calc(100vh - 90px);display:block}.cell-btn{all:unset;cursor:pointer;border-radius:8px;margin:-2px -4px;padding:2px 4px;display:block}.cell-btn:hover{background:var(--soft)}.cell-btn:focus-visible{outline:2px solid var(--accent)}.grid tr.group-start>*{border-top:2px solid var(--ink)}.grid tbody th small{color:var(--muted);margin-left:6px;font-size:.78rem;font-weight:400;display:inline}.grid td.noted{-webkit-text-decoration:underline dotted var(--muted);text-decoration:underline dotted var(--muted);text-underline-offset:3px}dialog{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:16px;width:min(480px,100vw - 32px);padding:20px}dialog::backdrop{background:color-mix(in srgb, var(--ink) 35%, transparent)}dialog form{flex-direction:column;gap:12px;display:flex}dialog h2{margin:0}dialog .help{color:var(--muted);margin:0;font-size:.92rem}.msg.ok{color:var(--ok)}.settings-list{flex-direction:column;gap:8px;display:flex}.company-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 16px}.company-card summary{cursor:pointer;padding:4px 0}.company-card summary .sub{color:var(--muted);font-size:.88rem}.company-form{flex-direction:column;gap:12px;padding:12px 0 6px;display:flex}.company-form .row{flex-wrap:wrap;gap:12px;display:flex}.company-form .row>label{flex:160px}.company-form fieldset{border:1px solid var(--line);border-radius:10px;margin:0;padding:8px 12px 12px}.company-form legend{color:var(--muted);padding:0 4px;font-size:.85rem}.company-form textarea{border:1px solid var(--line);background:var(--surface);resize:vertical;border-radius:10px;padding:8px 10px;font-weight:400}.company-form label small{color:var(--muted);font-weight:400}label.check{flex-direction:row;align-items:center;gap:8px;font-weight:500}.due-cell{flex-direction:column;gap:4px;display:flex}.due-cell input,.due-cell select{padding:4px 6px;font-size:.85rem}.table-wrap.narrow{max-width:420px}.grid.num td input{text-align:right;width:100px;padding:4px 6px}#settings .form-actions{margin-top:10px}.grid .divider{border-left:2px solid var(--line)}.grid.num thead th{white-space:normal;vertical-align:bottom;text-align:right;line-height:1.25}.grid.num thead tr:first-child th:first-child{text-align:left}.grid.num thead tr+tr th:first-child{text-align:right}.grid thead tr:first-child th{border-bottom:0;padding-bottom:2px}.grid.num thead th.group-title{text-align:center}.grid thead th.sub-title{text-transform:none;letter-spacing:0;padding-top:0;font-size:.78rem;font-weight:500}table.grid.fixed{table-layout:fixed}.grid.fixed th,.grid.fixed td{text-overflow:ellipsis;overflow:hidden}.grid.fixed thead th{white-space:normal}.table-wrap.fit{width:fit-content;max-width:100%}.grid td.neg{color:var(--danger)}.grid td .change{color:var(--muted);font-size:.85em}.grid td .change.neg{color:var(--danger)}.segmented{border:1px solid var(--line);background:var(--surface);border-radius:10px;display:inline-flex;overflow:hidden}.segmented button{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:7px 12px;font-weight:500}.segmented button+button{border-left:1px solid var(--line)}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}h2 .span{color:var(--muted);font-size:.8em;font-weight:400}.grid td sup.adj{color:var(--muted);margin-left:1px;font-size:.7em}.footnote{color:var(--muted);margin:6px 2px 0;font-size:.82rem}
