:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#15171b;background:#f5f6f8;line-height:1.45;font-synthesis:none}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;min-width:320px}body{background:#f5f6f8}button,input,select{font:inherit}button{border:0;background:none;cursor:pointer;color:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:252px;background:#fff;border-right:1px solid #e5e7eb;padding:20px 14px;display:flex;flex-direction:column;z-index:40}.logo{display:flex;gap:11px;align-items:center;padding:4px 9px 28px}.logo strong{display:block;font-size:15px;letter-spacing:-.01em}.logo span{display:block;font-size:10px;color:#8b9098;margin-top:2px}.brand-mark{width:42px;height:42px;border-radius:12px;background:#15171b;color:#fff;display:grid;place-items:center}.brand-mark.small{width:36px;height:36px;border-radius:10px}.sidebar nav{display:grid;gap:4px}.sidebar nav button,.logout{display:flex;align-items:center;gap:11px;width:100%;height:42px;padding:0 11px;border-radius:9px;color:#70757e;font-size:13px;text-align:left}.sidebar nav button:hover,.logout:hover{background:#f5f6f8;color:#15171b}.sidebar nav button.active{background:#eceef1;color:#111317;font-weight:650}.sidebar-bottom{margin-top:auto;display:grid;gap:12px}.user-mini{display:flex;align-items:center;gap:9px;padding:18px 10px 10px;border-top:1px solid #eef0f3}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e9ebef;font-size:12px;font-weight:700}.user-mini b,.user-mini span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:165px}.user-mini b{font-size:11px}.user-mini span{font-size:10px;color:#8a8f97;margin-top:1px}.logout{justify-content:flex-start}.main{margin-left:252px;min-height:100vh}.topbar{height:82px;background:#fff;border-bottom:1px solid #e5e7eb;padding:0 34px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:25}.top-left{display:flex;align-items:center}.topbar h2{margin:2px 0 0;font-size:21px;letter-spacing:-.025em}.eyebrow{font-size:9px;font-weight:700;letter-spacing:.1em;color:#8b9098}.hamb{display:none;width:36px;height:36px;place-items:center;margin-right:8px}.page{padding:28px 34px 42px;max-width:1500px;margin:0 auto}.hero-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;margin-bottom:18px}.hero-card,.metric-card,.card,.account-card,.budget-card,.goal-card{background:#fff;border:1px solid #e4e7eb;border-radius:14px}.hero-card{min-height:164px;padding:24px;display:flex;align-items:center;justify-content:space-between;background:#17191d;color:#fff}.hero-card strong{display:block;font-size:35px;letter-spacing:-.04em;margin:10px 0 4px}.hero-card p{margin:0;color:#aeb3bb;font-size:11px}.muted-light{color:#aeb3bb}.hero-icon{width:44px;height:44px;border-radius:11px;background:#292c32;display:grid;place-items:center}.metric-card{min-height:164px;padding:24px}.metric-card span,.metric-card small{display:block;color:#7e838c;font-size:11px}.metric-card strong{display:block;font-size:26px;margin:28px 0 5px;letter-spacing:-.03em}.positive{color:#1e7045}.two-col{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;margin-bottom:16px}.three-col{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px}.card{padding:20px}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.card-head h3{margin:0;font-size:14px;letter-spacing:-.01em}.card-head span{display:block;color:#8a8f97;font-size:10px;margin-top:3px}.link-button{display:inline-flex;align-items:center;gap:5px;color:#626872;font-size:11px;padding:6px 7px;border-radius:7px}.link-button:hover{background:#f4f5f7;color:#15171b}.tx-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto 30px;align-items:center;gap:11px;padding:12px 0;border-top:1px solid #eef0f3}.icon-tile{width:32px;height:32px;border-radius:9px;background:#f0f2f5;display:grid;place-items:center;color:#5f646d;flex:none}.icon-tile.income{color:#1e7045;background:#edf7f1}.icon-tile.large{width:40px;height:40px;border-radius:11px}.tx-main b,.account-row b{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-main span,.account-row span{display:block;color:#8a8f97;font-size:10px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-row>strong{font-size:12px;white-space:nowrap}.status{font-size:9px;font-weight:650;padding:5px 8px;border-radius:999px;white-space:nowrap}.status.pending{background:#fff4d7;color:#876400}.status.planned{background:#edf1ff;color:#4a5b91}.status.completed{background:#eaf7ef;color:#277148}.status.cancelled{background:#f5e9e9;color:#975050}.icon-button{width:30px;height:30px;border:1px solid #e1e4e8;border-radius:8px;display:grid;place-items:center;color:#686d76}.icon-button:hover{background:#f5f6f8}.icon-button.danger:hover{color:#a43d3d;background:#fff1f1}.account-row{display:flex;align-items:center;gap:10px;border-top:1px solid #eef0f3;padding:12px 0}.account-row>strong{margin-left:auto;font-size:12px}.goal-summary{margin:6px 0 18px}.goal-number{font-size:24px;font-weight:750;letter-spacing:-.03em}.goal-summary span{font-size:10px;color:#8a8f97}.goal-mini{margin-top:13px}.goal-mini>div:first-child{display:flex;justify-content:space-between;font-size:10px}.goal-mini span{color:#8a8f97}.progress{height:5px;background:#eceef1;border-radius:999px;overflow:hidden;margin-top:7px}.progress i{display:block;height:100%;background:#1b1d21;border-radius:999px}.balance-bars{display:grid;gap:12px}.balance-bars>div:first-child,.balance-bars>div:nth-of-type(3){display:flex;justify-content:space-between;font-size:11px}.balance-bars span{color:#7e838c}.balance-bars strong{font-size:12px}.bar{height:7px;background:#eceef1;border-radius:999px;overflow:hidden}.bar i{height:100%;display:block;background:#1b1d21;border-radius:999px}.quick-actions{display:grid;gap:7px}.quick-actions button{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #e4e6ea;border-radius:9px;text-align:left;font-size:11px}.quick-actions button:hover{background:#f7f8f9}.empty-inline{padding:30px 10px;text-align:center;color:#8a8f97;display:grid;justify-items:center;gap:5px}.empty-inline b{font-size:12px;color:#4d525a}.empty-inline span{font-size:10px;max-width:300px}.page-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.page-actions h1{font-size:22px;margin:0 0 4px;letter-spacing:-.03em}.page-actions p{margin:0;font-size:12px}.actions{display:flex;gap:8px}.primary,.secondary{border-radius:9px;padding:10px 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:650}.primary{background:#17191d;color:#fff}.primary:hover{background:#2a2d32}.primary:disabled{opacity:.45;cursor:not-allowed}.secondary{background:#fff;border:1px solid #e0e3e7;color:#4f555e}.secondary:hover{background:#f6f7f8}.account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.account-card{padding:21px}.account-card-top{display:flex;justify-content:space-between;align-items:center}.account-card-top>span{font-size:9px;color:#8b9098;text-transform:uppercase;letter-spacing:.06em}.account-card h3{font-size:14px;margin:16px 0 18px}.account-card strong{display:block;font-size:25px;letter-spacing:-.03em}.account-card small{color:#8b9098;font-size:10px}.budget-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.budget-card{padding:20px}.budget-top{display:flex;justify-content:space-between;color:#858a93;font-size:10px;margin-bottom:16px}.budget-card strong{font-size:25px;display:block;letter-spacing:-.03em}.budget-card small{display:block;color:#8a8f97;font-size:10px;margin-top:8px}.goal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.goal-card{padding:20px}.goal-card-top{display:flex;align-items:center;justify-content:space-between}.goal-card-top>span{font-size:10px;color:#8b9098}.goal-card h3{font-size:14px;margin:17px 0 10px}.goal-values{display:flex;align-items:baseline;gap:6px}.goal-values strong{font-size:23px;letter-spacing:-.03em}.goal-values span{font-size:10px;color:#8b9098}.goal-card small{display:block;color:#8a8f97;font-size:10px;margin-top:8px}.recurring-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto 30px;gap:11px;align-items:center;padding:13px 0;border-top:1px solid #eef0f3}.recurring-row:first-child{border-top:0}.recurring-row b{display:block;font-size:12px}.recurring-row span{display:block;color:#8a8f97;font-size:10px;margin-top:2px}.recurring-row>strong{font-size:12px}.toggle{font-size:9px;padding:6px 8px;border-radius:999px;background:#f0f1f3;color:#737881}.toggle.on{background:#eaf7ef;color:#277148}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-top:1px solid #eef0f3}.setting-row b,.setting-row span{display:block}.setting-row b{font-size:12px}.setting-row span{font-size:10px;color:#8a8f97;margin-top:3px}.setting-row select{width:180px}.toolbar{display:flex;gap:10px;margin-bottom:14px}.toolbar select{width:180px}.search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e1e4e8;border-radius:9px;padding:0 10px;flex:1;max-width:480px}.search input{border:0;margin:0;padding:10px 0;outline:0}.empty-state{text-align:center;padding:60px 20px}.empty-state svg{color:#777}.empty-state h3{font-size:14px;margin:12px 0 4px}.empty-state p{font-size:11px;color:#8a8f97}.modal-backdrop{position:fixed;inset:0;background:#0007;display:grid;place-items:center;padding:20px;z-index:80}.modal{width:min(520px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:15px;padding:22px;box-shadow:0 24px 80px #0004}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.modal-head h3{font-size:16px;margin:0}.modal-head span{display:block;font-size:10px;color:#8a8f97;margin-top:3px}.form-stack{display:grid;gap:4px}.field{display:block;margin-bottom:13px}.field>span{display:block;color:#646a73;font-size:10px;font-weight:650;margin-bottom:6px}.field input,.field select,.toolbar select,.setting-row select{width:100%;border:1px solid #dfe2e7;border-radius:8px;background:#fff;color:#16181c;padding:10px 11px;outline:0}.field input:focus,.field select:focus,.search:focus-within,.toolbar select:focus{border-color:#9aa0a8;box-shadow:0 0 0 3px #00000008}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.segmented{display:grid;grid-template-columns:1fr 1fr;background:#f0f1f3;padding:3px;border-radius:9px;margin-bottom:18px}.segmented button{padding:8px;border-radius:7px;font-size:11px;color:#737881}.segmented button.selected{background:#fff;color:#15171b;box-shadow:0 1px 3px #0001;font-weight:650}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:7px}.full{width:100%}.auth{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#f4f5f7,#eef0f3)}.auth-card{width:min(420px,100%);background:#fff;border:1px solid #e1e4e8;border-radius:17px;padding:34px;box-shadow:0 24px 70px #0000000c}.auth-card h1{font-size:27px;letter-spacing:-.035em;margin:9px 0 7px}.muted{color:#848991}.auth-card>.muted{font-size:12px;margin:0 0 26px}.text-button{width:100%;margin-top:16px;color:#646a73;font-size:11px}.error{background:#fff0f0;border:1px solid #f0d1d1;color:#9e3535;padding:9px;border-radius:8px;font-size:10px}.toast{position:fixed;right:22px;bottom:22px;z-index:100;background:#17191d;color:#fff;padding:11px 14px;border-radius:9px;font-size:11px;box-shadow:0 12px 40px #0003}.toast.error{background:#a43d3d;color:#fff;border:0}.toast.info{background:#465064}.skeleton{background:linear-gradient(90deg,#fff,#eef0f2,#fff);background-size:200% 100%;animation:load 1.3s infinite;border-radius:14px}.skeleton.large{height:300px}@keyframes load{to{background-position:-200% 0}}.mobile-bar{display:none}@media(max-width:1050px){.hero-grid{grid-template-columns:1.6fr 1fr}.hero-grid .metric-card:last-child{display:none}.three-col{grid-template-columns:1fr 1fr}.three-col .card:last-child{grid-column:1/-1}.account-grid,.budget-grid,.goal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.sidebar{transform:translate(-100%);transition:transform .2s;width:275px;box-shadow:20px 0 60px #0002}.sidebar.open{transform:translate(0)}.overlay{position:fixed;inset:0;background:#0007;z-index:35}.main{margin-left:0;padding-bottom:64px}.topbar{height:72px;padding:0 16px}.hamb{display:grid}.topbar .primary{padding:9px 11px}.topbar .primary svg{display:none}.page{padding:20px 16px 28px}.hero-grid{grid-template-columns:1fr}.hero-grid .metric-card:last-child{display:block}.two-col,.three-col,.settings-grid,.account-grid,.budget-grid,.goal-grid{grid-template-columns:1fr}.page-actions{align-items:flex-start;flex-direction:column}.actions{width:100%}.actions button{flex:1}.tx-row{grid-template-columns:32px minmax(0,1fr) auto}.tx-row .status{display:none}.tx-row>strong{grid-column:3;grid-row:1}.tx-row>.icon-button{grid-column:3;grid-row:2}.recurring-row{grid-template-columns:32px minmax(0,1fr) auto}.recurring-row>strong{grid-column:3;grid-row:1}.recurring-row .toggle{grid-column:2;justify-self:start}.recurring-row .danger{grid-column:3;grid-row:2}.mobile-bar{display:flex;position:fixed;left:0;right:0;bottom:0;height:62px;background:#fff;border-top:1px solid #e4e7eb;z-index:30;justify-content:space-around}.mobile-bar button{display:grid;place-items:center;gap:2px;color:#7d828a;font-size:9px;min-width:64px}.mobile-bar button.active{color:#17191d;font-weight:650}.toolbar{flex-direction:column}.toolbar select{width:100%}.search{max-width:none}.form-grid{grid-template-columns:1fr}.modal{padding:18px}.hero-card{min-height:145px}.hero-card strong{font-size:30px}}@media(max-width:420px){.topbar h2{font-size:18px}.topbar .eyebrow{display:none}.topbar .primary{font-size:10px}.hero-card,.metric-card{padding:18px}.card{padding:16px}.page-actions h1{font-size:20px}}.theme-toggle{width:36px;height:36px;border:1px solid #e1e4e8;border-radius:9px;display:grid;place-items:center;background:#fff;color:#555b64}.theme-toggle:hover{background:#f5f6f8}.theme-switch{display:inline-flex;align-items:center;gap:9px;border:1px solid #dfe2e7;border-radius:999px;padding:4px 10px 4px 4px;background:#fff;font-size:10px;color:#646a73;min-height:34px;transition:background .18s,border-color .18s,color .18s}.theme-switch-track{position:relative!important;display:block!important;width:40px!important;height:24px!important;min-width:40px;border-radius:999px;background:#dfe2e7;transition:background .18s;flex:none}.theme-switch-thumb{position:absolute!important;left:3px;top:3px;width:18px!important;height:18px!important;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0002;transition:transform .18s;display:block!important}.theme-switch.on{background:#202329;color:#fff;border-color:#343841}.theme-switch.on .theme-switch-track{background:#5d6470}.theme-switch-label{width:auto!important;height:auto!important;border-radius:0!important;background:transparent!important;display:block!important;transform:none!important}.allocation-hero{background:#f7f8f9;border:1px solid #e5e7eb;border-radius:12px;padding:16px;margin-bottom:18px}.allocation-top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.allocation-top>div{display:grid;gap:3px}.allocation-top .eyebrow{font-size:9px;letter-spacing:.09em;color:#8a8f97}.allocation-top strong{font-size:24px;letter-spacing:-.035em}.allocation-target{text-align:right}.allocation-target span{font-size:9px;color:#8a8f97;text-transform:uppercase;letter-spacing:.08em}.allocation-progress{height:7px;margin-top:15px}.allocation-meta{display:flex;justify-content:space-between;margin-top:7px;color:#8a8f97;font-size:10px}.amount-input{display:flex;align-items:center;border:1px solid #dfe2e7;border-radius:8px;background:#fff;overflow:hidden}.amount-input:focus-within{border-color:#9aa0a8;box-shadow:0 0 0 3px #00000008}.amount-input span{padding-left:11px;color:#8a8f97;font-size:12px}.amount-input input{border:0!important;box-shadow:none!important;border-radius:0!important;flex:1}.allocation-preview{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:-2px 0 13px}.allocation-preview>div{background:#f7f8f9;border:1px solid #e7e9ec;border-radius:9px;padding:10px 11px}.allocation-preview span{display:block;color:#8a8f97;font-size:9px;margin-bottom:3px}.allocation-preview strong{font-size:14px}body.dark{background:#101216;color:#f0f1f3}body.dark .app-shell,body.dark .main,body.dark .page{background:#101216}body.dark .sidebar,body.dark .topbar,body.dark .mobile-bar{background:#17191e;border-color:#292d34}body.dark .logo strong,body.dark .topbar h2,body.dark .card h3,body.dark .account-card h3,body.dark .budget-card strong,body.dark .goal-card h3,body.dark .modal-head h3,body.dark .auth-card h1{color:#f3f4f6}body.dark .sidebar nav button{color:#a8adb6}body.dark .sidebar nav button:hover{background:#202329;color:#f3f4f6}body.dark .sidebar nav button.active{background:#2a2e35;color:#fff}body.dark .user-mini b,body.dark .tx-main b,body.dark .account-row b,body.dark .goal-mini b{color:#f0f1f3}body.dark .card,body.dark .metric-card,body.dark .account-card,body.dark .budget-card,body.dark .goal-card,body.dark .auth-card{background:#17191e;border-color:#292d34;box-shadow:none}body.dark .card-head,body.dark .account-row,body.dark .recurring-row,body.dark .setting-row{border-color:#292d34}body.dark .muted,body.dark .card-head span,body.dark .tx-main span,body.dark .account-row span,body.dark .goal-values span,body.dark .goal-card small,body.dark .setting-row span,body.dark .metric-card small,body.dark .eyebrow{color:#8f96a1}body.dark .primary{background:#f3f4f6;color:#15171b}body.dark .primary:hover{background:#fff}body.dark .secondary,body.dark .theme-toggle,body.dark .icon-button{background:#1d2026;border-color:#343841;color:#d9dce1}body.dark .secondary:hover,body.dark .theme-toggle:hover,body.dark .icon-button:hover{background:#262a31}body.dark .search,body.dark .field input,body.dark .field select,body.dark .toolbar select,body.dark .setting-row select,body.dark .amount-input{background:#1d2026;border-color:#343841;color:#f0f1f3}body.dark .search input,body.dark .amount-input input{background:transparent;color:#f0f1f3}body.dark .search input::placeholder,body.dark input::placeholder{color:#707783}body.dark .quick-actions button{border-color:#343841;background:#1d2026;color:#dfe2e7}body.dark .quick-actions button:hover{background:#262a31}body.dark .progress,body.dark .bar{background:#2b2f36}body.dark .progress i,body.dark .bar i{background:#f0f1f3}body.dark .modal-backdrop{background:#000b}body.dark .modal{background:#17191e;border:1px solid #30343c;color:#f0f1f3}body.dark .allocation-hero,body.dark .allocation-preview>div{background:#1d2026;border-color:#30343c}body.dark .segmented{background:#22262d}body.dark .segmented button.selected{background:#f0f1f3;color:#15171b}body.dark .allocation-meta,body.dark .modal-hint{color:#8f96a1}body.dark .status.pending{background:#4a3d1d;color:#e6c66a}body.dark .status.planned{background:#252d46;color:#aebcf0}body.dark .status.completed{background:#1d3829;color:#85d3a5}body.dark .status.cancelled{background:#3d2426;color:#e3a0a0}body.dark .toast{background:#f3f4f6;color:#15171b}body.dark .toast.info{background:#3b4352;color:#fff}body.dark .auth{background:radial-gradient(circle at top,#242831,#101216)}body.dark .auth-card{background:#17191e;border-color:#30343c}body.dark .modal .field>span{color:#aeb4bd}body.dark .empty-state,body.dark .empty-inline,body.dark .mobile-bar button{color:#8f96a1}body.dark .mobile-bar button.active{color:#f3f4f6}body.dark .logo span{color:#777e89}@media(max-width:800px){.top-actions{gap:6px}.theme-toggle{width:34px;height:34px}.allocation-top strong{font-size:21px}.allocation-preview{grid-template-columns:1fr 1fr}}:root{--bg:#f5f6f8;--surface:#ffffff;--surface-subtle:#f7f8fa;--border:#e2e5e9;--border-strong:#d7dbe1;--text:#15171b;--text-2:#555b64;--text-3:#858b94;--accent:#17191d;--accent-soft:#eceef1;--success:#23744b;--danger:#a43d3d;--shadow:0 10px 35px rgba(17,20,24,.055);--radius:14px}body{background:var(--bg);color:var(--text);transition:background .2s,color .2s}.sidebar,.topbar,.mobile-bar,.card,.metric-card,.account-card,.budget-card,.goal-card,.auth-card{transition:background .2s,border-color .2s,box-shadow .2s}.sidebar{box-shadow:8px 0 28px #12161c06}.sidebar nav button{transition:background .16s,color .16s,transform .16s}.sidebar nav button:active{transform:translateY(1px)}.sidebar nav button.active{box-shadow:inset 3px 0 0 var(--accent)}.top-actions{display:flex;align-items:center;gap:9px}.topbar .primary{box-shadow:0 2px 6px #00000014;transition:transform .15s,box-shadow .15s,background .15s}.topbar .primary:hover{transform:translateY(-1px);box-shadow:0 5px 15px #0000001c}.primary,.secondary,.icon-button,.theme-toggle,.theme-switch,.quick-actions button{transition:all .16s ease}.card:hover,.account-card:hover,.budget-card:hover,.goal-card:hover{box-shadow:var(--shadow)}.page-actions h1{font-size:25px;letter-spacing:-.035em}.page-actions p{max-width:720px;line-height:1.55}.card,.account-card,.budget-card,.goal-card{box-shadow:0 1px 2px #00000005}.theme-switch{position:relative;display:inline-flex;align-items:center;gap:7px;min-width:116px;height:40px;padding:5px 9px 5px 7px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);color:var(--text-2);font-size:11px;font-weight:600}.theme-switch:hover{border-color:#bfc4cc;background:var(--surface-subtle)}.theme-switch:focus-visible{outline:3px solid rgba(80,90,110,.2);outline-offset:2px}.theme-switch-track{position:relative!important;display:block!important;width:42px!important;height:26px!important;min-width:42px!important;border-radius:999px;background:#d9dde3;flex:none!important;transition:background .2s ease}.theme-switch-thumb{position:absolute!important;left:3px!important;top:3px!important;width:20px!important;height:20px!important;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0003;transition:transform .2s cubic-bezier(.2,.8,.2,1);display:block!important}.theme-switch.on{background:#1b1e24;color:#eef0f3;border-color:#30343c}.theme-switch.on:hover{background:#20242a;border-color:#3a3f48}.theme-switch.on .theme-switch-track{background:#5b626d}.theme-switch.on .theme-switch-thumb{transform:translate(16px)}.theme-switch-icon{width:16px;height:16px;display:grid;place-items:center;color:#8a9099;flex:none}.theme-switch-icon.moon{order:4}.theme-switch-label{order:5;width:40px!important;height:auto!important;border-radius:0!important;background:transparent!important;display:block!important;transform:none!important;text-align:left}.theme-switch.on .theme-switch-icon{color:#cfd3da}.settings-grid{align-items:start}.setting-row{min-height:68px;padding:15px 0}.setting-row>div:first-child{min-width:0}.setting-row b{font-size:11px;letter-spacing:-.005em}.setting-row span{line-height:1.45}.setting-row select{min-width:230px}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{box-shadow:0 28px 80px #00000029;border-radius:16px}.modal-head{padding-bottom:14px;margin-bottom:15px}.modal-actions .primary{min-width:130px}@media(max-width:800px){.topbar{box-shadow:0 1px 12px #00000009}.top-actions .primary{min-height:36px}.page-actions h1{font-size:23px}.setting-row{gap:14px;align-items:center}.setting-row select{min-width:0;width:100%;max-width:230px}.theme-switch{min-width:108px}.mobile-bar{box-shadow:0 -5px 20px #0000000b;padding-bottom:env(safe-area-inset-bottom)}}@media(max-width:520px){.page-actions{gap:12px}.page-actions .primary{width:100%;justify-content:center}.setting-row{align-items:flex-start;flex-direction:column}.setting-row>button,.setting-row>select{align-self:flex-start}.theme-switch{height:38px}.modal{width:calc(100vw - 24px)!important;max-height:calc(100vh - 24px);overflow:auto}}body.dark{--bg:#0f1115;--surface:#171a20;--surface-subtle:#1c2026;--border:#2a2f37;--border-strong:#353b45;--text:#f2f3f5;--text-2:#c2c7cf;--text-3:#8f96a1;--accent:#f2f3f5;--accent-soft:#292e36;--shadow:0 10px 35px rgba(0,0,0,.2)}body.dark .sidebar{box-shadow:8px 0 28px #00000024}body.dark .sidebar nav button.active{box-shadow:inset 3px 0 #f2f3f5}body.dark .card:hover,body.dark .account-card:hover,body.dark .budget-card:hover,body.dark .goal-card:hover{box-shadow:0 10px 35px #0000002e}body.dark .setting-row select{background:#1d2026}body.dark .theme-switch-icon{color:#aeb4bd}:root{--bm-bg:#f5f7fa;--bm-surface:#fff;--bm-surface-2:#f8fafc;--bm-border:#e5e7eb;--bm-text:#111827;--bm-muted:#6b7280;--bm-primary:#2563eb;--bm-primary-soft:#eff6ff;--bm-success:#16a34a;--bm-success-soft:#f0fdf4;--bm-danger:#dc2626;--bm-danger-soft:#fef2f2;--bm-warning:#d97706;--bm-warning-soft:#fffbeb;--bm-radius-lg:18px;--bm-radius-md:12px;--bm-shadow:0 8px 30px rgba(15,23,42,.06);--bm-shadow-hover:0 14px 38px rgba(15,23,42,.1)}[data-theme=dark]{--bm-bg:#0b0f14;--bm-surface:#11161d;--bm-surface-2:#171d25;--bm-border:#27313d;--bm-text:#f3f4f6;--bm-muted:#9ca3af;--bm-primary:#60a5fa;--bm-primary-soft:rgba(37,99,235,.16);--bm-success:#4ade80;--bm-success-soft:rgba(22,163,74,.14);--bm-danger:#f87171;--bm-danger-soft:rgba(220,38,38,.14);--bm-warning:#fbbf24;--bm-warning-soft:rgba(217,119,6,.14);--bm-shadow:0 10px 34px rgba(0,0,0,.24);--bm-shadow-hover:0 16px 44px rgba(0,0,0,.34)}body{background:var(--bm-bg);color:var(--bm-text)}.bm-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.bm-kpi{padding:20px;min-height:128px}.bm-kpi-label{color:var(--bm-muted);font-size:.82rem;font-weight:600}.bm-kpi-value{margin-top:8px;font-size:clamp(1.45rem,2.4vw,2rem);font-weight:750;letter-spacing:-.025em}.bm-kpi-meta{margin-top:10px;color:var(--bm-muted);font-size:.8rem}.bm-section{margin-top:22px}.bm-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.bm-section-title{margin:0;font-size:1.05rem;font-weight:700}.bm-section-subtitle{color:var(--bm-muted);font-size:.82rem}.bm-account-grid,.bm-goal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.bm-account-card,.bm-goal-card{padding:18px}.bm-account-top,.bm-goal-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.bm-account-name,.bm-goal-name{font-weight:700}.bm-account-type,.bm-goal-meta{color:var(--bm-muted);font-size:.78rem;margin-top:3px}.bm-account-balance{margin-top:22px;font-size:1.55rem;font-weight:750}.bm-progress{height:8px;margin-top:14px;border-radius:999px;background:var(--bm-surface-2);overflow:hidden}.bm-progress>span{display:block;height:100%;width:var(--progress,0%);border-radius:inherit;background:var(--bm-primary);transition:width .3s ease}.bm-goal-amounts{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:14px}.bm-goal-current{font-size:1.35rem;font-weight:750}.bm-goal-target{color:var(--bm-muted);font-size:.8rem}.bm-transaction-list{display:flex;flex-direction:column}.bm-transaction-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--bm-border)}.bm-transaction-row:last-child{border-bottom:0}.bm-transaction-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--bm-surface-2)}.bm-transaction-title{font-weight:650}.bm-transaction-meta{margin-top:3px;color:var(--bm-muted);font-size:.76rem}.bm-amount-income{color:var(--bm-success);font-weight:700}.bm-amount-expense{color:var(--bm-danger);font-weight:700}.bm-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.bm-btn{min-height:40px;padding:0 14px;border:1px solid var(--bm-border);border-radius:10px;background:var(--bm-surface);color:var(--bm-text);font-weight:650;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease}.bm-btn:hover{background:var(--bm-surface-2)}.bm-btn:active{transform:translateY(1px)}.bm-btn-primary{border-color:transparent;background:var(--bm-primary);color:#fff}.bm-btn-danger{border-color:transparent;background:var(--bm-danger);color:#fff}.bm-status{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap}.bm-status-planned{color:var(--bm-warning);background:var(--bm-warning-soft)}.bm-status-pending{color:var(--bm-primary);background:var(--bm-primary-soft)}.bm-status-completed{color:var(--bm-success);background:var(--bm-success-soft)}.bm-status-cancelled{color:var(--bm-danger);background:var(--bm-danger-soft)}.bm-filterbar{display:flex;flex-wrap:wrap;gap:8px;padding:12px;background:var(--bm-surface);border:1px solid var(--bm-border);border-radius:var(--bm-radius-md)}.bm-input,.bm-select{min-height:40px;border:1px solid var(--bm-border);border-radius:10px;background:var(--bm-surface);color:var(--bm-text);padding:0 11px;outline:none}.bm-input:focus,.bm-select:focus{border-color:var(--bm-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--bm-primary) 16%,transparent)}.card,.panel,.dashboard-card{border-color:var(--bm-border);background:var(--bm-surface);box-shadow:var(--bm-shadow);transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease}.card:hover,.panel:hover,.dashboard-card:hover{box-shadow:var(--bm-shadow-hover)}@media(max-width:1050px){.bm-kpi-grid,.bm-account-grid,.bm-goal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.bm-kpi-grid,.bm-account-grid,.bm-goal-grid{grid-template-columns:1fr}.bm-section-header{align-items:flex-start;flex-direction:column}.bm-transaction-row{grid-template-columns:36px minmax(0,1fr)}.bm-transaction-row>:last-child{grid-column:2;justify-self:start}.bm-btn{flex:1 1 auto}}@media(max-width:430px){.bm-kpi,.bm-account-card,.bm-goal-card{padding:15px}.bm-kpi-value{font-size:1.4rem}.bm-transaction-row{padding:12px}}
