:root{--brand-slate:#1b2a33;--flow:#2bb3c0;--stone:#c9cdc9;--signal:#ff5a1f;--void:#0e191f;--base:#13212a;--panel:#1b2b34;--panel-2:#223540;--ink:#f2f5f5;--stone-dim:#a4abae;--flow-bright:#7ce3ef;--line:#7ce3ef1a;--line-strong:#7ce3ef38;--line-stone:#c9cdc929;--bg:var(--base);--surface:var(--panel);--surface-2:var(--panel-2);--text:var(--ink);--muted:var(--stone-dim);--border:var(--line-strong);--accent:var(--flow);--accent-ink:#06343a;--accent-hover:var(--flow-bright);--danger:var(--signal);--danger-bg:#ff5a1f1f;--success:var(--flow);--focus:var(--flow-bright);--space-1:8px;--space-2:12px;--space-3:20px;--space-4:32px;--radius-control:5px;--radius-card:5px;--control-h:38px}*{box-sizing:border-box}body{color:var(--text);background-color:var(--base);background-image:repeating-linear-gradient(0deg, var(--line) 0 1px, transparent 1px 48px), repeating-linear-gradient(90deg, var(--line) 0 1px, transparent 1px 48px), radial-gradient(120% 80% at 50% -10%, #1a2c36 0%, var(--base) 60%);font-family:var(--font-body,"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-attachment:fixed;margin:0;line-height:1.65}h1,h2,h3{font-family:var(--font-display,"Arial Black", system-ui, sans-serif);text-transform:uppercase;letter-spacing:-.02em;color:var(--ink);font-weight:700;font-stretch:125%;line-height:1.1}a{color:var(--flow)}a:hover{color:var(--flow-bright)}strong,b{color:var(--ink);font-weight:600}input,select,button,textarea{font:inherit;color:var(--text);height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);box-sizing:border-box;vertical-align:middle;padding:0 10px}textarea{height:auto;padding:8px 10px}input:focus-visible,select:focus-visible,button:focus-visible,textarea:focus-visible,:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-color:var(--flow)}button{cursor:pointer}input:disabled,select:disabled,button:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}input::placeholder,textarea::placeholder{color:var(--stone-dim)}input,select,textarea{max-width:100%}.wordmark{font-family:var(--font-display,"Arial Black", system-ui, sans-serif);letter-spacing:-.02em;text-transform:uppercase;color:var(--ink);align-items:baseline;font-weight:800;font-stretch:125%;line-height:1;display:inline-flex}.wordmark i{background:var(--flow);border-radius:1px;flex:none;width:.4em;height:.085em;margin:0 .12em;position:relative;bottom:calc(.5cap - .0425em)}@supports not (height:1cap){.wordmark i{bottom:.3em}}.eyebrow{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--flow);font-size:.6875rem;font-weight:500}.mono{font-family:var(--font-mono)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{border-color:var(--border);color:var(--text);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--panel-2)}.btn-danger{color:var(--danger);background:0 0;border-color:#0000;height:auto;padding:6px 8px}.btn-danger:hover:not(:disabled){background:var(--danger-bg)}.page-shell{max-width:1200px;margin:0 auto;padding:24px}.app-nav{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);border-bottom:1px solid var(--line-strong);padding-bottom:var(--space-3);flex-wrap:wrap;display:flex}.app-nav a{color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;font-size:.8125rem;text-decoration:none}.app-nav a:hover{color:var(--ink)}.card{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-card);padding:var(--space-3)}.fact-list{margin:0;padding:0;list-style:none}.fact-list li{justify-content:space-between;align-items:baseline;gap:var(--space-2);border-bottom:1px solid var(--line);color:var(--stone-dim);padding:6px 0;font-size:14px;display:flex}.fact-list li:last-child{border-bottom:none}.fact-list strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.card-link{margin-top:var(--space-2);font-family:var(--font-mono);font-size:.8125rem;text-decoration:none;display:inline-block}.row-list{margin-top:var(--space-3);padding:0;list-style:none}.row-list li{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--border);display:flex}.row-list li:last-child{border-bottom:none}.row-action{margin-left:auto}.settings-layout{gap:var(--space-4);grid-template-columns:180px 1fr;align-items:start;display:grid}.settings-nav{top:var(--space-4);position:sticky}.settings-nav ul{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.settings-nav a{padding:var(--space-1) var(--space-2);color:var(--muted);border-radius:var(--radius-control);font-family:var(--font-mono);font-size:.8125rem;text-decoration:none;display:block}.settings-nav a:hover{color:var(--text);background:var(--panel-2)}.settings-main{gap:var(--space-4);display:grid}.settings-main .card h2{margin:0 0 var(--space-3);font-size:16px}.settings-main .card h3{color:var(--muted);margin:var(--space-3) 0 var(--space-2);font-size:13px}.field-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.field{gap:var(--space-1);display:grid}.field-label{color:var(--muted);font-size:12px}.field-help{color:var(--muted);font-size:11px}.field-error,.cell-error,.control-error{color:var(--danger);font-size:11px}.input-suffix,.input-prefix{align-items:center;display:inline-flex;position:relative}.input-suffix>input{width:100%;padding-right:32px}.input-suffix:after{content:attr(data-suffix);color:var(--muted);pointer-events:none;font-size:12px;position:absolute;right:10px}.input-prefix:before{content:attr(data-prefix);margin-right:var(--space-1);color:var(--muted);font-size:12px}.money-input{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.money-input--negative{color:var(--danger)}.chip-row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.chip{background:var(--surface);border:1px solid var(--border);height:auto;color:var(--text);padding:6px 12px}.chip--active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-scroll>table{min-width:480px}.inline-table-wrap{overflow-x:auto}.inline-table{border-collapse:collapse;width:100%}.inline-table th{text-align:left;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 var(--space-2) var(--space-1) 0;font-size:11px;font-weight:500}.inline-table td{padding:var(--space-1) var(--space-2) var(--space-1) 0;vertical-align:top}.inline-table .col-actions{white-space:nowrap;width:1%}.inline-table td .input-suffix,.inline-table td .input-suffix>input{min-width:96px}.ghost-row td{border-top:1px dashed var(--border);padding-top:var(--space-2)}.cell-readonly{min-height:var(--control-h);color:var(--muted);align-items:center;font-size:13px;display:inline-flex}.cell-links{flex-direction:column;gap:2px;display:flex}.month-input{gap:var(--space-1);align-items:center;display:inline-flex}.clear-btn{height:var(--control-h);padding:0 8px}.settings-status{bottom:var(--space-3);text-align:center;min-width:120px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);font-size:13px;font-family:var(--font-mono);border:1px solid var(--line-strong);justify-self:end;position:sticky}.settings-status[data-kind=idle]{visibility:hidden}.settings-status[data-kind=saved]{background:var(--panel);border-color:var(--flow);color:var(--flow)}.settings-status[data-kind=error]{background:var(--danger-bg);border-color:var(--signal);color:var(--danger)}@media (max-width:768px){.settings-layout{gap:var(--space-3);grid-template-columns:1fr}.settings-nav{position:static}.settings-nav ul{-webkit-overflow-scrolling:touch;grid-auto-columns:max-content;grid-auto-flow:column;overflow-x:auto}.inline-table,.inline-table tbody,.inline-table tr,.inline-table td{width:100%;display:block}.inline-table thead{display:none}.inline-table tr{border:1px solid var(--line-strong);border-radius:var(--radius-card);padding:var(--space-2);margin-bottom:var(--space-2)}.inline-table td{padding:var(--space-1) 0}.inline-table td:empty{display:none}.inline-table td:before{content:attr(data-label);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:11px;font-weight:500;display:block}.inline-table .col-actions{text-align:right}.inline-table .col-actions:before{content:none}.inline-table .ghost-row td{border-top:none}.inline-table td input,.inline-table td select,.inline-table td .input-suffix,.inline-table td .month-input{width:100%;min-width:0}.inline-table td .month-input input{flex:1;min-width:0}}@media (max-width:640px){.page-shell{padding:16px 12px}.app-nav{gap:var(--space-2);margin-bottom:var(--space-3)}.settings-status{justify-self:stretch;width:100%}}
@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/af21ab248943f479-s.3gj6ciom31zjc.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/4ae66b896b591e96-s.0_kz_z3o_slvt.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/21ca8f3f56c22ca2-s.p.1cp9-4nby68jc.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Fallback;src:local(Arial);ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.0%;size-adjust:98.7%}.archivo_a54005a4-module__TJH1Da__className{font-family:Archivo,Archivo Fallback;font-style:normal}.archivo_a54005a4-module__TJH1Da__variable{--font-display:"Archivo", "Archivo Fallback"}
@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/91bd2e40df15814e-s.19s5evoqhirey.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.386o_ri1vb0yv.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.44dak0sams9f0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.3lxpqujs87tck.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/91bd2e40df15814e-s.19s5evoqhirey.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.386o_ri1vb0yv.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.44dak0sams9f0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.3lxpqujs87tck.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/91bd2e40df15814e-s.19s5evoqhirey.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.386o_ri1vb0yv.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.44dak0sams9f0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.3lxpqujs87tck.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/91bd2e40df15814e-s.19s5evoqhirey.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.386o_ri1vb0yv.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.44dak0sams9f0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.3lxpqujs87tck.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk Fallback;src:local(Arial);ascent-override:99.07%;descent-override:30.02%;line-gap-override:0.0%;size-adjust:100.94%}.hanken_grotesk_45bd6d0b-module__DFXEVW__className{font-family:Hanken Grotesk,Hanken Grotesk Fallback;font-style:normal}.hanken_grotesk_45bd6d0b-module__DFXEVW__variable{--font-body:"Hanken Grotesk", "Hanken Grotesk Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.0rgnxg2b64rzs.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.2vemzm0itqzfy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.3cb5lpr2l6xud.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1u30mmyq6lnsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.40sczeszzbjw1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.1yd4_i3e35931.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1qc6dx89jd2qv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.29yke99gs9qpn.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.1i-sca43-qwng.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_30c7ab4c-module__VCrZzq__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_30c7ab4c-module__VCrZzq__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
