@font-face{font-family:Golos Text;font-weight:400;font-display:swap;src:url(/assets/golos-text-cyrillic-400-normal-C7us6pn1.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Golos Text;font-weight:500;font-display:swap;src:url(/assets/golos-text-cyrillic-500-normal-BSLQUuP1.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Golos Text;font-weight:600;font-display:swap;src:url(/assets/golos-text-cyrillic-600-normal-lpQ9rVRR.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Golos Text;font-weight:700;font-display:swap;src:url(/assets/golos-text-cyrillic-700-normal-BKmY45Ip.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Golos Text;font-weight:400;font-display:swap;src:url(/assets/golos-text-latin-400-normal-Coi1FYaD.woff2)format("woff2");unicode-range:U+??,U+2000-206F,U+20AC,U+20BD,U+2212}@font-face{font-family:Golos Text;font-weight:500;font-display:swap;src:url(/assets/golos-text-latin-500-normal-BznAvurO.woff2)format("woff2");unicode-range:U+??,U+2000-206F,U+20AC,U+20BD,U+2212}@font-face{font-family:Golos Text;font-weight:600;font-display:swap;src:url(/assets/golos-text-latin-600-normal-Bhk8uV1U.woff2)format("woff2");unicode-range:U+??,U+2000-206F,U+20AC,U+20BD,U+2212}@font-face{font-family:Golos Text;font-weight:700;font-display:swap;src:url(/assets/golos-text-latin-700-normal-CxmN_Nfd.woff2)format("woff2");unicode-range:U+??,U+2000-206F,U+20AC,U+20BD,U+2212}:root{--paper:#f3f5f2;--surface:#fff;--surface-2:#e9ede8;--ink:#1b2420;--ink-2:#5d6a63;--line:#d8ded8;--pine:#1e6a55;--pine-soft:#dcebe4;--on-pine:#fff;--ochre:#8f5a0e;--ochre-bar:#c98a2a;--ochre-soft:#f5e9d3;--carmine:#a8283c;--carmine-soft:#f6e0e3;--income:#1e6a55;--series-1:#2a78d6;--series-2:#d55181;--font:"Golos Text", system-ui, sans-serif;--t-xs:12px;--t-s:14px;--t-m:16px;--t-l:20px;--t-xl:28px;--t-hero:44px;--r-s:8px;--r-m:12px;--r-l:20px;--focus:0 0 0 3px color-mix(in srgb, var(--pine) 45%, transparent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#111614;--surface:#19201d;--surface-2:#222b27;--ink:#e4e9e5;--ink-2:#98a59e;--line:#2c3631;--pine:#5cb896;--pine-soft:#1b3a2f;--on-pine:#0d1f18;--ochre:#e3aa52;--ochre-bar:#d49a41;--ochre-soft:#3a2e18;--carmine:#f07a8b;--carmine-soft:#3d1f26;--income:#5cb896;--series-1:#3987e5;--series-2:#d55181;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#111614;--surface:#19201d;--surface-2:#222b27;--ink:#e4e9e5;--ink-2:#98a59e;--line:#2c3631;--pine:#5cb896;--pine-soft:#1b3a2f;--on-pine:#0d1f18;--ochre:#e3aa52;--ochre-bar:#d49a41;--ochre-soft:#3a2e18;--carmine:#f07a8b;--carmine-soft:#3d1f26;--income:#5cb896;--series-1:#3987e5;--series-2:#d55181;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{font-family:var(--font);font-size:var(--t-m);color:var(--ink);background:var(--paper);font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent;margin:0;line-height:1.45}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}:focus-visible{box-shadow:var(--focus);border-radius:var(--r-s);outline:none}.icon{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.icon.s{width:16px;height:16px}.muted{color:var(--ink-2)}.small{font-size:var(--t-xs)}.error{color:var(--carmine);font-size:var(--t-s)}.num{white-space:nowrap}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.btn{border-radius:var(--r-m);border:1px solid var(--line);background:var(--surface);min-height:44px;font-size:var(--t-s);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:500;display:inline-flex}.btn.primary{background:var(--pine);border-color:var(--pine);color:var(--on-pine)}.btn.quiet{background:0 0;border-color:#0000}.btn.small{border-radius:var(--r-s);min-height:32px;padding:0 12px}.btn.block{width:100%}.btn:disabled{opacity:.55;cursor:default}.chip{border:1px solid var(--line);background:var(--surface);min-height:36px;font-size:var(--t-s);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.chip.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.chip input{opacity:0;width:1px;height:1px;position:absolute}.chip:has(input:focus-visible){box-shadow:var(--focus)}.chips{flex-wrap:wrap;gap:8px;display:flex}label{font-size:var(--t-s);gap:6px;display:grid}input:not([type=radio],[type=checkbox]){font-size:var(--t-m);border-radius:var(--r-m);border:1px solid var(--line);background:var(--surface);min-height:48px;padding:0 14px}input:not([type=radio],[type=checkbox]):focus-visible{border-color:var(--pine)}.checks{display:grid}.check-row{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:12px;min-height:56px;display:flex}.check-row:last-child{border-bottom:0}.check-row input{width:20px;height:20px;accent-color:var(--pine);flex:none;margin:0}.check-row .grow{flex:1;min-width:0;display:grid}.check-row .title{font-size:var(--t-s);font-weight:500}.check-row .sub{font-size:var(--t-xs);color:var(--ink-2)}.quiet-hours{border:0;flex-wrap:wrap;gap:12px;margin:0;padding:0;display:flex}.quiet-hours legend{font-size:var(--t-s);margin-bottom:6px;padding:0}.quiet-hours input{width:150px}.insight-row{padding:8px 0}.insight-row .sub{white-space:normal}.badge{background:var(--carmine);color:#fff;min-width:20px;height:20px;font-size:var(--t-xs);border-radius:999px;place-items:center;padding:0 6px;font-weight:600;display:inline-grid}.sync{font-size:var(--t-xs);color:var(--ink-2);align-items:center;gap:6px;display:inline-flex}.sync .dot{background:var(--pine);border-radius:50%;flex:none;width:8px;height:8px}.sync.stale .dot{background:var(--ochre-bar)}.sync.stale{color:var(--ochre)}.sync.error .dot{background:var(--carmine)}.sync.error{color:var(--carmine)}.sync.none .dot{background:var(--ink-2);opacity:.5}a.sync{text-underline-offset:2px;text-decoration:underline}.sync-block{justify-items:start;gap:8px;display:grid}.offline{border-radius:var(--r-m);background:var(--surface-2);color:var(--ink-2);font-size:var(--t-s);align-items:center;gap:8px;margin:0 0 12px;padding:10px 12px;display:flex}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);align-content:start;gap:10px;padding:18px 20px;display:grid}.panel h2{font-size:var(--t-m);font-weight:600}.panel>.btn,.panel>.actions{justify-self:start}.panel.empty{text-align:center;justify-items:center;padding:40px 20px}.actions{flex-wrap:wrap;gap:8px;display:flex}.list{gap:0;padding-top:4px;padding-bottom:4px}.list-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:56px;display:flex}.list-row:last-child{border-bottom:0}.list-row .grow{flex:1;min-width:0}.list-row .title{font-size:var(--t-s);font-weight:500}.sig-icon{background:var(--surface-2);width:32px;height:32px;color:var(--ink-2);border-radius:10px;flex:none;place-items:center;display:grid}.callout{border-radius:var(--r-m);background:var(--surface);border:1px solid var(--line);align-items:center;gap:12px;padding:14px 16px;display:flex}.callout .grow{flex:1;min-width:0;display:grid}.callout .title{font-size:var(--t-s);font-weight:600}.callout .sub{font-size:var(--t-xs);color:var(--ink-2)}.brand{font-size:var(--t-l);letter-spacing:-.02em;align-items:baseline;gap:8px;font-weight:700;display:flex}.brand span{font-size:var(--t-xs);color:var(--ink-2);letter-spacing:0;font-weight:500}.auth{max-width:420px;padding:max(24px, env(safe-area-inset-top)) 20px 32px;gap:16px;margin:0 auto;display:grid}.auth .brand{font-size:var(--t-xl)}.status{color:var(--ink-2);font-size:var(--t-xs)}.shell{flex-direction:column;min-height:100%;display:flex}.side{display:none}.content{width:100%;max-width:560px;padding-bottom:calc(72px + env(safe-area-inset-bottom));flex:1;margin:0 auto}.appbar{padding:max(8px, env(safe-area-inset-top)) 20px 4px;justify-content:space-between;align-items:center;gap:12px;min-height:52px;display:flex}.appbar h1{font-size:var(--t-l);font-weight:600}.appbar-sync{text-align:right;min-width:0}.appbar .cash-btn{border-radius:50%;flex:none;width:44px;min-height:44px;padding:0}.cash-btn .cash-label{display:none}.appbar-sync:has(+.cash-btn){margin-left:auto}.cash-amount input{font-size:var(--t-l);font-variant-numeric:tabular-nums}.cash-amount input[aria-invalid=true]{border-color:var(--carmine)}.cash-more{gap:10px;display:grid}.tx-delete{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.screen{gap:12px;padding:4px 20px 16px;display:grid}.tabbar{z-index:10;padding:6px 4px max(8px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.tab{min-height:48px;color:var(--ink-2);justify-items:center;gap:2px;padding:6px 0;font-size:11px;display:grid}.tab.on{color:var(--pine);font-weight:600}.over{color:var(--carmine)}.fast{color:var(--ochre)}.ok{color:var(--pine)}.list-row .sub{font-size:var(--t-xs);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.list-row .title{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.list-row .amount{font-size:var(--t-s);text-align:right;white-space:nowrap;font-weight:500}.list-row>.icon{color:var(--ink-2)}.sig-icon.over{background:var(--carmine-soft);color:var(--carmine)}.sig-icon.fast{background:var(--ochre-soft);color:var(--ochre)}.sig-icon.ok{background:var(--pine-soft);color:var(--pine)}.callout>.icon{color:var(--ink-2)}.home{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.month-nav{align-items:center;gap:4px;display:flex}.month-nav h2{font-size:var(--t-l);text-align:center;flex:1;min-width:0;font-weight:600}.icon-btn{justify-content:center;min-width:44px;min-height:44px;padding:0}.home-hero{background:0 0;border:0;gap:18px;padding:0}.hero{padding:4px 0 0}.hero-label{font-size:var(--t-s);color:var(--ink-2)}.hero-sum{font-size:var(--t-hero);letter-spacing:-.02em;margin:2px 0 4px;font-weight:600;line-height:1.1}.hero-sum small{font-size:var(--t-xl);color:var(--ink-2);margin-left:4px;font-weight:500}.hero-sub{font-size:var(--t-s);color:var(--ink-2)}.hero-side{gap:12px;display:grid}.ruler-head{font-size:var(--t-s);flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.pace{border-radius:var(--r-m);background:var(--ochre-soft);color:var(--ochre);font-size:var(--t-s);align-items:center;gap:8px;padding:10px 12px;display:flex}.pace.over{background:var(--carmine-soft);color:var(--carmine)}.ruler{padding-top:4px;position:relative}.ruler-track{background:var(--surface-2);border-radius:7px;height:14px;position:relative}.ruler-fill{width:calc(var(--spent) * 100%);background:var(--pine);border-radius:7px 0 0 7px;position:absolute;inset:0 auto 0 0}.ruler-fill.fast{background:var(--ochre-bar)}.ruler-fill.over{background:var(--carmine);border-radius:7px}.ruler-proj{top:3px;bottom:3px;left:calc(var(--spent) * 100%);width:calc(max(min(var(--proj), 1) - var(--spent), 0) * 100%);background:repeating-linear-gradient(90deg, color-mix(in srgb, var(--ochre-bar) 70%, transparent) 0 4px, transparent 4px 7px);position:absolute}.ruler-today{top:-6px;bottom:-6px;left:calc(var(--today) * 100%);background:var(--ink);border-radius:1px;width:2px;margin-left:-1px;position:absolute}.ruler-days{background:repeating-linear-gradient(90deg, var(--line) 0 1px, transparent 1px calc(100% / var(--days,31)));height:6px;margin-top:6px}.ruler-legend{font-size:var(--t-xs);color:var(--ink-2);justify-content:space-between;margin-top:4px;display:flex;position:relative}.ruler-legend .today{left:calc(var(--today) * 100%);color:var(--ink);font-weight:500;position:absolute;transform:translate(-50%)}.plan-row{border-bottom:1px solid var(--line);padding:10px 0 12px}.plan-row:last-child{border-bottom:0}.plan-row .top{font-size:var(--t-s);align-items:center;gap:8px;margin-bottom:8px;display:flex}.plan-row .top .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.plan-row .top .of{color:var(--ink-2)}.bar{background:var(--surface-2);border-radius:4px;height:8px;position:relative}.bar-fill{width:min(calc(var(--v) * 100%), 100%);background:var(--pine);border-radius:4px;position:absolute;inset:0 auto 0 0}.bar-fill.fast{background:var(--ochre-bar)}.bar-fill.over{background:var(--carmine)}.bar-today{top:-3px;bottom:-3px;left:calc(var(--today) * 100%);background:var(--ink);opacity:.55;border-radius:1px;width:2px;margin-left:-1px;position:absolute}.panel h2{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.panel h2 a{font-size:var(--t-s);color:var(--pine);font-weight:500}.home-grid{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.home-col{display:contents}.home-signals{background:0 0;border:0;order:1;gap:4px;padding:12px 0 0}.home-signals h2{font-size:var(--t-s)}.home-inbox{order:2}.home-noplan{margin:0}.calc{order:3}.desk-only{display:none}.home-section,.calc{grid-template-columns:minmax(0,1fr)}.calc{gap:0;padding:12px 16px}.calc summary{cursor:pointer;font-size:var(--t-s);color:var(--ink-2);font-weight:500}.calc dl{font-size:var(--t-s);gap:6px;margin:10px 0 0;display:grid}.calc dl div{justify-content:space-between;gap:12px;display:flex}.calc dt{color:var(--ink-2)}.calc dd{margin:0}.calc .total{border-top:1px solid var(--line);padding-top:6px;font-weight:600}.calc .total dt{color:var(--ink)}.plan{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.plan-list{gap:20px;display:grid}.plan-section{display:grid}.plan-group{border-bottom:1px solid var(--line);gap:8px;padding:4px 0 14px;display:grid}.plan-group .top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.plan-group h2{font-size:var(--t-m);font-weight:600}.plan-group .top .num{font-size:var(--t-m);white-space:nowrap}.plan-group .of,.plan-row .top .of{color:var(--ink-2);font-weight:400}.plan-group .bar{border-radius:5px;height:10px}.note{font-size:var(--t-xs);color:var(--ink-2)}.plan-row .note{margin-top:6px}.plan-row .note.over{color:var(--carmine)}.plan-row .note.fast{color:var(--ochre)}.bar.empty{background:repeating-linear-gradient(90deg, var(--surface-2) 0 6px, transparent 6px 10px)}.plan-children{border-left:2px solid var(--line);font-size:var(--t-xs);gap:4px;margin:8px 0 0;padding:0 0 0 12px;list-style:none;display:grid}.plan-children .name{min-width:0;color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.plan-children .of{color:var(--ink-2)}.plan-nobudget{margin:0}.plan-skeleton{gap:12px}.plan-skeleton .skel-line{width:60%}.plan .hint{margin-top:4px}.plan-amount{border-radius:var(--r-s);min-height:32px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;margin:-6px -6px -6px 0;padding:0 6px;display:inline-flex}.plan-amount .icon{opacity:.6}.plan-amount:hover{background:var(--surface-2)}.plan-amount.edited,.plan-input.edited{color:var(--pine);font-weight:600}input.plan-input:not([type=radio]){border-radius:var(--r-s);width:112px;min-height:36px;font-size:var(--t-m);text-align:right;padding:0 10px}input.plan-input.edited{border-color:var(--pine)}input.plan-input[aria-invalid=true]{border-color:var(--carmine)}.plan-table input.plan-input:not([type=radio]){width:96px;min-height:30px;font-size:var(--t-s)}.plan-table td.plan-cell{padding-top:4px;padding-bottom:4px}.plan-children li{gap:4px;display:grid}.plan-children .line{align-items:center;gap:6px;display:flex}.plan-tools{margin:0}.write-note{font-size:var(--t-xs);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:8px;display:flex}.write-note .grow{flex:1;min-width:12em}.write-note.fast{border-radius:var(--r-m);background:var(--ochre-soft);color:var(--ochre);padding:8px 10px}.write-note.over{border-radius:var(--r-m);background:var(--carmine-soft);color:var(--carmine);padding:8px 10px}.write-note .btn{color:var(--ink)}.plan-table tr.write-row td{white-space:normal;padding-top:0}.plan-table tr.write-row .write-note{margin-top:0}.plan-draft{bottom:calc(76px + env(safe-area-inset-bottom));z-index:5;flex-wrap:wrap;position:sticky;box-shadow:0 4px 18px #0000001f}.plan-draft .grow{flex:calc(100% - 56px)}.plan-draft .actions{margin-left:auto}.toast{left:50%;bottom:calc(84px + env(safe-area-inset-bottom));z-index:20;border-radius:var(--r-m);background:var(--ink);min-width:min(320px,100% - 40px);color:var(--paper);font-size:var(--t-s);align-items:center;gap:12px;padding:10px 12px 10px 16px;display:flex;position:fixed;transform:translate(-50%)}.toast .btn{color:var(--paper)}.plan-table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:6px 8px;overflow-x:auto}.plan-table{border-collapse:collapse;width:100%;font-size:var(--t-s)}.plan-table th,.plan-table td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:10px;font-weight:400}.plan-table tbody:last-child tr:last-child>*{border-bottom:0}.plan-table thead th{font-size:var(--t-xs);color:var(--ink-2);font-weight:500}.plan-table .num{text-align:right}.plan-table .fact{background:var(--pine-soft)}.plan-table td.fact.over{color:var(--carmine);font-weight:600}.plan-table td.fact.fast{color:var(--ochre);font-weight:600}.plan-table tr.group>*{background:var(--surface-2);font-weight:600}.plan-table tr.group>.fact{background:color-mix(in srgb, var(--pine-soft) 70%, var(--surface-2))}.plan-table tr.group .note{margin-top:2px;font-weight:400;display:block}.plan-table tr.sub th{color:var(--ink-2);padding-left:28px}.plan-table td.over:not(.fact){color:var(--carmine)}.plan-table td.fast:not(.fact){color:var(--ochre)}.plan-table .progress{width:150px;min-width:120px}.mobile-only{display:grid}.skel{border-radius:var(--r-s);background:var(--surface-2);display:block}.skel-sum{width:180px;height:48px;margin:6px 0 8px}.skel-line{width:240px;height:16px}.skel-ruler{border-radius:7px;height:14px}@media (prefers-reduced-motion:no-preference){.skel{animation:1.4s ease-in-out infinite skel}}@keyframes skel{50%{opacity:.5}}.trends-page,.trends{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.trends{transition:opacity .2s}.trends.stale{opacity:.6}.trend-path{font-size:var(--t-s);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:4px;display:flex}.trend-path a{color:var(--pine)}.trend-path [aria-current]{color:var(--ink);font-weight:500}.trend-summary{gap:6px}.trend-summary h2{justify-content:flex-start;align-items:center}.trend-tag{font-size:var(--t-xs);color:var(--ink-2);background:var(--surface-2);border-radius:999px;padding:2px 8px;font-weight:500}.trend-avg{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.trend-avg .num{font-size:var(--t-xl);letter-spacing:-.01em;font-weight:600}.trend-note{font-size:var(--t-s)}.trend-rows-head{font-size:var(--t-m);margin-top:8px;font-weight:600}.trend-rows{grid-template-columns:minmax(0,1fr)}.trend-rows .list-row{color:inherit}.trend-rows .sub{white-space:normal}.trend-rows .sub .fast{color:var(--ochre)}.trend-chart-panel{grid-template-columns:minmax(0,1fr)}.trend-chart{gap:8px;min-width:0;margin:0;display:grid}.trend-months{min-width:0}.trend-readout{min-height:2.6em;font-size:var(--t-s)}.trend-plot{height:180px;margin-left:44px;position:relative}.trend-grid{left:0;right:0;bottom:calc(var(--y) * 100%);border-top:1px solid var(--line);height:0;position:absolute}.trend-grid span{color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px;position:absolute;top:-.7em;right:calc(100% + 6px)}.trend-cols{grid-template-columns:repeat(var(--n), minmax(0, 1fr));display:grid;position:absolute;inset:0}.trend-col{cursor:pointer;border-radius:var(--r-s) var(--r-s) 0 0;background:0 0;border:0;height:100%;padding:0;display:block;position:relative}.trend-col:hover,.trend-col.on{background:color-mix(in srgb, var(--surface-2) 70%, transparent)}.trend-col:focus-visible{box-shadow:var(--focus);outline:none}.trend-bar{width:min(24px,60%);height:calc(var(--h) * 100%);background:var(--series-1);border-radius:4px 4px 0 0;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.trend-bar.partial{opacity:.4}.trend-col.on .trend-bar{filter:brightness(1.08)}.trend-none{background:repeating-linear-gradient(90deg, var(--ink-2) 0 3px, transparent 3px 6px);opacity:.5;border-radius:2px;width:min(24px,60%);height:3px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.trend-dot{left:50%;bottom:calc(var(--y) * 100%);background:var(--series-2);width:8px;height:8px;box-shadow:0 0 0 2px var(--surface);pointer-events:none;z-index:2;border-radius:50%;margin:0 0 -4px -4px;position:absolute}.trend-line{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.trend-line polyline{fill:none;stroke:var(--series-2);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.trend-xs{grid-template-columns:repeat(var(--n), minmax(0, 1fr));color:var(--ink-2);text-align:center;margin-left:44px;font-size:11px;display:grid}.trend-xs span{display:grid}.trend-xs b{font-weight:inherit}.trend-xs .on{color:var(--ink);font-weight:600}@media (width<=1023px){.trend-xs.dense .odd:not(.on) b{visibility:hidden}}.trend-xs small{min-height:1.2em;font-size:10px}.trend-legend{font-size:var(--t-xs);color:var(--ink-2);flex-wrap:wrap;gap:6px 16px;display:flex}.trend-legend span{align-items:center;gap:6px;display:inline-flex}.trend-legend .key{flex:none;display:inline-block}.trend-legend .key.bar{background:var(--series-1);border-radius:3px 3px 0 0;width:10px;height:12px}.trend-legend .key.bar.partial{opacity:.4}.trend-legend .key.none{background:repeating-linear-gradient(90deg, var(--ink-2) 0 3px, transparent 3px 6px);opacity:.5;border-radius:2px;width:12px;height:3px}.trend-legend .key.line{background:var(--series-2);border-radius:1px;width:16px;height:2px}.trend-months summary{cursor:pointer;font-size:var(--t-s);color:var(--ink-2);font-weight:500}.trend-months .plan-table-wrap{border:0;margin-top:10px;padding:0}.trend-months .plan-table th[scope=row]{font-weight:400}.trend-table th[scope=row] a{color:var(--ink)}.trend-table th[scope=row] a:hover{color:var(--pine)}.trend-table{font-size:13px}.trend-table th,.trend-table td{padding:10px 6px}.rec{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.rec-list{grid-template-columns:minmax(0,1fr)}.rec-list .list-row{color:inherit;padding:6px 0}.rec-list .sub.fast,.rec-table td.fast,.trend-note.fast{color:var(--ochre)}.rec-amounts{flex:none;justify-items:end;gap:2px;display:grid}.rec-table{font-size:13px}.rec-table th,.rec-table td{padding:10px 6px}.rec-table th[scope=row],.rec-table td.wrap{white-space:normal;overflow-wrap:anywhere}.rec-table th[scope=row]{min-width:140px;font-weight:500}.rec-table th[scope=row] a{color:var(--ink)}.rec-table th[scope=row] a:hover{color:var(--pine)}.rec-table .trend-tag{margin-left:8px}.rec-how p{margin:10px 0 0}.ind{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.ind-panel h2{align-items:center}.ind-panel{grid-template-columns:minmax(0,1fr)}.ind-money .list-row{padding:6px 0}.ind-money .list-row .title,.ind-money .list-row .sub{white-space:normal}.ind-panel .month-nav{justify-self:stretch}.ind-title{font-size:var(--t-s);font-weight:600}.ind-sub{font-size:var(--t-s);color:var(--ink-2);margin-top:4px;font-weight:600}.ind-split{gap:12px;display:grid}.ind-row{gap:6px;display:grid}.ind-row-head{font-size:var(--t-s);justify-content:space-between;align-items:baseline;gap:12px;display:flex}.ind-row-head .title{font-weight:500}.ind-row-head .amount{white-space:nowrap;text-align:right}.ind-share .num{color:var(--ink);font-weight:500}.ind-share .num.fast{color:var(--ochre)}.ind-share .num.over{color:var(--carmine)}.ind-categories .list-row{padding:6px 0}.ind-categories .list-row .sub{white-space:normal}.ind-form{gap:14px;display:grid}.ind-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.ind-field{font-size:var(--t-xs);color:var(--ink-2);gap:4px;display:grid}.ind-field input{border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;font-size:var(--t-m);padding:0 12px}.ind-form fieldset{border:0;margin:0;padding:0}.ind-actions{justify-content:space-between;gap:12px;display:flex}@media (width>=1024px){.ind{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.ind-categories{grid-column:1/-1}}.goals{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.goals-top{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.goals-top .grow{flex:1;min-width:0}.goal{grid-template-columns:minmax(0,1fr)}.goal-head{align-items:flex-start;gap:8px;display:flex}.goal-head .grow{flex:1;gap:2px;min-width:0;display:grid}.goal-head h2{overflow-wrap:anywhere}.goal-order{flex:none;gap:4px;display:flex}.goal-progress{font-size:var(--t-m);font-weight:600}.goal-actions{flex-wrap:wrap;gap:8px;display:flex}.goal-history summary{cursor:pointer;font-size:var(--t-s);color:var(--ink-2)}.goal-history .list-row{min-height:44px}@media (width>=1024px){.goals{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.goals-top,.goals>.muted,.goals>.empty,.goals>.hint,.goals>.error{grid-column:1/-1}}.tx{gap:12px;display:grid}.tx-filters{gap:10px;display:grid}.tx-search,.sheet-search{display:block;position:relative}.tx-search .icon,.sheet-search .icon{color:var(--ink-2);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.tx-search input,.sheet-search input{width:100%;padding-left:40px}.tx-chips{scrollbar-width:none;flex-wrap:nowrap;margin:0 -20px;padding:0 20px 2px;overflow-x:auto}select.chip{appearance:none;font:inherit;font-size:var(--t-s);color:inherit;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 16px) 52%,calc(100% - 11px) 52%;background-repeat:no-repeat;background-size:5px 5px;padding-right:30px}select.chip:not(.on){background-color:var(--surface)}select.chip:focus-visible,button.chip:focus-visible{box-shadow:var(--focus);outline:none}.tx-list{position:relative}.tx-day,.tx-item{width:100%;position:absolute;top:0;left:0}.tx-day{font-size:var(--t-s);color:var(--ink-2);justify-content:space-between;gap:12px;padding:14px 0 6px;display:flex}.tx-row{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;width:100%;min-height:64px;padding:8px 0;display:flex}.tx-row:focus-visible{box-shadow:var(--focus);border-radius:var(--r-s);outline:none}.tx-main{flex:1;gap:2px;min-width:0;display:grid}.tx-main .title{font-size:var(--t-m);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.tx-main .sub{font-size:var(--t-s);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tx-main .sub .fast,.tx-cat.fast{color:var(--ochre)}.tx-amount{white-space:nowrap;justify-items:end;gap:2px;display:grid}.tx-amount .amount{font-size:var(--t-m);font-weight:600}.tx-amount .amount.ok{color:var(--pine)}.tx-amount .amount.transfer{color:var(--ink-2);font-weight:500}.tx-amount .sub{font-size:var(--t-xs);color:var(--ink-2)}.tx-write{color:var(--ink-2);display:inline-flex}.tx-write.over{color:var(--carmine)}.desk-cell{display:none}.tx-line.sel{background:var(--pine-soft)}.tx-check input{width:18px;height:18px;accent-color:var(--pine);cursor:pointer;margin:0}.selbar{z-index:4;border-radius:var(--r-m);background:var(--ink);color:var(--paper);font-size:var(--t-s);align-items:center;gap:10px;margin-bottom:12px;padding:8px 8px 8px 16px;display:flex;position:sticky;top:8px}.selbar .grow{flex:1}.selbar b{font-variant-numeric:tabular-nums;font-weight:600}.selbar .btn{color:var(--paper);border-color:color-mix(in srgb, var(--paper) 30%, transparent);background:0 0;min-height:34px}.selbar .btn.primary{background:var(--paper);color:var(--ink);border-color:var(--paper)}.tx-hint{margin-top:12px}.similar{border-radius:var(--r-m);background:var(--surface-2);font-size:var(--t-s);align-items:flex-start;gap:12px;padding:12px;display:flex}.similar b{font-weight:600}.toggle{background:var(--line);cursor:pointer;border:0;border-radius:12px;flex:none;width:40px;height:24px;margin-top:2px;padding:0;position:relative}.toggle:after{content:"";background:var(--surface);border-radius:50%;width:18px;height:18px;transition:left .15s;position:absolute;top:3px;left:3px}.toggle[aria-checked=true]{background:var(--pine)}.toggle[aria-checked=true]:after{background:var(--on-pine);left:19px}.toggle:focus-visible{box-shadow:var(--focus);outline:none}.sheet-actions{z-index:1;background:var(--surface);grid-template-columns:1fr 1.4fr;gap:10px;padding:10px 0;display:grid;position:sticky;bottom:0}.cat-tile.on{border-color:var(--pine);background:var(--pine-soft);color:var(--pine)}.tx-head{display:none}.tx-more{text-align:center;padding:12px 0}.sheet{background:var(--surface);width:100%;max-width:560px;max-height:88vh;color:var(--ink);border:0;border-radius:24px 24px 0 0;margin:auto auto 0;padding:0}.sheet::backdrop{background:#00000059}.sheet-body{padding:10px 20px max(20px, env(safe-area-inset-bottom));gap:14px;display:grid}.sheet-handle{background:var(--line);border-radius:2px;justify-self:center;width:40px;height:4px}.sheet-head{align-items:flex-start;gap:8px;display:flex}.sheet-head .grow{flex:1;gap:4px;min-width:0;display:grid}.sheet-head h2{font-size:var(--t-l);font-weight:600}.cat-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.cat-tile{border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);text-align:left;min-height:52px;font-size:var(--t-s);cursor:pointer;align-items:center;gap:10px;padding:8px 12px;font-weight:500;display:flex}.cat-tile:hover{border-color:var(--pine)}.cat-list{border-top:1px solid var(--line);max-height:40vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.cat-row{border:0;border-bottom:1px solid var(--line);text-align:left;width:100%;min-height:44px;font-size:var(--t-s);cursor:pointer;background:0 0;align-items:center;gap:8px;padding:0 4px;display:flex}.cat-row.child{color:var(--ink-2);padding-left:24px}.cat-row[aria-current=true]{color:var(--pine);font-weight:600}.cat-row .grow{flex:1;min-width:0}.cat-tile:disabled,.cat-row:disabled{opacity:.55;cursor:default}.sheet-more{justify-self:start}.tx-card{gap:12px;display:grid}.tx-back{justify-self:start;margin-left:-8px}.tx-card-title{font-size:var(--t-l)}.tx-card-sum{font-size:var(--t-xl);letter-spacing:-.01em;font-weight:600}.tx-card-sum.ok{color:var(--pine)}.tx-facts{font-size:var(--t-s);gap:8px;margin:4px 0 0;display:grid}.tx-facts div{justify-content:space-between;gap:16px;display:flex}.tx-facts dt{color:var(--ink-2)}.tx-facts dd{text-align:right;overflow-wrap:anywhere;min-width:0;margin:0}.tx-facts dd.fast{color:var(--ochre)}.tx-card .panel>.btn.primary{justify-self:stretch}.btn.danger{border-color:var(--carmine);color:var(--carmine)}.connect{gap:12px;display:grid}.steps{counter-reset:step;margin:4px 0 0;padding:0;list-style:none;display:grid}.step{gap:6px;padding:0 0 20px 44px;display:grid;position:relative}.step:before{counter-increment:step;content:counter(step);z-index:1;border:1.5px solid var(--line);width:28px;height:28px;font-size:var(--t-s);background:var(--paper);border-radius:50%;place-items:center;font-weight:600;display:grid;position:absolute;top:0;left:0}.step.done:before{content:"";background:var(--pine) center / 16px no-repeat;border-color:var(--pine);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}.step:not(:last-child):after{content:"";background:var(--line);width:1.5px;position:absolute;top:30px;bottom:2px;left:13.5px}.step h3{font-size:var(--t-m);font-weight:600;line-height:28px}.step>p:not(.error){font-size:var(--t-s);color:var(--ink-2)}.step>.btn{justify-self:start}.token-form{gap:10px;display:grid}.token-form .btn{justify-self:start}.step>.token-tail{border-radius:var(--r-m);border:1.5px solid var(--pine);background:var(--surface);letter-spacing:.08em;min-height:48px;color:var(--ink-2);font-size:var(--t-m);align-items:center;padding:0 14px;display:flex}.hint{font-size:var(--t-xs);color:var(--ink-2);align-items:flex-start;gap:6px;display:flex}.hint.center{justify-content:center}.connect-result{border-radius:var(--r-m);background:var(--pine-soft);font-size:var(--t-s);gap:4px;padding:14px;display:grid}.connect-result b{color:var(--pine);align-items:center;gap:6px;display:flex}.chat{flex-direction:column;min-height:0;display:flex}.chat-page{min-height:calc(100dvh - 150px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.chat-tools{justify-content:flex-end;align-items:center;gap:4px;display:flex}.chat-body{flex-direction:column;flex:1;gap:14px;padding:8px 0;display:flex}.chat-log{flex-direction:column;gap:14px;display:flex}.chat-empty{font-size:var(--t-s)}.msg-user{background:var(--ink);max-width:82%;color:var(--paper);font-size:var(--t-s);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px 16px 4px;align-self:flex-end;padding:10px 14px}.msg-bot{font-size:var(--t-s);overflow-wrap:anywhere;max-width:100%;line-height:1.5}.msg-bot>*+*{margin-top:8px}.msg-bot h3{font-size:var(--t-s);font-weight:600}.msg-bot ul,.msg-bot ol{gap:2px;padding-left:20px;display:grid}.msg-bot strong{font-variant-numeric:tabular-nums;font-weight:600}.chat-changeset{border:1px solid var(--line);border-radius:var(--r-m);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;display:flex}.changeset{border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);font-size:var(--t-s);line-height:1.4;overflow:hidden}.msg-bot>.changeset,.msg-bot>.cs-compact{margin-top:12px}.changeset-head{border-bottom:1px solid var(--line);padding:14px 16px 12px}.changeset-head .kind{font-size:var(--t-xs);color:var(--ink-2);align-items:center;gap:6px;display:flex}.changeset-head .kind span:first-of-type{flex:1;min-width:0}.changeset-head .what{font-size:var(--t-m);font-variant-numeric:tabular-nums;margin-top:4px;font-weight:600}.changeset-head .scope{font-size:var(--t-s);color:var(--ink-2);margin-top:2px}.cs-status{background:var(--surface-2);color:var(--ink);font-size:var(--t-xs);border-radius:999px;padding:1px 8px}.cs-rows{margin:0;padding:0;list-style:none}.cs-row{border-bottom:1px solid var(--line)}.cs-line{align-items:center;gap:10px;padding:10px 16px;display:flex}.cs-line .grow{flex:1;min-width:0;display:grid}.cs-line .title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cs-line .from{font-size:var(--t-xs);color:var(--ink-2)}.cs-line .num,.cs-items .num{white-space:nowrap;font-variant-numeric:tabular-nums}.cs-line .btn{margin:-6px -8px -6px 0;padding:0 8px}.cs-line .btn[aria-expanded=true] .icon{transform:rotate(180deg)}.cs-row.off .title,.cs-row.off .num{color:var(--ink-2)}.cs-check{width:20px;height:20px;accent-color:var(--pine);flex:none;margin:0}.cs-state{width:20px;height:20px;color:var(--ink-2);flex:none;place-items:center;display:grid}.cs-state.ok{color:var(--pine)}.cs-state.warn{color:var(--ochre)}.cs-items{font-size:var(--t-xs);color:var(--ink-2);gap:2px;margin:0;padding:0 16px 8px 46px;list-style:none;display:grid}.cs-items li{align-items:center;gap:10px;min-height:32px;display:flex}.cs-items .grow{flex:1}.cs-items .cs-check{width:18px;height:18px}.cs-more{margin:6px 10px 0}.changeset-note{font-size:var(--t-xs);color:var(--ink-2);align-items:center;gap:6px;padding:10px 16px 0;display:flex}.changeset-note.warn{color:var(--ochre)}.changeset-foot{grid-template-columns:1fr 1.4fr;gap:10px;padding:12px 16px 14px;display:grid}.changeset-foot.single{grid-template-columns:auto;justify-content:start}.cs-confirm{font-size:var(--t-xs);color:var(--ink-2);gap:6px;padding:10px 16px 0;display:grid}.cs-confirm input{border:1px solid var(--line);border-radius:var(--r-s);background:var(--paper);min-height:40px;color:var(--ink);font:inherit;font-size:var(--t-s);padding:0 12px}.cs-compact{gap:2px;display:grid}.cs-compact .changeset-note{padding:0 0 0 22px}.applied{font-size:var(--t-s);color:var(--pine);flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.applied .grow{flex:1;min-width:12em}.applied .cs-actions{gap:12px;margin-left:auto;display:flex}.applied.undone,.applied.closed{color:var(--ink-2)}.applied a,.applied .link{color:var(--ink);font-weight:500;text-decoration:underline}.applied .link{font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.applied .link:disabled{opacity:.55;cursor:default}.changesets ul{margin:0;padding:0;list-style:none}.changesets .list-row{color:inherit;text-decoration:none}.changeset-page{gap:12px;max-width:640px;display:grid}.changeset-page>.btn{justify-self:start}.msg-bot code{background:var(--surface-2);border-radius:4px;padding:1px 4px;font-size:.92em}.msg-bot hr{border:0;border-top:1px solid var(--line)}.msg-bot.failed{color:var(--carmine);gap:8px;display:flex}.msg-wait{color:var(--ink-2)}.chat-table{overflow-x:auto}.chat-table table{border-collapse:collapse;font-size:var(--t-xs);min-width:100%}.chat-table th,.chat-table td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:6px 8px}.chat-table th{color:var(--ink-2);font-weight:500}.chat-table .num{text-align:right;font-variant-numeric:tabular-nums}.chat-note{font-size:var(--t-xs);color:var(--ink-2);padding:0 4px 8px}.chat-note.error{color:var(--carmine)}.suggests{flex-wrap:wrap;gap:8px;padding-bottom:10px;display:flex}.suggests .chip{white-space:normal;text-align:left}.composer{bottom:calc(72px + env(safe-area-inset-bottom));background:var(--surface);border:1px solid var(--line);border-radius:24px;align-items:flex-end;gap:8px;padding:6px 6px 6px 16px;display:flex;position:sticky}.composer textarea{min-height:36px;max-height:160px;color:inherit;font:inherit;font-size:var(--t-s);resize:none;field-sizing:content;background:0 0;border:0;outline:none;flex:1;padding:8px 0}.composer:focus-within{box-shadow:var(--focus)}.composer textarea:focus-visible{box-shadow:none}.composer .send{background:var(--pine);width:36px;height:36px;color:var(--on-pine);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.composer .send:disabled{opacity:.45;cursor:default}.ctx-card{border-radius:var(--r-m);background:var(--surface-2);font-size:var(--t-xs);color:var(--ink-2);align-items:center;gap:10px;padding:10px 12px;display:flex}.ctx-card b{color:var(--ink);font-weight:600}.chat-history{position:relative}.chat-history summary{cursor:pointer;align-items:center;gap:6px;list-style:none;display:inline-flex}.chat-history summary::-webkit-details-marker{display:none}.chat-history ul{z-index:30;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);width:min(320px,80vw);max-height:360px;padding:6px;list-style:none;position:absolute;top:calc(100% + 4px);right:0;overflow:auto;box-shadow:0 8px 24px #0000001f}.chat-history li button{border-radius:var(--r-s);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:8px 10px;display:grid}.chat-history li button:hover,.chat-history li button[aria-current]{background:var(--surface-2)}.chat-history .title{font-size:var(--t-s);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-history .sub{font-size:var(--t-xs);color:var(--ink-2)}.chat-toggle{display:none}@media (width>=1024px){.appbar .cash-btn{border-radius:var(--r-s);width:auto;min-height:32px;padding:0 12px}.cash-btn .cash-label{display:inline}.chat-toggle{display:inline-flex}.chat-page{min-height:calc(100vh - 120px)}.chat-page .composer{bottom:16px}.chatpane{z-index:20;border-left:1px solid var(--line);background:var(--surface);flex-direction:column;width:380px;height:100vh;display:flex;position:fixed;top:0;right:0;box-shadow:-8px 0 24px #00000014}.chatpane .chat{flex:1}.chatpane-head{border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:16px 14px 12px 18px;display:flex}.chatpane-head h2{font-size:var(--t-m);flex:1;margin-left:4px;font-weight:600}.chatpane .chat-body{padding:14px 18px;overflow-y:auto}.chatpane .chat-note,.chatpane .suggests{padding-left:14px;padding-right:14px}.chatpane .composer{margin:0 14px 14px;position:static}.shell{grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.tabbar,.appbar-sync{display:none}.side{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;gap:2px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.side .brand{padding:0 10px 18px}.side-nav{gap:2px;display:grid}.nav{border-radius:var(--r-s);height:40px;font-size:var(--t-s);color:var(--ink-2);align-items:center;gap:10px;padding:0 10px;display:flex}.nav:hover{background:var(--surface-2)}.nav.on{background:var(--pine-soft);color:var(--ink);font-weight:600}.nav.on .icon{color:var(--pine)}.nav-sep{background:var(--line);height:1px;margin:10px 4px}.side-foot{border-top:1px solid var(--line);margin-top:auto;padding:12px 10px 0}.content{max-width:1120px;margin:0;padding:22px 32px 32px}.appbar{min-height:0;padding:0 0 18px}.appbar h1{font-size:var(--t-xl);letter-spacing:-.01em}.screen{gap:16px;padding:0}.connect{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);justify-self:center;width:100%;max-width:560px;padding:24px}.connect>.panel{background:0 0;border:0;padding:0}.connect>.panel+.panel{border-top:1px solid var(--line);border-radius:0;padding-top:16px}.home{gap:16px}.month-nav{justify-content:flex-start}.month-nav h2{min-width:180px;font-size:var(--t-l);flex:none}.home-hero{background:var(--surface);border:1px solid var(--line);grid-template-columns:300px 1fr;align-items:end;gap:40px;padding:22px 26px 24px;display:grid}.home-hero .hero-sum{font-size:56px}.home-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:16px}.home-signals,.home-inbox,.calc{order:0}.home-col{align-content:start;gap:16px;display:grid}.home-signals{background:var(--surface);border:1px solid var(--line);gap:10px;padding:18px 20px}.home-signals h2{font-size:var(--t-m)}.desk-only{display:grid}.mobile-only{display:none}.plan{gap:16px}.plan-table-wrap.desk-only{display:block}.plan-draft{flex-wrap:nowrap;bottom:16px}.plan-draft .grow{flex:auto}.toast{bottom:24px}.tx-chips{flex-wrap:wrap;margin:0;padding:0;overflow:visible}.tx-filters{grid-template-columns:minmax(240px,360px) 1fr;align-items:center}.tx-table{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:0 16px 4px}.tx-head,.tx-row{grid-template-columns:32px minmax(0,1.8fr) minmax(0,1.2fr) minmax(0,1fr) 128px;align-items:center;gap:12px;display:grid}.tx-head{grid-template-columns:28px 32px minmax(0,1.8fr) minmax(0,1.2fr) minmax(0,1fr) 128px}.tx-line{grid-template-columns:28px minmax(0,1fr);align-items:center;gap:12px;display:grid}.tx-check{justify-content:center}.tx-head{border-bottom:1px solid var(--line);font-size:var(--t-xs);color:var(--ink-2);padding:12px 0 10px;font-weight:500}.tx-head .num{text-align:right}.tx-row{min-height:44px;font-size:var(--t-s);padding:6px 0}.tx-row:hover{background:var(--surface-2)}.tx-row .sig-icon{width:28px;height:28px}.desk-cell{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;display:inline-flex;overflow:hidden}.tx-comment.desk-cell{color:var(--ink-2);font-weight:400;display:inline}.tx-account{color:var(--ink-2)}.tx-main .title{font-size:var(--t-s)}.tx-main .sub{display:none}.tx-amount .amount{font-size:var(--t-s)}.tx-day{font-size:var(--t-xs);border-bottom:1px solid var(--line);padding:12px 0 6px}.sheet{border-radius:var(--r-l);max-height:80vh;margin:auto}.sheet-handle{display:none}.sheet-body{padding:20px 24px 24px}.cat-grid{grid-template-columns:repeat(3,1fr)}.tx-card{max-width:560px}.trends-page,.trends,.rec{gap:16px}.trend-plot{height:240px}.trend-rows-head{margin-top:4px}}.rules ul,.rule-page{margin:0;padding:0;list-style:none}.rule-page{align-content:start;gap:12px;max-width:720px;display:grid}.rule-page>.btn{justify-self:start}.rules-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.rules-head .grow{flex:1;min-width:200px}.rules{grid-template-columns:minmax(0,1fr)}.rule-row{gap:10px;padding:8px 0}.rule-row .title,.rule-row .sub{white-space:normal;overflow-wrap:anywhere}.rule-row>a{min-width:0;color:inherit;text-decoration:none;display:block}.rule-row.off .title{color:var(--ink-2)}.rule-order{gap:2px;display:flex}.rule-order .up .icon{transform:rotate(180deg)}.rule-form h3{font-size:var(--t-s);margin-top:4px;font-weight:600}.rule-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}.rule-grid label{min-width:0}.rule-grid input,.rule-grid select.chip{width:100%;min-width:0;min-height:40px}.changeset-foot .btn.wrap{white-space:normal;line-height:1.25}.rule-form .changeset-foot{flex-wrap:wrap;justify-content:flex-end;padding:4px 0 0;display:flex}.rule-preview{font-size:var(--t-s);gap:4px;display:grid}.rule-preview .cs-items{padding:0}.cs-rule{gap:4px;padding:0 16px;display:grid}.cs-rule .changeset-note a{margin-left:6px}.nav .badge{margin-left:auto}.inbox{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.inbox-head{flex-wrap:wrap;align-items:center;gap:8px 12px;min-height:32px;display:flex}.inbox-head .btn{min-height:32px}.inbox-head .spacer{flex:1}.inbox-progress{gap:4px;display:flex}.inbox-progress i{background:var(--surface-2);border-radius:2px;flex:1;height:4px}.inbox-progress i.done{background:var(--pine)}.inbox-stack{margin:2px 4px 8px;display:grid;position:relative}.inbox-card{border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);touch-action:pan-y;-webkit-user-select:none;user-select:none;flex-direction:column;grid-area:1/1;min-width:0;padding:22px 20px;display:flex;position:relative}.inbox-stack .inbox-card{padding:14px 16px}.inbox-stack .inbox-raw,.inbox-stack .inbox-merchant{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.inbox-card.behind{opacity:.6;transform:translateY(8px)scale(.95)}.inbox-card.dragging{cursor:grabbing;box-shadow:0 10px 30px #00000024}.swipe-hint{border:2px solid var(--pine);color:var(--pine);font-size:var(--t-s);border-radius:999px;padding:4px 10px;font-weight:700;position:absolute;top:18px;right:18px;transform:rotate(-6deg)}.inbox-meta{font-size:var(--t-s);color:var(--ink-2)}.inbox-amount{font-size:var(--t-xl);margin:6px 0 0;font-weight:600;line-height:1.15}.inbox-merchant{font-size:var(--t-l);overflow-wrap:anywhere;font-weight:600}.inbox-raw{border-radius:var(--r-s);background:var(--surface-2);font-size:var(--t-xs);color:var(--ink-2);overflow-wrap:anywhere;margin-top:8px;padding:6px 10px}.inbox-facts{font-size:var(--t-s);color:var(--ink-2);gap:4px;margin-top:10px;display:grid}.inbox-facts span{align-items:center;gap:8px;display:flex}.inbox-suggest{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.inbox-suggest .cat{font-size:var(--t-m);align-items:center;gap:8px;margin-top:4px;font-weight:600;display:flex}.inbox-actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.inbox-more{flex-wrap:wrap;justify-content:center;gap:4px 8px;display:flex}.inbox-more .btn{min-height:32px}.inbox-remember{align-items:center;padding:8px 12px}.inbox-remember .note{display:none}.inbox-quick{gap:8px}.inbox-quick .cat-tile{min-height:40px;padding:4px 10px}.inbox-quick .sig-icon{border-radius:7px;width:24px;height:24px}.inbox-hint{justify-content:center}.panel.inbox-done{text-align:center;justify-items:center;gap:10px;padding:32px 20px;display:grid}.panel.inbox-done>.icon{width:32px;height:32px;color:var(--pine)}.panel.inbox-done h2{font-size:var(--t-l);font-weight:600}.inbox-list{margin:0;padding:8px;list-style:none;overflow:auto}.inbox-list .list-row{border-radius:var(--r-s);width:100%;min-height:52px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:10px 12px}.inbox-list .list-row:hover{background:var(--surface-2)}.inbox-list .list-row.cur{background:var(--pine-soft)}.inbox-detail{flex-direction:column;gap:4px;min-width:0;padding:28px 32px;display:flex}.inbox-detail .inbox-amount{margin-top:18px}.inbox-detail .inbox-raw{margin-top:12px;padding:10px 12px}.inbox-detail .inbox-facts{margin-top:16px}.inbox-detail .inbox-amount{font-size:44px}.inbox-detail .inbox-merchant{font-size:var(--t-xl)}.inbox-detail .inbox-raw{max-width:420px}.inbox-detail .inbox-suggest{margin-top:20px}.inbox-detail .inbox-remember{align-items:flex-start;max-width:560px;margin-top:16px;padding:12px}.inbox-detail .inbox-remember .note{display:block}.cat-keys{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:12px;display:grid}.cat-pick{border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);min-height:44px;color:inherit;font:inherit;font-size:var(--t-s);text-align:left;cursor:pointer;align-items:center;gap:8px;padding:0 12px;line-height:1.2;display:flex}.cat-pick:hover{border-color:var(--pine)}.cat-pick.on{border-color:var(--pine);background:var(--pine-soft);font-weight:600}.cat-pick:disabled{opacity:.55;cursor:default}.kbd{border:1px solid var(--line);background:var(--surface);min-width:22px;height:22px;color:var(--ink-2);font-size:var(--t-xs);border-bottom-width:2px;border-radius:5px;place-items:center;margin-left:auto;padding:0 5px;font-weight:500;display:inline-grid}.btn .kbd{margin-left:6px}.btn.primary .kbd{border-color:color-mix(in srgb, var(--on-pine) 40%, transparent);color:var(--on-pine);background:0 0}.inbox-buttons{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.inbox-buttons .btn.primary{min-width:180px}@media (width>=1024px){.inbox-desk{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.inbox-list{max-height:calc(100vh - 170px);position:sticky;top:16px}}@media (prefers-reduced-motion:no-preference){.inbox-card:not(.dragging):not(.behind){transition:transform .16s}}.payees{align-content:start;gap:12px;display:grid}.payee-list,.payee-names ul{margin:0;padding:0;list-style:none}.payee-row{gap:10px;padding-right:4px}.payee-row>.icon{color:var(--ink-3,var(--ink-2));flex:none}.payee-open{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:2px;padding:8px 0;display:grid}.payee-open .title{align-items:center;gap:6px;display:flex}.payee-open .title .icon{color:var(--pine)}.payee-open .sub{white-space:normal;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box}.payee-form .sheet-actions>:only-child{grid-column:1/-1}.payees-empty{text-align:center;padding:24px 0}.payee-form{gap:14px;display:grid}.payee-names{gap:6px;display:grid}.payee-names li{font-size:var(--t-xs);overflow-wrap:anywhere;gap:12px;padding:4px 0;display:flex}.payee-names li .grow{flex:1;min-width:0}.payee-form .check-row{border-bottom:0;min-height:40px}@media (width>=1280px){.shell.with-chat{grid-template-columns:232px minmax(0,1fr) 380px}.chatpane{box-shadow:none;position:sticky}}
