@font-face{font-family:geist;src:url(/_next/static/media/569ce4b8f30dc480-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:geist Fallback;src:local("Arial");ascent-override:94.47%;descent-override:27.73%;line-gap-override:0.00%;size-adjust:106.39%}.__className_72cc79{font-family:geist,geist Fallback}.__variable_72cc79{--geist-font:"geist","geist Fallback"}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.static{position:static}.block{display:block}.resize{resize:both}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{color-scheme:light;--canvas:#f7faf9;--canvas-glow:transparent;--surface:#fff;--glass-surface:#ffffffe6;--nav-glass-surface:#ffffff94;--glass-line:#dce7e5;--field-surface:#f5f9f8;--ink:#16313a;--ink-soft:#50646b;--muted:#63777c;--line:#dce7e5;--control-line:#9baeb0;--deep:#185f6d;--deep-2:#124e5a;--on-action:#fff;--accent:#e9f3f1;--mint:#e9f3f1;--focus:#185f6d;--warning:#fff0d9;--warning-ink:#81501b;--warning-line:#c29359;--error-surface:#f9e1db;--error:#97372e;--success-surface:#d9eee9;--success:#216d61;--expense-surface:#f7e5dc;--expense-ink:#914c36;--bank-surface:#dcecf5;--bank-ink:#285d7d;--other-surface:#eee8f4;--other-ink:#705584;--hero-start:#185f6d;--hero-end:#124e5a;--hero-ink:#f7fcfe;--hero-muted:#d6edf4;--hero-line:#8fb9c8;--hero-glow:#c7e8ee26;--shadow:0 8px 28px #16313a0d;--control-shadow:none;--input-shadow:none;--action-shadow:none;--hero-shadow:none;--radius:20px;--radius-control:10px;--radius-small:9px;--font-body:var(--geist-font),"Segoe UI",sans-serif;--font-display:var(--geist-font),"Segoe UI",sans-serif;--touch-target:44px;--space-small:12px;--space-medium:20px;--space-large:28px}:root[data-theme=dark]{color-scheme:dark;--canvas:#101d21;--canvas-glow:transparent;--surface:#17282d;--glass-surface:#17282deb;--nav-glass-surface:#17282da3;--glass-line:#355058;--field-surface:#1d3238;--ink:#edf7f5;--ink-soft:#bfd1d0;--muted:#a6bdbb;--line:#355058;--control-line:#7d9a9b;--deep:#a8dce0;--deep-2:#c6ebeb;--on-action:#102d34;--accent:#203d42;--mint:#203d42;--focus:#a8dce0;--warning:#443722;--warning-ink:#f4cb8c;--warning-line:#ad8854;--error-surface:#462d2a;--error:#ffc0ae;--success-surface:#26473f;--success:#ade1d1;--expense-surface:#49362f;--expense-ink:#f3c4ab;--bank-surface:#294756;--bank-ink:#b7def2;--other-surface:#40374b;--other-ink:#dec7ed;--hero-start:#245f77;--hero-end:#173e53;--hero-ink:#f7fcfe;--hero-muted:#d6edf4;--hero-line:#8fb9c8;--hero-glow:#c7e8ee14;--shadow:0 8px 28px #00000021;--control-shadow:none;--input-shadow:none;--action-shadow:none;--hero-shadow:none}*{box-sizing:border-box}html{min-height:100%}body{background:var(--canvas);min-height:100vh;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.brand{color:var(--ink);letter-spacing:-.055em;white-space:nowrap;align-items:center;gap:10px;font-size:22px;font-weight:750;display:inline-flex}.brand-mark{background:var(--deep);width:34px;height:34px;color:var(--accent);font-family:var(--font-display);letter-spacing:-.09em;border-radius:11px 11px 11px 3px;place-items:center;padding-right:4px;font-size:27px;font-style:italic;font-weight:700;display:inline-grid}.eyebrow{color:var(--deep);letter-spacing:.18em;font-size:10px;font-weight:800;line-height:1.4;display:block}.eyebrow-light{color:var(--hero-muted)}.muted{color:var(--ink-soft)}.button{border-radius:var(--radius-control);border:1px solid #0000;justify-content:center;align-items:center;gap:12px;min-height:44px;padding:10px 18px;font-size:14px;font-weight:750;transition:background .2s,transform .2s,border-color .2s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button-primary{background:var(--deep);color:var(--on-action);box-shadow:var(--action-shadow)}.button-primary:hover:not(:disabled){background:var(--deep-2)}.button-outline{background:var(--surface);border-color:var(--control-line);color:var(--deep)}.button-outline:hover:not(:disabled){border-color:var(--deep)}.text-button{color:var(--deep);background:0 0;border:0;padding:5px 0;font-size:13px;font-weight:800}.text-button:hover{color:var(--deep);text-decoration:underline}.auth-layout{padding:var(--space-medium);gap:var(--space-medium);grid-template-columns:minmax(350px,48%) 1fr;min-height:100vh;display:grid}.auth-story{background:radial-gradient(circle at 18% 82%,var(--hero-glow) 0 13%,transparent 13.2%),linear-gradient(150deg,var(--hero-start) 0,var(--hero-end) 75%,var(--hero-end) 100%);border-radius:var(--radius);box-shadow:var(--hero-shadow);flex-direction:column;justify-content:space-between;padding:clamp(30px,5vw,78px);display:flex;overflow:hidden}.auth-story,.brand-light{color:var(--hero-ink)}.brand-light .brand-mark{background:var(--accent);color:var(--deep)}.auth-story-copy{max-width:620px;padding:70px 0}.auth-story-copy h1{max-width:620px;font-family:var(--font-display);letter-spacing:-.072em;margin:18px 0 24px;font-size:clamp(54px,6.4vw,100px);font-weight:640;line-height:1.03}.auth-story-copy p{max-width:430px;color:var(--hero-muted);font-size:18px;line-height:1.55}.auth-story-foot{color:var(--hero-muted);font-size:13px}.auth-panel{place-items:center;padding:42px 24px;display:grid}.auth-card{width:min(100%,460px);padding:var(--space-large);border:1px solid var(--glass-line);border-radius:var(--radius);background:var(--glass-surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.auth-card h2{font-family:var(--font-display);letter-spacing:-.05em;margin:12px 0 6px;font-size:40px;font-weight:640}.auth-card>p{margin:0 0 30px}.auth-switch{color:var(--ink-soft);text-align:center;font-size:14px;margin:24px 0 0!important}.connection-note{background:var(--warning);max-width:340px;color:var(--warning-ink);border-radius:var(--radius-small);box-shadow:var(--shadow);padding:16px;position:fixed;bottom:20px;right:20px}.app-shell{grid-template-columns:226px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--glass-surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);flex-direction:column;min-height:100vh;padding:30px 18px 22px;display:flex}.sidebar-label{color:var(--muted);letter-spacing:.18em;margin:0 14px 13px;font-size:10px;font-weight:800}.main-nav{gap:5px;display:grid}.nav-link{border-radius:var(--radius-control);min-height:44px;color:var(--ink-soft);text-align:left;background:0 0;border:0;align-items:center;gap:14px;padding:9px 14px;font-size:14px;font-weight:650;text-decoration:none;display:flex}.nav-link:hover{background:var(--field-surface);color:var(--ink)}.nav-link.active{background:var(--mint);color:var(--deep);font-weight:800}.nav-icon{width:20px;color:var(--deep);text-align:center;font-size:19px;font-weight:400}.sidebar-bottom{margin-top:auto}.sidebar-profile{border-top:1px solid var(--line);align-items:center;gap:10px;padding:14px 10px;display:flex}.avatar,.top-avatar{background:var(--mint);width:36px;height:36px;color:var(--deep);box-shadow:var(--control-shadow);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.sidebar-profile div{gap:2px;min-width:0;display:grid}.sidebar-profile strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.sidebar-profile div span{color:var(--muted);font-size:11px}.logout-button{border-radius:var(--radius-control);width:100%;color:var(--muted);text-align:left;background:0 0;border:0;justify-content:space-between;padding:11px 12px;font-size:12px;font-weight:700;display:flex}.logout-button:hover{background:var(--field-surface);color:var(--deep)}.main-content{min-width:0}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:20px;min-height:136px;padding:30px clamp(24px,4vw,70px) 25px;display:flex}.topbar h1{font-family:var(--font-display);letter-spacing:-.055em;margin:7px 0 0;font-size:clamp(32px,3.5vw,46px);line-height:1.1}.topbar-right{align-items:center;gap:14px;padding-bottom:3px;display:flex}.count-pill,.period-pill{border:1px solid var(--control-line);background:var(--surface);color:var(--deep);white-space:nowrap;border-radius:999px;padding:8px 15px;font-size:12px;font-weight:750}.top-avatar{display:none}.page-content{max-width:1660px;margin:0 auto;padding:30px clamp(24px,4vw,70px) 70px}.page-intro{margin:0 0 27px}.page-intro p{color:var(--ink-soft);margin:0;font-size:15px;line-height:1.55}.page-intro-actions{justify-content:space-between;align-items:center;gap:18px;display:flex}.page-intro-actions .button{flex:none}.panel-open{max-width:690px;margin:0 auto;display:block}.panel-open>.form-side,.panel-open>.section-card:first-child{display:none}.quick-entry-copy{color:var(--ink-soft);margin:0 0 20px;font-size:14px;line-height:1.55}.back-link{min-height:44px;color:var(--deep);background:0 0;border:0;align-items:center;margin:-12px 0 1px;padding:5px 0;font-size:13px;font-weight:750;display:inline-flex}.back-link:hover{text-decoration:underline}.goal-back{margin:0 0 14px}.filters-disclosure{margin-bottom:18px}.filters-disclosure summary{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--field-surface);min-height:44px;color:var(--deep);cursor:pointer;justify-content:space-between;align-items:center;padding:10px 14px;font-size:13px;font-weight:750;list-style:none;display:flex}.filters-disclosure summary::-webkit-details-marker{display:none}.filters-disclosure summary span{transition:transform .2s}.filters-disclosure[open] summary span{transform:rotate(180deg)}.filters-disclosure .filter-grid{margin:15px 0 0}.welcome-banner{border:1px solid var(--line);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:30px;margin-bottom:22px;padding:24px 28px;display:flex}.welcome-banner h2{font-family:var(--font-display);margin:4px 0 5px;font-size:27px;font-weight:650}.welcome-banner p{color:var(--ink-soft);margin:0;font-size:13px}.dashboard-grid{grid-template-columns:minmax(0,1.63fr) minmax(320px,.9fr);align-items:start;gap:22px}.dashboard-main,.dashboard-side{gap:22px;min-width:0;display:grid}.balance-hero{border:1px solid var(--glass-line);border-radius:var(--radius);background:var(--glass-surface);color:var(--ink);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:clamp(24px,3vw,38px)}.balance-hero-header{justify-content:space-between;align-items:center;display:flex}.currency-tag{border:1px solid var(--line);background:var(--mint);color:var(--deep);letter-spacing:.08em;border-radius:100px;padding:5px 10px;font-size:10px;font-weight:800}.balance-total{overflow-wrap:anywhere;font-family:var(--font-display);letter-spacing:-.065em;font-variant-numeric:tabular-nums;margin:17px 0 0;font-size:clamp(40px,4.5vw,67px);font-weight:620;line-height:1.13;display:block}.balance-hero>p{color:var(--ink-soft);margin:10px 0 29px;font-size:13px}.balance-breakdown{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:22px;display:grid}.balance-breakdown>div{gap:6px;min-width:0;display:grid}.balance-breakdown span{color:var(--muted);font-size:11px}.balance-breakdown strong{overflow-wrap:anywhere;font-size:15px;font-weight:750}.metrics-grid{gap:13px;display:grid}.metric{border:1px solid var(--glass-line);border-radius:var(--radius);background:var(--glass-surface);min-width:0;min-height:132px;box-shadow:var(--shadow);flex-direction:column;padding:21px;display:flex}.metric-label{color:var(--ink-soft);font-size:12px;font-weight:700}.metric strong{overflow-wrap:anywhere;font-family:var(--font-display);letter-spacing:-.045em;font-variant-numeric:tabular-nums;margin-top:16px;font-size:clamp(21px,2vw,30px);font-weight:620;line-height:1.1}.positive{color:var(--success)!important}.metric-caption{color:var(--muted);margin-top:auto;padding-top:8px;font-size:11px}.section-card{border:1px solid var(--glass-line);border-radius:var(--radius);background:var(--glass-surface);min-width:0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:26px}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px;display:flex}.section-heading h2{font-family:var(--font-display);letter-spacing:-.045em;margin:5px 0 0;font-size:25px;font-weight:640}.empty-state{color:var(--muted);text-align:center;padding:36px 10px;font-size:14px;line-height:1.5}.movement-row{border-top:1px solid var(--line);align-items:center;gap:13px;min-height:73px;padding:13px 0;display:flex}.movement-symbol{border-radius:var(--radius-small);background:var(--expense-surface);width:38px;height:38px;color:var(--expense-ink);flex:none;place-items:center;font-size:20px;display:grid}.movement-symbol.income{background:var(--success-surface);color:var(--success)}.movement-symbol.transfer{background:var(--bank-surface);color:var(--bank-ink)}.movement-copy{gap:4px;min-width:0;display:grid}.movement-copy strong{font-size:13px;font-weight:750}.movement-copy span,.movement-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.movement-copy span{color:var(--muted);font-size:11px}.movement-amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;gap:4px;margin-left:auto;display:grid}.movement-amount strong{font-size:13px;font-weight:800}.movement-amount time{color:var(--muted);font-size:11px}.insight-card{border-radius:var(--radius);background:var(--mint);box-shadow:var(--shadow);padding:26px}.insight-card h3{font-family:var(--font-display);letter-spacing:-.04em;margin:10px 0;font-size:25px;font-weight:650}.insight-card p{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.55}.two-column-layout{grid-template-columns:minmax(0,1.4fr) minmax(320px,.75fr);align-items:start;gap:22px;display:grid}.movements-layout{grid-template-columns:minmax(0,1.35fr) minmax(340px,.85fr)}.accounts-list{display:grid}.account-row{border-top:1px solid var(--line);align-items:center;gap:15px;min-height:78px;display:flex}.account-icon{border-radius:var(--radius-small);background:var(--success-surface);width:40px;height:40px;color:var(--success);flex:none;place-items:center;font-size:11px;font-weight:900;display:grid}.account-bank{background:var(--bank-surface);color:var(--bank-ink)}.account-wallet{background:var(--expense-surface);color:var(--expense-ink)}.account-other{background:var(--other-surface);color:var(--other-ink)}.account-copy{gap:4px;min-width:0;display:grid}.account-copy strong{font-size:14px}.account-copy span{color:var(--muted);font-size:12px}.account-money{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;gap:3px;margin-left:auto;display:grid}.account-money strong{font-size:15px}.negative-note{color:var(--warning-ink);font-size:11px}.form-stack{gap:15px;display:grid}.field{min-width:0;color:var(--ink-soft);gap:7px;font-size:12px;font-weight:750;display:grid}.field em{color:var(--muted);font-style:normal;font-weight:400}.field input,.field select{width:100%;height:var(--touch-target);border:1px solid var(--control-line);border-radius:var(--radius-control);background:var(--field-surface);min-width:0;color:var(--ink);box-shadow:var(--input-shadow);padding:0 12px;font-size:13px;font-weight:500;display:block}.field input::placeholder{color:var(--muted)}.field select{padding-right:30px}.field-hint{color:var(--muted);margin:-5px 0 2px;font-size:11px;line-height:1.5}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.money-input{height:var(--touch-target);border:1px solid var(--control-line);border-radius:var(--radius-control);background:var(--field-surface);align-items:center;display:flex}.money-input>span{color:var(--deep);padding:0 0 0 13px;font-weight:800}.money-input input{height:40px;box-shadow:none;background:0 0;border:0}.money-input:focus-within{outline:3px solid var(--focus);outline-offset:2px}.money-input input:focus-visible{outline:none}.segmented{border:1px solid var(--line);border-radius:var(--radius-control);flex-wrap:wrap;gap:3px;padding:4px;display:flex}.segment{min-height:var(--touch-target);border-radius:var(--radius-small);color:var(--ink-soft);white-space:nowrap;background:0 0;border:0;flex:1;padding:7px 8px;font-size:11px;font-weight:800}.segment.active{background:var(--surface);color:var(--deep);box-shadow:var(--control-shadow)}.form-error,.form-success{border-radius:8px;margin:0;padding:10px 12px;font-size:12px;line-height:1.4}.form-error{background:var(--error-surface);color:var(--error)}.form-success{background:var(--success-surface);color:var(--success)}.alert{border-radius:var(--radius-control);margin:0 0 22px;padding:14px 18px;font-size:13px;line-height:1.45}.alert-warning{border:1px solid var(--warning-line);background:var(--warning);color:var(--warning-ink)}.alert-error{background:var(--error-surface);color:var(--error);justify-content:space-between;gap:15px;margin:22px clamp(24px,4vw,70px) 0;display:flex}.alert-error button{color:var(--error);background:0 0;border:0;font-weight:800}.loading-screen{place-content:center;justify-items:center;gap:18px;min-height:100vh;display:grid}.loading-screen p{color:var(--ink-soft);margin:0;font-size:13px}@media (min-width:1181px) and (max-width:1360px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics-grid .metric:last-child{grid-column:1/-1;min-height:110px}}@media (max-width:1180px){.dashboard-grid,.movements-layout,.two-column-layout{grid-template-columns:1fr}.dashboard-side{grid-template-columns:minmax(0,1fr) minmax(250px,.7fr);align-items:start}}@media (max-width:850px){.app-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);min-height:auto;padding:16px 24px 0;position:relative}.sidebar .brand{margin:0 0 15px}.sidebar-bottom,.sidebar-label{display:none}.main-nav{gap:5px;display:flex;overflow-x:auto}.nav-link{white-space:nowrap;border-radius:10px 10px 0 0}.topbar{min-height:125px;padding-top:26px}.top-avatar{display:grid}.auth-layout{grid-template-columns:1fr}.auth-story{min-height:250px;padding:30px}.auth-story-copy{padding:28px 0}.auth-story-copy h1{max-width:600px;margin:8px 0;font-size:clamp(39px,7vw,62px)}.auth-story-copy p,.auth-story-foot{display:none}}@media (max-width:620px){.sidebar{padding-left:14px;padding-right:14px}.nav-link{gap:7px;padding-inline:9px;font-size:12px}.nav-icon{width:15px;font-size:16px}.topbar{align-items:center;min-height:113px;padding:20px 18px}.topbar h1{font-size:34px}.period-pill{display:none}.page-content{padding:20px 16px 45px}.welcome-banner{flex-direction:column;align-items:start;gap:15px;padding:20px}.balance-hero{padding:25px 21px}.balance-total{font-size:clamp(37px,10vw,53px)}.balance-breakdown{gap:15px}.balance-breakdown,.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics-grid{gap:9px}.metrics-grid .metric:last-child{grid-column:1/-1;min-height:110px}.metric{min-height:118px;padding:16px}.metric strong{font-size:24px}.dashboard-side{grid-template-columns:1fr}.section-card{padding:20px}.movement-row{gap:9px}.movement-amount strong{font-size:12px}.auth-story{min-height:230px;padding:23px}.auth-panel{align-items:start;padding:37px 24px}.auth-card h2{font-size:35px}.alert-error{margin:16px}}@media (max-width:380px){.form-grid{grid-template-columns:1fr}.segment{padding-inline:5px;font-size:10px}.nav-link{gap:6px;padding-inline:10px;font-size:12px}.nav-icon{width:14px;font-size:15px}}.account-icon,.avatar,.brand-mark,.button-outline,.movement-symbol,.top-avatar{box-shadow:var(--control-shadow)}.money-input{box-shadow:var(--input-shadow)}.button:active:not(:disabled){transform:translateY(1px)}.theme-selector{color:var(--ink-soft);align-items:center;gap:8px;font-size:12px;font-weight:750;display:flex}.theme-selector select{min-height:var(--touch-target);border:1px solid var(--control-line);border-radius:var(--radius-control);max-width:120px;color:var(--ink);background:var(--surface);box-shadow:var(--control-shadow);padding:0 10px;font-size:12px}.auth-theme{margin-bottom:var(--space-large);justify-content:flex-end;display:flex}.movement-amount time{white-space:normal;line-height:1.5}.account-copy strong{overflow-wrap:anywhere}@media (max-width:850px){.auth-layout{padding:var(--space-small);gap:var(--space-small)}.auth-panel{padding:24px 12px}.topbar{align-items:flex-start}.topbar-right{flex-wrap:wrap;justify-content:flex-end}.top-avatar{display:none}}@media (max-width:620px){.topbar{gap:var(--space-small);flex-wrap:wrap}.topbar-right{justify-content:flex-start;width:100%}.auth-card{padding:var(--space-medium)}.auth-panel{padding:var(--space-small) 0}.movement-row{flex-wrap:wrap}.movement-copy{flex:1}.movement-amount{text-align:left;grid-template-columns:1fr auto;align-items:center;width:100%;padding-left:47px}.movement-amount time{text-align:right}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}@media (forced-colors:active){.balance-hero,.button,.metric,.nav-link,.section-card,.segment{border:1px solid canvastext}.nav-link.active,.segment.active{outline:2px solid highlight}}.month-metrics .metric strong{margin-top:10px}.month-metrics .text-button{align-self:flex-start;margin-top:auto}.inline-actions,.row-actions{align-items:center;gap:14px;display:flex}.row-actions{justify-content:flex-end}.inline-actions .text-button,.row-actions .text-button{white-space:nowrap;font-size:11px}.text-button.danger{color:var(--error)}.account-row{flex-wrap:wrap;padding:10px 0}.account-row .row-actions{flex-basis:100%;padding-left:55px}.history-entry{border-top:1px solid var(--line)}.history-entry .row-actions{padding:0 0 13px 50px}.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px;display:grid}.load-more{width:100%;margin-top:16px}.category-list{flex-wrap:wrap;gap:10px;display:flex}.category-chip{border:1px solid var(--line);background:var(--mint);color:var(--deep);border-radius:999px;padding:10px 15px;font-size:13px;font-weight:700}.settings-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:22px;display:grid}.goal-metrics{margin-bottom:22px}.form-side{align-content:start;gap:22px;display:grid}.goal-card{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--field-surface);width:100%;color:var(--ink);text-align:left;gap:13px;margin-bottom:12px;padding:18px;display:grid}.goal-card.selected{border-color:var(--deep);background:var(--mint)}.chart-label,.goal-card-bottom,.goal-card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.goal-card-top strong{font-size:15px}.goal-card-bottom{color:var(--ink-soft);font-size:12px}.goal-status{color:var(--deep);font-size:11px;font-weight:800}.chart-track,.goal-progress{background:var(--line);border-radius:999px;height:10px;display:block;overflow:hidden}.chart-track>span,.goal-progress>span{border-radius:inherit;background:var(--deep);height:100%;display:block}.goal-detail{color:var(--ink-soft);font-size:13px;line-height:1.8}.goal-detail strong{color:var(--ink)}.goal-history-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:13px 0;display:flex}.goal-history-row>div{gap:4px;display:grid}.goal-history-row strong{font-size:13px}.goal-history-row span,.goal-history-row time{color:var(--muted);font-size:11px}.expense-chart{gap:18px;display:grid}.chart-row{gap:8px;display:grid}.chart-label strong{font-size:13px}.chart-label span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.chart-track>span{background:linear-gradient(90deg,var(--deep),var(--success))}.income-expense-chart{gap:4px;display:grid}.chart-graphic{min-width:0}.chart-totals{color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:12px;display:flex}.chart-totals span{gap:8px;display:flex}.chart-totals strong{color:var(--ink);font-variant-numeric:tabular-nums}.bottom-nav,.mobile-signout{display:none}@media (max-width:1180px){.settings-layout{grid-template-columns:1fr}}@media (max-width:850px){.mobile-signout{display:inline-flex}}@media (max-width:620px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.row-actions{flex-wrap:wrap}.chart-label,.goal-card-bottom,.goal-card-top{align-items:flex-start}.sidebar{padding-bottom:0}.sidebar .brand{margin-bottom:16px}.sidebar .main-nav,.sidebar-label{display:none}.page-content{padding-bottom:125px}.bottom-nav{z-index:20;min-height:72px;padding:5px 5px max(5px,env(safe-area-inset-bottom));border-top:1px solid var(--glass-line);background:var(--glass-surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -6px 24px #0000001f}.bottom-link{min-width:0;min-height:57px;color:var(--ink-soft);border:0;border-radius:12px;place-content:center;justify-items:center;gap:1px;font-size:10px;font-weight:750;text-decoration:none;display:grid}.bottom-link span{color:var(--deep);font-size:20px;line-height:1.2}.bottom-link.active{color:var(--deep);background:var(--mint)}.bottom-more{min-width:0;position:relative}.bottom-more summary{cursor:pointer;list-style:none}.bottom-more summary::-webkit-details-marker{display:none}.more-menu{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);min-width:170px;box-shadow:var(--shadow);padding:8px;display:grid;position:absolute;bottom:calc(100% + 10px);right:0}.more-menu a{color:var(--ink);border-radius:9px;padding:10px;font-size:13px;text-decoration:none}.more-menu a:hover{background:var(--mint)}}@media (max-width:380px){.filter-grid{grid-template-columns:1fr}}@media (max-width:620px){.topbar{min-height:98px;padding:12px 18px 15px}.topbar h1{font-size:29px}.page-intro-actions{flex-direction:column;align-items:stretch}.page-intro-actions .button{width:100%}.goal-selected .goal-metrics,.goal-selected .two-column-layout>.section-card:first-child{display:none}.goal-selected .two-column-layout{display:block}.goal-selected .form-side{display:grid}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){:root{--glass-surface:#fff}:root[data-theme=dark]{--glass-surface:#17282d}}@media (prefers-reduced-transparency:reduce){:root{--glass-surface:#fff}:root[data-theme=dark]{--glass-surface:#17282d}}.app-shell{grid-template-columns:214px minmax(0,1fr)}.sidebar{background:var(--canvas);-webkit-backdrop-filter:none;backdrop-filter:none;padding:31px 20px}.sidebar .brand{margin:0 8px 46px}.brand{font-size:19px}.brand-mark{border-radius:9px;width:30px;height:30px;padding-right:2px;font-size:20px}.sidebar-label{letter-spacing:.1em;margin-inline:12px}.nav-link{gap:12px;min-height:42px;padding:8px 12px;font-size:13px;font-weight:570}.nav-link.active{font-weight:730}.nav-icon{width:19px;font-size:17px}.sidebar-profile{padding-inline:7px}.topbar{border-bottom:0;min-height:0;padding:39px clamp(24px,4vw,68px) 25px}.topbar h1{letter-spacing:-.065em;font-size:clamp(30px,3vw,39px);font-weight:650}.topbar .eyebrow{color:var(--muted);letter-spacing:.02em;font-size:11px;font-weight:650}.page-content{max-width:1290px;padding:0 clamp(24px,4vw,68px) 80px}.period-pill{color:var(--muted);background:0 0;border:0;font-weight:600}.eyebrow{letter-spacing:.1em}.button{font-size:13px;font-weight:680}.button-outline{background:0 0}.text-button{font-weight:680}.field input,.field select,.money-input{background:var(--surface)}.segmented{background:var(--field-surface)}.welcome-banner{border-radius:var(--radius-control);background:var(--mint);box-shadow:none}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(245px,.8fr);gap:0 44px;display:grid}.dashboard-main,.dashboard-side{display:contents}.balance-hero{box-shadow:none;grid-area:1/1/auto/-1;grid-template-columns:minmax(0,1fr) minmax(250px,.95fr);gap:0 34px;padding:31px 34px;display:grid}.balance-hero-header{grid-column:1;align-self:end}.balance-hero .eyebrow{color:var(--ink-soft);letter-spacing:0;font-size:12px;font-weight:650}.balance-total{letter-spacing:-.075em;grid-column:1;margin:16px 0 9px;font-size:clamp(39px,4.3vw,61px);font-weight:660;line-height:1}.balance-hero>p{color:var(--muted);grid-column:1;margin:0}.balance-breakdown{border-top:0;border-left:1px solid var(--line);grid-area:1/2/4;grid-template-columns:1fr;align-content:center;gap:11px;padding:0 0 0 36px}.balance-breakdown>div{justify-content:space-between;gap:12px;display:flex}.balance-breakdown span{font-size:13px}.balance-breakdown strong{text-align:right;font-variant-numeric:tabular-nums;font-size:13px;font-weight:650}.dashboard-alerts{grid-area:2/1/auto/-1}.dashboard-alerts .alert{margin-bottom:8px}.dashboard-main>.metrics-grid:not(.month-metrics){grid-area:3/1/auto/-1;margin:25px 0 38px}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.metrics-grid .metric:last-child{grid-column:auto;min-height:0}.metric{border:0;border-left:1px solid var(--line);min-height:0;box-shadow:none;background:0 0;border-radius:0;padding:3px 24px}.metric:first-child{border-left:0;padding-left:0}.metric-label{color:var(--muted);font-weight:600}.metric strong{margin-top:8px;font-size:clamp(20px,2vw,27px);font-weight:640}.metric-caption{padding-top:5px}.month-header{border-top:1px solid var(--line);grid-area:4/1/auto/-1;justify-content:space-between;align-items:flex-end;gap:18px;padding:8px 0 15px;display:flex}.month-header h2{letter-spacing:-.04em;margin:3px 0;font-size:21px;font-weight:660}.month-header p{color:var(--muted);margin:0;font-size:12px}.month-controls{align-items:center;gap:5px;display:flex}.month-controls button,.month-controls input{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);min-height:42px;color:var(--ink)}.month-controls button{min-width:42px;font-size:17px}.month-controls button:disabled{opacity:.5}.month-controls input{width:148px;font:inherit;padding:0 9px;font-size:12px}.month-controls :focus-visible{outline:3px solid var(--focus);outline-offset:2px}.dashboard-main>.month-metrics{grid-area:5/1/auto/-1;margin:5px 0 34px}.month-metrics .metric{min-height:0}.dashboard-main>.movements-section{grid-area:6/1}.dashboard-side>.quick-entry{grid-area:6/2;align-self:start}.dashboard-main>.section-card:nth-last-child(3){grid-area:7/1}.dashboard-main>.section-card:nth-last-child(2){grid-area:8/1}.dashboard-main>.section-card:last-child{grid-area:9/1}.dashboard-side>.section-card:last-child{grid-area:7/2;align-self:start}.section-card{border:0;border-top:1px solid var(--line);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-radius:0;padding:19px 0 25px}.section-heading{margin-bottom:15px}.section-heading h2{margin-top:2px;font-size:20px;font-weight:660}.movement-row{min-height:69px}.movement-symbol{border-radius:50%;width:10px;height:10px;font-size:0}.movement-amount strong,.movement-copy strong{font-weight:650}.quick-entry{padding:19px 0 25px}.quick-entry-copy{margin-bottom:16px}.goal-card{background:0 0}.goal-card:hover{border-color:var(--control-line)}.auth-card,.form-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--glass-surface);padding:26px}.two-column-layout.panel-open{max-width:690px;margin-inline:auto;display:block}.category-layout{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr)}.category-create{margin-bottom:27px}.category-create .button{justify-self:start}.category-group{border-top:1px solid var(--line);padding:18px 0}.category-group h3{margin:0 0 12px;font-size:14px;font-weight:680}.category-item{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:55px;display:flex}.category-name{overflow-wrap:anywhere;font-size:13px;font-weight:610}.category-name.archived{color:var(--muted)}.category-name small{font-size:11px;font-weight:500}.category-edit{gap:8px;width:100%;padding:12px 0;display:grid}.category-list{gap:8px}.category-chip{background:var(--field-surface);padding:8px 12px;font-weight:600}.category-control{gap:8px;display:grid}.category-control>.text-button{justify-self:start}.category-inline-create{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--field-surface);align-items:end;gap:10px;padding:13px;display:flex}.category-inline-create .field{flex:1}.payment-breakdown{display:grid}.payment-row{border-top:1px solid var(--line);justify-content:space-between;gap:15px;padding:14px 0;font-size:13px;display:flex}.payment-row strong{font-variant-numeric:tabular-nums}.settings-layout .section-card{padding-top:20px}.settings-layout .muted{margin:0 0 20px;font-size:13px;line-height:1.55}.settings-layout .button{justify-self:start}.auth-layout{grid-template-columns:minmax(350px,44%) 1fr;gap:0;padding:0}.auth-story{background:var(--hero-start);box-shadow:none;border-radius:0}.auth-story-copy h1{font-size:clamp(50px,5.2vw,75px)}@media (max-width:1180px){.dashboard-grid{grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);gap:0 25px}.category-layout{grid-template-columns:1fr}}@media (max-width:850px){.sidebar{padding:16px 24px 0}.sidebar .brand{margin:0 0 15px}.topbar{padding:28px 26px 25px}.page-content{padding:0 26px 100px}.dashboard-grid{grid-template-columns:1fr}.dashboard-main>.movements-section,.dashboard-main>.section-card:last-child,.dashboard-main>.section-card:nth-last-child(2),.dashboard-main>.section-card:nth-last-child(3),.dashboard-side>.quick-entry,.dashboard-side>.section-card:last-child{grid-column:1}.dashboard-side>.quick-entry{grid-row:7}.dashboard-side>.section-card:last-child{grid-row:8}.dashboard-main>.section-card:nth-last-child(3){grid-row:9}.dashboard-main>.section-card:nth-last-child(2){grid-row:10}.dashboard-main>.section-card:last-child{grid-row:11}.auth-layout{grid-template-columns:1fr}}@media (max-width:620px){.sidebar{padding:13px 19px 0}.sidebar .brand{margin-bottom:0}.topbar{min-height:0;padding:25px 19px 24px}.topbar h1{font-size:31px}.page-content{padding:0 19px 115px}.balance-hero{grid-template-columns:1fr;gap:0;padding:25px 23px}.balance-total{font-size:43px}.balance-breakdown{border-top:1px solid var(--line);border-left:0;grid-area:4/1;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 20px;margin-top:20px;padding:20px 0 0}.balance-breakdown>div{gap:3px;display:grid}.balance-breakdown strong{text-align:left}.dashboard-main>.metrics-grid:not(.month-metrics){margin:24px 0 30px}.metric{padding:0 10px}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics-grid .metric:last-child{grid-column:auto;min-height:0}.metric strong{font-size:18px}.metric-caption{display:none}.month-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.month-metrics .metric:last-child{border-top:1px solid var(--line);border-left:0;grid-column:1/-1;margin-top:14px;padding:14px 0 0}.month-header{flex-direction:column;align-items:flex-start}.month-controls{width:100%}.month-controls input{flex:1;width:0}.category-item{flex-wrap:wrap;padding:10px 0}.category-inline-create{flex-direction:column;align-items:stretch}.category-inline-create .button{width:100%}.section-card{padding:19px 0 25px}.auth-card,.form-card{padding:22px}.auth-story{min-height:190px}.auth-story-copy h1{font-size:40px}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}:root[data-palette=indigo]:not([data-theme=dark]){--canvas:#f7f8fc;--surface:#ffffff;--field-surface:#ecedf9;--ink:#202740;--ink-soft:#626c86;--muted:#626c86;--line:#dfe3ee;--glass-line:#dfe3ee;--control-line:#626c86;--deep:#4856a8;--deep-2:#4856a8;--on-action:#ffffff;--accent:#ecedf9;--mint:#ecedf9;--focus:#4856a8;--hero-start:#4856a8;--hero-end:#4856a8;--hero-ink:#ffffff;--hero-muted:#ffffff;--hero-line:#dfe3ee;--hero-glow:transparent;--glass-surface:color-mix(in srgb,#ffffff 90%,transparent)}:root[data-palette=indigo][data-theme=dark]{--canvas:#141722;--surface:#1d2232;--field-surface:#2d3556;--ink:#eff1fc;--ink-soft:#b2bad0;--muted:#b2bad0;--line:#384158;--glass-line:#384158;--control-line:#b2bad0;--deep:#b9c3ff;--deep-2:#b9c3ff;--on-action:#202846;--accent:#2d3556;--mint:#2d3556;--focus:#b9c3ff;--hero-start:#4856a8;--hero-end:#4856a8;--hero-ink:#ffffff;--hero-muted:#ffffff;--hero-line:#384158;--hero-glow:transparent;--glass-surface:color-mix(in srgb,#1d2232 90%,transparent)}:root[data-palette=forest]:not([data-theme=dark]){--canvas:#f5f8f4;--surface:#ffffff;--field-surface:#e7f0e6;--ink:#24382a;--ink-soft:#617367;--muted:#617367;--line:#dce6dc;--glass-line:#dce6dc;--control-line:#617367;--deep:#38664b;--deep-2:#38664b;--on-action:#ffffff;--accent:#e7f0e6;--mint:#e7f0e6;--focus:#38664b;--hero-start:#38664b;--hero-end:#38664b;--hero-ink:#ffffff;--hero-muted:#ffffff;--hero-line:#dce6dc;--hero-glow:transparent;--glass-surface:color-mix(in srgb,#ffffff 90%,transparent)}:root[data-palette=forest][data-theme=dark]{--canvas:#121c16;--surface:#1c2a21;--field-surface:#2b4433;--ink:#eef6ec;--ink-soft:#adbfaf;--muted:#adbfaf;--line:#354b3b;--glass-line:#354b3b;--control-line:#adbfaf;--deep:#a8d5b4;--deep-2:#a8d5b4;--on-action:#163322;--accent:#2b4433;--mint:#2b4433;--focus:#a8d5b4;--hero-start:#38664b;--hero-end:#38664b;--hero-ink:#ffffff;--hero-muted:#ffffff;--hero-line:#354b3b;--hero-glow:transparent;--glass-surface:color-mix(in srgb,#1c2a21 90%,transparent)}:root[data-palette=plum]:not([data-theme=dark]){--canvas:#faf7fa;--surface:#ffffff;--field-surface:#f1e9f3;--ink:#39263d;--ink-soft:#7b687f;--muted:#7b687f;--line:#e9deeb;--glass-line:#e9deeb;--control-line:#7b687f;--deep:#795481;--deep-2:#795481;--on-action:#ffffff;--accent:#f1e9f3;--mint:#f1e9f3;--focus:#795481;--hero-start:#795481;--hero-end:#795481;--hero-ink:#ffffff;--hero-muted:#ffffff;--hero-line:#e9deeb;--hero-glow:transparent;--glass-surface:color-mix(in srgb,#ffffff 90%,transparent)}:root[data-palette=plum][data-theme=dark]{--canvas:#1d1620;--surface:#2a2030;--field-surface:#46334d;--ink:#f8edf9;--ink-soft:#c6afcc;--muted:#c6afcc;--line:#4e3b55;--glass-line:#4e3b55;--control-line:#c6afcc;--deep:#dab9e3;--deep-2:#dab9e3;--on-action:#35213c;--accent:#46334d;--mint:#46334d;--focus:#dab9e3;--hero-start:#795481;--hero-end:#795481;--hero-ink:#ffffff;--hero-muted:#ffffff;--hero-line:#4e3b55;--hero-glow:transparent;--glass-surface:color-mix(in srgb,#2a2030 90%,transparent)}:root[data-palette=sand]:not([data-theme=dark]){--canvas:#faf7f2;--surface:#fffdfa;--field-surface:#f1e8dc;--ink:#3c3027;--ink-soft:#7a6b5f;--muted:#7a6b5f;--line:#e8dfd4;--glass-line:#e8dfd4;--control-line:#7a6b5f;--deep:#805d3b;--deep-2:#805d3b;--on-action:#ffffff;--accent:#f1e8dc;--mint:#f1e8dc;--focus:#805d3b;--hero-start:#805d3b;--hero-end:#805d3b;--hero-ink:#ffffff;--hero-muted:#ffffff;--hero-line:#e8dfd4;--hero-glow:transparent;--glass-surface:color-mix(in srgb,#fffdfa 90%,transparent)}:root[data-palette=sand][data-theme=dark]{--canvas:#211b16;--surface:#2e261f;--field-surface:#4a3b2d;--ink:#faf1e8;--ink-soft:#c8b7a6;--muted:#c8b7a6;--line:#514335;--glass-line:#514335;--control-line:#c8b7a6;--deep:#dfc09a;--deep-2:#dfc09a;--on-action:#37281b;--accent:#4a3b2d;--mint:#4a3b2d;--focus:#dfc09a;--hero-start:#805d3b;--hero-end:#805d3b;--hero-ink:#ffffff;--hero-muted:#ffffff;--hero-line:#514335;--hero-glow:transparent;--glass-surface:color-mix(in srgb,#2e261f 90%,transparent)}@supports not (backdrop-filter:blur(1px)){:root[data-palette][data-theme]{--glass-surface:var(--surface)}}@media (prefers-reduced-transparency:reduce){:root[data-palette][data-theme]{--glass-surface:var(--surface)}}:root{--nav-inset:12px;--nav-padding:6px;--nav-gap:4px;--nav-height:66px;--motion-quick:180ms;--section-gap:28px;--content-reading-width:860px;--glass-shadow:0 8px 28px rgb(0 0 0/12%),inset 0 1px 0 color-mix(in srgb,var(--surface) 70%,transparent);--sidebar-closed-width:72px;--sidebar-open-width:214px;--sidebar-motion:280ms cubic-bezier(.2,.8,.2,1);--theme-motion:360ms ease-in-out}@media (prefers-reduced-motion:no-preference){:where(:root[data-theme-ready]) :where(body,body *){transition:color var(--theme-motion),background-color var(--theme-motion),border-color var(--theme-motion),box-shadow var(--theme-motion),fill var(--theme-motion),stroke var(--theme-motion)}}a:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.button{text-decoration:none}.button-primary{position:relative;isolation:isolate;border-color:transparent;background:linear-gradient(var(--deep),var(--deep)) padding-box,linear-gradient(110deg,var(--deep),var(--accent),var(--deep)) border-box}.button-primary:hover:not(:disabled){background:linear-gradient(var(--deep-2),var(--deep-2)) padding-box,linear-gradient(110deg,var(--deep),var(--surface),var(--deep)) border-box}.button-primary:before{position:absolute;z-index:-1;inset:-3px;border-radius:inherit;background:var(--deep);filter:blur(9px);opacity:0;content:"";pointer-events:none;transition:opacity var(--motion-quick)}.button-primary:focus-visible:before,.button-primary:hover:not(:disabled):before{opacity:.38}.password-control{position:relative}.password-control input{padding-right:54px}.password-control.is-encrypting input{color:transparent;-webkit-text-fill-color:transparent;caret-color:transparent}.password-encrypted{position:absolute;inset:0 54px 0 12px;display:flex;align-items:center;overflow:hidden;color:var(--ink);font-size:13px;font-weight:500;white-space:nowrap;pointer-events:none}.password-eye{position:absolute;inset:0 2px 0 auto;display:grid;place-items:center;width:var(--touch-target);border:0;border-radius:var(--radius-control);background:transparent;color:var(--deep)}.password-eye:hover{background:var(--mint)}.password-eye svg{width:20px;height:20px}@media (min-width:851px){.app-shell{grid-template-columns:var(--sidebar-closed-width) minmax(0,1fr);transition:grid-template-columns var(--sidebar-motion)}.app-shell[data-sidebar-open=true]{grid-template-columns:var(--sidebar-open-width) minmax(0,1fr)}.sidebar{width:100%;min-width:0;overflow:hidden;padding:31px 14px 22px;transition:padding var(--sidebar-motion),background-color var(--theme-motion),border-color var(--theme-motion)}.app-shell[data-sidebar-open=true] .sidebar{padding-inline:20px}.sidebar .brand{gap:0;margin:0 7px 46px}.app-shell[data-sidebar-open=true] .sidebar .brand{gap:10px;margin-left:8px}.sidebar .brand-mark,.sidebar .nav-icon,.sidebar .sidebar-profile .avatar{flex:none}.sidebar-brand-name,.sidebar-nav-text,.sidebar-profile-copy{min-width:0;max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:max-width var(--sidebar-motion),opacity .12s ease}.app-shell[data-sidebar-open=true] :is(.sidebar-brand-name,.sidebar-nav-text,.sidebar-profile-copy){max-width:150px;opacity:1;transition-delay:50ms}.sidebar-label{visibility:hidden}.app-shell[data-sidebar-open=true] .sidebar-label{visibility:visible}.sidebar .nav-link{width:100%;gap:0;overflow:hidden;transition:background var(--motion-quick),color var(--motion-quick),gap var(--sidebar-motion)}.app-shell[data-sidebar-open=true] .sidebar .nav-link{gap:12px}.sidebar .sidebar-profile{gap:0;padding-inline:4px;transition:gap var(--sidebar-motion)}.app-shell[data-sidebar-open=true] .sidebar .sidebar-profile{gap:10px;padding-inline:7px}.sidebar .main-nav .nav-link:hover{background:var(--field-surface)}.sidebar .main-nav .nav-link.active{box-shadow:inset 3px 0 0 var(--deep)}}.back-link,.profile-link,.text-button{text-decoration:none}.profile-link{border-radius:50%}.topbar .back-link{display:block;width:fit-content}.home-overview{max-width:var(--content-reading-width)}.home-balance{padding:30px;border:1px solid var(--glass-line);border-radius:var(--radius);background:var(--surface)}.home-balance-heading{display:flex;align-items:center;justify-content:space-between;color:var(--ink-soft);font-size:14px;font-weight:650}.home-amount{display:block;margin-top:15px;font-size:clamp(30px,4vw,54px);letter-spacing:-.065em;line-height:1.2;font-weight:650;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.home-balance>p{color:var(--muted);font-size:13px;margin:10px 0 24px}.home-balances{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);padding-top:20px;gap:20px}.home-balances a{color:var(--ink);text-decoration:none;min-width:0}.home-balances span{font-size:13px;color:var(--ink-soft)}.home-balances strong{display:block;margin-top:5px;font-size:19px;font-weight:650;letter-spacing:-.04em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.home-primary-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 var(--section-gap)}.home-primary-actions .button-primary{flex:1}.home-recent .section-heading{align-items:baseline;flex-wrap:wrap;gap:10px}.home-recent .section-heading h2{font-size:21px}.movement-copy span,.movement-copy strong{white-space:normal;overflow-wrap:anywhere}.movement-row{gap:14px}.movement-amount strong{font-variant-numeric:tabular-nums}.home-goals-list{display:grid;gap:14px}.home-goal{display:grid;gap:8px;padding:12px 0;color:var(--ink);text-decoration:none;border-radius:var(--radius-control)}.home-goal-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.home-goal-heading strong{min-width:0;overflow-wrap:anywhere;font-size:14px}.home-goal-heading>span{flex:none;color:var(--ink-soft);font-size:13px;font-variant-numeric:tabular-nums}.home-goal .goal-progress{height:6px}.home-goal:hover .home-goal-heading strong{color:var(--deep)}.activity-view{max-width:1250px}.activity-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}.period-selector{width:min(100%,450px)}.period-tabs{display:grid;grid-template-columns:.75fr .75fr .75fr 1.5fr;background:var(--mint);padding:4px;border-radius:var(--radius-control);gap:3px}.period-tabs button{min-height:var(--touch-target);border:0;border-radius:8px;padding:8px;color:var(--ink-soft);background:transparent;font-size:13px;font-weight:650;transition:background var(--motion-quick),color var(--motion-quick),box-shadow var(--motion-quick)}.period-tabs button[aria-pressed=true]{background:var(--surface);color:var(--deep);box-shadow:var(--shadow)}.period-fields{display:flex;gap:10px;align-items:flex-end;margin-top:15px}.period-fields .field{flex:1;min-width:0}.period-fields input{min-width:0;width:100%}.period-arrow{width:var(--touch-target);min-height:var(--touch-target);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--deep);background:var(--surface);flex-shrink:0}.period-fields{flex-wrap:wrap}.period-apply{flex-basis:100%;text-align:right}.clear-filters,.period-apply{min-height:var(--touch-target)}.clear-filters{margin:0 16px 16px}.activity-caption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;align-items:center;margin:20px 0;font-size:13px;color:var(--muted)}.activity-caption a{min-height:var(--touch-target);display:inline-flex;align-items:center}.history-date{font-size:14px;font-weight:650;margin:28px 0 8px;color:var(--ink-soft)}.history-entry{margin-bottom:8px;padding:2px 16px 0;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface)}.history-entry .movement-row{border-top:0}.history-entry .row-actions{padding:0 0 4px 24px}.history-entry .row-actions .text-button{min-height:var(--touch-target);display:inline-flex;align-items:center}.history-entry .movement-row{padding-block:12px 4px}.history-entry .movement-copy{gap:2px}.account-money>span:not(.negative-note){color:var(--muted);font-size:11px}.category-renamed{color:var(--muted);opacity:.78}.goal-account-breakdown,.goal-reconciliation{display:grid;gap:10px;margin:18px 0;padding:16px 0;border-top:1px solid var(--line)}.goal-account-breakdown>div{display:flex;justify-content:space-between;gap:16px;color:var(--ink-soft);font-size:13px}.goal-reconciliation .field{margin:0}.goal-list-layout .section-card{padding-block:22px}.goal-list-layout .goal-card{margin-bottom:0;padding:16px 0;border:0;border-bottom:1px solid var(--line);border-radius:0}.goal-list-layout .goal-card:last-child{border-bottom:0}.goal-list-layout .goal-card:hover{background:var(--field-surface)}.goal-list-layout .goal-card.selected{background:var(--mint)}.goal-selected .goal-metrics,.goal-selected .two-column-layout>.section-card:first-child{display:none}.goal-selected .two-column-layout{display:block;max-width:720px;margin-inline:auto}.goal-selected .form-side{display:grid;gap:var(--space-medium)}@media(min-width:621px){.history-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding-block:4px}.history-entry .movement-row{min-height:64px;padding-block:6px}.history-entry .row-actions{padding:0 0 0 18px}}.funds-warning{margin:0}.goal-list-layout{display:block;max-width:var(--content-reading-width)}.goal-creation .two-column-layout{display:block;max-width:680px;margin-inline:auto}.goal-creation .two-column-layout>.section-card:first-child{display:none}.category-page .section-heading,.goal-list-layout .section-heading{flex-wrap:wrap}.activity-form{max-width:680px;margin:18px auto 0}.activity-form h2{font-size:24px;margin:0 0 24px}.analysis-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:26px 0 16px;gap:22px}.analysis-totals section{padding-right:16px;border-right:1px solid var(--line);min-width:0}.analysis-totals section:last-child{border:0}.analysis-totals span{font-size:13px;color:var(--muted)}.analysis-totals strong{display:block;font-size:25px;margin-top:7px;letter-spacing:-.04em;font-weight:650;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 32px;margin-top:26px}.analysis-breakdown h2{font-size:20px;font-weight:650;margin:0 0 22px}.analysis-row{display:block;text-decoration:none;color:var(--ink);margin:20px 0;border-radius:5px}.analysis-row:hover .chart-label strong{color:var(--deep)}.analysis-row .chart-label{flex-wrap:wrap;gap:6px}.analysis-row .chart-track,.analysis-row .chart-track>span{display:block}.analysis-row .chart-track{margin-top:8px}.palette-selector{padding:0;margin:24px 0 0;border:0;min-width:0}.palette-selector legend{font-weight:650;font-size:14px;margin-bottom:12px}.palette-selector .field-hint{margin-top:14px}.palette-options{display:flex;flex-wrap:wrap;gap:9px}.palette-options button{min-height:46px;display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--control-line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font-size:13px}.palette-options button[aria-pressed=true]{border-color:var(--deep);background:var(--mint);box-shadow:0 0 0 1px var(--deep)}.palette-swatch{width:20px;height:20px;border-radius:50%;background:var(--palette-swatch)}.route-loading{position:fixed;right:18px;top:18px;z-index:90;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--surface);color:var(--deep);box-shadow:var(--shadow)}.route-loading>span{width:13px;height:13px;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:route-loading-spin .8s linear infinite}@keyframes route-loading-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.route-loading>span{animation:none}}@media(max-width:850px){.activity-toolbar{flex-wrap:wrap}.analysis-grid{grid-template-columns:1fr}}@media(max-width:620px){.topbar{padding:22px 19px}.topbar h1{font-size:29px}.home-balance{padding:22px}.home-amount{font-size:36px}.home-balances{gap:12px}.home-balances strong{font-size:16px}.home-primary-actions{flex-direction:column}.home-primary-actions .button{width:100%}.movement-row{display:grid;grid-template-columns:10px minmax(0,1fr);gap:5px 12px;padding-block:15px}.movement-symbol{grid-row:1;align-self:start;margin-top:5px}.movement-amount{grid-column:2;width:100%;margin:4px 0 0;padding:0;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;text-align:left;white-space:normal}.movement-amount strong{font-size:14px;overflow-wrap:anywhere}.movement-copy strong{font-size:14px}.movement-copy span{font-size:12px}.history-entry{padding-inline:14px}.activity-toolbar{display:grid;gap:18px}.activity-toolbar>.button,.period-selector{width:100%}.field input,.field select,.period-fields input{font-size:16px}.analysis-totals{grid-template-columns:1fr 1fr;gap:18px 12px}.analysis-totals section:nth-child(2){border:0;padding:0}.analysis-totals section:last-child{grid-column:1/-1;padding-top:18px;border-top:1px solid var(--line)}.analysis-totals strong{font-size:21px}.page-content{padding-bottom:calc(var(--nav-height) + 48px + env(safe-area-inset-bottom))}.bottom-nav{inset:auto var(--nav-inset) calc(var(--nav-inset) + env(safe-area-inset-bottom));gap:var(--nav-gap);min-height:var(--nav-height);padding:var(--nav-padding);border:1px solid var(--glass-line);border-radius:24px;background:var(--nav-glass-surface);box-shadow:var(--glass-shadow);isolation:isolate;-webkit-backdrop-filter:blur(22px) saturate(145%);backdrop-filter:blur(22px) saturate(145%)}.bottom-link{position:relative;z-index:1;min-height:52px;border-radius:18px;font-size:11px}.bottom-link>span{transform:translateY(var(--dock-rise,0)) scale(var(--dock-scale,1));transform-origin:center bottom;transition:transform .16s ease-out}.bottom-link:active>span{transform:translateY(-3px) scale(1.13)}.bottom-link.active{background:transparent}.bottom-indicator{position:absolute;z-index:0;top:var(--nav-padding);bottom:var(--nav-padding);left:var(--nav-padding);width:calc((100% - 2 * var(--nav-padding) - 4 * var(--nav-gap)) / 5);border-radius:18px;background:var(--mint);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface) 65%,transparent);transform:translateX(calc(var(--nav-index) * (100% + var(--nav-gap))));transition:transform .22s ease;pointer-events:none}.bottom-more{z-index:2}.more-menu{border:1px solid var(--glass-line);background:var(--surface);border-radius:18px;box-shadow:var(--glass-shadow);min-width:190px;bottom:calc(100% + 16px)}.more-menu a{min-height:var(--touch-target);display:flex;align-items:center}.bottom-nav.keyboard-open{visibility:hidden;pointer-events:none}.goal-metrics{grid-template-columns:1fr;gap:15px}.goal-metrics .metric{border:0;padding:0;display:flex;justify-content:space-between;gap:12px;align-items:baseline}.goal-metrics .metric strong{margin:0}}@media(max-width:360px){.home-amount{font-size:30px}.home-balances{grid-template-columns:1fr}.home-balances a{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.home-balances strong{font-size:15px}.bottom-nav{--nav-inset:7px;--nav-gap:2px}.bottom-link{font-size:10px}.period-tabs button{padding-inline:5px;font-size:12px}}@media(prefers-reduced-motion:reduce){.bottom-indicator,.bottom-link>span,.button-primary:before{transition:none}.bottom-link:active>span{transform:none}}@media(prefers-reduced-transparency:reduce){.bottom-nav{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--surface)}}@supports not (backdrop-filter:blur(1px)){.bottom-nav{background:var(--surface)}}