@font-face{font-family:Inter;src:url(/fonts/inter-var-opsz.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--f-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--f-num-features:"tnum" 1, "cv01" 1, "cv11" 1, "ss03" 1;--t-hero:680 44px/1 var(--f-sans);--tr-hero:-.035em;--t-h1:650 28px/34px var(--f-sans);--tr-h1:-.022em;--t-kpi:650 22px/28px var(--f-sans);--tr-kpi:-.02em;--t-title:600 16px/22px var(--f-sans);--tr-title:-.011em;--t-body:450 16px/24px var(--f-sans);--t-row:550 15px/20px var(--f-sans);--t-caption:450 13px/18px var(--f-sans);--t-micro:600 11px/14px var(--f-sans);--tr-micro:.06em;--t-axis:500 11px/1 var(--f-sans);--t-tab:550 11px/1 var(--f-sans);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--r-xs:6px;--r-sm:10px;--r-md:14px;--r-card:22px;--r-hero:28px;--r-pill:999px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-std:cubic-bezier(.2, 0, 0, 1);--dur-tap:.18s;--dur-ui:.24s;--dur-chart:.72s;--dur-count:.64s;--stagger:40ms;--chart-stroke:2.25px;--chart-stroke-muted:1.75px;--chart-grid:1px;--donut-gap:2.5px;--donut-thickness:.15;--donut-pop:5px;--donut-dim-mix:48%;--donut-dim-to:#e7e9ee;--bar-radius:5px;--bar-gap:3px;--ring-stroke-ratio:.11;--logo-green:#69beaa;--bg:#fff;--bg-glow:#69beaa0f;--bg-grad:radial-gradient(140% 32% at 50% var(--sat), var(--bg-glow), transparent 72%);--surface:#fff;--surface-2:#f6f7f9;--surface-3:#eceef2;--hairline:#0f121e14;--hairline-2:#0f121e24;--text:#0e1116;--text-2:#4a5160;--text-3:#646b78;--link:#3e5bd8;--primary:#0e1116;--on-primary:#fff;--good:#0b7d43;--good-soft:#e6f6ec;--watch:#9a5b00;--watch-soft:#fdf1dc;--alert:#c4252b;--alert-soft:#fdebec;--income:#0f9d6b;--bills:#8c93a3;--bills-hatch:#8c93a373;--grid:#0f121e17;--sk:#eceef2;--sk-hi:#f7f8fa;--shadow-1:0 0 0 1px #0f121e0a, 0 1px 2px #0f121e0a, 0 8px 24px -12px #0f121e1f;--shadow-2:0 0 0 1px #0f121e0d, 0 2px 4px #0f121e0a, 0 24px 48px -24px #281e5a47;--shadow-hover:0 0 0 1px #0f121e14, 0 12px 32px -12px #0f121e38;--hero-grad:radial-gradient(90% 70% at 0% 0%, #6e56cf17, transparent 60%), radial-gradient(70% 60% at 100% 100%, #0e9f7712, transparent 60%), var(--surface);--tabbar-bg:#ffffffc7;--c-housing:#6e56cf;--c-groceries:#0e9f77;--c-dining:#e5590f;--c-transport:#1f74db;--c-utilities:#b07510;--c-shopping:#d23c95;--c-health:#0a8a9c;--c-family:#8f6136;--c-other:#767c8b}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#0a0b0e;--logo-green:#69beaa;--bg-glow:#69beaa1a;--bg-grad:radial-gradient(140% 32% at 50% var(--sat), var(--bg-glow), transparent 70%);--surface:#15171c;--surface-2:#1c1f26;--surface-3:#252932;--hairline:#ffffff12;--hairline-2:#ffffff21;--text:#f3f4f7;--text-2:#b3b9c6;--text-3:#8c93a1;--link:#9db0ff;--primary:#f3f4f7;--on-primary:#0e1116;--good:#43d38a;--good-soft:#43d38a21;--watch:#f5b84e;--watch-soft:#f5b84e21;--alert:#ff7378;--alert-soft:#ff737821;--income:#3dd6a0;--bills:#6e7687;--bills-hatch:#6e76878c;--grid:#ffffff14;--sk:#1c1f26;--sk-hi:#262a33;--shadow-1:0 0 0 1px #ffffff0d, inset 0 1px 0 #ffffff0a, 0 10px 30px -14px #000c;--shadow-2:0 0 0 1px #ffffff12, inset 0 1px 0 #ffffff0f, 0 30px 60px -28px #000000e6;--shadow-hover:0 0 0 1px #ffffff1f, 0 16px 40px -16px #000000e6;--hero-grad:radial-gradient(90% 70% at 0% 0%, #9d8cff29, transparent 60%), radial-gradient(70% 60% at 100% 100%, #34d3a017, transparent 60%), var(--surface);--tabbar-bg:#101216c7;--donut-dim-mix:56%;--donut-dim-to:#2b2f38;--c-housing:#9d8cff;--c-groceries:#34d3a0;--c-dining:#ff8a4c;--c-transport:#5aa9ff;--c-utilities:#edb54b;--c-shopping:#f47cc3;--c-health:#3fcadb;--c-family:#cfa073;--c-other:#9aa0ae}}:root{--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px)}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0b0e;--logo-green:#69beaa;--bg-glow:#69beaa1a;--bg-grad:radial-gradient(140% 32% at 50% var(--sat), var(--bg-glow), transparent 70%);--surface:#15171c;--surface-2:#1c1f26;--surface-3:#252932;--hairline:#ffffff12;--hairline-2:#ffffff21;--text:#f3f4f7;--text-2:#b3b9c6;--text-3:#8c93a1;--link:#9db0ff;--primary:#f3f4f7;--on-primary:#0e1116;--good:#43d38a;--good-soft:#43d38a21;--watch:#f5b84e;--watch-soft:#f5b84e21;--alert:#ff7378;--alert-soft:#ff737821;--income:#3dd6a0;--bills:#6e7687;--bills-hatch:#6e76878c;--grid:#ffffff14;--sk:#1c1f26;--sk-hi:#262a33;--shadow-1:0 0 0 1px #ffffff0d, inset 0 1px 0 #ffffff0a, 0 10px 30px -14px #000c;--shadow-2:0 0 0 1px #ffffff12, inset 0 1px 0 #ffffff0f, 0 30px 60px -28px #000000e6;--shadow-hover:0 0 0 1px #ffffff1f, 0 16px 40px -16px #000000e6;--hero-grad:radial-gradient(90% 70% at 0% 0%, #9d8cff29, transparent 60%), radial-gradient(70% 60% at 100% 100%, #34d3a017, transparent 60%), var(--surface);--tabbar-bg:#101216c7;--donut-dim-mix:56%;--donut-dim-to:#2b2f38;--c-housing:#9d8cff;--c-groceries:#34d3a0;--c-dining:#ff8a4c;--c-transport:#5aa9ff;--c-utilities:#edb54b;--c-shopping:#f47cc3;--c-health:#3fcadb;--c-family:#cfa073;--c-other:#9aa0ae}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background-color:var(--bg);min-height:100%}html:before{content:"";z-index:-1;pointer-events:none;background-image:var(--bg-grad);background-repeat:no-repeat;background-size:100% 100%;position:fixed;inset:0}body{min-height:100dvh;color:var(--text);font:var(--t-body);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;background:0 0;margin:0}.num,.kpi-v,.d-v,.lg-v,.lg-p,.row-v{font-variant-numeric:tabular-nums;font-feature-settings:var(--f-num-features)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}h1,h2,h3,p,dl,dd,ol,ul{margin:0;padding:0}ul,ol{list-style:none}.ic{flex:none;display:block}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{align-items:center;min-height:44px;display:inline-flex;position:absolute;left:-999px}.skip:focus{z-index:99;background:var(--surface);border-radius:var(--r-sm);padding:10px 14px;top:12px;left:12px}:focus-visible{outline:2px solid var(--link);outline-offset:2px;border-radius:8px}:root{--pad:16px}.mast{z-index:30;padding:calc(var(--sat) + 6px) calc(var(--pad) + var(--sar)) 6px calc(var(--pad) + var(--sal));align-items:center;gap:8px;display:flex;position:relative}.brand{min-height:44px;font:650 19px/1 var(--f-sans);letter-spacing:-.02em;align-items:center;gap:10px;display:flex}.logo{color:#fff;background:linear-gradient(140deg,#8b7bff 0%,#6e56cf 45%,#0e9f77 130%);border-radius:9px;place-items:center;width:30px;height:30px;display:grid;box-shadow:0 4px 12px -4px #6e56cf99,inset 0 1px #ffffff59}.priv{border-radius:var(--r-pill);height:26px;font:600 12px/1 var(--f-sans);color:var(--text-2);background:var(--surface);box-shadow:var(--shadow-1);align-items:center;gap:5px;padding:0 10px 0 8px;display:inline-flex}.topnav{display:none}.icon-btn{width:44px;height:44px;color:var(--text-2);border-radius:50%;place-items:center;margin-left:auto;display:grid}.menu-btn{place-items:center;width:52px;height:44px;display:grid}.avs{display:inline-flex}.avs i{width:30px;height:30px;font:600 12px/1 var(--f-sans);background:var(--surface);box-shadow:0 0 0 2px var(--bg), var(--shadow-1);border-radius:50%;place-items:center;font-style:normal;display:grid}.avs i+i{margin-left:-9px}.tabbar{z-index:40;padding:6px calc(8px + var(--sar)) calc(var(--sab) + 4px) calc(8px + var(--sal));background:var(--tabbar-bg);-webkit-backdrop-filter:blur(24px)saturate(1.6);backdrop-filter:blur(24px)saturate(1.6);border-top:1px solid var(--hairline);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{height:52px;font:var(--t-tab);color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.tabbar a[aria-current]{color:var(--text)}.tabbar a[aria-current] .ic{color:var(--c-housing)}.main{padding:4px calc(var(--pad) + var(--sar)) calc(var(--sab) + 96px) calc(var(--pad) + var(--sal));align-content:start;gap:12px;display:grid}.col{align-content:start;gap:12px;min-width:0;display:grid}.head{min-width:0;padding:2px 4px 6px}.head-r{align-items:center;gap:10px;display:flex}.head h1{font:var(--t-h1);letter-spacing:var(--tr-h1)}.head .stamp{margin-left:auto}.asof{font:var(--t-caption);color:var(--text-3);margin-top:2px}.back{min-height:44px;font:550 15px/1 var(--f-sans);color:var(--link);align-items:center;gap:2px;margin:-6px 0 0 -8px;padding:0 8px 0 2px;display:inline-flex}.stamp{border-radius:var(--r-pill);height:24px;font:650 10.5px/1 var(--f-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--watch);background:var(--watch-soft);white-space:nowrap;align-items:center;padding:0 9px;display:inline-flex}.eyebrow{font:var(--t-micro);letter-spacing:var(--tr-micro);text-transform:uppercase;color:var(--text-3)}.card{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow-1);min-width:0;padding:4px 16px 16px;display:block;position:relative}.card-h{align-items:center;gap:10px;min-height:48px;margin-bottom:4px;display:flex}.card-h h2{font:var(--t-title);letter-spacing:var(--tr-title);white-space:nowrap}.cap-r{font:550 13px/1 var(--f-sans);color:var(--text-3);white-space:nowrap;margin-left:auto}.cap-r.loading{align-items:center;gap:6px;display:inline-flex}.more{min-height:44px;font:550 13px/1 var(--f-sans);color:var(--link);white-space:nowrap;align-items:center;gap:2px;margin-left:auto;display:inline-flex}.t-watch{color:var(--watch);align-items:center;gap:4px;font-weight:600;display:inline-flex}.badge{border-radius:var(--r-pill);height:24px;font:600 12px/1 var(--f-sans);white-space:nowrap;align-items:center;padding:0 10px;display:inline-flex}.badge.watch{color:var(--watch);background:var(--watch-soft)}.chip{width:28px;height:28px;color:var(--cc);background:color-mix(in srgb, var(--cc) 14%, transparent);border-radius:9px;flex:none;place-items:center;display:grid}.chip.lg-chip{border-radius:12px;width:40px;height:40px}.hero{background:var(--hero-grad);box-shadow:var(--shadow-2);border-radius:var(--r-hero);padding:4px 16px 14px}.seg-ctl{border-radius:var(--r-pill);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--hairline);margin-left:auto;padding:0;display:inline-flex}.seg-ctl button{border-radius:var(--r-pill);min-width:72px;height:44px;font:600 13px/1 var(--f-sans);color:var(--text-2);background-clip:padding-box;border:4px solid #0000;padding:0 12px}.seg-ctl button[aria-selected=true]{background-color:var(--surface);color:var(--text);box-shadow:inset 0 0 0 1px var(--hairline-2)}.hero-b{gap:14px;display:grid}.donut{--size:200px;width:var(--size);height:var(--size);margin:2px auto 0;position:relative}.donut svg{display:block;overflow:visible}.donut .seg{transition:opacity var(--dur-tap) var(--ease-std), d var(--dur-tap) var(--ease-spring)}.donut .seg.is-sel{filter:drop-shadow(0 6px 10px color-mix(in srgb, currentColor 0%, #0000002e))}.donut-c{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.d-l{font:var(--t-micro);letter-spacing:var(--tr-micro);text-transform:uppercase;color:var(--text-3)}.d-v{font:var(--t-hero);letter-spacing:var(--tr-hero);white-space:nowrap;margin-top:6px;font-size:32px}.donut-fit{flex-direction:column;align-items:center;max-width:100%;display:flex}.donut-under{text-align:center;max-width:240px;font:var(--t-caption);color:var(--text-2);margin:10px auto 0}.donut-under .num{color:var(--text);font-weight:650}.goal-bar{background:var(--surface-3);border-radius:2px;max-width:200px;height:4px;margin:8px auto 0;overflow:hidden}.goal-bar>i{background:var(--c-housing);border-radius:2px;height:100%;display:block}.cents{letter-spacing:-.01em;vertical-align:.55em;color:var(--text-2);margin-left:1px;font-size:.55em;font-weight:600}.d-s{font:var(--t-caption);color:var(--text-2);margin-top:6px}.d-pill{border-radius:var(--r-pill);height:22px;font:650 12px/1 var(--f-sans);color:var(--text-2);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--hairline);align-items:center;margin-top:8px;padding:0 9px;display:inline-flex}.legend{grid-template-columns:1fr 1fr;gap:4px 8px;display:grid}.lg{border-radius:var(--r-md);min-height:48px;transition:background var(--dur-tap);grid-template-columns:28px minmax(0,1fr) auto;grid-template-areas:"c n p""c v p";align-items:center;column-gap:10px;padding:6px 8px;display:grid}.lg .chip{grid-area:c}.lg-n{font:550 13px/16px var(--f-sans);color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;grid-area:n;overflow:hidden}.lg-v{font:650 15px/19px var(--f-sans);letter-spacing:-.01em;grid-area:v}.lg-p{font:600 12px/1 var(--f-sans);color:var(--text-3);grid-area:p;align-self:center}.lg.is-sel{background:color-mix(in srgb, var(--cc) 11%, var(--surface));box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--cc) 55%, transparent)}.lg.is-sel .lg-n{color:var(--text)}.more-chip{color:var(--text-2);background:var(--surface-2)}.lg-x{display:none}.hero-f{border-top:1px solid var(--hairline);font:var(--t-caption);color:var(--text-2);align-items:center;gap:8px;margin-top:10px;padding:10px 2px 0;display:flex}.hero-f .ic{color:var(--good)}.hero-f b{color:var(--text);font-weight:650}.kpis{overscroll-behavior-x:contain;touch-action:pan-x pan-y;scroll-snap-type:x mandatory;scroll-padding:0 var(--pad);margin:0 calc(-1 * var(--pad) - var(--sar)) 0 calc(-1 * var(--pad) - var(--sal));padding:2px calc(var(--pad) + var(--sar)) 10px calc(var(--pad) + var(--sal));scrollbar-width:none;grid-auto-columns:158px;grid-auto-flow:column;align-items:stretch;gap:10px;display:grid;overflow:auto hidden}.kpis::-webkit-scrollbar{display:none}.kpi{scroll-snap-align:start;border-radius:20px;flex-direction:column;height:100%;min-height:132px;padding:12px 14px;display:flex;overflow:hidden}.kpi-h{font:600 12px/16px var(--f-sans);color:var(--text-2);align-items:center;gap:6px;display:flex}.kpi-h>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.kpi-h .ic{color:var(--text-3)}.kpi-go{margin-left:auto}.kpi-v{font:var(--t-kpi);letter-spacing:var(--tr-kpi);margin-top:8px}.kpi-c{font:500 12px/16px var(--f-sans);color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.kpi-m{height:42px;margin-top:auto;padding-top:10px;display:block;overflow:hidden}.kpi-note{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font:500 12px/16px var(--f-sans);color:var(--text-3);display:block;overflow:hidden}.spark{--h:30px;height:30px;display:block}.spark svg{display:block;overflow:visible}.segs{align-items:flex-end;gap:4px;height:30px;display:flex}.segs i{background:var(--surface-3);border-radius:4px;flex:1;height:8px}.segs i.on{background:linear-gradient(90deg, var(--c-housing), color-mix(in srgb, var(--c-housing) 70%, var(--c-transport)))}.mini-rings{align-items:flex-end;gap:8px;height:30px;display:flex}.ring.sm{--size:28px;width:28px;height:28px}.pbar{background:var(--surface-3);border-radius:4px;height:8px;margin-top:22px;display:flex;overflow:hidden}.pbar>i{background:linear-gradient(90deg, color-mix(in srgb, var(--income) 70%, #fff 0%), var(--income));border-radius:4px;height:100%;display:block}.kpi.is-watch{box-shadow:var(--shadow-1), inset 0 0 0 1px color-mix(in srgb, var(--watch) 28%, transparent)}.keys{font:550 12px/1 var(--f-sans);color:var(--text-2);white-space:nowrap;gap:12px;margin-left:auto;display:flex}.key{align-items:center;gap:6px;display:inline-flex}.k-line{background:var(--kc);border-radius:2px;width:14px;height:3px}.k-dash{border-top:2px dashed var(--text-3);width:14px;height:0}.k-sq{background:var(--kc);border-radius:3px;width:10px;height:10px}.k-hatch{background:repeating-linear-gradient(45deg, var(--bills) 0 2px, transparent 2px 4px);width:10px;height:10px;box-shadow:inset 0 0 0 1px var(--bills);border-radius:3px}.pace-sum{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.pace-v{font:var(--t-kpi);letter-spacing:var(--tr-kpi)}.delta{font:600 13px/1 var(--f-sans);color:var(--text-3);align-items:center;gap:3px;display:inline-flex}.delta.good{color:var(--good)}.delta.watch{color:var(--watch)}.chart-w{width:100%;position:relative}.chart-w svg{display:block;overflow:visible}.cum{--h:176px;height:176px}.bars{--h:168px;--bar-w:14px;height:168px}.balc{--h:168px;height:168px}.ax{font:var(--t-axis);fill:var(--text-3);font-variant-numeric:tabular-nums}.ax-sel{fill:var(--text);font-weight:650}.ax-b{fill:var(--text-2);font-weight:600}.grid{stroke:var(--grid);stroke-width:var(--chart-grid);stroke-dasharray:2 4}.base{stroke:var(--hairline-2);stroke-width:1px}.budget{stroke:var(--text-3);stroke-width:1.25px;stroke-dasharray:5 4;opacity:.8}.line-prev{fill:none;stroke:var(--text-3);stroke-width:var(--chart-stroke-muted);stroke-dasharray:4 4;stroke-linecap:round;opacity:.75}.line-cur{fill:none;stroke-width:var(--chart-stroke);stroke-linecap:round;stroke-linejoin:round}.line-proj{fill:none;stroke-width:var(--chart-stroke);stroke-dasharray:1 6;stroke-linecap:round;opacity:.9}.today{stroke:var(--text);stroke-width:1px;opacity:.28}.dot-prev{fill:var(--surface);stroke:var(--text-3);stroke-width:1.5px}.col-sel{fill:var(--surface-2)}.today-pill,.end-pill{border-radius:var(--r-pill);height:22px;font:650 11px/1 var(--f-sans);color:var(--on-primary);background:var(--primary);white-space:nowrap;align-items:center;gap:4px;padding:0 8px;display:inline-flex;position:absolute;top:0;transform:translate(-50%)}.end-pill{color:var(--good);background:var(--good-soft);transform:translate(calc(6px - 100%))}.ring{--size:64px;width:var(--size);height:var(--size);flex:none;place-items:center;display:grid;position:relative}.ring>svg{position:absolute;inset:0}.ring-c{font:650 13px/1 var(--f-sans);letter-spacing:-.01em;flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex;position:absolute;inset:0}.dr-list{gap:4px;display:grid}.dr{align-items:center;gap:14px;min-height:64px;padding:6px 0;display:flex}.dr+.dr{border-top:1px solid var(--hairline)}.ring.md{--size:56px;width:56px;height:56px}.dr .ring{--size:52px;width:52px;height:52px}.dr-t{flex-direction:column;min-width:0;display:flex}.dr-t b{font:var(--t-row)}.dr-t small{font:var(--t-caption);color:var(--text-3)}a.card.debts .more{pointer-events:none}.rows>li+li{border-top:1px solid var(--hairline)}.row{align-items:center;gap:12px;min-width:0;min-height:60px;padding:8px 0;display:flex}.merch{width:38px;height:38px;color:var(--text-2);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--hairline);border-radius:12px;flex:none;place-items:center;display:grid}.merch.sm{border-radius:9px;width:30px;height:30px}.row-t{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.row-t b{font:var(--t-row);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.row-t small{font:var(--t-caption);color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;display:flex;overflow:hidden}.row-v{font:650 15px/1 var(--f-sans);letter-spacing:-.01em}.ap{color:var(--good);align-items:center;gap:3px;font-weight:600;display:inline-flex}.ap.off{color:var(--watch)}.see-all b,.see-all .ic{color:var(--link)}.day-h{font:var(--t-micro);letter-spacing:var(--tr-micro);text-transform:uppercase;color:var(--text-3);justify-content:space-between;margin:12px 0 2px;display:flex}.day-h:first-of-type{margin-top:2px}.budget .bu-top{align-items:baseline;gap:10px;padding-top:12px;display:flex}.bu-v{font:var(--t-hero);letter-spacing:var(--tr-hero);font-size:38px}.bu-of{font:550 15px/1 var(--f-sans);color:var(--text-2)}.bullet{background:var(--surface-3);border-radius:6px;height:12px;margin:34px 0 12px;position:relative}.bl-fill{background:linear-gradient(90deg, color-mix(in srgb, var(--cc) 55%, var(--surface)), var(--cc));border-radius:6px;position:absolute;inset:0 auto 0 0}.bl-mark{background:var(--text);border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-6px;bottom:-6px}.bl-mark span{font:600 11px/1 var(--f-sans);color:var(--text-2);white-space:nowrap;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.bu-row{font:var(--t-caption);color:var(--text-2);flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.bu-row b{color:var(--text);font-weight:650}.hbars li{align-items:center;gap:12px;padding:8px 0;display:flex}.hb-t{flex:1;gap:6px;min-width:0;display:grid}.hb-n{font:550 14px/1.2 var(--f-sans);justify-content:space-between;gap:10px;display:flex}.hb-n b{white-space:nowrap;text-overflow:ellipsis;font-weight:550;overflow:hidden}.hb-n .num{font-weight:650}.hb-bar{background:var(--surface-3);border-radius:3px;height:6px}.hb-bar i{background:var(--c-groceries);border-radius:3px;height:100%;display:block}.bsum{padding-top:16px}.bsum-b{align-items:center;gap:18px;display:flex}.ring.lg{--size:116px;width:116px;height:116px}.ring.lg .ring-c{flex-direction:column;align-items:center;gap:3px;display:flex}.ring.lg b{font:680 26px/1 var(--f-sans);letter-spacing:-.03em}.ring.lg small{font:var(--t-caption);color:var(--text-3)}.bfacts{flex:1;gap:0;min-width:0;display:grid}.bfacts div{justify-content:space-between;gap:10px;padding:7px 0;display:flex}.bfacts div+div{border-top:1px solid var(--hairline)}.bfacts dt{font:var(--t-caption);color:var(--text-3)}.bfacts dd{font:650 14px/18px var(--f-sans);text-align:right;white-space:nowrap}.strip{scroll-snap-type:x mandatory;scrollbar-width:none;grid-auto-columns:max(44px,14.2857% - 5.14286px);grid-auto-flow:column;gap:6px;margin-top:16px;display:grid;overflow-x:auto}.strip::-webkit-scrollbar{display:none}.day{scroll-snap-align:start;background:var(--surface-2);border-radius:14px;flex-direction:column;align-items:center;gap:4px;min-height:68px;padding:8px 0 6px;display:flex}.dw{font:600 11px/1 var(--f-sans);color:var(--text-3)}.dn{font:650 16px/1 var(--f-sans)}.dm{height:16px;font:800 11px/1 var(--f-sans);place-items:center;display:grid}.day.has-paid .dm{color:#fff;background:var(--income);border-radius:50%;width:16px}.day.has-due .dm i{background:var(--c-transport);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb, var(--c-transport) 22%, transparent);border-radius:50%}.day.has-attn .dm{color:#fff;background:var(--watch);border-radius:50%;width:16px}.day.is-today{background:var(--primary);color:var(--on-primary)}.day.is-today .dw{color:color-mix(in srgb, var(--on-primary) 70%, transparent)}.strip-k{font:550 12px/1 var(--f-sans);color:var(--text-2);flex-wrap:wrap;gap:14px;margin-top:12px;display:flex}.strip-k span{align-items:center;gap:6px;display:inline-flex}.strip-k i{width:14px;height:14px;font:800 9px/1 var(--f-sans);color:#fff;border-radius:50%;place-items:center;font-style:normal;display:grid}.sk-paid{background:var(--income)}.sk-due{background:var(--c-transport);transform:scale(.6)}.sk-attn{background:var(--watch)}.attn{box-shadow:var(--shadow-1), inset 0 0 0 1px color-mix(in srgb, var(--watch) 30%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--watch) 7%, var(--surface)), var(--surface) 60%)}.at-ic{color:var(--watch)}.attn .badge{margin-left:auto}.at-t{font:600 17px/24px var(--f-sans);letter-spacing:-.01em}.at-s{font:var(--t-caption);color:var(--text-2);margin-top:4px;font-size:14px}.act-row{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.btn{border-radius:var(--r-pill);min-height:44px;font:600 15px/1 var(--f-sans);color:var(--text);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--hairline-2);justify-content:center;align-items:center;gap:8px;padding:0 18px;display:inline-flex}.btn.primary{color:var(--on-primary);background:var(--primary);box-shadow:0 6px 16px -8px #00000080}.empty{border-radius:var(--r-md);background:var(--good-soft);color:var(--good);align-items:flex-start;gap:12px;padding:14px;display:flex}.empty p{font:450 14px/20px var(--f-sans);color:var(--text-2)}.empty b{color:var(--text);font-weight:650}.sk{background:linear-gradient(90deg, var(--sk) 0%, var(--sk-hi) 50%, var(--sk) 100%);background-size:200% 100%;border-radius:6px;display:block}@media (prefers-reduced-motion:no-preference){.sk{animation:shimmer 1.6s var(--ease-std) infinite}.loading .ic{animation:1.4s linear infinite spin}}@keyframes shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}@keyframes spin{to{transform:rotate(360deg)}}.sk-bars{grid-template-columns:repeat(12,1fr);align-items:end;gap:6px;height:110px;display:grid}.sk-bars .sk{border-radius:5px 5px 2px 2px}.sk-axis{justify-content:space-between;margin-top:10px;display:flex}.sk-axis .sk{width:32px;height:8px}.dhero{background:var(--hero-grad);box-shadow:var(--shadow-2);border-radius:var(--r-hero);padding:18px 16px 14px}.dh-v{font:var(--t-hero);letter-spacing:var(--tr-hero);margin-top:6px}.dh-s{font:var(--t-caption);color:var(--text-2);margin:6px 0 14px;font-size:14px}.balc .today-pill{top:-6px}.rg-list li{align-items:center;gap:14px;min-height:72px;padding:8px 0;display:flex}.rg-list li+li{border-top:1px solid var(--hairline)}.rg-t{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.rg-t b{font:var(--t-row);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rg-t small{font:var(--t-caption);color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rg-v{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.rg-v b{font:680 18px/1 var(--f-sans);letter-spacing:-.02em}.rg-v small{font:550 12px/1 var(--f-sans);color:var(--text-3)}.pbar.seg3{background:0 0;gap:3px;height:10px;margin:4px 0 8px}.pbar.seg3 i{background:color-mix(in srgb, var(--kc) 22%, var(--surface-3));border-radius:5px}.pbar.seg3 i.on{background:var(--kc)}.tline{gap:0;padding-left:2px;display:grid;position:relative}.tline li{align-items:center;gap:14px;min-height:56px;display:flex;position:relative}.tline li:not(:last-child):before{content:"";background:var(--hairline-2);border-radius:1px;width:2px;position:absolute;top:40px;bottom:-12px;left:15px}.tl-dot{width:32px;height:32px;color:var(--kc);background:color-mix(in srgb, var(--kc) 14%, var(--surface));box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--kc) 45%, transparent);border-radius:50%;flex:none;place-items:center;display:grid}.tl-end{--kc:var(--good)}.tl-t{flex-direction:column;gap:2px;display:flex}.tl-t b{font:650 15px/1.2 var(--f-sans)}.tl-t small{font:var(--t-caption);color:var(--text-3)}@media (hover:hover) and (pointer:fine){a.card:hover{box-shadow:var(--shadow-hover)}.lg:hover,.icon-btn:hover{background:var(--surface-2)}.row:hover b{color:var(--link)}}@media (width<=399px){.donut{--size:184px;--donut-thickness:.135}.d-v{font-size:26px}.d-pill{display:none}.d-s{font-size:12px}.hero-b{gap:10px}.lg{column-gap:8px;min-height:44px;padding:4px 6px}.lg .chip{width:26px;height:26px}.kpis{grid-auto-columns:148px}}@media (width>=600px){:root{--pad:28px}.main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:14px}.head,.cL,.cR{grid-column:1/-1}.p-snapshot .hero-b{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px}.p-snapshot .donut{--size:220px;margin:4px 0}.d-v{font-size:34px}.legend{grid-template-columns:1fr;gap:2px}.lg{grid-template-columns:28px minmax(0,1fr) auto 38px;grid-template-areas:"c n v p";min-height:44px}.lg-n{color:var(--text);font-size:14px}.lg-p{justify-self:end}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;margin:0;padding:0;overflow:visible}.p-snapshot .cR{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.p-snapshot .pace{grid-column:1/-1}.cum,.balc{--h:200px;height:200px}.bars{--bar-w:18px}.p-category .cL,.p-bills .cL,.p-debt .cL{grid-column:1}.p-category .cR,.p-bills .cR,.p-debt .cR{grid-column:2}}@media (width>=600px) and (width<=939px){.p-snapshot .lg-more-li{display:none}.p-snapshot .lg-x{display:block}.p-snapshot .legend{grid-template-columns:1fr 1fr;column-gap:6px}.p-snapshot .lg{grid-template-columns:28px minmax(0,1fr) auto;grid-template-areas:"c n p""c v p";min-height:48px}.p-snapshot .lg-n{color:var(--text-2);font-size:13px}.p-snapshot .hero-b{grid-template-columns:1fr}.p-snapshot .donut{margin:4px auto}.p-category .cL,.p-bills .cL,.p-debt .cL,.p-category .cR,.p-bills .cR,.p-debt .cR{grid-column:1/-1}.p-category .cR,.p-bills .cR,.p-debt .cR{grid-template-columns:1fr 1fr}.p-category .tx,.p-bills .paid,.p-bills .fc{grid-column:1/-1}.p-bills .cL,.p-snapshot .cR,.p-bills .cR{grid-template-columns:1fr}}@media (width>=940px){:root{--pad:24px}.tabbar{display:none}.mast{padding:calc(var(--sat) + 6px) calc(var(--pad) + var(--sar)) 6px calc(var(--pad) + var(--sal))}.topnav{border-radius:var(--r-pill);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--hairline);gap:0;margin-left:18px;padding:0;display:flex}.topnav a{border-radius:var(--r-pill);height:44px;font:600 14px/1 var(--f-sans);color:var(--text-2);background-clip:padding-box;border:3px solid #0000;align-items:center;padding:0 14px;display:inline-flex}.topnav a[aria-current]{color:var(--text);background-color:var(--surface);box-shadow:inset 0 0 0 1px var(--hairline-2)}.main{padding:14px calc(var(--pad) + var(--sar)) calc(var(--sab) + 28px) calc(var(--pad) + var(--sal));grid-template-columns:calc(50vw - 12px - var(--pad) - var(--sal)) minmax(0, 1fr);gap:12px 24px}.cL{grid-column:1!important}.cR{grid-column:2!important}.p-snapshot .cR{grid-template-columns:1fr}.p-snapshot .hero-b{grid-template-columns:1fr;gap:12px}.p-snapshot .donut{--size:196px;margin:2px auto 0}.d-v{font-size:30px}.p-snapshot .legend{grid-template-columns:1fr 1fr;gap:0 8px}.p-snapshot .lg-more-li{display:none}.p-snapshot .lg-x{display:block}.p-snapshot .lg{grid-template-columns:22px minmax(0,1fr) auto 32px;column-gap:8px;min-height:44px;padding:3px 6px}.p-snapshot .lg .chip{border-radius:7px;width:22px;height:22px}.p-snapshot .lg .chip .ic{width:13px;height:13px}.p-snapshot .lg-n,.p-snapshot .lg-v{font-size:13px;line-height:16px}.cum{--h:176px;height:176px}.bars{--h:140px;--bar-w:18px;height:140px}.hero-f{margin-top:8px}}@media (width>=940px) and (width<=1199px){.p-snapshot .lg{grid-template-columns:22px minmax(0,1fr) auto}.p-snapshot .lg-p{display:none}}@media (width>=1200px){:root{--pad:48px}.mast{max-width:1424px;padding:22px var(--pad) 10px;margin:0 auto}.topnav{margin:0;position:absolute;left:50%;transform:translate(-50%)}.main{max-width:1424px;padding:18px var(--pad) 56px;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;margin:0 auto}.head{padding:4px}.head h1{font-size:34px;line-height:40px}.card{padding:6px 22px 22px}.card-h{min-height:54px}.card-h h2{font-size:17px}.p-snapshot .cL,.p-snapshot .cR{display:contents}.p-snapshot .hero{grid-row:2;grid-column:1/6!important}.p-snapshot .pace{grid-row:2;grid-column:6/13!important}.p-snapshot .kpis{grid-row:3;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;grid-column:1/13!important}.p-snapshot .inc{grid-row:4;grid-column:1/8!important}.p-snapshot .debts{grid-row:4;grid-column:8/13!important}.p-snapshot .hero-b{grid-template-columns:1fr}.p-snapshot .donut{--size:236px;margin:6px auto 4px}.d-v{font-size:36px}.p-snapshot .legend{grid-template-columns:1fr 1fr;gap:0 8px}.p-snapshot .lg{grid-template-columns:24px minmax(0,1fr) auto 32px;min-height:44px}.p-snapshot .lg .chip{width:24px;height:24px}.cum{--h:300px;height:300px}.bars{--h:196px;--bar-w:26px;height:196px}.balc{--h:240px;height:240px}.kpi{border-radius:var(--r-card);min-height:150px;padding:16px 18px}.kpi-v{font-size:26px;line-height:32px}.kpi-h{font-size:13px}.pace-v{font-size:26px}.p-category .cL,.p-bills .cL,.p-debt .cL{grid-column:1/8!important}.p-category .cR,.p-bills .cR,.p-debt .cR{grid-column:8/13!important}.p-bills .cL,.dr-list{grid-template-columns:1fr}.ring.lg{--size:140px;width:140px;height:140px}.ring.lg b{font-size:30px}.bsum-b{gap:28px}}@media (width>=600px){.head .stamp{margin-left:6px}}.w-only{display:none}@media (width>=600px){.w-only{display:inline}.ph-only{display:none}}@media (width<=599px){.kpi-go{display:none}}.logo{box-shadow:var(--shadow-1);background:0 0;padding:0;overflow:hidden}.logo img{object-fit:cover;width:30px;height:30px;display:block}.money-hidden{white-space:nowrap;display:inline-block;position:relative}.money-hidden .money-sizer{visibility:hidden}.money-hidden .money-mask{justify-content:flex-end;align-items:center;display:flex;position:absolute;inset:0}.donut-c a,.donut-c button{pointer-events:auto}.legend.is-open .lg-x{display:block}.legend.is-open .lg-more-li{display:none}.hero-f.watch .ic{color:var(--watch)}.hero-f.same .ic{color:var(--text-3)}.banner{margin:0 calc(var(--pad) + var(--sar)) 0 calc(var(--pad) + var(--sal));border-radius:var(--r-md);background:var(--watch-soft);color:var(--text);font:var(--t-caption);padding:10px 14px}.banner a{color:var(--link);align-items:center;min-height:44px;display:inline-flex}.gate{max-width:28rem;margin:24px auto;padding:22px 18px 18px}.gate h1{font:var(--t-h1);letter-spacing:var(--tr-h1)}.muted{color:var(--text-2)}.small{font:var(--t-caption);color:var(--text-2)}.stack{gap:12px;display:grid}.tone-bad{color:var(--alert)}.tone-good{color:var(--good)}.button,.btn{border-radius:var(--r-pill);min-width:44px;min-height:44px;font:600 15px/1 var(--f-sans);color:var(--on-primary);background:var(--primary);justify-content:center;align-items:center;gap:8px;padding:0 18px;text-decoration:none;display:inline-flex}.button.secondary{color:var(--text);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--hairline-2)}.button:disabled{opacity:.45}.file-input{min-width:44px;min-height:44px;font:var(--t-caption);color:var(--text)}.switch-hit{text-align:left;align-items:center;gap:12px;min-width:44px;min-height:44px;display:flex}.switch{background:var(--surface-3);width:44px;height:26px;box-shadow:inset 0 0 0 1px var(--hairline);border-radius:999px;flex:none;position:relative}.switch:after{content:"";background:var(--surface);width:20px;height:20px;box-shadow:var(--shadow-1);border-radius:50%;position:absolute;top:3px;left:3px}.switch-hit[aria-checked=true] .switch{background:var(--good)}.switch-hit[aria-checked=true] .switch:after{left:21px}.seg{border-radius:var(--r-pill);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--hairline);padding:0;display:inline-flex}.seg button{border-radius:var(--r-pill);min-width:44px;min-height:44px;font:600 13px/1 var(--f-sans);color:var(--text-2);border:4px solid #0000;padding:0 12px}.seg button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:inset 0 0 0 1px var(--hairline-2)}dialog{color:var(--text);background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow-2);border:0;max-width:min(640px,100% - 24px)}dialog::backdrop{background:#080a1075}dialog.sheet{width:min(640px,100%);max-height:min(92dvh,900px);padding-bottom:var(--sab);border-bottom-right-radius:0;border-bottom-left-radius:0;margin:auto auto 0}.sheet-bar{align-items:center;gap:8px;padding:8px 8px 0 16px;display:flex}.sheet-bar h2{text-align:center;font:var(--t-title);letter-spacing:var(--tr-title);flex:1}.sheet-spacer{width:44px}.sheet-done{min-width:44px;min-height:44px;color:var(--link);font:600 15px/1 var(--f-sans);padding:0 12px}.sheet-body{max-height:calc(92dvh - 64px);padding:8px 16px 24px;overflow:auto}dialog.action-sheet{width:min(420px,100% - 32px);margin:auto auto 16px;padding:12px}.action-title{font:var(--t-body);padding:8px 8px 12px}.action-group{display:grid}.action-row,.action-cancel{text-align:center;width:100%;min-height:44px;font:600 16px/1 var(--f-sans);border-radius:var(--r-md)}.action-row.destructive{color:var(--alert)}.action-cancel{background:var(--surface-2);margin-top:8px}.check-row{align-items:center;gap:12px;min-height:44px;display:flex}.check-row input{width:22px;height:22px}.cat-switch{scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.cat-switch a{border-radius:var(--r-pill);background:var(--surface-2);white-space:nowrap;min-height:44px;box-shadow:inset 0 0 0 1px var(--hairline);align-items:center;gap:8px;padding:0 12px;display:inline-flex}.cat-switch a[aria-current=true]{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--text)}.note{font:var(--t-caption);color:var(--text-2)}.sk-block{height:14px;margin:8px 0}html,body{overflow-x:clip}@media (prefers-reduced-motion:reduce){.donut .seg{transition:none}}
