@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-cyrillic-ext-wght-normal.8860201a.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-cyrillic-wght-normal.20151429.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-math-wght-normal.cad38c99.woff2) format("woff2-variations");unicode-range:u+0302-0303,u+0305,u+0307-0308,u+0310,u+0312,u+0315,u+031a,u+0326-0327,u+032c,u+032f-0330,u+0332-0333,u+0338,u+033a,u+0346,u+034d,u+0391-03a1,u+03a3-03a9,u+03b1-03c9,u+03d1,u+03d5-03d6,u+03f0-03f1,u+03f4-03f5,u+2016-2017,u+2034-2038,u+203c,u+2040,u+2043,u+2047,u+2050,u+2057,u+205f,u+2070-2071,u+2074-208e,u+2090-209c,u+20d0-20dc,u+20e1,u+20e5-20ef,u+2100-2112,u+2114-2115,u+2117-2121,u+2123-214f,u+2190,u+2192,u+2194-21ae,u+21b0-21e5,u+21f1-21f2,u+21f4-2211,u+2213-2214,u+2216-22ff,u+2308-230b,u+2310,u+2319,u+231c-2321,u+2336-237a,u+237c,u+2395,u+239b-23b7,u+23d0,u+23dc-23e1,u+2474-2475,u+25af,u+25b3,u+25b7,u+25bd,u+25c1,u+25ca,u+25cc,u+25fb,u+266d-266f,u+27c0-27ff,u+2900-2aff,u+2b0e-2b11,u+2b30-2b4c,u+2bfe,u+3030,u+ff5b,u+ff5d,u+1d400-1d7ff,u+1ee??}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-symbols-wght-normal.d64d8e2d.woff2) format("woff2-variations");unicode-range:u+0001-000c,u+000e-001f,u+007f-009f,u+20dd-20e0,u+20e2-20e4,u+2150-218f,u+2190,u+2192,u+2194-2199,u+21af,u+21e6-21f0,u+21f3,u+2218-2219,u+2299,u+22c4-22c6,u+2300-243f,u+2440-244a,u+2460-24ff,u+25a0-27bf,u+28??,u+2921-2922,u+2981,u+29bf,u+29eb,u+2b??,u+4dc0-4dff,u+fff9-fffb,u+10140-1018e,u+10190-1019c,u+101a0,u+101d0-101fd,u+102e0-102fb,u+10e60-10e7e,u+1d2c0-1d2d3,u+1d2e0-1d37f,u+1f0??,u+1f100-1f1ad,u+1f1e6-1f1ff,u+1f30d-1f30f,u+1f315,u+1f31c,u+1f31e,u+1f320-1f32c,u+1f336,u+1f378,u+1f37d,u+1f382,u+1f393-1f39f,u+1f3a7-1f3a8,u+1f3ac-1f3af,u+1f3c2,u+1f3c4-1f3c6,u+1f3ca-1f3ce,u+1f3d4-1f3e0,u+1f3ed,u+1f3f1-1f3f3,u+1f3f5-1f3f7,u+1f408,u+1f415,u+1f41f,u+1f426,u+1f43f,u+1f441-1f442,u+1f444,u+1f446-1f449,u+1f44c-1f44e,u+1f453,u+1f46a,u+1f47d,u+1f4a3,u+1f4b0,u+1f4b3,u+1f4b9,u+1f4bb,u+1f4bf,u+1f4c8-1f4cb,u+1f4d6,u+1f4da,u+1f4df,u+1f4e3-1f4e6,u+1f4ea-1f4ed,u+1f4f7,u+1f4f9-1f4fb,u+1f4fd-1f4fe,u+1f503,u+1f507-1f50b,u+1f50d,u+1f512-1f513,u+1f53e-1f54a,u+1f54f-1f5fa,u+1f610,u+1f650-1f67f,u+1f687,u+1f68d,u+1f691,u+1f694,u+1f698,u+1f6ad,u+1f6b2,u+1f6b9-1f6ba,u+1f6bc,u+1f6c6-1f6cf,u+1f6d3-1f6d7,u+1f6e0-1f6ea,u+1f6f0-1f6f3,u+1f6f7-1f6fc,u+1f7??,u+1f800-1f80b,u+1f810-1f847,u+1f850-1f859,u+1f860-1f887,u+1f890-1f8ad,u+1f8b0-1f8bb,u+1f8c0-1f8c1,u+1f900-1f90b,u+1f93b,u+1f946,u+1f984,u+1f996,u+1f9e9,u+1fa00-1fa6f,u+1fa70-1fa7c,u+1fa80-1fa89,u+1fa8f-1fac6,u+1face-1fadc,u+1fadf-1fae9,u+1faf0-1faf8,u+1fb??}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-vietnamese-wght-normal.4250ef26.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-latin-ext-wght-normal.79c53978.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/onest-latin-wght-normal.89c3d590.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_next/static/media/unbounded-cyrillic-ext-wght-normal.a3654526.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_next/static/media/unbounded-cyrillic-wght-normal.89b21495.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_next/static/media/unbounded-vietnamese-wght-normal.e31e1e1b.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_next/static/media/unbounded-latin-ext-wght-normal.34c71695.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_next/static/media/unbounded-latin-wght-normal.e4503c05.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{color-scheme:dark;--bg:#0b0b0d;--panel:#121215;--panel-2:#18181c;--panel-3:#1f1f24;--hairline:#ffffff10;--line:#ffffff0b;--ink:#f4f4f5;--muted:#8b8b96;--faint:#5b5b66;--accent:#e4e4e7;--accent-2:#fafafa;--accent-deep:#52525b;--accent-rgb:228,228,231;--income:#4cc38a;--expense:#f07575;--warn:#f5b03a;--danger:#e5484d;--display:"Unbounded Variable","Segoe UI",system-ui,sans-serif;--body:"Onest Variable","Segoe UI",system-ui,-apple-system,Arial,sans-serif;--radius:22px;--radius-s:14px;--ease:cubic-bezier(.22,1,.36,1);--spring:cubic-bezier(.34,1.5,.64,1);--sidebar:252px}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#ffffff22 transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#ffffff22;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}::-webkit-scrollbar-track{background:transparent}html{scrollbar-gutter:stable}body,html{background:var(--bg)}body{margin:0;color:var(--ink);font:14px/1.5 var(--body);-webkit-font-smoothing:antialiased;min-height:100vh}button,input,select{font:inherit;color:inherit}a,button,input[type=file],select,summary{cursor:pointer}a{color:var(--accent-2)}button:disabled{opacity:.4;cursor:not-allowed}:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--display);font-weight:500;letter-spacing:-.03em;line-height:1.1}h2{font-size:16px;letter-spacing:-.01em}h3{font-size:15px;font-weight:600}p{margin:6px 0 10px}.sr-only{position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.muted{color:var(--muted);font-size:12px}.ai-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;flex-wrap:wrap}.ai-heading h2{margin-top:14px}.ai-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:28px;margin-top:24px}.ai-check{display:flex;align-items:flex-start;gap:12px;margin:18px 0;line-height:1.55}.ai-check input{flex:0 0 18px;width:18px;height:18px;margin-top:3px;accent-color:var(--accent)}.ai-limit{display:flex;align-items:center;gap:16px;margin-top:18px}.ai-limit input{max-width:100px;padding:10px;background:var(--panel-2);border:1px solid var(--hairline);border-radius:var(--radius-s)}.ai-activity{padding:20px;background:var(--panel-2);border-radius:var(--radius)}.ai-activity dl div{display:flex;justify-content:space-between;gap:16px;margin:16px 0}.ai-activity dt{color:var(--muted)}.ai-activity dd{margin:0;text-align:right}.ai-report{margin-top:24px;padding-top:20px;border-top:1px solid var(--hairline)}.ai-reviews{list-style:none;padding:0}.ai-reviews li{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--hairline)}.ai-reviews li>div{min-width:0;overflow-wrap:anywhere}.ai-card .card-actions{flex-wrap:wrap}.ai-card .badge{display:inline-flex;gap:7px;align-items:center}@media(max-width:760px){.ai-layout{grid-template-columns:1fr}.ai-reviews li{align-items:flex-start;flex-direction:column}.ai-heading{gap:12px}.ai-limit{flex-wrap:wrap}}.backdrop{position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(90% 60% at 85% -10%,#1e1e23 0,transparent 60%),radial-gradient(60% 50% at 0 110%,#131316 0,transparent 60%),var(--bg)}.backdrop-gl{position:absolute;inset:0;opacity:.5}.grain{position:fixed;inset:0;z-index:-1;pointer-events:none}.app{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh;isolation:isolate;overflow-x:clip}.sidebar{position:sticky;top:0;height:100dvh;padding:22px 16px;display:flex;flex-direction:column;gap:22px;border-right:1px solid var(--line);background:linear-gradient(180deg,#121215e6,#0d0d10e6);backdrop-filter:blur(20px)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);padding:4px 6px}.brand-mark{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;font:600 21px var(--display);color:#0a0a0b;background:linear-gradient(145deg,#ffffff,var(--accent) 55%,#a1a1aa);box-shadow:0 10px 26px -12px rgba(var(--accent-rgb),.45),inset 0 1px 0 #ffffff;flex-shrink:0}.brand-name{font:500 18px var(--display);letter-spacing:-.03em;display:block}.brand-sub{display:block;font-size:11px;color:var(--muted);margin-top:1px}.user-chip{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--hairline);border-radius:16px;background:var(--panel-2)}.avatar{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-weight:700;background:linear-gradient(145deg,#2a2a2f,#1f1f24);color:var(--accent-2);border:1px solid #ffffff14;flex-shrink:0}.user-chip b{font-size:13px;font-weight:600}.user-chip b,.user-chip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip small{font-size:11px;color:var(--muted)}.user-chip>div{min-width:0}.nav-label{font-size:11px;color:var(--faint);padding:0 10px;margin-bottom:-14px}.nav{display:grid;gap:3px}.nav-item{position:relative;display:flex;align-items:center;gap:12px;padding:11px 12px;border:0;border-radius:12px;background:none;color:var(--muted);font-weight:500;text-align:left;transition:color .2s,background .2s}.nav-item:hover{color:var(--ink);background:#ffffff08}.nav-item>*{position:relative;z-index:1}.nav-item[aria-current=page]{color:var(--ink)}.nav-active{position:absolute!important;inset:0;z-index:0!important;border-radius:12px;background:linear-gradient(90deg,#ffffff17,#ffffff05);box-shadow:inset 0 0 0 1px #ffffff1f,0 8px 24px -14px #ffffff40}.nav-active:before{content:"";position:absolute;left:-16px;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:#fff;box-shadow:0 0 14px #ffffffaa}.nav-item[aria-current=page] svg{color:#fff}.nav-badge{margin-left:auto;font-size:11px;padding:1px 7px;border-radius:20px;background:#ffffff0d;color:var(--muted)}.side-foot{margin-top:auto;display:grid;gap:12px}.plan-card{position:relative;overflow:hidden;border-radius:18px;padding:16px;background:radial-gradient(120% 120% at 100% 0,rgba(var(--accent-rgb),.35),transparent 55%),var(--panel-2);border:1px solid rgba(var(--accent-rgb),.25)}.plan-card b{display:block;font:500 14px var(--display);margin:4px 0 6px}.plan-card p{margin:0;line-height:1.5}.plan-card p,.side-links{font-size:12px;color:var(--muted)}.side-links{display:flex;justify-content:space-between;padding:0 6px}.side-links a,.side-links span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);text-decoration:none}.side-links a:hover{color:var(--ink)}main{min-width:0;padding:18px 28px 28px;max-width:1640px;width:100%;margin:0 auto}.topbar{position:sticky;top:0;z-index:30;gap:12px;padding:12px 0 14px;margin-bottom:8px;background:linear-gradient(180deg,var(--bg) 60%,transparent)}.search,.topbar{display:flex;align-items:center}.search{flex:1;max-width:420px;gap:10px;height:44px;padding:0 12px;border-radius:14px;border:1px solid var(--hairline);background:var(--panel);color:var(--muted);transition:border-color .2s,box-shadow .2s}.search:focus-within{border-color:rgba(var(--accent-rgb),.55);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.12)}.search input{flex:1;min-width:0;border:0;background:none;outline:none;height:100%;min-height:0;padding:0;box-shadow:none}.search input:focus-visible{box-shadow:none}.search kbd{font:11px var(--body);padding:2px 7px;border-radius:7px;border:1px solid var(--hairline);color:var(--faint)}.top-actions{margin-left:auto;gap:10px}.month-pill,.top-actions{display:flex;align-items:center}.month-pill{gap:2px;height:44px;padding:3px;border-radius:14px;border:1px solid var(--hairline);background:var(--panel)}.month-pill label{position:relative;min-width:132px;margin:0;display:block;text-align:center;font-weight:600;font-size:14px;color:var(--ink);text-transform:capitalize;overflow:hidden}.month-pill label span{display:inline-block;animation:slide-in .45s var(--ease) both}.month-pill input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}@keyframes slide-in{0%{opacity:0;transform:translateY(60%)}}.icon-btn{display:inline-grid;place-items:center;width:38px;height:38px;padding:0;border-radius:11px;border:1px solid transparent;background:none;color:var(--muted);transition:color .2s,background .2s,border-color .2s,transform .16s cubic-bezier(.23,1,.32,1)}.icon-btn:hover:not(:disabled){color:var(--ink);background:#ffffff0c;border-color:#ffffff14}.icon-btn:active:not(:disabled){transform:scale(.96)}.icon-btn.boxed{width:44px;height:44px;border-radius:14px;border-color:var(--hairline);background:var(--panel)}.icon-btn.danger:hover:not(:disabled){color:var(--danger);background:#e5484d14;border-color:#e5484d33}.spin{animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.btn,.cta{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:13px;white-space:nowrap}.btn{justify-content:center;min-height:42px;padding:10px 16px;border-radius:13px;border:1px solid var(--hairline);background:var(--panel-2);text-decoration:none;color:var(--ink);transition:background .2s,border-color .2s,transform .16s cubic-bezier(.23,1,.32,1)}.btn:hover:not(:disabled){background:var(--panel-3);border-color:#ffffff22}.btn:active:not(:disabled){transform:scale(.97)}.btn.primary{background:linear-gradient(180deg,var(--accent-2),var(--accent));border-color:#ffffff66;color:#0a0a0b;box-shadow:0 10px 26px -14px rgba(var(--accent-rgb),.45),inset 0 1px 0 #ffffff}.btn.primary:hover:not(:disabled){filter:brightness(1.08)}.btn.ghost{background:none;border-color:transparent;color:var(--accent-2)}.btn.ghost:hover:not(:disabled){background:#ffffff08}.btn.small{min-height:34px;padding:6px 12px;border-radius:10px;font-size:12px}.btn.destructive{background:linear-gradient(180deg,#e5484d,#c8363c);border-color:#ff8f8f66;color:#fff}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:6px 0 20px}.hero h1{font-size:clamp(26px,3vw,40px)}.hero-sub{color:var(--muted);font-size:14px;margin-top:10px;max-width:640px}.hero-sub b{color:var(--ink);font-weight:600}.status-line{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);white-space:nowrap}.dot{width:7px;height:7px;border-radius:50%;background:var(--income);box-shadow:0 0 0 0 #4cc38a88;animation:pulse 2.2s ease-out infinite}.dot.demo{background:var(--warn);animation:none}@keyframes pulse{70%{box-shadow:0 0 0 8px #4cc38a00}to{box-shadow:0 0 0 0 #4cc38a00}}.alert{display:flex;align-items:center;gap:12px;padding:10px 12px;margin-bottom:16px;border-radius:16px;border:1px solid #f5b03a33;background:linear-gradient(90deg,#f5b03a14,#f5b03a05);font-size:13px;animation:rise .5s var(--ease) both}.alert-icon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#f5b03a1f;color:var(--warn);flex-shrink:0}.alert .grow{flex:1;min-width:0}.alert b{font-weight:600}.banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;margin-bottom:16px;border-radius:14px;border:1px solid;font-size:13px;animation:rise .5s var(--ease) both}.banner button{border:0;background:none;display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:underline}.banner.error{background:#e5484d14;border-color:#e5484d40;color:#ffb3b3}.banner.demo{background:#f5b03a10;border-color:#f5b03a38;color:#f8d48a}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.loading{display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;margin-bottom:14px}.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-7{grid-column:span 7}.span-6{grid-column:span 6}.span-5{grid-column:span 5}.span-4{grid-column:span 4}.card{position:relative;min-width:0;border-radius:var(--radius);padding:20px;background:linear-gradient(180deg,#151518,#111114);border:1px solid var(--hairline);box-shadow:inset 0 1px 0 #ffffff08;animation:rise .6s var(--ease) both;animation-delay:var(--d,0s)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;min-height:34px}.card-sub{margin-top:4px}.card-sub,.legend-inline{font-size:12px;color:var(--muted)}.legend-inline{display:flex;gap:14px;flex-wrap:wrap}.legend-inline i{display:inline-block;width:8px;height:8px;border-radius:3px;margin-right:6px}.kpis{margin-bottom:14px}.kpis .magic-bento__card{background:linear-gradient(180deg,#151518,#111114)}.kpis .magic-bento__cell:first-child .magic-bento__card{background:linear-gradient(115deg,transparent 30%,#ffffff80 45%,transparent 60%),repeating-linear-gradient(90deg,#ffffff00 0 2px,#ffffff0d 2px 3px),linear-gradient(140deg,#fafafa,#d4d4d8 38%,#a1a1aa 72%,#c4c4cc);color:#0a0a0b}.kpi{display:flex;flex-direction:column;height:100%;min-height:0}.kpi-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;color:var(--muted);font-weight:500}.kpi-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:11px;background:#ffffff0a;border:1px solid #ffffff12;color:var(--ink)}.kpi-value{margin-top:auto;padding-top:10px;font:500 28px/1.1 var(--display);letter-spacing:-.04em;display:flex;align-items:baseline;min-height:40px}.kpi-foot{display:flex;justify-content:space-between;gap:8px;margin-top:10px;font-size:12px;color:var(--muted)}.chip,.kpi-foot{align-items:center}.chip{display:inline-flex;gap:3px;padding:2px 8px;border-radius:20px;font-size:11.5px;font-weight:600;white-space:nowrap}.chip.bad{background:#f0757518;color:var(--expense);box-shadow:inset 0 0 0 1px #f0757533}.chip.good{background:#4cc38a18;color:var(--income);box-shadow:inset 0 0 0 1px #4cc38a33}.chip.flat{background:#ffffff0c;color:var(--muted)}.kpi.hot .kpi-head{color:#27272a}.kpi.hot .kpi-icon{background:#00000022;border-color:#00000022;color:#0a0a0b}.kpi.hot .kpi-value{font-size:34px;color:#09090b}.kpi.hot .kpi-foot{color:#0a0a0b;font-weight:600}.kpi.hot .chip{background:#00000026;color:#0a0a0b;box-shadow:none}.kpi-value.income{color:var(--income)}.kpi-value.expense{color:var(--expense)}.spark{display:flex;align-items:flex-end;gap:3px;height:26px}.spark i{display:block;width:5px;min-height:2px;border-radius:2px;background:#ffffff1f;transform-origin:bottom;animation:grow-y .7s var(--spring) both;animation-delay:calc(var(--i)*60ms + .4s)}.spark i:last-child{background:var(--accent-2)}.kpi.hot .spark i{background:#00000030}.kpi.hot .spark i:last-child{background:#0a0a0b}@keyframes grow-y{0%{transform:scaleY(0)}}.card{transition:border-color .2s ease}@media(hover:hover) and (pointer:fine){.card:hover{border-color:#ffffff1a}}.spend-map{display:grid;gap:22px}.spend-top{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr);gap:28px;align-items:center}.ring{position:relative;aspect-ratio:1;width:100%;max-width:260px;margin:0 auto}.ring svg{width:100%;height:100%;overflow:visible}.ring-center{position:absolute;inset:22%;display:grid;place-items:center;text-align:center;pointer-events:none}.ring-center span{display:block;font-size:12px}.ring-center strong{display:block;font:500 clamp(18px,2vw,23px)/1.15 var(--display);letter-spacing:-.04em;margin:4px 0}.ring-center small{color:var(--muted);font-size:11.5px}.family-legend{list-style:none;margin:0;padding:0;display:grid;gap:4px}.family-legend li{display:grid;grid-template-columns:10px minmax(0,1fr) auto 38px;grid-template-rows:auto 3px;column-gap:10px;row-gap:6px;align-items:center;padding:8px 10px;border-radius:12px;transition:opacity .2s ease,background .2s ease;cursor:default}.family-legend li.dim{opacity:.4}@media(hover:hover) and (pointer:fine){.family-legend li:hover{background:#ffffff08}}.family-legend i{width:10px;height:10px;border-radius:3px}.family-legend span{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-legend b{font-variant-numeric:tabular-nums;font-weight:600;font-size:13px}.family-legend em{font-style:normal;color:var(--muted);font-size:12px;text-align:right;font-variant-numeric:tabular-nums}.family-bar{grid-column:2/-1;height:3px;border-radius:3px;background:#ffffff0a;overflow:hidden}.family-bar span{display:block;height:100%;border-radius:inherit;transform-origin:left}.spend-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start}.spend-tile{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:12px 12px 16px;border-radius:15px;background:#ffffff05;border:1px solid #ffffff0d;text-align:left;color:var(--ink);overflow:hidden;transition:opacity .2s ease,border-color .2s ease,background .2s ease,transform .16s ease-out}.spend-tile:active{transform:scale(.98)}@media(hover:hover) and (pointer:fine){.spend-tile:hover{background:#ffffff0a;border-color:#ffffff22}}.spend-tile.selected{background:color-mix(in srgb,var(--c) 9%,#ffffff05);border-color:color-mix(in srgb,var(--c) 55%,transparent)}.spend-tile.dim{opacity:.45}.spend-tile .cat-icon{width:38px;height:38px}.spend-tile-main{min-width:0}.spend-tile-main b{display:block;font-weight:600;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spend-tile-main small{color:var(--muted);font-size:11.5px}.spend-tile-sum{display:grid;justify-items:end;gap:3px}.spend-tile-sum strong{font-variant-numeric:tabular-nums;font-size:14px}.spend-bar{position:absolute;left:12px;right:12px;bottom:7px;height:3px;border-radius:3px;background:#ffffff0a;overflow:hidden}.spend-bar i{display:block;height:100%;background:var(--c);border-radius:inherit;transform-origin:left;transition:transform .5s cubic-bezier(.23,1,.32,1)}.spend-unused{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.spend-pair{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:inherit;align-items:start}.sticky-card{position:sticky;top:84px;align-self:start}.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.stats.mini{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0 4px}.stat{display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:2px;align-items:center;padding:16px;border-radius:18px;background:linear-gradient(180deg,#16161a,#121215);border:1px solid var(--hairline);min-width:0}.stats.mini .stat{padding:12px;border-radius:14px;background:#ffffff05}.stat-icon{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#ffffff0a;border:1px solid #ffffff12;color:var(--ink)}.stats.mini .stat-icon{width:28px;height:28px;border-radius:9px;color:var(--c,var(--ink))}.stat-label{font-size:12px;color:var(--muted)}.stat strong{font-variant-numeric:tabular-nums;font-size:16px;font-weight:600;letter-spacing:-.01em;white-space:nowrap}.stats:not(.mini) .stat strong{font:500 19px/1.2 var(--display);letter-spacing:-.03em}.stat small{grid-column:1/-1;margin-top:6px;font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail h4{margin:20px 0 8px;font-size:13px;font-weight:600;color:var(--muted)}.detail-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}.detail-head h3{margin:2px 0 0;font:500 20px/1.15 var(--display);letter-spacing:-.03em}.cat-icon.big{width:48px;height:48px;border-radius:14px}.family-chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted)}.family-chip i{width:7px;height:7px;border-radius:50%;background:var(--c)}.detail-total{display:grid;justify-items:end;gap:4px}.detail-total strong{font:500 20px/1.1 var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.trend{height:140px}.merchant-bars{list-style:none;margin:0;padding:0;display:grid;gap:10px}.merchant-bars li{display:grid;grid-template-columns:minmax(0,1fr) auto;row-gap:5px;font-size:13px}.merchant-bars li span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.merchant-bars b{font-variant-numeric:tabular-nums;font-weight:600}.mbar{grid-column:1/-1;height:4px;border-radius:4px;background:#ffffff0a;overflow:hidden}.mbar i{display:block;height:100%;border-radius:inherit;background:var(--c);transform-origin:left}.detail-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sort{padding:3px;border-radius:10px;background:#ffffff06;border:1px solid var(--hairline);margin-top:12px}.sort,.sort button{display:inline-flex}.sort button{align-items:center;gap:5px;padding:4px 9px;border:0;border-radius:7px;background:none;color:var(--muted);font-size:12px;font-weight:500;transition:color .15s ease,background .15s ease}.sort button[aria-pressed=true]{background:#ffffff14;color:var(--ink)}.detail-list{list-style:none;margin:0 0 14px;padding:0;max-height:260px;overflow:auto;scrollbar-width:thin}.detail-list button{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;width:100%;padding:9px 6px;border:0;border-top:1px solid var(--line);background:none;color:var(--ink);text-align:left;font-size:13px;border-radius:0;transition:background .15s ease}.detail-list button:disabled{cursor:default;opacity:1}@media(hover:hover) and (pointer:fine){.detail-list button:not(:disabled):hover{background:#ffffff07}}.detail-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-list time{color:var(--muted)}.detail-list b,.detail-list time{font-variant-numeric:tabular-nums}.detail-list b{font-weight:600}.biggest,.recurring{list-style:none;margin:0;padding:0;display:grid;gap:2px}.recurring li{display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--line)}.recurring .grow{min-width:0}.biggest b,.recurring b{display:block;font-weight:600;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.biggest small,.recurring small{display:block;color:var(--muted);font-size:11.5px}.biggest strong,.recurring strong{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.recurring strong small{font-weight:400}.recurring li.recurring-total{grid-template-columns:minmax(0,1fr) auto;border-bottom:0;padding-top:14px}.recurring-total strong{font:500 18px/1.2 var(--display)}.pill{padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.pill.ok{background:#4cc38a18;color:var(--income);box-shadow:inset 0 0 0 1px #4cc38a33}.pill.wait{background:#f5b03a14;color:var(--warn);box-shadow:inset 0 0 0 1px #f5b03a33}.biggest button{display:grid;grid-template-columns:22px 34px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:10px 6px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);text-align:left;border-radius:10px;transition:background .15s ease,transform .16s ease-out}.biggest button:disabled{cursor:default;opacity:1}.biggest button:not(:disabled):active{transform:scale(.99)}@media(hover:hover) and (pointer:fine){.biggest button:not(:disabled):hover{background:#ffffff07}}.biggest .cat-icon{width:34px;height:34px}.rank{font:500 13px var(--display);color:var(--muted);text-align:center}.biggest li:first-child .rank{color:var(--ink)}.tag svg{flex-shrink:0;color:var(--muted)}.opt{display:inline-flex;align-items:center;gap:8px}.cat-picker{margin:0 0 14px}.cat-picker legend{font-size:12px;font-weight:600;color:#c4c4cc;margin-bottom:8px;padding:0}.cat-picker>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}.cat-choice{margin:0;display:block;font-weight:500;color:var(--ink)}.cat-choice input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;pointer-events:none}.cat-choice span{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:11px;border:1px solid #ffffff12;background:#ffffff05;font-size:12.5px;transition:background .2s,border-color .2s,transform .25s var(--spring)}.cat-choice span svg{color:var(--muted);flex-shrink:0;transition:color .2s}.cat-choice:hover span{background:#ffffff0c;transform:translateY(-1px)}.cat-choice input:checked+span{background:#f4f4f5;color:#0a0a0b;border-color:#fff;box-shadow:0 6px 18px -10px #ffffffaa}.cat-choice input:checked+span svg{color:#0a0a0b}.cat-choice input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}.chart{width:100%;height:280px}.chart.short{height:230px}.chart-tip{padding:10px 12px;border-radius:12px;background:#1b1b20f2;border:1px solid #ffffff1c;box-shadow:0 18px 40px -12px #000;font-size:12px;min-width:160px;backdrop-filter:blur(10px)}.chart-tip b{display:block;font-size:12px;color:var(--muted);font-weight:500;margin-bottom:6px}.chart-tip b:first-letter{text-transform:uppercase}.chart-tip p{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:3px 0}.chart-tip p span{display:inline-flex;align-items:center;gap:7px;color:var(--muted)}.chart-tip i{width:8px;height:8px;border-radius:3px;display:inline-block}.chart-tip strong{font-variant-numeric:tabular-nums}.recharts-cartesian-axis-tick-value{fill:var(--faint);font-size:11px}.recharts-surface:focus,.recharts-wrapper :focus,.recharts-wrapper:focus{outline:none}.chart-details summary{color:var(--muted);font-size:12px;margin-top:8px}.chart-details>div{max-height:150px;overflow:auto;margin-top:6px}.chart-details p{display:flex;justify-content:space-between;font-size:12px;margin:3px 0;color:var(--muted)}.chart-details strong{color:var(--ink)}.month-stack{display:grid;gap:14px;align-content:start}.paycard{position:relative;width:100%;height:100%;padding:20px;display:flex;flex-direction:column;color:#0a0a0b;border-radius:20px;overflow:hidden;background:linear-gradient(115deg,transparent 30%,#ffffff80 45%,transparent 60%),repeating-linear-gradient(90deg,#ffffff00 0 2px,#ffffff0d 2px 3px),linear-gradient(140deg,#fafafa,#d4d4d8 38%,#a1a1aa 72%,#c4c4cc)}.paycard:after{content:"";position:absolute;inset:0;background:repeating-radial-gradient(circle at 120% 120%,transparent 0 22px,#ffffff14 22px 23px);pointer-events:none}.paycard.back{background:linear-gradient(160deg,#222227,#131316);color:var(--ink);box-shadow:inset 0 0 0 1px #ffffff18}.paycard.back:after{background:radial-gradient(80% 80% at 100% 0,rgba(var(--accent-rgb),.25),transparent 60%)}.paycard-top{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:13px}.paycard-chip,.paycard-top{position:relative;z-index:1}.paycard-chip{width:38px;height:28px;border-radius:7px;background:linear-gradient(135deg,#f4f4f5,#a1a1aa);box-shadow:inset 0 0 0 1px #00000030;margin:16px 0 auto}.paycard-amount{position:relative;z-index:1;font:500 30px/1.1 var(--display);letter-spacing:-.04em;margin-top:14px}.paycard-row{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;font-size:12px;margin-top:8px}.paycard-row b{display:block;font-size:13px}.paycard.back h3{position:relative;z-index:1;font:500 14px var(--display);margin-bottom:8px}.merchant-line{position:relative;z-index:1;display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:7px 0;border-bottom:1px solid #ffffff10}.merchant-line span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d4d4d8}.flip-hint{font-size:11px;color:var(--muted);text-align:center;margin-top:8px}.flip-wrap{flex-direction:column}.flip-wrap,.gauge-card{display:flex;align-items:center}.gauge-card{gap:18px}.gauge-card .grow{flex:1;min-width:0}.gauge-card strong{display:block;font:500 26px var(--display);letter-spacing:-.04em;margin:6px 0 4px}.cat-list{display:grid;gap:6px}.cat-tile{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;border-radius:14px;border:1px solid transparent;background:#ffffff05;text-align:left;width:100%;transition:background .2s,border-color .2s,transform .16s cubic-bezier(.23,1,.32,1)}.cat-tile:hover{background:#ffffff0b;border-color:#ffffff12;transform:translateX(3px)}.cat-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;font-weight:700;background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--c);border:1px solid color-mix(in srgb,var(--c) 30%,transparent)}.cat-tile b{font-weight:600;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.cat-bar,.cat-tile b{display:block;overflow:hidden}.cat-bar{height:4px;border-radius:3px;background:#ffffff0d;margin-top:7px}.cat-bar:after{content:"";display:block;height:100%;width:var(--w);background:var(--c);border-radius:inherit;transform-origin:left;animation:grow-x 1s var(--ease) both .3s}@keyframes grow-x{0%{transform:scaleX(0)}}.cat-tile em{font-style:normal;text-align:right;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.cat-tile em small{display:block;color:var(--muted);font-weight:500;font-size:11px}.tx-item{display:flex;align-items:center;gap:12px;width:100%;min-width:0}.tx-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-weight:700;flex-shrink:0;background:color-mix(in srgb,var(--c,#fff) 14%,transparent);color:var(--c,#fff);border:1px solid color-mix(in srgb,var(--c,#fff) 26%,transparent)}.tx-main{flex:1;min-width:0}.tx-main b{font-weight:600;font-size:13.5px}.tx-main b,.tx-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-main small{color:var(--muted);font-size:11.5px}.tx-amount{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.tx-amount small{display:block;color:var(--muted);font-size:11px;font-weight:500}.expense-text{color:var(--expense)}.income-text{color:var(--income)}.recent-list{height:360px;--al-tile:linear-gradient(180deg,#1c1c21,#16161a)!important;--al-tile-edge:#ffffff0d!important;--al-tile-highlight:#ffffff0a!important;--al-frame:transparent!important;--al-well:#ffffff08!important}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}.filters .search{max-width:none;min-width:220px}.table-wrap{overflow:auto;margin:0 -8px;padding:0 8px}table{width:100%;border-collapse:separate;border-spacing:0 4px;text-align:left;white-space:nowrap}th{font-size:11.5px;font-weight:500;color:var(--faint);padding:6px 14px}td{padding:11px 14px;font-size:13px;background:#ffffff05;transition:background .2s}td:first-child{border-radius:14px 0 0 14px}td:last-child{border-radius:0 14px 14px 0}tbody tr{animation:rise .45s var(--ease) both;animation-delay:calc(min(var(--i),8)*24ms)}tbody tr:hover td{background:#ffffff0b}.merchant{display:flex;align-items:center;gap:12px;max-width:340px}.merchant>div{min-width:0}.merchant b{display:block;font-weight:600;white-space:normal;overflow-wrap:anywhere}.merchant small{display:block;color:var(--muted);font-size:11.5px}.tag{display:inline-flex;align-items:center;gap:7px;padding:4px 10px;border-radius:9px;background:#ffffff08;border:1px solid #ffffff10;font-size:12px}.tag i{width:6px;height:6px;border-radius:50%}.date-cell{color:var(--muted);font-variant-numeric:tabular-nums}.amount{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.status{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:8px;font-size:12px;font-weight:600}.status.normal{background:#4cc38a12;color:#7fdcae}.status.high{background:#f5b03a17;color:var(--warn)}.status.income{background:#4cc38a12;color:var(--income)}.status.transfer{background:#ffffff0b;color:var(--muted)}.row-actions{display:flex;justify-content:flex-end;gap:2px;opacity:.5;transition:opacity .2s}.row-actions:focus-within,tr:hover .row-actions{opacity:1}.pagination{justify-content:space-between;gap:12px;padding-top:12px;margin-top:6px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.pagination,.pagination>div{display:flex;align-items:center}.pagination>div{gap:6px}.empty{text-align:center;padding:36px 16px;color:var(--muted)}.empty h3{color:var(--ink);margin:10px 0 4px;font-size:16px}.empty p{font-size:13px}.swipe-list{display:none;gap:8px}.th-sort{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:none;color:inherit;font:inherit;transition:color .15s ease}.th-sort svg{opacity:.5}.th-sort.active{color:var(--ink)}.th-sort.active svg{opacity:1}@media(hover:hover) and (pointer:fine){.th-sort:hover{color:var(--ink)}}th.amount .th-sort{flex-direction:row-reverse}tbody tr.day-row{animation:none}tbody tr.day-row:hover td{background:none}tr.day-row th{padding:18px 14px 8px;text-align:left;font-size:12.5px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line)}tr.day-row th>span:first-child{margin-right:12px}.day-sum{display:inline-flex;gap:10px;font-size:12px;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums}.day-head,.day-sum b{font-weight:600}.day-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 4px 2px;font-size:12.5px}.day-head .day-sum{font-size:11.5px}.ops-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:14px;border-radius:14px;overflow:hidden;background:var(--hairline);border:1px solid var(--hairline)}.ops-summary span{display:grid;gap:2px;padding:10px 14px;background:var(--panel)}.ops-summary small{font-size:11.5px;color:var(--muted)}.ops-summary b{font-variant-numeric:tabular-nums;font-weight:600;font-size:14px}.mobile-sort{display:none;margin-top:0}.mobile-sort button{min-height:34px}.welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;background:radial-gradient(120% 140% at 100% 0,rgba(var(--accent-rgb),.22),transparent 55%),linear-gradient(180deg,#151518,#111114)}.welcome h2{font-size:20px;margin:6px 0}.welcome p{color:var(--muted);max-width:480px;font-size:13px;margin:0}.welcome-actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}.feature-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;color:var(--accent-2);background:rgba(var(--accent-rgb),.12);border:1px solid rgba(var(--accent-rgb),.28);margin-bottom:18px}.badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:11.5px;font-weight:600;color:var(--income);background:#4cc38a14;border:1px solid #4cc38a33;margin-bottom:12px}.badge.neutral{color:var(--muted);background:#ffffff08;border-color:var(--hairline)}.connect h2{font-size:21px;margin-bottom:10px;max-width:360px}.connect p{color:var(--muted);line-height:1.7}.connect ol{color:var(--muted);padding-left:20px;margin:16px 0;display:grid;gap:8px;font-size:13px}.card-actions{flex-wrap:wrap;gap:8px}.bank-wordmark,.card-actions{display:flex;align-items:center}.bank-wordmark{gap:12px;font:700 30px var(--body);color:#d4d4d8;margin-bottom:20px}.bank-wordmark span{font-size:19px;font-weight:500}.price{display:flex;align-items:baseline;gap:10px;margin:16px 0}.price strong{font:500 34px var(--display);letter-spacing:-.04em}.price span{color:var(--muted)}.privacy{display:flex;gap:16px}.privacy>svg{flex-shrink:0;color:var(--accent-2)}.privacy p{max-width:860px;font-size:13px}footer{display:flex;justify-content:space-between;gap:12px;color:var(--faint);font-size:11px;padding:18px 0 4px}.toast-region{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:60;pointer-events:none}.toast-region>*{pointer-events:auto}.mobile-dock{display:none}dialog{border:1px solid #ffffff1c;border-radius:24px;padding:24px;width:min(600px,calc(100% - 24px));max-height:calc(100dvh - 28px);overflow:auto;color:var(--ink);background:linear-gradient(180deg,#1a1a1ef7,#121215f7);backdrop-filter:blur(24px);box-shadow:0 40px 120px -20px #000,inset 0 1px 0 #ffffff12}dialog[open]{animation:dialog-in .45s var(--spring) both}@keyframes dialog-in{0%{opacity:0;transform:translateY(14px) scale(.96)}}dialog::backdrop{background:#000000b3;backdrop-filter:blur(6px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.dialog-head h2{font-size:20px}.dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}fieldset{border:0;padding:0;margin:0;min-width:0}label{display:grid;gap:7px;font-size:12px;font-weight:600;color:#c4c4cc;margin-bottom:14px}input,select{width:100%;min-height:44px;padding:10px 12px;border-radius:12px;border:1px solid #ffffff1c;background:#ffffff08;color:var(--ink);font-size:14px;transition:border-color .2s,box-shadow .2s}input:focus-visible,select:focus-visible{outline:none;border-color:rgba(var(--accent-rgb),.6);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.14)}select option{background:#18181c}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-error{color:#ffb3b3;background:#e5484d14;border:1px solid #e5484d40;border-radius:12px;padding:11px 12px;font-size:13px;animation:shake .4s ease}@keyframes shake{25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}.discard{padding:14px;border:1px solid var(--hairline);border-radius:14px;margin-top:14px}.discard-actions{display:flex;gap:8px;flex-wrap:wrap}.upload-field{padding:18px;border:1px dashed rgba(var(--accent-rgb),.5);background:rgba(var(--accent-rgb),.06);border-radius:14px;color:var(--accent-2)}.file-name{word-break:break-all;font-size:12px}.import-preview{border:1px solid var(--hairline);border-radius:14px;padding:14px;margin-top:16px}.import-preview ul{padding:0;list-style:none}.import-preview li{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.import-preview li>span{min-width:0;overflow-wrap:anywhere}.import-preview li strong{white-space:nowrap}.import-preview small{display:block;color:var(--muted)}.hold-note,.import-preview p{font-size:12px}.hold-note{color:var(--muted);margin:0 auto 0 0;align-self:center}@media(max-width:1280px){.span-7,.span-8{grid-column:span 7}.span-4,.span-5{grid-column:span 5}}@media(max-width:1100px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.spend-pair{grid-template-columns:1fr}.sticky-card{position:relative;top:0}:root{--sidebar:84px}.sidebar{padding:18px 12px;align-items:center}.brand{padding:0}.brand-name,.brand-sub,.nav-badge,.nav-item span,.nav-label,.plan-card,.side-links span.label,.user-chip>div{display:none}.user-chip{padding:0;border:0;background:none}.nav-item{justify-content:center;padding:12px}.nav-active:before{left:-12px}.side-links{flex-direction:column;gap:10px;align-items:center}.span-4,.span-5,.span-6,.span-7,.span-8{grid-column:span 12}}@media(max-width:1100px) and (min-width:761px){.topbar{flex-wrap:wrap}.topbar .search{order:3;flex-basis:100%;max-width:none}.top-actions{margin-left:auto}}@media(max-width:760px){.app{display:block}.sidebar{display:none}main{padding:8px 14px 112px}.topbar{flex-wrap:wrap;gap:8px}.topbar .search{order:3;flex-basis:100%;max-width:none}.top-actions{margin-left:0;width:100%;justify-content:space-between}.cta-label{display:none}.month-pill label{min-width:118px;font-size:13px}.hero{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:14px}.card{padding:16px;border-radius:18px}.grid{gap:10px}.chart{height:230px}.desktop-table{display:none}.swipe-list{display:grid}.mobile-sort{display:inline-flex}.ops-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome{flex-direction:column;align-items:flex-start}.form-grid{gap:0}.form-grid,.spend-tiles,.spend-top{grid-template-columns:1fr}.spend-top{gap:16px}.ring{max-width:220px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stats>.stat:first-child{grid-column:1/-1}.recurring li{grid-template-columns:36px minmax(0,1fr) auto}.recurring li .pill{grid-column:2;grid-row:2;justify-self:start}.recurring li>strong{grid-row:1/3;grid-column:3}.cat-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-dock{display:block;position:fixed;left:0;right:0;bottom:0;height:96px;z-index:40;pointer-events:none}.mobile-dock>*{pointer-events:auto}.toast-region{bottom:104px;width:calc(100% - 24px)}.privacy{gap:10px}.privacy,footer{flex-direction:column}}@media(max-width:420px){.kpi-value{font-size:19px}.kpi.hot .kpi-value{font-size:28px}.kpi-head{font-size:12px}.alert{flex-wrap:wrap}.alert .grow{flex-basis:calc(100% - 44px)}.alert .btn{margin-left:34px}.paycard-amount{font-size:26px}.card-head{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(forced-colors:active){.btn,.card,.nav-item{border:1px solid CanvasText}}.recurring li.recurring-more{display:block;border-bottom:0;padding:10px 0 0}.login-page{min-height:100dvh;max-width:1280px;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:8vw;padding:64px 48px}.login-intro{min-height:560px;display:flex;flex-direction:column;justify-content:space-between}.login-kicker{color:var(--muted);font-size:13px}.login-intro h1{font-size:clamp(27px,3vw,42px);line-height:1.3;margin:20px 0}.login-intro p{color:var(--muted);font-size:16px;line-height:1.8}.login-private{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:12px}.login-card{padding:36px;border:1px solid var(--hairline);border-radius:var(--radius);background:linear-gradient(145deg,var(--panel-3),var(--panel) 45%);box-shadow:0 24px 80px #0005}.login-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:var(--radius-s);color:var(--bg);background:var(--accent);margin-bottom:26px}.login-card h2{font-size:23px}.login-description{color:var(--muted);margin:12px 0 28px}.login-card label{display:block;margin:20px 0 8px}.login-card input{width:100%;min-height:48px;background:var(--bg);border:1px solid var(--hairline);border-radius:var(--radius-s);padding:12px 14px}.login-password{position:relative}.login-password input{padding-right:52px}.login-password button{position:absolute;right:6px;top:5px}.login-message{min-height:52px;font-size:13px;line-height:1.5;color:var(--expense);padding-top:8px}.login-submit{display:flex;align-items:center;justify-content:space-between;width:100%;height:50px;padding:0 18px;border:0;border-radius:var(--radius-s);background:var(--accent);color:var(--bg);font-weight:600}.login-submit:hover:not(:disabled){background:var(--accent-2)}.login-help{font-size:12px;color:var(--muted);line-height:1.6;margin-top:24px}.logout-button{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:0;color:var(--muted);font:inherit}.logout-button:hover{color:var(--ink)}@media(max-width:760px){.login-page{display:block;padding:28px 20px}.login-intro{min-height:auto;gap:30px}.login-intro h1{font-size:24px;margin:12px 0}.login-intro p,.login-kicker,.login-private{display:none}.login-intro .brand{margin-bottom:6px}.login-card{margin-top:28px;padding:26px 22px}.login-icon{display:none}.login-card h2{font-size:21px}}