@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");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}:root{--font:"Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ease:cubic-bezier(.2, .8, .2, 1);--r-xl:26px;--r-lg:20px;--r-md:14px;--r-sm:10px;--safe-top:max(env(safe-area-inset-top,0px), var(--safe-area-inset-top,0px));--safe-bottom:max(env(safe-area-inset-bottom,0px), var(--safe-area-inset-bottom,0px));--gutter:16px}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#08090b;--surface:#141518;--surface-2:#1c1d21;--surface-3:#26282d;--surface-sheet:#17181c;--hairline:#ffffff12;--hairline-strong:#ffffff21;--ink:#f4f3ee;--ink-2:#b9b8b0;--ink-3:#85847d;--accent:#3ddc97;--accent-ink:#03150d;--accent-soft:#3ddc971f;--accent-text:#5ee6aa;--critical:#d03b3b;--critical-text:#ff8a7a;--critical-soft:#d03b3b24;--good-text:#3fcf6f;--glow-1:#2ecc8f2b;--glow-2:#3987e51c;--grid:#24252a;--axis:#3a3b40;--tabbar-bg:#16171bb8;--shadow-lg:0 24px 60px #0000008c;--s-tax:#9085e9;--s-exp:#d95926;--s-sav:#3987e5;--s-left:#199e70;--c0:#3987e5;--c1:#d95926;--c2:#199e70;--c3:#c98500;--c4:#d55181;--c5:#008300;--c6:#9085e9;--c7:#e66767}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f2ee;--surface:#fff;--surface-2:#f2f1ec;--surface-3:#e7e6e0;--surface-sheet:#fff;--hairline:#0b0b0b14;--hairline-strong:#0b0b0b24;--ink:#0e0f0c;--ink-2:#52514e;--ink-3:#807f79;--accent:#0f9f6e;--accent-ink:#fff;--accent-soft:#0f9f6e1a;--accent-text:#0a7f57;--critical:#d03b3b;--critical-text:#b42318;--critical-soft:#d03b3b17;--good-text:#006300;--glow-1:#0f9f6e1f;--glow-2:#2a78d614;--grid:#ecebe5;--axis:#c9c8bf;--tabbar-bg:#ffffffc7;--shadow-lg:0 24px 60px #1e1e1429;--s-tax:#4a3aa7;--s-exp:#eb6834;--s-sav:#2a78d6;--s-left:#1baf7a;--c0:#2a78d6;--c1:#eb6834;--c2:#1baf7a;--c3:#eda100;--c4:#e87ba4;--c5:#008300;--c6:#4a3aa7;--c7:#e34948}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}html{scroll-padding-top:calc(var(--safe-top) + 16px);scroll-padding-bottom:130px}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;font-feature-settings:"ss01";font-size:15px;line-height:1.4}body:before{content:"";background:radial-gradient(55% 55% at 28% 30%, var(--glow-1), transparent 70%), radial-gradient(45% 45% at 85% 5%, var(--glow-2), transparent 70%);pointer-events:none;z-index:0;height:70vh;position:fixed;inset:-10vh -20vw auto}body:after{content:"";opacity:.045;pointer-events:none;z-index:0;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.5'/></svg>");position:fixed;inset:0}button{font:inherit;color:inherit;cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}button:disabled{cursor:default;opacity:.4}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,p{margin:0}#root{z-index:1;position:relative}.boot{min-height:100dvh}.screen{max-width:560px;padding:calc(var(--safe-top) + 14px) var(--gutter) calc(var(--safe-bottom) + 112px);margin:0 auto}.stack{flex-direction:column;gap:14px;display:flex}.stack>*{animation:rise .55s var(--ease) both}.stack>:nth-child(2){animation-delay:40ms}.stack>:nth-child(3){animation-delay:80ms}.stack>:nth-child(4){animation-delay:.12s}.stack>:nth-child(5){animation-delay:.16s}.stack>:nth-child(6){animation-delay:.2s}.stack>:nth-child(n+7){animation-delay:.24s}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.topbar{justify-content:space-between;align-items:center;min-height:44px;display:flex}.topbar-actions{align-items:center;gap:6px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand-mark{box-shadow:0 6px 18px var(--glow-1);border-radius:10px;display:block}.brand-name{letter-spacing:-.03em;font-size:19px;font-weight:650}.year-switch{background:var(--surface);border:1px solid var(--hairline);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:2px;padding:3px;font-weight:600;display:inline-flex}.year-switch span{text-align:center;min-width:42px;font-size:14px}.year-switch .icon-button{background:0 0;border:0;width:30px;height:30px}.icon-button{background:var(--surface);border:1px solid var(--hairline);width:38px;height:38px;color:var(--ink-2);border-radius:999px;place-items:center;transition:background .15s,transform .15s;display:inline-grid}.icon-button:active{background:var(--surface-2);transform:scale(.94)}.icon-button-lg{width:44px;height:44px}.screen-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:6px 2px 4px;display:flex}.screen-head h1{letter-spacing:-.035em;font-size:30px;font-weight:650;line-height:1.1}.screen-head p{color:var(--ink-3);margin-top:4px;font-size:14px}.screen-head-back{justify-content:flex-start;align-items:center}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-size:11.5px;font-weight:600}.hero{flex-direction:column;gap:10px;padding:26px 4px 6px;display:flex}.hero-value{letter-spacing:-.05em;color:var(--ink);white-space:nowrap;font-size:clamp(46px,14vw,64px);font-weight:620;line-height:.95;display:block}.hero-value-sm{font-size:clamp(38px,11vw,50px)}.hero-value.is-negative{color:var(--critical-text)}.hero-meta{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:14px;display:flex}.delta{font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:3px;padding:4px 9px 4px 7px;font-size:13px;font-weight:600;display:inline-flex}.delta.is-up{background:var(--accent-soft);color:var(--accent-text)}.delta.is-down{background:var(--critical-soft);color:var(--critical-text)}.flowbar{border-radius:999px;gap:2px;height:8px;margin-top:8px;display:flex;overflow:hidden}.flowbar.is-tall{height:12px;margin-top:12px}.flowbar span{min-width:3px;transition:flex-grow .6s var(--ease)}.flowbar .flowbar-empty{background:var(--surface-3);flex:1}.stat-value.is-negative,.readout-value.is-negative{color:var(--critical-text)}.swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px;display:inline-block}.link-button{color:var(--accent-text);align-self:flex-start;align-items:center;gap:6px;padding:8px 0;font-size:14px;font-weight:600;display:inline-flex}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-xl);padding:18px}.card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.card-title{letter-spacing:-.02em;font-size:17px;font-weight:620}.card-sub{color:var(--ink-3);margin-top:3px;font-size:13px}.card-total{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:17px;font-weight:620}.card-note{color:var(--ink-3);margin-top:12px;font-size:13px;line-height:1.5}.footnote{color:var(--ink-3);padding:4px 6px;font-size:12px;line-height:1.55}.footnote-center{text-align:center}.muted-note{color:var(--ink-3);padding:4px 0 10px;font-size:14px}.alert{border-radius:var(--r-lg);background:var(--critical-soft);border:1px solid color-mix(in srgb, var(--critical) 30%, transparent);color:var(--critical-text);align-items:center;gap:12px;padding:14px 16px;font-size:14px;line-height:1.35;display:flex}.alert span{color:var(--ink);flex:1}.empty{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:12px 8px 6px;display:flex}.empty-icon{background:var(--accent-soft);width:52px;height:52px;color:var(--accent-text);border-radius:18px;place-items:center;margin-bottom:6px;display:grid}.empty-title{font-size:16px;font-weight:620}.empty-body{color:var(--ink-3);max-width:300px;margin-bottom:10px;font-size:14px}.stats{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stat{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);flex-direction:column;gap:4px;min-width:0;padding:16px;display:flex}.stat-label{color:var(--ink-3);font-size:12.5px}.stat-value{letter-spacing:-.03em;white-space:nowrap;text-overflow:ellipsis;font-size:21px;font-weight:620;overflow:hidden}.stat-sub{color:var(--ink-2);font-size:12.5px}.legend{color:var(--ink-2);flex-wrap:wrap;gap:6px 14px;margin:-4px 0 10px;font-size:12.5px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.chart{width:100%;overflow:hidden}.chart svg{display:block;overflow:visible}.chart-grid{stroke:var(--grid);stroke-width:1px;shape-rendering:crispedges}.chart-axis{stroke:var(--axis);stroke-width:1px;shape-rendering:crispedges}.chart-tick{fill:var(--ink-3);font-variant-numeric:tabular-nums;font-size:10.5px}.chart-label{fill:var(--ink-3);font-size:10.5px}.chart-label.is-focus{fill:var(--ink);font-weight:650}.chart-col{transition:opacity .25s}.chart-col.is-dim{opacity:.32}.chart-bar{transform-box:view-box;animation:grow .8s var(--ease) both}@keyframes grow{0%{transform:scaleY(0)}}.readout{background:var(--surface-2);border-radius:var(--r-md);margin-top:14px;padding:14px}.readout-head{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.readout-title{font-weight:620}.readout-gross{font-variant-numeric:tabular-nums;font-weight:600}.readout-gross small{color:var(--ink-3);font-size:12px;font-weight:500}.readout-grid{gap:8px;display:grid}.readout-row{align-items:center;gap:8px;font-size:14px;display:flex}.readout-label{color:var(--ink-2);flex:1}.readout-value{font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-weight:560;display:inline-flex}.readout .link-button{margin-top:4px;padding-bottom:0}.meter{background:color-mix(in srgb, var(--meter-color) 18%, transparent);border-radius:999px;height:8px;overflow:hidden}.meter span{background:var(--meter-color);height:100%;transition:width .7s var(--ease);border-radius:999px;display:block}.goals{flex-direction:column;gap:18px;display:flex}.goal{flex-direction:column;gap:8px;display:flex}.goal-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.goal-name{align-items:center;gap:10px;font-weight:560;display:flex}.goal-value{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:620}.goal-value small{color:var(--ink-3);font-weight:500}.goal-sub{color:var(--ink-3);font-size:12.5px}.cbars{flex-direction:column;gap:14px;display:flex}.cbar-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;font-size:14px;display:flex}.cbar-label{color:var(--ink-2);align-items:center;gap:8px;min-width:0;display:flex}.cbar-icon{color:var(--ink-3);display:inline-grid}.cbar-value{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:560}.cbar-track{background:var(--surface-2);border-radius:999px;height:6px;overflow:hidden}.cbar-track span{height:100%;transition:width .7s var(--ease);border-radius:999px;display:block}.row-icon{background:var(--surface-2);width:36px;height:36px;color:var(--ink-2);border-radius:12px;flex-shrink:0;place-items:center;display:inline-grid}.row-icon-accent{background:var(--accent-soft);color:var(--accent-text)}.lines{flex-direction:column;margin:0 -8px;display:flex}.line-row{border-radius:var(--r-md);align-items:center;gap:12px;min-height:54px;padding:8px;transition:background .15s;display:flex}.line-row:not(.is-static):active{background:var(--surface-2)}.line-row-tall{align-items:center;min-height:60px}.line-name{flex-direction:column;flex:1;gap:4px;min-width:0;font-weight:520;display:flex}.line-name small{color:var(--ink-3);font-size:12.5px;font-weight:450}.line-name .meter{max-width:180px;height:5px}.line-amount{font-variant-numeric:tabular-nums;white-space:nowrap;flex-direction:column;align-items:flex-end;font-weight:600;display:flex}.line-amount small{color:var(--ink-3);font-size:11.5px;font-weight:500}.line-row.is-zero .line-amount,.line-row.is-zero .line-name{color:var(--ink-3)}.row-chevron{color:var(--ink-3);margin-left:-4px}.add-row{border-radius:var(--r-md);min-height:46px;color:var(--accent-text);align-items:center;gap:8px;margin-top:2px;padding:8px 10px;font-size:14px;font-weight:560;display:flex}.add-row:active{background:var(--accent-soft)}.pill-button{background:var(--accent-soft);color:var(--accent-text);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:7px 12px 7px 10px;font-size:13.5px;font-weight:600;display:inline-flex}.month-top{flex-direction:column;gap:8px;display:flex}.month-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.month-title{text-align:center}.month-title h1{letter-spacing:-.035em;font-size:26px;font-weight:650}.month-title p{color:var(--ink-3);margin-top:2px;font-size:13px}.month-hero{flex-direction:column;gap:8px;padding:18px 4px 4px;display:flex}.month-hero-sub{color:var(--ink-2);font-size:13.5px}.status-critical{color:var(--critical-text);align-items:flex-start;gap:6px;font-size:13.5px;display:flex}.status-critical svg{flex-shrink:0;margin-top:2px}.work{flex-direction:column;gap:4px;display:flex}.work-row{border-bottom:1px solid var(--hairline);align-items:center;gap:12px;padding:10px 0;display:flex}.work-row:last-of-type{border-bottom:0}.client-dot{border-radius:999px;flex-shrink:0;width:10px;height:10px}.client-dot-lg{width:12px;height:12px;margin:0 12px}.work-main{flex-direction:column;flex:1;align-items:flex-start;gap:3px;min-width:0;display:flex}.work-name{font-size:15.5px;font-weight:600}.work-sub{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:13px}.work-sub strong{color:var(--ink);font-weight:600}.work-row.is-idle .work-name{color:var(--ink-2)}.chip-row{flex-wrap:wrap;gap:8px;margin:12px 0 4px;display:flex}.chip{background:var(--surface-2);border:1px solid var(--hairline);border-radius:999px;align-items:center;padding:8px 12px;font-size:13.5px;font-weight:540;display:inline-flex}.chip:active{background:var(--surface-3)}.chip-sm{color:var(--accent-text);background:var(--accent-soft);border-color:#0000;margin-top:4px;padding:5px 10px;font-size:12.5px}.stepper{background:var(--surface-2);border:1px solid var(--hairline);border-radius:999px;align-items:center;gap:2px;padding:3px;display:inline-flex}.stepper button:not(.stepper-value){width:36px;height:36px;color:var(--ink);border-radius:999px;place-items:center;transition:background .15s,transform .12s;display:grid}.stepper button:not(.stepper-value):active{background:var(--surface-3);transform:scale(.92)}.stepper-value{text-align:center;font-variant-numeric:tabular-nums;min-width:34px;font-size:17px;font-weight:650}.fx-chip{border-radius:var(--r-md);background:var(--surface-2);color:var(--ink-2);justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding:11px 14px;font-size:13.5px;display:flex}.fx-chip strong{color:var(--ink);font-variant-numeric:tabular-nums}.fx-source{background:var(--surface-3);white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:12px}.fx-nbp{background:var(--accent-soft);color:var(--accent-text)}.fx-latest,.fx-fallback{color:var(--ink-2)}.ledger{flex-direction:column;margin:0 -8px;display:flex}.ledger-row{border-radius:var(--r-sm);justify-content:space-between;align-items:center;gap:12px;padding:9px 8px;font-size:14.5px;display:flex}.ledger-row.is-editable:active{background:var(--surface-2)}.ledger-row.is-editable .ledger-label{-webkit-text-decoration:underline dotted var(--ink-3);text-decoration:underline dotted var(--ink-3);text-underline-offset:4px}.ledger-label{color:var(--ink-2);flex-direction:column;gap:1px;display:flex}.ledger-label small{color:var(--ink-3);font-size:12px}.ledger-value{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:560}.ledger-value.is-out{color:var(--ink-2)}.ledger-row.is-total{border-top:1px solid var(--hairline-strong);border-radius:0;margin-top:6px;padding-top:13px;font-size:16px}.ledger-row.is-total .ledger-label{color:var(--ink);font-weight:620}.ledger-row.is-total .ledger-value{color:var(--accent-text);font-weight:680}.ledger-row.is-total .ledger-value.is-out{color:var(--ink)}.ledger-foot{color:var(--ink-3);justify-content:space-between;align-items:center;gap:10px;margin-top:6px;font-size:13px;display:flex}.ledger-foot .link-button{padding:4px 0;font-size:13px}.ledger-aside{border-top:1px dashed var(--hairline-strong);margin-top:14px;padding-top:10px}.ledger-aside-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.ledger-aside-head>span{color:var(--ink-2);flex-direction:column;gap:2px;font-size:14px;font-weight:600;display:flex}.ledger-aside-head small{color:var(--ink-3);font-size:12px;font-weight:450}.ledger.is-aside .ledger-value,.ledger.is-aside .ledger-label{color:var(--ink-3)}.month-total{border-radius:var(--r-xl);background:linear-gradient(135deg, var(--accent-soft), transparent 80%), var(--surface);border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;font-weight:560;display:flex}.month-total strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:680}.month-total.is-negative{background:var(--critical-soft);border-color:color-mix(in srgb, var(--critical) 30%, transparent)}.month-total.is-negative strong{color:var(--critical-text)}.table-card{padding:0;overflow:hidden}.table-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overflow-x:auto}.ytable{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;min-width:100%;font-size:13px}.ytable th,.ytable td{text-align:right;white-space:nowrap;padding:9px 10px}.ytable thead th{color:var(--ink-3);border-bottom:1px solid var(--hairline-strong);cursor:pointer;padding-top:14px;padding-bottom:10px;font-size:12px;font-weight:600;position:relative}.ytable thead th.is-now{color:var(--accent-text)}.ytable .sticky-col{z-index:1;text-overflow:ellipsis;text-align:left;min-width:118px;max-width:140px;color:var(--ink-2);background:var(--surface);box-shadow:1px 0 0 var(--hairline);font-weight:500;position:sticky;left:0;overflow:hidden}.ytable td.is-now{background:var(--accent-soft)}.ytable td.is-zero{color:var(--ink-3)}.ytable td.is-editable{cursor:pointer}.ytable td.is-editable:active{background:var(--surface-3)}.ytable .total-col{color:var(--ink);border-left:1px solid var(--hairline);padding-right:16px;font-weight:620}.ytable .row-group th{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding-top:18px;padding-bottom:6px;font-size:11px;font-weight:650}.ytable .row-subtotal th,.ytable .row-subtotal td{color:var(--ink);border-top:1px solid var(--hairline);font-weight:620}.ytable .row-grand th,.ytable .row-grand td{color:var(--ink);border-top:1px solid var(--hairline-strong);padding-top:14px;padding-bottom:14px;font-size:14px;font-weight:680}.ytable .row-muted th,.ytable .row-muted td{color:var(--ink-3);padding-bottom:14px}.ytable td.is-negative,.ytable .total-col.is-negative{color:var(--critical-text)}.sheet-root{z-index:50;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-backdrop{opacity:0;transition:opacity .26s var(--ease);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;position:absolute;inset:0}.sheet-panel{overscroll-behavior:contain;width:100%;max-width:560px;max-height:92dvh;padding:8px 20px calc(var(--safe-bottom) + 20px);background:var(--surface-sheet);border:1px solid var(--hairline);box-shadow:var(--shadow-lg);transition:transform .3s var(--ease);border-bottom:0;border-radius:28px 28px 0 0;position:relative;overflow-y:auto;transform:translateY(100%)}.sheet-root.is-open .sheet-backdrop{opacity:1}.sheet-root.is-open .sheet-panel{transform:none}.sheet-handle{background:var(--surface-3);border-radius:999px;width:38px;height:4px;margin:0 auto 10px}.sheet-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.sheet-title{letter-spacing:-.03em;font-size:21px;font-weight:650}.sheet-sub{color:var(--ink-3);margin-top:2px;font-size:14px}.sheet-body{flex-direction:column;gap:14px;display:flex}.sheet-note{color:var(--ink-3);font-size:13.5px;line-height:1.5}.sheet-actions{justify-content:space-between;gap:10px;margin-top:6px;display:flex}.sheet-actions .button-primary{min-width:120px;margin-left:auto}.amount-input{border-bottom:2px solid var(--hairline-strong);align-items:baseline;gap:10px;padding:10px 4px 12px;transition:border-color .2s;display:flex}.amount-input:focus-within{border-color:var(--accent)}.amount-input.is-invalid{border-color:var(--critical);animation:.3s shake}.amount-input input{min-width:0;color:var(--ink);font:inherit;letter-spacing:-.04em;font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;flex:1;font-size:42px;font-weight:620}.amount-input input::placeholder{color:var(--ink-3)}.amount-input span{color:var(--ink-3);font-size:20px;font-weight:560}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.field{flex-direction:column;gap:7px;display:flex}.card>.field+.field,.card>.field+.toggle-row,.card>.toggle-row+.field,.card>.toggle-row+.toggle-row{margin-top:16px}.field-label{color:var(--ink-2);font-size:13px;font-weight:560}.field-hint{color:var(--ink-3);font-size:12.5px}.input{border-radius:var(--r-md);border:1px solid var(--hairline-strong);background:var(--surface-2);width:100%;min-height:48px;color:var(--ink);font:inherit;outline:none;padding:12px 14px;font-size:16px;transition:border-color .15s,background .15s}.input:focus{border-color:var(--accent);background:var(--surface)}.input[type=date]{appearance:none}.input-affix{align-items:center;display:flex;position:relative}.input-affix .input{font-variant-numeric:tabular-nums;padding-right:110px}.input-affix span{color:var(--ink-3);pointer-events:none;font-size:14px;position:absolute;right:14px}.form-error{color:var(--critical-text);font-size:13.5px}.segmented{background:var(--surface-2);border:1px solid var(--hairline);border-radius:14px;padding:4px;display:flex;position:relative}.segmented button{z-index:1;text-align:center;min-height:40px;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;border-radius:10px;flex:1 0 auto;padding:0 10px;font-size:14px;font-weight:560;transition:color .2s;position:relative;overflow:hidden}.segmented-sm button{min-height:36px;font-size:13px}.segmented button.is-active{color:var(--ink)}.segmented-thumb{background:var(--surface);border:1px solid var(--hairline-strong);transition:transform .3s var(--ease), width .3s var(--ease);border-radius:10px;position:absolute;top:4px;bottom:4px;left:0;box-shadow:0 2px 8px #0000002e}:root[data-theme=dark] .segmented-thumb{background:var(--surface-3)}.toggle-row{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;display:flex}.toggle-text{flex-direction:column;gap:2px;font-weight:540;display:flex}.toggle-text small{color:var(--ink-3);font-size:12.5px;font-weight:450;line-height:1.4}.toggle{appearance:none;background:var(--surface-3);cursor:pointer;border-radius:999px;flex-shrink:0;width:50px;height:30px;margin:0;transition:background .2s;position:relative}.toggle:after{content:"";width:24px;height:24px;transition:transform .25s var(--ease);background:#fff;border-radius:999px;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #0000004d}.toggle:checked{background:var(--accent)}.toggle:checked:after{transform:translate(20px)}.button{border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 18px;font-size:15px;font-weight:620;transition:transform .12s,background .15s,opacity .15s;display:inline-flex}.button:active{transform:scale(.97)}.button-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 8px 22px var(--glow-1)}.button-ghost{background:var(--surface-2);border:1px solid var(--hairline);color:var(--ink)}.button-danger{color:var(--critical-text)}.button-danger-solid{background:var(--critical);color:#fff}.button-block{width:100%}.button-lg{border-radius:18px;min-height:56px;font-size:16px}.button-stack{flex-direction:column;gap:10px;display:flex}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;display:grid}.icon-choice{aspect-ratio:1;background:var(--surface-2);color:var(--ink-2);border:1px solid #0000;border-radius:12px;place-items:center;transition:background .15s,border-color .15s;display:grid}.icon-choice.is-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.fx-rows{border-radius:var(--r-md);background:var(--surface-2);flex-direction:column;display:flex;overflow:hidden}.fx-row{color:var(--ink-3);justify-content:space-between;gap:12px;padding:12px 14px;font-size:13.5px;display:flex}.fx-row+.fx-row{border-top:1px solid var(--hairline)}.fx-row strong{color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;font-weight:560}.timeline{border-left:2px solid var(--hairline-strong);flex-direction:column;gap:12px;margin:18px 0 0;padding:0 0 0 16px;list-style:none;display:flex}.timeline li{grid-template-columns:1fr auto;gap:0 10px;display:grid;position:relative}.timeline li:before{content:"";background:var(--accent);width:10px;height:10px;box-shadow:0 0 0 3px var(--surface);border-radius:999px;position:absolute;top:5px;left:-22px}.timeline-when{color:var(--ink-3);grid-column:1/-1;font-size:12.5px}.timeline-what{font-weight:560}.timeline-amount{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:13.5px}.rates-table{border-radius:var(--r-md);background:var(--surface-2);margin-top:18px;padding:12px 14px;font-size:13.5px}.rates-title{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px;font-size:11.5px;font-weight:650}.rates-table div{color:var(--ink-2);justify-content:space-between;padding:5px 0;display:flex}.rates-table strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:560}.status-scrim{z-index:45;height:var(--safe-top);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(14px);pointer-events:none;position:fixed;top:0;left:0;right:0}.tabbar{z-index:40;padding:0 var(--gutter) calc(var(--safe-bottom) + 12px);pointer-events:none;position:fixed;bottom:0;left:0;right:0}.tabbar-inner{pointer-events:auto;background:var(--tabbar-bg);border:1px solid var(--hairline-strong);max-width:460px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(22px)saturate(1.5);border-radius:26px;grid-template-columns:repeat(5,1fr);margin:0 auto;padding:6px;display:grid}.tabbar button{color:var(--ink-3);transition:color .2s, background .25s var(--ease);border-radius:20px;flex-direction:column;align-items:center;gap:2px;padding:7px 0 6px;display:flex}.tabbar button.is-active{color:var(--ink);background:var(--accent-soft)}.tabbar button.is-active .tabbar-icon{color:var(--accent-text)}.tabbar-label{letter-spacing:.01em;font-size:11px;font-weight:600}.toast{left:50%;bottom:calc(var(--safe-bottom) + 100px);z-index:60;background:var(--ink);color:var(--bg);box-shadow:var(--shadow-lg);text-align:center;width:max-content;max-width:calc(100vw - 32px);animation:toast 2.2s var(--ease) both;border-radius:999px;padding:11px 18px;font-size:14px;font-weight:600;position:fixed;transform:translate(-50%)}@keyframes toast{0%{opacity:0;transform:translate(-50%,12px)}10%,85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,6px)}}.onboard{max-width:520px;padding:calc(var(--safe-top) + 16px) var(--gutter) calc(var(--safe-bottom) + 120px);margin:0 auto}.ob-top{align-items:center;gap:14px;margin-bottom:28px;display:flex}.ob-top .brand-mark{border-radius:11px}.ob-progress{flex:1;gap:6px;display:flex}.ob-progress span{background:var(--surface-3);height:4px;transition:background .3s var(--ease);border-radius:999px;flex:1}.ob-progress span.is-done,.ob-progress span.is-current{background:var(--accent)}.ob-count{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:600}.ob-step{animation:rise .45s var(--ease) both;flex-direction:column;gap:14px;display:flex}.ob-head{flex-direction:column;gap:10px;margin-bottom:6px;display:flex}.ob-title{letter-spacing:-.04em;font-size:clamp(30px,8.6vw,38px);font-weight:650;line-height:1.05}.ob-lead{color:var(--ink-2);font-size:15.5px;line-height:1.5}.ob-section{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:8px;font-size:11.5px;font-weight:650}.ob-error{padding:0 4px}.zus-preview{border-radius:var(--r-md);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);flex-direction:column;gap:4px;margin-top:18px;padding:14px 16px;display:flex}.zus-preview strong{letter-spacing:-.02em;font-size:19px;font-weight:650}.zus-preview-amount{color:var(--ink-2);font-size:13.5px}.zus-steps{border-top:1px solid var(--hairline);color:var(--ink-3);flex-direction:column;gap:4px;margin:8px 0 0;padding:8px 0 0;font-size:13px;list-style:none;display:flex}.zus-steps li{justify-content:space-between;gap:10px;display:flex}.zus-steps li.is-now{color:var(--ink);font-weight:600}.card>.toggle-row+.zus-preview+.field,.card>.zus-preview+.field{margin-top:16px}.picks{flex-direction:column;gap:8px;display:flex}.pick{background:var(--surface);border:1px solid var(--hairline);border-radius:18px;align-items:center;gap:8px;min-height:58px;padding:7px 8px 7px 10px;transition:border-color .2s,background .2s;display:flex}.pick.is-on{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:linear-gradient(var(--accent-soft), var(--accent-soft)), var(--surface)}.pick-main{flex:1;align-items:center;gap:12px;min-width:0;min-height:44px;display:flex}.pick-check{border:1.5px solid var(--hairline-strong);border-radius:7px;flex-shrink:0;place-items:center;width:22px;height:22px;transition:background .2s,border-color .2s;display:grid}.pick.is-on .pick-check{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.pick-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:540;overflow:hidden}.pick-amount{background:var(--surface);border:1px solid var(--hairline-strong);width:118px;height:42px;animation:rise .25s var(--ease) both;border-radius:12px;flex-shrink:0;align-items:center;gap:6px;padding:0 12px;display:flex}.pick-amount:focus-within{border-color:var(--accent)}.pick-amount input{width:100%;min-width:0;color:var(--ink);font:inherit;text-align:right;font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;font-size:16px;font-weight:600}.pick-amount span{color:var(--ink-3);font-size:13px}.pick-remove{width:34px;height:34px;color:var(--ink-3);border-radius:999px;flex-shrink:0;place-items:center;display:grid}.pick-remove:active{background:var(--surface-3)}.add-own{gap:8px;display:flex}.add-own .input{flex:1;min-width:0}.add-own .button{flex-shrink:0}.ob-total{color:var(--ink-2);justify-content:space-between;align-items:baseline;padding:10px 4px 0;display:flex}.ob-total strong{letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:20px;font-weight:650}.ob-clients{flex-direction:column;gap:8px;display:flex}.ob-client{background:var(--surface);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);animation:rise .3s var(--ease) both;border-radius:18px;align-items:center;gap:12px;padding:10px 8px 10px 16px;display:flex}.ob-client-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.ob-client-rate{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.card>.field+.ob-add-client{margin-top:18px}.ob-footer{z-index:40;padding:18px var(--gutter) calc(var(--safe-bottom) + 14px);background:linear-gradient(to top, var(--bg) 62%, color-mix(in srgb, var(--bg) 0%, transparent));position:fixed;bottom:0;left:0;right:0}.ob-footer-inner{gap:10px;max-width:520px;margin:0 auto;display:flex}.ob-back{flex-shrink:0;width:56px;padding:0}.ob-next{flex:1}.crash{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width:720px){.screen-wide{max-width:1100px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}.ob-restore{color:var(--ink-2);align-self:center;font-weight:560}.stepper-value small{color:var(--ink-3);margin-left:1px;font-size:12px;font-weight:600}.check-ledger{margin-top:10px}.check-result{border-radius:var(--r-md);align-items:flex-start;gap:8px;margin:4px 8px;padding:10px 12px;font-size:13.5px;line-height:1.45;display:flex}.check-result svg{flex-shrink:0;margin-top:1px}.check-result.is-good{background:var(--accent-soft);color:var(--accent-text);font-weight:560}.check-result.is-off{background:var(--critical-soft);color:var(--ink)}.check-result.is-off svg{color:var(--critical-text)}.input-icon{color:var(--ink-3);pointer-events:none;display:grid;position:absolute;left:14px}.input-affix .input-with-icon{padding-left:42px}.input-affix .input-icon+.input+span{right:14px}.badge{background:var(--accent-soft);color:var(--accent-text);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:620}.ob-cancel{color:var(--ink-2);padding:6px 2px;font-size:13.5px;font-weight:600}.ob-spacer{flex:1}.onboard.is-intro .ob-top .brand-mark{visibility:hidden}.ob-hero{flex-direction:column;align-items:flex-start;gap:12px;margin:8px 0 10px;display:flex}.ob-hero .brand-mark{border-radius:18px;margin-bottom:6px}.ob-done-mark{background:var(--accent);width:64px;height:64px;color:var(--accent-ink);border-radius:20px;place-items:center;margin-bottom:6px;display:grid}.ob-features{flex-direction:column;gap:10px;display:flex}.ob-feature{background:var(--surface);border:1px solid var(--hairline);border-radius:18px;align-items:flex-start;gap:14px;padding:14px;display:flex}.ob-feature>span:last-child{flex-direction:column;gap:3px;display:flex}.ob-feature strong{font-size:15px;font-weight:620}.ob-feature small{color:var(--ink-2);font-size:13.5px;line-height:1.45}.ob-feature-icon,.ob-choice-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent-text);border-radius:12px;flex:none;place-items:center;display:grid}.ob-note{color:var(--ink-3);text-align:center;margin-top:4px;font-size:13.5px;line-height:1.5}.ob-optional{background:var(--surface-2);color:var(--ink-2);border-radius:999px;align-self:flex-start;padding:5px 10px;font-size:12.5px;font-weight:560}.ob-choices{flex-direction:column;gap:10px;display:flex}.ob-choice{background:var(--surface);border:1px solid var(--hairline);text-align:left;border-radius:18px;align-items:center;gap:14px;width:100%;padding:14px;transition:border-color .2s,background .2s;display:flex}.ob-choice.is-on{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:linear-gradient(var(--accent-soft), var(--accent-soft)), var(--surface)}.ob-choice.is-on .pick-check{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.ob-choice-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.ob-choice-text strong{font-size:15.5px;font-weight:620}.ob-choice-text small{color:var(--ink-2);font-size:13.5px;line-height:1.45}.ob-choice-sm{padding:10px 14px}.ob-choice-rate{font-variant-numeric:tabular-nums;letter-spacing:-.02em;flex:none;min-width:58px;font-size:18px;font-weight:650}.ob-next:disabled{opacity:.45}.view-bar{justify-content:space-between;align-items:center;gap:10px;display:flex}.view-bar .segmented{flex:0 210px}.button-pill{border-radius:999px;gap:6px;min-height:44px;padding:0 16px;font-size:14px}.chart-line{stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-dot{stroke:var(--surface);stroke-width:2px;transition:r .2s var(--ease)}.chart-series{animation:chart-fade .6s var(--ease) both}@keyframes chart-fade{0%{opacity:0}}.chart-crosshair{stroke:var(--ink-3);stroke-width:1px;stroke-dasharray:3 3;shape-rendering:crispedges}.chart-summary{margin-top:18px}.mini-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.mini-stat{border-radius:var(--r-md);border:1px solid var(--hairline);flex-direction:column;gap:3px;min-width:0;padding:10px 12px;display:flex}.mini-stat span{color:var(--ink-3);font-size:12px}.mini-stat strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:620;overflow:hidden}.export-year{color:var(--ink-2);justify-content:space-between;align-items:center;font-weight:560;display:flex}.format-options{flex-direction:column;gap:8px;display:flex}.format-option{text-align:left;border-radius:var(--r-md);background:var(--surface-2);border:1.5px solid var(--hairline);align-items:flex-start;gap:12px;padding:14px;transition:border-color .2s,background .2s;display:flex}.format-option.is-active{border-color:var(--accent);background:var(--accent-soft)}.format-icon{background:var(--surface);width:38px;height:38px;color:var(--ink-2);border-radius:12px;flex:none;place-items:center;display:grid}.format-option.is-active .format-icon{color:var(--accent-text)}.format-text{flex-direction:column;gap:3px;min-width:0;display:flex}.format-text strong{font-weight:620}.format-text small{color:var(--ink-3);font-size:13px;line-height:1.45}.export-contents{border-radius:var(--r-md);border:1px dashed var(--hairline-strong);flex-direction:column;gap:8px;margin:0;padding:12px 14px;font-size:13.5px;list-style:none;display:flex}.export-contents li{gap:10px;display:flex}.export-contents strong{flex:none;width:70px;font-weight:620}.export-contents span{color:var(--ink-2)}.term{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;text-align:inherit;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:1.5px;-webkit-text-decoration-color:color-mix(in srgb, currentColor 50%, transparent);text-decoration-color:color-mix(in srgb, currentColor 50%, transparent);text-underline-offset:3px;padding:0;display:inline}.explain-body{color:var(--ink-2);font-size:15.5px;line-height:1.6}.todos{flex-direction:column;gap:8px;display:flex}.todo{text-align:left;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--hairline);color:var(--ink-3);align-items:center;gap:12px;padding:12px;display:flex}.todo:active{transform:scale(.99)}.todo-icon{background:var(--accent-soft);width:36px;height:36px;color:var(--accent-text);border-radius:12px;flex:none;place-items:center;display:grid}.todo.is-warn .todo-icon{background:var(--critical-soft);color:var(--critical-text)}.todo-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.todo-text strong{color:var(--ink);font-size:14.5px;font-weight:600;line-height:1.35}.todo-text small{font-size:12.5px;line-height:1.4}.card.is-tappable{cursor:pointer}.card.is-tappable:active{transform:scale(.995)}.field-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field-hint-block{margin-top:-6px}.resting{color:var(--ink-3);margin:4px 0 0;font-size:13px}.resting .term{color:var(--ink-2);font-weight:560}.field-pair>*,.field-pair .input{min-width:0}.line-amount-row{flex-direction:row;align-items:center;gap:6px}.paid-mark{color:var(--accent-text)}.line-row.is-planned .line-amount{color:var(--ink-2)}.real-note{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.chip-row-tight{margin:2px 0 0}.chip-toggle{color:var(--ink-2)}.chip-toggle.is-on{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 45%, transparent);color:var(--accent-text)}.portfolio-total{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:14px;display:flex}.portfolio-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:650}.portfolio-pln{color:var(--ink-3);font-variant-numeric:tabular-nums}.portfolio-bar{margin-bottom:8px}.line-amount small.is-up{color:var(--good-text)}.line-amount small.is-down{color:var(--critical-text)}.input-ticker{text-transform:uppercase;letter-spacing:.04em;font-weight:600}.steps{counter-reset:step;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.steps li{counter-increment:step;flex-direction:column;align-items:flex-start;gap:3px;padding-left:40px;display:flex;position:relative}.steps li:before{content:counter(step);background:var(--accent-soft);width:28px;height:28px;color:var(--accent-text);border-radius:999px;place-items:center;font-size:13.5px;font-weight:650;display:grid;position:absolute;top:0;left:0}.steps strong{font-weight:620}.steps span{color:var(--ink-3);font-size:13.5px;line-height:1.45}.steps .link-button{padding:4px 0 0}.add-row.is-loan{color:var(--critical-text)}.wealth-split{grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;display:grid}.wealth-col{flex-direction:column;gap:8px;min-width:0;display:flex}.wealth-col-title{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-size:11.5px;font-weight:600}.wealth-row{color:var(--ink-2);justify-content:space-between;align-items:baseline;gap:8px;font-size:13.5px;display:flex}.wealth-row strong{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:620}.wealth-missing{text-align:left;margin-top:14px;font-size:13.5px}.wealth-note{color:var(--ink-3);margin-top:10px;font-size:12.5px}.month-picker{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--hairline);flex-direction:column;gap:8px;padding:10px;display:flex}.month-picker-head{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;font-weight:620;display:flex}.month-picker-head .icon-button{width:34px;height:34px}.month-picker-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.month-picker-grid button{text-align:center;min-height:40px;color:var(--ink-2);border-radius:10px;font-size:14px;font-weight:540;transition:background .15s,color .15s}.month-picker-grid button:active:not(:disabled){background:var(--surface-3)}.month-picker-grid button.is-active{background:var(--accent);color:var(--accent-ink);font-weight:620}.bank-list{flex-direction:column;gap:6px;max-height:300px;margin-top:-4px;display:flex;overflow-y:auto}.bank-option{text-align:left;border-radius:var(--r-md);background:var(--surface-2);border:1.5px solid var(--hairline);align-items:center;gap:12px;padding:10px 12px;font-weight:540;display:flex}.bank-option.is-active{border-color:var(--accent);background:var(--accent-soft)}.bank-option img,.bank-logo-empty{object-fit:contain;background:#fff;border-radius:8px;flex:none;width:28px;height:28px}.bank-connection{border-radius:var(--r-md);border:1px solid var(--hairline);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.bank-connection-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.bank-connection-head span{color:var(--ink-3);font-size:12.5px}.bank-connection-head span.is-warn{color:var(--critical-text)}.bank-account-row{color:var(--ink-2);justify-content:space-between;gap:10px;font-size:13.5px;display:flex}.bank-account-row small{color:var(--ink-3);white-space:nowrap}.chip-danger{color:var(--critical-text);background:var(--critical-soft)}.chevron-space{flex:none;width:16px}.group-input{margin-top:8px}.field-pair-wide{grid-template-columns:1fr auto}.ytable .row-set th,.ytable .row-set td{font-weight:600}.ytable .row-indent th{color:var(--ink-2);padding-left:26px}.hero.detail-hero{gap:8px;padding:8px 4px 4px}.detail-month{align-items:center;gap:2px;margin-left:-10px;display:flex}.sofar{flex-direction:column;gap:4px;margin:4px -10px 0;display:flex}.sofar-row{border-radius:var(--r-md);text-align:left;flex-direction:column;gap:8px;padding:10px;display:flex}.sofar-row:active{background:var(--surface-2)}.sofar-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.sofar-label{flex-direction:column;gap:2px;font-size:15px;font-weight:560;display:flex}.sofar-label small,.sofar-value small{color:var(--ink-3);font-size:12.5px;font-weight:450}.sofar-value{font-variant-numeric:tabular-nums;white-space:nowrap;grid-template-columns:auto auto;place-items:center end;column-gap:6px;font-weight:620;display:grid}.sofar-value small{grid-column:1/-1}.sofar-value .paid-mark{grid-column:1}.summary-row{align-items:center;gap:12px;display:flex}.summary-label{flex-direction:column;flex:1;gap:3px;font-size:16px;font-weight:600;display:flex}.summary-label small{color:var(--ink-3);font-size:12.5px;font-weight:450}.summary-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-end;gap:4px;font-size:19px;font-weight:620;display:flex}.summary-value .delta{padding:2px 7px 2px 5px;font-size:12px}.line-row.is-overdue .line-name small{color:var(--critical-text);align-items:center;gap:4px;display:inline-flex}.checklist{flex-direction:column;margin:0 -8px;display:flex}.check-row{border-radius:var(--r-md);align-items:center;gap:2px;display:flex}.check-main{border-radius:var(--r-md);text-align:left;flex:1;align-items:flex-start;gap:12px;min-width:0;min-height:48px;padding:12px 8px;display:flex}button.check-main:active{background:var(--surface-2)}.check-icon{color:var(--ink-3);flex:none}.check-row.is-done .check-icon{color:var(--accent-text)}.check-text{overflow-wrap:anywhere;flex-direction:column;gap:3px;padding-top:1px;font-size:15px;font-weight:520;display:flex}.check-text small{color:var(--ink-3);font-size:12.5px;font-weight:450}.check-row.is-done .check-text{color:var(--ink-3);text-decoration:line-through}.check-add{align-items:center;gap:8px;padding:6px 8px 2px;display:flex}.check-add .input{flex:1}.due-note{border-radius:var(--r-md);background:var(--surface-2);text-align:left;align-items:flex-start;gap:10px;width:100%;margin-top:12px;padding:12px;font-size:14px;font-weight:560;display:flex}.due-note svg{color:var(--ink-2);flex:none;margin-top:1px}.due-note span{flex-direction:column;gap:3px;display:flex}.due-note small{color:var(--ink-3);font-size:12.5px;font-weight:450}.terms-input{margin-top:10px}.limit-bar{flex-direction:column;gap:8px;max-width:360px;margin-top:4px;display:flex}.lines-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding:14px 10px 4px;font-size:11.5px;font-weight:600}.lines-label:first-child{padding-top:2px}.detail-month .eyebrow{text-align:center;min-width:120px}.work-ledger{margin-top:10px}.lines-label.work-income-label{padding:18px 0 2px}.card[id^=month-]{scroll-margin-top:calc(var(--safe-top) + 16px)}.card-switch{color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:14px;display:flex}.backup-note{margin:2px 0 14px}.line-amount.is-in{color:var(--accent-text)}.ledger-value-stack{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.ledger-value-stack small{color:var(--ink-3);font-size:12px;font-weight:450}.pill-pair{gap:6px;display:flex}.ledger-row.is-total.is-owed .ledger-value{color:var(--critical-text)}.vest-rows{flex-direction:column;gap:8px;display:flex}.vest-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.vest-row .input{min-width:0}.vest-row.is-vested .input{color:var(--ink-3)}.vest-actions{justify-content:space-between;align-items:center;margin:10px 0 4px;display:flex}.home-month{align-items:center;gap:4px;margin:-6px 0 2px -10px;display:flex}.home-month .eyebrow{margin:0}.home-month .icon-button{background:0 0;border-color:#0000;width:32px;height:32px}.home-month .icon-button:active{background:var(--surface-2)}.home-month .icon-button:disabled{opacity:.3}.home-month .chip{margin-left:auto}.idea-row{gap:6px;margin:-4px 0 4px}.idea-row .chip{gap:6px;padding:6px 11px;font-size:13px}.idea-row .chip.is-on{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 45%, transparent);color:var(--accent-text)}.token-input{resize:vertical;word-break:break-all;min-height:84px;padding-top:12px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;line-height:1.4}.choice-list{flex-direction:column;gap:2px;margin:4px -8px 0;display:flex}.line-row.is-chosen{background:var(--accent-soft)}.ledger-value-text{text-align:right;white-space:normal;max-width:62%;font-weight:540}.ob-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);font-size:12px;font-weight:650}.ob-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.ob-tile{background:var(--surface);border:1px solid var(--hairline);animation:rise .5s var(--ease) both;border-radius:18px;flex-direction:column;gap:6px;padding:14px;display:flex}.ob-tile .ob-feature-icon{border-radius:11px;width:36px;height:36px;margin-bottom:4px}.ob-tile strong{font-size:14.5px;font-weight:640;line-height:1.25}.ob-tile small{color:var(--ink-2);font-size:12.5px;line-height:1.45}.ob-private{background:var(--accent-soft);color:var(--ink-2);border-radius:16px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13.5px;line-height:1.45;display:flex}.ob-private svg{color:var(--accent-text);flex:none;margin-top:2px}.ob-private strong{color:var(--ink)}@media (max-width:340px){.ob-grid{grid-template-columns:1fr}}.ob-theme{background:0 0;flex:none}
