:root{--bg:#f4f5fb;--card:#fff;--text:#141729;--muted:#6b7189;--line:#e7e8f1;--grid:#eef0f6;--track:#eceef5;--accent:#4f46e5;--accent-2:#7c3aed;--pos:#16a34a;--neg:#e11d48;--warn:#d97706;--p1:#6366f1;--p2:#ec4899;--radius:18px;--shadow:0 1px 2px #1417290a, 0 6px 24px #1417290f;--font:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0d0f1c;--card:#161a2e;--text:#eceefb;--muted:#9096b3;--line:#262b45;--grid:#1f2440;--track:#232843;--accent:#818cf8;--accent-2:#a78bfa;--pos:#34d399;--neg:#fb7185;--warn:#fbbf24;--p1:#818cf8;--p2:#f472b6;--shadow:0 1px 2px #0000004d, 0 8px 28px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-size:15px}h1,h2,h3,h4{letter-spacing:-.01em;margin:0}h1{font-size:1.55rem}h3{font-size:1rem}h4{font-size:.9rem}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}code{background:var(--track);word-break:break-all;border-radius:6px;padding:2px 6px;font-family:ui-monospace,Consolas,monospace;font-size:.82em}.muted{color:var(--muted)}.small{font-size:.82rem}.b{font-weight:600}.center{text-align:center}.pos{color:var(--pos)}.neg{color:var(--neg)}.warn-t{color:var(--warn)}.grow{flex:1;min-width:0}.wide{width:100%}.mt{margin-top:14px}.pad{padding:18px}.w40{text-align:right;width:40px}.w80{width:80px}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.row{align-items:center;gap:12px;display:flex}.row.gap,.gap{gap:8px}.row-sb{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.click{cursor:pointer}.app{min-height:100vh}.side{display:none}.top{z-index:20;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;font-size:1.02rem;display:flex}.logo{background:linear-gradient(135deg, var(--accent), var(--p2));color:#fff;letter-spacing:-.04em;border-radius:11px;place-items:center;width:34px;height:34px;font-size:.8rem;font-weight:800;display:grid}.bell{background:var(--card);width:40px;height:40px;box-shadow:var(--shadow);border-radius:12px;place-items:center;display:grid;position:relative}.badge{background:var(--neg);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;font-weight:700;display:grid;position:absolute;top:-4px;right:-4px}.main{padding:4px 16px calc(96px + env(safe-area-inset-bottom));max-width:1280px;margin:0 auto}.tabbar{z-index:30;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--card) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--muted);border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:.68rem;display:flex}.tabbar a.on{color:var(--accent);font-weight:600}.tabbar a.on svg{transform:translateY(-1px)}@media (width>=960px){.app{grid-template-columns:236px 1fr;display:grid}.side{border-right:1px solid var(--line);background:var(--card);flex-direction:column;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0}.side nav{flex-direction:column;gap:2px;margin-top:26px;display:flex}.side-l{color:var(--muted);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;font-weight:500;display:flex}.side-l:hover{background:var(--track);color:var(--text)}.side-l.on{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent)}.side-f{margin-top:auto;padding:0 12px}.top{grid-column:2;justify-content:flex-end}.top .brand{display:none}.main{grid-column:2;width:100%;padding:0 32px 48px}.tabbar{display:none}}.page{flex-direction:column;gap:16px;animation:.25s fade;display:flex}@keyframes fade{0%{opacity:0;transform:translateY(4px)}}.page-h{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:4px;display:flex}.page-h p{margin:4px 0 0;font-size:.85rem}.page-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grid{gap:16px;display:grid}@media (width>=860px){.g2{grid-template-columns:1fr 1fr}.g-budget{grid-template-columns:340px 1fr;align-items:start}}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;overflow:hidden}.card-h{justify-content:space-between;align-items:flex-start;gap:10px;padding:16px 18px 0;display:flex}.card-h p{margin:3px 0 0}.card-b{padding:14px 18px 18px}.note{background:color-mix(in srgb, var(--warn) 12%, transparent);border-radius:12px;margin:0;padding:10px 14px;font-size:.82rem}.link{color:var(--accent);white-space:nowrap;font-size:.85rem;font-weight:600}.hero{color:#fff;background:radial-gradient(120% 140% at 0 0,#6d5dfc 0%,#4f46e5 45%,#7c3aed 75%,#db2777 120%);border-radius:22px;padding:22px 22px 0;position:relative;overflow:hidden;box-shadow:0 12px 34px #4f46e559}.hero-main{z-index:1;flex-direction:column;gap:6px;display:flex;position:relative}.hero-l{opacity:.85;font-size:.85rem}.hero-v{letter-spacing:-.02em;font-size:2.1rem}.hero-split{opacity:.92;flex-wrap:wrap;gap:6px 18px;margin-top:4px;font-size:.8rem;display:flex}.hero-split b{font-size:.98rem;display:block}.hero-chart{opacity:.9;margin:8px -22px 0}.chip{background:#ffffff2e;border-radius:99px;align-self:flex-start;padding:4px 10px;font-size:.75rem}.stats{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}@media (width>=720px){.stats{grid-template-columns:repeat(4,1fr)}.stats.stats-2{grid-template-columns:repeat(2,1fr)}}.stat{background:var(--card);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:3px;min-width:0;padding:14px 16px;display:flex}.stat-l{color:var(--muted);font-size:.76rem}.stat-v{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:1.25rem;overflow:hidden}.stat-s{color:var(--muted);font-size:.74rem}.stat.pos .stat-v{color:var(--pos)}.stat.neg .stat-v{color:var(--neg)}.stat.warn .stat-v{color:var(--warn)}.stats-2 .stat{box-shadow:none;background:var(--bg)}.seg{background:var(--card);box-shadow:var(--shadow);border-radius:12px;gap:2px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.seg button{color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:7px 12px;font-size:.84rem}.seg button.on{background:var(--accent);color:#fff;font-weight:600}.seg-sm button{padding:5px 10px;font-size:.78rem}.tabs-scroll{margin:0 -16px;padding:2px 16px 4px;overflow-x:auto}.select{appearance:none;background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a8fa8' stroke-width='3'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;box-shadow:var(--shadow);cursor:pointer;border:0;border-radius:12px;padding:9px 30px 9px 12px;font-size:.85rem}.select-sm{box-shadow:none;background-color:var(--bg);padding:6px 28px 6px 10px;font-size:.8rem}.btn{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:11px 18px;font-weight:600;transition:transform .1s,opacity .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.sm{border-radius:10px;padding:7px 12px;font-size:.82rem}.btn.ghost{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent)}.btn.danger{background:color-mix(in srgb, var(--neg) 12%, transparent);color:var(--neg)}.icon-btn{background:var(--track);cursor:pointer;width:30px;height:30px;color:var(--muted);border:0;border-radius:9px;flex:none}.fab{right:18px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:25;background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;cursor:pointer;border:0;border-radius:18px;place-items:center;width:56px;height:56px;display:grid;position:fixed;box-shadow:0 10px 26px #4f46e573}@media (width>=960px){.fab{bottom:28px;right:32px}}.list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.list>li{border-bottom:1px solid var(--line);padding:10px 0}.list>li:last-child{border-bottom:0}.list>li.sel{background:color-mix(in srgb, var(--accent) 8%, transparent);border-radius:10px;margin:0 -10px;padding:10px}.row-t{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.money{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.money.big{font-size:1.8rem}.catdot{background:var(--track);border-radius:11px;flex:none;place-items:center;display:inline-grid}.date-badge{background:var(--track);border-radius:12px;flex-direction:column;flex:none;justify-content:center;align-items:center;width:44px;height:46px;line-height:1.05;display:flex}.date-badge b{font-size:1.05rem}.date-badge span{color:var(--muted);text-transform:uppercase;font-size:.66rem}.date-badge.due{background:color-mix(in srgb, var(--neg) 14%, transparent);color:var(--neg)}.date-badge.income{background:color-mix(in srgb, var(--pos) 14%, transparent);color:var(--pos)}.insights{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ins{background:var(--bg);border-left:3px solid var(--muted);border-radius:12px;padding:10px 12px;font-size:.86rem}.ins.warn{border-color:var(--warn)}.ins.good{border-color:var(--pos)}.ins.info{border-color:var(--accent)}.legend-list{flex-direction:column;gap:7px;margin:4px 0 0;padding:0;font-size:.85rem;list-style:none;display:flex}.legend-list li{align-items:center;gap:8px;display:flex}.legend-list i{border-radius:3px;flex:none;width:10px;height:10px}.donut-wrap{position:relative}.donut-c{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.donut-c b{font-size:1.15rem}.bars{flex-direction:column;gap:11px;margin:0;padding:0;list-style:none;display:flex}.hbar{background:var(--track);border-radius:6px;height:8px;margin-top:5px;overflow:hidden}.hbar>div{border-radius:6px;height:100%}.progress{background:var(--track);border-radius:6px;height:8px;margin:6px 0 4px;position:relative}.progress-f{background:var(--accent);border-radius:6px;height:100%;transition:width .4s}.progress.warn .progress-f{background:var(--warn)}.progress.over .progress-f{background:var(--neg)}.progress-m{background:var(--text);opacity:.45;border-radius:1px;width:2px;height:14px;position:absolute;top:-3px}.budget-row{align-items:flex-start;gap:12px;display:flex}.budget-hero .card-b{flex-direction:column;gap:10px;display:flex}.ring{position:relative}.ring-c{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-c b{font-size:1.6rem}.goals{gap:12px;display:grid}@media (width>=720px){.goals{grid-template-columns:1fr 1fr}}.goal{background:var(--bg);border-radius:14px;gap:12px;padding:14px;display:flex}.goal-i{font-size:1.6rem}.tip{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;min-width:150px;padding:9px 12px;font-size:.8rem}.tip-l{margin-bottom:5px;font-weight:600}.tip-r{align-items:center;gap:7px;display:flex}.tip-r b{margin-left:auto;padding-left:10px}.tip-r i{border-radius:50%;width:8px;height:8px}.recharts-text{fill:var(--muted)}.recharts-legend-item-text{color:var(--muted)!important}.heat{gap:6px;display:flex;overflow-x:auto}.heat-days{color:var(--muted);grid-template-rows:repeat(7,14px);gap:3px;font-size:.62rem;display:grid}.heat-grid{grid-template-rows:repeat(7,14px);grid-auto-columns:14px;grid-auto-flow:column;gap:3px;display:grid}.heat i,.heat-legend i{background:var(--track);border-radius:4px;width:14px;height:14px;display:inline-block}.heat .h1,.heat-legend .h1{background:color-mix(in srgb, var(--accent) 22%, var(--track))}.heat .h2,.heat-legend .h2{background:color-mix(in srgb, var(--accent) 42%, var(--track))}.heat .h3,.heat-legend .h3{background:color-mix(in srgb, var(--accent) 62%, var(--track))}.heat .h4,.heat-legend .h4{background:color-mix(in srgb, var(--accent) 82%, var(--track))}.heat .h5,.heat-legend .h5{background:var(--p2)}.heat-legend{align-items:center;gap:3px;margin-top:10px;display:flex}.slider{flex-direction:column;gap:6px;margin-bottom:14px;font-size:.88rem;display:flex}.slider input{width:100%;accent-color:var(--accent)}.whatif{background:var(--bg);border-radius:12px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.whatif b{font-size:1.2rem;display:block}.explain{margin-top:12px;line-height:1.5}.timeline{border-left:2px solid var(--line);flex-direction:column;gap:14px;margin:0;padding:0 0 0 14px;list-style:none;display:flex}.timeline li{align-items:center;gap:10px;display:flex;position:relative}.tl-dot{background:var(--muted);border:2px solid var(--card);border-radius:50%;width:12px;height:12px;position:absolute;left:-21px}.timeline .due .tl-dot,.timeline .expense .tl-dot{background:var(--neg)}.timeline .income .tl-dot,.timeline .paid .tl-dot{background:var(--pos)}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.84rem}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:9px 12px}.table th{color:var(--muted);background:var(--card);font-size:.74rem;font-weight:600;position:sticky;top:0}.table td:first-child,.table th:first-child{background:var(--card);padding-left:18px;position:sticky;left:0}.table .num{text-align:right}.table .sec td{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--bg);font-size:.74rem;font-weight:700}.table .tot td{font-weight:700}.table .grand td{border-top:2px solid var(--text);font-size:.95rem;font-weight:800}.pill{background:var(--track);color:var(--muted);border-radius:99px;margin-left:6px;padding:2px 8px;font-size:.68rem;font-weight:600;display:inline-block}.pill.open{background:color-mix(in srgb, var(--neg) 14%, transparent);color:var(--neg)}.pill.paid{background:color-mix(in srgb, var(--pos) 14%, transparent);color:var(--pos)}.pill.ramani{background:color-mix(in srgb, var(--p1) 16%, transparent);color:var(--p1)}.pill.rohit{background:color-mix(in srgb, var(--p2) 16%, transparent);color:var(--p2)}.pill.shared{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}.filters{flex-wrap:wrap;gap:8px;display:flex}.search{background:var(--card);box-shadow:var(--shadow);color:var(--muted);border-radius:12px;flex:260px;align-items:center;gap:8px;padding:0 12px;display:flex}.search input{color:var(--text);background:0 0;border:0;outline:none;flex:1;padding:10px 0}.tx-group{border-bottom:1px solid var(--line)}.tx-date{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:12px 18px 4px;font-size:.74rem;font-weight:700}.tx{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:10px 18px;display:flex}.tx:hover{background:var(--bg)}.tx-mid{flex-direction:column;gap:2px;display:flex}.tx-m{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.tx-amt{flex-direction:column;align-items:flex-end;display:flex}.tx-detail{text-align:center;flex-direction:column;align-items:center;gap:4px;margin-bottom:16px;display:flex}.tx-detail .desc{text-align:left;margin-top:6px}.acc-grid{gap:12px;display:grid}@media (width>=720px){.acc-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}.acc{background:var(--bg);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:4px;padding:16px;display:flex}.acc.archived{opacity:.5}.acc-inst{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.acc-name{font-size:.95rem}.acc-bal{letter-spacing:-.01em;font-size:1.45rem}.form{flex-direction:column;gap:12px;display:flex}.form label,.auth label{color:var(--muted);flex-direction:column;gap:5px;font-size:.82rem;font-weight:500;display:flex}.form input,.form select,.auth input,.auth select,.card input:not([type=range]):not([type=checkbox]),.card label>select{border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:11px;outline:none;padding:10px 12px;font-size:.95rem}.form input:focus,.auth input:focus{border-color:var(--accent)}.form-row{gap:10px;display:flex}.form-row>label{flex:1;min-width:0}.form .check,label.check{flex-wrap:wrap;align-items:center;color:var(--text)!important;flex-direction:row!important;gap:8px!important}.check input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}label.inline{justify-content:space-between;align-items:center;gap:10px;font-size:.88rem;display:flex}.sheet-bg{z-index:50;background:#0a0c1973;justify-content:center;align-items:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}.sheet{background:var(--card);width:100%;max-width:560px;max-height:92vh;padding-bottom:env(safe-area-inset-bottom);border-radius:22px 22px 0 0;flex-direction:column;animation:.22s up;display:flex}@keyframes up{0%{opacity:.5;transform:translateY(40px)}}@media (width>=720px){.sheet-bg{align-items:center}.sheet{border-radius:22px}}.sheet-grab{background:var(--line);border-radius:3px;width:40px;height:5px;margin:8px auto 0}.sheet-h{justify-content:space-between;align-items:center;padding:10px 20px;display:flex}.sheet-b{padding:6px 20px 16px;overflow-y:auto}.sheet-f{border-top:1px solid var(--line);padding:12px 20px 16px;display:flex}.auth{background:radial-gradient(80% 60% at 20% 0%, color-mix(in srgb, var(--accent) 25%, transparent), transparent), radial-gradient(70% 60% at 100% 100%, color-mix(in srgb, var(--p2) 18%, transparent), transparent), var(--bg);place-items:center;min-height:100vh;padding:20px;display:grid}.auth-card{background:var(--card);width:100%;max-width:400px;box-shadow:var(--shadow);border-radius:24px;flex-direction:column;gap:14px;padding:28px;display:flex}.brand-lg{align-items:center;gap:12px;display:flex}.brand-lg div{flex-direction:column;display:flex}.brand-lg .logo{border-radius:14px;width:46px;height:46px;font-size:1rem}.auth h2{margin-top:6px;font-size:1.3rem}.menu-row{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:14px 18px;display:flex}.menu-row:last-child{border-bottom:0}.menu-i{background:color-mix(in srgb, var(--accent) 12%, transparent);width:40px;height:40px;color:var(--accent);border-radius:12px;place-items:center;display:grid}.notif{border-bottom:1px solid var(--line);gap:12px;padding:14px 18px;display:flex}.notif.unread{background:color-mix(in srgb, var(--accent) 7%, transparent)}.notif .small{margin:3px 0}.drop{text-align:center;border:2px dashed var(--line);cursor:pointer;border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:34px 18px;transition:all .15s;display:flex}.drop.on,.drop:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent)}.drop-i{font-size:2.2rem}.invite{flex-direction:column;gap:8px;display:flex}.empty{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:30px;display:flex}.empty-i{font-size:2rem}.center-screen{flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:70vh;display:flex}.spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toast{left:50%;bottom:calc(92px + env(safe-area-inset-bottom));z-index:60;background:var(--text);color:var(--bg);box-shadow:var(--shadow);border-radius:14px;max-width:calc(100% - 32px);padding:11px 18px;font-size:.88rem;font-weight:500;animation:.2s fade;position:fixed;transform:translate(-50%)}.toast.good{background:var(--pos);color:#fff}.toast.bad{background:var(--neg);color:#fff}@media (width>=960px){.toast{bottom:28px}}
