:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f3ec;--surface:#fcfaf6;--surface-raised:#fffdfa;--soft:#eee7dc;--line:#e9e3d9;--ink:#242720;--muted:#62665c;--accent:#626b4f;--accent-soft:#e9eddf;--on-accent:#fffefa;--positive:#287346;--negative:#b83c43;--expense-soft:#ffe4e1;--chart-1:#cb5459;--chart-2:#c38250;--chart-3:#748562;--chart-4:#927aa9;--chart-5:#a5a091;--shadow:0 3px 14px #423e2e04;--overlay:#191c1866;--serif:Georgia, "Times New Roman", serif;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}:root[data-theme=lilac]{--bg:#f4effa;--soft:#e9dff4;--accent:#7750a8;--accent-soft:#ede3fa;--line:#e7deee}:root[data-theme=blue]{--bg:#eef5fb;--soft:#e0ebf5;--accent:#326d9a;--accent-soft:#dcecf9;--line:#dce6ef}:root[data-theme=green]{--bg:#f1f6e9;--soft:#e5edd8;--accent:#3e7145;--accent-soft:#e1edd7;--line:#e0e8d7}:root[data-theme=orange]{--bg:#fff4e7;--soft:#f6e6d2;--accent:#995526;--accent-soft:#f9e6cf;--line:#f0e1d1}:root[data-mode=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#171914;--surface:#20231d;--surface-raised:#262922;--soft:#30342b;--line:#35392f;--ink:#f2f0e8;--muted:#b1b4a7;--accent:#b4bd98;--accent-soft:#343e29;--on-accent:#202619;--positive:#91cfa2;--negative:#ff9b9c;--expense-soft:#493032;--chart-1:#e48c90;--chart-2:#d8a474;--chart-3:#a4b98c;--chart-4:#b3a1d3;--chart-5:#aaa79c;--shadow:0 3px 14px #0000000a;--overlay:#080a08aa}:root[data-mode=dark][data-theme=lilac]{--accent:#cab0ef;--accent-soft:#3c304c;--on-accent:#2b1e3d}:root[data-mode=dark][data-theme=blue]{--accent:#9fcbef;--accent-soft:#293e4e;--on-accent:#172e40}:root[data-mode=dark][data-theme=green]{--accent:#aed49c;--accent-soft:#30442a;--on-accent:#1d3118}:root[data-mode=dark][data-theme=orange]{--accent:#edbe92;--accent-soft:#4a3827;--on-accent:#392411}@media (prefers-color-scheme:dark){:root:not([data-mode]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#171914;--surface:#20231d;--surface-raised:#262922;--soft:#30342b;--line:#35392f;--ink:#f2f0e8;--muted:#b1b4a7;--accent:#b4bd98;--accent-soft:#343e29;--on-accent:#202619;--positive:#91cfa2;--negative:#ff9b9c;--expense-soft:#493032}}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);font:14px/1.5 var(--sans);-webkit-text-size-adjust:100%;margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.5}button,input,select{border-radius:10px}button{background:0 0;border:0}button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:active:not(:disabled){opacity:.75}[hidden]{display:none!important}svg{flex-shrink:0;width:24px;height:24px;display:block}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--serif);line-height:1.25}h1{letter-spacing:-.6px;font-size:23px;font-weight:600}h2{letter-spacing:-.35px;font-size:21px;font-weight:600}h3{letter-spacing:-.2px;font-size:18px;font-weight:600}h4{font-size:14px}small{font-size:12px}.app-shell{max-width:540px;padding-top:env(safe-area-inset-top,0px);min-height:100vh;min-height:100dvh;margin:0 auto}main{padding:0 18px calc(112px + env(safe-area-inset-bottom,0px))}.view{display:none}.view.active{display:block}.masthead{justify-content:space-between;align-items:center;gap:12px;padding:27px 20px 20px;display:flex}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-icon{background:var(--accent);width:47px;height:49px;color:var(--on-accent);font:31px var(--serif);border-radius:11px;place-items:center;display:grid}.brand-subtitle{color:var(--muted);margin-top:2px;font-size:12px}.icon-button,.close-button{width:44px;height:44px;color:var(--ink);flex:0 0 44px;place-items:center;display:grid}.masthead .icon-button{background:var(--surface);border:1px solid var(--line);border-radius:50%}.icon-button svg{width:22px;height:22px}.page-heading{justify-content:space-between;align-items:center;gap:8px;padding:18px 0 20px;display:flex}.page-heading h2{text-align:center;overflow-wrap:anywhere;min-width:0;font-size:22px}.heading-spacer{flex:0 0 44px;width:44px}.page-intro{color:var(--muted);text-align:center;margin:-9px 0 22px}.section-title{justify-content:space-between;align-items:center;gap:8px;margin:23px 0 11px;display:flex}.section-title h2{font-size:19px}.link-button{color:var(--muted);flex-shrink:0;min-height:44px;padding:5px 0 5px 10px;font-size:12px}.link-button span{vertical-align:-1px;margin-left:7px;font-size:22px}.hero{isolation:isolate;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;min-height:181px;padding:19px 19px 17px;position:relative;overflow:hidden}.hero-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.hero-label{font:10px/1.4 var(--sans);text-transform:uppercase;letter-spacing:1.6px;color:var(--muted)}.period-pill{background:var(--surface-raised);border:1px solid var(--line);border-radius:8px;padding:4px 9px;font-size:10px;font-weight:600}.hero-amount{font:clamp(28px, 8.7vw, 45px)/1.2 var(--serif);letter-spacing:-1.8px;z-index:1;overflow-wrap:anywhere;font-variant-numeric:lining-nums;margin:8px 0 17px;position:relative}.hero-chart{color:var(--accent);z-index:-1;opacity:.72;width:48%;height:91px;position:absolute;bottom:0;right:0}.hero-chart .chart-labels,.hero-chart .chart-amounts{display:none}.hero-chart svg{width:100%;height:91px}.hero-growth{flex-direction:column;align-items:flex-start;gap:4px;display:flex;position:relative}.hero-growth>span{background:var(--accent-soft);color:var(--accent);border-radius:20px;padding:3px 8px;font-size:12px;font-weight:650}.hero-growth small{color:var(--muted);max-width:65%;font-size:10px}.accounts-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;margin:12px 0 9px;display:grid}.account-card{text-align:left;background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:13px;align-items:center;gap:9px;min-width:0;padding:13px 10px;display:flex}.account-icon,.small-icon{background:var(--soft);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.account-icon{width:41px;height:41px;font-size:23px}.account-icon svg{width:23px;height:23px}.account-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.account-copy>span{color:var(--muted);font-size:10px}.account-card.large-amount .account-icon,.account-card.large-amount .chevron{display:none}.account-card.large-amount .account-copy{width:100%}.account-copy strong{letter-spacing:-.4px;overflow-wrap:anywhere;font-size:14px}.chevron{color:var(--muted);margin-left:auto;font-size:23px}.payroll-row{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:center;gap:9px;padding:9px 11px;font-size:11px;display:flex}.small-icon{width:30px;height:30px}.small-icon svg{width:18px;height:18px}.payroll-row strong{text-align:right;overflow-wrap:anywhere;max-width:48%;margin-left:auto}.actions-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:21px -4px 19px;display:grid}.quick-action{flex-direction:column;align-items:center;gap:8px;min-width:0;padding:0;font-size:11px;font-weight:550;display:flex}.qa-icon{background:var(--soft);border-radius:50%;place-items:center;width:51px;height:51px;display:grid}.qa-icon svg{width:26px;height:26px}.qa-icon.income{color:var(--on-accent);background:var(--accent)}.qa-icon.expense{color:var(--negative);background:var(--expense-soft)}.home-goal{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-items:center;gap:11px;padding:14px 12px;display:flex}.home-goal-copy{flex:1;min-width:0}.goal-heading{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.goal-heading h3{font:600 13px/1.4 var(--sans);overflow-wrap:anywhere}.goal-heading strong{flex-shrink:0;font-size:12px}.progress-track{background:var(--soft);border-radius:10px;height:6px;margin:7px 0;overflow:hidden}.progress-fill{background:var(--accent);border-radius:inherit;width:0;height:100%}.home-goal p,.home-goal small{color:var(--muted);overflow-wrap:anywhere;font-size:10px}.goal-link{min-width:44px;color:var(--muted);align-self:stretch;font-size:24px}.device-note{text-align:center;color:var(--muted);font:italic 12px var(--serif);margin:23px 0 0}.activity-list{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:0 10px}.activity-row{text-align:left;border-radius:0;align-items:center;gap:11px;width:100%;min-width:0;padding:13px 0;display:flex}.activity-row+.activity-row{border-top:1px solid var(--line)}.activity-icon{background:var(--soft);border-radius:12px;flex-shrink:0;place-items:center;width:39px;height:39px;display:grid}.activity-icon svg{width:22px;height:22px}.activity-icon.income,.activity-icon.transfer{background:var(--accent-soft);color:var(--accent)}.activity-info{flex-direction:column;flex:1;min-width:0;display:flex}.activity-info strong{overflow-wrap:anywhere;font-size:13px;font-weight:550}.activity-info small{color:var(--muted);overflow-wrap:anywhere;font-size:11px}.activity-amount{text-align:right;overflow-wrap:anywhere;max-width:42%;font-size:12px;font-weight:600}.positive,.activity-amount.income{color:var(--positive)}.negative,.activity-amount.expense{color:var(--negative)}.accent-text,.activity-amount.transfer{color:var(--accent)}.empty-state{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:10px;padding:24px 12px;font-size:13px;display:flex}.empty-icon{font-size:24px}.search-field{background:var(--soft);border:1px solid var(--line);color:var(--muted);border-radius:10px;align-items:center;gap:9px;margin-bottom:12px;padding:0 11px;display:flex}.search-field svg{width:18px;height:18px}.search-field input{background:0 0;border:0;width:100%;min-width:0;min-height:44px;padding:10px 0;font-size:16px}.filter-chips{background:var(--soft);border-radius:9px;grid-template-columns:.85fr 1fr 1fr 1.45fr;gap:1px;margin-bottom:23px;padding:3px;display:grid}.chip{min-height:44px;color:var(--muted);border-radius:7px;padding:5px 2px;font-size:11px}.chip.selected{background:var(--accent);color:var(--on-accent)}.month-heading{justify-content:space-between;align-items:center;gap:8px;margin:22px 0 4px;display:flex}.month-heading h3{font-size:19px}.month-heading h3:first-letter{text-transform:uppercase}.month-totals{text-align:right;overflow-wrap:anywhere;flex-direction:column;max-width:50%;font-size:11px;display:flex}.movement-groups .activity-list{box-shadow:none;background:0 0;border:0;padding:0 2px}.movement-groups .activity-row{padding:14px 0}.floating-add{bottom:calc(100px + env(safe-area-inset-bottom,0px));background:var(--accent);width:59px;height:59px;color:var(--on-accent);box-shadow:0 5px 18px var(--overlay);z-index:5;border-radius:50%;place-items:center;display:grid;position:fixed;right:max(22px,50vw - 250px)}.chart-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:15px;margin:0 0 14px;padding:17px 14px}.chart-card>h3{margin-bottom:18px}.chart-card .section-title{margin:0 0 15px}.chart-card h3{font-size:17px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.stat-tile small{color:var(--muted);margin-bottom:7px;font-size:11px;display:block}.stat-tile strong{overflow-wrap:anywhere;font-size:16px;font-weight:600}.wealth-chart svg{width:100%;height:147px;color:var(--accent)}.wealth-line{stroke:currentColor;stroke-width:2px;fill:none;vector-effect:non-scaling-stroke}.wealth-area{fill:currentColor;opacity:.1}.wealth-dot{fill:currentColor}.chart-labels,.chart-amounts{color:var(--muted);justify-content:space-between;gap:6px;margin:7px 0;font-size:10px;display:flex}.chart-amounts{color:var(--ink);font-size:12px}.chart-labels span{text-align:center;min-width:0}.cat-row{align-items:center;gap:9px;margin:15px 0;display:flex}.cat-row:last-child{margin-bottom:0}.cat-icon{background:var(--chart-color);width:30px;height:30px;color:var(--surface);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.cat-icon svg{width:17px;height:17px}.cat-content{flex:1;min-width:0}.cat-head{justify-content:space-between;gap:7px;margin-bottom:5px;font-size:11px;display:flex}.cat-head span:first-child{overflow-wrap:anywhere}.cat-head small{color:var(--muted);font-size:10px}.cat-row>strong{text-align:right;overflow-wrap:anywhere;max-width:40%;margin-left:auto;font-size:12px}.cat-track{background:var(--soft);border-radius:5px;height:5px;overflow:hidden}.cat-fill{background:var(--chart-color);border-radius:inherit;height:100%}.donut-chart{align-items:center;gap:20px;display:flex}.donut{border-radius:50%;flex-shrink:0;width:118px;height:118px;position:relative}.donut:after{content:"";background:var(--surface);border-radius:50%;position:absolute;top:24px;bottom:24px;left:24px;right:24px}.donut-legend{flex-direction:column;flex:1;gap:9px;min-width:0;display:flex}.legend-row{align-items:center;gap:6px;font-size:10px;display:flex}.legend-row>span:nth-child(2){overflow-wrap:anywhere;flex:1}.legend-dot{background:var(--chart-color);border-radius:3px;flex-shrink:0;width:8px;height:8px}.settings-heading{margin:23px 2px 10px;font-size:18px}.settings-heading:first-of-type{margin-top:0}.settings-list{background:var(--surface);border:1px solid var(--line);border-radius:13px;overflow:hidden}.setting-row{text-align:left;align-items:center;gap:10px;width:100%;min-height:53px;margin:0;padding:9px 11px;font-size:12px;display:flex}.setting-row+.setting-row{border-top:1px solid var(--line)}.setting-row>span:nth-child(2){overflow-wrap:anywhere;flex:1;min-width:0}.setting-row select{width:auto;max-width:48%;color:var(--muted);background:0 0;border:0;min-height:35px;margin-left:auto;padding:6px 0;font-size:16px}.setting-value{color:var(--muted);font-size:11px}.setting-row input[role=switch]{-webkit-appearance:none;appearance:none;background:var(--soft);border:0;border-radius:20px;flex-shrink:0;width:39px;height:23px;min-height:0;margin:0;position:relative}.setting-row input[role=switch]:after{content:"";background:var(--surface-raised);border-radius:50%;width:17px;height:17px;position:absolute;top:3px;left:3px}.setting-row input[role=switch]:checked{background:var(--accent)}.setting-row input[role=switch]:checked:after{background:var(--on-accent);transform:translate(16px)}.settings-card,.savings-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);overflow-wrap:anywhere;border-radius:17px;margin:14px 0;padding:19px}.settings-card h3,.savings-card h3{margin-bottom:11px}.section-description{color:var(--muted);margin:10px 0 14px;font-size:12px;line-height:1.65}.fine-print,.subtle{color:var(--muted);margin:12px 2px;font-size:11px;line-height:1.6;display:block}.danger-zone{margin-top:22px}.danger-zone h3{color:var(--negative)}.savings-totals{background:var(--accent-soft);border-radius:16px;margin:0 0 15px;padding:16px}.savings-totals div,.goal-item-details div{justify-content:space-between;gap:12px;margin:8px 0;display:flex}.savings-totals dt,.goal-item-details dt{overflow-wrap:anywhere;min-width:0;font-size:12px}.savings-totals dd,.goal-item-details dd{text-align:right;overflow-wrap:anywhere;max-width:60%;margin:0;font-size:13px;font-weight:600}.savings-card p{margin:9px 0;font-size:13px;line-height:1.6}.goal-status{color:var(--accent);font-size:11px!important}progress{-webkit-appearance:none;appearance:none;background:var(--soft);width:100%;height:7px;accent-color:var(--accent);border:0;border-radius:10px;overflow:hidden}progress::-webkit-progress-bar{background:var(--soft);border-radius:10px}progress::-webkit-progress-value{background:var(--accent);border-radius:10px}progress::-moz-progress-bar{background:var(--accent);border-radius:10px}.goal-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:17px;display:grid}.goal-actions button{padding:9px 6px;font-size:12px}.goal-item-details{margin:12px 0}.savings-card summary{cursor:pointer;min-height:44px;color:var(--accent);padding-top:12px;font-size:12px}.feature-icon{background:var(--accent-soft);width:48px;height:48px;color:var(--accent);border-radius:14px;place-items:center;margin-bottom:15px;display:inline-grid}.bottom-nav{z-index:10;background:var(--bg);border-top:1px solid var(--line);width:100%;max-width:540px;padding:8px 10px calc(10px + env(safe-area-inset-bottom,0px));grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:49px;padding:3px 0;font-size:10px;display:flex}.nav-item svg{width:22px;height:22px}.nav-item.active{color:var(--accent);font-weight:650}dialog{color:var(--ink);background:var(--surface-raised);border:1px solid var(--line);width:min(92vw,470px);max-height:calc(90vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-height:calc(90dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overscroll-behavior:contain;box-shadow:0 15px 70px var(--overlay);border-radius:22px;padding:0;overflow:auto}dialog::backdrop{background:var(--overlay)}.dialog-head{justify-content:space-between;align-items:center;gap:8px;padding:20px 19px 10px;display:flex}.dialog-head h2{overflow-wrap:anywhere;font-size:23px}.close-button{color:var(--muted);font-size:27px}.dialog-body{overflow-wrap:anywhere;padding:0 20px 12px}.eyebrow{color:var(--muted);letter-spacing:1.2px;margin:0 0 5px;font-size:9px;display:block}label{margin:14px 0;font-size:12px;font-weight:500;display:block}input,select{background:var(--bg);border:1px solid var(--line);width:100%;min-width:0;min-height:46px;margin-top:6px;padding:11px 12px;font-size:16px;display:block}input::placeholder{color:var(--muted);opacity:1}.dialog-actions{grid-template-columns:1fr;gap:10px;padding:14px 20px 20px;display:grid}.primary-button,.secondary-button,.danger-button{text-align:center;border-radius:11px;min-height:46px;padding:12px 15px;font-size:13px;font-weight:600;line-height:1.45}.primary-button{background:var(--accent);color:var(--on-accent)}.secondary-button{background:var(--surface);color:var(--accent);border:1px solid var(--line)}.danger-button{color:var(--negative);background:var(--expense-soft);border:1px solid var(--line)}.full{width:100%}.distribution-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.distribution-actions .primary-button{white-space:normal;overflow-wrap:normal;grid-column:1/-1}.goal-field-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.goal-item-row{grid-template-columns:minmax(0,1fr) minmax(0,.8fr) 30px;align-items:end;gap:7px;display:grid}.goal-item-row label{min-width:0}.goal-item-row .close-button{width:30px;margin-bottom:14px}.form-error{color:var(--negative);background:var(--expense-soft);overflow-wrap:anywhere;border-radius:11px;margin:12px 0;padding:13px;font-size:12px}.notice{background:var(--accent-soft);border:1px solid var(--line);border-radius:13px;margin:12px 0;padding:15px;font-size:12px}.notice button{margin-top:10px}.toast{bottom:calc(94px + env(safe-area-inset-bottom,0px));background:var(--ink);width:max-content;max-width:90vw;color:var(--bg);text-align:center;opacity:0;pointer-events:none;z-index:30;border-radius:12px;padding:13px 17px;font-size:12px;transition:opacity .15s,transform .15s;position:fixed;left:50%;transform:translate(-50%,10px)}.toast.show{opacity:1;transform:translate(-50%)}@media (max-width:360px){main{padding-inline-start:13px;padding-inline-end:13px}.masthead{padding-inline-start:15px;padding-inline-end:15px}h1{font-size:21px}.account-card{gap:6px;padding:12px 8px}.account-icon{width:33px;height:36px}.account-copy strong{font-size:12px}.account-card .chevron{display:none}.quick-action{font-size:10px}.stats-grid{gap:7px}.stat-tile strong{font-size:13px}.donut{width:95px;height:95px}.donut:after{top:19px;bottom:19px;left:19px;right:19px}.donut-chart{gap:12px}.setting-row{gap:7px;padding-inline-start:8px;padding-inline-end:8px}.dialog-head,.dialog-body,.dialog-actions{padding-inline-start:15px;padding-inline-end:15px}}@media (min-width:700px){.app-shell{border-inline:1px solid var(--line)}main{padding-inline-start:27px;padding-inline-end:27px}.masthead{padding:30px 28px 24px}.hero{min-height:195px;padding:23px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.period-selector{background:var(--soft);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin-bottom:10px;padding:3px;display:grid}.period-selector button{min-height:44px;color:var(--muted);border-radius:8px;padding:8px;font-size:12px}.period-selector button.selected{background:var(--accent);color:var(--on-accent);font-weight:600}.period-date{color:var(--muted);text-align:right;margin:0 2px 11px;font-size:11px}.coverage-note{color:var(--muted);margin:0 2px 15px;font-size:11px;line-height:1.6}.home-insights{margin:15px 0 0}.home-insights>h2{margin-bottom:19px;font-size:20px}.home-insights>h3,#homeCategoryOverview>h3{margin:22px 0 12px;font-size:16px}.home-insights .chart-amounts{margin-top:14px}.chart-amounts>span{flex:1;min-width:0}.chart-amounts>strong{overflow-wrap:anywhere;text-align:right;max-width:55%}.chart-labels>span{overflow-wrap:anywhere;flex:1;font-size:10px}:root[data-layout=visual] .masthead{padding-block-start:28px;padding-block-end:24px}:root[data-layout=visual] .brand-icon{width:53px;height:55px}:root[data-layout=visual] .hero{min-height:259px;padding:23px}:root[data-layout=visual] .hero-amount{margin-bottom:17px;font-size:clamp(32px,12vw,54px)}:root[data-layout=visual] .hero-chart{opacity:.5;width:100%;height:105px}:root[data-layout=visual] .hero-chart svg{height:105px}:root[data-layout=visual] .hero-growth small{max-width:100%}:root[data-layout=visual] .home-goal{background:var(--accent-soft);min-height:128px;margin-top:16px;padding:18px 14px}:root[data-layout=visual] .home-goal .account-icon{background:var(--surface);width:51px;height:51px;font-size:29px}:root[data-layout=visual] .goal-heading h3{font-size:16px}:root[data-layout=visual] .home-goal p,:root[data-layout=visual] .home-goal small{font-size:11px}:root[data-layout=visual] .progress-track{height:8px;margin-block-start:11px;margin-block-end:11px}:root[data-layout=visual] .accounts-grid{margin-block-start:16px;margin-block-end:16px}:root[data-layout=visual] .account-card{padding-block-start:19px;padding-block-end:19px}:root[data-layout=visual] .account-copy strong{font-size:16px}:root[data-layout=visual] .activity-row{min-height:82px;padding-block-start:18px;padding-block-end:18px}:root[data-layout=visual] .activity-icon{width:44px;height:44px}:root[data-layout=visual] .activity-info strong{font-size:14px}:root[data-layout=visual] .chart-card,:root[data-layout=visual] .savings-card{border-radius:20px;padding:22px 18px}:root[data-layout=visual] .wealth-chart svg{height:185px}:root[data-layout=visual] .setting-row{min-height:60px}:root[data-layout=visual] .nav-item.active{background:var(--accent-soft);border-radius:12px}:root[data-layout] .account-card.large-amount .account-copy strong{font-size:12px}:root[data-layout=compact] .masthead{padding-block-start:15px;padding-block-end:13px}:root[data-layout=compact] .brand-icon{width:39px;height:41px;font-size:27px}:root[data-layout=compact] h1{font-size:21px}:root[data-layout=compact] .hero{min-height:143px;padding:13px 16px}:root[data-layout=compact] .hero-amount{margin:5px 0 10px;font-size:clamp(28px,8vw,38px)}:root[data-layout=compact] .hero-chart,:root[data-layout=compact] .hero-chart svg{height:65px}:root[data-layout=compact] .accounts-grid{margin-block-start:9px;margin-block-end:7px}:root[data-layout=compact] .account-card{gap:7px;min-height:55px;padding:9px 8px}:root[data-layout=compact] .account-icon{width:32px;height:32px}:root[data-layout=compact] .payroll-row{min-height:44px;padding-block-start:6px;padding-block-end:6px}:root[data-layout=compact] .actions-grid{margin-block-start:13px;margin-block-end:13px}:root[data-layout=compact] .qa-icon{width:44px;height:44px}:root[data-layout=compact] .quick-action{gap:5px}:root[data-layout=compact] .home-goal{padding:10px}:root[data-layout=compact] .section-title{margin-block-start:10px;margin-block-end:5px}:root[data-layout=compact] .activity-row{gap:9px;min-height:53px;padding-block-start:9px;padding-block-end:9px}:root[data-layout=compact] .activity-icon{width:33px;height:33px}:root[data-layout=compact] .activity-info small{font-size:11px}:root[data-layout=compact] .page-heading{padding-block-start:9px;padding-block-end:12px}:root[data-layout=compact] .chart-card,:root[data-layout=compact] .savings-card{margin-block-start:10px;margin-block-end:10px;padding:13px}:root[data-layout=compact] .chart-card>h3{margin-bottom:12px}:root[data-layout=compact] .wealth-chart svg{height:119px}:root[data-layout=compact] .cat-row{margin-block-start:10px;margin-block-end:10px}:root[data-layout=compact] .setting-row{min-height:46px;padding-block-start:5px;padding-block-end:5px}:root[data-layout=compact] .settings-heading{margin-block-start:17px;margin-block-end:8px}:root[data-layout=compact] .savings-totals{padding:11px 14px}:root[data-layout=compact] .device-note{margin-top:14px}:root[data-layout=summary] .hero{min-height:149px;padding:17px 19px}:root[data-layout=summary] .hero-chart{display:none}:root[data-layout=summary] .hero-amount{margin-block-start:5px;margin-block-end:10px;font-size:clamp(28px,8vw,39px)}:root[data-layout=summary] .hero-growth{flex-direction:row;align-items:center;gap:9px}:root[data-layout=summary] .hero-growth small{max-width:65%}:root[data-layout=summary] .home-insights{border-color:var(--accent);padding:18px 15px}:root[data-layout=summary] .home-insights>h2{font-size:19px}:root[data-layout=summary] .home-insights .wealth-chart svg{height:143px}:root[data-layout=summary] .home-insights .subtle{margin-bottom:0}:root[data-layout=summary] #homeCategoryOverview{padding-top:1px}:root[data-layout=summary] .home-goal{background:var(--accent-soft);margin-top:14px}:root[data-layout=summary] .accounts-grid{margin-top:14px}:root[data-layout=summary] .stats-grid{border-block:1px solid var(--line);padding:12px 0}:root[data-layout=summary] .chart-card{border-radius:12px}:root[data-layout=summary] .activity-row{min-height:59px;padding-block-start:11px;padding-block-end:11px}:root[data-layout=summary] .savings-totals{background:var(--surface);border:1px solid var(--accent)}@media (max-width:360px){:root[data-layout=visual] .account-copy strong{font-size:13px}:root[data-layout=visual] .goal-heading h3{font-size:14px}:root[data-layout=visual] .home-goal{gap:8px;padding-inline-start:10px;padding-inline-end:10px}:root[data-layout=visual] .home-goal .account-icon{width:39px;height:39px}:root[data-layout=visual] .activity-row{gap:8px}:root[data-layout=compact] .account-copy strong{font-size:12px}}@media (min-width:700px){:root[data-layout=compact] .app-shell,:root[data-layout=compact] .bottom-nav,:root[data-layout=summary] .app-shell,:root[data-layout=summary] .bottom-nav{max-width:600px}}.brand-mark{background:0 0;border-radius:23%;flex-shrink:0;display:inline-block;position:relative;overflow:hidden}.brand-mark img{object-fit:cover;width:100%;height:100%;display:block}.brand-mark .brand-mark-dark,:root[data-mode=dark] .brand-mark-light{display:none}:root[data-mode=dark] .brand-mark-dark{display:block}.header-actions{flex-shrink:0;align-items:center;gap:5px;display:flex}.theme-toggle{color:#eea332;background:#f8e6ca;border:1px solid #c6ad8b70;border-radius:14px;flex-shrink:0;width:44px;height:44px;padding:0;transition:background-color .9s,border-color .9s;overflow:hidden}.theme-toggle svg{width:100%;height:100%}.theme-sun,.theme-moon{transition:transform .45s cubic-bezier(.4,0,.2,1),opacity .45s}.theme-sun{opacity:1;transition-delay:.4s;transform:translateY(0)}.theme-moon{opacity:0;transform:translateY(35px)}.theme-horizon{fill:#d8b68a;transition:fill .9s}.theme-toggle[data-dark=true]{color:#f9dfac;background:#19263c;border-color:#516283}.theme-toggle[data-dark=true] .theme-sun{opacity:0;transition-delay:0s;transform:translateY(30px)}.theme-toggle[data-dark=true] .theme-moon{opacity:1;transition-delay:.4s;transform:translateY(0)}.theme-toggle[data-dark=true] .theme-horizon{fill:#25314b}:root[data-theme-transition] body,:root[data-theme-transition] .app-shell,:root[data-theme-transition] .app-shell :not(.theme-toggle):not(.theme-toggle *){transition:background-color .9s,color .9s,border-color .9s,fill .9s,stroke .9s}.first-account{margin-bottom:16px}.first-account .primary-button{margin-top:12px}.welcome-screen{z-index:20;background:var(--bg);min-height:100%;padding:calc(38px + env(safe-area-inset-top,0px)) 28px calc(28px + env(safe-area-inset-bottom,0px));align-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.welcome-screen:before{content:"";pointer-events:none;background:radial-gradient(ellipse at 50% 25%, var(--surface-raised), transparent 65%);animation:.5s both welcome-background;position:absolute;top:0;bottom:0;left:0;right:0}.welcome-content{text-align:center;width:100%;max-width:400px;margin:auto;position:relative}.welcome-mark{width:128px;height:128px;margin-bottom:42px;animation:.75s cubic-bezier(.2,.7,.25,1) 80ms both welcome-enter;box-shadow:0 18px 50px #654d2614}.welcome-eyebrow{letter-spacing:1.8px;color:var(--muted);margin-bottom:20px;font-size:9px;animation:.65s .22s both welcome-enter}:root .welcome-screen h1{letter-spacing:-1.5px;outline:none;font-size:clamp(34px,9vw,44px);font-weight:500;line-height:1.12;animation:.65s .3s both welcome-enter}.welcome-tagline{font:italic 21px/1.4 var(--serif);color:var(--accent);margin-top:20px;animation:.65s .42s both welcome-enter}.welcome-description{color:var(--muted);max-width:290px;margin:22px auto 36px;font-size:14px;line-height:1.8;animation:.65s .52s both welcome-enter}.welcome-start{border-radius:16px;justify-content:space-between;align-items:center;width:100%;min-height:54px;padding-inline-start:24px;padding-inline-end:24px;animation:.65s .65s both welcome-enter;display:flex}.welcome-start span{font-size:22px}.welcome-privacy{color:var(--muted);margin-top:18px;font-size:10px;animation:.6s .75s both welcome-enter}.welcome-leaving{pointer-events:none;animation:.32s both welcome-exit}@keyframes welcome-background{0%{opacity:0}to{opacity:1}}@keyframes welcome-enter{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes welcome-exit{to{opacity:0;transform:translateY(-6px)}}@media (max-width:350px){.masthead{gap:6px;padding-inline-start:14px;padding-inline-end:14px}.masthead .brand{gap:8px}.masthead h1{font-size:20px}.header-actions{gap:2px}.welcome-screen{padding-inline-start:24px;padding-inline-end:24px}}@media (max-height:700px){.welcome-mark{width:96px;height:96px;margin-bottom:24px}.welcome-description{margin-block-start:18px;margin-block-end:24px}}@media (prefers-reduced-motion:reduce){.welcome-screen,.welcome-screen *,.theme-toggle,.theme-toggle *{transition:none!important;animation:none!important}}.setup-dialog .dialog-head{padding-right:54px;position:relative}.setup-dialog .close-button{position:absolute;top:4px;right:8px}.bank-heading,.bank-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.bank-heading h3{overflow-wrap:anywhere;min-width:0}.bank-heading strong{font-variant-numeric:tabular-nums}.bank-controls{justify-content:flex-start;margin-top:10px}.bank-controls button{min-height:44px}.bank-totals{margin:16px 0 0}.bank-totals div{justify-content:space-between;gap:12px;padding:6px 0;display:flex}.bank-totals dd{text-align:right;margin:0;font-weight:600}.space-list{margin:14px 0;padding:0;list-style:none}.space-list li{border-top:1px solid var(--line);padding:12px 0}.space-list li>div:first-child{justify-content:space-between;gap:10px;display:flex}.space-list small{flex-shrink:0}.split-controls{grid-template-columns:1fr 1fr;gap:12px;display:grid}.split-controls input{width:100%;min-width:0}.split-row input[type=range]{width:100%;accent-color:var(--accent);min-height:44px;padding:0}.salary-summary{margin-block-start:16px;margin-block-end:16px}.salary-summary table{border-collapse:collapse;width:100%;min-width:300px;font-size:12px}.salary-summary th,.salary-summary td{text-align:right;white-space:nowrap;padding:8px 4px}.salary-summary th:first-child,.salary-summary td:first-child{text-align:left}.salary-ratio{font:24px var(--serif);color:var(--accent);margin:10px 0}@media (max-width:350px){.bank-totals div{font-size:12px}.bank-heading strong{font-size:14px}}.split-row{border:0;border-bottom:1px solid var(--line);min-inline-size:0;margin:0;padding:14px 0}.split-row legend{padding:0;font-weight:650}.split-row input[type=checkbox]{width:22px;min-height:22px;accent-color:var(--accent)}.salary-table-scroll{overscroll-behavior-inline:contain;max-width:100%;margin-top:12px;overflow-x:auto}.salary-table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.salary-summary caption{white-space:normal;text-align:left;margin-bottom:10px;display:table-caption}.budget-breakdown div{flex-direction:column;gap:2px}.budget-breakdown dd{text-align:left;font-size:12px}.bank-card h4{margin-top:18px}.lock-screen{min-height:100svh;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 64px) 24px calc(env(safe-area-inset-bottom) + 40px);background:var(--bg);box-sizing:border-box;place-items:center;display:grid;position:relative}.lock-content{text-align:center;width:100%;max-width:360px;animation:.45s ease-out both lock-arrive}.lock-content h1{font-family:var(--serif);margin:18px 0;font-size:clamp(28px,8vw,38px);line-height:1.15}.lock-mark{width:88px;height:88px;display:inline-block}.lock-content form,.security-card form{text-align:left}.lock-content label,.security-card label{margin-block-start:18px;margin-block-end:18px;display:block}.lock-content input,.security-card input,.security-card select{box-sizing:border-box;width:100%;min-width:0}.lock-content .link-button{min-height:44px;margin:12px auto;display:block}.lock-theme{top:calc(env(safe-area-inset-top) + 18px);position:absolute;right:24px}.lock-device{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;margin-block-start:24px;margin-block-end:18px;padding:20px 18px 4px;animation:.5s ease-out .15s both lock-arrive}.lock-method-label{color:var(--muted);letter-spacing:1.8px;margin-bottom:14px;font-size:10px}.lock-device-button{justify-content:center;align-items:center;gap:10px;min-height:54px;display:flex}.lock-device .fine-print{margin-top:12px}.lock-pin-help{color:var(--muted);text-align:left;margin-top:22px}.lock-pin-help summary{cursor:pointer;min-height:44px;padding-block-start:12px;padding-block-end:12px;font-size:12px}.security-card .full{margin-block-start:8px;margin-block-end:8px}.security-card p{overflow-wrap:anywhere}[data-security-locked] .app-shell{visibility:hidden}@keyframes lock-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.lock-content{animation:none}}.lock-mark{animation:.5s ease-out both lock-arrive}.lock-content h1{animation:.5s ease-out 80ms both lock-arrive}.lock-content form{animation:.5s ease-out .15s both lock-arrive}.lock-content.lock-leaving{pointer-events:none;animation:.22s ease-in both lock-depart}.security-switch{align-items:center;gap:12px;display:flex!important}.security-switch input{flex-shrink:0;width:22px;height:22px;min-height:22px}@keyframes lock-depart{to{opacity:0;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.lock-mark,.lock-device,.lock-content h1,.lock-content form,.lock-content.lock-leaving{animation:none}}
