:root{--bg:#f4f4f1;--surface:#fcfcfb;--text:#0b0b0b;--muted:#62615d;--border:#e4e3de;--grid:#ecebe6;--accent:#1f4f8f;--fav:#2a78d6;--unfav:#e34948;--fav-text:#1c5cab;--unfav-text:#b3302f;--danger:#b3261e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121211;--surface:#1a1a19;--text:#f0efec;--muted:#a3a29b;--border:#2f2f2c;--grid:#262624;--accent:#86b6ef;--fav:#3987e5;--unfav:#e66767;--fav-text:#86b6ef;--unfav-text:#f09a9a;--danger:#f2827a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#121211;--surface:#1a1a19;--text:#f0efec;--muted:#a3a29b;--border:#2f2f2c;--grid:#262624;--accent:#86b6ef;--fav:#3987e5;--unfav:#e66767;--fav-text:#86b6ef;--unfav-text:#f09a9a;--danger:#f2827a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-variant-numeric:tabular-nums;margin:0}h1,h2,h3,p{margin:0}.muted{color:var(--muted)}.small{font-size:.85rem;line-height:1.45}.fav-text{color:var(--fav-text)}.unfav-text{color:var(--unfav-text)}.center{place-items:center;min-height:100vh;padding:16px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px}form.card{gap:14px;width:min(360px,100%);display:grid}form.card h1{font-size:1.25rem}label{color:var(--muted);gap:6px;font-size:.875rem;display:grid}input,select{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;padding:8px 10px}button{font:inherit;background:var(--accent);color:var(--surface);cursor:pointer;border:0;border-radius:8px;padding:9px 14px}button:disabled{opacity:.6}button.link{color:var(--accent);background:0 0;padding:0}.error{color:var(--danger);font-size:.875rem}.tag{text-transform:uppercase;letter-spacing:.06em;vertical-align:middle;background:var(--accent);color:var(--surface);border-radius:999px;padding:2px 7px;font-size:.68rem}.shell header.top{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex}.shell .spacer{flex:1}.shell main{max-width:1240px;margin:0 auto;padding:20px 24px 48px}@media (width<=600px){.shell main{padding:16px 16px 40px}}.page{gap:20px;display:grid}.controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.seg{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:3px;display:inline-flex}.seg button{color:var(--muted);background:0 0;border-radius:7px;padding:6px 12px}.seg button.on{background:var(--text);color:var(--surface)}.hero{gap:10px;padding:8px 0 4px;display:grid}.eyebrow{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:.8rem}.hero h1{letter-spacing:-.02em;font-size:clamp(2rem,6vw,3.2rem);font-weight:700;line-height:1.05}.lede{max-width:92ch;color:var(--muted);font-size:1.05rem;line-height:1.55}.lede b{color:var(--text)}.sections{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.section{gap:10px;display:grid}.section header{justify-content:space-between;align-items:center;gap:8px;display:flex}.section h2{font-size:.95rem;font-weight:600}.big{letter-spacing:-.01em;font-size:1.8rem;font-weight:700}.pill{border-radius:999px;padding:2px 8px;font-size:.8rem;font-weight:600}.pill.fav{color:var(--fav-text);background:color-mix(in srgb, var(--fav) 14%, transparent)}.pill.unfav{color:var(--unfav-text);background:color-mix(in srgb, var(--unfav) 14%, transparent)}.bullet{background:var(--grid);border-radius:999px;height:10px;position:relative}.b-fill{background:var(--text);opacity:.8;border-radius:999px;position:absolute;inset:0 auto 0 0}.b-tick{background:var(--muted);width:2px;box-shadow:0 0 0 2px var(--surface);margin-left:-1px;position:absolute;top:-4px;bottom:-4px}.card h2{font-size:1.05rem;font-weight:650}.card>.small{margin:4px 0 14px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.check{color:var(--muted);align-items:center;gap:8px;font-size:.85rem;display:flex}.two{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px;display:grid}.chart-wrap{position:relative}.chart{width:100%;height:auto;display:block}.chart .grid{stroke:var(--grid);stroke-width:1px}.chart .zero{stroke:var(--muted);stroke-width:1px}.chart .tick{fill:var(--muted);font-size:11px}.chart .mark.fav{fill:var(--fav)}.chart .mark.unfav{fill:var(--unfav)}.chart .run-line{fill:none;stroke:var(--text);stroke-width:2px;stroke-linejoin:round}.chart .run-dot{fill:var(--text);stroke:var(--surface);stroke-width:2px}.tip{pointer-events:none;white-space:nowrap;background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:2px;padding:8px 10px;font-size:.8rem;display:grid;position:absolute;top:0;transform:translate(-50%);box-shadow:0 4px 16px #0000001f}.tip .verdict.fav{color:var(--fav-text)}.tip .verdict.unfav{color:var(--unfav-text)}.legend{color:var(--muted);flex-wrap:wrap;gap:16px;margin-top:8px;font-size:.8rem;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.sw{border-radius:3px;width:12px;height:12px;display:inline-block}.sw.fav{background:var(--fav)}.sw.unfav{background:var(--unfav)}.sw.line{background:var(--text);border-radius:1px;height:2px}.drivers{gap:8px;margin:0;padding:0;list-style:none;display:grid}.drivers li{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:center;gap:10px;font-size:.875rem;display:grid}.d-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.d-track{height:14px;position:relative}.d-track:before{content:"";background:var(--muted);width:1px;position:absolute;top:-3px;bottom:-3px;left:50%}.d-bar{position:absolute;top:0;bottom:0}.d-bar.fav{background:var(--fav);border-radius:0 4px 4px 0}.d-bar.unfav{background:var(--unfav);border-radius:4px 0 0 4px}.d-val{text-align:right;min-width:7ch}.card h3{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:14px 0 6px;font-size:.75rem}.units{margin:0;padding:0;list-style:none}.units li{border-top:1px solid var(--grid)}.unit-row{text-align:left;grid-template-columns:auto 1fr auto 12px;align-items:center;gap:10px;width:100%;padding:7px 0;font-size:.9rem;display:grid}button.unit-row.pick{width:100%;margin:0;padding:7px 6px}.units .code{color:var(--muted);min-width:3ch}.units .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.drivers li{display:block}.d-row{text-align:left;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto 12px;align-items:center;gap:10px;width:100%;font-size:.875rem;display:grid}div.d-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto 12px}button.pick{color:inherit;cursor:pointer;background:0 0;border-radius:8px;width:calc(100% + 12px);margin:-4px -6px;padding:4px 6px}button.pick:hover,button.pick.on{background:var(--grid)}button.pick:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chev{color:var(--muted);font-size:1.1rem;line-height:1;transition:transform .15s}.chev.down{transform:rotate(90deg)}.scrim{z-index:20;background:#00000047;justify-content:flex-end;animation:.15s ease-out fade;display:flex;position:fixed;inset:0}.panel{background:var(--surface);border-left:1px solid var(--border);align-content:start;gap:14px;width:min(520px,100%);height:100%;padding:20px 20px 32px;animation:.18s ease-out slide;display:grid;overflow-y:auto;box-shadow:-12px 0 32px #00000024}@keyframes fade{0%{opacity:0}}@keyframes slide{0%{opacity:.6;transform:translate(24px)}}@media (prefers-reduced-motion:reduce){.scrim,.panel{animation:none}}.panel-head h2{margin-top:4px;font-size:1.4rem}.close{color:var(--muted);background:0 0;border-radius:8px;padding:2px 8px;font-size:1.6rem;line-height:1}.close:hover{background:var(--grid);color:var(--text)}.panel-total{letter-spacing:-.01em;font-size:2rem;font-weight:700}.panel-total .muted{letter-spacing:0;font-size:1rem;font-weight:400}.panel .seg{justify-self:start}.drill{margin:0;padding:0;list-style:none}.drill>li{border-top:1px solid var(--grid)}.drill-row{grid-template-columns:1fr 12px;align-items:center;gap:8px;padding:9px 0;display:grid}li.drill-row{grid-template-columns:1fr}.drill button.drill-row{text-align:left;width:100%;margin:0;padding:9px 6px}.drill-body{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) auto;align-items:center;gap:10px;font-size:.875rem;display:grid}.drill-name{gap:2px;min-width:0;display:grid}.drill-name .code{color:var(--muted);margin-right:4px}.drill-sub{line-height:1.35}.drill.nested{border-left:2px solid var(--grid);margin:0 0 8px 14px;padding-left:10px}.drill.nested>li{border-top:0;padding:5px 0}.foot{border-top:1px solid var(--grid);padding-top:12px}@media (width<=480px){.drill-body{grid-template-columns:minmax(0,1fr) 56px auto;gap:8px}.panel{padding:16px 16px 28px}}.scope-selects{flex-wrap:wrap;gap:8px;display:flex}.scope-selects select{max-width:100%}.crumb{color:var(--accent);background:0 0;justify-self:start;padding:2px 0;font-size:.9rem}.crumb:hover{text-decoration:underline}.panel{position:relative}.panel>.close{position:absolute;top:14px;right:14px}.panel-head{gap:4px;padding-right:36px;display:grid}.panel-head h2:focus{outline:none}.panel-section{gap:6px;display:grid}.panel-section h3{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:6px 0 0;font-size:.75rem}.vendors{margin:0;padding:0;list-style:none}.vendors li{border-top:1px solid var(--grid);grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) auto;align-items:center;gap:10px;padding:7px 0;font-size:.875rem;display:grid}.v-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.v-track{height:8px}.v-bar{background:var(--text);opacity:.55;border-radius:0 4px 4px 0;height:100%;display:block}.v-val{text-align:right;min-width:7ch}.vendors .unitemized .v-name{color:var(--muted);font-style:italic}.vendors .unitemized .v-bar{opacity:.25}.unit-picker{position:relative}.picker-button{min-width:220px;max-width:100%;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:inline-flex}.picker-button span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.caret{color:var(--muted);font-size:.8rem}.picker-menu{z-index:15;background:var(--surface);border:1px solid var(--border);border-radius:10px;width:min(340px,100vw - 32px);max-height:min(70vh,520px);padding:6px;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 10px 30px #00000029}.picker-item,.picker-group-head{width:100%;font:inherit;text-align:left;color:var(--text);background:0 0;border-radius:6px;align-items:center;gap:8px;padding:7px 8px;font-size:.9rem;display:flex}.picker-item:hover,.picker-group-head:hover{background:var(--grid)}.picker-item.on{background:var(--grid);font-weight:600}.picker-item.unit{padding-left:30px}.picker-item .code{color:var(--muted);min-width:3ch}.picker-group-head .g-label{flex:1;font-weight:600}.picker-group-head .chev{width:12px}.picker-group{border-top:1px solid var(--grid)}.dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.picker-empty{padding:8px}@media (width<=600px){.picker-button{width:100%;min-width:0}.unit-picker{flex:1}.picker-menu{left:0;right:auto}}.vendors li{padding:0;display:block}.v-row{text-align:left;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) auto 12px;align-items:center;gap:10px;width:100%;padding:7px 0;font-size:.875rem;display:grid}button.v-row.pick{width:100%;margin:0;padding:7px 6px}.tx{gap:14px;display:grid}.tx-month h3{border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);justify-content:space-between;margin:0 0 4px;padding-bottom:4px;font-size:.75rem;display:flex}.tx-month ul{margin:0;padding:0;list-style:none}.tx-month li{border-top:1px solid var(--grid);grid-template-columns:52px minmax(0,1fr) auto;align-items:baseline;gap:10px;padding:7px 0;font-size:.875rem;display:grid}.tx-month li:first-child{border-top:0}.tx-when{color:var(--muted);white-space:nowrap}.tx-what{gap:2px;min-width:0;display:grid}.tx-memo{overflow-wrap:anywhere}.tx-amt{white-space:nowrap}.tx-meta{flex-wrap:wrap;align-items:center;gap:2px 6px;display:flex}.tag-chip{background:var(--grid);color:var(--text);border-radius:6px;padding:1px 6px;font-size:.75rem;line-height:1.35;display:inline-block}.tag-chip.flag{background:color-mix(in srgb, var(--unfav) 16%, transparent);color:var(--unfav-text)}
