:root{--accent:#0a9d72;--accent-2:#0a8a86;--accent-soft:#0a9d721f;--glow:#0a9d7238;--on-accent:#fff;--font-body:"Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-num:"Space Grotesk", var(--font-body);--r-xs:10px;--r-sm:14px;--r-md:18px;--r-lg:24px;--r-xl:30px;--r-pill:999px;--rail:248px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-pill:9999px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}.num{font-family:var(--font-num);font-feature-settings:"tnum" 1;letter-spacing:-.02em}button{font-family:inherit}::selection{background:var(--accent-soft)}.app{background:var(--bg);background-image:var(--canvas);grid-template-columns:var(--rail) 1fr;min-height:100vh;display:grid}.rail{border-right:1px solid var(--hair);background:var(--bg-soft);scrollbar-width:thin;flex-direction:column;height:100vh;max-height:100dvh;padding:22px 16px;display:flex;position:sticky;top:0;overflow:hidden auto}.brand{align-items:center;gap:11px;padding:6px 10px 22px;display:flex}.brand-mark{background:linear-gradient(150deg, var(--accent), var(--accent-2));width:34px;height:34px;color:var(--on-accent);box-shadow:0 6px 16px -6px var(--glow);border-radius:11px;flex:none;place-items:center;display:grid}.brand-name{letter-spacing:-.02em;font-size:18px;font-weight:800}.brand-name span{color:var(--accent)}.rail-nav{flex-direction:column;gap:3px;min-height:0;display:flex}.rail-group{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);padding:14px 12px 6px;font-size:10.5px;font-weight:800}.rail-link{border-radius:var(--r-sm);cursor:pointer;width:100%;color:var(--ink-3);text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:11px 12px;font-size:14.5px;font-weight:700;transition:background .15s,color .15s;display:flex}.rail-link svg{flex:none;width:20px;height:20px}.rail-link:hover{background:var(--chip-bg);color:var(--ink)}.rail-link.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-xs)}.rail-link.on svg{color:var(--accent)}.rail-spacer{flex:1}.rail-card{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--hair);box-shadow:var(--shadow-xs);flex:none;margin-top:14px;padding:14px}.rail-user{align-items:center;gap:11px;display:flex}@media (height<=760px) and (width>=861px){.rail{padding-top:16px;padding-bottom:12px}.brand{padding-bottom:14px}.rail-group{padding-top:10px}.rail-link{padding-top:9px;padding-bottom:9px}.rail-card{margin-top:10px;padding:12px}}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:30;background:var(--nav-bg);-webkit-backdrop-filter:blur(18px)saturate(1.5);border-bottom:1px solid var(--hair);align-items:center;gap:14px;padding:16px clamp(18px,4vw,40px);display:flex;position:sticky;top:0}.topbar .tb-title{flex-direction:column;gap:2px;min-width:0;display:flex}.topbar .tb-hi{color:var(--ink-3);font-size:12.5px;font-weight:700}.topbar .tb-name{letter-spacing:-.02em;font-size:19px;font-weight:800}.tb-grow{flex:1}.tb-actions{align-items:center;gap:10px;display:flex}.content{padding:clamp(18px,3vw,34px) clamp(16px,4vw,40px) 64px}.wrap{width:100%;max-width:1180px;margin:0 auto}.icon-btn{border-radius:var(--r-pill);border:1px solid var(--hair);background:var(--surface);width:40px;height:40px;color:var(--ink);cursor:pointer;place-items:center;transition:background .15s,border-color .15s,transform .12s;display:grid}.icon-btn svg{width:19px;height:19px}.icon-btn:hover{background:var(--surface-2);border-color:var(--hair-2)}.icon-btn:active{transform:scale(.93)}.avatar{border-radius:var(--r-pill);background:linear-gradient(150deg, var(--accent), var(--accent-2));width:40px;height:40px;color:var(--on-accent);font-size:15px;font-weight:800;font-family:var(--font-num);box-shadow:0 5px 14px -5px var(--glow);cursor:pointer;flex:none;place-items:center;display:grid}.btn-accent{border-radius:var(--r-pill);cursor:pointer;background:linear-gradient(135deg, var(--accent), var(--accent-2));color:var(--on-accent);box-shadow:0 8px 20px -8px var(--glow);border:none;align-items:center;gap:7px;padding:10px 16px;font-size:14px;font-weight:800;transition:transform .12s,filter .15s;display:inline-flex}.btn-accent:hover{filter:brightness(1.04)}.btn-accent:active{transform:scale(.97)}.btn-ghost{border-radius:var(--r-pill);border:1px solid var(--hair-2);background:var(--surface);color:var(--ink);cursor:pointer;align-items:center;gap:7px;padding:10px 16px;font-size:14px;font-weight:700;transition:background .15s;display:inline-flex}.btn-ghost:hover{background:var(--surface-2)}.botnav{display:none}.card{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r-md);box-shadow:var(--shadow-sm);transition:box-shadow .2s,border-color .2s,transform .18s}.card:hover{box-shadow:var(--shadow-md);border-color:var(--hair-2)}.pad{padding:20px}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:800}.eyebrow.mono{font-family:var(--font-num);letter-spacing:.18em}.sec-head{justify-content:space-between;align-items:center;margin:30px 2px 14px;display:flex}.sec-head:first-child{margin-top:4px}.sec-head h3{letter-spacing:-.015em;white-space:nowrap;font-size:17px;font-weight:800}.more-link{color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:13px;font-weight:700}.delta{align-items:center;gap:3px;font-size:12.5px;font-weight:800;display:inline-flex}.delta.up{color:var(--neg)}.delta.down,.delta.good{color:var(--pos)}.delta svg{width:13px;height:13px}.chip{border-radius:var(--r-pill);background:var(--chip-bg);color:var(--ink-2);border:1px solid #0000;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:700;display:inline-flex}.chip.accent{background:var(--accent-soft);color:var(--accent)}.chip.gold{background:var(--warn-soft);color:var(--warn)}.chip.pos{background:var(--pos-soft);color:var(--pos)}.chip.neg{background:var(--neg-soft);color:var(--neg)}.txn-list{flex-direction:column;display:flex}.txn{border-radius:var(--r-sm);cursor:pointer;align-items:center;gap:13px;padding:12px 10px;transition:background .15s;display:flex}.txn:hover{background:var(--surface-2)}.txn+.txn{border-top:1px solid var(--hair);border-radius:0}.txn-ico{background:var(--surface-2);border:1px solid var(--hair);border-radius:13px;flex:none;place-items:center;width:42px;height:42px;font-size:19px;display:grid}.txn-mid{flex:1;min-width:0}.txn-name{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:700;overflow:hidden}.txn-meta{color:var(--ink-3);align-items:center;gap:6px;margin-top:2px;font-size:12px;font-weight:600;display:flex}.txn-amt{font-family:var(--font-num);letter-spacing:-.02em;text-align:right;flex:none;font-size:15px;font-weight:700}.txn-amt.income{color:var(--pos)}.catbar+.catbar{margin-top:16px}.catbar-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.catbar-name{align-items:center;gap:8px;font-size:13.5px;font-weight:700;display:flex}.catbar-name .ce{font-size:16px}.catbar-val{font-family:var(--font-num);color:var(--ink-2);white-space:nowrap;font-size:13px;font-weight:700}.catbar-track{border-radius:var(--r-pill);background:var(--surface-3);height:9px;overflow:hidden}.catbar-fill{border-radius:var(--r-pill);height:100%;transition:width .7s cubic-bezier(.4,0,.2,1)}.bill{align-items:center;gap:13px;padding:13px 8px;display:flex}.bill+.bill{border-top:1px solid var(--hair)}.bill-date{text-align:center;background:var(--surface-2);border:1px solid var(--hair);border-radius:12px;flex:none;width:48px;padding:7px 0}.bill-date .bd-day{font-family:var(--font-num);font-size:18px;font-weight:700;line-height:1}.bill-date .bd-mon{color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-size:10px;font-weight:800}.bill-mid{flex:1}.bill-name{font-size:14px;font-weight:700}.bill-sub{color:var(--ink-3);margin-top:1px;font-size:12px;font-weight:600}.bill-amt{font-family:var(--font-num);font-size:15px;font-weight:700}.ring-wrap{flex:none;position:relative}.ring-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-center .rc-pct{font-family:var(--font-num);letter-spacing:-.03em;font-size:26px;font-weight:700}.ring-center .rc-cap{color:var(--ink-3);text-transform:uppercase;letter-spacing:.09em;margin-top:2px;font-size:10px;font-weight:800}.ins-card{border-radius:var(--r-md);border:1px solid var(--hair);background:var(--surface);box-shadow:var(--shadow-sm);padding:17px;position:relative;overflow:hidden}.ins-tag{letter-spacing:.03em;border-radius:var(--r-pill);align-items:center;gap:6px;margin-bottom:11px;padding:4px 9px;font-size:11px;font-weight:800;display:inline-flex}.ins-tag.good{background:var(--pos-soft);color:var(--pos)}.ins-tag.warn{background:var(--neg-soft);color:var(--neg)}.ins-tag.tip{background:var(--warn-soft);color:var(--warn)}.ins-title{letter-spacing:-.01em;font-size:14.5px;font-weight:800;line-height:1.32}.ins-body{color:var(--ink-2);margin-top:7px;font-size:12.5px;font-weight:500;line-height:1.55}.toast{z-index:200;background:var(--ink);color:var(--bg);border-radius:var(--r-pill);box-shadow:var(--shadow-lg);align-items:center;gap:9px;padding:12px 20px;font-size:14px;font-weight:800;animation:.3s cubic-bezier(.2,.8,.2,1) toastIn;display:flex;position:fixed;bottom:30px;left:50%;transform:translate(-50%)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}@keyframes rise{0%{transform:translateY(13px)}to{transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){.rise{animation:rise .5s var(--d,0s) both cubic-bezier(.2,.7,.2,1)}}@media (width<=920px){.app{grid-template-columns:1fr}.rail{display:none}.content{padding-bottom:110px}.botnav{z-index:60;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--nav-bg);-webkit-backdrop-filter:blur(20px)saturate(1.5);border-top:1px solid var(--hair);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.botnav button{cursor:pointer;color:var(--ink-3);background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:4px 8px;display:flex}.botnav button svg{width:22px;height:22px}.botnav button .bn-label{font-size:10.5px;font-weight:700}.botnav button.on{color:var(--accent)}.topbar .tb-name{font-size:17px}}@media (width<=560px){.topbar{padding:13px 16px}.content{padding-left:16px;padding-right:16px}.tb-search,.tb-bell{display:none}}.loading-screen{min-height:100vh;color:var(--ink-3);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.dash{width:100%}.grid-2{grid-template-columns:1.3fr 1fr;gap:18px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (width<=760px){.grid-2,.grid-3{grid-template-columns:1fr}}.hero{color:#fffffff5;border-radius:var(--r-lg);background:linear-gradient(150deg, color-mix(in oklab, var(--accent) 60%, #0b0e13) 0%, color-mix(in oklab, var(--accent) 26%, #0a0d12) 50%, #0a0c11 100%);border:1px solid #ffffff1a;padding:26px 28px;position:relative;overflow:hidden;box-shadow:0 30px 60px -30px #0009}.hero:after{content:"";pointer-events:none;background:radial-gradient(60% 80% at 88% -10%, color-mix(in oklab, var(--accent) 55%, transparent), transparent 60%);position:absolute;inset:0}.hero-money-scene{z-index:0;pointer-events:none;opacity:.72;position:absolute;inset:0}.hero-money-scene canvas{width:100%;height:100%;display:block}.hero-top{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.hero-label{letter-spacing:.1em;text-transform:uppercase;color:#ffffffa8;white-space:nowrap;font-size:12px;font-weight:800}.hero-pill{white-space:nowrap;border-radius:var(--r-pill);color:#fffffff2;background:#ffffff24;border:1px solid #ffffff2e;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.hero-bal{font-family:var(--font-num);letter-spacing:-.035em;z-index:1;align-items:baseline;gap:3px;margin:16px 0 4px;font-size:clamp(40px,6vw,58px);font-weight:700;display:flex;position:relative}.hero-bal .cur{opacity:.8;font-size:.55em;font-weight:600}.hero-sub{color:#ffffffad;z-index:1;font-size:13.5px;font-weight:600;position:relative}.hero-splits{z-index:1;flex-wrap:wrap;gap:12px;margin-top:22px;display:flex;position:relative}.hero-split{background:#ffffff14;border:1px solid #ffffff1a;border-radius:15px;flex:1;min-width:80px;padding:13px 15px}.hero-split .hs-label{color:#fff9;white-space:nowrap;align-items:center;gap:6px;font-size:11.5px;font-weight:700;display:flex}.hero-split .hs-val{font-family:var(--font-num);letter-spacing:-.02em;margin-top:5px;font-size:19px;font-weight:700}.hero-actions{z-index:1;flex-wrap:wrap;gap:10px;margin-top:22px;display:flex;position:relative}.hero-actions .ha{border-radius:var(--r-pill);cursor:pointer;color:#eafff6;background:#ffffff24;border:1px solid #ffffff29;flex:1;justify-content:center;align-items:center;gap:7px;min-width:80px;padding:11px;font-size:13.5px;font-weight:800;transition:background .15s;display:inline-flex}.hero-actions .ha:hover{background:#ffffff38}.hero-actions .ha.solid{color:#14181f;background:#fff;border-color:#fff}.hero-actions .ha svg{width:16px;height:16px}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.dot.in{background:#6ff0c4}.dot.out{background:#ffb4a6}.dot.save{background:#ffe39a}.ring-card{align-items:center;gap:22px;display:flex}.ring-facts{flex-direction:column;flex:1;gap:16px;display:flex}.ring-fact{flex-direction:column;gap:3px;display:flex}.ring-fact .rf-label{color:var(--ink-3);font-size:12px;font-weight:700}.ring-fact .rf-val{font-family:var(--font-num);letter-spacing:-.02em;margin-top:2px;font-size:18px;font-weight:700}.ring-fact .rf-val small{font-size:12px;font-weight:600}.insights-head{align-items:center;gap:10px;margin-bottom:16px;display:flex}.insights-head h3{letter-spacing:-.015em;font-size:17px;font-weight:800}.ai-chip{background:var(--accent-soft);color:var(--accent);border-radius:var(--r-pill);letter-spacing:.03em;padding:3px 9px;font-size:11px;font-weight:800}@media (width<=560px){.hero{padding:22px 20px}.hero-money-scene{opacity:.45;transform:translate(12%)}.hero-splits{gap:8px}.hero-split{padding:10px 12px}}.inv-row{border-top:1px solid var(--hair);align-items:center;gap:14px;padding:13px 0;display:flex}.inv-row:first-of-type{border-top:none}.inv-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.inv-sub{color:var(--ink-3);margin-top:2px;font-size:11.5px;font-weight:600}.inv-cap{color:var(--ink-4);text-transform:uppercase;letter-spacing:.05em;margin-top:1px;font-size:10px;font-weight:700}.inv-pl{font-family:var(--font-num);margin-top:1px;font-size:11.5px;font-weight:700}.inv-pl.pos{color:var(--pos)}.inv-pl.neg{color:var(--neg)}.mini-select{font-family:var(--font-body);color:var(--ink);background:var(--surface-2);border:1px solid var(--hair);border-radius:var(--r-pill);cursor:pointer;outline:none;padding:7px 12px;font-size:13px;font-weight:700}.dropzone{text-align:center;cursor:pointer;background:linear-gradient(var(--surface), var(--surface)) padding-box, repeating-linear-gradient(135deg, var(--hair-2) 0 8px, transparent 8px 16px);border-radius:var(--r-md);border:2px dashed #0000;flex-direction:column;align-items:center;padding:40px 24px;transition:background .2s;display:flex}.dropzone:hover{background:var(--surface-2)}.dz-ico{background:var(--accent-soft);width:56px;height:56px;color:var(--accent);border-radius:18px;place-items:center;margin-bottom:14px;display:grid}.set-row{border-top:1px solid var(--hair);cursor:pointer;align-items:center;gap:13px;padding:12px 0;display:flex}.set-row:first-of-type{border-top:none}.set-ico{background:var(--surface-2);border:1px solid var(--hair);width:38px;height:38px;color:var(--ink-2);border-radius:11px;flex:none;place-items:center;display:grid}.set-label{font-size:14px;font-weight:700}.set-sub{color:var(--ink-3);margin-top:1px;font-size:12px;font-weight:600}.set-val{color:var(--ink-2);font-size:13.5px;font-weight:700}.set-arrow{color:var(--ink-4);margin-left:auto}.more-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.more-cell{text-align:left;background:var(--surface);border:1px solid var(--hair);border-radius:var(--r-md);box-shadow:var(--shadow-sm);cursor:pointer;padding:18px;transition:transform .15s,border-color .15s}.more-cell:hover{border-color:var(--hair-2);transform:translateY(-2px)}.more-ico{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:12px;place-items:center;display:grid}.more-name{margin-top:14px;font-size:15px;font-weight:800}.more-sub{color:var(--ink-3);margin-top:3px;font-size:12px;font-weight:600;line-height:1.4}.sheet-backdrop{z-index:150;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080a0e80;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{z-index:151;background:var(--surface);border:1px solid var(--hair-2);width:100%;max-width:460px;box-shadow:var(--shadow-lg);padding:10px 22px calc(24px + env(safe-area-inset-bottom));scrollbar-width:none;border-bottom:none;border-radius:28px 28px 0 0;max-height:min(92dvh,720px);margin-inline:auto;animation:.3s cubic-bezier(.2,.8,.2,1) sheetUp;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.sheet::-webkit-scrollbar{display:none}@media (width>=921px){.sheet{border-bottom:1px solid var(--hair-2);border-radius:28px;bottom:24px}.sheet-backdrop{align-items:center}}.sheet-grip{background:var(--hair-2);border-radius:99px;width:40px;height:5px;margin:4px auto 14px}.sheet-amt{text-align:center;font-family:var(--font-num);letter-spacing:-.04em;padding:16px 0 10px;font-size:46px;font-weight:700}.sheet-amt .cur{color:var(--ink-3);font-size:28px}.field-label{color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;margin:14px 0 9px;font-size:11px;font-weight:800}.seg{background:var(--surface-2);border:1px solid var(--hair);border-radius:var(--r-pill);gap:4px;padding:4px;display:flex}.seg button{color:var(--ink-3);font-family:var(--font-body);border-radius:var(--r-pill);cursor:pointer;background:0 0;border:none;flex:1;padding:9px;font-size:13.5px;font-weight:700;transition:color .15s}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-xs)}.cat-chips{flex-wrap:wrap;gap:8px;display:flex}.cat-choice{border-radius:var(--r-pill);border:1px solid var(--hair);background:var(--surface-2);cursor:pointer;color:var(--ink-2);font-size:13px;font-weight:700;font-family:var(--font-body);align-items:center;gap:6px;padding:9px 13px;transition:all .15s;display:inline-flex}.cat-choice.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.keypad{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px;display:grid}.key{border:1px solid var(--hair);background:var(--surface-2);font-family:var(--font-num);color:var(--ink);cursor:pointer;border-radius:15px;padding:15px;font-size:21px;font-weight:600;transition:background .12s,transform .1s}.key:active{background:var(--surface-3);transform:scale(.96)}@keyframes sheetUp{0%{transform:translateY(44px)}to{transform:translateY(0)}}.goals-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (width<=560px){.goals-grid{grid-template-columns:1fr}}.goal-card{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r-md);box-shadow:var(--shadow-sm);cursor:pointer;padding:20px;transition:transform .18s,box-shadow .2s}.goal-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.goal-emoji-tile{background:var(--surface-2);border:1px solid var(--hair);border-radius:15px;place-items:center;width:48px;height:48px;margin-bottom:14px;font-size:24px;display:grid}.goal-name{letter-spacing:-.01em;font-size:15px;font-weight:800}.goal-sub{color:var(--ink-3);margin-top:3px;font-size:12px;font-weight:600}.goal-amounts{align-items:baseline;gap:4px;margin:14px 0 12px;display:flex}.goal-current{font-family:var(--font-num);letter-spacing:-.02em;font-size:20px;font-weight:700}.goal-target{font-family:var(--font-num);color:var(--ink-3);font-size:13px;font-weight:600}.goal-bar{border-radius:var(--r-pill);background:var(--surface-3);height:7px;margin-bottom:12px;overflow:hidden}.goal-bar-fill{border-radius:var(--r-pill);background:linear-gradient(90deg, var(--accent), var(--accent-2));height:100%;transition:width .7s cubic-bezier(.4,0,.2,1)}.goal-stats{flex-wrap:wrap;gap:12px;display:flex}.goal-stat{color:var(--ink-3);font-size:11.5px;font-weight:700}.goal-stat span{color:var(--ink-2)}.goal-new-card{border:2px dashed var(--hair-2);border-radius:var(--r-md);cursor:pointer;min-height:160px;color:var(--ink-3);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;transition:border-color .15s,color .15s;display:flex}.goal-new-card:hover{border-color:var(--accent);color:var(--accent)}.nw-hero{background:linear-gradient(150deg, color-mix(in oklab, var(--accent) 60%, #0b0e13) 0%, #0a0c11 100%);color:#fff;border-radius:var(--r-lg);border:1px solid #ffffff1a;padding:28px}.nw-hero-amt{font-family:var(--font-num);letter-spacing:-.03em;margin:12px 0 6px;font-size:clamp(36px,5vw,52px);font-weight:700}.nw-splits{flex-wrap:wrap;gap:24px;margin-top:18px;display:flex}.nw-split .ns-label{color:#fff9;font-size:12px;font-weight:700}.nw-split .ns-val{font-family:var(--font-num);margin-top:4px;font-size:18px;font-weight:700}.nw-cols{grid-template-columns:1fr 1fr;gap:18px;display:grid}@media (width<=640px){.nw-cols{grid-template-columns:1fr}}.nw-row{border-top:1px solid var(--hair);align-items:center;gap:13px;padding:13px 0;display:flex}.nw-row:first-of-type{border-top:none}.nw-ico{background:var(--surface-2);border:1px solid var(--hair);border-radius:12px;flex:none;place-items:center;width:40px;height:40px;font-size:20px;display:grid}.nw-name{font-size:14px;font-weight:700}.nw-sub{color:var(--ink-3);margin-top:1px;font-size:12px;font-weight:600}.nw-amt{font-family:var(--font-num);margin-left:auto;font-size:15px;font-weight:700}.nw-amt.neg{color:var(--neg)}.events-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (width<=560px){.events-grid{grid-template-columns:1fr}}.event-card{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r-md);box-shadow:var(--shadow-sm);cursor:pointer;padding:20px;transition:transform .18s,box-shadow .2s}.event-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.event-new-card{border:2px dashed var(--hair-2);border-radius:var(--r-md);cursor:pointer;min-height:160px;color:var(--ink-3);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;transition:border-color .15s,color .15s;display:flex}.event-new-card:hover{border-color:var(--accent);color:var(--accent)}.tax-section-card{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r-md);box-shadow:var(--shadow-sm);margin-bottom:14px;overflow:hidden}.tax-section-head{border-bottom:1px solid var(--hair);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.tax-section-title{font-size:15px;font-weight:800}.tax-section-sub{color:var(--ink-3);margin-top:2px;font-size:12px;font-weight:600}.tax-limit-bar{border-radius:var(--r-pill);background:var(--surface-3);height:6px;margin:0 20px 16px;overflow:hidden}.tax-limit-fill{border-radius:var(--r-pill);background:linear-gradient(90deg, var(--accent), var(--accent-2));height:100%}.tax-limit-fill.over{background:var(--neg)}.tax-item{border-top:1px solid var(--hair);justify-content:space-between;align-items:center;padding:10px 20px;display:flex}.tax-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin-right:12px;font-size:13.5px;font-weight:700;overflow:hidden}.tax-item-amt{font-family:var(--font-num);white-space:nowrap;font-size:13.5px;font-weight:700}.filter-chips{scrollbar-width:none;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.filter-chips::-webkit-scrollbar{display:none}.filter-chip{border-radius:var(--r-pill);border:1px solid var(--hair);background:var(--surface);color:var(--ink-2);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.filter-chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.txn-group{margin-bottom:8px}.txn-group-header{justify-content:space-between;align-items:center;padding:8px 4px;display:flex}.txn-group-date{color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:800}.txn-group-total{font-family:var(--font-num);color:var(--ink-3);font-size:13px;font-weight:700}.coach-layout{grid-template-columns:1.15fr 1fr;align-items:start;gap:20px;display:grid}@media (width<=900px){.coach-layout{grid-template-columns:1fr}}.score-hero{border-radius:var(--r-lg);background:linear-gradient(150deg, color-mix(in oklab, var(--accent) 60%, #0b0e13) 0%, #0a0c11 100%);color:#fff;border:1px solid #ffffff1a;padding:28px}.score-big{font-family:var(--font-num);letter-spacing:-.04em;font-size:64px;font-weight:700;line-height:1}.score-denom{opacity:.5;font-size:28px;font-weight:600}.score-splits{flex-wrap:wrap;gap:20px;margin-top:18px;display:flex}.score-split .ss-label{color:#fff9;font-size:11.5px;font-weight:700}.score-split .ss-val{font-family:var(--font-num);margin-top:3px;font-size:17px;font-weight:700}.chat-panel{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r-md);box-shadow:var(--shadow-sm);flex-direction:column;max-height:600px;display:flex;position:sticky;top:90px}.chat-header{border-bottom:1px solid var(--hair);align-items:center;gap:12px;padding:16px 20px;display:flex}.chat-header-title{font-size:15px;font-weight:800}.chat-header-sub{color:var(--ink-3);margin-top:1px;font-size:12px;font-weight:600}.chat-messages{scrollbar-width:thin;flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.chat-bubble{border-radius:18px;max-width:85%;padding:12px 16px;font-size:13.5px;font-weight:500;line-height:1.55}.chat-bubble.user{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:var(--on-accent);border-bottom-right-radius:5px;align-self:flex-end}.chat-bubble.ai{background:var(--surface-2);color:var(--ink);border-bottom-left-radius:5px;align-self:flex-start}.chat-typing{background:var(--surface-2);border-radius:18px 18px 18px 5px;align-self:flex-start;align-items:center;gap:5px;padding:12px 16px;display:flex}.chat-typing span{background:var(--ink-3);border-radius:50%;width:7px;height:7px;animation:1.2s infinite typing}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.chat-suggestions{border-top:1px solid var(--hair);scrollbar-width:none;gap:8px;padding:12px 16px;display:flex;overflow-x:auto}.chat-suggestions::-webkit-scrollbar{display:none}.chat-suggestion{white-space:nowrap;border-radius:var(--r-pill);border:1px solid var(--hair);background:var(--surface-2);color:var(--ink-2);cursor:pointer;padding:7px 13px;font-size:12.5px;font-weight:700;transition:all .15s}.chat-suggestion:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.chat-input-row{border-top:1px solid var(--hair);align-items:center;gap:10px;padding:14px 16px;display:flex}.chat-input{border:1px solid var(--hair);background:var(--surface-2);border-radius:var(--r-pill);font-size:14px;font-family:var(--font-body);color:var(--ink);outline:none;flex:1;padding:11px 16px;transition:border-color .15s}.chat-input:focus{border-color:var(--accent)}.ai-story-grid{grid-template-columns:1fr;gap:12px;display:grid}.ai-story-card{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:16px;display:flex}.ai-story-title{color:var(--ink);font-size:14px;font-weight:850}.ai-story-sub{color:var(--ink-3);margin-top:3px;font-size:12.5px;font-weight:650;line-height:1.45}.ai-story-result{white-space:pre-wrap;border-top:1px solid var(--hair);color:var(--ink-2);padding-top:12px;font-size:13.5px;font-weight:600;line-height:1.65}@media (width>=720px) and (width<=1200px){.ai-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.invest-hero{border-radius:var(--r-lg);background:linear-gradient(150deg, color-mix(in oklab, var(--accent) 60%, #0b0e13) 0%, #0a0c11 100%);color:#fff;border:1px solid #ffffff1a;margin-bottom:20px;padding:28px}.invest-hero-amt{font-family:var(--font-num);letter-spacing:-.03em;margin:12px 0 6px;font-size:clamp(36px,5vw,52px);font-weight:700}.invest-splits{flex-wrap:wrap;gap:24px;margin-top:18px;display:flex}.invest-split .is-label{color:#fff9;font-size:12px;font-weight:700}.invest-split .is-val{font-family:var(--font-num);margin-top:4px;font-size:18px;font-weight:700}.inv-type-group{margin-bottom:8px}.inv-type-head{justify-content:space-between;align-items:center;padding:10px 0;display:flex}.inv-type-label{color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:800}.activity-summary{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;display:grid}@media (width<=560px){.activity-summary{grid-template-columns:1fr}}.activity-summary-card{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r-md);box-shadow:var(--shadow-sm);padding:20px}.summary-amt{font-family:var(--font-num);letter-spacing:-.025em;margin:8px 0 4px;font-size:26px;font-weight:700}.summary-amt.pos{color:var(--pos)}.import-preview-item{border-top:1px solid var(--hair);align-items:center;gap:13px;padding:12px 0;display:flex}.import-preview-item:first-of-type{border-top:none}.import-match{color:var(--pos);font-size:12px;font-weight:700}:root,[data-theme=light]{--bg:#f4f2ec;--bg-soft:#faf8f3;--canvas:radial-gradient(120% 90% at 50% -8%, #fbfaf6 0%, #f1efe8 62%);--surface:#fff;--surface-2:#f7f5ef;--surface-3:#ece9e0;--hair:#181c2214;--hair-2:#181c2221;--ink:#14181f;--ink-2:#565d68;--ink-3:#8a909b;--ink-4:#aab0ba;--pos:#0a9d72;--pos-soft:#0a9d721f;--neg:#cf4338;--neg-soft:#cf43381a;--warn:#c77700;--warn-soft:#c777001f;--shadow-xs:0 1px 2px #181c220d;--shadow-sm:0 1px 2px #181c220d, 0 4px 12px -8px #181c222e;--shadow-md:0 2px 6px #181c220d, 0 14px 30px -18px #181c2247;--shadow-lg:0 30px 70px -28px #181c2266;--nav-bg:#ffffffd1;--chip-bg:#181c220b;--on-accent:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f4f2ec;--color-surface:#fff;--color-surface-2:#f7f5ef;--color-text:#14181f;--color-text-muted:#565d68;--color-border:#181c2214;--color-primary:#0a9d72;--color-success:#0a9d72;--color-danger:#cf4338;--color-warning:#c77700}[data-theme=dark]{--bg:#0a0c10;--bg-soft:#14181f;--canvas:radial-gradient(120% 90% at 50% -8%, #131a23 0%, #0a0c10 58%);--surface:#14181f;--surface-2:#1a1f28;--surface-3:#232b36;--hair:#ffffff12;--hair-2:#ffffff21;--ink:#eef1f5;--ink-2:#a6afbd;--ink-3:#6c7683;--ink-4:#515a67;--pos:#34e0a8;--pos-soft:#34e0a824;--neg:#ff7d7d;--neg-soft:#ff7d7d21;--warn:#f2b53b;--warn-soft:#f2b53b24;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 2px 8px -2px #0009;--shadow-md:0 10px 26px -14px #000000b3;--shadow-lg:0 36px 80px -30px #000000d9;--nav-bg:#10141ac7;--chip-bg:#ffffff0f;--on-accent:#04130d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0a0c10;--color-surface:#14181f;--color-surface-2:#1a1f28;--color-text:#eef1f5;--color-text-muted:#a6afbd;--color-border:#ffffff12;--color-primary:#34e0a8;--color-success:#34e0a8;--color-danger:#ff7d7d;--color-warning:#f2b53b}[data-accent=green]{--accent:#0a9d72;--accent-2:#0a8a86;--accent-soft:#0a9d721f;--glow:#0a9d7238;--on-accent:#fff}[data-theme=dark][data-accent=green]{--accent:#34e0a8;--accent-2:#19b9c9;--accent-soft:#34e0a826;--glow:#34e0a852;--on-accent:#04130d}:root{--accent:#0a9d72;--accent-2:#0a8a86;--accent-soft:#0a9d721f;--glow:#0a9d7238;--on-accent:#fff;--font-body:"Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-num:"Space Grotesk", var(--font-body);--r-xs:10px;--r-sm:14px;--r-md:18px;--r-lg:24px;--r-xl:30px;--r-pill:999px;--rail:248px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-pill:9999px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-body,"Manrope", sans-serif);background:var(--bg,#f4f2ec);color:var(--ink,#181c22);-webkit-font-smoothing:antialiased}.main-content{flex:1;padding-bottom:72px;overflow:hidden auto}.loading-screen{height:100%;color:var(--color-text-3);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-brand);border-radius:50%;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page{padding:16px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.page-header h2{font-size:22px;font-weight:700}.page-sub{color:var(--color-text-3);margin-top:2px;font-size:13px}.empty-state{color:var(--color-text-3);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:48px 16px;display:flex}.empty-sub{color:var(--color-text-muted);font-size:13px}.empty-icon{font-size:48px}.top-bar{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:10;justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:sticky;top:0}.app-title{color:var(--color-text);font-size:18px;font-weight:700}.top-bar-actions{align-items:center;gap:8px;display:flex}.btn-theme-toggle{background:var(--color-surface-2);border:1px solid var(--color-border);cursor:pointer;border-radius:20px;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;transition:background .2s;display:flex}.btn-theme-toggle:hover{background:var(--color-surface-3)}.tab-bar{background:var(--color-surface);border-top:1px solid var(--color-border);z-index:10;scrollbar-width:none;-webkit-overflow-scrolling:touch;width:100%;max-width:480px;display:flex;position:fixed;bottom:0;left:50%;overflow-x:auto;transform:translate(-50%)}.tab-bar::-webkit-scrollbar{display:none}.tab-btn{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;flex-direction:column;flex:0 0 72px;align-items:center;gap:2px;padding:8px 4px;transition:color .15s;display:flex}.tab-btn.active{color:var(--color-brand)}.tab-icon{font-size:20px}.tab-label{font-size:10px;font-weight:500}.modal-backdrop{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--color-surface);border-radius:20px;width:100%;max-width:480px;max-height:min(90vh,720px);overflow-y:auto;box-shadow:0 18px 60px #00000047}.modal-header{border-bottom:1px solid var(--color-border-2);background:var(--color-surface);justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex;position:sticky;top:0}.modal-header h3{font-size:17px;font-weight:700}.modal-close{background:var(--color-surface-2);cursor:pointer;width:32px;height:32px;color:var(--color-text);border:none;border-radius:20px;font-size:14px}.modal-body{padding:16px 20px 24px}@media (width<=640px){.modal-backdrop{padding:12px;padding-top:max(12px, env(safe-area-inset-top));align-items:flex-start}.modal{border-radius:18px;max-height:calc(100dvh - 24px)}}.toast-container{z-index:200;pointer-events:none;flex-direction:column;gap:8px;width:calc(100% - 32px);max-width:448px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.toast{text-align:center;border-radius:10px;padding:12px 16px;font-size:14px;font-weight:500;animation:.2s slideDown}.toast-success{background:var(--color-success-bg);color:var(--color-success-text)}.toast-error{background:var(--color-danger-bg);color:var(--color-danger-text)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.btn-primary{background:var(--color-brand);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;padding:12px 20px;font-size:15px;font-weight:600;transition:opacity .15s}.btn-primary.btn-sm{border-radius:8px;width:auto;padding:8px 14px;font-size:13px}.btn-secondary{background:var(--color-surface-2);color:var(--color-text);border:1px solid var(--color-border);cursor:pointer;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:500}.btn-secondary:disabled{opacity:.5}.btn-secondary.btn-sm{padding:6px 12px;font-size:12px}.btn-add{background:var(--color-brand);color:#fff;cursor:pointer;border:none;border-radius:20px;padding:8px 18px;font-size:14px;font-weight:600}.btn-icon{cursor:pointer;opacity:.6;color:var(--color-text);background:0 0;border:none;padding:4px;font-size:16px}.btn-icon:hover{opacity:1}.btn-danger{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-border);cursor:pointer;border-radius:10px;width:100%;margin-top:16px;padding:12px 20px;font-size:15px;font-weight:600}.form-group{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.form-group input,.form-group select,.form-group textarea{border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:10px;width:100%;padding:10px 12px;font-size:15px}.form-group input:focus,.form-group select:focus{border-color:var(--color-brand);outline:none}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-row--center{align-items:center;gap:12px;display:flex}.inline-form{align-items:flex-end;gap:8px;display:flex}.inline-form input{border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:10px;flex:1;padding:10px 12px;font-size:15px}.badge{border-radius:12px;align-items:center;gap:3px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.filter-row{gap:8px;margin-bottom:12px;display:flex}.search-input{border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:10px;flex:1;padding:10px 12px;font-size:14px}.filter-select{border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:10px;padding:10px 12px;font-size:14px}.dashboard-hero{background:var(--gradient-hero);border-radius:20px;margin-bottom:16px;padding:24px 20px 20px;position:relative;overflow:hidden}.dashboard-hero:before{content:"";pointer-events:none;background:#ffffff12;border-radius:50%;width:160px;height:160px;position:absolute;top:-40px;right:-40px}.dashboard-hero:after{content:"";pointer-events:none;background:#ffffff0a;border-radius:50%;width:100px;height:100px;position:absolute;bottom:-20px;left:-20px}.hero-label{color:#ffffffa6;text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px;font-size:11px;font-weight:600}.hero-amount{color:#fff;letter-spacing:-1.5px;font-variant-numeric:tabular-nums;font-size:38px;font-weight:800;line-height:1.1}.hero-sub{color:#ffffff8c;margin-top:6px;margin-bottom:16px;font-size:13px}.hero-range-toggle{z-index:1;position:relative;background:#ffffff26!important}.hero-range-toggle button{color:#ffffffb3!important}.hero-range-toggle button.active{box-shadow:none;color:#fff!important;background:#ffffff40!important}.stat-grid{grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.stat-card{background:var(--color-surface);border:1.5px solid var(--color-border);box-shadow:var(--shadow-card);transition:transform var(--transition-base), box-shadow var(--transition-base);border-radius:16px;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 12px;display:flex}.stat-card--gradient{border:none!important;box-shadow:0 4px 20px #0000002e!important}.stat-icon--light{color:#fff!important;background:#fff3!important}.stat-label--light{text-transform:uppercase;letter-spacing:.5px;font-size:10px;color:#ffffffbf!important}.stat-amount--light{font-size:15px;font-weight:800;color:#fff!important}.stat-sub--light{color:#fff9!important}[data-theme=dark] .stat-card--gradient{filter:brightness(.85)}.stat-icon{border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;display:flex}.stat-label{color:var(--color-text-3);font-size:11px;font-weight:500}.stat-amount{font-size:14px;font-weight:700}.stat-sub{color:var(--color-text-muted);font-size:11px}.chart-card{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:14px;margin-bottom:16px;padding:16px}.chart-card h4{color:var(--color-text-2);margin-bottom:12px;font-size:14px;font-weight:600}.empty-chart{text-align:center;color:var(--color-text-muted);padding:20px}.section-card{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:14px;margin-bottom:16px;padding:16px}.section-card h4{color:var(--color-text-2);margin-bottom:12px;font-size:14px;font-weight:600}.budget-row{margin-bottom:14px}.budget-label{justify-content:space-between;margin-bottom:6px;font-size:13px;font-weight:500;display:flex}.budget-bar-bg{background:var(--color-surface-2);border-radius:4px;height:8px;overflow:hidden}.budget-bar-fill{border-radius:4px;height:100%;transition:width .4s}.budget-warning{margin-top:4px;font-size:11px;font-weight:600}.budget-ring-grid{grid-template-columns:repeat(3,1fr);gap:20px 8px;padding:4px 0 8px;display:grid}.budget-ring-item{flex-direction:column;align-items:center;gap:6px;display:flex}.budget-ring-svg-wrap{justify-content:center;align-items:center;width:80px;height:80px;display:flex;position:relative}.budget-ring-icon{pointer-events:none;font-size:22px;line-height:1;position:absolute}.budget-ring-label{color:var(--color-text-2);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:72px;font-size:11px;font-weight:600;overflow:hidden}.budget-ring-amounts{text-align:center;font-variant-numeric:tabular-nums;font-size:11px;font-weight:700;line-height:1.3}.budget-ring-limit{color:var(--color-text-muted);font-weight:400}.budget-ring-warn{text-align:center;font-size:10px;font-weight:700}.range-toggle{background:var(--color-surface-2);border-radius:8px;gap:4px;padding:3px;display:flex}.range-toggle button{cursor:pointer;color:var(--color-text-3);background:0 0;border:none;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:500}.range-toggle button.active{background:var(--color-surface);color:var(--color-brand);font-weight:600}.week-compare{background:var(--color-surface);border:1.5px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:14px;margin-bottom:12px;padding:12px 14px}.week-compare-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:600}.week-compare-row{justify-content:space-between;align-items:center;display:flex}.week-compare-amounts{flex-direction:column;gap:2px;display:flex}.week-compare-current{font-variant-numeric:tabular-nums;letter-spacing:-.5px;font-size:18px;font-weight:800}.week-compare-prev{color:var(--color-text-muted);font-size:12px}.week-compare-badge{letter-spacing:.2px;border-radius:20px;padding:6px 12px;font-size:13px;font-weight:800}.chart-carousel{background:var(--color-surface);border:1.5px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:18px;margin-bottom:16px;padding:14px 14px 10px}.carousel-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px;padding-bottom:12px;display:flex;overflow-x:auto}.carousel-tabs::-webkit-scrollbar{display:none}.carousel-tab{border:1.5px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text-3);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border-radius:20px;flex-shrink:0;padding:5px 12px;font-size:12px;font-weight:600}.carousel-tab.active{background:var(--color-brand);border-color:var(--color-brand);color:#fff}.carousel-slide{touch-action:pan-y;min-height:180px}.carousel-dots{justify-content:center;gap:5px;margin-top:10px;display:flex}.carousel-dot{background:var(--color-surface-3);cursor:pointer;width:6px;height:6px;transition:all var(--transition-fast);border:none;border-radius:50%;padding:0}.carousel-dot.active{background:var(--color-brand);border-radius:3px;width:18px}.chart-slide-title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:11px;font-weight:700}.chart-slide-empty{height:140px;color:var(--color-text-muted);justify-content:center;align-items:center;font-size:13px;display:flex}.ive-row{color:var(--color-text-2);justify-content:space-between;align-items:center;margin-bottom:5px;font-size:13px;font-weight:500;display:flex}.ive-label{align-items:center;gap:6px;display:flex}.ive-dot{border-radius:50%;width:8px;height:8px}.ive-dot--income{background:#10b981}.ive-dot--spent{background:#ef4444}.ive-amount{font-variant-numeric:tabular-nums;font-weight:700}.ive-amount--income{color:#10b981}.ive-amount--spent{color:#ef4444}.ive-bar-bg{background:var(--color-surface-2);border-radius:20px;height:10px;margin-bottom:4px;overflow:hidden}.ive-bar-fill{border-radius:20px;height:100%;transition:width .6s}.ive-bar-fill--income{background:#10b981}.ive-bar-fill--spent{background:linear-gradient(90deg,#10b981,#f59e0b,#ef4444)}.ive-summary{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.ive-savings{font-size:13px;font-weight:700}.ive-savings--negative{color:var(--color-danger)}.ive-rate{color:var(--color-text-muted);font-size:12px}.heatmap-grid{grid-template-columns:repeat(10,1fr);gap:4px;margin-bottom:8px;display:grid}.heatmap-cell{aspect-ratio:1;cursor:default;border-radius:3px;transition:transform .1s}.heatmap-cell:hover{transform:scale(1.2)}.heatmap-legend{color:var(--color-text-muted);align-items:center;gap:6px;font-size:10px;display:flex}.heatmap-legend-cells{gap:3px;display:flex}.heatmap-legend-cells .heatmap-cell{width:12px;height:12px}.gauge-wrap{align-items:center;gap:16px;margin-bottom:8px;display:flex}.gauge-detail{flex-direction:column;flex:1;gap:6px;display:flex}.gauge-row{color:var(--color-text-2);justify-content:space-between;font-size:12px;display:flex}.gauge-zones{justify-content:space-between;padding-top:4px;font-size:10px;display:flex}[data-theme=dark] .recharts-default-tooltip{background:var(--color-surface-2)!important;border-color:var(--color-border)!important;color:var(--color-text)!important}[data-theme=dark] .recharts-legend-item-text{color:var(--color-text-3)!important}[data-theme=dark] .recharts-cartesian-axis-tick-value{fill:var(--color-text-muted)}[data-theme=dark] .recharts-tooltip-label{color:var(--color-text)!important}.budget-alert-wrap{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.budget-alert{background:var(--color-danger-bg);border:1.5px solid var(--color-danger);border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.budget-alert-icon{flex-shrink:0;font-size:18px}.budget-alert-text{color:var(--color-text);font-size:13px;line-height:1.4}.velocity-card{border:1.5px solid;border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:12px;padding:10px 12px;display:flex}.velocity-icon{flex-shrink:0;font-size:20px}.velocity-text{color:var(--color-text);font-size:13px;line-height:1.4}.salary-card{background:var(--color-surface);border:1.5px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:14px;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;display:flex}.salary-card--today{border-color:var(--color-success);background:var(--color-success-bg)}.salary-icon{font-size:28px}.salary-text{flex-direction:column;gap:2px;display:flex}.salary-text strong{color:var(--color-text);font-size:15px;font-weight:700}.salary-text span{color:var(--color-text-muted);font-size:12px}.streak-badge{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border-radius:14px;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;display:flex}.streak-icon{font-size:26px}.streak-text{flex-direction:column;gap:1px;display:flex}.streak-text strong{color:#fff;font-size:15px;font-weight:700}.streak-text span{color:#ffffffbf;font-size:12px}.bill-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.bill-row:last-child{border-bottom:none}.bill-info{align-items:center;gap:10px;display:flex}.bill-icon{font-size:22px}.bill-name{color:var(--color-text);font-size:14px;font-weight:600}.bill-due{margin-top:1px;font-size:12px}.bill-amount{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.section-badge{background:var(--color-brand);color:#fff;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:700}.emi-row{margin-bottom:14px}.emi-row:last-child{margin-bottom:0}.emi-header{justify-content:space-between;margin-bottom:6px;display:flex}.emi-name{color:var(--color-text);font-size:13px;font-weight:600}.emi-emi{color:var(--color-brand);font-size:13px;font-weight:700}.emi-bar-bg{background:var(--color-surface-2);border-radius:4px;height:6px;margin-bottom:4px;overflow:hidden}.emi-bar-fill{background:var(--gradient-brand);border-radius:4px;height:100%;transition:width .6s}.emi-meta{color:var(--color-text-muted);justify-content:space-between;font-size:11px;display:flex}.export-btns{flex-direction:column;gap:10px;display:flex}.chart-legend-row{color:var(--color-text-muted);justify-content:center;gap:16px;margin-top:6px;font-size:11px;display:flex}.legend-dot{border-radius:50%;width:10px;height:10px;margin-right:4px;display:inline-block}.cat-breakdown-list{flex-direction:column;gap:10px;display:flex}.cat-breakdown-row{flex-direction:column;gap:4px;display:flex}.cat-breakdown-header{justify-content:space-between;align-items:center;display:flex}.cat-breakdown-name{font-size:13px}.cat-breakdown-amt{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.cat-breakdown-bar-bg{background:var(--color-surface-2);border-radius:4px;height:6px;overflow:hidden}.cat-breakdown-bar-fill{border-radius:4px;height:100%;transition:width .6s}.cat-breakdown-pct{color:var(--color-text-muted);font-size:10px}.top-exp-list{flex-direction:column;gap:10px;display:flex}.top-exp-row{align-items:flex-start;gap:8px;display:flex}.top-exp-rank{color:var(--color-text-muted);flex-shrink:0;width:20px;padding-top:2px;font-size:11px;font-weight:800}.top-exp-info{flex:1}.top-exp-header{justify-content:space-between;margin-bottom:4px;display:flex}.top-exp-note{color:var(--color-text);font-size:13px;font-weight:600}.top-exp-amt{color:var(--color-danger);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.top-exp-bar-bg{background:var(--color-surface-2);border-radius:2px;height:4px;margin-bottom:3px;overflow:hidden}.top-exp-bar-fill{background:var(--gradient-brand);border-radius:2px;height:100%;transition:width .6s}.top-exp-meta{color:var(--color-text-muted);font-size:11px}.recent-list{flex-direction:column;display:flex}.recent-row{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:10px 0;display:flex}.recent-row:last-child{border-bottom:none}.recent-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:flex}.recent-info{flex:1;min-width:0}.recent-note{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.recent-meta{color:var(--color-text-muted);margin-top:1px;font-size:11px}.recent-amt{color:var(--color-danger);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:14px;font-weight:700}.sbar-row{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.sbar-label{color:var(--color-text-muted);font-size:12px}.sbar-amt{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.sbar-track{background:var(--color-surface-2);border-radius:20px;height:10px;margin-bottom:8px;overflow:hidden}.sbar-fill{background:var(--gradient-brand);border-radius:20px;height:100%;transition:width .6s}.sbar-footer{padding-top:4px;font-size:13px}.cashback-card{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border-radius:14px;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;display:flex}.cashback-icon{font-size:28px}.cashback-info{flex:1}.cashback-title{color:#fffc;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600}.cashback-row{color:#ffffffe6;justify-content:space-between;font-size:13px;display:flex}.cashback-row strong{color:#fff;font-variant-numeric:tabular-nums}.expense-list{flex-direction:column;gap:8px;display:flex}.expense-item{background:var(--color-surface);border:1px solid var(--color-border-2);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.expense-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.expense-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.expense-icon--lg{border-radius:14px;width:46px;height:46px;font-size:22px}.expense-info{flex:1;min-width:0}.expense-note{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.expense-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.expense-date{color:var(--color-text-muted);font-size:11px}.expense-mode{font-size:14px}.expense-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.expense-amount{color:var(--color-danger);font-variant-numeric:tabular-nums;letter-spacing:-.3px;font-size:15px;font-weight:800}.expense-actions{gap:4px;display:flex}.expense-summary{color:var(--color-text-3);font-size:13px}.expense-form{flex-direction:column;display:flex}.amount-input{text-align:center;color:var(--color-brand);border:2px solid var(--color-border);background:var(--color-surface);border-radius:12px;padding:16px;font-size:32px;font-weight:700}.amount-input:focus{border-color:var(--color-brand);outline:none}.category-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.cat-btn{border:1.5px solid var(--color-border);background:var(--color-surface);cursor:pointer;color:var(--color-text);border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;font-size:12px;transition:all .1s;display:flex}.cat-btn.selected{background:var(--color-brand-bg);border-color:var(--color-brand);color:var(--color-brand-text);font-weight:600}.cat-btn span:first-child{font-size:22px}.payment-modes{flex-wrap:wrap;gap:8px;display:flex}.mode-btn{border:1.5px solid var(--color-border);background:var(--color-surface);cursor:pointer;color:var(--color-text);border-radius:10px;padding:8px 14px;font-size:13px;font-weight:500}.mode-btn.selected{border-color:var(--color-brand);background:var(--color-brand-bg);color:var(--color-brand-text);font-weight:600}.type-toggle{border:1.5px solid var(--color-border);border-radius:12px;gap:0;margin-bottom:16px;display:flex;overflow:hidden}.type-btn{background:var(--color-surface-2);cursor:pointer;color:var(--color-text-muted);transition:all var(--transition-fast);border:none;flex:1;padding:10px;font-size:13px;font-weight:600}.type-btn--expense.active{color:#ef4444;background:#ef444422}.type-btn--income.active{color:#10b981;background:#10b98122}.exp-summary-strip{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:14px;justify-content:space-around;margin-bottom:12px;padding:12px 8px;display:flex}.exp-summary-item{text-align:center}.exp-summary-val{font-variant-numeric:tabular-nums;color:var(--color-text);font-size:15px;font-weight:800}.exp-summary-val--out{color:var(--color-danger)}.exp-summary-val--in{color:var(--color-success)}.exp-summary-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.4px;margin-top:2px;font-size:10px}.expense-badge{border-radius:20px;padding:2px 7px;font-size:10px;font-weight:700}.expense-badge--income{color:#10b981;background:#10b98122}.expense-cashback{color:#f59e0b;font-size:10px;font-weight:600}.expense-item-wrap{border-radius:14px;margin-bottom:8px;position:relative;overflow:hidden}.expense-item{transition:transform .2s}.expense-item--swiped{transform:translate(-80px)}.swipe-delete-btn{background:var(--color-danger);color:#fff;cursor:pointer;border:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:80px;font-size:13px;font-weight:700;display:flex;position:absolute;top:0;bottom:0;right:0}.section-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.section-desc{color:var(--color-text-muted);margin-bottom:10px;font-size:12px}.cat-list{flex-direction:column;gap:6px;display:flex}.cat-item{border-bottom:1px solid var(--color-bg);justify-content:space-between;align-items:center;padding:8px 0;font-size:14px;display:flex}.budget-label-col{min-width:120px}.budget-summary-row{border-bottom:1px solid var(--color-bg);justify-content:space-between;padding:6px 0;font-size:13px;display:flex}.recurring-list{flex-direction:column;gap:8px;display:flex}.recurring-item{background:var(--color-surface-2);border-radius:8px;justify-content:space-between;align-items:center;padding:8px;display:flex}.recurring-meta{color:var(--color-text-muted);margin-top:2px;font-size:11px;display:block}.recurring-actions{align-items:center;gap:8px;display:flex}.toggle{width:36px;height:20px;display:inline-block;position:relative}.toggle input{opacity:0;width:0;height:0}.toggle-slider{background:var(--color-border);cursor:pointer;border-radius:20px;transition:all .2s;position:absolute;inset:0}.toggle-slider:before{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:all .2s;position:absolute;top:3px;left:3px}.toggle input:checked+.toggle-slider{background:var(--color-brand)}.toggle input:checked+.toggle-slider:before{transform:translate(16px)}.color-picker{flex-wrap:wrap;gap:8px;display:flex}.color-dot{cursor:pointer;border:3px solid #0000;border-radius:50%;width:28px;height:28px}.color-dot.selected{border-color:var(--color-text)}.empty-hint{color:var(--color-text-muted);font-size:13px;font-style:italic}.suggested-cats-grid{-webkit-overflow-scrolling:touch;grid-template-columns:repeat(3,1fr);gap:8px;max-height:55vh;padding:4px 0;display:grid;overflow-y:auto}.suggested-cat-btn{border:1.5px solid var(--color-border);background:var(--color-surface-2);cursor:pointer;transition:all var(--transition-fast);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:10px 6px;display:flex}.suggested-cat-btn.selected{border-width:2px}.suggested-cat-btn.disabled{opacity:.35;cursor:not-allowed}.suggested-cats-list{-webkit-overflow-scrolling:touch;flex-direction:column;gap:6px;max-height:60vh;padding:2px 0;display:flex;overflow-y:auto}.suggested-cat-row{border:1.5px solid var(--color-border);background:var(--color-surface-2);cursor:pointer;text-align:left;transition:all var(--transition-fast);border-radius:12px;align-items:center;gap:12px;width:100%;padding:10px 12px;display:flex}.suggested-cat-row.selected{border-width:2px}.suggested-cat-row.disabled{opacity:.4;cursor:not-allowed}.suggested-cat-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:20px;display:flex}.suggested-cat-info{flex:1;min-width:0}.suggested-cat-name{color:var(--color-text);align-items:center;gap:6px;margin-bottom:2px;font-size:14px;font-weight:600;display:flex}.suggested-cat-added{color:var(--color-success);font-size:10px;font-weight:600}.suggested-cat-desc{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.4;overflow:hidden}.suggested-cat-check{flex-shrink:0;font-size:18px;font-weight:700}.budget-edit-list{-webkit-overflow-scrolling:touch;flex-direction:column;gap:8px;max-height:58vh;padding:2px 0;display:flex;overflow-y:auto}.budget-edit-row{border:1.5px solid var(--color-border);background:var(--color-surface-2);transition:all var(--transition-fast);border-radius:14px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.budget-edit-row--filled{border-width:2px}.budget-edit-left{align-items:center;gap:10px;display:flex}.budget-edit-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.budget-edit-name-wrap{flex-direction:column;gap:2px;display:flex}.budget-edit-name{color:var(--color-text);font-size:14px;font-weight:600}.budget-edit-hint{color:var(--color-text-muted);font-size:11px;line-height:1.3}.budget-edit-right{align-items:center;gap:4px;display:flex}.budget-edit-rupee{color:var(--color-text-muted);font-size:14px;font-weight:600}.budget-edit-input{width:90px;color:var(--color-text);text-align:right;font-variant-numeric:tabular-nums;font-size:14px;font-weight:600;font-family:var(--font-sans);background:0 0;border:none;outline:none}.budget-edit-input::placeholder{color:var(--color-text-muted);font-weight:400}.budget-edit-total{text-align:center;color:var(--color-text-muted);background:var(--color-surface-2);border-radius:10px;margin-top:12px;padding:10px;font-size:13px}.auth-page{background:var(--canvas,#f4f2ec);justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.auth-card{background:var(--surface,#fff);width:100%;max-width:400px;box-shadow:var(--shadow-md,0 4px 24px #181c221a);border:1px solid var(--hair,#181c2214);border-radius:20px;padding:36px 28px}.auth-logo{text-align:center;background:linear-gradient(135deg,#0a9d72,#0a8a86);border-radius:14px;place-items:center;width:52px;height:52px;margin:0 auto 16px;font-size:26px;display:grid}.auth-icon-lg{font-size:48px}.auth-card h1{text-align:center;color:var(--ink,#181c22);margin-bottom:4px;font-size:22px;font-weight:800}.auth-subtitle{text-align:center;color:var(--ink-3,#8a909b);margin:0 0 24px;font-size:13.5px}.auth-tabs{background:var(--surface-2,#f0ede6);border-radius:10px;gap:4px;margin-bottom:20px;padding:4px;display:flex}.auth-tabs button{cursor:pointer;color:var(--ink-3,#8a909b);font-size:13px;font-weight:600;font-family:var(--font-body,"Manrope", sans-serif);background:0 0;border:none;border-radius:8px;flex:1;padding:8px;transition:all .15s}.auth-tabs button.active{background:var(--surface,#fff);color:var(--accent,#0a9d72);font-weight:700;box-shadow:0 1px 4px #00000014}.auth-form{flex-direction:column;gap:12px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--ink-2,#565d68);font-size:13px;font-weight:700}.form-group input{border-radius:var(--r-md,10px);border:1.5px solid var(--hair,#181c221a);background:var(--surface,#fff);color:var(--ink,#181c22);font-size:14px;font-family:var(--font-body,"Manrope", sans-serif);outline:none;padding:11px 14px;transition:border-color .15s}.form-group input:focus{border-color:var(--accent,#0a9d72)}.btn-primary{border-radius:var(--r-pill,999px);background:var(--accent,#0a9d72);color:#fff;width:100%;font-size:15px;font-weight:800;font-family:var(--font-body,"Manrope", sans-serif);cursor:pointer;border:none;margin-top:8px;padding:13px;transition:opacity .15s,transform .1s}.btn-primary:hover{opacity:.92}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{border-radius:var(--r-pill,999px);border:1.5px solid var(--hair,#181c221a);background:var(--surface,#fff);color:var(--ink,#181c22);font-size:14px;font-weight:700;font-family:var(--font-body,"Manrope", sans-serif);cursor:pointer;padding:10px 20px}.magic-sent{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:20px 0;display:flex}.ai-card{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:16px;margin-bottom:16px;padding:16px}.ai-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.ai-card-title{align-items:center;gap:8px;display:flex}.ai-card-title h3{font-size:16px;font-weight:700}.ai-icon{font-size:22px}.ai-empty{text-align:center;color:var(--color-text-3);flex-direction:column;align-items:center;gap:10px;padding:20px 0;display:flex}.ai-empty p{font-size:13px}.ai-loading{color:var(--color-text-3);flex-direction:column;align-items:center;gap:10px;padding:24px;font-size:13px;display:flex}.ai-error{background:var(--color-danger-bg);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.ai-error p{color:var(--color-danger-text);font-size:13px}.ai-notice{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning-text);border-radius:10px;margin-bottom:12px;padding:12px;font-size:13px}.ai-response{font-size:14px;line-height:1.6}.ai-bullet{gap:8px;margin-bottom:8px;display:flex}.ai-bullet-dot{color:var(--color-brand);flex-shrink:0;min-width:16px;font-weight:700}.ai-para{margin-bottom:8px}.ai-h1{margin:12px 0 6px;font-size:16px;font-weight:700}.ai-h2{color:var(--color-text-2);margin:10px 0 6px;font-size:15px;font-weight:700}.ai-response strong{color:var(--color-text)}.ai-response code{background:var(--color-surface-2);border-radius:4px;padding:1px 5px;font-size:13px}
