@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_c15e96cb-module__0bjUvq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_c15e96cb-module__0bjUvq__variable{--font-inter:"Inter", "Inter Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--brand-navy:#111b35;--brand-lavender:#a78bfa;--brand-indigo:#6366f1;--brand-peach:#fad7b6;--brand-ice:#f8faff;--control-primary:#a78bfa;--control-on-primary:#181333;--control-border:#9478e9;--surface-lavender:#f0e9ff;--surface-peach:#fff1e3;--brand-border:#d4c4f4;--nav-surface:#111b35;--nav-text:#cbd2e9;--nav-selected:#a78bfa;--nav-on-selected:#181333;--nav-hover:#23304d;--nav-blue:#83b6ff;--nav-mint:#65d7bc;--nav-peach:#fad7b6;--nav-pink:#f39bdc;--canvas:#f8faff;--surface:#fff;--surface-elevated:#fff;--surface-secondary:#f0eafa;--surface-selected:#e5d9ff;--surface-hero:#111b35;--hero-gradient:linear-gradient(125deg, #111b35 35%, #23294e);--text-primary:#19223b;--text-secondary:#56617a;--text-tertiary:#59627a;--text-on-hero:#f8faff;--text-on-hero-muted:#c8cee5;--action-primary:#5934ac;--action-on-primary:#fff;--action-subtle:#e5d9ff;--positive:#08746a;--attention:#95520c;--attention-surface:#fff3e3;--critical:#a33246;--critical-surface:#fceef1;--information:#326483;--uncertain:#765181;--disabled:#727b91;--separator:#e1e5ef;--focus-ring:#6366f1;--focus-surface:#6366f126;--chart-cash:#7654d1;--chart-savings:#08746a;--chart-cards:#a7550b;--chart-loans:#b13c64;--chart-mortgage:#326eac;--chart-spent:#a7550b;--chart-grid:#dce1ec;--chart-cursor:#6b758b;--shadow-surface:0 2px 8px #111b3504;--shadow-control:0 1px 4px #111b350d;--shadow-sheet:0 20px 64px #060b1c40;--backdrop:#080f2866;--hero-separator:#ffffff24;--border:var(--separator);--surface-muted:var(--surface-secondary);--muted:var(--text-secondary);--accent:var(--action-primary);--space-4:4px;--space-8:8px;--space-12:12px;--space-16:16px;--space-20:20px;--space-24:24px;--space-32:32px;--space-40:40px;--space-48:48px;--space-64:64px;--radius-control:12px;--radius-compact:12px;--radius-card:20px;--radius-sheet:28px;--page-inset:20px;--section-gap:20px;--card-inset:20px;--workspace-max:1320px;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--canvas:#0d1220;--surface:#151d30;--surface-elevated:#1d273d;--surface-secondary:#202a40;--surface-selected:#3a2a5b;--hero-gradient:linear-gradient(125deg, #182344 35%, #34285c);--control-primary:#b39afa;--control-border:#b39afa;--surface-lavender:#29203e;--surface-peach:#2b2529;--brand-border:#574077;--text-primary:#f0f2fb;--text-secondary:#b8c1d6;--text-tertiary:#a4afc7;--action-primary:#b9a5ff;--action-on-primary:#16112e;--action-subtle:#3a2a5b;--positive:#65d7bc;--attention:#f0bd79;--attention-surface:#32291e;--critical:#ffa1b1;--critical-surface:#38212d;--information:#90c8ef;--uncertain:#d3a9df;--disabled:#a4afc7;--separator:#2c364c;--focus-ring:#b9a5ff;--focus-surface:#b9a5ff26;--chart-cash:#b9a5ff;--chart-savings:#65d7bc;--chart-cards:#f0bd79;--chart-loans:#f38eaf;--chart-mortgage:#80b9f5;--chart-spent:#f0bd79;--chart-grid:#34405a;--chart-cursor:#a4afc7;--shadow-surface:none;--shadow-control:0 1px 4px #00000020;--shadow-sheet:0 20px 64px #00000060;--backdrop:#050816a6}}*{box-sizing:border-box}html{background:var(--canvas)}body{color:var(--text-primary);background:var(--canvas);font-family:var(--font-inter), Arial, sans-serif;margin:0}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}::selection{background:var(--surface-selected)}.app-shell{min-height:100vh}.workspace{max-width:var(--workspace-max);padding:20px var(--page-inset) 116px;min-width:0;margin:0 auto}.stack{gap:var(--space-24);flex-direction:column;min-width:0;display:flex}.page-heading{margin-bottom:24px}.eyebrow{color:var(--text-secondary);letter-spacing:.025em;text-transform:uppercase;font-size:11px;font-weight:600;line-height:16px}h1{letter-spacing:-.035em;margin:6px 0 0;font-size:clamp(29px,4vw,34px);line-height:1.24}h2{letter-spacing:-.025em;margin:0;font-size:22px;line-height:29px}h3{margin:0;font-size:18px;line-height:25px}p{margin:0}.subtle{color:var(--text-secondary);font-size:13px;line-height:19px}.caption{color:var(--text-secondary);font-size:12px;line-height:17px}.surface{background:var(--surface);border:1px solid var(--separator);border-radius:var(--radius-card);padding:var(--card-inset)}.inset{background:var(--surface-secondary);border-radius:var(--radius-card);padding:var(--card-inset)}.hero{background:var(--surface-hero);color:var(--text-on-hero);border-radius:var(--radius-card);gap:12px;padding:22px;display:grid}.hero .eyebrow,.hero .subtle,.hero .caption{color:var(--text-on-hero)}.hero-value{letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:38px;font-weight:600;line-height:46px}.hero-rule,.divider{background:var(--separator);width:100%;height:1px}.hero-action{width:fit-content;font-size:20px;font-weight:600;line-height:26px}.section-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.section-head a,.text-link{color:var(--action-primary);font-size:13px;font-weight:600;line-height:19px}.event-list{gap:10px;display:grid}.event-row{border:1px solid var(--separator);border-radius:var(--radius-compact);background:var(--surface);align-items:center;gap:12px;min-height:64px;padding:10px 12px;display:flex}.date-marker{background:var(--surface-secondary);font-variant-numeric:tabular-nums;border-radius:9px;flex-direction:column;flex:0 0 42px;min-height:42px;padding:4px 7px;display:flex}.date-marker strong{font-size:15px;line-height:21px}.date-marker span{color:var(--text-secondary);text-transform:uppercase;font-size:10px;font-weight:600;line-height:14px}.event-detail{flex:1;gap:2px;min-width:0;display:grid}.event-detail strong{white-space:nowrap;text-overflow:ellipsis;font-size:15px;line-height:22px;overflow:hidden}.event-detail span{color:var(--text-secondary);font-size:12px;line-height:17px}.amount{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:15px;font-weight:600;line-height:22px}.positive{color:var(--positive)}.negative{color:var(--critical)}.attention-text{color:var(--attention)}.attention-card{background:var(--attention-surface);border-radius:var(--radius-compact);gap:8px;padding:18px;display:grid}.funding-warning-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.attention-card .eyebrow{color:var(--attention)}.attention-card p{color:var(--text-secondary);font-size:13px;line-height:19px}.attention-card a{color:var(--action-primary);font-size:14px;font-weight:600}.metric-row{justify-content:space-between;align-items:baseline;gap:16px;font-size:15px;line-height:22px;display:flex}.metric-row strong{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.calculation{gap:12px;display:grid}.button{border-radius:var(--radius-compact);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:12px 18px;font-size:14px;font-weight:600;line-height:20px;display:inline-flex}.button-primary{background:var(--control-primary);color:var(--control-on-primary);border-color:var(--control-border)}.button-secondary{background:var(--surface);color:var(--action-primary);border-color:var(--separator)}.button-tertiary{background:var(--action-subtle);color:var(--action-primary)}.button:disabled{background:var(--surface-secondary);color:var(--disabled);cursor:not-allowed}.form{gap:16px;display:grid}.field{gap:6px;min-width:0;display:grid}.field label{font-size:13px;font-weight:600}.field input,.field select{border:1px solid var(--separator);background:var(--surface);width:100%;min-height:48px;color:var(--text-primary);border-radius:var(--radius-compact);padding:12px 14px}.field input:focus,.field select:focus{border-color:var(--action-primary)}.field small{color:var(--text-secondary)}.form-grid{grid-template-columns:1fr;gap:16px;display:grid}.bottom-nav{z-index:10;background:var(--surface);border-top:1px solid var(--separator);padding:8px 8px max(14px, env(safe-area-inset-bottom));justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-link{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:60px;min-height:52px;font-size:11px;display:flex}.nav-link.active{color:var(--action-primary)}.side-nav{display:none}.two-pane{gap:24px;display:grid}.context-panel{align-content:start;gap:14px;display:grid}.account-row{border-bottom:1px solid var(--separator);justify-content:space-between;align-items:center;gap:12px;min-height:64px;display:flex}.account-row:last-child{border-bottom:0}.section-tabs{gap:6px;padding:0 0 18px;display:flex;overflow-x:auto}.section-tabs a{color:var(--text-secondary);white-space:nowrap;border-radius:var(--radius-compact);align-items:center;min-height:44px;padding:9px 13px;text-decoration:none;display:inline-flex}.section-tabs a.selected,.section-tabs a[aria-current=page]{color:var(--text-primary);background:var(--surface-selected);font-weight:600}.directory-amount{text-align:right;flex:none;gap:3px;display:grid}.directory-amount small{color:var(--text-secondary)}.savings-group{border-bottom:1px solid var(--separator);padding:8px 0 22px}.savings-group:last-child{border-bottom:0}.account-row strong{font-size:15px}.notice{border-radius:var(--radius-compact);background:var(--surface-secondary);padding:16px;font-size:13px;line-height:19px}.notice.warning{background:var(--attention-surface)}.pill{background:var(--surface-secondary);width:fit-content;min-height:28px;color:var(--text-secondary);border-radius:100px;align-items:center;padding:4px 9px;font-size:11px;font-weight:600;display:inline-flex}.auth-shell{place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-card{gap:24px;width:min(100%,440px);display:grid}.brand{letter-spacing:-.04em;font-size:20px;font-weight:700}@media (min-width:700px){:root{--page-inset:32px}.app-shell{grid-template-columns:84px minmax(0,1fr);display:grid}.side-nav{background:var(--surface);border-right:1px solid var(--separator);flex-direction:column;gap:12px;height:100dvh;padding:22px 12px;display:flex;position:sticky;top:0}.side-nav .brand{text-align:center;margin-bottom:18px}.side-nav .nav-link{border-radius:var(--radius-compact);min-height:56px}.side-nav .nav-link.active{background:var(--surface-selected)}.bottom-nav{display:none}.workspace{width:100%;padding-top:32px;padding-bottom:64px}.two-pane{grid-template-columns:minmax(0,1.55fr) minmax(250px,.85fr)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1100px){:root{--page-inset:40px}.app-shell{grid-template-columns:232px minmax(0,1fr)}.side-nav{padding:22px 14px}.side-nav .brand{text-align:left;padding:0 12px}.side-nav .nav-link{flex-direction:row;justify-content:flex-start;min-height:44px;padding:12px;font-size:12px}.side-nav .nav-link svg{width:20px;height:20px}.two-pane{grid-template-columns:minmax(0,704px) minmax(270px,1fr)}}@media (orientation:landscape) and (max-width:699px){.workspace{max-width:740px}.hero-value{font-size:32px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation:none!important}}body{font-family:var(--font-inter), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;-webkit-font-smoothing:antialiased;font-size:16px}html{overscroll-behavior-y:none;scroll-padding-top:88px}button,a,input,select{-webkit-tap-highlight-color:transparent}button,.button{touch-action:manipulation}button{color:inherit}.workspace{padding-top:24px;padding-bottom:calc(110px + env(safe-area-inset-bottom))}h1{letter-spacing:-.045em;font-size:clamp(30px,4vw,40px);font-weight:700}h2{font-size:20px;font-weight:650;line-height:1.4}.page-heading{gap:5px;margin-bottom:28px;display:grid}.page-heading .subtle{max-width:58ch;margin-top:5px}.eyebrow{letter-spacing:.07em;font-size:12px;line-height:1.6}.caption{font-size:13px;line-height:1.5}.surface{border-color:var(--separator);box-shadow:var(--shadow-surface);border-radius:var(--radius-card)}.hero{background:var(--hero-gradient);padding:var(--card-inset);border-radius:var(--radius-card);gap:12px}.hero .eyebrow,.hero .subtle,.hero .caption{color:var(--text-on-hero-muted)}.hero-value{letter-spacing:-.055em;font-size:clamp(36px,8vw,52px);font-weight:650;line-height:1.15}.hero-action{font-size:18px;line-height:1.5}.hero-rule{background:var(--hero-separator);margin:4px 0}.section-head{align-items:center}.section-head a,.text-link{font-size:14px}.button{border-radius:14px;font-size:15px;font-weight:600;text-decoration:none}.button,.icon-button,button.text-link{transition:background-color .14s ease, color .14s ease, transform .14s var(--ease-out)}.button-primary{box-shadow:none}.button:active:not(:disabled),.icon-button:active:not(:disabled),button.text-link:active:not(:disabled){transform:scale(.98)}.button:disabled{opacity:.65}.icon-button{background:var(--surface-secondary);border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.icon-button svg{width:20px;height:20px}.field label{font-size:14px}.field input,.field select{background:var(--surface);border-color:var(--separator);border-radius:var(--radius-control);min-height:48px;font-size:16px}.field input:focus,.field select:focus{background:var(--surface);border-color:var(--action-primary)}.field small{font-size:13px;line-height:1.5}.form-grid{gap:18px}.notice{border-radius:18px;font-size:14px;line-height:1.55}.account-row{text-align:left;gap:16px;width:100%;padding:14px 0}.account-row>span:first-child{min-width:0}.account-row strong{font-size:16px;line-height:1.4}.account-row .caption{margin-top:4px;display:inline-block}.directory-amount{max-width:46%}.directory-amount strong,.amount{font-variant-numeric:tabular-nums;letter-spacing:-.02em}.directory-amount small{font-size:12px;line-height:1.45}.row-button{transition:background-color .14s}.row-button:active{background-color:var(--surface-selected)}.row-button{border:0;border-bottom:1px solid var(--separator);cursor:pointer;background:0 0}.row-button:last-child{border-bottom:0}.row-button:focus-visible{border-radius:12px}.event-row{text-align:left;width:100%;min-height:68px;font:inherit;color:inherit;padding:14px 0}.event-detail strong{font-size:15px}.event-detail span{font-size:13px;line-height:1.5}.event-row .amount{white-space:nowrap;font-size:16px}.event-row-link{display:block}.date-marker{background:var(--surface-secondary);text-align:center;border-radius:12px;flex:0 0 46px;justify-content:center;align-items:center;width:46px;min-width:46px;min-height:48px;padding:4px}.section-tabs{background:var(--surface-secondary);border-radius:16px;gap:2px;width:fit-content;max-width:100%;margin-bottom:24px;padding:5px}.section-tabs a{border-radius:12px;padding:10px 14px;font-size:14px}.section-tabs a.selected,.section-tabs a[aria-current=page]{background:var(--control-primary);color:var(--control-on-primary);box-shadow:none;font-weight:650}.mobile-header{padding:calc(12px + env(safe-area-inset-top)) var(--page-inset) 10px;background:var(--canvas);justify-content:space-between;align-items:center;display:flex}.luna-brand{letter-spacing:-.06em;align-items:center;gap:10px;font-size:25px;font-weight:750;display:inline-flex}.luna-brand svg{flex-shrink:0;width:38px;height:38px}.header-label{color:var(--text-secondary);font-size:12px}.bottom-nav{padding:7px 8px max(10px, env(safe-area-inset-bottom));border-top-color:var(--separator);background:var(--surface);margin:0}.nav-link{flex:1;gap:5px;min-width:0;font-size:11px;font-weight:500}.nav-link.active{color:var(--action-primary);font-weight:700}.nav-link svg{width:23px;height:23px}.skip-link{z-index:100;background:var(--surface);border-radius:12px;padding:14px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:12px}.heading-actions{justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.heading-actions .page-heading{margin:0}.quick-add-grid,.setup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.setup-card{flex-direction:column;align-items:flex-start;gap:20px;display:flex}.setup-card svg{width:25px;height:25px;color:var(--action-primary)}.setup-card .button{width:100%;margin-top:auto}.empty-state{text-align:center;justify-items:center;gap:14px;padding:32px 12px;display:grid}.empty-state svg{color:var(--action-primary);width:32px;height:32px}.empty-state p{max-width:36ch}.progress-track{background:var(--surface-secondary);border-radius:99px;height:7px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--action-primary);height:100%;display:block}.goal-card{gap:16px;display:grid}.goal-card .account-row{border:0;padding-bottom:0}.sheet{background:var(--surface);width:min(560px,100% - 40px);color:var(--text-primary);max-height:90dvh;box-shadow:var(--shadow-sheet);overscroll-behavior:contain;opacity:0;transition:opacity .15s var(--ease-out), transform .15s var(--ease-drawer);border:0;border-radius:28px;padding:0;overflow-y:auto;transform:translateY(12px)}.sheet::backdrop{background:var(--backdrop);opacity:0;transition:opacity .15s}.sheet[data-state=open]{opacity:1;transition-duration:.18s;transform:translateY(0)}.sheet[data-state=open]::backdrop{opacity:1}.sheet-header{background:var(--surface);z-index:2;justify-content:space-between;gap:16px;padding:24px 24px 18px;display:flex;position:sticky;top:0}.sheet-header h2{letter-spacing:-.04em;font-size:24px}.sheet-body{padding:0 24px 28px}.sheet-description{margin-bottom:20px}.sheet-footer,.form-actions{justify-content:flex-end;gap:10px;padding-top:8px;display:flex}.sheet-footer .button-primary,.form-actions .button-primary{flex:1}.form-error{background:var(--critical-surface);color:var(--critical);border-radius:14px;padding:13px 16px;font-size:14px;line-height:1.5}.form-success{color:var(--positive)}.advanced-fields{border-top:1px solid var(--separator);padding-top:10px}.advanced-fields summary{cursor:pointer;color:var(--action-primary);min-height:44px;padding:12px 0;font-size:14px}.advanced-fields[open] .form-grid{padding-top:12px}.segmented-control{background:var(--surface-secondary);border-radius:14px;gap:4px;padding:4px;display:flex}.segmented-control button{background:0 0;border:0;border-radius:11px;flex:1;min-height:44px;font-size:14px}.segmented-control button[aria-pressed=true]{background:var(--control-primary);color:var(--control-on-primary);box-shadow:none}@media (max-width:699px){.sheet{width:100%;max-width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - 16px);padding-bottom:env(safe-area-inset-bottom);border-radius:28px 28px 0 0;margin:auto 0 0}.sheet-header{padding-top:22px}.sheet .form-grid{grid-template-columns:1fr;gap:16px}.heading-actions{align-items:flex-start}.heading-actions .button{white-space:nowrap;padding:12px 14px}.setup-grid{grid-template-columns:1fr}}@media (min-width:700px){.mobile-header{display:none}.side-nav{background:var(--canvas);padding-top:calc(28px + env(safe-area-inset-top));border-right:0}.side-nav .luna-brand{justify-content:center}.side-nav .luna-brand>span{display:none}.side-nav .brand{padding:0}.workspace{padding-top:44px;padding-bottom:64px}.two-pane{grid-template-columns:minmax(0,1fr)}.context-panel,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.side-nav .nav-link{flex:none;font-size:11px}}@media (min-width:1100px){.side-nav{padding-left:22px;padding-right:18px}.side-nav .luna-brand{justify-content:flex-start}.side-nav .luna-brand>span{display:inline}.side-nav .brand{margin-bottom:34px;padding:0 12px}.side-nav .nav-link{gap:12px;min-height:52px;padding:14px 16px;font-size:15px}.side-nav .nav-link.active{background:var(--surface-selected)}.two-pane{grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:28px}.context-panel{grid-template-columns:1fr}.workspace{padding-top:44px}}@media (max-width:359px){:root{--page-inset:16px;--card-inset:16px}.event-row{gap:10px}.event-row .amount{font-size:14px}.directory-amount{max-width:42%}}.directory-label{align-items:center;gap:12px;min-width:0;display:flex}.directory-label>span:last-child{min-width:0}.row-icon{background:var(--surface-secondary);width:42px;height:42px;color:var(--action-primary);border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.row-icon svg{width:20px;height:20px}.goal-progress-track{background:var(--surface-secondary);border-radius:99px;height:7px;overflow:hidden}.goal-progress-fill{border-radius:inherit;background:var(--action-primary);height:100%}@media (max-width:389px){.directory-label{gap:8px}.row-icon{width:34px;height:34px}}.goal-list{gap:18px;display:grid}.goal-card-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.goal-amount{font-variant-numeric:tabular-nums;letter-spacing:-.035em;font-size:24px;font-weight:650}.goal-card-footer{color:var(--text-secondary);justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;display:flex}.form-success{z-index:50;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));background:var(--surface-hero);color:var(--text-on-hero);border-radius:16px;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 40px);padding:8px 8px 8px 20px;font-size:14px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 30px #111b3526}.form-success p{margin:0}.notice-dismiss{color:inherit;background:0 0}@media (hover:hover) and (pointer:fine){.hero-action:hover,.text-link:hover{text-decoration:underline}.button:hover:not(:disabled){filter:brightness(.95)}.account-row:hover,.event-row-link:hover .event-detail strong{color:var(--action-primary)}}html[data-input-modality=keyboard] :is(.button,.icon-button,button.text-link):active{transform:none}html[data-input-modality=keyboard] :is(.button,.icon-button,.row-button,button.text-link,.sheet),html[data-input-modality=keyboard] .sheet::backdrop{transition:none}@media (prefers-reduced-motion:reduce){.button,.icon-button,button.text-link,.sheet{transition-property:background-color,color,opacity;transform:none!important}}.event-list{gap:0}.event-row{border:0;border-bottom:1px solid var(--separator);background:0 0;border-radius:0}.event-row:last-child{border-bottom:0}@media (min-width:700px){.form-success{bottom:32px}}.goal-card{border-bottom:1px solid var(--separator);padding:22px 0}.goal-card-heading>span{gap:5px;min-width:0;display:grid}.goal-card-heading>span:first-child>strong{font-size:18px}.goal-card-heading small{color:var(--text-secondary);font-size:13px;font-weight:400;line-height:1.5}.goal-card-heading .goal-amount{text-align:right;flex-shrink:0}.goal-card-footer>span:last-child{text-align:right}.goal-progress-fill{display:block}button.text-link{text-align:left;background:0 0;border:0;min-height:44px;padding:10px 0}@media (min-width:700px) and (max-height:500px) and (pointer:coarse){.app-shell{display:block}.side-nav{display:none}.bottom-nav{display:flex}.workspace{padding-top:max(20px, env(safe-area-inset-top));padding-bottom:calc(90px + env(safe-area-inset-bottom))}}@media (max-width:699px){.page-heading>.button{justify-self:start;margin-top:12px}.page-heading>button{width:fit-content}.goal-card-heading{align-items:flex-start}.goal-amount{font-size:20px}.quick-add-grid .setup-card{gap:12px;min-height:132px;padding:20px}}.quick-add-grid .setup-card{text-align:left;align-items:flex-start;font-size:16px}.quick-add-grid small{color:var(--text-secondary);font-size:13px;font-weight:400}.attention-card p{font-size:14px;line-height:1.55}.metric-row{flex-wrap:wrap}.metric-row>strong{margin-left:auto}.forecast-notice{gap:10px;display:grid}.forecast-notice h3{font-size:16px}.forecast-issues{gap:16px;margin:0;padding:0;list-style:none;display:grid}.forecast-issues li{border-top:1px solid var(--separator);gap:6px;padding-top:12px;display:grid}.forecast-issues a{align-items:center;width:fit-content;min-height:44px;display:inline-flex}.mobile-navigation{z-index:20;border:1px solid var(--separator);background:var(--surface);border-radius:20px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:calc(100dvh - 100px);padding:12px;display:grid;position:fixed;top:76px;left:16px;right:16px;overflow-y:auto;box-shadow:0 16px 48px #111b3526}.mobile-navigation .nav-link{border-radius:12px;flex-direction:row;justify-content:flex-start;gap:10px;padding:12px;font-size:14px}.mobile-navigation .nav-link.active{background:var(--surface-selected)}.side-nav{overflow-y:auto}.transfer-instruction{background:var(--surface-secondary);border-radius:14px;gap:6px;padding:18px;display:grid}@media (min-width:700px){.mobile-navigation{display:none}.side-nav{gap:4px}.side-nav .nav-link{min-height:48px}}@media (max-width:699px){.workspace{padding-bottom:32px}}.payday-account{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.payday-account p{margin:4px 0 0}@media (max-width:699px){.heading-actions{flex-direction:column;align-items:stretch;gap:16px}.heading-actions>.button{align-self:flex-start}.payday-account>strong{white-space:nowrap}}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.overview-primary{grid-column:1/-1}.overview-metric{flex-direction:column;gap:16px;min-width:0;display:flex}.overview-metric .text-link,.overview-metric .metric-row{margin-top:auto}.overview-value{letter-spacing:-.04em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(24px,3vw,34px);line-height:1.25}.overview-split{border-top:1px solid var(--hero-separator);grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-top:20px;display:grid}.overview-split>div{gap:6px;font-size:14px;display:grid}.overview-split strong{font-variant-numeric:tabular-nums;font-size:24px}.dashboard-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.dashboard-panels .overview-value{font-size:26px}.forecast-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}.forecast-controls .section-tabs{margin-bottom:0}.forecast-end{flex-wrap:wrap;align-items:center;gap:10px;font-size:14px;display:flex}.forecast-end input{border:1px solid var(--separator);background:var(--surface);min-height:44px;color:inherit;font:inherit;border-radius:12px;padding:8px 10px}.forecast-caption{margin-bottom:24px}.forecast-chart svg{width:100%;height:auto;min-height:180px;display:block}.chart-axis{font:12px var(--font-inter),sans-serif;fill:var(--text-secondary);font-variant-numeric:tabular-nums}.chart-legend{flex-wrap:wrap;gap:4px 20px;display:flex}.chart-legend label{cursor:pointer;align-items:center;gap:8px;min-height:44px;font-size:14px;display:flex}.chart-legend input{accent-color:var(--action-primary);width:17px;height:17px}.chart-swatch{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.forecast-chart input[type=range]{width:100%;min-height:36px;accent-color:var(--action-primary);padding:0}.chart-readout{flex-wrap:wrap;gap:16px 28px;font-size:14px;display:flex}.chart-readout>span{align-items:center;gap:8px;display:flex}.chart-readout strong{font-variant-numeric:tabular-nums}.forecast-table-scroll{overflow-x:auto}.forecast-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.forecast-table th,.forecast-table td{text-align:right;border-bottom:1px solid var(--separator);white-space:nowrap;padding:12px}.forecast-table th:first-child{text-align:left}.forecast-table thead th{color:var(--text-secondary);font-size:12px}.forecast-table tr.selected{background:var(--surface-selected)}.forecast-table button.text-link{padding:0}.forecast-notes{gap:16px;margin-top:24px;display:grid}@media (min-width:1200px){.overview-grid{grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(0,1fr))}.overview-primary{grid-column:auto}}@media (max-width:699px){.overview-grid,.dashboard-panels{grid-template-columns:1fr}.overview-primary{grid-column:auto}.forecast-chart{padding:16px}.forecast-end{align-items:stretch}.forecast-end label{flex-basis:100%}.forecast-table th,.forecast-table td{padding:10px}.forecast-chart .chart-axis{font-size:30px}}.month-carousel{align-items:center;gap:8px;min-width:0;margin-bottom:8px;display:flex}.month-rail{background:var(--surface-muted,#eceef7);scrollbar-width:none;scroll-snap-type:x proximity;border-radius:20px;flex:1;gap:6px;min-width:0;padding:6px;display:flex;position:relative;overflow-x:auto}.month-rail::-webkit-scrollbar{display:none}.month-tab{scroll-snap-align:center;min-height:48px;color:var(--muted,#626e89);font:inherit;cursor:pointer;transition:color .16s ease,background-color .16s ease,transform .12s var(--ease-out);background:0 0;border:0;border-radius:15px;flex-shrink:0;padding:16px 24px}.month-tab.selected{background:var(--control-primary);color:var(--control-on-primary);box-shadow:none;font-weight:650}.month-tab:active,.month-arrow:active{transform:scale(.97)}.month-arrow{background:var(--surface);cursor:pointer;border:0;border-radius:50%;flex-shrink:0;width:44px;height:44px;font-size:28px}.month-arrow:disabled{opacity:.35;cursor:default}.month-period{margin-bottom:20px}.heading-actions>.form-actions{flex-wrap:wrap;justify-content:flex-end}.account-summary{gap:16px;display:grid}.account-summary .hero-value{font-size:clamp(28px,3vw,42px)}@media (prefers-reduced-motion:reduce){.month-content.animated,.month-tab{transition:none}}.mobile-nav-pill{display:none}.mobile-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 10px;display:grid}.mobile-menu-grid .nav-link{text-align:center;flex-direction:column;gap:10px;min-width:0;padding:8px 0;font-size:13px}.mobile-menu-grid .nav-link svg{box-sizing:border-box;background:var(--surface-secondary);border-radius:50%;width:56px;height:56px;padding:16px}.navigation-sheet .sheet-header{padding-top:28px}.navigation-sheet:before{content:"";background:var(--separator);border-radius:4px;width:40px;height:4px;margin:12px auto -8px;display:block}.accounts-overview .account-summary{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:699px){.workspace{padding-bottom:calc(112px + env(safe-area-inset-bottom))}.mobile-nav-pill{z-index:25;bottom:calc(16px + env(safe-area-inset-bottom));max-width:440px;color:var(--action-on-primary);cursor:pointer;text-align:left;transition:transform .12s var(--ease-out);background:#19213a;border:1px solid #ffffff38;border-radius:40px;align-items:center;gap:14px;margin:0 auto;padding:14px 20px;display:flex;position:fixed;left:20px;right:20px;box-shadow:0 8px 30px #101a3629}.mobile-nav-pill:active{transform:scale(.98)}.mobile-nav-pill>span:nth-child(2){flex:1;gap:3px;display:grid}.mobile-nav-pill strong{font-size:16px}.mobile-nav-pill small{color:#bac2db;font-size:12px}.mobile-pill-icon{background:#ffffff12;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.navigation-sheet{max-height:85dvh}.navigation-sheet .sheet-body{padding-bottom:36px}.accounts-overview .account-summary{grid-template-columns:1fr}.account-context{display:none}}html[data-input-modality=keyboard] .mobile-nav-pill{transition:none}@media (prefers-reduced-motion:reduce){.mobile-nav-pill{transition:none}}.date-field{min-width:0}.date-input{background:var(--surface-secondary);border-radius:12px;align-items:center;display:flex}.date-input input{background:0 0;flex:1;min-width:0}.date-input .icon-button{flex-shrink:0;margin-right:6px}.date-calendar{border:1px solid var(--separator);background:var(--surface);border-radius:20px;max-width:360px;margin-top:10px;padding:14px;box-shadow:0 6px 22px #111b350a}.calendar-heading{align-items:center;gap:4px;margin-bottom:12px;display:flex}.calendar-heading select{background:0 0;min-width:0;padding:8px 4px;font-size:14px}.calendar-heading select:first-of-type{flex:1}.calendar-heading select:last-of-type{width:80px}.calendar-heading .icon-button{flex-shrink:0;width:32px;height:36px}.calendar-weekdays,.calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.calendar-weekdays span{text-align:center;color:var(--text-secondary);padding:8px 0;font-size:12px}.calendar-days button{aspect-ratio:1;font:inherit;color:var(--text-primary);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:14px}.calendar-days button[aria-current=date]:not(.selected){box-shadow:inset 0 0 0 1px var(--action-primary);color:var(--action-primary)}.calendar-days button:disabled{opacity:.3;cursor:default}.calendar-footer{border-top:1px solid var(--separator);justify-content:space-between;margin-top:10px;padding:12px 6px 0;font-size:13px;display:flex}@media (hover:hover) and (pointer:fine){.calendar-days button:not(.selected):not(:disabled):hover{background:var(--surface-selected)}}.owner-picker{border:0;min-width:0;margin:0;padding:0}.owner-picker legend{margin-bottom:10px;padding:0;font-size:14px;font-weight:650}.owner-options{flex-wrap:wrap;gap:10px;margin-bottom:10px;display:flex}.owner-option{border:1px solid var(--separator);background:var(--surface);cursor:pointer;border-radius:16px;align-items:center;gap:8px;min-height:48px;padding:10px 14px;font-size:14px;transition:background-color .14s,border-color .14s;display:flex;position:relative}.owner-option input{opacity:0;width:1px;height:1px;min-height:0;padding:0;position:absolute}.owner-avatar{background:var(--surface-secondary);border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;display:grid}.owner-option:has(input:checked){border-color:var(--action-primary);background:var(--surface-selected);color:var(--action-primary);font-weight:650}.owner-option:has(input:focus-visible){outline:2px solid var(--action-primary);outline-offset:3px}@media (max-width:699px){.owner-option{flex-direction:column;flex:1;justify-content:center;padding:12px 8px}}html[data-input-modality=keyboard] .owner-option{transition:none}@media (prefers-reduced-motion:reduce){.owner-option{transition:none}}.account-chart-readout{gap:8px;display:grid}.forecast-month-picker{flex:none;max-width:100%}.forecast-account-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}.forecast-account-groups .account-row{gap:16px;padding:12px 0}.forecast-account-groups .account-row>span{overflow-wrap:anywhere;min-width:0}.forecast-account-groups .account-row>strong{font-variant-numeric:tabular-nums;flex-shrink:0}.forecast-position-heading{scroll-margin-top:24px}@media (max-width:699px){.forecast-account-groups{grid-template-columns:1fr;gap:24px}.forecast-month-picker .month-tab{padding:12px 16px}}.forecast-account-groups{align-items:start;gap:16px}.forecast-disclosure{cursor:pointer;border-radius:12px;align-items:center;gap:16px;min-height:48px;list-style:none;display:flex}.forecast-disclosure::-webkit-details-marker{display:none}.forecast-disclosure h2,.forecast-disclosure h3{flex:1;margin:0}.forecast-disclosure strong{font-variant-numeric:tabular-nums;text-align:right}.forecast-disclosure-chevron{color:var(--action-primary);flex:none;font-size:28px;line-height:1}details[open]>.forecast-disclosure .forecast-disclosure-chevron{transform:rotate(90deg)}.forecast-disclosure:focus-visible{outline:2px solid var(--action-primary);outline-offset:5px}.forecast-account-group{border:1px solid var(--border,#e4e7ef);border-radius:16px;padding:12px 16px}.forecast-account-group .forecast-disclosure{gap:12px}.forecast-account-group .forecast-disclosure h3{font-size:16px}.forecast-account-group[open]>div{padding-top:8px}@media (max-width:699px){.forecast-account-details>.forecast-disclosure h2{font-size:20px}}.balance-refresh-list{gap:16px;display:grid}.balance-refresh-groups{gap:10px;display:grid}.balance-refresh-group{border:1px solid var(--border);border-radius:16px;overflow:hidden}.balance-refresh-group-toggle{background:var(--surface-secondary);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;border:0;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.balance-refresh-group-toggle>span{gap:4px;display:grid}.balance-refresh-group-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.balance-refresh-group-toggle:focus-visible{outline:2px solid var(--action-primary);outline-offset:-3px}.balance-refresh-group .balance-refresh-list:not([hidden]){padding:16px}.balance-refresh-list[hidden]{display:none}.balance-refresh-group .balance-refresh-row:last-child{border:0;padding-bottom:0}.balance-refresh-actions{background:var(--surface);z-index:1;padding:16px 0;position:sticky;bottom:-24px}.dashboard-heading>div:last-child{flex-shrink:0}@media (max-width:600px){.dashboard-heading{flex-wrap:wrap;align-items:flex-start;gap:16px}.dashboard-heading>div:last-child{margin-left:auto}}.balance-refresh-row{border-bottom:1px solid var(--border,#e4e7ef);grid-template-columns:minmax(0,1fr) minmax(140px,180px);gap:16px;padding-bottom:16px;display:grid}.balance-refresh-row .field{margin:0}.preview-tabs{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:480px){.balance-refresh-row{grid-template-columns:minmax(0,1fr);gap:8px}}.overview-metric .overview-split{border-top:1px solid var(--border,#e4e7ef);margin-top:auto;padding-top:20px}.allowance-row{border-bottom:1px solid var(--border,#e4e7ef);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 24px;padding:22px 0;display:grid}.allowance-row .form-actions{grid-column:1/-1;justify-content:flex-start}.allowance-row .form-actions .button{flex:0 auto}.dated-group+.dated-group{border-top:1px solid var(--border,#e4e7ef)}.dated-month{border-top:1px solid var(--border,#e4e7ef);margin:0 8px}.priority-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.priority-row{background:var(--surface-secondary);border-radius:14px;align-items:center;gap:10px;padding:12px 8px;display:flex}.priority-row strong{flex:1;font-size:14px}.priority-number{color:var(--text-secondary);font-variant-numeric:tabular-nums}.drag-handle,.icon-button{width:36px;height:36px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.drag-handle{touch-action:none;cursor:grab}.drag-handle:active{cursor:grabbing}.priority-controls{display:flex}.icon-button:disabled{opacity:.3;cursor:default}.goal-progress-segmented{height:9px;display:flex}.goal-progress-segmented>span{border-radius:0;flex-shrink:0}.goal-progress-spent{background:var(--chart-spent);height:100%}.goal-progress-legend{flex-wrap:wrap;gap:10px 18px;margin-top:12px;font-size:13px;line-height:1.5;display:flex}.goal-progress-legend span{align-items:center;gap:6px;display:inline-flex}.goal-key{border-radius:50%;flex-shrink:0;width:8px;height:8px}.goal-key.available{background:var(--action-primary)}.goal-key.spent{background:var(--chart-spent)}.household-layout{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:28px;max-width:1000px;display:grid}.household-layout>.stack{min-width:0}.household-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:8px 0;display:grid}.household-facts dt{color:var(--text-secondary);margin-bottom:6px;font-size:13px}.household-facts dd{overflow-wrap:anywhere;margin:0;font-size:15px;font-weight:600}.household-budget-form .field{max-width:440px}.household-budget-form>.button{align-self:flex-start;width:auto}.household-member{border-bottom:1px solid var(--border,#e4e7ef);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.household-member:last-child{border-bottom:0}@media (max-width:640px){.household-layout{grid-template-columns:minmax(0,1fr)}.household-facts{grid-template-columns:minmax(0,1fr);gap:16px}.allowance-row{grid-template-columns:minmax(0,1fr)}.allowance-row .overview-value{font-size:28px}.priority-controls{flex-shrink:0}}[hidden]{display:none!important}.spending-history-row .caption{display:block}.spending-history-row .form-actions{flex-shrink:0}.allowance-year{gap:24px;display:grid}.allowance-month{border-top:1px solid var(--border,#e4e7ef);padding-top:20px}.allowance-month-line{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;display:grid}.priority-list,.priority-row{position:relative}.priority-row.dragging{z-index:2;box-shadow:0 12px 28px #111b342e}.priority-row.dragging .drag-handle{cursor:grabbing}@media (max-width:640px){.allowance-month-line{grid-template-columns:minmax(0,1fr) auto;gap:8px}.allowance-month-line .button{grid-column:1/-1;justify-self:start}}.allowance-past-months{border-bottom:1px solid var(--border,#e4e7ef);padding-bottom:12px}.allowance-past-months summary{cursor:pointer;flex-wrap:wrap;gap:12px;min-height:44px}.allowance-past-body{padding-top:16px}.year-rail .month-tab{flex:1 0 88px;padding-inline:12px}.timeline-layout{align-items:start}.timeline-layout .event-list{align-content:start}.static-field{font-variant-numeric:tabular-nums;margin:0;padding-block:12px}.forecast-analysis{align-items:start;gap:20px;display:grid}.forecast-position{gap:12px;min-width:0}.forecast-position .section-head{align-items:start}.forecast-position h2{font-size:18px}.forecast-position .overview-grid{grid-template-columns:1fr;gap:12px}.forecast-position .hero,.forecast-position .surface{border-radius:20px;padding:18px}.forecast-position .hero-value,.forecast-position .overview-value{font-size:30px}.forecast-position .overview-primary{grid-column:auto}.forecast-position .overview-metric{gap:10px}.forecast-position .caption{font-size:12px}.forecast-position .overview-split{gap:10px;margin-top:12px;padding-top:12px}.forecast-position .overview-split>div{font-size:12px}.forecast-position .overview-split strong{font-size:18px}.forecast-position .metric-row{gap:8px;font-size:12px}.forecast-analysis .forecast-chart{gap:16px}.forecast-change-list{margin:0;padding:0;list-style:none}.forecast-change-list>li{border-bottom:1px solid var(--separator);padding:12px 0}@media (min-width:1100px){.forecast-analysis{grid-template-columns:minmax(0,1fr) 300px}}.forecast-selection{align-items:start;margin-bottom:0}.forecast-selection h2{font-size:20px}.forecast-analysis{align-items:stretch}.forecast-analysis .forecast-chart{grid-template-rows:auto auto auto minmax(220px,1fr) auto auto auto;display:grid}.forecast-plot{width:100%;min-width:0;min-height:220px;position:relative}.forecast-plot svg{width:100%;height:100%;min-height:0;position:absolute;inset:0}.forecast-change-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px 24px;display:grid}.forecast-change-list>li{border-bottom:1px solid var(--separator);min-width:0;padding:12px 0}.forecast-change-list>li:last-child{border-bottom:1px solid var(--separator)}.forecast-change-list li .caption{margin:6px 0 0}.goal-funding-row{border-bottom:1px solid var(--separator);font-variant-numeric:tabular-nums;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:4px 12px;padding:10px 0;display:grid}.goal-funding-row:last-child{border-bottom:0}.goal-funding-row small{display:block}.goal-funding-row>.caption{text-align:right;grid-column:2}.goal-funding-rows{max-height:320px;overflow:auto}.goal-detail-layout .context-panel{grid-template-columns:minmax(0,1fr)}@media (max-width:1099px){.forecast-plot{aspect-ratio:3;min-height:240px}}.bill-list-heading{flex-wrap:wrap;gap:12px}.forecast-savings-changes{gap:6px;margin:10px 0 0;padding:0;font-size:14px;list-style:none;display:grid}.forecast-savings-changes li{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.forecast-savings-changes li span{overflow-wrap:anywhere;min-width:0}.forecast-savings-changes li strong{font-variant-numeric:tabular-nums;flex-shrink:0}.bill-list-heading h2{margin:0}.bill-sort{background:var(--surface-secondary);border-radius:12px;gap:2px;padding:4px;display:inline-flex}.bill-sort button{min-height:36px;color:var(--text-secondary);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:8px 12px;font-size:13px;transition:background-color .15s,color .15s}.bill-sort button[aria-pressed=true]{background:var(--control-primary);color:var(--control-on-primary);box-shadow:none;font-weight:650}.bill-sort button:focus-visible{outline:2px solid var(--action-primary);outline-offset:2px}@media (max-width:600px){.bill-sort{width:100%}.bill-sort button{flex:1;min-height:44px}}@media (prefers-reduced-motion:reduce){.bill-sort button{transition:none}}.stack{gap:var(--section-gap)}h2{font-size:20px;line-height:1.35}h3{font-size:17px;line-height:1.4}.page-heading{gap:3px;margin-bottom:20px}.page-heading .subtle{margin-top:2px}.eyebrow{letter-spacing:.06em;font-size:11px}.subtle{font-size:14px;line-height:1.5}.surface,.inset,.sheet{border-radius:var(--radius-card)}.sheet{border-radius:var(--radius-sheet)}.surface>.section-head:last-child{margin-bottom:0}.hero-value{letter-spacing:-.045em;overflow-wrap:anywhere;font-size:clamp(34px,5vw,44px)}.overview-grid{gap:16px}.overview-metric{gap:12px}.overview-split{gap:12px;padding-top:14px}.overview-metric .overview-split{padding-top:14px}.overview-split strong{letter-spacing:-.025em;overflow-wrap:anywhere;font-size:22px}.overview-value{font-weight:650}.dashboard-panels{gap:16px}.dashboard-content{gap:20px}.section-head{flex-wrap:wrap;margin-bottom:10px}.button{border-radius:var(--radius-control);min-height:44px;padding:10px 16px;font-size:14px}button,select,textarea{color:inherit}input::placeholder,textarea::placeholder{color:var(--text-tertiary);opacity:1}input[type=checkbox],input[type=radio]{accent-color:var(--action-primary)}.field input:focus-visible,.field select:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.field input:disabled,.field select:disabled{color:var(--disabled);cursor:not-allowed}.section-tabs{border-radius:var(--radius-control);margin-bottom:20px}.section-tabs a{border-radius:9px;padding:8px 12px}.luna-brand{letter-spacing:-.055em;gap:10px;font-size:26px;font-weight:700}.luna-brand .luna-mark{flex-shrink:0;width:36px;height:36px}.nav-link svg{stroke-width:1.8px;width:20px;height:20px}.nav-link.active svg{stroke-width:2px}.month-rail{border-radius:14px;padding:4px}.month-tab{border-radius:10px;min-height:44px;padding:10px 16px;font-size:14px}.month-arrow{background:var(--surface);color:var(--text-primary);border:1px solid var(--separator)}.calendar-heading select{border:1px solid var(--separator);border-radius:8px}.date-input:focus-within{box-shadow:0 0 0 2px var(--focus-ring)}.date-calendar{box-shadow:var(--shadow-surface)}.row-icon{background:var(--action-subtle)}.icon-button{border-radius:12px;width:44px;height:44px}.chart-axis{fill:var(--text-secondary)}.chart-readout{gap:12px 20px}.forecast-account-details-body{padding-top:16px}.forecast-change-list{gap:8px 20px}.bill-sort button{min-height:44px}.mobile-header{border-bottom:1px solid var(--separator);padding-bottom:12px}.mobile-nav-pill{background:var(--surface-hero);color:var(--text-on-hero);border-color:var(--hero-separator);box-shadow:var(--shadow-sheet)}.mobile-nav-pill small{color:var(--text-on-hero-muted)}.mobile-menu-grid{gap:12px 8px}.mobile-menu-grid .nav-link{border-radius:14px;min-height:88px}.mobile-menu-grid .nav-link svg{border-radius:16px;width:48px;height:48px;padding:13px}.mobile-menu-grid .nav-link.active{color:var(--action-primary)}@media (hover:hover) and (pointer:fine){.nav-link:hover:not(.active),.section-tabs a:hover:not([aria-current=page]):not(.selected),.month-tab:hover:not(.selected){background:var(--surface-secondary);color:var(--text-primary)}.icon-button:hover:not(:disabled){background:var(--surface-selected)}}@media (min-width:700px){.workspace{padding-top:28px;padding-bottom:36px}.side-nav{background:var(--surface);border-right:1px solid var(--separator);gap:4px;padding:24px 10px}.side-nav .brand{margin-bottom:22px}.side-nav .nav-link{border-radius:12px;min-height:48px;padding:10px 8px}}@media (min-width:1100px){:root{--page-inset:28px}.app-shell{grid-template-columns:216px minmax(0,1fr)}.side-nav{padding:28px 14px}.side-nav .brand{margin-bottom:24px;padding:0 10px}.side-nav .nav-link{gap:12px;padding:12px;font-size:14px}.side-nav .nav-link.active{box-shadow:inset 3px 0 0 var(--action-primary)}}@media (max-width:699px){:root{--card-inset:16px;--section-gap:16px}.workspace{padding-top:20px}.heading-actions{gap:12px;margin-bottom:18px}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.overview-primary{grid-column:1/-1}.overview-metric{gap:8px;padding:14px}.overview-metric .overview-value{font-size:clamp(18px,5vw,25px)}.overview-metric .overview-split{grid-template-columns:1fr;gap:8px;padding-top:10px}.overview-metric .overview-split>div{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 8px;display:flex}.overview-metric .overview-split strong{font-size:16px}.overview-metric .metric-row{gap:6px;font-size:12px}.overview-split strong{font-size:22px}.overview-metric .caption{font-size:12px}.dashboard-panels{grid-template-columns:1fr;gap:12px}.goal-card{gap:12px;padding:18px 0}.forecast-position .overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.forecast-position .overview-primary{grid-column:1/-1}.forecast-position .overview-value{font-size:clamp(18px,5vw,25px)}.sheet-header{padding:20px 20px 16px}.sheet-body{padding:0 20px 24px}.sheet{border-radius:var(--radius-sheet) var(--radius-sheet) 0 0}}html[data-input-modality=keyboard] :is(button,input,select,a,.owner-option,.row-button){transition:none}html[data-input-modality=keyboard] :is(button,a):active{transform:none}@media (prefers-reduced-motion:reduce){:is(button,a):active{transform:none!important}.month-tab,.month-arrow{transition:none}}.page-heading>.eyebrow{color:var(--action-primary)}.button-secondary{background:var(--surface-lavender);border-color:var(--brand-border)}.button-tertiary{background:var(--surface-selected)}.hero{background:linear-gradient(120deg, var(--brand-navy) 25%, #342858)}.hero .hero-value{color:#e5d9ff}.overview-credit{background:var(--surface-peach)}.overview-mortgage{background:var(--surface-lavender);border-color:var(--brand-border)}.summary-label{align-items:center;gap:8px;display:flex}.summary-label svg{width:20px;height:20px;color:var(--action-primary);stroke-width:1.8px;flex:none}.hero .summary-label svg{color:var(--brand-lavender)}.overview-credit .summary-label svg{color:var(--attention)}.dashboard-payday{background:var(--surface-lavender);border-color:var(--brand-border)}.dashboard-payday .overview-value{color:var(--action-primary)}.spending-summary{background:var(--surface-lavender);border-color:var(--brand-border)}.spending-summary .metric-row{background:var(--surface);border:1px solid var(--separator);border-radius:12px;padding:10px 12px}.spending-summary>h2,.dashboard-payday h2{color:var(--action-primary)}.goal-list{gap:12px}.goal-card{border:1px solid var(--brand-border);background:var(--surface-lavender);border-radius:16px;padding:16px}.goal-card:last-child{border-bottom:1px solid var(--brand-border)}.goal-card .goal-amount{color:var(--action-primary)}.goal-progress-track{background:var(--surface-selected)}.goal-progress-fill,.goal-key.available{background:var(--chart-savings)}.progress-track span{background:var(--chart-cash)}.row-icon{background:var(--surface-selected);color:var(--action-primary)}.sheet-header{border-bottom:1px solid var(--brand-border);background:var(--surface-lavender);margin-bottom:16px}.sheet-header h2{color:var(--text-primary)}.date-input{border:1px solid var(--brand-border);background:var(--surface-lavender)}.field input:focus,.field select:focus{background:var(--surface-lavender)}.calendar-days button.selected{background:var(--control-primary);color:var(--control-on-primary)}.owner-option:has(input:checked){background:var(--surface-selected);border-color:var(--control-border)}.mobile-header{background:var(--nav-surface);color:var(--text-on-hero);border-color:var(--nav-hover)}.mobile-nav-pill .mobile-pill-icon{background:var(--control-primary);color:var(--control-on-primary)}.mobile-menu-grid .nav-link svg{background:var(--surface-lavender);color:var(--action-primary)}.mobile-menu-grid .nav-link.active svg{background:var(--control-primary);color:var(--control-on-primary)}.mobile-menu-grid .nav-accounts svg,.mobile-menu-grid .nav-bills svg{color:var(--information)}.mobile-menu-grid .nav-goals svg,.mobile-menu-grid .nav-income svg{color:var(--positive)}.mobile-menu-grid .nav-transfers svg{color:var(--attention)}.mobile-menu-grid .nav-link.active svg{color:var(--control-on-primary)}@media (min-width:700px){.side-nav{background:var(--nav-surface);border-color:var(--nav-hover);color:var(--text-on-hero)}.side-nav .nav-link{color:var(--nav-text)}.side-nav .nav-link svg{color:var(--brand-lavender)}.side-nav .nav-accounts svg,.side-nav .nav-bills svg{color:var(--nav-blue)}.side-nav .nav-goals svg,.side-nav .nav-income svg{color:var(--nav-mint)}.side-nav .nav-transfers svg,.side-nav .nav-plan svg{color:var(--nav-peach)}.side-nav .nav-household svg{color:var(--nav-pink)}.side-nav .nav-link.active{background:var(--nav-selected);color:var(--nav-on-selected);box-shadow:none}.side-nav .nav-link.active svg{color:var(--nav-on-selected)}}@media (hover:hover) and (pointer:fine) and (min-width:700px){.side-nav .nav-link:hover:not(.active){background:var(--nav-hover);color:var(--text-on-hero)}}@media (prefers-color-scheme:dark){.hero{background:var(--hero-gradient)}}.attention,.notice.warning .eyebrow{color:var(--attention)}.bill-frequency{border:0;min-width:0;margin:0;padding:0}.bill-frequency legend{margin-bottom:.45rem;font-weight:600}.repeat-controls{grid-template-columns:auto minmax(3.5rem,.6fr) minmax(5rem,1fr);align-items:center;gap:.5rem;margin-top:.5rem;display:grid}.repeat-controls input,.repeat-controls select{width:100%;min-width:0}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.form-grid{align-items:start}.field{align-content:start;align-self:start}.field :where(input:not([type=hidden]):not([type=checkbox]):not([type=radio])),.field select{height:48px}.field select,.date-calendar select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%238995AF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.field textarea{width:100%;min-height:80px;font:inherit;color:var(--text-primary);background:var(--surface);border:1px solid var(--separator);border-radius:var(--radius-control);resize:vertical;padding:12px 14px;font-size:16px;line-height:1.5}.field textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-color:var(--action-primary)}.bill-frequency{display:block}.bill-frequency legend{margin-bottom:6px;padding:0;font-size:14px;font-weight:600}.repeat-controls{margin-top:8px}.date-field{position:relative}.date-input{background:var(--surface);border:1px solid var(--separator);border-radius:var(--radius-control);height:48px}.date-input input,.date-input input:focus,.date-input input:focus-visible{height:46px;min-height:0;box-shadow:none;background:0 0;border:0;outline:none}.date-input .icon-button{background:0 0;width:40px;height:40px;margin-right:3px}.date-calendar{z-index:5;width:min(360px,100%);max-width:calc(100vw - 24px);color:var(--text-primary);overscroll-behavior:contain;border-radius:16px;margin:0;padding:12px;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto}.date-calendar[data-floating=true]{position:fixed;inset:auto}.date-calendar[data-floating=false]{display:block}.date-calendar .calendar-heading{gap:6px;margin-bottom:8px}.date-calendar .calendar-heading select{width:auto;height:40px;min-height:40px;font:inherit;background-color:var(--surface);background-position:right 8px center;border-radius:8px;padding:8px 28px 8px 10px;font-size:14px}.date-calendar .calendar-heading select:first-of-type{flex:1}.date-calendar .calendar-heading select:last-of-type{width:88px}.date-calendar .calendar-heading .icon-button{width:40px;height:40px}.calendar-days{grid-auto-rows:minmax(36px,auto)}.calendar-days button{min-height:36px}.payment-method{border:0;grid-column:1/-1;min-width:0;margin:0;padding:0;display:block}.payment-method legend{margin-bottom:6px;padding:0;font-size:14px;font-weight:600}.payment-method-options{border:1px solid var(--separator);border-radius:var(--radius-control);background:var(--surface-secondary);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.field .payment-method-option{text-align:center;min-width:0;min-height:48px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;padding:10px 8px;font-size:14px;line-height:1.25;display:flex;position:relative}.payment-method-option+.payment-method-option{border-left:1px solid var(--separator)}.payment-method-option input[type=radio]{opacity:0;border:0;width:1px;height:1px;min-height:0;margin:0;padding:0;position:absolute}.field .payment-method-option:has(input:checked){background:var(--surface-selected);color:var(--action-primary);box-shadow:inset 0 -3px var(--action-primary)}.payment-method-option:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:-3px}.payment-method-option input[type=radio]:focus-visible{outline:none}@media (max-width:399px){.field .payment-method-option{padding-inline:4px;font-size:12px}}.sheet{overscroll-behavior:none;overflow:hidden}.sheet[open]{flex-direction:column;display:flex}.sheet-header{touch-action:pinch-zoom;flex:none;margin-bottom:0;position:relative;top:auto}.sheet-body{overscroll-behavior:none;min-height:0;padding-top:16px;overflow:hidden auto}.navigation-sheet:before{flex-shrink:0}.date-calendar{overscroll-behavior:none}
