:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#182131;background:#f4f7f6;font-synthesis:none;text-rendering:optimizeLegibility;--bg:#f4f7f6;--surface:#fff;--surface-2:#f7f9f8;--text:#182131;--muted:#6d7785;--line:#e4e9e7;--accent:#176b58;--accent-strong:#0d5545;--accent-soft:#e3f3ed;--danger:#b43b42;--shadow:0 14px 40px rgba(28,54,47,.08)}:root[data-theme=dark]{color-scheme:dark;--bg:#0c1318;--surface:#131d24;--surface-2:#18242c;--text:#edf4f1;--muted:#9baaa6;--line:#27353b;--accent:#66d1b5;--accent-strong:#8bdec7;--accent-soft:#153c34;--danger:#ff8d91;--shadow:0 16px 45px rgba(0,0,0,.28)}@media(prefers-color-scheme:dark){:root[data-theme=system]{color-scheme:dark;--bg:#0c1318;--surface:#131d24;--surface-2:#18242c;--text:#edf4f1;--muted:#9baaa6;--line:#27353b;--accent:#66d1b5;--accent-strong:#8bdec7;--accent-soft:#153c34;--danger:#ff8d91;--shadow:0 16px 45px rgba(0,0,0,.28)}}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}h1,h2,h3,p{margin-top:0}h1,h2,h3,strong,b{letter-spacing:-.02em}h1,h2,h3{font-family:Manrope,DM Sans,sans-serif}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 30%,transparent);outline-offset:2px}.splash{min-height:100dvh;display:grid;place-content:center;text-align:center;color:var(--muted)}.splash-mark{margin:auto;width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:28px;font-weight:800;box-shadow:var(--shadow)}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:30px 18px;background:radial-gradient(circle at top right,#c9eee3 0,transparent 32%),radial-gradient(circle at bottom left,#dbe7f7 0,transparent 28%),var(--bg)}.auth-card{width:min(100%,480px);background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:36px;box-shadow:var(--shadow)}.auth-card h1{font-size:30px;margin:8px 0 10px}.auth-intro{color:var(--muted);line-height:1.55}.brand-mark,.brand-lock{display:grid;place-items:center;background:var(--accent);color:#fff;width:54px;height:54px;border-radius:17px;margin-bottom:20px}.brand-mark svg,.brand-lock svg{width:27px;height:27px}.brand-lock{margin:0 auto 18px}.lock-card{text-align:center}.brand-name{font-weight:700;margin-bottom:5px}.lock-card h1{font-size:36px}.lock-card form{text-align:left}.warning{display:flex;flex-direction:column;gap:3px;background:#fff5dc;color:#6a4c10;border:1px solid #f2dfae;border-radius:14px;padding:14px 16px;margin:22px 0}.warning span{font-size:13px;line-height:1.45}.privacy-note{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--muted);margin:22px 0 0}.privacy-note svg{width:16px}.form-stack{display:flex;flex-direction:column;gap:15px}.entity-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:2px 24px 24px}.entity-form .span-2{grid-column:1/-1}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;color:var(--text)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--text);min-height:46px;padding:10px 12px;transition:border .2s,background .2s}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);background:var(--surface)}label small{font-weight:400;color:var(--muted)}.optional{font-weight:400;color:var(--muted);margin-left:3px}.money-input{position:relative}.money-input span{position:absolute;left:12px;top:13px;color:var(--muted)}.money-input input{padding-left:30px}.checkbox{flex-direction:row;align-items:flex-start;background:var(--surface-2);padding:13px;border-radius:12px}.checkbox input{width:20px;min-height:20px;accent-color:var(--accent);margin:1px 3px 0 0}.checkbox span{display:flex;flex-direction:column;gap:3px}.form-error{background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger);padding:10px 12px;border-radius:10px;font-size:13px;margin:0}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.primary,.secondary,.danger,.paid-button{min-height:44px;border:0;border-radius:11px;padding:10px 16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary{background:var(--accent);color:#fff}.primary:hover{background:var(--accent-strong)}.secondary{background:var(--surface-2);border:1px solid var(--line);color:var(--text)}.danger{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.full{width:100%}.compact{min-height:42px;white-space:nowrap}.icon-button{border:0;background:transparent;color:var(--muted);width:42px;height:42px;border-radius:11px;display:grid;place-items:center}.icon-button:hover{background:var(--surface-2);color:var(--text)}.icon-button.small{width:36px;height:36px}.text-button,.history-link,.back-link{border:0;background:none;color:var(--accent);font-weight:700;padding:6px}.history-link{display:flex;align-items:center;gap:6px;white-space:nowrap}.back-link{margin:18px 0 0 24px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden;clip:rect(0,0,0,0)}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;padding:24px 16px;display:flex;flex-direction:column;background:#0e2824;color:#d5e6e1;z-index:10}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:4px 8px 30px}.sidebar-brand>span{width:40px;height:40px;display:grid;place-items:center;background:#d8f4eb;color:#155d4e;border-radius:12px}.sidebar-brand div{display:flex;flex-direction:column}.sidebar-brand small{opacity:.65;margin-top:2px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar button{color:inherit}.sidebar nav button,.sidebar-lock{display:flex;align-items:center;gap:12px;border:0;background:transparent;padding:12px 14px;border-radius:11px;font-weight:600;text-align:left}.sidebar nav button:hover,.sidebar nav button.active{background:#ffffff1a;color:#fff}.sidebar nav button.active{box-shadow:inset 3px 0 #75d7bd}.sidebar-lock{margin-top:auto;opacity:.78}.content{margin-left:250px;min-height:100vh}.bottom-nav{display:none}.page{width:min(100%,1120px);margin:0 auto;padding:42px 34px 70px}.page-header,.overview-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:30px}.page-header h1,.overview-heading h1{font-size:32px;margin:3px 0 6px}.page-header p{color:var(--muted);margin:0;max-width:600px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800;color:var(--accent)}.overview-heading{align-items:center}.net-worth-card{background:linear-gradient(135deg,#103a32,#176b58);color:#fff;border-radius:24px;padding:27px 30px 18px;box-shadow:0 18px 45px #104a3e33;overflow:hidden}.net-worth-top{display:flex;justify-content:space-between;align-items:flex-start}.net-worth-top>div{display:flex;flex-direction:column}.net-worth-top span{color:#bce1d7;font-size:13px}.net-worth-top strong{font-family:Manrope,sans-serif;font-size:38px;margin:4px 0}.net-worth-top small{color:#a4cec3}.trend-pill{display:flex;align-items:center;gap:5px;padding:7px 10px;border-radius:99px;background:#ffffff1a;color:#e8fff8!important;font-weight:600}.trend-pill svg{width:15px}.sparkline{width:100%;height:110px;margin-top:10px;overflow:visible}.chart-placeholder{height:100px;display:grid;place-items:center;color:var(--muted);font-size:13px;text-align:center}.net-worth-card .chart-placeholder{color:#aad3c8}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0 36px}.summary-card{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:17px;display:flex;flex-direction:column;gap:5px}.summary-card:before{content:"";position:absolute;width:7px;height:38px;left:0;top:18px;border-radius:0 6px 6px 0;background:#8396aa}.summary-card.mint:before{background:#36a98e}.summary-card.coral:before{background:#e76a67}.summary-card.blue:before{background:#5089d8}.summary-card.amber:before{background:#dfa530}.summary-card>span,.summary-card small{color:var(--muted);font-size:12px}.summary-card strong{font-family:Manrope;font-size:18px}.dashboard-section{margin-top:30px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.section-header>div{display:flex;align-items:center;gap:8px}.section-header h2{font-size:17px;margin:0}.section-actions{display:flex!important}.count{font-size:11px;background:var(--line);color:var(--muted);padding:3px 7px;border-radius:99px}.section-card{background:var(--surface);border:1px solid var(--line);border-radius:17px;overflow:hidden}.goal-row,.finance-row,.bill-row{padding:17px 19px;border-bottom:1px solid var(--line)}.goal-row:last-child,.finance-row:last-child,.bill-row:last-child{border:0}.row-heading,.row-meta{display:flex;justify-content:space-between;gap:12px}.row-heading>div,.finance-row>div{display:flex;flex-direction:column;gap:2px}.row-heading small,.finance-row small,.bill-row small{color:var(--muted)}.row-meta{color:var(--muted);font-size:12px}.row-meta span:first-child{color:var(--text);font-weight:700}.progress{height:7px;background:var(--line);border-radius:99px;overflow:hidden;margin:10px 0 7px}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#4cc3a6);border-radius:99px}.progress.large{height:10px;margin:18px 0 12px}.finance-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px}.finance-row>b{font-family:Manrope}.row-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px}.row-icon.blue{background:#e8f1ff;color:#3671c4}.row-icon.mint{background:#e0f5ed;color:#187d66}.row-icon.coral{background:#ffebe9;color:#c55552}.row-icon.amber{background:#fff2d7;color:#ad7717}.card-overview{border-bottom:1px solid var(--line)}.card-overview:last-child{border:0}.no-border{border:0;padding-bottom:10px}.card-stats{display:flex;gap:28px;padding:0 19px 16px 74px;color:var(--muted);font-size:12px}.card-stats span{display:flex;flex-direction:column;gap:2px}.card-stats b{color:var(--text)}.bill-row{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center}.date-badge{width:44px;height:48px;border-radius:11px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;flex-direction:column}.date-badge b{font-size:17px;line-height:1}.date-badge span{text-transform:uppercase;font-size:10px;color:var(--muted);margin-top:3px}.bill-row>div:nth-child(2){display:flex;flex-direction:column}.bill-amount{text-align:right;display:flex;flex-direction:column;align-items:flex-end}.empty-state{text-align:center;padding:35px 22px;color:var(--muted)}.empty-state .empty-icon{display:grid;place-items:center;width:50px;height:50px;margin:0 auto 12px;border-radius:15px;background:var(--surface-2);color:var(--accent)}.empty-state h3{color:var(--text);font-size:16px;margin-bottom:6px}.empty-state p{margin:0 auto 16px;max-width:360px;font-size:13px;line-height:1.5}.goal-grid,.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.goal-card,.account-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 5px 18px #1e322d08}.card-menu,.account-card-top{display:flex;align-items:center;justify-content:space-between}.card-menu>div,.card-tools{display:flex}.goal-badges{display:flex;flex-wrap:wrap;gap:6px}.asset-badge{font-size:11px;padding:5px 8px;border-radius:99px;font-weight:700}.asset-badge.allocated{background:#e8f1ff;color:#3e6da9}.asset-badge.independent{background:var(--accent-soft);color:var(--accent)}.asset-badge.completed{background:#e1f5e8;color:#197240}.completed-goal{border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.goal-card h2{font-size:19px;margin:16px 0 4px}.goal-amount strong{font-family:Manrope;font-size:23px}.goal-amount span{color:var(--muted)}.goal-footer{display:flex;justify-content:space-between;font-size:12px}.goal-footer span{color:var(--muted)}.notes{font-size:13px;line-height:1.5;color:var(--muted);border-top:1px solid var(--line);padding-top:12px;margin:14px 0}.goal-card .secondary{margin-top:16px}.goal-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.goal-actions .secondary{width:100%;margin:0;padding-inline:10px}.goal-actions .complete-goal-action,.goal-actions .text-button{grid-column:1/-1}.goal-actions .complete-goal-action{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}.goal-completion-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--surface-2);border-radius:13px;padding:14px}.goal-completion-summary span{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:12px}.goal-completion-summary strong{color:var(--text);font-size:16px}.completion-warning{display:flex;flex-direction:column;gap:4px;margin:0;padding:13px 14px;border:1px solid #e7c66a;border-radius:12px;background:#fff7df;color:#745410;font-size:13px;line-height:1.45}.list-section{margin-bottom:36px}.account-card-top{justify-content:flex-start;gap:12px}.account-card-top>div:nth-child(2){min-width:0}.account-card-top h2{font-size:16px;margin:0 0 2px}.account-card-top small{color:var(--muted)}.card-tools{margin-left:auto}.account-balance{font:700 25px Manrope;display:block;margin:22px 0 3px}.updated,.masked,.balance-label{display:block;color:var(--muted);font-size:12px}.masked{margin-top:9px}.metric-line{display:flex;flex-direction:column;gap:8px;margin-top:17px;border-top:1px solid var(--line);padding-top:14px}.metric-line span{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.metric-line b{color:var(--text)}.positive-text b{color:#168167}.negative-text b{color:var(--danger)}.credit-card .account-balance{margin-top:4px}.balance-label{margin-top:20px}.utilization{margin-top:18px}.utilization>div:first-child{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.balance-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.balance-actions .secondary{width:100%;padding-inline:10px}.balance-actions .pay-in-full-action{grid-column:1/-1;background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 28%,var(--line));color:var(--accent)}.card-balance-edit{display:flex;flex-direction:column;gap:2px}.card-balance-edit .balance-actions{margin-top:9px}.balance-correction-note{color:var(--muted);font-size:11px;line-height:1.4;margin-top:5px}.paid-in-full-status{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:9px 11px;border-radius:11px;background:var(--accent-soft);color:var(--accent);font-size:12px}.paid-in-full-status span{color:var(--muted)}.adjustment-form{display:flex;flex-direction:column;gap:17px;padding:0 24px calc(24px + env(safe-area-inset-bottom))}.adjustment-current,.adjustment-preview{display:flex;flex-direction:column;background:var(--surface-2);border-radius:13px;padding:15px}.adjustment-current span,.adjustment-preview span,.adjustment-preview small{font-size:12px;color:var(--muted)}.adjustment-current strong,.adjustment-preview strong{font:700 22px Manrope;margin-top:4px}.adjustment-preview{border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));background:var(--accent-soft)}.adjustment-preview small{margin-top:5px}.adjustment-form .money-input span{font-size:12px;top:15px}.adjustment-form .money-input input{padding-left:50px}.confirmation-copy,.confirmation-detail{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.confirmation-detail strong{color:var(--text)}.full-payment-summary{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;background:var(--surface-2);border-radius:14px;padding:16px}.full-payment-summary>span{display:flex;flex-direction:column;gap:5px}.full-payment-summary>span:last-child{text-align:right}.full-payment-summary small{color:var(--muted);font-size:11px}.full-payment-summary strong{font:700 20px Manrope}.full-payment-summary>b{color:var(--accent);font-size:20px}.payment-sources{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;border:0}.payment-sources legend{margin-bottom:8px;font-size:13px;font-weight:700}.payment-source{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);cursor:pointer}.payment-source.selected{border-color:var(--accent);background:var(--accent-soft)}.payment-source.insufficient:not(.selected){opacity:.68}.payment-source input{width:20px;min-height:20px;margin:0;accent-color:var(--accent)}.payment-source>span{display:flex;flex-direction:column;gap:2px}.payment-source small{color:var(--muted);font-weight:400}.payment-source>b{font-size:13px}.payment-history{background:var(--surface);border:1px solid var(--line);border-radius:18px;margin-top:18px;overflow:hidden}.payment-history>h2{font-size:16px;padding:17px 18px;margin:0;border-bottom:1px solid var(--line)}.payment-history>article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line)}.payment-history>article:last-child{border:0}.payment-history>article>div:first-child{display:flex;flex-direction:column;gap:3px}.payment-history span,.payment-history small{color:var(--muted);font-size:11px}.payment-history-amount{display:flex;align-items:flex-end;flex-direction:column}.payment-history-amount .text-button{font-size:12px;padding:4px 0}.segmented{display:flex;background:var(--line);padding:3px;border-radius:12px;width:max-content;margin-bottom:20px}.segmented button,.theme-picker button{border:0;background:transparent;color:var(--muted);padding:9px 18px;border-radius:9px;font-weight:600}.segmented button.active,.theme-picker button.active{background:var(--surface);color:var(--text);box-shadow:0 2px 8px #00000014}.bill-list{display:flex;flex-direction:column;gap:10px}.bill-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px}.bill-card.paid{opacity:.75}.date-badge.large{width:50px;height:54px}.bill-main{display:flex;align-items:center;justify-content:space-between;gap:20px}.bill-main h2{font-size:16px;margin:0 0 3px}.bill-main p{font-size:12px;color:var(--muted);margin:0}.bill-main>strong{font-family:Manrope}.bill-tools{display:flex;align-items:center;gap:4px}.paid-button{background:var(--accent-soft);color:var(--accent);font-size:12px;min-height:38px;padding:8px 11px}.paid-label{display:flex;align-items:center;gap:5px;color:var(--accent);font-size:12px;font-weight:700}.history-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px}.history-controls{display:flex;gap:12px}.history-controls label{min-width:190px}.history-value{display:flex;flex-direction:column;margin-top:27px}.history-value>span,.history-value small{color:var(--muted);font-size:12px}.history-value strong{font:700 30px Manrope;margin:5px 0}.history-list{background:var(--surface);border:1px solid var(--line);border-radius:18px;margin-top:18px;overflow:hidden}.history-list h2{font-size:16px;padding:17px 18px;margin:0;border-bottom:1px solid var(--line)}.history-entry{padding:14px 18px;border-bottom:1px solid var(--line);font-size:13px}.history-entry:last-child{border:0}.history-entry-heading,.history-correction{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-entry span{color:var(--muted)}.history-type{font-size:10px;text-transform:uppercase;letter-spacing:.07em;padding:5px 8px;border-radius:99px}.history-type.purchase{background:#fff0e8;color:#a14b24}.history-type.payment,.history-type.full_payment,.history-type.savings_deposit{background:var(--accent-soft);color:var(--accent)}.history-type.savings_withdrawal{background:#fff0e8;color:#a14b24}.history-balance-change{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:13px}.history-balance-change span{display:flex;flex-direction:column;gap:3px}.history-balance-change small{font-size:10px;text-transform:uppercase}.history-balance-change strong{color:var(--text)}.history-balance-change .positive-text{color:#168167}.history-balance-change .negative-text{color:var(--danger)}.history-entry p{color:var(--muted);font-size:12px;line-height:1.45;margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line)}.settings-section{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:15px}.settings-heading{display:flex;align-items:center;gap:13px;margin-bottom:18px}.settings-heading h2,.danger-zone h2{font-size:17px;margin:0 0 3px}.settings-heading p,.danger-zone p{color:var(--muted);font-size:13px;margin:0}.theme-picker{display:flex;background:var(--surface-2);padding:4px;border-radius:12px}.theme-picker button{flex:1}.setting-row{display:flex;flex-direction:row;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:14px 0;margin-top:-5px}.setting-row span{display:flex;flex-direction:column;gap:3px}.setting-row small{color:var(--muted)}.setting-row select{width:170px}.feature-setting-row>span{max-width:520px}.setting-switch{flex:0 0 auto;min-width:78px;min-height:40px;border:1px solid var(--line);border-radius:99px;background:var(--surface-2);color:var(--muted);display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:4px 10px 4px 5px;font-size:11px;font-weight:800}.setting-switch>span{display:block;width:28px;height:28px;border-radius:50%;background:var(--muted);box-shadow:0 1px 3px #0003}.setting-switch.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);flex-direction:row-reverse;padding:4px 5px 4px 10px}.setting-switch.active>span{background:var(--accent)}.feature-confirm{padding:0 24px 24px}.feature-confirm p{color:var(--muted);font-size:14px;line-height:1.55;margin:0 0 20px}.button-row{display:flex;gap:10px}.security-caption{font-size:12px;color:var(--muted);margin:13px 0 0}.danger-zone{display:flex;align-items:center;justify-content:space-between}.settings-footer{display:flex;justify-content:center;align-items:center;gap:8px;color:var(--muted);font-size:12px;padding:20px}.import-dialog{padding:0 24px 24px}.import-dialog p{font-size:13px;color:var(--muted);line-height:1.5}.import-dialog .form-actions{margin-top:20px}.modal-backdrop{position:fixed;inset:0;background:#040c0f94;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:16px;z-index:100}.modal{width:min(100%,650px);max-height:min(90dvh,800px);overflow:auto;background:var(--surface);border-radius:20px;box-shadow:0 30px 80px #00000040}.modal-header{position:sticky;top:0;background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line);margin-bottom:20px}.modal-header h2{font-size:19px;margin:0}@media(max-width:900px){.sidebar{width:210px}.content{margin-left:210px}.page{padding:34px 24px 70px}.summary-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.sidebar{display:none}.content{margin-left:0}.bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);z-index:50;inset:auto 0 0;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.bottom-nav button{border:0;background:none;color:var(--muted);min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px}.bottom-nav button svg{width:20px}.bottom-nav button.active{color:var(--accent)}.page{padding:25px 16px calc(95px + env(safe-area-inset-bottom))}.page-header,.overview-heading{margin-bottom:22px}.page-header h1,.overview-heading h1{font-size:26px}.page-header p{font-size:13px}.page-header{align-items:flex-end}.net-worth-card{padding:22px 20px 12px;border-radius:20px}.net-worth-top strong{font-size:30px}.trend-pill{font-size:11px}.summary-grid{gap:9px;margin-bottom:28px}.summary-card{padding:14px 13px}.summary-card strong{font-size:15px}.summary-card small{display:none}.dashboard-section{margin-top:24px}.goal-grid,.account-grid{grid-template-columns:1fr}.bill-card{grid-template-columns:auto 1fr}.bill-main{display:block}.bill-main>strong{display:block;margin-top:7px}.bill-tools{grid-column:1/-1;justify-content:flex-end;border-top:1px solid var(--line);padding-top:10px}.bill-tools .paid-button{margin-right:auto}.entity-form{grid-template-columns:1fr}.entity-form .span-2{grid-column:auto}.auth-card{padding:28px 22px;border-radius:22px}.card-stats{padding-left:19px}.history-controls{flex-direction:column}.history-controls label{min-width:0}.setting-row{gap:12px}.setting-row select{width:145px}.danger-zone{align-items:flex-start;gap:15px}.button-row{flex-direction:column}.button-row button{width:100%}.back-link{margin:16px 0 0 12px}}@media(max-width:400px){.summary-grid{grid-template-columns:1fr}.summary-card small{display:block}.net-worth-top{gap:10px}.net-worth-top strong{font-size:27px}.goal-footer{flex-direction:column;gap:3px}.page-header .primary span{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}:root[data-app-hidden=true] #root{visibility:hidden}body{min-height:100dvh;overscroll-behavior-y:none}.splash,.auth-page,.app-shell,.content{min-height:100vh;min-height:100dvh}.auth-page{padding:calc(30px + env(safe-area-inset-top)) calc(18px + env(safe-area-inset-right)) calc(30px + env(safe-area-inset-bottom)) calc(18px + env(safe-area-inset-left))}.sidebar{padding:calc(24px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}.page{padding-top:calc(42px + env(safe-area-inset-top));padding-right:calc(34px + env(safe-area-inset-right));padding-left:calc(34px + env(safe-area-inset-left))}.modal-backdrop{padding:calc(16px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}.icon-button,.icon-button.small{width:44px;height:44px;min-width:44px;min-height:44px}.segmented button,.theme-picker button{min-height:44px}.backup-status{margin:13px 0 0;color:var(--accent);font-size:13px}.storage-error-card>p:not(.auth-intro){color:var(--muted);font-size:14px;line-height:1.55}.save-error{position:fixed;z-index:200;top:calc(12px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));left:calc(262px + env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--danger);color:#fff;border-radius:12px;padding:10px 10px 10px 14px;box-shadow:var(--shadow);font-size:13px;font-weight:600}.save-error button{width:44px;height:44px;flex:0 0 44px;border:0;border-radius:10px;background:#ffffff29;color:#fff;font-size:22px}@media(max-width:900px){.page{padding-top:calc(34px + env(safe-area-inset-top));padding-right:calc(24px + env(safe-area-inset-right));padding-left:calc(24px + env(safe-area-inset-left))}.save-error{left:calc(222px + env(safe-area-inset-left))}}@media(max-width:700px){input,select,textarea{font-size:16px}.page{padding-top:calc(25px + env(safe-area-inset-top));padding-right:calc(16px + env(safe-area-inset-right));padding-bottom:calc(95px + env(safe-area-inset-bottom));padding-left:calc(16px + env(safe-area-inset-left))}.bottom-nav{padding-right:calc(4px + env(safe-area-inset-right));padding-left:calc(4px + env(safe-area-inset-left))}.save-error{left:calc(12px + env(safe-area-inset-left))}.modal-backdrop{place-items:end center;padding:env(safe-area-inset-top) 0 0}.modal{width:100%;max-height:calc(100dvh - env(safe-area-inset-top));border-radius:20px 20px 0 0}.adjustment-form .form-actions{display:grid;grid-template-columns:1fr 1fr}.history-balance-change{grid-template-columns:1fr}.history-balance-change span{flex-direction:row;justify-content:space-between;align-items:center}}.history-type.payment_reversal_credit{background:var(--accent-soft);color:var(--accent)}.history-type.payment_source_debit,.history-type.credit_card_payment_reversal{background:#fff0e8;color:#a14b24}.history-type.account_transfer_credit,.history-type.account_transfer_reversal_credit{background:var(--accent-soft);color:var(--accent)}.history-type.account_transfer_debit,.history-type.account_transfer_reversal_debit{background:#e8f1ff;color:#315f9c}.content{display:flex;flex-direction:column}.content-main{flex:1}.app-version{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;padding:10px 24px calc(22px + env(safe-area-inset-bottom));color:var(--muted);font-size:11px;line-height:1.4}.overview-actions{display:flex;align-items:center;gap:8px}.account-transfer-action{width:100%;margin-top:15px}.transfer-form{display:flex;flex-direction:column;gap:14px;padding:0 24px calc(24px + env(safe-area-inset-bottom))}.transfer-account-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:-7px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.transfer-account-summary>span{display:flex;flex-direction:column;gap:3px}.transfer-account-summary>span:last-child{text-align:right}.transfer-account-summary small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.transfer-account-summary strong,.transfer-account-summary b{font-size:14px}.transfer-form .money-input span{font-size:12px;top:15px}.transfer-form .money-input input{padding-left:50px}.transfer-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:13px;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:13px;background:var(--accent-soft)}.transfer-preview>span{display:flex;flex-direction:column;gap:5px}.transfer-preview>span:last-child{text-align:right}.transfer-preview small{color:var(--muted);font-size:11px}.transfer-preview strong{font-size:12px}.transfer-preview strong>b{color:var(--accent);padding:0 3px}.estimate-badge{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#735716;background:#fff1c9;border-radius:99px;padding:4px 7px}.overview-forecast-card,.forecast-controls-card,.forecast-chart-card,.forecast-metric-card,.forecast-detail-section,.forecast-explanation,.forecast-empty{background:var(--surface);border:1px solid var(--line);border-radius:18px}.overview-forecast-card{overflow:hidden;display:grid;grid-template-columns:minmax(180px,.75fr) 1.6fr}.overview-forecast-current{padding:21px;display:flex;flex-direction:column;background:linear-gradient(145deg,var(--accent-soft),var(--surface))}.overview-forecast-current>span,.overview-forecast-current small{font-size:11px;color:var(--muted)}.overview-forecast-current strong{font:700 27px Manrope;margin:7px 0 5px}.overview-forecast-projections{display:grid;grid-template-columns:1fr 1fr}.overview-forecast-projections>div{padding:18px;border-left:1px solid var(--line)}.overview-forecast-projections>div>b{display:block;font-size:12px;margin-bottom:10px}.overview-forecast-projections span{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px;padding:4px 0}.overview-forecast-projections span small{font-size:10px}.overview-forecast-projections .expected{color:var(--accent);font-weight:800}.overview-forecast-empty{padding:20px;display:flex;justify-content:center;flex-direction:column;gap:5px;color:var(--muted)}.overview-forecast-empty strong{color:var(--text)}.overview-forecast-empty span{font-size:12px}.overview-forecast-meta{grid-column:1/-1;border-top:1px solid var(--line);padding:12px 16px;display:flex;align-items:center;gap:24px;color:var(--muted);font-size:12px}.overview-forecast-meta b{color:var(--text)}.overview-forecast-meta button{margin-left:auto}.forecast-page{max-width:1180px}.forecast-disclaimer{display:flex;gap:8px;flex-wrap:wrap;padding:13px 16px;margin:-10px 0 18px;border:1px solid #ead395;border-radius:13px;background:#fff7df;color:#735516;font-size:13px}.forecast-controls-card{padding:20px;margin-bottom:16px}.forecast-controls-card .segmented{margin-bottom:16px}.fixed-savings-input{max-width:340px;margin-bottom:18px}.fixed-savings-input small{color:var(--muted)}.fixed-savings-input .money-input span{top:14px}.forecast-method-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.forecast-method-stats>span{display:flex;flex-direction:column;gap:4px;padding:13px;background:var(--surface-2);border-radius:12px}.forecast-method-stats small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.forecast-method-stats strong{font-size:14px}.forecast-chart-card{padding:21px;margin-bottom:16px}.forecast-section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.forecast-section-heading h2{font-size:19px;margin:4px 0 0}.forecast-section-heading>strong{font:700 24px Manrope}.forecast-chart-wrap{margin-top:12px;overflow:hidden}.forecast-chart{display:block;width:100%;height:280px}.forecast-chart text{fill:var(--muted);font-size:10px}.forecast-axis{stroke:var(--line)}.forecast-boundary{stroke:var(--muted);stroke-width:1;stroke-dasharray:5 6;opacity:.5}.forecast-range{fill:color-mix(in srgb,var(--accent) 16%,transparent)}.forecast-history-line{fill:none;stroke:#738291;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.forecast-expected-line{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7 5;vector-effect:non-scaling-stroke}.forecast-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;color:var(--muted);font-size:11px}.forecast-legend span{display:flex;align-items:center;gap:6px}.forecast-legend span:before{content:"";display:block;width:18px;height:3px;border-radius:3px;background:#738291}.forecast-legend .expected:before{background:var(--accent)}.forecast-legend .range:before{height:9px;background:color-mix(in srgb,var(--accent) 20%,transparent)}.forecast-empty{padding:28px;text-align:center;margin-bottom:16px}.forecast-empty h2{font-size:18px;margin-bottom:7px}.forecast-empty p,.forecast-muted{color:var(--muted);font-size:13px;margin:0}.forecast-metric-grid{display:flex;flex-direction:column;gap:16px}.forecast-metric-card{padding:20px;overflow:hidden}.forecast-metric-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px}.forecast-metric-title h2{font-size:17px;margin:0 0 4px}.forecast-metric-title small{color:var(--muted)}.forecast-metric-title>strong{font:700 21px Manrope}.forecast-table-scroll{overflow-x:auto;margin:0 -20px -20px}.forecast-metric-card table{width:100%;min-width:610px;border-collapse:collapse;text-align:right;font-size:12px}.forecast-metric-card th,.forecast-metric-card td{padding:12px 20px;border-top:1px solid var(--line);white-space:nowrap}.forecast-metric-card th:first-child{text-align:left}.forecast-metric-card thead th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em;background:var(--surface-2)}.forecast-metric-card tbody td strong{color:var(--accent)}.forecast-detail-section{padding:20px;margin-top:16px}.goal-forecast-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.goal-forecast-grid article{padding:16px;border-radius:14px;background:var(--surface-2)}.goal-forecast-grid article>div:first-child{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.goal-forecast-grid h3{font-size:16px;margin:0}.goal-forecast-grid article>div>span{color:var(--muted);font-size:11px}.goal-forecast-grid dl{margin:15px 0;display:flex;flex-direction:column;gap:9px}.goal-forecast-grid dl>div{display:flex;justify-content:space-between;gap:12px}.goal-forecast-grid dt{color:var(--muted);font-size:11px}.goal-forecast-grid dd{margin:0;text-align:right;font-size:12px;font-weight:700}.goal-forecast-grid article>small{display:block;border-top:1px solid var(--line);padding-top:10px;color:var(--muted);line-height:1.45}.obligation-list{margin:15px -20px 0}.obligation-list article{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 20px;border-top:1px solid var(--line)}.obligation-list article>div{display:flex;flex-direction:column;gap:3px}.obligation-list article>div:last-child{align-items:flex-end}.obligation-list small{color:var(--muted)}.obligation-treatment{font-size:10px;font-weight:700;border-radius:99px;padding:4px 7px}.obligation-treatment.embedded{background:var(--accent-soft);color:var(--accent)}.obligation-treatment.adjustment{background:#fff1c9;color:#735716}.forecast-footnote{color:var(--muted);font-size:11px;line-height:1.5;margin:14px 0 0}.forecast-explanation{margin-top:16px;overflow:hidden}.forecast-explanation summary{padding:18px 20px;cursor:pointer;font-weight:800}.forecast-explanation>div{padding:0 20px 5px;color:var(--muted);font-size:13px;line-height:1.6}.forecast-explanation p{margin-bottom:14px}@media(max-width:900px){.overview-forecast-card{grid-template-columns:1fr}.overview-forecast-projections>div:first-child{border-left:0}.forecast-method-stats{grid-template-columns:1fr 1fr}}@media(max-width:700px){.overview-forecast-projections{grid-template-columns:1fr}.overview-forecast-projections>div{border-left:0;border-top:1px solid var(--line)}.overview-forecast-meta{align-items:flex-start;flex-wrap:wrap;gap:8px 16px}.overview-forecast-meta button{width:100%;margin:5px 0 0}.forecast-disclaimer{margin-top:0}.forecast-controls-card{padding:16px}.forecast-controls-card .segmented{width:100%}.forecast-controls-card .segmented button{flex:1;padding-inline:8px}.forecast-chart-card{padding:16px}.forecast-chart{height:230px;min-width:580px}.forecast-chart-wrap{overflow-x:auto}.forecast-legend{justify-content:flex-start}.goal-forecast-grid{grid-template-columns:1fr}.forecast-metric-card,.forecast-detail-section{padding:16px}.forecast-table-scroll{margin:0 -16px -16px}.forecast-metric-card th,.forecast-metric-card td{padding-inline:16px}.obligation-list{margin-inline:-16px}.obligation-list article{padding-inline:16px}}@media(max-width:700px){.app-version{padding-right:calc(16px + env(safe-area-inset-right));padding-bottom:calc(76px + env(safe-area-inset-bottom));padding-left:calc(16px + env(safe-area-inset-left))}}@media(max-width:700px){.overview-heading{align-items:flex-start}.overview-actions{align-items:flex-end;flex-direction:column}.overview-actions .primary{min-height:44px}.transfer-form .form-actions{display:grid;grid-template-columns:1fr 1fr}.transfer-preview{grid-template-columns:1fr}.transfer-preview>span:last-child{text-align:left}}@media(max-width:400px){.forecast-method-stats{grid-template-columns:1fr}.forecast-section-heading,.forecast-metric-title{flex-direction:column;gap:8px}.goal-forecast-grid article>div:first-child,.goal-forecast-grid dl>div{flex-direction:column}.goal-forecast-grid dd{text-align:left}.obligation-list article{align-items:flex-start}.obligation-list article>div:last-child{align-items:flex-end;text-align:right}}.positive-text{color:#168167!important}.negative-text{color:var(--danger)!important}.monthly-report-page{max-width:1180px}.report-period-card{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:17px 20px;margin-bottom:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.report-period-card label{width:min(100%,310px)}.report-period-card>span{padding:6px 9px;border-radius:99px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:800}.report-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;padding:26px 28px;border-radius:22px;background:linear-gradient(135deg,#103a32,#176b58);color:#fff;box-shadow:0 18px 45px #104a3e2e}.report-hero .eyebrow{color:#9fd7c9}.report-hero h2{font-size:15px;margin:13px 0 5px;color:#c4e4dc}.report-balance-route{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.report-balance-route strong{font:700 29px Manrope}.report-balance-route svg{color:#9fd7c9}.report-hero>div:first-child>b{display:block;margin-top:10px;font:700 20px Manrope}.report-hero .positive-text{color:#a6f0da!important}.report-hero .negative-text{color:#ffb0b3!important}.report-cash-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:center}.report-cash-summary>span{display:flex;flex-direction:column;gap:5px;padding:13px;border-radius:12px;background:#ffffff17}.report-cash-summary>span:last-child{grid-column:1/-1}.report-cash-summary small{color:#b7d9d1}.report-cash-summary strong{font:700 16px Manrope}.report-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.report-metric{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:6px;min-height:128px;padding:17px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.report-metric:before{content:"";position:absolute;left:0;top:17px;width:6px;height:35px;border-radius:0 5px 5px 0;background:#8396aa}.report-metric.mint:before{background:#36a98e}.report-metric.coral:before{background:#e76a67}.report-metric.blue:before{background:#5089d8}.report-metric.amber:before{background:#dfa530}.report-metric>span,.report-metric small{color:var(--muted);font-size:11px}.report-metric>strong{font:700 20px Manrope;margin-top:2px}.report-metric small{margin-top:auto;line-height:1.4}.report-comparison-card,.report-account-changes{padding:21px;margin-top:16px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.report-comparison-card h2{font-size:18px;margin:5px 0 16px}.report-comparison-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.report-comparison-grid>span{display:flex;flex-direction:column;gap:5px;padding:13px;border-radius:12px;background:var(--surface-2)}.report-comparison-grid small{color:var(--muted);font-size:10px}.report-comparison-grid strong{font:700 16px Manrope}.report-account-changes>.section-header{margin-bottom:0}.report-account-changes>div:last-child{margin:12px -21px -21px}.report-account-changes article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 21px;border-top:1px solid var(--line)}.report-account-changes article>div:first-child{display:flex;flex-direction:column;gap:3px}.report-account-changes small{color:var(--muted);font-size:11px}.account-change-route{display:flex;align-items:flex-end;flex-direction:column;gap:3px;text-align:right}.account-change-route span{color:var(--muted);font-size:11px}.account-change-route strong{font-size:13px}.report-empty{margin:15px 0 0;color:var(--muted);font-size:13px}.report-footnote{margin:16px 4px 0;color:var(--muted);font-size:11px;line-height:1.55}@media(max-width:900px){.report-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.overview-heading{flex-direction:column}.overview-actions{display:grid;width:100%;grid-template-columns:1fr 1fr;align-items:stretch}.overview-actions .primary{grid-column:1/-1}.overview-actions .history-link{justify-content:center;min-height:44px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.report-hero{grid-template-columns:1fr;padding:22px 19px}.report-balance-route strong{font-size:23px}.report-period-card{align-items:stretch;flex-direction:column}.report-period-card label{width:100%}.report-period-card>span{align-self:flex-start}.report-comparison-grid{grid-template-columns:1fr}.report-account-changes article{align-items:flex-start}.account-change-route span{max-width:155px}}@media(max-width:400px){.report-metric-grid,.report-cash-summary{grid-template-columns:1fr}.report-cash-summary>span:last-child{grid-column:auto}.report-account-changes article{flex-direction:column}.account-change-route{align-items:flex-start;text-align:left}.account-change-route span{max-width:none}}.asset-badge.emergency{background:#fff1c9;color:#735716}.history-type.interest_earned{background:var(--accent-soft);color:var(--accent)}.history-type.interest_reversal{background:#fff0e8;color:#a14b24}.bank-account-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.bank-account-actions .secondary{width:100%;padding-inline:9px}.interest-summary{margin-top:15px;padding-top:13px;border-top:1px solid var(--line)}.interest-summary>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.interest-summary>div>span{font-size:12px;font-weight:800}.interest-summary .text-button{font-size:11px}.interest-summary dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:9px 0 0}.interest-summary dl>div{display:flex;flex-direction:column;gap:3px}.interest-summary dt{color:var(--muted);font-size:9px;text-transform:uppercase}.interest-summary dd{margin:0;font-size:11px;font-weight:800}.interest-history-dialog{padding:0 24px calc(24px + env(safe-area-inset-bottom))}.interest-history-dialog .segmented{width:100%}.interest-history-dialog .segmented button{flex:1}.interest-history-list{margin:0 -24px -24px}.interest-history-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 24px;border-top:1px solid var(--line)}.interest-history-list article>div{display:flex;flex-direction:column;gap:3px}.interest-history-list article>div:last-child{align-items:flex-end;text-align:right}.interest-history-list span,.interest-history-list small{color:var(--muted);font-size:10px}.interest-history-list .text-button{font-size:11px;padding:3px 0}.health-overview-card{display:grid;grid-template-columns:minmax(180px,.65fr) 1.5fr auto;align-items:center;gap:22px;padding:21px;margin:-18px 0 34px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.health-overview-score{display:flex;flex-direction:column}.health-overview-score>strong{font:700 34px Manrope;margin-top:7px}.health-overview-score>strong small{font-size:15px;color:var(--muted)}.health-overview-score>b{color:var(--accent)}.health-overview-score>p{margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.4}.health-overview-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.health-overview-breakdown>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 10px}.health-overview-breakdown span,.health-overview-breakdown b{font-size:10px}.health-overview-breakdown span{color:var(--muted)}.health-overview-breakdown .progress{grid-column:1/-1;height:5px;margin:0}.health-page{max-width:1000px}.health-disclaimer{padding:13px 15px;margin:-10px 0 16px;border:1px solid #ead395;border-radius:13px;background:#fff7df;color:#735516;font-size:12px;line-height:1.5}.health-score-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 28px;border-radius:21px;background:linear-gradient(135deg,#103a32,#176b58);color:#fff}.health-score-hero>div:first-child{display:flex;flex-direction:column}.health-score-hero span{color:#bce1d7;font-size:12px}.health-score-hero strong{font:700 42px Manrope;margin:5px 0}.health-score-hero strong small{font-size:17px;color:#bce1d7}.health-score-hero b{color:#a6f0da}.health-score-hero p{max-width:420px;margin:8px 0 0;color:#bce1d7;font-size:11px}.health-ring{--health-score:0;width:110px;height:110px;flex:0 0 110px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#8fe3cc calc(var(--health-score) * 1%),#ffffff24 0);position:relative}.health-ring:before{content:"";position:absolute;inset:10px;border-radius:50%;background:#155545}.health-ring span{position:relative;color:#fff;font:700 25px Manrope}.health-component-list{margin-top:22px}.health-component-list article{padding:18px 20px;margin-bottom:10px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.health-component-list article.missing{border-style:dashed}.health-component-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.health-component-heading h3{font-size:15px;margin:0 0 4px}.health-component-heading>div>strong{color:var(--muted);font-size:11px}.health-component-heading>b{font-size:13px}.health-component-list .progress.large{height:8px;margin:13px 0 10px}.health-component-list article>p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.health-component-list article>small{display:block;margin-top:8px;color:var(--accent);font-size:11px}.health-guidance,.health-history{padding:21px;margin-top:16px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.health-guidance h2,.health-history h2{font-size:18px;margin:5px 0 12px}.health-guidance ul{margin:0;padding-left:20px}.health-guidance li{padding:5px 0;color:var(--muted);font-size:12px;line-height:1.45}.health-history>div:first-child>p{color:var(--muted);font-size:11px;line-height:1.5}.health-history>div:last-child{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.health-history article{display:flex;align-items:center;flex-direction:column;gap:4px;padding:11px 5px;border-radius:11px;background:var(--surface-2);text-align:center}.health-history article span,.health-history article small{color:var(--muted);font-size:9px}.health-history article strong{font:700 18px Manrope}.report-health-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:21px;margin-top:16px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.report-health-card h2{font-size:24px;margin:5px 0}.report-health-card h2 small{font-size:13px;color:var(--accent)}.report-health-card p{margin:0;color:var(--muted);font-size:10px}.report-health-card>div:last-child{display:flex;gap:8px}.report-health-card>div:last-child>span{display:flex;align-items:center;flex-direction:column;gap:4px;min-width:85px;padding:10px;border-radius:11px;background:var(--surface-2)}.report-health-card small{color:var(--muted);font-size:9px}.report-health-card strong{font:700 16px Manrope}@media(max-width:900px){.health-overview-card{grid-template-columns:1fr 1.5fr}.health-overview-card>button{grid-column:1/-1}.health-history>div:last-child{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.bank-account-actions,.interest-summary dl{grid-template-columns:1fr}.interest-summary dl>div{flex-direction:row;justify-content:space-between}.health-overview-card{grid-template-columns:1fr;margin-top:-12px}.health-overview-breakdown{grid-template-columns:1fr}.health-score-hero{padding:21px 19px}.health-ring{width:90px;height:90px;flex-basis:90px}.report-health-card{align-items:flex-start;flex-direction:column}.report-health-card>div:last-child{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.report-health-card>div:last-child>span{min-width:0}.interest-history-list article{align-items:flex-start}}@media(max-width:400px){.health-score-hero{align-items:flex-start;flex-direction:column}.health-history>div:last-child{grid-template-columns:repeat(2,1fr)}.report-health-card>div:last-child{grid-template-columns:1fr}.interest-history-list article{flex-direction:column}.interest-history-list article>div:last-child{align-items:flex-start;text-align:left}}.income-form,.payday-form{display:flex;flex-direction:column;gap:14px;padding:0 24px calc(24px + env(safe-area-inset-bottom))}.income-form .money-input span,.payday-form .money-input span{font-size:12px;top:15px}.income-form .money-input input,.payday-form .money-input input{padding-left:50px}.income-preview,.review-section{display:flex;flex-direction:column;gap:4px;padding:15px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:14px;background:var(--accent-soft)}.income-preview small,.review-section>small{color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.08em}.income-preview b,.review-section>b{font:700 22px Manrope;color:var(--accent)}.income-preview span,.review-section>span{color:var(--muted);font-size:12px}.confirm-dialog{display:flex;flex-direction:column;gap:14px;padding:0 24px 24px}.confirm-dialog p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.form-note{padding:11px;border-radius:11px;background:var(--surface-2)}.form-success{margin:0;padding:10px 12px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:13px}.payday-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.payday-steps span{padding:9px 5px;border-radius:9px;background:var(--surface-2);color:var(--muted);font-size:11px;text-align:center}.payday-steps span.active{background:var(--accent-soft);color:var(--accent);font-weight:800}.payday-steps span.done{color:var(--text)}.payday-panel{display:flex;flex-direction:column;gap:14px}.payday-total,.allocation-totals{display:flex;flex-direction:column;gap:5px;padding:14px;border-radius:13px;background:var(--surface-2)}.payday-total strong{font:700 24px Manrope}.payday-total small{color:var(--muted)}.allocation-list{display:flex;flex-direction:column;gap:9px}.allocation-row{display:grid;grid-template-columns:1.4fr 1fr .8fr auto;align-items:end;gap:8px;padding:11px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}.allocation-row label{font-size:11px}.allocation-row .allocation-remove{margin-bottom:2px}.allocation-totals{gap:9px}.allocation-totals span{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.allocation-totals strong{color:var(--text)}.template-controls{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px;padding-top:13px;border-top:1px solid var(--line)}.template-controls>div{display:flex;align-items:center;gap:5px}.payday-review{gap:12px}.review-section>span{display:flex;justify-content:space-between;gap:12px;padding:4px 0}.review-section>span b{color:var(--text)}.review-section>span strong{color:var(--text)}.review-section .review-total{margin-top:7px;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--accent) 22%,var(--line))}.review-section p{color:var(--muted);font-size:12px}.income-history{margin-top:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface);overflow:hidden}.income-history-heading{padding:17px 18px;border-bottom:1px solid var(--line)}.income-history-heading>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.income-history-heading h2{font-size:16px;margin:0}.income-history-heading .segmented{width:100%;margin:13px 0 0}.income-history-heading .segmented button{flex:1}.income-history-list>article{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line)}.income-history-list>article:last-child{border:0}.income-history-list article>div:first-child{display:flex;flex-direction:column;gap:3px}.income-history-list span,.income-history-list small{color:var(--muted);font-size:11px}.income-history-list details{display:flex;margin-top:4px}.income-history-list summary{cursor:pointer;color:var(--accent);font-size:11px;font-weight:700}.income-history-list details small{display:block;padding-top:3px}.muted-text{color:var(--muted)!important}.history-type.income_received{background:var(--accent-soft);color:var(--accent)}.history-type.income_reversal,.history-type.payday_allocation_debit{background:#fff0e8;color:#a14b24}@media(max-width:700px){.overview-actions .primary{grid-column:auto}.overview-actions .secondary{width:100%}.income-form .form-actions,.payday-form .form-actions,.confirm-dialog .form-actions{display:grid;grid-template-columns:1fr 1fr}.allocation-row{grid-template-columns:1fr 1fr}.allocation-row label:first-child{grid-column:1/-1}.allocation-row .allocation-remove{justify-self:end}.template-controls{grid-template-columns:1fr}.income-history-heading .segmented{overflow-x:auto}.income-history-heading .segmented button{padding-inline:10px;white-space:nowrap}}@media(max-width:400px){.allocation-row{grid-template-columns:1fr}.allocation-row label:first-child{grid-column:auto}.income-history-list>article{flex-direction:column}.income-history-list .payment-history-amount{align-items:flex-start}}.income-summary-pills{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.income-summary-pills span{display:flex;justify-content:space-between;gap:10px;padding:9px 11px;border-radius:10px;background:var(--surface-2)}.income-summary-pills small{color:var(--muted)}.income-month-picker{margin-top:10px}.forecast-income-note{margin:13px 0 0;padding:10px 12px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:12px;line-height:1.45}
