:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-text:"Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Bricolage Grotesque Variable", var(--font-text);font-family:var(--font-text);color:#14211c;text-rendering:optimizelegibility;--fs-display:clamp(2rem, 11vw, 3rem);--fs-title:1.75rem;--fs-section:1.25rem;--fs-strong:1rem;--fs-body:.9375rem;--fs-caption:.8125rem;--fs-micro:.75rem;--faint:#8a9a92;--lh-tight:1.05;--lh-title:1.2;--lh-snug:1.35;--lh-body:1.5;--sp-xs:4px;--sp-sm:8px;--sp-md:12px;--sp-lg:16px;--sp-xl:20px;--sp-2xl:24px;--sp-3xl:32px;--bg:#f1f5f1;--surface:#fff;--ink:#14211c;--muted:#56665e;--green:#063f2c;--green-dark:#043523;--brand-deep:#063f2c;--brand-lime:#b7e34a;--brand-cream:#f5f7ef;--topbar-overlay-edge:max(76px, calc(52px + env(safe-area-inset-top)));--mint:#e6f2eb;--mint-strong:#d4eadf;--line:#dce5e0;--line-strong:#c6d4cd;--danger:#bd2028;--danger-soft:#fff0f0;--warn:#a4680b;--warn-soft:#fdf4e4;--positive:#063f2c;--radius-lg:16px;--radius-md:13px;--radius-sm:10px;background:#f6f8f7}@media (width>=900px){:root{--fs-title:2rem;--fs-section:1.375rem;--fs-strong:1.0625rem;--fs-body:1rem;--fs-caption:.875rem}}*{box-sizing:border-box}html{background:var(--bg);touch-action:pan-x pan-y;min-width:320px}body{line-height:var(--lh-snug);background:var(--bg);touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}#root{touch-action:pan-x pan-y;min-height:100vh}button,input,select{font:inherit}button{color:inherit}button,select,input{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #063f2c38}::selection{color:#fff;background:var(--green)}*{scrollbar-width:thin;scrollbar-color:#9db6aa transparent}h1,h2,p{margin:0}h1{font-family:var(--font-display);font-size:clamp(1.75rem,5vw,2.25rem);line-height:var(--lh-tight);letter-spacing:-.035em}h2{font-family:var(--font-display);font-size:var(--fs-section);line-height:var(--lh-title);letter-spacing:-.018em}.expense-value,.transaction-value,.pending-value,.budget-numbers,.allocation-value,.allocation-percent,.phrase-amount,.quotes-bar,.recurring-row>strong,.asset-values strong,.asset-values small,.installment-debt-row>strong,.month-compare strong,.capital-summary strong,.overview-primary strong,.overview-secondary strong,.dashboard-facts strong,.month-headline>strong,.net-worth-hero strong,.leftover-head strong,.budget-status small,.amount-field input,.summary-strip strong{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1, "lnum" 1}.app-shell{min-height:100vh}.landscape-guard{display:none}@media (display-mode:standalone) and (orientation:landscape) and (height<=600px) and (pointer:coarse){.landscape-guard{z-index:300;place-content:center;justify-items:center;gap:var(--sp-md);padding:max(var(--sp-2xl), env(safe-area-inset-top)) max(var(--sp-3xl), env(safe-area-inset-right)) max(var(--sp-2xl), env(safe-area-inset-bottom)) max(var(--sp-3xl), env(safe-area-inset-left));color:var(--brand-cream);background:var(--brand-deep);text-align:center;display:grid;position:fixed;inset:0}.landscape-guard>span{width:56px;height:56px;color:var(--brand-deep);background:var(--brand-lime);border-radius:16px;place-items:center;display:grid;transform:rotate(-90deg)}.landscape-guard strong{font-size:var(--fs-section)}.landscape-guard p{color:#d9e8df;max-width:34ch;line-height:var(--lh-body)}}.app-column,.screen-stack>*,.summary-strip>div,.category-shortcuts button,.demo-banner>div{min-width:0}.topbar{z-index:20;min-height:76px;padding:calc(var(--sp-md) + env(safe-area-inset-top)) var(--sp-xl) var(--sp-md);background:var(--brand-deep);justify-content:center;align-items:center;display:flex;position:sticky;top:0;box-shadow:0 8px 24px #063f2c29}.brand-topbar:after{content:"";pointer-events:none;background:#b7e34ab8;height:2px;position:absolute;bottom:0;left:18px;right:18px}.brand-wordmark{min-width:0;color:var(--green-dark);display:inline-flex}.brand-wordmark-text{font-family:var(--font-display);font-variation-settings:"opsz" 48, "wdth" 96, "wght" 720;letter-spacing:-.035em;white-space:nowrap;align-items:baseline;gap:.18em;font-size:1.5rem;line-height:.92;display:inline-flex}.brand-wordmark-gastei{font-variation-settings:"opsz" 48, "wdth" 96, "wght" 780}.brand-wordmark-aqui{color:var(--ink);font-variation-settings:"opsz" 48, "wdth" 96, "wght" 560}.brand-wordmark-dot{color:var(--brand-lime);font-variation-settings:"opsz" 48, "wdth" 96, "wght" 800;margin-left:-.16em}.brand-wordmark-inverse{z-index:1;color:var(--brand-cream);position:relative}.brand-wordmark-inverse .brand-wordmark-text{font-size:1.65rem}.brand-wordmark-inverse .brand-wordmark-aqui{color:var(--brand-lime)}.icon-button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:11px;justify-content:center;align-items:center;min-width:44px;min-height:44px;transition:border-color .17s,background .17s,color .17s;display:inline-flex}.icon-button:hover{border-color:var(--line-strong);background:#f9fbfa}.danger-button{color:var(--danger)}.danger-button:hover{background:var(--danger-soft);border-color:#f0bcbc}.main-content{width:min(100%,820px);padding:var(--sp-2xl) var(--sp-xl) calc(102px + env(safe-area-inset-bottom));margin:0 auto;position:relative}.screen-stack{gap:var(--sp-2xl);animation:.36s cubic-bezier(.16,1,.3,1) both screen-settle;display:grid}.screen-intro{justify-content:space-between;align-items:flex-start;gap:var(--sp-xl);display:flex}.screen-intro>div:first-child{gap:var(--sp-sm);display:grid}.screen-intro p{max-width:540px;color:var(--muted);line-height:var(--lh-body)}.section-meta{color:var(--muted);font-size:var(--fs-caption)}.month-control{align-items:center;gap:var(--sp-sm);min-height:44px;padding:0 var(--sp-md);border:1px solid var(--line);color:var(--green-dark);background:var(--surface);font-size:var(--fs-caption);cursor:pointer;border-radius:11px;flex:none;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.month-control input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.month-control span{white-space:nowrap}.month-control:focus-within{outline-offset:2px;outline:3px solid #063f2c38}.demo-banner{justify-content:space-between;align-items:center;gap:var(--sp-lg);padding:var(--sp-md) var(--sp-md);color:#285641;font-size:var(--fs-caption);background:#edf7f1;border:1px solid #c6ded1;border-radius:12px;display:flex}.demo-banner>div,.demo-banner button{align-items:center;gap:var(--sp-sm);display:inline-flex}.demo-banner button{min-width:44px;min-height:44px;padding:0 var(--sp-sm);color:var(--green-dark);font-size:var(--fs-caption);cursor:pointer;background:0 0;border:0;font-weight:600}.negative{color:var(--danger)!important}.positive{color:var(--positive)!important}.quick-entry,.inline-form,.capital-summary{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface)}.quick-entry{gap:var(--sp-xl);padding:var(--sp-xl);display:grid;position:relative;overflow:hidden}.quick-entry:before{background:var(--brand-lime);content:"";border-radius:0 0 4px 4px;width:66px;height:3px;position:absolute;top:0;left:20px}.inline-form{gap:var(--sp-lg);padding:var(--sp-xl);display:grid}.section-heading{justify-content:space-between;align-items:flex-start;gap:var(--sp-lg);display:flex}.section-heading>div:first-child,.amount-field{gap:var(--sp-xs);display:grid}.amount-field>span,.text-field>span,.category-shortcuts legend{color:var(--muted);font-size:var(--fs-caption);font-weight:600}.amount-field input{font-family:var(--font-display);width:100%;padding:var(--sp-xs) 0 var(--sp-md);border:0;border-bottom:1px solid var(--line-strong);color:var(--ink);caret-color:var(--green);letter-spacing:-.04em;background:0 0;border-radius:0;font-size:clamp(2rem,11vw,3rem);font-weight:700}.amount-field input::placeholder{color:var(--muted)}.amount-field input:focus{border-color:var(--green)}.amount-field input:focus-visible{border-bottom-width:2px;border-bottom-color:var(--green);outline:0;box-shadow:0 2px 0 -1px #063f2c2e}.category-shortcuts{gap:var(--sp-sm);border:0;grid-template-columns:repeat(3,1fr);margin:0;padding:0;display:grid}.category-shortcuts legend{margin-bottom:var(--sp-sm)}.category-shortcuts button{place-items:center;gap:var(--sp-sm);min-height:78px;padding:var(--sp-md) var(--sp-xs);border:1px solid var(--line);color:#496158;font-size:var(--fs-caption);cursor:pointer;background:#fbfcfb;border-radius:12px;font-weight:600;transition:background .17s,border-color .17s,color .17s;display:grid;position:relative}.category-shortcuts button:hover,.category-shortcuts button.selected{color:var(--green-dark);background:var(--mint);border-color:#91bea6}.shortcut-check{position:absolute;top:6px;right:6px}.text-field{gap:var(--sp-sm);min-width:0;display:grid}.text-field small{color:var(--muted);font-size:var(--fs-caption);font-weight:500}.text-field input,.text-field select,.search-field,.filter-bar>select{width:100%;min-height:45px;padding:0 var(--sp-md);border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:11px}.text-field input::placeholder,.search-field input::placeholder{color:var(--muted)}.compact-field input{background:#f9fbfa}.primary-button,.secondary-button,.text-button{justify-content:center;align-items:center;gap:var(--sp-sm);min-height:45px;padding:0 var(--sp-lg);font-size:var(--fs-body);white-space:nowrap;cursor:pointer;border-radius:11px;font-weight:700;transition:background .17s,border-color .17s,transform .17s;display:inline-flex}.primary-button{border:1px solid var(--green);color:#fff;background:var(--green)}.primary-button:hover{border-color:var(--green-dark);background:var(--green-dark)}.primary-button:active,.secondary-button:active{transform:translateY(1px)}.secondary-button{border:1px solid var(--line-strong);color:var(--green-dark);background:var(--surface)}.secondary-button:hover{background:var(--mint);border-color:#91bea6}.secondary-button:disabled{opacity:.55;cursor:default;transform:none}.text-button{min-height:44px;color:var(--green);font-size:var(--fs-caption);background:0 0;border:0;padding:0}.full-width{width:100%}.compact-button{min-height:44px;padding:0 var(--sp-md);font-size:var(--fs-caption)}.form-notice,.page-notice{color:var(--danger);font-size:var(--fs-body)}.form-notice.success,.page-notice{color:var(--green-dark)}.page-notice{padding:var(--sp-md) var(--sp-md);background:var(--mint);border:1px solid #bedccb;border-radius:10px}.content-section{gap:var(--sp-lg);padding-top:2px;display:grid}.recent-section{padding-bottom:var(--sp-md)}.category-breakdown{gap:var(--sp-md);display:grid}.category-row{align-items:center;gap:var(--sp-md);display:flex}.icon-well,.empty-icon,.asset-icon{width:40px;height:40px;color:var(--green-dark);background:var(--mint);border-radius:50%;flex:none;place-items:center;display:grid}.category-data{gap:var(--sp-sm);flex:1;min-width:0;display:grid}.category-data>div:first-child{justify-content:space-between;align-items:center;gap:var(--sp-md);font-size:var(--fs-caption);display:flex}.category-data span{color:var(--muted);white-space:nowrap}.progress-track{background:#e9eeeb;border-radius:10px;height:5px;overflow:hidden}.progress-track span{border-radius:inherit;transform-origin:0;min-width:3px;height:100%;animation:.56s cubic-bezier(.16,1,.3,1) both progress-reveal;display:block}.transaction-list{border-top:1px solid var(--line)}.transaction-row{align-items:center;gap:var(--sp-md);min-height:68px;padding:var(--sp-md) 0;border-bottom:1px solid var(--line);display:flex}.transaction-copy{gap:var(--sp-xs);flex:1;min-width:0;display:grid}.transaction-copy strong,.asset-copy strong{font-size:var(--fs-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.transaction-copy span,.asset-copy span,.asset-copy small{color:var(--muted);font-size:var(--fs-caption)}.transaction-value{font-size:var(--fs-body);white-space:nowrap}.empty-state{justify-items:center;gap:var(--sp-sm);padding:var(--sp-3xl) var(--sp-xl);border:1px dashed var(--line-strong);border-radius:var(--radius-md);text-align:center;display:grid}.empty-state strong{font-size:var(--fs-body)}.empty-state p{max-width:360px;color:var(--muted);font-size:var(--fs-body);line-height:var(--lh-body)}.segmented-control{gap:var(--sp-xs);padding:var(--sp-xs);background:#edf1ef;border-radius:12px;grid-template-columns:1fr 1fr;display:grid}.segmented-control button{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;font-weight:700}.segmented-control button.active{color:var(--green-dark);background:#fff}.form-grid{gap:var(--sp-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.filter-bar{align-items:center;gap:var(--sp-sm);grid-template-columns:auto 1fr auto;display:grid}.search-field{align-items:center;gap:var(--sp-sm);min-height:44px;color:var(--muted);display:flex}.search-field input{background:0 0;border:0;min-width:0}.search-field:focus-within{outline-offset:2px;outline:3px solid #063f2c38}.search-field input:focus-visible{outline-offset:0;outline:2px solid #063f2c4d}.filter-bar>select{width:auto}.recurring-list,.asset-list{border-top:1px solid var(--line);display:grid}.recurring-row,.asset-row{align-items:center;gap:var(--sp-md);padding:var(--sp-lg) 0;border-bottom:1px solid var(--line);display:flex;position:relative}.recurring-row>div:nth-child(2){gap:var(--sp-xs);flex:1;min-width:0;display:grid}.recurring-row>div:nth-child(2) strong{font-size:var(--fs-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recurring-row>div:nth-child(2) span{color:var(--muted);font-size:var(--fs-caption)}.recurring-row>div:nth-child(2) .recurring-debt-meta{color:var(--green-dark);font-size:var(--fs-caption);font-weight:600}.recurring-row>strong{font-size:var(--fs-body);white-space:nowrap}.recurring-row.inactive{opacity:.58}.row-actions{align-items:center;gap:var(--sp-xs);display:flex}.recurring-row .row-actions{flex-wrap:nowrap;justify-content:flex-end}.recurring-actions,.recurring-more{position:relative}.recurring-more>summary{justify-content:center;align-items:center;gap:var(--sp-xs);min-height:44px;padding:0 var(--sp-md);border:1px solid var(--line-strong);color:var(--green-dark);background:var(--surface);font-size:var(--fs-caption);cursor:pointer;border-radius:11px;font-weight:600;list-style:none;display:inline-flex}.recurring-more>summary::-webkit-details-marker{display:none}.recurring-more[open]>summary{background:var(--mint);border-color:#91bea6}.recurring-more-menu{z-index:12;gap:var(--sp-sm);width:min(280px,100vw - 36px);padding:var(--sp-sm);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);display:grid;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 16px 40px #0c261a3d}.recurring-more-menu .secondary-button{justify-content:flex-start;width:100%}.capital-summary{padding:var(--sp-xl);background:#fdfefd;grid-template-columns:1.25fr repeat(3,1fr);display:grid}.capital-summary.pair{grid-template-columns:repeat(2,1fr)}.capital-summary>div{gap:var(--sp-xs);padding:0 var(--sp-lg);border-right:1px solid var(--line);display:grid}.capital-summary>div:first-child{padding-left:0}.capital-summary>div:last-child{border-right:0;padding-right:0}.capital-summary span{color:var(--muted);font-size:var(--fs-caption)}.capital-summary strong{font-size:var(--fs-strong);white-space:nowrap}.asset-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-item{border-bottom:1px solid var(--line)}.asset-item .asset-row{border-bottom:0}.asset-update-form{align-items:end;gap:var(--sp-sm);padding:0 0 var(--sp-lg) 51px;grid-template-columns:1fr 1fr auto auto;display:grid}.asset-copy{gap:var(--sp-xs);flex:1;min-width:0;display:grid}.asset-values{justify-items:end;gap:3px;display:grid}.asset-values strong{font-size:var(--fs-body);white-space:nowrap}.asset-values span{font-size:var(--fs-caption);font-weight:600}.asset-action{gap:var(--sp-xs);padding:0 var(--sp-md)}.asset-action>span{font-size:var(--fs-caption);font-weight:600;display:none}.installment-debts{margin-top:var(--sp-xl);border-top:1px solid var(--line);display:grid}.installment-debts-heading{justify-content:space-between;align-items:center;gap:var(--sp-md);padding:var(--sp-lg) 0 var(--sp-sm);display:flex}.installment-debts-heading h3{font-size:var(--fs-body)}.installment-debts-heading strong{font-size:var(--fs-caption);white-space:nowrap}.installment-debt-row{align-items:center;gap:var(--sp-md);min-height:64px;padding:var(--sp-md) 0;border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.installment-debt-row>div{gap:var(--sp-xs);min-width:0;display:grid}.installment-debt-row>div strong{font-size:var(--fs-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.installment-debt-row>div span{color:var(--muted);font-size:var(--fs-caption)}.installment-debt-row>strong{font-size:var(--fs-body);white-space:nowrap}.side-nav{display:none}.mobile-nav{z-index:30;padding:0 var(--sp-sm) calc(var(--sp-xs) + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);position:fixed;bottom:0;left:0;right:0}.mobile-nav-items{grid-template-columns:repeat(4,1fr);display:grid}.mobile-nav button,.side-nav-items button{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;display:flex;position:relative}.mobile-nav button{justify-content:center;gap:var(--sp-xs);min-height:66px;padding:var(--sp-sm) 2px 3px;color:var(--muted);font-size:var(--fs-micro);font-weight:600;line-height:var(--lh-tight);flex-direction:column;transition:color .17s,transform .17s}.mobile-nav button:hover{color:var(--green-dark)}.mobile-nav button:active{transform:translateY(1px)}.mobile-nav button.active{color:var(--green-dark);font-weight:700}.mobile-nav button.active svg{stroke-width:2.5px}.mobile-nav button.active:before{display:none}@media (width<=640px){.screen-stack{gap:var(--sp-lg)}.quick-entry{gap:var(--sp-md);padding:var(--sp-lg)}.category-shortcuts{gap:var(--sp-sm)}.category-shortcuts button{min-height:68px;padding:var(--sp-sm) var(--sp-xs)}.screen-intro{grid-template-columns:minmax(0,1fr);display:grid}.home-intro{display:flex}.screen-intro>.primary-button,.screen-intro>.secondary-button{width:100%}.secure-local{display:none}.demo-banner,.demo-banner>div{align-items:flex-start}.demo-banner button span{display:none}.filter-bar{grid-template-columns:1fr auto}.filter-bar .search-field{grid-area:2/1/auto/-1}.form-grid,.asset-form-grid{grid-template-columns:1fr}.recurring-row{grid-template-columns:auto minmax(0,1fr) auto;display:grid}.recurring-row .row-actions{grid-column:2/-1;justify-content:flex-end}.capital-summary{gap:var(--sp-lg) 0;grid-template-columns:repeat(2,1fr)}.capital-summary>div{border-right:1px solid var(--line)}.capital-summary>div:nth-child(2){border-right:0;padding-right:0}.capital-summary>div:nth-child(3){padding-left:0}.asset-row{grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.asset-row .asset-copy{grid-column:2}.asset-row .asset-values{grid-column:2;justify-items:start}.asset-row>.row-actions{grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.asset-row .asset-action{width:100%;min-width:0}.asset-action>span{display:inline}.asset-update-form{grid-template-columns:1fr 1fr;padding-left:0}}@media (width<=410px){.main-content,.topbar{padding-right:var(--sp-lg);padding-left:var(--sp-lg)}.home-intro h1{max-width:215px}.summary-strip>div{padding-right:var(--sp-sm);padding-left:var(--sp-sm)}.summary-strip span{font-size:var(--fs-caption)}.quick-entry{padding:var(--sp-lg)}.category-shortcuts button{min-height:72px;font-size:var(--fs-caption)}.transaction-row .icon-well{width:36px;height:36px}}@media (pointer:coarse){.subcategory-tags button,.subcategory-admin form button,.reminder-days button,.install-platform-tabs button,.install-later-button{min-width:44px;min-height:44px}}@media (width>=900px){.app-shell{grid-template-columns:252px minmax(0,1fr);display:grid}.side-nav{gap:var(--sp-xl);height:100vh;padding:var(--sp-xl) var(--sp-lg) var(--sp-2xl);background:var(--brand-deep);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.side-nav-brand{padding:0 var(--sp-sm)}.side-nav-brand .brand-wordmark-text{font-size:1.62rem}.side-nav-items{gap:2px;display:grid}.side-nav-items button{gap:var(--sp-md);min-height:46px;padding:0 var(--sp-md);color:#f5f7efb8;font-size:var(--fs-caption);border-radius:11px;font-weight:600;transition:color .16s,background .16s}.side-nav-items button:hover{color:var(--brand-cream);background:#f5f7ef17}.side-nav-items button.active{color:#fff;background:#f5f7ef24}.side-nav-items button.active:before{background:var(--brand-lime);content:"";border-radius:0 3px 3px 0;width:3px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.local-note{margin:auto var(--sp-sm) 0;color:#f5f7ef80;font-size:var(--fs-caption);line-height:var(--lh-body)}.mobile-nav{display:none}.topbar{min-height:64px;padding:0 var(--sp-3xl)}.topbar .brand-wordmark{display:none}.brand-topbar:after{left:30px;right:30px}.topbar-settings{right:30px}.sync-dot{right:82px}.month-compare{grid-template-columns:repeat(2,1fr)}.main-content{padding:var(--sp-3xl) var(--sp-3xl) 60px}.screen-stack{gap:var(--sp-2xl)}.quick-entry{padding:var(--sp-2xl)}}.dashboard-main,.dashboard-rail{display:contents}@media (width>=1300px){.dashboard-stack{grid-template-columns:minmax(0,1fr) 352px;align-items:start}.dashboard-main,.dashboard-rail{gap:var(--sp-2xl);align-content:start;display:grid}.dashboard-main{grid-area:1/1}.dashboard-rail{top:calc(64px + var(--sp-xl));grid-area:1/2;position:sticky}.dashboard-rail .phrase-field input{font-size:var(--fs-strong)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.screen-stack,.progress-track span,.confirm-backdrop,.confirm-dialog,.install-guide-backdrop,.install-guide,.spin{animation:none}button,input,select,textarea,summary,.leftover-track>span,.budget-bar span{transition:none}}@keyframes screen-settle{0%{opacity:.84;filter:blur(2px);transform:translateY(8px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes progress-reveal{0%{transform:scaleX(.12)}to{transform:scaleX(1)}}button,input,select,textarea{font:inherit}input,select,textarea{font-size:var(--fs-strong)}textarea{resize:vertical}textarea:focus-visible{outline-offset:2px;outline:3px solid #063f2c38}.phrase-entry{gap:var(--sp-sm);padding:var(--sp-md) var(--sp-lg);border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:minmax(0,1fr);display:grid;position:relative;overflow:hidden}.phrase-entry:before{background:var(--brand-lime);content:"";border-radius:0 0 4px 4px;width:66px;height:3px;position:absolute;top:0;left:20px}.phrase-heading{justify-content:space-between;align-items:center;gap:var(--sp-md);display:flex}.phrase-heading>span{color:var(--muted);font-size:var(--fs-caption);white-space:nowrap;flex:none;font-weight:600}.phrase-title{font-family:var(--font-text);color:var(--muted);font-size:var(--fs-caption);font-weight:600;line-height:var(--lh-title);letter-spacing:0}.phrase-field{align-items:center;gap:var(--sp-md);display:flex}.phrase-field input{border:0;border-bottom:1px solid var(--line-strong);min-width:0;min-height:46px;color:var(--ink);font-size:var(--fs-section);letter-spacing:-.02em;background:0 0;border-radius:0;flex:1;font-weight:600}.phrase-field input::placeholder{color:var(--muted);font-weight:500}.phrase-field input:focus{border-bottom-color:var(--green);outline:0}.phrase-field button{width:50px;height:50px;color:var(--brand-cream);background:var(--green);cursor:pointer;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;transition:background .17s,opacity .17s,transform .12s;display:inline-flex}.phrase-field button:hover:not(:disabled){background:var(--green-dark)}.phrase-field button:active:not(:disabled){transform:scale(.95)}.phrase-field button:disabled{opacity:.28;cursor:default}.phrase-field .phrase-mic{color:var(--green-dark);background:var(--brand-lime);position:relative;box-shadow:0 7px 18px #aeda3c3d}.phrase-field .phrase-mic:hover:not(:disabled){background:#b9e64b}.phrase-field .phrase-mic.listening{color:#fff;background:#d94c52;animation:1.35s ease-in-out infinite microphone-pulse;box-shadow:0 0 0 7px #d94c521f}.phrase-field .phrase-submit{color:var(--brand-cream);background:var(--green)}.phrase-voice-error{color:var(--danger);font-size:var(--fs-caption);line-height:var(--lh-body);margin:-2px 0 0}.phrase-reading{align-items:center;gap:var(--sp-sm);min-height:21px;color:var(--ink);font-size:var(--fs-body);flex-wrap:wrap;font-weight:600;display:flex}.phrase-reading.hint{color:var(--muted);font-size:var(--fs-caption);font-weight:400;line-height:var(--lh-snug);display:block}.phrase-reading.hint b{color:var(--ink);font-weight:600}.phrase-reading.success{color:var(--green);flex-wrap:nowrap;align-items:flex-start;font-weight:700}.phrase-reading.success>svg{flex:none;margin-top:2px}.phrase-amount{font-size:var(--fs-body);letter-spacing:-.02em}.phrase-dot{border-radius:50%;width:8px;height:8px}.phrase-dot.income-dot{background:var(--green)}.phrase-reading.income .phrase-amount{color:var(--green)}.phrase-reading.listening{color:var(--green-dark)}.voice-pulse{align-items:center;gap:3px;height:18px;display:inline-flex}.voice-pulse>span{background:var(--green);border-radius:99px;width:3px;height:7px;animation:.85s ease-in-out infinite voice-bar}.voice-pulse>span:nth-child(2){height:15px;animation-delay:.12s}.voice-pulse>span:nth-child(3){height:10px;animation-delay:.24s}.phrase-reading button{min-height:34px;margin-left:var(--sp-sm);padding:0 var(--sp-md);border:1px solid var(--line-strong);color:var(--green-dark);background:var(--surface);font-size:var(--fs-caption);vertical-align:middle;cursor:pointer;border-radius:9px;font-weight:600}.phrase-reading button:hover{background:var(--mint)}@keyframes microphone-pulse{0%,to{box-shadow:0 0 0 5px #d94c521a}50%{box-shadow:0 0 0 10px #d94c5205}}@keyframes voice-bar{0%,to{opacity:.58;transform:scaleY(.55)}50%{opacity:1;transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.phrase-field .phrase-mic.listening,.voice-pulse>span{animation:none}}.expense-overview{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:minmax(0,1fr);display:grid;position:relative;overflow:hidden}.expense-overview:before{z-index:1;background:var(--brand-lime);content:"";border-radius:0 0 4px 4px;width:66px;height:3px;position:absolute;top:0;left:20px}.overview-primary{gap:var(--sp-xs);padding:var(--sp-2xl) var(--sp-xl) var(--sp-xl);border-bottom:1px solid var(--line);display:grid}.overview-primary span,.overview-secondary span,.dashboard-facts span,.dashboard-facts small{color:var(--muted);font-size:var(--fs-caption)}.overview-primary strong{font-family:var(--font-display);font-size:clamp(2rem,11vw,3rem);line-height:var(--lh-tight);letter-spacing:-.04em}.overview-primary small{color:var(--muted);font-size:var(--fs-caption);line-height:var(--lh-body)}.overview-secondary{grid-template-columns:repeat(3,1fr);align-items:center;display:grid}.overview-secondary>div{gap:var(--sp-xs);padding:var(--sp-xl) var(--sp-lg);border-right:1px solid var(--line);display:grid}.overview-secondary>div:first-child{padding-left:var(--sp-xl)}.overview-secondary>div:last-child{border-right:0}.overview-secondary strong{font-size:var(--fs-body);white-space:nowrap}.dashboard-facts{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;overflow:hidden}.dashboard-facts button{gap:var(--sp-xs);min-height:94px;padding:var(--sp-lg) var(--sp-3xl) var(--sp-lg) var(--sp-xl);border:0;border-right:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;border-bottom:0;display:grid;position:relative}.dashboard-facts button:not(:first-child){padding-left:var(--sp-lg)}.dashboard-facts button:last-child{border-right:0}.dashboard-facts button:hover{background:#e6f2eb73}.dashboard-facts button>svg{color:var(--muted);position:absolute;top:50%;right:10px;transform:translateY(-50%)}.dashboard-facts strong{font-size:var(--fs-body)}.dashboard-facts.without-assets button{padding-left:var(--sp-xl)}.sheet-backdrop{z-index:80;padding:var(--sp-xl);background:0 0;align-items:end;display:grid;position:fixed;inset:0}.sheet-backdrop:before{inset:var(--topbar-overlay-edge) 0 0;z-index:0;content:"";background:#14211c7a;animation:.18s ease-out both backdrop-in;position:absolute}.quick-sheet{z-index:1;background:var(--surface);border-radius:20px 20px 14px 14px;width:min(100%,620px);max-height:calc(100dvh - 24px);margin:0 auto;animation:.21s cubic-bezier(.2,.8,.2,1) both sheet-in;position:relative;overflow:auto;box-shadow:0 24px 70px #0c261a3d}.sheet-heading{z-index:2;justify-content:space-between;align-items:flex-start;gap:var(--sp-lg);padding:var(--sp-xl) var(--sp-xl) var(--sp-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;display:flex;position:sticky;top:0}.sheet-heading>div{gap:var(--sp-xs);display:grid}.sheet-heading p{color:var(--muted);font-size:var(--fs-body)}.quick-sheet .quick-entry{padding:var(--sp-md) var(--sp-xl) calc(var(--sp-xl) + env(safe-area-inset-bottom));border:0}.quick-sheet .quick-entry:before{left:18px}@keyframes backdrop-in{0%{opacity:0}}@keyframes sheet-in{0%{opacity:.7;transform:translateY(32px)}}.category-picker{gap:var(--sp-md);display:grid}.field-label{color:var(--muted);font-size:var(--fs-caption);justify-content:space-between;font-weight:600;display:flex}.field-label strong{color:var(--muted);font-size:var(--fs-caption);letter-spacing:.01em;opacity:.85;font-weight:400}.mini-icon{place-items:center;display:grid}.category-expand{align-items:center;gap:var(--sp-sm);min-height:45px;padding:0 var(--sp-md);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:11px;font-weight:700;display:flex}.category-expand>svg:last-child{color:var(--muted);margin-left:auto}.category-browser{gap:var(--sp-md);padding:var(--sp-md);border:1px solid var(--line);background:#f9fbfa;border-radius:13px;display:grid}.category-search{background:#fff}.category-search-results,.all-categories{max-height:244px;display:grid;overflow:auto}.category-search-results button,.all-categories button{align-items:center;gap:var(--sp-sm);min-height:44px;padding:var(--sp-sm) var(--sp-sm);border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;display:flex}.category-search-results button:hover,.all-categories button:hover,.all-categories button.selected{background:var(--mint)}.all-categories button>svg{color:var(--green);margin-left:auto}.picker-empty{padding:var(--sp-lg);color:var(--muted);font-size:var(--fs-caption);text-align:center}.subcategory-choice{gap:var(--sp-sm);display:grid}.subcategory-choice>span{color:var(--muted);font-size:var(--fs-caption);font-weight:600}.subcategory-choice small{font-weight:500}.subcategory-choice>div{gap:var(--sp-sm);padding-bottom:3px;display:flex;overflow-x:auto}.subcategory-choice button{min-height:40px;padding:0 var(--sp-md);border:1px solid var(--line);font-size:var(--fs-caption);cursor:pointer;background:#fff;border-radius:999px;flex:none;font-weight:600}.subcategory-choice button.selected{color:var(--green-dark);background:var(--mint);border-color:#91bea6}.form-notice.success{align-items:center;gap:var(--sp-xs);display:flex}.quick-date-field{justify-content:space-between;align-items:center;gap:var(--sp-md);display:flex}.quick-date-field>span{align-items:center;gap:var(--sp-xs);color:var(--muted);font-size:var(--fs-caption);font-weight:600;display:inline-flex}.quick-date-field input{min-width:145px;min-height:44px;padding:0 var(--sp-md);border:1px solid var(--line);color:var(--ink);background:var(--surface);font-size:var(--fs-strong);border-radius:11px;font-weight:600}.intro-actions,.form-actions{align-items:center;gap:var(--sp-sm);display:flex}.expense-form textarea,.inline-form textarea{min-height:82px;padding:var(--sp-md) var(--sp-md);border:1px solid var(--line);color:var(--ink);line-height:var(--lh-body);background:#fff;border-radius:11px}.form-span{grid-column:1/-1}.file-field,.check-field{align-items:center;gap:var(--sp-sm);min-height:45px;padding:0 var(--sp-md);border:1px solid var(--line);color:var(--muted);font-size:var(--fs-caption);cursor:pointer;background:#fff;border-radius:11px;display:flex}.file-field{position:relative;overflow:hidden}.file-field input{opacity:0;cursor:pointer;position:absolute;inset:0}.check-field input{width:18px;height:18px;accent-color:var(--green)}.debt-choice{align-items:center;gap:var(--sp-md);min-height:68px;padding:var(--sp-md) var(--sp-lg);border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:12px;grid-template-columns:auto minmax(0,1fr);display:grid}.debt-choice:has(input:checked){background:var(--mint);border-color:#91bea6}.debt-choice.disabled{opacity:.58;cursor:not-allowed}.debt-choice input{width:19px;height:19px;accent-color:var(--green)}.debt-choice>span{gap:3px;display:grid}.debt-choice strong{font-size:var(--fs-caption)}.debt-choice small{color:var(--muted);font-size:var(--fs-caption);font-weight:500;line-height:var(--lh-snug)}.reminder-choice{justify-content:space-between;align-items:center;gap:var(--sp-lg);min-height:72px;padding:var(--sp-md) var(--sp-lg);border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:12px;transition:border-color .17s,background .17s;display:flex}.reminder-choice:has(input:checked){background:var(--mint);border-color:#91bea6}.reminder-choice:has(input:checked) .reminder-choice-copy small{color:var(--green-dark)}.reminder-choice-copy{align-items:center;gap:var(--sp-md);min-width:0;display:flex}.reminder-choice-copy>span:last-child{gap:3px;display:grid}.reminder-choice-copy strong{color:var(--ink);font-size:var(--fs-caption)}.reminder-choice-copy small{color:var(--muted);font-size:var(--fs-caption);font-weight:500;line-height:var(--lh-snug)}.reminder-choice-icon{width:38px;height:38px;color:var(--green);background:var(--mint-strong);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.recurring-row>div:nth-child(2) .recurring-reminder-meta{align-items:center;gap:var(--sp-xs);color:var(--green-dark);font-size:var(--fs-caption);font-weight:600;display:inline-flex}.expense-toolbar{align-items:center;gap:var(--sp-sm);grid-template-columns:minmax(180px,1fr) auto auto;display:grid}.period-tabs{gap:var(--sp-xs);padding:var(--sp-xs);background:#eaf0ed;border-radius:12px;display:flex}.period-tabs button,.filter-button{min-height:44px;padding:0 var(--sp-md);color:var(--muted);font-size:var(--fs-caption);cursor:pointer;background:0 0;border:0;border-radius:9px;font-weight:600}.period-tabs button.active{color:var(--green-dark);background:#fff}.filter-button{align-items:center;gap:var(--sp-xs);border:1px solid var(--line);background:#fff;min-height:45px;display:inline-flex}.advanced-filters{gap:var(--sp-md);padding:var(--sp-lg);border:1px solid var(--line);background:#fbfcfb;border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.expense-groups{gap:var(--sp-2xl);display:grid}.expense-day{gap:var(--sp-sm);display:grid}.expense-day h3{color:var(--muted);font-size:var(--fs-caption);margin:0;font-weight:600}.expense-list{border-top:1px solid var(--line)}.expense-row{align-items:center;gap:var(--sp-xs);border-bottom:1px solid var(--line);min-height:68px;display:flex}.expense-row-main{align-items:center;gap:var(--sp-md);min-width:0;min-height:67px;padding:var(--sp-sm) var(--sp-xs) var(--sp-sm) 0;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;display:flex}.expense-row-main:hover{background:#e6f2eb59}.expense-copy{gap:var(--sp-xs);flex:1;min-width:0;display:grid}.expense-copy strong,.expense-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.expense-copy strong{font-size:var(--fs-body)}.expense-copy span{color:var(--muted);font-size:var(--fs-caption)}.expense-value{color:var(--ink);font-size:var(--fs-body);font-variant-numeric:tabular-nums;white-space:nowrap}.expense-row-main>svg{color:var(--muted)}.category-manager{gap:var(--sp-lg);padding:var(--sp-xl);border:1px solid var(--line-strong);background:#fff;border-radius:16px;display:grid}.category-create{align-items:end;gap:var(--sp-sm);grid-template-columns:minmax(180px,1fr) 150px 82px auto;display:grid}.color-field input{padding:var(--sp-xs)}.category-admin-list{border-top:1px solid var(--line);display:grid}.category-admin-row{gap:var(--sp-md);padding:var(--sp-md) 0;border-bottom:1px solid var(--line);display:grid}.category-admin-row.inactive{opacity:.6}.category-admin-heading{align-items:center;gap:var(--sp-md);display:flex}.category-admin-heading>div{flex:1;gap:3px;min-width:0;display:grid}.category-admin-heading strong{font-size:var(--fs-body)}.category-admin-heading span{color:var(--muted);font-size:var(--fs-caption)}.category-edit-row{gap:var(--sp-sm);grid-template-columns:1fr 150px 52px auto auto;display:grid}.category-edit-row input,.category-edit-row select{min-height:42px;padding:0 var(--sp-sm);border:1px solid var(--line);background:#fff;border-radius:9px}.subcategory-details{margin-left:50px}.subcategory-details summary{width:max-content;min-height:44px;color:var(--green-dark);font-size:var(--fs-caption);cursor:pointer;align-items:center;min-height:44px;font-weight:600;display:flex}.subcategory-admin{justify-content:space-between;align-items:center;gap:var(--sp-md);padding-left:0;display:flex}.subcategory-tags{gap:var(--sp-xs);flex-wrap:wrap;display:flex}.subcategory-tags>span{min-height:38px;padding:0 var(--sp-xs) 0 var(--sp-md);color:#496158;background:var(--mint);font-size:var(--fs-caption);border-radius:999px;align-items:center;gap:3px;display:inline-flex}.subcategory-tags>span.editing{max-width:100%;padding-left:var(--sp-sm);border-radius:11px}.subcategory-tags>span.inactive{opacity:.5;text-decoration:line-through}.subcategory-tags button,.subcategory-admin form button{width:36px;height:36px;color:var(--green-dark);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.subcategory-inline-input{width:min(170px,42vw);min-height:36px;padding:0 var(--sp-sm);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink);background:var(--surface)}.subcategory-admin form{border:1px solid var(--line);background:#fff;border-radius:9px;flex:0 0 220px;align-items:center;display:flex}.subcategory-admin form input{min-width:0;min-height:44px;padding:0 var(--sp-sm);background:0 0;border:0}.recurring-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1.35fr 1fr 1fr;display:grid}.recurring-summary>div{gap:var(--sp-xs);padding:var(--sp-lg);border-right:1px solid var(--line);display:grid}.recurring-summary>div:first-child{padding-left:0}.recurring-summary>div:last-child{border-right:0}.recurring-summary span{color:var(--muted);font-size:var(--fs-caption)}.recurring-summary strong{font-size:var(--fs-body)}.input-suffix{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;display:flex}.input-suffix input{border:0;min-width:0}.input-suffix span{padding-right:var(--sp-md);color:var(--muted);font-size:var(--fs-caption)}.mobile-nav-items{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end}.mobile-nav .nav-quick{color:var(--green-dark)}.mobile-nav .nav-quick>span{border:4px solid var(--surface);color:#fff;background:var(--brand-lime);border-radius:50%;place-items:center;width:52px;height:52px;margin-top:-22px;display:grid}.mobile-nav .nav-quick:hover>span{background:var(--brand-lime);filter:brightness(.94)}.mobile-nav .nav-quick small{font-size:var(--fs-micro);font-weight:600}.mobile-nav .nav-quick:before{display:none}@media (width<=760px){.phrase-entry{gap:var(--sp-sm);padding:var(--sp-md) var(--sp-lg)}.phrase-field input{min-height:44px;font-size:var(--fs-section)}.phrase-field button{width:46px;height:46px}.overview-primary{padding:var(--sp-xl) var(--sp-xl) var(--sp-lg)}.overview-secondary>div{padding:var(--sp-md) var(--sp-lg)}.overview-secondary>div:first-child{padding-left:var(--sp-xl)}.dashboard-facts button,.dashboard-facts button:not(:first-child){min-height:80px;padding:var(--sp-md) var(--sp-3xl) var(--sp-md) var(--sp-lg);border-right:1px solid var(--line);border-bottom:0}.dashboard-facts button:last-child{border-right:0}.month-report{grid-template-columns:auto minmax(0,1fr)}.report-download{grid-column:1/-1;width:100%}.sheet-backdrop{padding:0}.quick-sheet{border-radius:20px 20px 0 0;max-height:calc(100dvh - 8px)}.intro-actions{justify-content:flex-end;width:100%}}@media (width<=640px){.intro-actions{grid-template-columns:1fr 1fr;display:grid}.expense-toolbar{grid-template-columns:1fr auto}.expense-toolbar .search-field{grid-column:1/-1}.period-tabs{order:3;grid-column:1/-1;overflow-x:auto}.period-tabs button{flex:1 0 auto}.advanced-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.category-create{grid-template-columns:1fr 1fr}.category-create .text-field:first-child,.category-create .primary-button{grid-column:1/-1}.category-edit-row{grid-template-columns:1fr 1fr}.category-edit-row>input:first-child{grid-column:1/-1}.subcategory-details{margin-left:0}.subcategory-admin{padding-left:0;display:grid}.subcategory-admin form{width:100%}.recurring-summary{grid-template-columns:1.4fr 1fr 1fr}}@media (width<=470px){.main-content{padding-top:var(--sp-xl)}.screen-stack{gap:var(--sp-md)}.phrase-entry{gap:var(--sp-sm);padding:var(--sp-md) var(--sp-lg)}.overview-primary{gap:var(--sp-xs);padding:var(--sp-md) var(--sp-lg) var(--sp-md)}.overview-primary span{font-size:var(--fs-caption)}.overview-primary strong{font-size:clamp(1.55rem,7.5vw,1.9rem)}.overview-primary small{font-size:var(--fs-caption)}.overview-secondary{grid-template-columns:1fr 1fr 1fr}.overview-secondary>div{gap:var(--sp-xs);padding:var(--sp-sm) var(--sp-md)}.overview-secondary>div:first-child{padding-left:var(--sp-lg)}.overview-secondary span,.overview-secondary strong{font-size:var(--fs-caption)}.dashboard-facts button,.dashboard-facts button:not(:first-child){min-height:56px;padding:var(--sp-xs) var(--sp-3xl) var(--sp-xs) var(--sp-md);gap:2px}.dashboard-facts strong{font-size:var(--fs-body)}.dashboard-facts span,.dashboard-facts small{font-size:var(--fs-caption);line-height:var(--lh-title)}.content-section,.category-breakdown{gap:var(--sp-md)}.category-row{gap:var(--sp-sm)}.category-breakdown .icon-well{width:36px;height:36px}.category-data{gap:var(--sp-xs)}.advanced-filters{grid-template-columns:1fr}.form-actions{grid-template-columns:1fr;display:grid}.form-actions button{width:100%}.category-manager{padding:var(--sp-lg)}.category-create{grid-template-columns:1fr}.category-create>*{grid-column:1!important}.category-admin-heading{flex-wrap:wrap;align-items:flex-start}.category-admin-heading>div{flex-basis:calc(100% - 52px)}.category-admin-heading .secondary-button{flex:1}.recurring-summary>div{padding:var(--sp-md) var(--sp-sm)}.recurring-summary>div:first-child{padding-left:0}.recurring-summary span{font-size:var(--fs-caption)}.recurring-summary strong{font-size:var(--fs-body)}.expense-row{gap:3px}.expense-row .icon-button{width:40px;min-width:40px}.expense-row-main>svg{display:none}}@media (width>=900px){:root{--topbar-overlay-edge:64px}.main-content{width:min(100%,1280px)}.side-nav-items .nav-quick{justify-content:flex-start;gap:var(--sp-sm);min-height:46px;margin:0 0 var(--sp-sm);padding:0 var(--sp-md);color:var(--green-dark);background:var(--brand-lime);font-size:var(--fs-caption);border:0;border-radius:11px;font-weight:700}.side-nav-items .nav-quick:hover{color:var(--green-dark);background:#c3ea60}.side-nav-items .nav-quick>span{place-items:center;display:grid}.side-nav-items .nav-quick small{display:none}}.auth-loading{place-content:center;justify-items:center;gap:var(--sp-md);min-height:100dvh;color:var(--muted);background:var(--bg);font-size:var(--fs-caption);font-weight:600;display:grid}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-screen{min-height:100dvh;padding:calc(var(--sp-2xl) + env(safe-area-inset-top)) var(--sp-lg) calc(var(--sp-2xl) + env(safe-area-inset-bottom));background:var(--bg);place-items:center;display:grid}.auth-panel{gap:var(--sp-2xl);width:min(100%,470px);padding:var(--sp-2xl);border:1px solid var(--line-strong);background:var(--surface);border-radius:20px;display:grid}.auth-brand{gap:var(--sp-sm);display:grid}.auth-brand .brand-wordmark-text{font-size:1.75rem}.auth-brand small{color:var(--muted);font-size:var(--fs-caption)}.auth-copy{gap:var(--sp-sm);display:grid}.auth-copy h1{font-size:clamp(1.75rem,7vw,2.25rem)}.auth-copy p{color:var(--muted);line-height:var(--lh-body)}.auth-cloud{align-items:center;gap:var(--sp-sm);width:max-content;color:var(--green-dark);font-size:var(--fs-caption);font-weight:600;display:inline-flex}.auth-form{gap:var(--sp-md);display:grid}.auth-form>label{gap:var(--sp-sm);color:var(--muted);font-size:var(--fs-caption);font-weight:600;display:grid}.auth-form>label>div{align-items:center;gap:var(--sp-sm);min-height:48px;padding:0 var(--sp-md);border:1px solid var(--line);background:#fff;border-radius:11px;display:flex}.auth-form>label>div:focus-within{border-color:#91bea6;outline:3px solid #063f2c1f}.auth-form>label svg{color:var(--muted);flex:none}.auth-form input{width:100%;min-width:0;min-height:44px;color:var(--ink);background:0 0;border:0;outline:0;padding:0}.auth-notice{align-items:flex-start;gap:var(--sp-sm);padding:var(--sp-md) var(--sp-md);color:var(--danger);background:var(--danger-soft);font-size:var(--fs-body);line-height:var(--lh-body);border-radius:10px;display:flex}.auth-notice.success{color:var(--green-dark);background:var(--mint)}.auth-new-account{color:var(--muted);font-size:var(--fs-caption);line-height:var(--lh-body);text-align:center}.auth-new-account button{min-height:40px;color:var(--green-dark);font:inherit;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;margin:-8px -8px -8px 0;padding:8px;font-weight:700;text-decoration:underline}.auth-new-account button:hover{color:var(--green)}.auth-new-account button:focus-visible{border-radius:var(--radius-sm);outline-offset:2px;outline:3px solid #063f2c38}.auth-switches{justify-content:center;display:flex}.auth-switch{min-height:40px;color:var(--green-dark);font-size:var(--fs-caption);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;justify-self:center;font-weight:600;text-decoration:underline}.auth-switch:hover{color:var(--green)}.auth-switch:focus-visible{outline-offset:3px;outline:3px solid #063f2c38}.auth-complete{gap:var(--sp-lg);display:grid}.auth-session-note{justify-content:center;align-items:center;gap:var(--sp-sm);color:var(--muted);font-size:var(--fs-body);line-height:var(--lh-body);text-align:center;display:flex}.auth-session-note svg{color:var(--green);flex:none}.auth-footnote{color:var(--muted);font-size:var(--fs-body);line-height:var(--lh-body);text-align:center}@media (width<=470px){.auth-screen{padding-right:var(--sp-md);padding-left:var(--sp-md)}.auth-panel{gap:var(--sp-xl);padding:var(--sp-xl) var(--sp-lg);border-radius:16px}}.month-title{text-transform:capitalize}.month-headline{gap:var(--sp-xs);padding:var(--sp-2xl) var(--sp-2xl) var(--sp-2xl);border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);display:grid;position:relative;overflow:hidden}.month-headline:before{background:var(--brand-lime);content:"";border-radius:0 0 4px 4px;width:66px;height:3px;position:absolute;top:0;left:22px}.month-headline>span{color:var(--muted);font-size:var(--fs-caption);font-weight:600}.month-headline>strong{font-family:var(--font-display);font-size:clamp(2.1rem,11vw,3rem);line-height:var(--lh-tight);letter-spacing:-.04em}.month-headline>p{color:var(--muted);font-size:var(--fs-body);margin-top:3px}.month-compare{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:repeat(2,1fr);display:grid;overflow:hidden}.month-compare>div{gap:var(--sp-xs);padding:var(--sp-xl) var(--sp-lg);border-right:1px solid var(--line);display:grid}.month-compare>div:last-child{border-right:0}.month-compare span{color:var(--muted);font-size:var(--fs-caption)}.month-compare strong{font-size:var(--fs-strong);letter-spacing:-.02em;white-space:nowrap}.month-report{align-items:center;gap:var(--sp-lg);padding:var(--sp-lg) var(--sp-xl);border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.report-icon{width:42px;height:42px;color:var(--green-dark);background:var(--mint);border-radius:50%;place-items:center;display:grid}.report-copy{gap:var(--sp-xs);min-width:0;display:grid}.report-copy h2{font-size:var(--fs-strong);letter-spacing:-.018em}.report-copy p{max-width:48ch;color:var(--muted);font-size:var(--fs-body);line-height:var(--lh-body)}.report-download{min-width:166px}.income-well{color:var(--green);background:var(--mint)}.more-popover-layer{z-index:29;pointer-events:none;position:fixed;inset:0}.more-popover{right:10px;bottom:calc(74px + env(safe-area-inset-bottom));width:min(224px,100vw - 20px);padding:var(--sp-sm);border-radius:var(--radius-lg);background:var(--surface);pointer-events:auto;transform-origin:100% 100%;animation:.18s cubic-bezier(.16,1,.3,1) both more-popover-in;display:grid;position:absolute;overflow:hidden;box-shadow:0 16px 42px #0c261a33}.more-popover button{align-items:center;gap:var(--sp-sm);min-height:49px;padding:0 var(--sp-md);border-radius:var(--radius-sm);color:var(--ink);font-size:var(--fs-caption);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:28px minmax(0,1fr) 18px;font-weight:600;transition:color .16s,background .16s,transform .14s;display:grid}.more-popover button:hover{background:#f0f4f2}.more-popover button.active{color:var(--green-dark);background:var(--mint)}.more-popover button:active{transform:scale(.985)}.more-popover button:focus-visible{outline:0;box-shadow:inset 0 0 0 2px #063f2c4d}.more-popover button>svg:first-child{color:var(--green)}.more-popover button>svg:last-child{color:var(--green-dark)}.more-popover button>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@keyframes more-popover-in{0%{opacity:.7;clip-path:inset(42% 0 0 42% round 16px);transform:translateY(7px)scale(.96)}to{opacity:1;clip-path:inset(0 round 16px);transform:translateY(0)scale(1)}}.pending-list{gap:var(--sp-md);display:grid}.pending-row{align-items:center;gap:var(--sp-md);padding:var(--sp-lg) var(--sp-lg);border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:auto 1fr auto;display:grid}.pending-row.inactive{opacity:.58}.pending-copy{gap:var(--sp-xs);min-width:0;display:grid}.pending-copy strong{font-size:var(--fs-body);line-height:var(--lh-snug);letter-spacing:-.005em}.pending-copy span{color:var(--muted);font-size:var(--fs-caption);line-height:var(--lh-body);letter-spacing:0}.pending-copy small{color:var(--faint);font-size:var(--fs-caption);line-height:var(--lh-body)}.pending-value{font-size:var(--fs-body);letter-spacing:-.01em;white-space:nowrap;font-variant-numeric:tabular-nums}.pending-meta{align-items:baseline;gap:var(--sp-xs) var(--sp-sm);flex-wrap:wrap;display:flex}.pending-meta .due{color:var(--ink-soft,var(--ink));font-weight:600}.pending-meta .due.late{color:var(--danger)}.pending-meta .due.soon{color:var(--warn)}.pending-row .row-actions{gap:var(--sp-sm);flex-wrap:wrap;grid-column:1/-1;margin-top:3px;display:flex}.expense-row-main.static{cursor:default;background:0 0}.expense-row.projected .expense-value{color:var(--muted)}.expense-row.projected .expense-copy span{color:var(--green-dark)}.entry-mode{gap:var(--sp-xs);margin:0 var(--sp-xl) var(--sp-xs);padding:var(--sp-xs);border-radius:var(--radius-md);background:var(--mint);grid-template-columns:1fr 1fr;display:grid}.entry-mode button{min-height:42px;color:var(--muted);font-size:var(--fs-body);cursor:pointer;background:0 0;border:0;border-radius:10px;font-weight:700;transition:color .16s,background .16s,box-shadow .16s}.entry-mode button.active{background:var(--surface);box-shadow:0 1px 3px #0c261a1f}.entry-mode button.active.expense{color:var(--danger)}.entry-mode button.active.income{color:var(--green)}.quick-sheet .quick-entry:before{display:none}.leftover{gap:var(--sp-md);padding:var(--sp-xl) var(--sp-xl) var(--sp-xl);border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);display:grid}.leftover-head{justify-content:space-between;align-items:baseline;gap:var(--sp-md);display:flex}.leftover-head span{color:var(--muted);font-size:var(--fs-caption);font-weight:600}.leftover-head strong{font-size:var(--fs-title);letter-spacing:-.03em;white-space:nowrap}.leftover-track{background:var(--mint-strong);border-radius:999px;height:7px;overflow:hidden}.leftover-track>span{background:var(--green);border-radius:999px;height:100%;display:block}.leftover-track>span.over{background:var(--danger)}.leftover p{color:var(--muted);font-size:var(--fs-body);line-height:var(--lh-body)}.settings-field{gap:var(--sp-xs);display:grid}.settings-field>span{color:var(--muted);font-size:var(--fs-caption);font-weight:600}.settings-field input{width:100%;min-height:50px;padding:0 var(--sp-md);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-size:var(--fs-strong);letter-spacing:-.02em;font-weight:700}.settings-field input:focus-visible{outline-offset:2px;outline:3px solid #063f2c38}.settings-hint{color:var(--muted);font-size:var(--fs-body);line-height:var(--lh-body)}.sync-dot{z-index:2;width:34px;height:34px;margin-top:calc(env(safe-area-inset-top) / 2);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;animation:.26s ease-out sync-enter;display:inline-flex;position:absolute;top:50%;right:68px;transform:translateY(-50%)}@keyframes sync-enter{0%{opacity:0;transform:translateY(-50%)scale(.7)}}@media (prefers-reduced-motion:reduce){.sync-dot{animation:none}}.sync-dot>span{background:var(--brand-lime);border-radius:50%;width:9px;height:9px;transition:background .2s,transform .2s}.sync-dot.offline>span{background:#f5f7ef52}.sync-dot.connecting>span,.sync-dot.syncing>span{background:#f5f7ef;animation:1.1s ease-in-out infinite sync-pulse}.sync-dot.error>span{background:#ff8a8a;width:11px;height:11px;box-shadow:0 0 0 4px #ff8a8a38}.sync-dot:focus-visible{outline-offset:2px;outline:3px solid #b7e34a80}@keyframes sync-pulse{50%{opacity:.35;transform:scale(.8)}}.sync-row{align-items:flex-start;gap:var(--sp-md);padding:var(--sp-md) var(--sp-lg);border:1px solid var(--line);border-radius:var(--radius-md);background:#fbfdfc;display:flex}.sync-row>div{gap:3px;min-width:0;display:grid}.sync-row strong{font-size:var(--fs-body)}.sync-row span:not(.sync-mark){color:var(--muted);font-size:var(--fs-caption);line-height:var(--lh-body)}.sync-row small{color:var(--danger);font-size:var(--fs-caption);line-height:var(--lh-body);word-break:break-word;margin-top:3px}.sync-mark{width:9px;height:9px;margin-top:var(--sp-xs);background:var(--green);border-radius:50%;flex:none}.sync-row.offline .sync-mark{background:var(--line-strong)}.sync-row.connecting .sync-mark,.sync-row.syncing .sync-mark{background:#c9a227}.sync-row.error{background:var(--danger-soft);border-color:#f0bcbc}.sync-row.error .sync-mark{background:var(--danger)}.topbar-settings{z-index:2;width:44px;height:44px;margin-top:calc(env(safe-area-inset-top) / 2);color:#f5f7ef94;cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:color .17s,transform .15s;display:inline-flex;position:absolute;top:50%;right:18px;transform:translateY(-50%)}.topbar-settings:hover{color:var(--brand-lime)}.topbar-settings:active{transform:translateY(-50%)scale(.94)}.topbar-settings:focus-visible{outline-offset:2px;outline:3px solid #b7e34a80}.settings-sheet{z-index:1;gap:var(--sp-xs);background:var(--surface);border-radius:20px 20px 14px 14px;width:min(100%,480px);max-height:calc(100dvh - 24px);margin:0 auto;animation:.21s cubic-bezier(.2,.8,.2,1) both sheet-in;display:grid;position:relative;overflow:auto;box-shadow:0 24px 70px #0c261a3d}.settings-group{gap:var(--sp-md);padding:var(--sp-xs) var(--sp-xl) var(--sp-xl);display:grid}.settings-label{color:var(--muted);font-size:var(--fs-micro);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.settings-account{align-items:center;gap:var(--sp-md);padding:var(--sp-lg);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--mint);display:flex}.settings-account>div{gap:3px;min-width:0;display:grid}.settings-account strong{font-size:var(--fs-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-account span{color:var(--muted);font-size:var(--fs-caption);line-height:var(--lh-snug)}.settings-avatar{width:38px;height:38px;color:var(--brand-cream);background:var(--green);border-radius:11px;flex:none;justify-content:center;align-items:center;display:inline-flex}.settings-password-form{gap:var(--sp-md);padding:var(--sp-lg);border:1px solid var(--line);border-radius:var(--radius-md);background:#fbfdfc;display:grid}.settings-password-actions{align-items:center;gap:var(--sp-sm);flex-wrap:wrap;display:flex}.settings-password-actions .primary-button{flex:1}.classification-hint{color:var(--green);font-size:var(--fs-caption)}.reminder-settings{border-top:1px solid var(--line);padding-top:2px}.reminder-card{border:1px solid var(--line);border-radius:var(--radius-md);background:#fbfdfc;transition:border-color .18s,box-shadow .18s;overflow:hidden}.reminder-card.enabled{border-color:#063f2c59;box-shadow:0 10px 28px #063f2c12}.reminder-card-head{align-items:center;gap:var(--sp-md);padding:var(--sp-lg);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.reminder-card-head>div{gap:3px;display:grid}.reminder-card-head strong{font-size:var(--fs-body);line-height:var(--lh-title)}.reminder-card-head>div>span{color:var(--muted);font-size:var(--fs-caption);line-height:var(--lh-body)}.reminder-icon{width:40px;height:40px;color:var(--green);background:var(--mint-strong);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.toggle-control{cursor:pointer;flex:none;display:inline-flex;position:relative}.toggle-control input{opacity:0;width:1px;height:1px;position:absolute}.toggle-control>span{background:#cbd6d0;border-radius:999px;width:44px;height:26px;transition:background .17s;display:block;position:relative}.toggle-control>span:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .17s;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #0c261a33}.toggle-control input:checked+span{background:var(--green)}.toggle-control input:checked+span:after{transform:translate(18px)}.toggle-control input:focus-visible+span{outline-offset:2px;outline:3px solid #063f2c38}.reminder-details{gap:var(--sp-lg);padding:var(--sp-lg);border-top:1px solid var(--line);background:var(--mint);display:grid}.reminder-time-field{justify-content:space-between;align-items:center;gap:var(--sp-lg);display:flex}.reminder-time-field>span{align-items:center;gap:var(--sp-xs);color:var(--muted);font-size:var(--fs-caption);font-weight:600;display:inline-flex}.reminder-time-field input{min-height:43px;padding:0 var(--sp-md);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-size:var(--fs-strong);border-radius:11px;font-weight:700}.reminder-days{gap:var(--sp-sm);border:0;min-width:0;padding:0;display:grid}.reminder-days legend{color:var(--muted);font-size:var(--fs-caption);font-weight:600}.reminder-days>div{gap:var(--sp-xs);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.reminder-days button{border:1px solid var(--line-strong);min-width:0;min-height:38px;color:var(--muted);background:var(--surface);font-size:var(--fs-caption);cursor:pointer;border-radius:10px;padding:0 2px;font-weight:600}.reminder-days button.selected{border-color:var(--green);color:var(--brand-cream);background:var(--green)}.reminder-days button:focus-visible{outline-offset:2px;outline:3px solid #063f2c38}.reminder-rule{align-items:flex-start;gap:var(--sp-sm);cursor:pointer;display:flex}.reminder-rule input{width:18px;height:18px;accent-color:var(--green);flex:none;margin:1px 0 0}.reminder-rule>span{gap:2px;display:grid}.reminder-rule strong{font-size:var(--fs-caption);line-height:var(--lh-snug)}.reminder-rule small{color:var(--muted);font-size:var(--fs-caption);line-height:var(--lh-body)}.reminder-destination{color:var(--muted);font-size:var(--fs-caption);line-height:var(--lh-body);overflow-wrap:anywhere}.reminder-destination strong{color:var(--ink)}.settings-message{align-items:center;gap:var(--sp-xs);padding:var(--sp-sm) var(--sp-md);font-size:var(--fs-caption);border-radius:10px;font-weight:600;display:flex}.settings-message.success{color:var(--green);background:var(--mint)}.settings-message.error{color:var(--danger);background:var(--danger-soft)}.amount-mode{margin-top:var(--sp-xs);color:var(--green);font-size:var(--fs-caption);cursor:pointer;background:0 0;border:0;align-self:start;padding:0;font-weight:600;text-decoration:underline}.installment-preview{margin-top:var(--sp-xs);color:var(--muted);font-size:var(--fs-caption)}.inline-edit{align-items:end;gap:var(--sp-md);margin:-4px 0 var(--sp-md);padding:var(--sp-lg) var(--sp-lg);border:1px solid var(--line-strong);border-radius:0 0 var(--radius-md) var(--radius-md);background:#fbfdfc;border-top:0;grid-template-columns:1.4fr 1fr 1fr;display:grid}.inline-edit-actions{gap:var(--sp-sm);flex-wrap:wrap;grid-column:1/-1;display:flex}@media (width<=560px){.inline-edit{gap:var(--sp-md);grid-template-columns:1fr}}.crash{justify-items:start;gap:var(--sp-md);padding:var(--sp-2xl) var(--sp-2xl);border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);display:grid}.crash-icon{width:44px;height:44px;color:var(--danger);background:var(--danger-soft);border-radius:13px;justify-content:center;align-items:center;display:inline-flex}.crash h2{font-size:var(--fs-section);letter-spacing:-.022em}.crash p{max-width:46ch;color:var(--muted);line-height:var(--lh-body)}.crash-actions{gap:var(--sp-sm);margin-top:var(--sp-xs);flex-wrap:wrap;display:flex}.crash details{width:100%;margin-top:var(--sp-xs)}.crash summary{color:var(--muted);font-size:var(--fs-caption);cursor:pointer}.crash code{margin-top:var(--sp-sm);padding:var(--sp-md) var(--sp-md);border-radius:var(--radius-sm);background:var(--mint);color:var(--green-dark);font-size:var(--fs-body);line-height:var(--lh-body);display:block;overflow-x:auto}.confirm-backdrop{z-index:130;padding:max(var(--sp-lg), env(safe-area-inset-top)) var(--sp-lg) max(var(--sp-lg), env(safe-area-inset-bottom));background:#14211c7a;place-items:center;animation:.18s ease-out both backdrop-in;display:grid;position:fixed;inset:0}.confirm-dialog{gap:var(--sp-md);width:min(100%,390px);max-height:100%;padding:var(--sp-2xl);border-radius:var(--radius-lg);background:var(--surface);animation:.24s cubic-bezier(.16,1,.3,1) both install-guide-in;display:grid;overflow-y:auto;box-shadow:0 26px 72px #0623184d}.confirm-icon{width:42px;height:42px;color:var(--danger);background:var(--danger-soft);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.confirm-dialog h2{font-size:var(--fs-section);line-height:var(--lh-title);letter-spacing:-.022em;text-wrap:balance}.confirm-dialog p{color:var(--muted);font-size:var(--fs-body);line-height:var(--lh-body)}.confirm-option{align-items:center;gap:var(--sp-md);margin-top:var(--sp-xs);padding:var(--sp-md) var(--sp-md);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);font-size:var(--fs-body);line-height:var(--lh-snug);cursor:pointer;background:#fbfdfc;display:flex}.confirm-option input{width:18px;height:18px;accent-color:var(--danger);flex:none;margin:0}.confirm-actions{gap:var(--sp-sm);margin-top:var(--sp-xs);grid-template-columns:1fr 1fr;display:grid}.confirm-actions button{border-radius:13px;min-height:48px;font-weight:700}.confirm-destructive{border:1px solid var(--danger);color:#fff;background:var(--danger);cursor:pointer;justify-content:center;align-items:center;transition:background .17s,transform .12s;display:inline-flex}.confirm-destructive:hover{background:#a51b22}.confirm-destructive:active{transform:translateY(1px)}.install-guide-backdrop{z-index:120;padding:max(var(--sp-xl), env(safe-area-inset-top)) var(--sp-lg) max(var(--sp-xl), env(safe-area-inset-bottom));background:#14211c7a;place-items:center;animation:.18s ease-out both backdrop-in;display:grid;position:fixed;inset:0}.install-guide{border-radius:var(--radius-lg);width:min(100%,460px);max-height:calc(100dvh - 32px);color:var(--ink);background:var(--surface);text-align:left;animation:.26s cubic-bezier(.16,1,.3,1) both install-guide-in;display:grid;overflow-y:auto;box-shadow:0 26px 72px #0623184d}.install-guide-hero{gap:var(--sp-lg);padding:var(--sp-xl) var(--sp-2xl) var(--sp-2xl);color:var(--brand-cream);background:var(--brand-deep);display:grid}.install-guide-head{justify-content:space-between;align-items:center;display:flex}.install-guide-icon{width:46px;height:46px;color:var(--green-dark);background:var(--brand-lime);border-radius:50%;place-items:center;display:grid}.install-guide-head .icon-button{color:var(--brand-cream);background:#f5f7ef14;border-color:#f5f7ef40}.install-guide-head .icon-button:hover{background:#f5f7ef24;border-color:#f5f7ef6b}.install-guide-copy{gap:var(--sp-sm);display:grid}.install-guide-copy h2{max-width:350px;color:var(--brand-cream);font-size:var(--fs-title);line-height:var(--lh-tight);letter-spacing:-.03em;text-wrap:balance}.install-guide-copy p{color:#c8d8cf;max-width:42ch;font-size:var(--fs-body);line-height:var(--lh-body)}.install-guide-body{gap:var(--sp-lg);padding:var(--sp-xl) var(--sp-2xl) var(--sp-2xl);display:grid}.install-platform-tabs{gap:var(--sp-xs);padding:var(--sp-xs);background:var(--mint);border-radius:12px;grid-template-columns:1fr 1fr;display:grid}.install-platform-tabs button{color:#496158;min-height:42px;font-size:var(--fs-caption);cursor:pointer;background:0 0;border:0;border-radius:9px;font-weight:600}.install-platform-tabs button.active{color:var(--green-dark);background:var(--surface)}.install-platform-tabs button:focus-visible{outline-offset:2px;outline:3px solid #063f2c3d}.install-steps{margin:0;padding:0;list-style:none;display:grid}.install-steps li{align-items:center;gap:var(--sp-sm);padding:var(--sp-md) 0;border-bottom:1px solid var(--line);grid-template-columns:22px 38px minmax(0,1fr);display:grid}.install-steps li:first-child{padding-top:2px}.install-steps li:last-child{border-bottom:0;padding-bottom:2px}.install-step-number{color:var(--muted);font-size:var(--fs-micro);text-align:center;font-weight:600}.install-step-icon{width:38px;height:38px;color:var(--green-dark);background:var(--mint);border-radius:50%;place-items:center;display:grid}.install-steps li>div{gap:3px;min-width:0;display:grid}.install-steps strong{color:var(--ink);font-size:var(--fs-body)}.install-steps p{color:var(--muted);font-size:var(--fs-body);line-height:var(--lh-body)}.install-guide-preference{align-items:center;gap:var(--sp-md);color:#496158;min-height:44px;font-size:var(--fs-caption);cursor:pointer;font-weight:600;display:flex}.install-guide-preference input{width:19px;height:19px;accent-color:var(--green);margin:0}.install-guide-actions{gap:var(--sp-sm);display:grid}.install-guide-actions .primary-button{width:100%}.install-later-button{min-height:42px;color:var(--green-dark);font-size:var(--fs-caption);cursor:pointer;background:0 0;border:0;font-weight:600}@keyframes install-guide-in{0%{opacity:.82;filter:blur(2px);transform:translateY(22px)scale(.985)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@media (width<=520px){.install-guide-backdrop{padding:max(var(--sp-lg), env(safe-area-inset-top)) var(--sp-md) max(var(--sp-lg), env(safe-area-inset-bottom))}.install-guide{max-height:100%;padding:var(--sp-xl) var(--sp-xl)}}.activation-onboarding{place-content:center;justify-items:center;gap:var(--sp-lg);min-height:100dvh;padding:var(--sp-2xl);color:var(--brand-cream);background:var(--brand-deep);text-align:center;display:grid}.activation-onboarding>p{color:#d5e2da;max-width:34ch;font-size:1rem;line-height:var(--lh-body)}.activation-gate{min-height:100dvh;padding:max(28px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));color:var(--brand-cream);background:radial-gradient(circle at 82% 12%, #b7e34a29, transparent 29%), var(--brand-deep);place-items:center;display:grid}.activation-card{width:min(100%,640px);color:var(--ink);background:#f7f9f3;border:1px solid #f5f7ef33;border-radius:22px;overflow:hidden;box-shadow:0 32px 90px #021d1461}.activation-brand{justify-content:space-between;align-items:center;gap:var(--sp-lg);min-height:76px;padding:var(--sp-lg) var(--sp-2xl);color:var(--brand-cream);background:var(--brand-deep);display:flex}.activation-brand>span{align-items:center;gap:var(--sp-sm);color:#d8e5dd;font-size:.875rem;font-weight:650;display:inline-flex}.activation-back{align-items:center;gap:var(--sp-xs);color:#d8e5dd;min-height:44px;font-size:var(--fs-caption);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;display:inline-flex}.activation-back:hover{color:var(--brand-cream)}.activation-back:focus-visible{outline-offset:3px;outline:3px solid #b7e34a73}.activation-copy{gap:var(--sp-lg);padding:34px var(--sp-3xl) var(--sp-xl);display:grid}.activation-kicker{color:var(--green);font-size:.875rem;font-weight:700}.activation-copy h1{letter-spacing:-.045em;text-wrap:balance;max-width:520px;font-size:clamp(2.15rem,7vw,3.35rem);line-height:.98}.activation-copy>p:last-child{max-width:52ch;color:var(--muted);font-size:1rem;line-height:1.6}.activation-offer{align-items:center;gap:var(--sp-xl);margin:0 var(--sp-3xl);padding:var(--sp-xl) var(--sp-2xl);background:var(--brand-lime);color:var(--green-dark);border:1px solid #a7cc48;border-radius:16px;grid-template-columns:1fr auto;display:grid}.activation-offer>div{gap:2px;display:grid}.activation-offer span{font-size:.875rem;font-weight:650}.activation-offer strong{font-family:var(--font-display);letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:clamp(2rem,7vw,3rem);line-height:1}.activation-offer p{padding-left:var(--sp-xl);border-left:1px solid #04352342;font-size:.875rem;font-weight:650;line-height:1.5}.activation-benefits{gap:var(--sp-md);padding:var(--sp-2xl) var(--sp-3xl);margin:0;list-style:none;display:grid}.activation-benefits li{align-items:start;gap:var(--sp-md);color:#34483e;grid-template-columns:22px 1fr;font-size:1rem;line-height:1.5;display:grid}.activation-benefits svg{color:var(--green);margin-top:3px}.activation-actions{gap:var(--sp-md);padding:0 var(--sp-3xl) var(--sp-3xl);display:grid}.activation-primary{justify-content:center;align-items:center;gap:var(--sp-md);min-height:56px;padding:var(--sp-lg) var(--sp-xl);color:var(--brand-cream);background:var(--green);border-radius:14px;font-size:1rem;font-weight:750;text-decoration:none;display:inline-flex;box-shadow:0 12px 26px #063f2c33}.activation-primary:hover{background:#075239}.activation-primary:focus-visible{outline-offset:3px;outline:3px solid #063f2c42}.activation-email{color:var(--muted);text-align:center;font-size:.875rem;line-height:1.5}.activation-email strong{color:var(--ink);overflow-wrap:anywhere}.activation-refresh,.activation-signout{min-height:44px;color:var(--green);cursor:pointer;background:0 0;border:0;font-size:.875rem;font-weight:650}.activation-refresh{justify-content:center;align-items:center;gap:var(--sp-sm);display:inline-flex}.activation-refresh:hover,.activation-signout:hover{text-underline-offset:4px;text-decoration:underline}.activation-refresh:disabled{opacity:.62;cursor:wait;text-decoration:none}.activation-error{padding:var(--sp-md);color:var(--danger);background:var(--danger-soft);border-radius:10px;font-size:.875rem;line-height:1.5}.activation-footer{justify-content:space-between;align-items:center;gap:var(--sp-xl);padding:var(--sp-lg) var(--sp-3xl);border-top:1px solid var(--border);color:var(--muted);background:#eef2e9;font-size:.8125rem;line-height:1.45;display:flex}.activation-footer span{max-width:42ch}.activation-footer .activation-signout{flex:none}.activation-status{place-content:center;justify-items:start;gap:var(--sp-lg);width:min(100% - 40px,480px);min-height:100dvh;margin:auto;display:grid}.activation-status h1{max-width:420px}.activation-status p{color:var(--muted);font-size:1rem;line-height:var(--lh-body)}.activation-status .primary-button{min-width:210px}.locked-account-shell{min-height:100dvh}.locked-dashboard-main{gap:var(--sp-xl);display:grid}.dashboard-activation{align-items:center;gap:var(--sp-lg);padding:var(--sp-lg) var(--sp-xl);border-radius:var(--radius-lg);color:var(--green-dark);background:#eff8d9;border:1px solid #9fbe55;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.dashboard-activation-icon{width:42px;height:42px;color:var(--brand-cream);background:var(--green);border-radius:50%;place-items:center;display:grid}.dashboard-activation>div{gap:3px;min-width:0;display:grid}.dashboard-activation strong{font-family:var(--font-display);font-size:var(--fs-strong);line-height:var(--lh-title)}.dashboard-activation>div>span{color:#486053;font-size:var(--fs-caption);line-height:var(--lh-body)}.dashboard-activation button{justify-content:center;align-items:center;gap:var(--sp-sm);min-height:46px;padding:0 var(--sp-lg);border:1px solid var(--green);border-radius:var(--radius-md);color:var(--brand-cream);background:var(--green);font-size:var(--fs-body);white-space:nowrap;cursor:pointer;font-weight:700;display:inline-flex}.dashboard-activation button:hover{border-color:var(--green-dark);background:var(--green-dark)}.dashboard-activation button:active{transform:translateY(1px)}.dashboard-activation button:focus-visible{outline-offset:3px;outline:3px solid #063f2c40}.locked-dashboard-preview{opacity:.76;filter:saturate(.72);position:relative}.locked-dashboard-preview:after{z-index:4;border-radius:var(--radius-lg);content:"";position:absolute;inset:0}@media (width>=900px){.locked-account-shell{display:block}.locked-account-shell .topbar .brand-wordmark{display:inline-flex}}@media (width<=560px){.activation-gate{background:#f7f9f3;place-items:stretch stretch;padding:0}.activation-card{min-height:100dvh;box-shadow:none;border:0;border-radius:0}.activation-brand{padding-inline:var(--sp-xl)}.activation-brand>span{font-size:.8125rem}.activation-copy{padding:30px var(--sp-xl) var(--sp-xl)}.activation-offer{margin-inline:var(--sp-xl);padding:var(--sp-xl)}.activation-benefits{padding-inline:var(--sp-xl)}.activation-actions{padding-inline:var(--sp-xl);padding-bottom:max(var(--sp-3xl), env(safe-area-inset-bottom))}.activation-footer{align-items:flex-start;gap:var(--sp-sm);padding-inline:var(--sp-xl);flex-direction:column}.activation-footer .activation-signout{padding-inline:0}.dashboard-activation{padding:var(--sp-lg);grid-template-columns:auto minmax(0,1fr)}.dashboard-activation button{grid-column:1/-1;width:100%}}@media (width<=390px){.activation-brand>span{max-width:100px}.activation-offer{grid-template-columns:1fr}.activation-offer p{padding:var(--sp-md) 0 0;border-top:1px solid #04352342;border-left:0}}.metas-week-summary{gap:var(--sp-md);margin-bottom:var(--sp-md);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid}.metas-week-card{gap:var(--sp-xxs);padding:var(--sp-lg);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);display:grid}.metas-week-card span{color:var(--muted);font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.05em}.metas-week-card strong{font-size:var(--fs-strong);white-space:nowrap;text-wrap:balance;line-height:1.15;display:block}.metas-week-card small{color:var(--muted);font-size:var(--fs-caption)}.metas-week-compare{gap:var(--sp-xs);margin:var(--sp-md) 0;padding:var(--sp-lg);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fbfdfc;display:grid}.metas-week-compare div{justify-content:space-between;align-items:baseline;gap:var(--sp-md);display:flex}.metas-week-compare div span{color:var(--muted);font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.05em}.metas-week-compare div strong{text-align:right;font-size:var(--fs-strong)}.metas-week-compare small{color:var(--muted);font-size:var(--fs-caption);line-height:var(--lh-body)}.metas-week-list{gap:var(--sp-sm);margin-top:var(--sp-md);display:grid}.metas-week-list h3{margin:0 0 var(--sp-sm);font-size:var(--fs-body)}.metas-week-row{justify-content:space-between;align-items:center;gap:var(--sp-md);padding:var(--sp-md) var(--sp-lg);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);display:flex}.metas-week-row div{min-width:0}.metas-week-row strong{white-space:nowrap}.metas-week-row small{color:var(--muted);font-size:var(--fs-caption);margin-top:2px;display:block}.metas-week-compare-categories{gap:var(--sp-sm);display:grid}.metas-week-category{align-items:center;gap:var(--sp-sm);padding:var(--sp-md) var(--sp-lg);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:auto 1fr auto;display:grid}.metas-week-category div{min-width:0}.metas-category-badge{background:#ffffff8c;border:1px solid;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.metas-category-badge span{border-radius:50%;width:10px;height:10px}.metas-category-badge+*{min-width:0}.metas-week-category strong{white-space:nowrap}.metas-week-category small{font-size:var(--fs-caption);margin-top:2px;display:block}.budget-list{gap:var(--sp-md);display:grid}.metas-overview{gap:var(--sp-sm);padding:var(--sp-xl);border-radius:var(--radius-lg);color:var(--brand-cream);background:linear-gradient(145deg, var(--green-dark), var(--green));display:grid;box-shadow:0 14px 30px #063f2c29}.metas-overview-heading,.metas-overview-foot{justify-content:space-between;align-items:center;gap:var(--sp-md);display:flex}.metas-overview-heading span{font-weight:700}.metas-overview-heading small,.metas-overview p,.metas-overview-foot{color:#ffffffc2;font-size:var(--fs-caption)}.metas-overview-value{font-variant-numeric:tabular-nums;font-size:clamp(1.9rem,6vw,2.6rem);line-height:1.1}.metas-overview p{margin:0}.metas-overview-track{background:#ffffff38;border-radius:999px;height:9px;overflow:hidden}.metas-overview-track span{border-radius:inherit;background:var(--brand-lime);height:100%;display:block}.metas-overview-foot b{color:var(--brand-cream);font-variant-numeric:tabular-nums}@media (width<=520px){.metas-overview{padding:var(--sp-lg)}.metas-overview-heading{align-items:flex-start}.metas-overview-heading small{text-align:right}}.budget-row{gap:var(--sp-md);padding:var(--sp-lg) var(--sp-lg) var(--sp-lg);border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);display:grid}.budget-row.near{background:var(--warn-soft);border-color:#e8d3a8}.budget-row.over{background:var(--danger-soft);border-color:#f0c9c9}.budget-head{align-items:baseline;gap:var(--sp-sm);display:flex}.budget-head strong{font-size:var(--fs-body)}.budget-dot{border-radius:50%;flex:none;width:9px;height:9px;transform:translateY(-1px)}.budget-numbers{font-weight:600;font-size:var(--fs-body);white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto}.budget-numbers small{margin-left:var(--sp-xs);color:var(--muted);font-weight:500;font-size:var(--fs-caption)}.budget-bar{background:var(--mint-strong);border-radius:999px;height:7px;overflow:hidden}.budget-bar span{background:var(--green);border-radius:999px;height:100%;display:block}.budget-row.near .budget-bar{background:#f2e3c6}.budget-row.near .budget-bar span{background:var(--warn)}.budget-row.over .budget-bar{background:#f4d6d6}.budget-row.over .budget-bar span{background:var(--danger)}.budget-foot{justify-content:space-between;align-items:center;gap:var(--sp-md);flex-wrap:wrap;display:flex}.budget-status{align-items:baseline;gap:var(--sp-sm);font-size:var(--fs-caption);font-weight:600;display:flex}.budget-status small{color:var(--muted);font-weight:500;font-size:var(--fs-caption);font-variant-numeric:tabular-nums}.budget-row.near .budget-status{color:var(--warn)}.budget-row.over .budget-status{color:var(--danger)}.budget-form{gap:var(--sp-md);padding:var(--sp-lg) var(--sp-lg);border:1px solid var(--line);border-radius:var(--radius-md);background:#fbfdfc;margin-top:2px;display:grid}.budget-suggestion{align-items:baseline;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-md);border:1px dashed var(--line-strong);color:var(--green);font:inherit;font-size:var(--fs-caption);cursor:pointer;background:0 0;border-radius:999px;justify-self:start;font-weight:600;display:flex}.budget-suggestion:hover{border-color:var(--green);background:var(--mint)}.budget-suggestion small{color:var(--muted);font-weight:500;font-size:var(--fs-caption)}.budget-alert{align-items:center;gap:var(--sp-md);width:100%;padding:var(--sp-md) var(--sp-lg);border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;display:flex}.budget-alert.near{background:var(--warn-soft);color:var(--warn);border-color:#e8d3a8}.budget-alert.over{background:var(--danger-soft);color:var(--danger);border-color:#f0c9c9}.budget-alert-icon{background:#ffffffb3;border-radius:11px;flex:none;place-items:center;width:34px;height:34px;display:grid}.budget-alert-copy{gap:2px;min-width:0;display:grid}.budget-alert-copy strong{font-size:var(--fs-body)}.budget-alert-copy small{color:var(--muted);font-size:var(--fs-caption)}.budget-alert>svg{opacity:.6;flex:none;margin-left:auto}@media (width<=520px){.budget-head{flex-wrap:wrap}.budget-numbers{width:100%;margin-left:0}.budget-foot .row-actions{margin-left:auto}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.empty-note{margin:var(--sp-sm) 0 0;color:var(--muted);font-size:var(--fs-body)}.form-hint{color:var(--muted);font-size:var(--fs-body);line-height:var(--lh-body);margin:0}.net-worth-hero{gap:var(--sp-xs);padding:var(--sp-xl) var(--sp-2xl) var(--sp-2xl);border-radius:var(--radius-lg);background:var(--green);color:var(--brand-cream);display:grid}.net-worth-hero span{color:#f5f7efb8;font-size:var(--fs-caption);letter-spacing:.02em}.net-worth-hero strong{font-family:var(--font-display);font-size:clamp(1.7rem,7vw,2.3rem);line-height:var(--lh-tight);font-variant-numeric:tabular-nums}.net-worth-hero p{margin:var(--sp-xs) 0 0;color:#f5f7efb8;font-size:var(--fs-body);line-height:var(--lh-body)}.capital-summary.metrics{gap:var(--sp-lg);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.capital-summary.metrics>div{border-right:0;padding:0}.quotes-bar{justify-content:space-between;align-items:center;gap:var(--sp-md);padding:var(--sp-md) var(--sp-lg);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--muted);font-size:var(--fs-caption);background:#fbfdfc;flex-wrap:wrap;display:flex}.quotes-bar.error{background:var(--danger-soft);color:var(--danger);border-color:#f0c9c9}.allocation{align-items:center;gap:var(--sp-2xl);margin-top:var(--sp-xl);flex-wrap:wrap;display:flex}.allocation-donut{flex:none;width:150px;height:150px;transform:rotate(-90deg)}.allocation-donut circle{fill:none;stroke-width:16px}.allocation-donut .allocation-track{stroke:var(--mint)}.allocation-legend{gap:var(--sp-sm);flex:320px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.allocation-legend li{align-items:baseline;gap:var(--sp-sm);font-size:var(--fs-body);grid-template-columns:10px 1fr auto auto;display:grid}.allocation-dot{border-radius:3px;width:10px;height:10px;transform:translateY(1px)}.allocation-name{overflow-wrap:break-word}.allocation-value{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.allocation-percent{text-align:right;min-width:46px;color:var(--muted);font-variant-numeric:tabular-nums}@media (width<=399px){.allocation-legend li,.legend-button{grid-template-columns:10px minmax(0,1fr) auto;row-gap:2px}.allocation-name{grid-column:2/-1}.allocation-value{grid-area:2/2}.allocation-percent{grid-area:2/3}}.allocation-note{margin:var(--sp-lg) 0 0;padding:var(--sp-md) var(--sp-lg);border-radius:var(--radius-md);background:var(--mint);color:var(--green);font-size:var(--fs-body);line-height:var(--lh-body)}.filter-chips{gap:var(--sp-sm);margin-top:var(--sp-md);scrollbar-width:none;padding-bottom:3px;display:flex;overflow-x:auto}.filter-chips::-webkit-scrollbar{display:none}.chip{min-height:40px;padding:var(--sp-sm) var(--sp-md);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--fs-caption);white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;font-weight:500}.chip:hover{border-color:var(--green)}.chip.active{border-color:var(--green);background:var(--green);color:var(--brand-cream);font-weight:600}.sort-field select{min-height:44px;padding:var(--sp-sm) var(--sp-md);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--fs-strong)}.asset-search{margin-top:var(--sp-md)}.ticker-field{gap:var(--sp-sm);display:flex}.ticker-field input{text-transform:uppercase;flex:auto;min-width:0}.ticker-field button{flex:none}.asset-warning{color:var(--warn)}.asset-values small{font-size:var(--fs-caption);font-variant-numeric:tabular-nums}.asset-values .positive{color:var(--green)}@media (width<=520px){.allocation{gap:var(--sp-lg);justify-content:center}.allocation-donut{width:128px;height:128px}.quotes-bar{font-size:var(--fs-caption)}}.expense-toolbar{align-items:center;gap:var(--sp-sm);flex-wrap:wrap;display:flex}.toolbar-button{align-items:center;gap:var(--sp-sm);min-height:40px;padding:var(--sp-sm) var(--sp-lg);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--fs-caption);cursor:pointer;border-radius:999px;font-weight:600;display:inline-flex}.toolbar-button:hover{border-color:var(--green)}.toolbar-button.active{border-color:var(--green);background:var(--mint);color:var(--green)}.toolbar-button em{min-width:18px;height:18px;padding:0 var(--sp-xs);background:var(--green);color:var(--brand-cream);font-size:var(--fs-caption);border-radius:999px;place-items:center;font-style:normal;font-weight:600;display:grid}.toolbar-period{margin-left:auto}.toolbar-period select{min-height:44px;padding:var(--sp-sm) var(--sp-md);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--fs-strong);border-radius:999px;font-weight:600}.expense-toolbar+.search-field{margin-top:var(--sp-md)}@media (width<=430px){.toolbar-period{flex:100%;margin-left:0}.toolbar-period select{width:100%}}.allocation-donut.selectable circle{cursor:pointer;transition:opacity .16s}.allocation-legend.interactive li{display:block}.legend-button{align-items:baseline;gap:var(--sp-sm);width:100%;min-height:38px;padding:var(--sp-sm);border-radius:var(--radius-sm);color:var(--ink);font:inherit;font-size:var(--fs-body);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:10px 1fr auto auto;display:grid}.legend-button:hover{background:var(--mint)}.legend-button.active{border-color:var(--green);background:var(--mint);font-weight:600}.clear-category{margin-top:var(--sp-lg)}.subcategory-breakdown{gap:var(--sp-xl);margin-top:var(--sp-xl);padding-top:var(--sp-xl);border-top:1px solid var(--line);grid-template-columns:minmax(150px,.55fr) minmax(240px,1.45fr);display:grid}.subcategory-breakdown-heading{align-items:flex-start;gap:var(--sp-md);display:flex}.subcategory-breakdown-heading>div{gap:2px;display:grid}.subcategory-breakdown-heading>div>span{color:var(--muted);font-size:var(--fs-caption)}.subcategory-breakdown-heading strong{font-size:var(--fs-body)}.subcategory-breakdown-heading small{color:var(--muted);font-size:var(--fs-caption)}.subcategory-segments{gap:var(--sp-xs);display:grid}.subcategory-segment{align-items:center;gap:var(--sp-md);min-height:52px;padding:var(--sp-sm) var(--sp-md);border-radius:var(--radius-sm);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:minmax(0,1fr) auto;display:grid;position:relative;overflow:hidden}.subcategory-segment:hover{background:var(--mint)}.subcategory-segment.active{background:var(--mint);border-color:#91bea6}.subcategory-segment>span{gap:1px;min-width:0;display:grid}.subcategory-segment strong{font-size:var(--fs-strong);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.subcategory-segment small{color:var(--muted);font-size:var(--fs-caption)}.subcategory-segment>b{font-size:var(--fs-strong);white-space:nowrap;font-variant-numeric:tabular-nums}.subcategory-segment>i{right:var(--sp-md);bottom:3px;left:var(--sp-md);background:var(--line);border-radius:999px;height:3px;position:absolute;overflow:hidden}.subcategory-segment>i>span{border-radius:inherit;height:100%;display:block}@media (width<=620px){.subcategory-breakdown{gap:var(--sp-md);grid-template-columns:1fr}}.category-row{width:100%;font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0}.category-row:hover .category-data strong{color:var(--green)}.category-chevron{color:var(--faint);opacity:.7;flex:none}.topbar-bell{z-index:2;width:44px;height:44px;margin-top:calc(env(safe-area-inset-top) / 2);color:#f5f7ef94;cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:color .17s,transform .15s;display:inline-flex;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.topbar-bell:hover{color:var(--brand-lime)}.topbar-bell:active{transform:translateY(-50%)scale(.94)}.topbar-bell:focus-visible{outline-offset:2px;outline:3px solid #b7e34a80}.topbar-bell-dot{border:2px solid var(--brand-deep);background:var(--brand-lime);border-radius:50%;width:9px;height:9px;position:absolute;top:9px;right:9px}@media (width>=641px){.topbar-bell{left:30px}}@media (width>=900px){.topbar-bell{left:auto;right:116px}.sync-dot{right:74px}.topbar-settings{right:26px}}.agenda-alert{align-items:center;gap:var(--sp-md);padding:var(--sp-md) var(--sp-lg);border-radius:var(--radius-lg);background:var(--warn-soft);color:var(--warn);border:1px solid #e8d3a8;display:flex}.agenda-day+.agenda-day{margin-top:var(--sp-xs)}.section-meta.overdue{color:var(--danger);font-weight:600}.agenda-row{align-items:start}.agenda-row.income .pending-value{color:var(--green)}.agenda-row.resolved{opacity:.62}.agenda-row.resolved .pending-copy strong{text-decoration:line-through}.agenda-actions{flex-wrap:wrap;justify-content:flex-end}.notification-list{gap:var(--sp-sm);display:grid}.notification-row{align-items:center;gap:var(--sp-md);padding:var(--sp-md) var(--sp-md);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:auto minmax(0,1fr);display:grid}.notification-row.muted{background:#fbfdfc}.notification-row strong{font-size:var(--fs-body);display:block}.notification-row span{color:var(--muted);font-size:var(--fs-caption)}@media (width<=520px){.agenda-row{grid-template-columns:auto minmax(0,1fr)}.agenda-row .pending-value{grid-column:2}.agenda-actions{margin-top:var(--sp-sm);grid-column:1/-1}}.agenda-calendar{padding:var(--sp-lg) var(--sp-lg) var(--sp-xl);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.calendar-head{justify-content:space-between;align-items:center;gap:var(--sp-md);margin-bottom:var(--sp-lg);display:flex}.calendar-head strong{font-size:var(--fs-strong);line-height:var(--lh-snug)}.calendar-head strong:first-letter{text-transform:uppercase}.calendar-grid{gap:var(--sp-xs);grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekday{padding-bottom:var(--sp-xs);color:var(--faint);font-size:var(--fs-micro);letter-spacing:.06em;text-align:center;text-transform:uppercase;font-weight:600}.calendar-blank{aspect-ratio:1}.calendar-day{aspect-ratio:1;border-radius:var(--radius-sm);background:var(--mint);color:var(--ink);font:inherit;font-size:var(--fs-caption);font-variant-numeric:tabular-nums;cursor:pointer;border:1px solid #0000;align-content:center;justify-items:center;gap:3px;padding:0;font-weight:600;transition:background .14s,border-color .14s;display:grid}.calendar-day.empty{color:var(--faint);background:0 0;font-weight:500}.calendar-day:hover{border-color:var(--green)}.calendar-day.today{border-color:var(--green);color:var(--green)}.calendar-day.selected{background:var(--green);border-color:var(--green);color:var(--brand-cream)}.calendar-day.selected .calendar-dots i{background:var(--brand-lime)}.calendar-day:focus-visible{outline-offset:1px;outline:3px solid #b7e34a80}.calendar-dots{gap:2px;height:5px;display:flex}.calendar-dots i{border-radius:50%;width:5px;height:5px}.calendar-dots i.bill{background:var(--green)}.calendar-dots i.income{background:#6f9f3f}.calendar-dots i.reminder{background:var(--warn)}.calendar-clear{margin-top:var(--sp-lg)}@media (width<=380px){.calendar-grid{gap:3px}.calendar-day{font-size:var(--fs-caption)}}
