:root{--bg:#060b0e;--panel:rgba(12,22,30,0.92);--panel-strong:#0c1a24;--panel-highlight:rgba(16,30,42,0.96);--text:#f0f7f5;--text-secondary:#c0d8d3;--muted:#6e9d96;--line:rgba(160,220,210,0.08);--line-strong:rgba(160,220,210,0.14);--accent:#14b8a6;--accent-strong:#5eead4;--accent-soft:rgba(20,184,166,0.12);--accent-glow:rgba(20,184,166,0.22);--risk-green:#22c55e;--risk-green-soft:rgba(34,197,94,0.12);--risk-green-text:#86efac;--risk-amber:#f59e0b;--risk-amber-soft:rgba(245,158,11,0.12);--risk-amber-text:#fcd34d;--risk-orange:#f97316;--risk-orange-soft:rgba(249,115,22,0.12);--risk-orange-text:#fdba74;--risk-red:#ef4444;--risk-red-soft:rgba(239,68,68,0.12);--risk-red-text:#fca5a5;--income:#34d399;--income-soft:rgba(52,211,153,0.1);--expense:#f87171;--expense-soft:rgba(248,113,113,0.08);--shadow:0 24px 48px -12px rgba(0,0,0,0.5);--shadow-sm:0 4px 16px rgba(0,0,0,0.24);--shadow-xs:0 2px 8px rgba(0,0,0,0.16);--radius-xl:28px;--radius-lg:22px;--radius-md:16px;--radius-sm:12px;--radius-xs:8px;--ease-spring:cubic-bezier(0.16,1,0.3,1);--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-bounce:cubic-bezier(0.34,1.56,0.64,1);--t-fast:120ms;--t-base:200ms;--t-slow:320ms;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--nav-height:5.2rem}*,:after,:before{box-sizing:border-box;margin:0}::selection{background:rgba(20,184,166,.3);color:var(--text)}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body,html{overflow-x:hidden}body{min-height:100dvh;background:var(--bg);color:var(--text);font-family:SF Pro Display,SF Pro Text,ui-sans-serif,-apple-system,BlinkMacSystemFont,Helvetica Neue,system-ui,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at top,rgba(20,184,166,.12),transparent 32%),radial-gradient(circle at 85% 15%,rgba(56,189,248,.08),transparent 22%);pointer-events:none;z-index:-1}a{color:inherit;text-decoration:none}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.shell{width:100%;max-width:430px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;overflow-x:hidden;position:relative}.shell-content{flex:1 1;display:grid;align-content:start;grid-gap:.85rem;gap:.85rem;padding:0 1rem calc(var(--nav-height) + var(--safe-bottom) + .5rem)}.top-bar{position:-webkit-sticky;position:sticky;top:0;z-index:15;justify-content:space-between;gap:.75rem;padding:calc(var(--safe-top) + .85rem) 1rem .75rem;background:rgba(6,11,14,.88);backdrop-filter:saturate(200%) blur(24px);-webkit-backdrop-filter:saturate(200%) blur(24px);border-bottom:1px solid rgba(160,220,210,.05)}.top-bar,.top-bar-left{display:flex;align-items:center}.top-bar-left{gap:.7rem;min-width:0}.top-bar-avatar{width:2.2rem;height:2.2rem;border-radius:50%;background:linear-gradient(135deg,var(--accent),#0d9488);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;flex-shrink:0}.top-bar-text{min-width:0}.top-bar-greeting{font-size:.92rem;font-weight:700;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.top-bar-time{font-size:.68rem;color:var(--muted);letter-spacing:.01em;line-height:1.3}.top-bar-name{font-size:.92rem;font-weight:700;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.top-bar-actions{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.status-dot{width:.44rem;height:.44rem;border-radius:999px;background:#2dd4bf;box-shadow:0 0 0 .2rem rgba(45,212,191,.18);flex-shrink:0;animation:pulse-dot 3s ease-in-out infinite}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 .2rem rgba(45,212,191,.18)}50%{box-shadow:0 0 0 .42rem rgba(45,212,191,.04)}}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--text-secondary);transition:all var(--t-base) var(--ease-out)}.icon-btn:hover{background:rgba(255,255,255,.1);color:var(--text)}.icon-btn:active{transform:scale(.92)}.stack{display:grid;grid-gap:.9rem;gap:.9rem}.stack-sm{display:grid;grid-gap:.6rem;gap:.6rem}.stack-lg{display:grid;grid-gap:1.2rem;gap:1.2rem}.panel{position:relative;overflow:hidden;background:linear-gradient(165deg,rgba(14,28,38,.95),rgba(10,20,28,.92));border:1px solid rgba(160,220,210,.07);border-radius:var(--radius-lg);padding:1.15rem;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 2px 12px rgba(0,0,0,.15)}.panel:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent 5%,rgba(160,220,210,.15) 50%,transparent 95%);pointer-events:none}.balance-card{padding:1.5rem 1.25rem;background:radial-gradient(ellipse 80% 60% at 100% -20%,rgba(45,212,191,.18),transparent),radial-gradient(ellipse 50% 40% at 0 100%,rgba(56,189,248,.06),transparent),linear-gradient(155deg,rgba(18,46,60,.98),rgba(8,22,32,.98));border-color:rgba(180,240,230,.14);box-shadow:inset 0 0 0 1px rgba(200,255,248,.05),0 20px 40px -8px rgba(0,0,0,.4),0 0 80px -20px rgba(20,184,166,.08)}.balance-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.35rem}.balance-label{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-strong);opacity:.8}.balance-edit-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;border:1px solid rgba(45,212,191,.2);background:rgba(45,212,191,.08);color:var(--accent-strong);cursor:pointer;transition:all .2s var(--ease-out);flex-shrink:0}.balance-edit-btn:hover{background:rgba(45,212,191,.16);border-color:rgba(45,212,191,.4)}.balance-edit-btn:active{transform:scale(.9)}.balance-amount{font-size:clamp(2.8rem,11vw,3.6rem);font-weight:800;letter-spacing:-.045em;line-height:1;color:#fff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-bottom:1rem}.balance-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.55rem;gap:.55rem}.balance-mini{padding:.75rem .85rem;border-radius:var(--radius-sm);background:rgba(6,14,20,.55);border:1px solid rgba(180,240,230,.08)}.balance-mini-label{font-size:.62rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:.22rem}.balance-mini-value{font-size:1.05rem;font-weight:700;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.balance-mini-value.income{color:var(--income)}.balance-mini-value.expense{color:var(--expense)}.debt-indicator{display:grid;grid-gap:.75rem;gap:.75rem;padding:1.1rem}.debt-indicator-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.debt-indicator-left{display:grid;grid-gap:.18rem;gap:.18rem}.debt-indicator-label{font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.debt-indicator-amount{font-size:1.55rem;font-weight:800;letter-spacing:-.03em;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.risk-badge{display:inline-flex;align-items:center;gap:.32rem;padding:.32rem .65rem;border-radius:999px;font-size:.66rem;font-weight:700;letter-spacing:.03em;white-space:nowrap;border:1px solid transparent}.risk-badge.green{background:var(--risk-green-soft);color:var(--risk-green-text);border-color:rgba(34,197,94,.2)}.risk-badge.amber{background:var(--risk-amber-soft);color:var(--risk-amber-text);border-color:rgba(245,158,11,.2)}.risk-badge.orange{background:var(--risk-orange-soft);color:var(--risk-orange-text);border-color:rgba(249,115,22,.2)}.risk-badge.red{background:var(--risk-red-soft);color:var(--risk-red-text);border-color:rgba(239,68,68,.2)}.risk-badge.none{background:var(--accent-soft);color:var(--accent-strong);border-color:rgba(20,184,166,.2)}.debt-percentage-text{font-size:.8rem;color:var(--muted)}.debt-percentage-text strong{color:var(--text);font-weight:700}.progress-wrap{display:grid;grid-gap:.45rem;gap:.45rem}.progress-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.progress-meta-label{font-size:.7rem;color:var(--muted);font-weight:500}.progress-meta-value{font-size:.7rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.progress-track{width:100%;height:.4rem;border-radius:999px;background:rgba(255,255,255,.05);overflow:hidden}.progress-fill{height:100%;border-radius:inherit;transition:width .8s var(--ease-spring)}.progress-fill.green{background:linear-gradient(90deg,#16a34a,#22c55e);box-shadow:0 0 8px rgba(34,197,94,.3)}.progress-fill.amber{background:linear-gradient(90deg,#d97706,#f59e0b);box-shadow:0 0 8px rgba(245,158,11,.3)}.progress-fill.orange{background:linear-gradient(90deg,#ea580c,#f97316);box-shadow:0 0 8px rgba(249,115,22,.3)}.progress-fill.red{background:linear-gradient(90deg,#dc2626,#ef4444);box-shadow:0 0 8px rgba(239,68,68,.3)}.progress-fill.teal{background:linear-gradient(90deg,#0d9488,#14b8a6);box-shadow:0 0 8px rgba(20,184,166,.3)}.section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.section-header-left{display:grid;grid-gap:.12rem;gap:.12rem}.section-divider{border:none;border-top:1px solid var(--line);margin:.5rem 0}.section-eyebrow{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.section-title{font-size:1.05rem;font-weight:700;letter-spacing:-.025em;line-height:1.2}.collapsible{background:var(--panel);border-radius:var(--radius-md);border:1px solid var(--line);overflow:hidden}.collapsible-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.85rem 1rem;background:transparent;border:none;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;gap:.75rem}.collapsible-header:active{background:var(--panel-highlight)}.collapsible-header-left{display:flex;flex-direction:column;gap:.15rem;text-align:left;min-width:0}.collapsible-title{font-size:1.05rem;font-weight:700;letter-spacing:-.025em;line-height:1.2}.collapsible-subtitle{font-size:.82rem;color:var(--muted);line-height:1.3}.collapsible-header-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.collapsible-chevron{color:var(--muted);transition:transform var(--t-base) var(--ease-out)}.collapsible.is-expanded .collapsible-chevron{transform:rotate(180deg)}.collapsible-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--t-slow) var(--ease-out)}.collapsible.is-expanded .collapsible-content{grid-template-rows:1fr}.collapsible-content-inner{overflow:hidden}.collapsible-body{padding:0 1rem 1rem}.pill{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.64rem;font-weight:700;white-space:nowrap;border:1px solid rgba(94,234,212,.1);letter-spacing:.03em}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.55rem;gap:.55rem}.metric-card{padding:.9rem .95rem;border-radius:var(--radius-md);background:rgba(10,22,30,.85);border:1px solid rgba(160,220,210,.06);display:grid;grid-gap:.18rem;gap:.18rem;transition:border-color var(--t-base) ease}.metric-label{font-size:.62rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.metric-value{font-size:1rem;font-weight:700;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.2}.metric-sub{font-size:.66rem;color:var(--muted);margin-top:.08rem;line-height:1.4}.cmd-score-card{display:grid;grid-gap:.85rem;gap:.85rem}.cmd-score-gauge{display:grid;place-items:center;padding:1.2rem .4rem .6rem;border-radius:var(--radius-md);background:var(--panel-strong);border:1px solid var(--line)}.cmd-score-svg{width:100%;max-width:28rem;height:auto;display:block}.cmd-gauge-range{font-size:14px;font-weight:800}.cmd-gauge-label,.cmd-gauge-range{font-family:system-ui,-apple-system,sans-serif}.cmd-gauge-label{font-size:13px;font-weight:700}.cmd-gauge-score{font-size:44px;fill:var(--text);letter-spacing:-.03em}.cmd-gauge-score,.cmd-gauge-score-label{font-weight:800;font-family:system-ui,-apple-system,sans-serif}.cmd-gauge-score-label{font-size:10px;fill:var(--muted);letter-spacing:.2em}.cmd-score-summary{display:grid;grid-gap:.3rem;gap:.3rem}.cmd-score-summary-title{font-size:1rem;font-weight:700;letter-spacing:-.02em}.cmd-score-summary-copy{font-size:.74rem;color:var(--muted);line-height:1.5}@media (max-width:420px){.cmd-gauge-range{font-size:12px}.cmd-gauge-label{font-size:11px}.cmd-gauge-score{font-size:36px}}.debt-account-card{display:grid;grid-gap:.7rem;gap:.7rem;padding:1rem;border-radius:var(--radius-md);background:rgba(10,22,30,.9);border:1px solid var(--line);transition:border-color var(--t-base) ease}.debt-account-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.debt-account-info{display:grid;grid-gap:.12rem;gap:.12rem;min-width:0}.debt-account-name{font-size:.92rem;font-weight:700;letter-spacing:-.015em;line-height:1.2}.debt-account-type{font-size:.68rem;color:var(--muted);font-weight:500}.debt-account-amount{text-align:right;flex-shrink:0}.debt-account-owed{font-size:1.05rem;font-weight:800;letter-spacing:-.025em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.debt-account-paid{font-size:.66rem;color:var(--income);font-weight:600;margin-top:.18rem}.add-trigger-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;border-radius:var(--radius-md);background:var(--panel);border:1px dashed var(--line-strong);color:var(--muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:background var(--t-base) ease,color var(--t-base) ease,border-color var(--t-base) ease;-webkit-tap-highlight-color:transparent}.add-trigger-btn:active{background:var(--panel-highlight);color:var(--text);border-color:var(--accent)}.list{display:grid;grid-gap:.5rem;gap:.5rem}.list-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem .95rem;border-radius:var(--radius-md);background:rgba(10,22,30,.88);border:1px solid var(--line);transition:all var(--t-base) ease}.list-item:active{transform:scale(.985)}.list-item-copy{min-width:0;flex:1 1}.item-title{font-size:.88rem;font-weight:600;letter-spacing:-.01em;line-height:1.3}.item-sub,.item-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-sub{font-size:.68rem;color:var(--muted);margin-top:.1rem}.item-amount{font-size:.92rem;font-weight:700;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.item-amount.income{color:var(--income)}.item-amount.expense{color:var(--expense)}.compact-entry-meta{font-size:.68rem;color:var(--muted);margin-top:.08rem}.item-amount.adjustment{color:var(--muted)}.saved-item{display:grid;grid-gap:.75rem;gap:.75rem;padding:.95rem;border-radius:var(--radius-md);background:rgba(10,22,30,.9);border:1px solid var(--line)}.saved-item-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.saved-item-actions{display:flex;align-items:center;gap:.45rem}.nav{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(6,11,14,.92);backdrop-filter:saturate(200%) blur(28px);-webkit-backdrop-filter:saturate(200%) blur(28px);border-top:1px solid rgba(160,220,210,.06);padding:.2rem 0 calc(var(--safe-bottom) + .15rem);box-shadow:0 -8px 32px rgba(0,0,0,.3)}.nav-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;min-height:3.4rem;padding:.5rem .25rem .35rem;color:var(--muted);position:relative;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color var(--t-base) var(--ease-out),transform var(--t-fast) var(--ease-out)}.nav-tab:active{transform:scale(.85)}.nav-tab.active{color:var(--accent-strong)}.nav-tab-icon{position:relative;width:1.65rem;height:1.65rem;display:flex;align-items:center;justify-content:center}.nav-tab-icon svg{width:1.55rem;height:1.55rem;opacity:.5;transition:opacity var(--t-base) ease}.nav-tab.active .nav-tab-icon svg{opacity:1;filter:drop-shadow(0 0 6px rgba(94,234,212,.35))}.nav-tab-label{font-size:.62rem;font-weight:600;letter-spacing:.02em;line-height:1;opacity:.75}.nav-tab.active .nav-tab-label{font-weight:700;opacity:1}.nav-icon{width:1.35rem;height:1.35rem;flex-shrink:0;opacity:.65;transition:opacity var(--t-base) ease}.nav .active .nav-icon{opacity:1}.nav-link-wrap{position:relative;display:flex;flex-direction:column;align-items:center;gap:.18rem}.nav-badge{position:absolute;top:-.1rem;right:-.25rem;width:.42rem;height:.42rem;border-radius:999px;background:#f59e0b;box-shadow:0 0 0 2px rgba(6,11,14,.9);pointer-events:none;animation:badge-pulse 2s ease-in-out infinite}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.form{display:grid;grid-gap:.85rem;gap:.85rem}.field{display:grid;grid-gap:.35rem;gap:.35rem}.field label{font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.field input,.field select,.field textarea{width:100%;border:1.5px solid rgba(160,220,210,.1);border-radius:var(--radius-sm);background:rgba(4,10,16,.85);padding:.9rem 1rem;color:var(--text);font-size:1rem;line-height:1.4;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:border-color var(--t-base) ease,box-shadow var(--t-base) ease,background var(--t-base) ease}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:rgba(20,184,166,.5);box-shadow:0 0 0 3px rgba(20,184,166,.1);background:rgba(8,18,26,.95)}.field input::placeholder,.field textarea::placeholder{color:rgba(110,157,150,.4)}.field input:disabled,.field select:disabled{opacity:.4;cursor:not-allowed}.mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.6rem;gap:.6rem}.field-note{font-size:.72rem;color:var(--muted);line-height:1.5;padding:.65rem .8rem;border-radius:var(--radius-sm);background:rgba(20,184,166,.05);border:1px solid rgba(20,184,166,.1)}.type-toggle{display:grid;grid-template-columns:1fr 1fr;grid-gap:.35rem;gap:.35rem;padding:.28rem;border-radius:var(--radius-md);background:rgba(6,14,20,.9);border:1px solid var(--line-strong)}.type-toggle-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.85rem;padding:.6rem .7rem;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--muted);font-size:.85rem;font-weight:600;letter-spacing:-.01em;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background var(--t-base) ease,color var(--t-base) ease,box-shadow var(--t-base) ease,transform var(--t-fast) ease}.type-toggle-btn:active{transform:scale(.96)}.type-toggle-btn.active-income{background:linear-gradient(160deg,rgba(52,211,153,.2),rgba(52,211,153,.1));color:#86efac;box-shadow:inset 0 0 0 1px rgba(52,211,153,.18)}.type-toggle-btn.active-expense{background:linear-gradient(160deg,rgba(248,113,113,.18),rgba(248,113,113,.08));color:#fca5a5;box-shadow:inset 0 0 0 1px rgba(248,113,113,.18)}.business-toggle{display:inline-flex;align-items:center;gap:.45rem;width:100%;justify-content:center;padding:.55rem .8rem;border-radius:var(--radius-sm);border:1px dashed var(--line-strong);background:transparent;color:var(--muted);font-size:.8rem;font-weight:600;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background var(--t-base) ease,color var(--t-base) ease,border-color var(--t-base) ease}.business-toggle:active{transform:scale(.97)}.business-toggle.active{background:linear-gradient(160deg,rgba(96,165,250,.15),rgba(96,165,250,.06));color:#93c5fd;border-color:rgba(96,165,250,.3);border-style:solid}.receipt-capture{display:flex;align-items:center;gap:.5rem}.receipt-capture-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .8rem;border-radius:var(--radius-sm);border:1px dashed var(--line-strong);background:transparent;color:var(--muted);font-size:.78rem;font-weight:600;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;flex:1 1;justify-content:center;transition:background var(--t-base) ease,color var(--t-base) ease,border-color var(--t-base) ease}.receipt-capture-btn:active{transform:scale(.97)}.receipt-capture-btn.has-file{background:linear-gradient(160deg,rgba(52,211,153,.12),rgba(52,211,153,.04));color:#86efac;border-color:rgba(52,211,153,.3);border-style:solid}.streak-card{display:flex;align-items:center;gap:.6rem;padding:.65rem .85rem;border-radius:var(--radius-md);background:linear-gradient(160deg,rgba(251,191,36,.1),rgba(251,191,36,.04));border:1px solid rgba(251,191,36,.15)}.streak-flame{font-size:1.3rem;line-height:1}.streak-info{display:flex;flex-direction:column;gap:.1rem}.streak-count{font-size:.88rem;font-weight:700;color:#fbbf24}.streak-label{font-size:.72rem;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:0;border-radius:var(--radius-md);padding:.88rem 1.1rem;background:linear-gradient(160deg,#2dd4bf,#14b8a6);color:#02100f;font-size:.88rem;font-weight:700;letter-spacing:-.01em;min-height:2.9rem;box-shadow:0 8px 24px rgba(20,184,166,.25);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:opacity var(--t-fast) ease,transform var(--t-fast) var(--ease-out),box-shadow var(--t-fast) ease;cursor:pointer}.btn:hover:not(:disabled){box-shadow:0 12px 32px rgba(20,184,166,.32)}.btn:active:not(:disabled){transform:scale(.97);opacity:.9}.btn.is-pending{opacity:.55}.btn-secondary{background:rgba(20,184,166,.1);color:var(--accent-strong);box-shadow:inset 0 0 0 1px rgba(94,234,212,.12)}.btn-secondary:hover:not(:disabled){background:rgba(20,184,166,.15);box-shadow:inset 0 0 0 1px rgba(94,234,212,.18)}.btn-secondary:active:not(:disabled){background:rgba(20,184,166,.2)}.btn-danger{background:rgba(239,68,68,.1);color:#fca5a5;box-shadow:inset 0 0 0 1px rgba(239,68,68,.18)}.btn-danger:active:not(:disabled){background:rgba(239,68,68,.16)}.btn-block{width:100%}.btn-sm{padding:.52rem .75rem;font-size:.76rem;min-height:2.1rem;border-radius:var(--radius-sm)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:0;border-radius:var(--radius-md);padding:.88rem 1.1rem;background:linear-gradient(160deg,#2dd4bf,#14b8a6);color:#02100f;font-size:.88rem;font-weight:700;letter-spacing:-.01em;min-height:2.9rem;box-shadow:0 8px 24px rgba(20,184,166,.25);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:opacity var(--t-fast) ease,transform var(--t-fast) var(--ease-out);cursor:pointer}.button:active:not(:disabled){transform:scale(.97);opacity:.9}.button.is-pending{opacity:.55}.button.secondary{background:rgba(20,184,166,.1);color:var(--accent-strong);box-shadow:inset 0 0 0 1px rgba(94,234,212,.12)}.button.secondary:active:not(:disabled){background:rgba(20,184,166,.18)}.link-button{display:inline-flex;align-items:center;justify-content:center}.button-block{width:100%}@keyframes spin{to{transform:rotate(1turn)}}.btn-spinner{display:inline-block;width:1em;height:1em;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:spin .65s linear infinite;vertical-align:middle;margin-right:.35rem;flex-shrink:0;opacity:.8}.save-toast{display:flex;align-items:center;gap:.45rem;font-weight:600}.status-banner{padding:.8rem 1rem;border-radius:var(--radius-md);border:1px solid rgba(45,212,191,.18);background:rgba(20,184,166,.08);color:#ccf5ef;font-size:.82rem;line-height:1.5;font-weight:500}.fab{position:fixed;right:max(1.1rem,env(safe-area-inset-right,1.1rem));bottom:calc(var(--nav-height) + var(--safe-bottom) + .6rem);z-index:30;width:3.2rem;height:3.2rem;border-radius:50%;background:linear-gradient(145deg,#2dd4bf,#14b8a6);border:none;color:#02100f;font-size:1.6rem;font-weight:300;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 28px rgba(20,184,166,.4),inset 0 0 0 1px rgba(94,234,212,.2);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform var(--t-fast) var(--ease-spring),box-shadow var(--t-fast) ease}.fab:hover{transform:scale(1.06);box-shadow:0 12px 36px rgba(20,184,166,.5),inset 0 0 0 1px rgba(94,234,212,.28)}.fab:active{transform:scale(.92)}.fab-icon{width:1.35rem;height:1.35rem;transition:transform var(--t-base) var(--ease-spring)}.fab.is-open .fab-icon{transform:rotate(45deg)}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:40;opacity:0;pointer-events:none;transition:opacity var(--t-slow) ease}.overlay.is-open{opacity:1;pointer-events:auto}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:50;padding:0;transform:translateY(105%);transition:transform var(--t-slow) var(--ease-spring)}.sheet.is-open{transform:translateY(0)}.sheet-inner{width:100%;max-width:430px;margin:0 auto;background:linear-gradient(170deg,#0f2230,#091420);border-top:1px solid var(--line-strong);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:0 -16px 48px rgba(0,0,0,.5);padding:.5rem 1.1rem calc(var(--safe-bottom) + 1.2rem);overflow-x:hidden;overflow-y:auto;max-height:88dvh}.sheet-handle{width:2.4rem;height:.24rem;border-radius:999px;background:rgba(255,255,255,.2);margin:.75rem auto 1rem}.sheet-title{font-size:1.1rem;font-weight:700;letter-spacing:-.02em;margin-bottom:1rem}.milestone-toast{position:fixed;top:max(1rem,var(--safe-top));left:50%;transform:translateX(-50%) translateY(-120%);z-index:60;width:calc(100% - 2rem);max-width:400px;padding:.9rem 1.1rem;border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(20,50,35,.98),rgba(14,35,25,.98));border:1px solid rgba(34,197,94,.25);box-shadow:0 16px 40px rgba(0,0,0,.45),inset 0 0 0 1px rgba(34,197,94,.08);transition:transform var(--t-slow) var(--ease-spring),opacity var(--t-slow) ease;opacity:0;display:flex;align-items:center;gap:.85rem}.milestone-toast.is-visible{transform:translateX(-50%) translateY(0);opacity:1}.milestone-emoji{font-size:1.7rem;flex-shrink:0;line-height:1}.milestone-copy{flex:1 1;min-width:0}.milestone-title{font-size:.88rem;font-weight:700;color:#86efac;line-height:1.25}.milestone-sub{font-size:.74rem;color:var(--muted);margin-top:.12rem}.page-intro{padding:.15rem 0 .2rem}.page-intro-eyebrow{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:.2rem}.page-intro-title{font-size:1.55rem;font-weight:800;letter-spacing:-.035em;line-height:1.1}.page-intro-sub{font-size:.8rem;color:var(--muted);line-height:1.5;margin-top:.3rem;max-width:34ch}.forecast-card{display:grid;grid-gap:.85rem;gap:.85rem}.forecast-main-amount{font-size:1.9rem;font-weight:800;letter-spacing:-.035em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.forecast-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.55rem;gap:.55rem}.empty-state{text-align:center;padding:1.8rem 1rem;display:grid;grid-gap:.65rem;gap:.65rem;justify-items:center}.empty-icon{font-size:2.4rem;line-height:1}.empty-title{font-size:.95rem;font-weight:700;letter-spacing:-.01em}.empty-sub{font-size:.8rem;color:var(--muted);line-height:1.55;max-width:28ch}.step-chips{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}.step-chip{display:inline-flex;align-items:center;padding:.32rem .65rem;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--line-strong);color:var(--text-secondary);font-size:.68rem;letter-spacing:.02em;font-weight:500}.login-method-switch{display:grid;grid-template-columns:1fr 1fr;grid-gap:.3rem;gap:.3rem;padding:.25rem;border-radius:var(--radius-md);background:rgba(6,14,20,.92);border:1px solid var(--line-strong)}.login-method-option{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.85rem;padding:.6rem .7rem;border-radius:var(--radius-sm);color:var(--muted);font-size:.82rem;font-weight:500;text-align:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background var(--t-base) var(--ease-out),color var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out),transform var(--t-fast) var(--ease-out)}.login-method-option.is-active{background:linear-gradient(160deg,rgba(36,200,184,.18),rgba(20,184,166,.08));color:var(--accent-strong);font-weight:600;box-shadow:inset 0 0 0 1px rgba(94,234,212,.16),0 1px 4px rgba(20,184,166,.08)}.login-method-option:active{transform:scale(.97)}.login-method-option svg{opacity:.7;flex-shrink:0}.login-method-option.is-active svg{opacity:1}.auth-page{position:relative;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:max(1rem,calc(var(--safe-top) + .5rem)) .75rem max(1rem,calc(var(--safe-bottom) + .5rem));overflow:hidden}.auth-page-bg{inset:0;background:linear-gradient(168deg,#04080c,#060e14 40%,#071218)}.auth-page-bg,.auth-page-glow{position:absolute;pointer-events:none}.auth-page-glow{border-radius:50%;filter:blur(80px);will-change:transform}.auth-page-glow--1{width:480px;height:480px;top:-12%;left:-8%;background:radial-gradient(circle,rgba(20,184,166,.18) 0,transparent 70%);animation:auth-glow-drift 18s ease-in-out infinite alternate}.auth-page-glow--2{width:360px;height:360px;bottom:-10%;right:-6%;background:radial-gradient(circle,rgba(94,234,212,.1) 0,transparent 70%);animation:auth-glow-drift 22s ease-in-out 4s infinite alternate-reverse}@keyframes auth-glow-drift{0%{transform:translate(0) scale(1)}50%{transform:translate(30px,20px) scale(1.08)}to{transform:translate(-20px,30px) scale(.95)}}.auth-layout{position:relative;z-index:1;width:min(100%,1120px);margin:0 auto;display:grid;align-items:center;grid-gap:1.5rem;gap:1.5rem}.auth-hero-panel{display:grid;grid-gap:1.6rem;gap:1.6rem;padding:1rem 0}.auth-brand-mark{width:4.2rem;height:4.2rem;border-radius:1.3rem;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(160deg,rgba(20,184,166,.12),rgba(8,19,26,.95));border:1px solid rgba(94,234,212,.14);box-shadow:0 16px 40px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.02),0 0 60px -10px rgba(20,184,166,.1);transition:box-shadow var(--t-slow) var(--ease-out)}.auth-brand-mark:hover{box-shadow:0 16px 40px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.02),0 0 80px -10px rgba(20,184,166,.18)}.auth-brand-mark--sm{width:3.2rem;height:3.2rem;border-radius:1rem}.auth-brand-mark-svg{width:2.6rem;height:2.6rem}.auth-brand-mark--sm .auth-brand-mark-svg{width:2rem;height:2rem}.auth-hero-copy{display:grid;grid-gap:.5rem;gap:.5rem}.auth-eyebrow{font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-strong)}.auth-hero-title{font-size:clamp(2.2rem,6.5vw,4rem);font-weight:800;line-height:.95;letter-spacing:-.05em;background:linear-gradient(160deg,#f0f7f5 20%,#5eead4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-hero-stats{display:flex;gap:.6rem;flex-wrap:wrap}.auth-hero-stat{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .85rem;border-radius:100px;background:rgba(255,255,255,.03);border:1px solid rgba(160,220,210,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:border-color var(--t-base) ease}.auth-hero-stat:hover{border-color:rgba(94,234,212,.18)}.auth-hero-stat-icon{width:1.1rem;height:1.1rem;color:var(--accent-strong);display:inline-flex;flex-shrink:0}.auth-hero-stat-icon svg{width:100%;height:100%}.auth-hero-stat-label{font-size:.76rem;font-weight:600;color:var(--text-secondary);letter-spacing:-.01em;white-space:nowrap}.auth-card{width:100%;max-width:28rem;margin:0 auto;display:grid;grid-gap:.85rem;gap:.85rem;padding:1.3rem 1.2rem;border-radius:var(--radius-xl);border:1px solid rgba(94,234,212,.1);background:radial-gradient(ellipse at top right,rgba(20,184,166,.08),transparent 50%),linear-gradient(170deg,rgba(12,25,33,.96),rgba(6,14,20,.98));box-shadow:0 40px 80px -20px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.02),inset 0 1px 0 rgba(255,255,255,.03);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.auth-card-top{display:grid;grid-gap:.2rem;gap:.2rem}.auth-card-top .auth-brand-mark--sm{margin-bottom:.3rem}.auth-card-app-name{font-size:1.3rem;font-weight:800;letter-spacing:-.03em;line-height:1.1;background:linear-gradient(135deg,#99f6e4,#0d9488);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.auth-card-tagline{font-size:.82rem;color:var(--muted);line-height:1.4;margin:.1rem 0 .6rem}.auth-card-title{font-size:1.45rem;font-weight:800;letter-spacing:-.04em;line-height:1.05}.auth-card-copy{color:var(--muted);font-size:.8rem;line-height:1.55}.auth-divider{display:flex;align-items:center;gap:.75rem}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:linear-gradient(90deg,transparent,rgba(160,220,210,.12),transparent)}.auth-divider span{font-size:.72rem;color:var(--muted);white-space:nowrap;letter-spacing:.02em}.auth-footer{padding-top:.6rem;border-top:1px solid rgba(160,220,210,.06)}.auth-switch-copy{font-size:.82rem;color:var(--text-secondary);line-height:1.5;text-align:center}.auth-feedback a,.auth-switch-copy a{color:var(--accent-strong);font-weight:700;transition:color var(--t-fast) ease}.auth-feedback a:hover,.auth-switch-copy a:hover{color:#8ff8e5}.auth-feedback{font-size:.78rem;color:var(--muted);line-height:1.55;text-align:center}.auth-feedback-error{color:#fca5a5;padding:.5rem .7rem;border-radius:var(--radius-sm);background:rgba(239,68,68,.06);border:1px solid rgba(239,68,68,.1)}.auth-feedback-success{color:#86efac;padding:.5rem .7rem;border-radius:var(--radius-sm);background:rgba(34,197,94,.06);border:1px solid rgba(34,197,94,.1)}.auth-pin-input{text-align:center;letter-spacing:.38em;font-size:1.2rem;font-weight:600}.auth-status-card{display:grid;grid-gap:.2rem;gap:.2rem;padding:.85rem 1rem;border-radius:var(--radius-md);background:rgba(255,255,255,.025);border:1px solid rgba(160,220,210,.08)}.auth-status-title{font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.auth-status-copy{color:var(--text-secondary);font-size:.88rem;word-break:break-word}.auth-status-card-debug{background:linear-gradient(160deg,rgba(245,158,11,.1),rgba(245,158,11,.03));border-color:rgba(245,158,11,.18)}.auth-debug-pin{font-size:1.9rem;font-weight:800;letter-spacing:.28em;color:#fde68a;text-align:center}.biometric-login-section{display:grid;grid-gap:.75rem;gap:.75rem}.btn-biometric{background:rgba(20,184,166,.08);color:var(--accent-strong);box-shadow:inset 0 0 0 1px rgba(94,234,212,.14)}.btn-biometric:hover:not(:disabled){background:rgba(20,184,166,.14);box-shadow:inset 0 0 0 1px rgba(94,234,212,.22)}.auth-field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.6rem;gap:.6rem}.field-optional{font-weight:400;color:rgba(110,157,150,.5);text-transform:none;letter-spacing:0}.action-row{display:flex;flex-wrap:wrap;gap:.55rem}.action-row-col{display:grid;grid-gap:.6rem;gap:.6rem}.inline-note{font-size:.72rem;color:var(--muted);line-height:1.5;padding:.6rem .8rem;border-radius:var(--radius-sm);background:rgba(255,255,255,.02);border:1px solid var(--line)}.eyebrow{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}.title{font-size:.92rem;font-weight:700;line-height:1.25;letter-spacing:-.01em}.subtitle{font-size:.74rem;line-height:1.45;margin-top:.12rem}.muted,.subtitle{color:var(--muted)}.muted{font-size:.82rem}.amount{font-size:.9rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hero{padding:1.5rem 1.2rem;border-radius:var(--radius-xl);background:radial-gradient(circle at top right,rgba(45,212,191,.1),transparent 40%),linear-gradient(160deg,rgba(14,30,40,.98),rgba(8,20,28,.98));border:1px solid var(--line-strong);box-shadow:var(--shadow)}.hero h1,.hero-title{font-size:1.5rem;font-weight:800;letter-spacing:-.035em;line-height:1.1}.hero p{color:var(--muted);font-size:.86rem;line-height:1.55}.hero-compact{gap:.5rem}.landing-page{position:relative;min-height:100dvh;padding:0 0 4rem;overflow:hidden}.landing-page:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 18%,rgba(20,184,166,.1),transparent 30%),radial-gradient(circle at 82% 24%,rgba(94,234,212,.08),transparent 24%),linear-gradient(180deg,rgba(255,255,255,.015),transparent 38%);pointer-events:none}.landing-nav{position:-webkit-sticky;position:sticky;top:0;z-index:20;padding:max(.9rem,calc(var(--safe-top) + .45rem)) .8rem .4rem;background:linear-gradient(180deg,rgba(4,8,12,.9),rgba(4,8,12,.18));backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px)}.landing-hero,.landing-nav-inner,.landing-section{width:min(100%,1120px);margin:0 auto}.landing-nav-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1.1rem;border-radius:999px;border:1px solid rgba(94,234,212,.08);background:rgba(9,17,23,.78);box-shadow:0 24px 60px -34px rgba(0,0,0,.86),inset 0 1px 0 rgba(255,255,255,.04)}.landing-brand{display:inline-flex;align-items:center;gap:.85rem;min-width:0}.landing-brand-copy{display:grid;grid-gap:.08rem;gap:.08rem}.landing-brand-name{font-size:.96rem;font-weight:800;letter-spacing:-.03em;color:var(--text)}.landing-brand-tag{font-size:.7rem;color:var(--muted)}.landing-nav-links{display:flex;align-items:center;gap:1.2rem;color:var(--text-secondary);font-size:.78rem}.landing-nav-links a{transition:color var(--t-fast) ease,opacity var(--t-fast) ease;opacity:.82}.landing-nav-links a:hover{color:var(--text);opacity:1}.landing-nav-actions{display:flex;align-items:center;gap:.6rem}.landing-nav-btn{min-height:2.4rem;padding-inline:1rem;box-shadow:0 10px 28px rgba(20,184,166,.18)}.landing-text-link{color:var(--text-secondary);font-size:.82rem;font-weight:600;transition:color var(--t-fast) ease,opacity var(--t-fast) ease}.landing-text-link:hover{color:var(--text)}.landing-hero{position:relative;z-index:1;display:grid;grid-gap:2.2rem;gap:2.2rem;padding:2.6rem .8rem 1.4rem}.landing-hero-copy,.landing-preview{min-width:0}.landing-hero-copy{display:grid;align-content:start;grid-gap:1.35rem;gap:1.35rem;padding-top:.6rem}.landing-kicker{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:.45rem .75rem;border-radius:999px;border:1px solid rgba(94,234,212,.1);background:rgba(11,23,28,.66);color:var(--accent-strong);font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}.landing-hero-title{font-size:clamp(3rem,8vw,6.4rem);font-weight:850;line-height:.92;letter-spacing:-.075em;max-width:9ch;color:#f6fbfa}.landing-card-copy,.landing-hero-description,.landing-section-copy{color:var(--text-secondary);line-height:1.7}.landing-hero-description{max-width:55ch;font-size:1rem}.landing-action-row{display:flex;flex-wrap:wrap;gap:.8rem}.landing-proof-row{display:flex;flex-wrap:wrap;gap:.75rem;max-width:40rem}.landing-proof-chip{display:inline-flex;align-items:center;min-height:2.7rem;padding:.72rem .95rem;border-radius:1rem;border:1px solid rgba(94,234,212,.08);background:rgba(9,17,23,.62);color:var(--text-secondary);font-size:.88rem;line-height:1.45;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}.landing-preview{display:grid;align-content:start}.landing-preview-frame{position:relative;overflow:hidden;padding:1.5rem;border-radius:2rem;border:1px solid rgba(94,234,212,.09);background:radial-gradient(circle at top right,rgba(20,184,166,.16),transparent 42%),linear-gradient(165deg,rgba(11,20,27,.98),rgba(7,13,18,.94));box-shadow:0 36px 90px -34px rgba(0,0,0,.86),inset 0 1px 0 rgba(255,255,255,.04);display:grid;grid-gap:1.15rem;gap:1.15rem}.landing-preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.landing-flow-number,.landing-preview-focus-label,.landing-preview-kicker,.landing-preview-label,.landing-preview-stats span,.landing-preview-status,.landing-product-label{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.landing-flow-number,.landing-preview-kicker,.landing-preview-label,.landing-product-label{color:var(--accent-strong)}.landing-preview-status{color:var(--muted)}.landing-preview-heading{margin-top:.35rem;font-size:clamp(1.4rem,4vw,1.85rem);font-weight:780;line-height:1.02;letter-spacing:-.04em}.landing-preview-hero{display:grid;grid-gap:1rem;gap:1rem}.landing-preview-balance{display:grid;grid-gap:.45rem;gap:.45rem;padding:1.15rem;border-radius:1.4rem;background:rgba(255,255,255,.03);border:1px solid rgba(160,220,210,.08)}.landing-preview-amount{font-size:clamp(2.8rem,10vw,4.4rem);font-weight:800;line-height:.95;letter-spacing:-.06em;color:#f7fffd}.landing-preview-note{color:var(--muted);font-size:.8rem}.landing-preview-focus{display:grid;grid-gap:.35rem;gap:.35rem;padding:1.15rem;border-radius:1.4rem;background:linear-gradient(180deg,rgba(20,184,166,.1),rgba(20,184,166,.02)),rgba(255,255,255,.02);border:1px solid rgba(94,234,212,.1)}.landing-preview-focus strong{font-size:1.15rem;line-height:1.1;letter-spacing:-.03em}.landing-preview-focus p{color:var(--text-secondary);font-size:.86rem;line-height:1.55}.landing-preview-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.8rem;gap:.8rem}.landing-preview-stats div{display:grid;grid-gap:.35rem;gap:.35rem;padding:.95rem;border-radius:1.15rem;background:rgba(255,255,255,.03);border:1px solid rgba(160,220,210,.06)}.landing-preview-stats strong{font-size:1rem;line-height:1;letter-spacing:-.03em;color:var(--text)}.landing-preview-ledger{display:grid;grid-gap:.75rem;gap:.75rem;padding-top:.2rem}.landing-preview-ledger-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 0;border-top:1px solid rgba(160,220,210,.08)}.landing-preview-ledger-title{font-size:.96rem;font-weight:650;letter-spacing:-.02em}.landing-preview-ledger-meta{color:var(--muted);font-size:.78rem;margin-top:.16rem}.landing-preview-ledger-value{font-size:.95rem;line-height:1;letter-spacing:-.03em}.landing-section{position:relative;z-index:1;display:grid;grid-gap:1rem;gap:1rem;padding:1.5rem .8rem 0}.landing-section-compact{padding-top:1rem}.landing-section-heading{display:grid;grid-gap:.5rem;gap:.5rem;max-width:42rem}.landing-section-title{font-size:clamp(1.6rem,4vw,2.7rem);font-weight:820;line-height:1.02;letter-spacing:-.055em}.landing-card-title{font-size:1.15rem;font-weight:780;line-height:1.08;letter-spacing:-.035em}.landing-value-grid{display:grid;grid-gap:1rem;gap:1rem}.landing-product-item{display:grid;grid-gap:.55rem;gap:.55rem;padding:1.3rem;border-radius:1.45rem;border:1px solid rgba(94,234,212,.08);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015)),rgba(8,15,20,.62);box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}.landing-cta,.landing-story{border-radius:1.8rem;border:1px solid rgba(94,234,212,.08);background:radial-gradient(circle at top left,rgba(20,184,166,.07),transparent 32%),rgba(8,15,20,.66);box-shadow:0 22px 60px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.02)}.landing-story{display:grid;grid-gap:1.2rem;gap:1.2rem;padding:1.35rem 1rem}.landing-story-copy{max-width:34rem}.landing-flow-steps{display:grid;grid-gap:.8rem;gap:.8rem}.landing-flow-step{display:grid;grid-gap:.55rem;gap:.55rem;padding:1rem;border-radius:1.2rem;border:1px solid rgba(160,220,210,.08);background:rgba(255,255,255,.03)}.landing-flow-title{font-size:1rem;font-weight:720;letter-spacing:-.025em;line-height:1.1}.landing-cta{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.35rem 1rem}.landing-text-link-cta{align-self:center}@media (max-width:374px){.balance-row,.forecast-row,.metrics-grid,.mini-grid{grid-template-columns:1fr}.balance-amount{font-size:2.4rem}.page-intro-title{font-size:1.35rem}.auth-hero-title{font-size:1.9rem}.auth-field-row{grid-template-columns:1fr}.auth-card{gap:.7rem;padding:1.1rem 1rem}.auth-card .field input,.auth-card .field select{padding:.72rem .85rem;font-size:.94rem}.auth-card .btn{padding:.72rem 1rem;min-height:2.6rem}.auth-card .form{gap:.65rem}.auth-card .field{gap:.25rem}.landing-nav-inner{padding:.7rem .8rem}.landing-preview-hero,.landing-preview-stats{grid-template-columns:1fr}.landing-cta{align-items:flex-start}}@media (min-width:900px){.auth-page{padding:max(2rem,calc(var(--safe-top) + 1.5rem)) 2rem max(2rem,calc(var(--safe-bottom) + 1.5rem))}.auth-layout{grid-template-columns:minmax(0,1.15fr) minmax(24rem,28rem);gap:3.5rem}.auth-card{margin:0;justify-self:end;padding:1.8rem 1.6rem}.auth-hero-panel{gap:2rem}.auth-brand-mark{width:4.8rem;height:4.8rem;border-radius:1.5rem}.auth-brand-mark-svg{width:2.9rem;height:2.9rem}.landing-hero{grid-template-columns:minmax(0,1.1fr) minmax(22rem,.78fr);gap:3rem;padding-top:3.4rem;padding-inline:2rem}.landing-section{padding-inline:2rem;padding-top:1.3rem}.landing-value-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.landing-product-item{min-height:12rem}.landing-preview-hero{grid-template-columns:minmax(0,1.4fr) minmax(15rem,.9fr)}.landing-story{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);align-items:start}.landing-flow-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.landing-flow-step{display:grid;align-content:start;min-height:100%;padding:1.15rem}.landing-cta{align-items:center}}@media (max-width:899px){.auth-layout{max-width:28rem}.auth-hero-panel{display:none}.auth-card-top .auth-brand-mark--sm{display:inline-flex}.landing-nav{padding-inline:.6rem}.landing-nav-links,.landing-text-link{display:none}}@media (min-width:768px){.shell{max-width:58rem}.shell-content{padding:0 1.15rem 6rem}.page-intro-title{font-size:1.9rem}.section-title{font-size:1.15rem}.balance-amount{font-size:clamp(3rem,6vw,3.8rem)}.desktop-two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:.9rem;gap:.9rem}.desktop-two-col-wide{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:.9rem;gap:.9rem}.nav{left:50%;transform:translateX(-50%);max-width:26rem;bottom:.75rem;border-radius:var(--radius-xl);border:1px solid rgba(160,220,210,.08);box-shadow:0 12px 36px rgba(0,0,0,.45);padding-bottom:.15rem}}.briefing-card{background:radial-gradient(ellipse 70% 50% at 90% 0,rgba(251,191,36,.1),transparent),linear-gradient(150deg,rgba(24,20,10,.98),rgba(14,12,6,.98));border-color:rgba(245,158,11,.22);box-shadow:inset 0 0 0 1px rgba(251,191,36,.05)}.briefing-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.7rem}.briefing-eyebrow{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fbbf24;margin-bottom:.12rem}.briefing-title{font-size:1rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}.briefing-payments{display:grid;grid-gap:.35rem;gap:.35rem}.briefing-payment-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .75rem;border-radius:var(--radius-sm);background:rgba(245,158,11,.06);border:1px solid rgba(245,158,11,.1)}.briefing-payment-name{font-size:.84rem;font-weight:500;color:var(--text-secondary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.briefing-payment-amount{font-size:.88rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#fcd34d;white-space:nowrap;flex-shrink:0}.briefing-total{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-top:.55rem;margin-top:.45rem;border-top:1px solid rgba(245,158,11,.12)}.briefing-total-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.briefing-total-amount{font-size:1rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#fcd34d}.insights-list{display:grid;grid-gap:.45rem;gap:.45rem}.insight-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .8rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:rgba(10,22,30,.85)}.insight-category{font-size:.84rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.insight-change{display:flex;align-items:center;gap:.35rem;flex-shrink:0;font-size:.78rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.insight-change.up{color:var(--risk-red-text)}.insight-change.down{color:var(--risk-green-text)}.insight-change.same,.insight-no-data{color:var(--muted)}.insight-no-data{font-size:.76rem;text-align:center;padding:.5rem 0}.balance-sparkline{margin-top:.6rem;opacity:.5}.payment-day-group{display:grid;grid-gap:.4rem;gap:.4rem}.payment-day-label{font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);padding:.1rem .1rem 0;margin-top:.2rem}.payment-day-label:first-child{margin-top:0}.budget-row{display:grid;grid-gap:.4rem;gap:.4rem}.budget-row-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.budget-row-label{font-size:.84rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-row-amounts{display:flex;align-items:center;gap:.3rem;flex-shrink:0;font-size:.76rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.budget-spent{font-weight:700}.budget-empty,.budget-limit{color:var(--muted)}.budget-empty{font-size:.76rem;text-align:center;padding:.4rem 0}.cash-flow-card{display:grid;grid-gap:.75rem;gap:.75rem}.section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.section-head-start{align-items:flex-start}.compact-copy{font-size:.76rem;line-height:1.5}.compact-copy a{color:var(--accent-strong);font-weight:600}.cf-period-toggle{display:flex;gap:.25rem;padding:.2rem;border-radius:var(--radius-xs);background:rgba(6,14,20,.9);border:1px solid var(--line)}.cf-period-btn{padding:.35rem .65rem;border:none;border-radius:calc(var(--radius-xs) - 2px);background:transparent;color:var(--muted);font-size:.7rem;font-weight:600;letter-spacing:.02em;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:all var(--t-base) ease}.cf-period-btn:active{transform:scale(.95)}.cf-period-active{background:rgba(20,184,166,.15);color:var(--accent-strong);box-shadow:inset 0 0 0 1px rgba(94,234,212,.12)}.cf-summary-grid{display:flex;align-items:center;justify-content:space-around;gap:0;padding:.75rem .5rem;border-radius:var(--radius-md);background:rgba(10,22,30,.9);border:1px solid var(--line)}.cf-summary-cell{text-align:center;flex:1 1}.cf-cell-label{font-size:.6rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.15rem}.cf-cell-value{font-size:.92rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.cf-cell-value.income{color:var(--income)}.cf-cell-value.expense{color:var(--expense)}.cf-summary-divider{width:1px;height:2rem;background:var(--line);flex-shrink:0}.cf-categories{display:grid;grid-gap:.45rem;gap:.45rem}.cf-cat-row{display:grid;grid-template-columns:5.5rem 1fr auto;align-items:center;grid-gap:.55rem;gap:.55rem}.cf-cat-label{font-size:.76rem;font-weight:500;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cf-cat-bar-wrap{height:.32rem;border-radius:999px;background:rgba(255,255,255,.05);overflow:hidden}.cf-cat-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-strong));transition:width .5s var(--ease-spring)}.cf-cat-amount{font-size:.74rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text);text-align:right;min-width:3.5rem}.cf-cuts{display:grid;grid-gap:.35rem;gap:.35rem}.cf-cuts-title{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.1rem}.cf-cut-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .7rem;border-radius:var(--radius-xs);font-size:.76rem}.cf-cut-row.cf-cut-red{background:var(--risk-red-soft);border:1px solid rgba(239,68,68,.15)}.cf-cut-row.cf-cut-amber{background:var(--risk-amber-soft);border:1px solid rgba(245,158,11,.15)}.cf-cut-label{font-weight:600;color:var(--text)}.cf-cut-reason{font-size:.7rem;color:var(--muted);text-align:right}