:root{color:#101828;font-synthesis:none;text-rendering:optimizelegibility;background:#f8fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f8fafc;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}code{font-size:.9em}.screen{min-height:100vh;padding:max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom))}.screen-centered{place-items:center;display:grid}.app-shell{width:min(820px,100%);padding:max(24px, env(safe-area-inset-top)) 18px calc(36px + env(safe-area-inset-bottom));margin:0 auto}.card{background:#fff;border:1px solid #e4e7ec;border-radius:22px;box-shadow:0 8px 28px #1018280f}.auth-card,.setup-card{width:min(460px,100%);padding:28px}.brand-mark{color:#fff;background:#101828;border-radius:14px;place-items:center;width:46px;height:46px;margin-bottom:24px;font-weight:800;display:grid}.eyebrow{letter-spacing:.14em;color:#667085;margin:0 0 6px;font-size:12px;font-weight:800}h1,h2,p{margin-top:0}h1{letter-spacing:-.04em;font-size:clamp(28px,7vw,40px);line-height:1.05}h2{letter-spacing:-.02em;margin-bottom:8px;font-size:20px}.muted{color:#667085;line-height:1.55}.microcopy{color:#98a2b3;margin:4px 0 0;font-size:12px;font-weight:500}.stack{gap:16px;margin-top:24px;display:grid}label{gap:8px;font-weight:650;display:grid}input,select{color:#101828;background:#fff;border:1px solid #d0d5dd;border-radius:14px;outline:none;width:100%;padding:14px 15px}input:focus,select:focus{border-color:#475467;box-shadow:0 0 0 4px #4754671a}.button{border:0;border-radius:14px;padding:12px 16px;font-weight:750}.button:disabled{cursor:not-allowed;opacity:.55}.button-primary{color:#fff;background:#101828}.button-quiet{color:#344054;background:#eef2f6}.button-light{color:#101828;background:#fff}.button-dark-outline{color:#fff;background:0 0;border:1px solid #475467}.button-small{padding:9px 12px;font-size:13px}.feedback{background:#f2f4f7;border-radius:12px;margin:18px 0 0;padding:12px 14px}.feedback-error{color:#b42318;background:#fef3f2;border:1px solid #fecdca;margin:0}.security-box{color:#7a2e0e;background:#fffaeb;border:1px solid #fedf89;border-radius:14px;gap:5px;margin-top:22px;padding:16px;display:grid}.topbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.topbar h1{margin-bottom:0;font-size:30px}.hero-card{color:#fff;background:#101828;border-radius:26px;margin-bottom:22px;padding:26px;box-shadow:0 18px 48px #1018282e}.muted-on-dark{color:#98a2b3;margin-bottom:8px}.balance{letter-spacing:-.05em;font-size:clamp(34px,9vw,54px);display:block}.hero-meta{color:#d0d5dd;flex-wrap:wrap;gap:18px;margin-top:22px;font-size:14px;display:flex}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.callout-card{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;padding:22px;display:flex}.callout-card p:last-child{margin-bottom:0}.section-heading{justify-content:space-between;margin-bottom:12px;display:flex}.section-block{margin-top:30px}.budget-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.budget-card{padding:18px}.row-between{justify-content:space-between;align-items:center;gap:10px;display:flex}.pill{color:#475467;background:#f2f4f7;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800}.budget-amount{margin:22px 0 10px;font-size:19px;font-weight:800}.budget-amount span{color:#98a2b3;font-size:12px;font-weight:650}.progress{background:#eaecf0;border-radius:999px;height:7px;overflow:hidden}.progress span{border-radius:inherit;background:#344054;height:100%;display:block}.budget-status{color:#667085;margin:10px 0 0;font-size:12px}.budget-status.over{color:#b42318;font-weight:700}.security-note{color:#667085;margin-top:24px;padding:0 4px;font-size:12px;line-height:1.5}.transaction-list{overflow:hidden}.transaction-row{border-bottom:1px solid #f2f4f7;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.transaction-row:last-child{border-bottom:0}.transaction-icon{background:#f2f4f7;border-radius:14px;place-items:center;width:42px;height:42px;font-size:18px;display:grid}.transaction-main{gap:4px;min-width:0;display:grid}.transaction-main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.transaction-main span{color:#98a2b3;font-size:12px}.amount-positive{color:#067647;white-space:nowrap}.amount-negative{color:#344054;white-space:nowrap}.empty-list{padding:24px}.empty-list p{margin:8px 0 0}.modal-backdrop{z-index:40;padding-top:env(safe-area-inset-top);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1018287a;align-items:end;display:grid;position:fixed;inset:0}.sheet{width:min(620px,100%);max-height:calc(100vh - 24px);padding:10px 20px calc(22px + env(safe-area-inset-bottom));background:#fff;border-radius:28px 28px 0 0;margin:0 auto;overflow-y:auto;box-shadow:0 -24px 70px #10182838}.sheet-handle{background:#d0d5dd;border-radius:999px;width:42px;height:5px;margin:0 auto 16px}.sheet-heading{align-items:flex-start}.icon-button{color:#475467;background:#f2f4f7;border:0;border-radius:12px;width:38px;height:38px;font-size:24px}.segmented{background:#f2f4f7;border-radius:14px;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid}.segmented button{color:#667085;background:0 0;border:0;border-radius:11px;padding:10px 8px;font-size:13px;font-weight:700}.segmented button.active{color:#101828;background:#fff;box-shadow:0 1px 3px #1018281f}.money-input{border:1px solid #d0d5dd;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;display:grid;overflow:hidden}.money-input:focus-within{border-color:#475467;box-shadow:0 0 0 4px #4754671a}.money-input span{color:#667085;padding-left:15px}.money-input input{box-shadow:none;border:0;padding-left:8px;font-size:22px;font-weight:800}.money-input input:focus{box-shadow:none;border:0}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-actions{justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.pwa-toast{left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:50;background:#fff;border:1px solid #d0d5dd;border-radius:18px;max-width:560px;margin:auto;padding:16px;position:fixed;box-shadow:0 20px 50px #1018282e}.pwa-actions{gap:8px;margin-top:12px;display:flex}@media (width<=680px){.budget-grid{grid-template-columns:1fr}.auth-card,.setup-card{padding:22px}.callout-card{flex-direction:column;align-items:stretch}.form-grid{grid-template-columns:1fr}.transaction-row{grid-template-columns:38px minmax(0,1fr) auto;padding-inline:14px}.transaction-icon{border-radius:12px;width:38px;height:38px}.amount-positive,.amount-negative{font-size:13px}}html,body,.card,.hero-card,.sheet,.pwa-toast,input,select,.button,.theme-toggle{transition:background-color .18s,color .18s,border-color .18s,box-shadow .18s}.topbar-actions{align-items:center;gap:8px;display:flex}.theme-toggle{color:#344054;background:#fff;border:1px solid #e4e7ec;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:9px 12px;font-weight:750;display:inline-flex}.theme-toggle:hover{background:#f2f4f7}.theme-toggle-icon{text-align:center;width:20px;font-size:18px;line-height:1}.theme-toggle-label{font-size:13px}.theme-toggle-floating{z-index:20;top:max(16px, env(safe-area-inset-top));position:fixed;right:16px;box-shadow:0 8px 24px #1018281a}:root[data-theme=dark],:root[data-theme=dark] body{color:#f8fafc;background:#070b12}:root[data-theme=dark] .card{background:#111827;border-color:#263244;box-shadow:0 10px 32px #00000038}:root[data-theme=dark] .brand-mark{color:#101828;background:#f8fafc}:root[data-theme=dark] .eyebrow,:root[data-theme=dark] .muted,:root[data-theme=dark] .budget-status,:root[data-theme=dark] .security-note{color:#98a2b3}:root[data-theme=dark] .microcopy,:root[data-theme=dark] .transaction-main span{color:#7f8da3}:root[data-theme=dark] input,:root[data-theme=dark] select{color:#f8fafc;background:#0b1220;border-color:#344054}:root[data-theme=dark] input::placeholder{color:#667085}:root[data-theme=dark] input:focus,:root[data-theme=dark] select:focus,:root[data-theme=dark] .money-input:focus-within{border-color:#98a2b3;box-shadow:0 0 0 4px #98a2b31f}:root[data-theme=dark] .money-input{background:#0b1220;border-color:#344054}:root[data-theme=dark] .money-input span{color:#98a2b3}:root[data-theme=dark] .button-primary{color:#101828;background:#f8fafc}:root[data-theme=dark] .button-quiet{color:#e4e7ec;background:#1b2535}:root[data-theme=dark] .button-quiet:hover{background:#263244}:root[data-theme=dark] .feedback{color:#e4e7ec;background:#1b2535}:root[data-theme=dark] .feedback-error{color:#fda29b;background:#3b1717;border-color:#7a271a}:root[data-theme=dark] .security-box{color:#fedf89;background:#2b210c;border-color:#6b4e16}:root[data-theme=dark] .hero-card{color:#fff;background:#131c2b;box-shadow:0 18px 50px #00000047}:root[data-theme=dark] .muted-on-dark{color:#98a2b3}:root[data-theme=dark] .hero-meta{color:#d0d5dd}:root[data-theme=dark] .button-dark-outline{border-color:#667085}:root[data-theme=dark] .pill{color:#d0d5dd;background:#1b2535}:root[data-theme=dark] .budget-amount span{color:#7f8da3}:root[data-theme=dark] .progress{background:#263244}:root[data-theme=dark] .progress span{background:#98a2b3}:root[data-theme=dark] .budget-status.over{color:#f97066}:root[data-theme=dark] .transaction-row{border-color:#1f2937}:root[data-theme=dark] .transaction-icon{background:#1b2535}:root[data-theme=dark] .amount-positive{color:#47cd89}:root[data-theme=dark] .modal-backdrop{background:#0000009e}:root[data-theme=dark] .sheet{background:#111827;box-shadow:0 -24px 70px #00000061}:root[data-theme=dark] .sheet-handle{background:#475467}:root[data-theme=dark] .icon-button{color:#d0d5dd;background:#1b2535}:root[data-theme=dark] .segmented{background:#0b1220}:root[data-theme=dark] .segmented button{color:#98a2b3}:root[data-theme=dark] .segmented button.active{color:#f8fafc;box-shadow:none;background:#263244}:root[data-theme=dark] .pwa-toast{background:#111827;border-color:#344054;box-shadow:0 20px 50px #0000005c}:root[data-theme=dark] .theme-toggle{color:#e4e7ec;background:#111827;border-color:#344054}:root[data-theme=dark] .theme-toggle:hover{background:#1b2535}:root[data-theme=dark] .theme-toggle-floating{box-shadow:0 8px 24px #0000003d}@media (width<=480px){.theme-toggle-label{display:none}.theme-toggle{width:42px;padding-inline:0}.topbar-actions{gap:6px}}.transaction-row-button,.recurring-row{width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0}.transaction-row-button:hover,.recurring-row:hover{background:#f9fafb}.transaction-row-button:focus-visible,.recurring-row:focus-visible{outline-offset:-2px;outline:2px solid #667085}.recurring-list{overflow:hidden}.recurring-row{border-bottom:1px solid #f2f4f7;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.recurring-row:last-child{border-bottom:0}.recurring-help{margin:-2px 0 0;line-height:1.45}.feedback-info{color:#475467;background:#f2f4f7;border:1px solid #e4e7ec}.form-actions-spread{justify-content:space-between;align-items:center}.form-actions-right{justify-content:flex-end;gap:10px;display:flex}.button-danger-quiet{color:#b42318;background:#fef3f2;border:1px solid #fecdca}.button-danger-quiet:hover{background:#fee4e2}:root[data-theme=dark] .transaction-row-button:hover,:root[data-theme=dark] .recurring-row:hover{background:#151e2c}:root[data-theme=dark] .recurring-row{border-color:#1f2937}:root[data-theme=dark] .feedback-info{color:#d0d5dd;background:#1b2535;border-color:#344054}:root[data-theme=dark] .button-danger-quiet{color:#fda29b;background:#351313;border-color:#7a271a}:root[data-theme=dark] .button-danger-quiet:hover{background:#471818}@media (width<=680px){.recurring-row{grid-template-columns:38px minmax(0,1fr) auto;padding-inline:14px}.form-actions-spread{align-items:stretch;gap:14px}.form-actions-right{flex:1}}@media (width<=480px){.form-actions-spread{flex-direction:column-reverse}.form-actions-spread>div,.form-actions-right{width:100%}.form-actions-right .button{flex:1}.form-actions-spread>div:first-child .button{width:100%}.recurring-row .amount-positive,.recurring-row .amount-negative{font-size:12px}}.recurrence-box{border:1px solid var(--border,#e5e7eb);background:var(--surface-soft,#f8fafc);border-radius:16px;padding:14px 16px}.toggle-row{cursor:pointer;justify-content:space-between;align-items:center;gap:18px;display:flex}.toggle-row>span{gap:3px;display:grid}.toggle-row small{color:var(--text-muted,#667085);font-weight:400}.toggle-row input[type=checkbox]{accent-color:#111827;flex:none;width:22px;height:22px}.recurrence-fields{border-top:1px solid var(--border,#e5e7eb);gap:12px;margin-top:16px;padding-top:14px;display:grid}:root[data-theme=dark] .recurrence-box{background:#0d1522;border-color:#1f2937}:root[data-theme=dark] .toggle-row input[type=checkbox]{accent-color:#f8fafc}:root{--v4-surface:#fff;--v4-surface-soft:#f3f6fa;--v4-border:#e4e9f0;--v4-text:#101828;--v4-muted:#667085;--v4-track:#e8edf3;--v4-needs:#4f7cff;--v4-wants:#a855f7;--v4-future:#16a66a;--v4-danger:#d92d20;--v4-nav:#fffffff0}:root[data-theme=dark]{--v4-surface:#101826;--v4-surface-soft:#172233;--v4-border:#29364a;--v4-text:#f8fafc;--v4-muted:#98a2b3;--v4-track:#263449;--v4-needs:#6f95ff;--v4-wants:#c084fc;--v4-future:#47cd89;--v4-danger:#f97066;--v4-nav:#0d141ff0}.app-shell-v4{width:min(980px,100%);min-height:100vh;padding-bottom:calc(118px + env(safe-area-inset-bottom))}.app-content{min-height:calc(100vh - 150px)}.app-page-header{margin-bottom:20px}.app-page-header h1{font-size:clamp(28px,5vw,36px)}.hero-card-v4{background:radial-gradient(circle at 90% 10%,#7591ff38,#0000 38%),linear-gradient(140deg,#101828,#172337);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:30px;margin-bottom:16px;padding:28px 30px;display:grid}.hero-metrics{grid-template-columns:repeat(3,minmax(110px,1fr));gap:8px;display:grid}.hero-metrics>div{background:#ffffff14;border:1px solid #ffffff17;border-radius:16px;gap:4px;min-width:112px;padding:12px 14px;display:grid}.hero-metrics span{color:#aeb8c7;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:750}.hero-metrics strong{font-size:15px}.compact-callout{margin-bottom:16px;padding:16px 18px}.compact-callout p{margin:4px 0 0}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr);gap:14px;margin-top:14px;display:grid}.analytics-card{box-shadow:none;padding:20px}.analytics-heading{margin-bottom:18px}.analytics-heading h2{margin:0 0 4px;font-size:18px}.analytics-heading p{margin:0;font-size:13px}.budget-rings{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.budget-ring-item{text-align:center;justify-items:center;gap:4px;min-width:0;display:grid}.budget-ring{--ring-degrees:0deg;--ring-accent:var(--v4-needs);aspect-ratio:1;background:conic-gradient(var(--ring-accent) var(--ring-degrees), var(--v4-track) 0);border-radius:50%;place-items:center;width:104px;margin-bottom:8px;display:grid;position:relative}.budget-ring:before{content:"";background:var(--v4-surface);border-radius:50%;position:absolute;inset:9px}.budget-ring-center{z-index:1;gap:4px;line-height:1;display:grid;position:relative}.budget-ring-center strong{letter-spacing:-.04em;font-size:22px}.budget-ring-center span{text-transform:uppercase;color:var(--v4-muted);letter-spacing:.05em;font-size:10px;font-weight:750}.budget-ring-wants .budget-ring{--ring-accent:var(--v4-wants)}.budget-ring-future .budget-ring{--ring-accent:var(--v4-future)}.budget-ring-item>strong{font-size:14px}.budget-ring-target,.budget-ring-status{color:var(--v4-muted);font-size:11px;line-height:1.35}.budget-ring-status.over{color:var(--v4-danger);font-weight:750}.cashflow-card{min-height:280px}.cashflow-chart{grid-template-columns:repeat(3,1fr);align-items:end;gap:12px;height:188px;display:grid}.cashflow-column{grid-template-rows:auto 1fr auto;justify-items:center;gap:8px;min-width:0;height:100%;display:grid}.cashflow-column>strong{color:var(--v4-muted);white-space:nowrap;font-size:11px}.cashflow-column>span{font-size:11px;font-weight:700}.cashflow-track{background:var(--v4-track);border-radius:12px;align-items:flex-end;width:min(48px,70%);height:100%;display:flex;overflow:hidden}.cashflow-bar{background:#7f8da3;border-radius:12px 12px 0 0;width:100%;min-height:3px;transition:height .3s;display:block}.cashflow-income{background:var(--v4-future)}.cashflow-expense{background:var(--v4-needs)}.cashflow-investment{background:var(--v4-wants)}.category-chart-card{margin-top:14px}.text-button{color:#476bd3;background:0 0;border:0;padding:6px 0;font-weight:750}:root[data-theme=dark] .text-button{color:#8eabff}.category-bars{gap:14px;display:grid}.category-bar-row{grid-template-columns:minmax(130px,180px) 1fr auto;align-items:center;gap:12px;display:grid}.category-bar-label{align-items:center;gap:8px;min-width:0;display:flex}.category-bar-label strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.category-bar-track{background:var(--v4-track);border-radius:999px;height:9px;overflow:hidden}.category-bar-track span{border-radius:inherit;background:linear-gradient(90deg, var(--v4-needs), var(--v4-wants));min-width:3px;height:100%;display:block}.category-bar-row>strong{text-align:right;min-width:88px;font-size:12px}.empty-chart{min-height:100px;color:var(--v4-muted);place-items:center;font-size:13px;display:grid}.compact-section{margin-top:22px}.compact-section .section-heading h2{margin-bottom:4px}.compact-section .section-heading p{margin:0;font-size:13px}.month-toolbar{grid-template-columns:44px minmax(180px,260px) 44px;justify-content:center;align-items:center;gap:8px;margin:4px auto 18px;display:grid}.month-nav-button{border:1px solid var(--v4-border);background:var(--v4-surface);width:44px;height:44px;color:var(--v4-text);border-radius:14px;place-items:center;display:grid}.month-picker{border:1px solid var(--v4-border);background:var(--v4-surface);border-radius:14px;place-items:center;height:44px;display:grid;position:relative;overflow:hidden}.month-picker>span{pointer-events:none;font-size:14px;font-weight:780}.month-picker input{opacity:0;cursor:pointer;position:absolute;inset:0}.movement-summary-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px;display:grid}.mini-stat{box-shadow:none;gap:6px;padding:16px 18px;display:grid}.mini-stat span{text-transform:uppercase;letter-spacing:.06em;color:var(--v4-muted);font-size:11px;font-weight:750}.mini-stat strong{font-size:19px}.filters-card{box-shadow:none;padding:14px}.filters-grid{grid-template-columns:minmax(220px,1.5fr) minmax(140px,.7fr) minmax(160px,.9fr);gap:10px;display:grid}.filters-grid label{gap:6px;font-size:12px}.filters-grid input,.filters-grid select{border-radius:12px;padding:11px 12px}.planning-grid{grid-template-columns:1.2fr .8fr;gap:12px;display:grid}.planning-card{box-shadow:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:20px;display:grid}.planning-card-icon{background:var(--v4-surface-soft);width:46px;height:46px;color:var(--v4-text);border-radius:15px;place-items:center;display:grid}.planning-card-content{gap:4px;min-width:0;display:grid}.planning-card-content>span{font-size:12px}.planning-card-content p{color:var(--v4-muted);margin:0;font-size:12px;line-height:1.45}.planning-amount{letter-spacing:-.03em;font-size:22px}.budget-settings-card{grid-template-columns:auto 1fr}.settings-stack{gap:12px;display:grid}.settings-row-card,.settings-card-block{box-shadow:none;padding:20px}.settings-row-card{justify-content:space-between;align-items:center;gap:16px;display:flex}.settings-row-card p,.settings-card-heading p{margin:4px 0 0;font-size:13px}.settings-card-heading{margin-bottom:16px}.category-chip-list{flex-wrap:wrap;gap:8px;display:flex}.category-chip{background:var(--v4-surface-soft);border:1px solid var(--v4-border);border-radius:999px;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:650;display:inline-flex}.account-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.account-row>div{gap:4px;min-width:0;display:grid}.account-row span{font-size:12px}.account-row strong{text-overflow:ellipsis;overflow:hidden}.bottom-nav{z-index:30;left:50%;bottom:max(12px, env(safe-area-inset-bottom));background:var(--v4-nav);border:1px solid var(--v4-border);-webkit-backdrop-filter:blur(18px);border-radius:24px;grid-template-columns:1fr 1fr 74px 1fr 1fr;align-items:center;width:min(720px,100% - 24px);min-height:70px;padding:7px 9px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 16px 48px #1018282e}.bottom-nav>button:not(.nav-fab){height:54px;color:var(--v4-muted);background:0 0;border:0;border-radius:16px;align-content:center;place-items:center;gap:3px;padding:4px;display:grid}.bottom-nav>button:not(.nav-fab) span{font-size:9.5px;font-weight:750;line-height:1}.bottom-nav>button.active{color:var(--v4-text);background:var(--v4-surface-soft)}.nav-fab{color:#fff;background:#101828;border:0;border-radius:19px;place-self:center;place-items:center;width:58px;height:58px;display:grid;transform:translateY(-12px);box-shadow:0 9px 24px #10182847}:root[data-theme=dark] .nav-fab{color:#101828;background:#f8fafc;box-shadow:0 10px 28px #00000057}.add-menu-sheet{width:min(520px,100%)}.add-action-list{gap:8px;padding-bottom:6px;display:grid}.add-action-list>button{border:1px solid var(--v4-border);background:var(--v4-surface);width:100%;color:var(--v4-text);text-align:left;border-radius:16px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;display:grid}.add-action-list>button:hover{background:var(--v4-surface-soft)}.add-action-icon{background:var(--v4-surface-soft);border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.add-action-list>button>span:nth-child(2){gap:3px;display:grid}.add-action-list strong{font-size:14px}.add-action-list small{color:var(--v4-muted);font-size:11px}:root[data-theme=dark] .month-nav-button,:root[data-theme=dark] .month-picker,:root[data-theme=dark] .add-action-list>button{background:var(--v4-surface);border-color:var(--v4-border);color:var(--v4-text)}:root[data-theme=dark] .analytics-card,:root[data-theme=dark] .mini-stat,:root[data-theme=dark] .filters-card,:root[data-theme=dark] .planning-card,:root[data-theme=dark] .settings-row-card,:root[data-theme=dark] .settings-card-block{background:var(--v4-surface);border-color:var(--v4-border)}@media (width<=820px){.hero-card-v4{grid-template-columns:1fr;align-items:start}.dashboard-grid{grid-template-columns:1fr}.cashflow-card{min-height:260px}.planning-grid{grid-template-columns:1fr}}@media (width<=680px){.app-shell-v4{padding-left:14px;padding-right:14px;padding-top:max(18px, env(safe-area-inset-top))}.app-page-header{margin-bottom:16px}.app-page-header h1{font-size:28px}.hero-card-v4{gap:20px;padding:22px}.hero-metrics{grid-template-columns:repeat(3,1fr);width:100%}.hero-metrics>div{min-width:0;padding:10px}.hero-metrics strong{font-size:12px}.budget-rings{gap:8px}.budget-ring{width:86px}.budget-ring:before{inset:8px}.budget-ring-center strong{font-size:18px}.budget-ring-target,.budget-ring-status{font-size:10px}.category-bar-row{grid-template-columns:minmax(105px,135px) 1fr auto;gap:8px}.category-bar-row>strong{min-width:72px;font-size:11px}.movement-summary-grid{grid-template-columns:1fr;gap:8px}.mini-stat{justify-content:space-between;align-items:center;padding:13px 15px;display:flex}.mini-stat strong{font-size:16px}.filters-grid{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.planning-card{grid-template-columns:auto 1fr}.planning-card>.button{grid-column:1/-1;width:100%}.settings-row-card,.account-row{flex-direction:column;align-items:stretch}.bottom-nav{width:calc(100% - 16px);bottom:max(8px, env(safe-area-inset-bottom));border-radius:21px;grid-template-columns:1fr 1fr 66px 1fr 1fr}.bottom-nav>button:not(.nav-fab) span{font-size:8.5px}.nav-fab{border-radius:18px;width:54px;height:54px}}@media (width<=480px){.balance{font-size:39px}.hero-metrics{gap:5px}.hero-metrics span{font-size:9px}.hero-metrics strong{font-size:11px}.analytics-card{padding:16px}.budget-rings{grid-template-columns:repeat(3,1fr)}.budget-ring{width:74px}.budget-ring-center strong{font-size:16px}.budget-ring-item>strong{font-size:12px}.budget-ring-target{display:none}.category-bar-row{grid-template-columns:1fr auto}.category-bar-track{grid-area:2/1/auto/-1}.category-bar-row>strong{grid-area:1/2}.filters-grid{grid-template-columns:1fr}.search-field{grid-column:auto}.month-toolbar{grid-template-columns:40px minmax(160px,1fr) 40px}.month-nav-button{width:40px;height:40px}.bottom-nav{min-height:66px;padding-inline:6px}.bottom-nav>button:not(.nav-fab){height:48px}.bottom-nav>button:not(.nav-fab) svg{width:20px;height:20px}.bottom-nav>button:not(.nav-fab) span{display:none}}.hero-balance-only{grid-template-columns:1fr;min-height:150px}.amount-negative{color:#d92d20!important}.amount-investment{color:#175cd3;font-size:13px}:root[data-theme=dark] .amount-negative{color:#f97066!important}:root[data-theme=dark] .amount-investment{color:#84adff}.money-input-bank{grid-template-columns:52px minmax(0,1fr);min-height:60px;overflow:hidden}.money-input-bank .money-prefix{border-right:1px solid var(--v4-border,#d0d5dd);background:var(--v4-surface-soft,#f9fafb);place-items:center;height:100%;min-height:58px;padding:0;font-weight:800;display:grid}.money-input-bank input{letter-spacing:-.02em;min-width:0;padding:14px 16px!important;font-size:24px!important}:root[data-theme=dark] .money-input-bank .money-prefix{background:#121b2a;border-color:#344054}.ios-switch{background:#98a2b3;border:0;border-radius:999px;flex:none;align-items:center;width:52px;height:30px;padding:3px;transition:background .18s;display:inline-flex}.ios-switch span{background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .18s;transform:translate(0);box-shadow:0 2px 5px #00000038}.ios-switch.is-on{background:#12b76a}.ios-switch.is-on span{transform:translate(22px)}.ios-switch:disabled{opacity:.45;cursor:not-allowed}.switch-row{cursor:default}.payment-box,.installment-panel{border:1px solid var(--v4-border,#e4e7ec);background:var(--v4-surface-soft,#f9fafb);border-radius:16px;gap:14px;padding:16px;display:grid}:root[data-theme=dark] .payment-box,:root[data-theme=dark] .installment-panel{background:#0d1522;border-color:#1f2937}.compact-segmented{margin-top:0}.installment-panel{grid-template-columns:minmax(0,180px) 1fr;align-items:end}.installment-preview{gap:3px;padding-bottom:4px;display:grid}.installment-preview span{color:var(--v4-muted,#667085);font-size:12px}.installment-preview strong{font-size:18px}.filters-grid-four{grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(130px,1fr))}.small-sheet{width:min(560px,100%)}.percentage-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.percent-input{border:1px solid var(--v4-border,#d0d5dd);border-radius:13px;grid-template-columns:1fr 38px;display:grid;overflow:hidden}.percent-input input{border:0;border-radius:0;min-width:0;box-shadow:none!important}.percent-input>span{background:var(--v4-surface-soft,#f9fafb);color:var(--v4-muted,#667085);place-items:center;font-weight:800;display:grid}.percentage-total{background:var(--v4-surface-soft,#f9fafb);border-radius:12px;padding:12px 14px}.percentage-total.ok{color:#027a48}.percentage-total.bad{color:#b42318}:root[data-theme=dark] .percent-input,:root[data-theme=dark] .percentage-total{background:#0d1522;border-color:#344054}:root[data-theme=dark] .percent-input>span{background:#121b2a}:root[data-theme=dark] .percentage-total.ok{color:#47cd89}:root[data-theme=dark] .percentage-total.bad{color:#f97066}.category-chip{border:1px solid var(--v4-border,#d0d5dd);color:var(--v4-text,#101828);cursor:default}button.category-chip-custom{cursor:pointer}button.category-chip-custom:hover{background:var(--v4-surface-soft,#f9fafb)}.card-settings-list{gap:8px;display:grid}.card-setting-row{border:1px solid var(--v4-border,#e4e7ec);color:var(--v4-text,#101828);text-align:left;background:0 0;border-radius:14px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.card-setting-row>span{gap:3px;display:grid}.card-setting-row small{color:var(--v4-muted,#667085)}.card-setting-row:hover{background:var(--v4-surface-soft,#f9fafb)}@media (width<=760px){.filters-grid-four{grid-template-columns:1fr 1fr}.installment-panel,.percentage-grid{grid-template-columns:1fr}}@media (width<=480px){.filters-grid-four{grid-template-columns:1fr}.money-input-bank{grid-template-columns:48px minmax(0,1fr)}.money-input-bank input{font-size:22px!important}}.hero-balance-only{text-align:center;place-items:center;display:grid}.hero-balance-only>div{width:100%}.hero-balance-only .muted-on-dark{margin-bottom:10px}.custom-select{width:100%;position:relative}.custom-select-trigger{border:1px solid var(--v4-border,#d0d5dd);background:var(--v4-surface,#fff);width:100%;min-height:52px;color:var(--v4-text,#101828);text-align:left;border-radius:14px;outline:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.custom-select-trigger:focus-visible,.custom-select.is-open .custom-select-trigger{border-color:#667085;box-shadow:0 0 0 4px #6670851f}.custom-select-value{align-items:center;gap:9px;min-width:0;font-weight:700;display:inline-flex}.custom-select-value>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.custom-select-icon{text-align:center;flex:0 0 22px;width:22px}.custom-select-placeholder{color:var(--v4-muted,#667085);font-weight:600}.custom-select-chevron{color:var(--v4-muted,#667085);font-size:18px;line-height:1;transition:transform .16s;transform:translateY(-2px)}.custom-select.is-open .custom-select-chevron{transform:rotate(180deg)translateY(1px)}.custom-select-popover{z-index:80;border:1px solid var(--v4-border,#d0d5dd);background:var(--v4-surface,#fff);color:var(--v4-text,#101828);border-radius:16px;padding:7px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden;box-shadow:0 18px 48px #1018282e}.custom-select-options-scroll{overscroll-behavior:contain;max-height:260px;overflow-y:auto}.custom-select-option{width:100%;min-height:42px;color:inherit;text-align:left;background:0 0;border:0;border-radius:11px;grid-template-columns:28px minmax(0,1fr) 22px;align-items:center;gap:7px;padding:9px 10px;font-weight:650;display:grid}.custom-select-option:hover,.custom-select-option:focus-visible{background:var(--v4-surface-soft,#f2f4f7);outline:none}.custom-select-option.selected{color:#1849a9;background:#eef4ff}.custom-select-option-icon{text-align:center;width:28px}.custom-select-check{justify-self:end;font-weight:900}:root[data-theme=dark] .custom-select-trigger,:root[data-theme=dark] .custom-select-popover{color:#f8fafc;background:#0b1320;border-color:#344054}:root[data-theme=dark] .custom-select-option:hover,:root[data-theme=dark] .custom-select-option:focus-visible{background:#172033}:root[data-theme=dark] .custom-select-option.selected{color:#b2ccff;background:#172554}.form-field{gap:8px;min-width:0;font-weight:650;display:grid}*{scrollbar-width:thin;scrollbar-color:#98a2b3 transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background:#98a2b3 padding-box padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#b3bac5 padding-box padding-box;border:2px solid #0000}::-webkit-scrollbar-button{appearance:none;background:0 0!important;border:0!important;width:0!important;min-width:0!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important}::-webkit-scrollbar-button:single-button{background:0 0!important;width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-button:vertical:decrement{background:0 0!important;width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-button:vertical:increment{background:0 0!important;width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-button:horizontal:decrement{background:0 0!important;width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-button:horizontal:increment{background:0 0!important;width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-button:start:decrement{background:0 0!important;width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-button:end:increment{background:0 0!important;width:0!important;height:0!important;display:none!important}.icon-button{text-align:center;place-items:center;padding:0;font-size:0;line-height:1;display:grid}.icon-button:before{content:"×";font-size:24px;line-height:1;display:block;transform:translateY(-1px)}.readonly-control{border:1px solid var(--v4-border,#d0d5dd);background:var(--v4-surface,#fff);width:100%;min-height:52px;color:var(--v4-text,#101828);border-radius:14px;align-items:center;gap:9px;padding:12px 14px;font-weight:700;display:flex}.readonly-control-icon{text-align:center;flex:0 0 22px;width:22px}:root[data-theme=dark] .readonly-control{color:#f8fafc;background:#0b1320;border-color:#344054}@media (width<=520px){.investment-classification-grid{grid-template-columns:1fr}}.wallet-pending-banner{text-align:left;color:#1849a9;background:#eef4ff;border:1px solid #84adff;border-radius:18px;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:12px;width:100%;margin-bottom:14px;padding:14px 16px;display:grid}.wallet-pending-banner>span:nth-child(2){gap:3px;display:grid}.wallet-pending-banner small{color:#475467}.wallet-pending-icon{background:#d1e0ff;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}:root[data-theme=dark] .wallet-pending-banner{color:#b2ccff;background:#101d3a;border-color:#3538cd}:root[data-theme=dark] .wallet-pending-banner small{color:#98a2b3}:root[data-theme=dark] .wallet-pending-icon{background:#172554}.wallet-review-sheet{width:min(620px,100%)}.wallet-review-hero{border:1px solid var(--v4-border,#d0d5dd);background:var(--v4-surface-soft,#f9fafb);border-radius:16px;gap:4px;margin-bottom:18px;padding:16px;display:grid}.wallet-review-hero>span{color:var(--v4-muted,#667085);font-size:13px}.wallet-review-hero>strong{letter-spacing:-.03em;font-size:30px}.wallet-review-hero>small{color:var(--v4-muted,#667085)}:root[data-theme=dark] .wallet-review-hero{background:#0d1522;border-color:#344054}.wallet-review-actions{grid-template-columns:auto 1fr auto}.wallet-integration-card{gap:16px}.wallet-settings-title{align-items:center;gap:12px;display:flex}.settings-feature-icon{background:var(--v4-surface-soft,#f2f4f7);width:42px;height:42px;color:var(--v4-text,#101828);border-radius:13px;flex:none;place-items:center;display:grid}:root[data-theme=dark] .settings-feature-icon{color:#f8fafc;background:#172033}.wallet-security-note{background:var(--v4-surface-soft,#f9fafb);color:var(--v4-muted,#667085);border-radius:12px;margin:0;padding:12px 14px;font-size:13px}:root[data-theme=dark] .wallet-security-note{background:#0d1522}.wallet-setup-box{border-top:1px solid var(--v4-border,#e4e7ec);gap:14px;padding-top:16px;display:grid}.wallet-setup-box label{gap:7px;font-weight:700;display:grid}.copy-field{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;display:grid}.copy-field code{text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--v4-border,#d0d5dd);background:var(--v4-surface-soft,#f9fafb);min-width:0;color:var(--v4-text,#101828);border-radius:12px;padding:11px 12px;overflow:hidden}.copy-field button{border:1px solid var(--v4-border,#d0d5dd);color:var(--v4-text,#101828);background:0 0;border-radius:12px;padding:0 14px;font-weight:750}.wallet-secret{-webkit-user-select:all;user-select:all}.wallet-steps{border:1px solid var(--v4-border,#d0d5dd);background:var(--v4-surface-soft,#f9fafb);border-radius:14px;padding:14px 16px}.wallet-steps ol{color:var(--v4-muted,#667085);gap:7px;margin:9px 0 0 20px;padding:0;display:grid}.wallet-panel-message{color:#027a48;margin:0;font-size:13px}.danger-text{justify-self:start;color:#b42318!important}:root[data-theme=dark] .copy-field code,:root[data-theme=dark] .wallet-steps{color:#f8fafc;background:#0d1522;border-color:#344054}:root[data-theme=dark] .copy-field button{color:#f8fafc;border-color:#344054}@media (width<=560px){.wallet-review-actions{grid-template-columns:1fr 1fr}.wallet-review-actions .button-primary{grid-column:1/-1}.copy-field{grid-template-columns:1fr}.copy-field button{min-height:42px}}.auth-form{margin-top:20px}.auth-code-description strong{color:inherit;overflow-wrap:anywhere}.otp-code-input{text-align:center;letter-spacing:.34em;font-variant-numeric:tabular-nums;padding-left:calc(15px + .34em);font-size:30px;font-weight:850}.auth-secondary-actions{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:16px;display:flex}.auth-access-note{color:#98a2b3;text-align:center;margin:18px 0 0;font-size:12px}.member-admin-card{gap:16px;display:grid}.member-admin-card .settings-card-heading{margin-bottom:0}.member-invite-form{margin:0}.member-invite-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.member-invite-row .button{min-width:100px}.member-list{border-top:1px solid var(--v4-border,#e4e7ec);display:grid}.member-row{border-bottom:1px solid var(--v4-border,#e4e7ec);justify-content:space-between;align-items:center;gap:14px;padding:13px 0;display:flex}.member-row>div{gap:3px;min-width:0;display:grid}.member-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.member-row small{color:var(--v4-muted,#667085)}.member-role-badge,.member-status-revoked{border-radius:999px;flex:none;padding:5px 8px;font-size:11px;font-weight:800}.member-role-badge{color:#067647;background:#ecfdf3}.member-status-revoked{color:#b42318;background:#fef3f2}:root[data-theme=dark] .member-role-badge{color:#6ce9a6;background:#073b2a}:root[data-theme=dark] .member-status-revoked{color:#fda29b;background:#4a1d1f}@media (width<=560px){.member-invite-row{grid-template-columns:1fr}.member-invite-row .button{width:100%}.otp-code-input{letter-spacing:.27em;padding-left:calc(15px + .27em);font-size:26px}}
