:root{--ink: #1c2b3a;--ink-soft: #4a5a6a;--paper: #f3f5f2;--sheet: #ffffff;--rule: #d5dbd6;--evidence: #2f5da8;--highlight: #f3dd6b;--highlight-soft: rgba(243, 221, 107, .45);--ok: #26734d;--bad: #a8322a;--warn: #8a5a00;--muted: #6b7680;--display: "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--body: "Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;color-scheme:light}@media (prefers-color-scheme: dark){:root{--ink: #e6ebef;--ink-soft: #b4bfc8;--paper: #131b23;--sheet: #1b252f;--rule: #2e3b47;--evidence: #7fa6e8;--highlight: #e8cf55;--highlight-soft: rgba(232, 207, 85, .28);--ok: #5cbf8a;--bad: #f07f74;--warn: #e0b04a;--muted: #8e9aa5;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 var(--body)}h1,h2,h3,h4{font-family:var(--display);line-height:1.15;margin:0}a{color:var(--evidence)}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:.45rem .9rem;border-radius:6px}button:disabled{opacity:.5;cursor:default}button.quiet{background:transparent;color:var(--evidence);border-color:transparent;padding:.2rem .4rem}button.quiet:hover{text-decoration:underline}:focus-visible{outline:3px solid var(--evidence);outline-offset:2px}.top{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:end;justify-content:space-between;padding:1.5rem clamp(16px,4vw,48px) 1rem;border-bottom:1px solid var(--rule)}.brand h1{font-size:clamp(2rem,5vw,3rem);font-weight:700;letter-spacing:-.02em}.brand h1:after{content:"";display:block;width:5.2em;height:.28em;margin-top:-.32em;background:var(--highlight);position:relative;z-index:-1}.brand p{margin:.4rem 0 0;color:var(--ink-soft);max-width:46ch}.examples{display:flex;flex-wrap:wrap;gap:.5rem}.examples button{background:transparent;color:var(--ink);border-color:var(--rule)}.examples button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.upload{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}.upload label{display:grid;gap:.2rem;font-size:.9rem;color:var(--ink-soft)}.upload select,.upload input[type=file]{padding:.35rem;border:1px solid var(--rule);border-radius:6px;background:var(--sheet);max-width:100%}.err{color:var(--bad)}.recorded{margin:0;padding:.6rem clamp(16px,4vw,48px);background:var(--highlight-soft);border-bottom:1px solid var(--rule);font-size:.95rem}main{padding:1.5rem clamp(16px,4vw,48px) 3rem}footer{padding:1.25rem clamp(16px,4vw,48px) 2rem;border-top:1px solid var(--rule);color:var(--muted);font-size:.875rem;max-width:90ch}.state-msg{color:var(--ink-soft);font-size:1.1rem}.state-msg.working:before{content:"";display:inline-block;width:.8em;height:.8em;margin-right:.6em;border-radius:50%;background:var(--highlight);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.3}}.bill-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(1rem,3vw,2.5rem);align-items:start}@media (max-width: 900px){.bill-layout{grid-template-columns:minmax(0,1fr)}}.sheet{margin:0;position:sticky;top:1rem}@media (max-width: 900px){.sheet{position:static}}.sheet-frame{position:relative;background:#fff;box-shadow:0 1px 0 var(--rule),0 18px 40px -24px #1c2b3a73;transform:rotate(-.4deg)}.sheet img{display:block;width:100%;height:auto}.sheet figcaption{margin-top:.75rem;font-size:.875rem;color:var(--muted);max-width:60ch}.ev{position:absolute;padding:0;border:0;border-radius:2px;background:transparent;box-shadow:inset 0 -.18em #f3dd6be6;mix-blend-mode:multiply}.ev:hover,.ev.on{background:#f3dd6b99;outline:2px solid var(--evidence);outline-offset:2px}.ev.review{box-shadow:none;outline:2px dashed var(--bad);outline-offset:2px}.findings{display:grid;gap:1rem;min-width:0}.verdict{padding:1.25rem 1.25rem 1rem;border-left:6px solid var(--muted);background:var(--sheet)}.verdict h2{font-size:clamp(1.8rem,4vw,2.4rem);font-weight:700;letter-spacing:-.015em}.verdict .headline{margin:.35rem 0 0;font-size:1.1rem}.v-reconciled{border-color:var(--ok)}.v-reconciled h2{color:var(--ok)}.v-discrepancy{border-color:var(--bad)}.v-discrepancy h2{color:var(--bad)}.v-insufficient_evidence,.v-unsupported_tariff{border-color:var(--warn)}.v-insufficient_evidence h2,.v-unsupported_tariff h2{color:var(--warn)}.totals{display:flex;flex-wrap:wrap;gap:.5rem 2rem;margin:1rem 0 0}.totals div{display:grid}.totals dt{font-size:.85rem;color:var(--muted)}.totals dd{margin:0;font:700 1.35rem/1.2 var(--display);font-variant-numeric:tabular-nums}.review-note{margin:0;padding:.75rem 1rem;border:1px dashed var(--bad);border-radius:6px;background:var(--sheet)}.panel{background:var(--sheet);padding:1rem 1.25rem;border-radius:4px}.panel h3{font-size:1.2rem;margin-bottom:.5rem}.panel h4{font-size:.95rem;font-weight:500;color:var(--ink-soft);margin:1rem 0 .25rem}.panel p{margin:.25rem 0}.note{font-size:.875rem;color:var(--muted)}.explain p:first-child{font-size:1.05rem}details summary{cursor:pointer;color:var(--ink-soft);margin-top:.25rem}.checks{list-style:none;margin:.25rem 0 0;padding:0}.check{display:grid;grid-template-columns:1.6rem 1fr;gap:.4rem;padding:.5rem 0;border-top:1px solid var(--rule)}.check:first-child{border-top:0}.check .mark{font-weight:700;text-align:center}.c-pass .mark{color:var(--ok)}.c-fail .mark{color:var(--bad)}.c-warn .mark{color:var(--warn)}.c-skip .mark{color:var(--muted)}.check .rule{font-weight:700}.check .nums,.check .detail{font-size:.9rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}.band{position:relative;height:2.6rem;margin:1.4rem 0 .2rem;border-bottom:1px solid var(--rule)}.band .range{position:absolute;top:.9rem;height:1rem;background:color-mix(in srgb,var(--evidence) 22%,transparent);border-radius:2px}.band .mid{position:absolute;top:.6rem;width:2px;height:1.6rem;background:var(--evidence)}.band .you{position:absolute;top:0;width:0;height:2.6rem;border-left:3px solid var(--ink)}.band .you span{position:absolute;top:-1.3rem;left:-1.6rem;width:3.2rem;text-align:center;font-size:.8rem;font-weight:700}.band .you.l-unusually_high,.band .you.l-unusually_low{border-color:var(--warn);color:var(--warn)}.band-scale{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted)}.fields{list-style:none;margin:0;padding:0}.field{display:grid;grid-template-columns:minmax(7rem,1fr) minmax(0,1.2fr) auto auto;gap:.25rem .75rem;align-items:center;padding:.3rem .4rem;border-radius:3px}.field .label{color:var(--ink-soft)}.field .value{font-variant-numeric:tabular-nums;font-weight:700;overflow-wrap:anywhere}.field .state{font-size:.8rem;color:var(--muted)}.field.on{background:var(--highlight-soft)}.f-found .state:before{content:"● ";color:var(--highlight)}.f-review{box-shadow:inset 3px 0 0 var(--bad)}.f-review .state{color:var(--bad)}.f-corrected .state,.f-repaired .state{color:var(--evidence)}.edit{grid-column:2 / -1;display:flex;gap:.4rem;flex-wrap:wrap}.edit input{flex:1 1 8rem;min-width:0;padding:.3rem .5rem;border:1px solid var(--evidence);border-radius:4px;background:var(--paper)}@media (max-width: 520px){.field{grid-template-columns:1fr auto}.field .value,.field .state{grid-column:1}.field button.quiet{grid-column:2;grid-row:1 / span 2}.edit{grid-column:1 / -1}}.log{margin:0;padding-left:1.25rem;font-variant-numeric:tabular-nums}.provenance{font-size:.8rem;color:var(--muted);margin:0}@media (prefers-reduced-motion: reduce){*{animation:none!important;scroll-behavior:auto!important}}
