:root{--navy:#0F172A;--dark:#081d36;--dark2:#102b48;--teal:#0bb5ac;--teal2:#05c6ba;--blue:#38bdf8;--coral:#ff7364;--amber:#f6ab48;--bg:#f5f8fb;--surface:#fff;--surface2:#f1f6f9;--ink:#152540;--muted:#7a8aa0;--border:#e8eef4;--green:#11b987;--shadow:0 7px 28px rgba(29,55,87,.045);--radius:19px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}svg{width:20px;height:20px;flex-shrink:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(15,181,172,.4);outline-offset:3px}a{color:inherit;text-decoration:none}.app{display:flex;min-height:100vh}.side{background:linear-gradient(156deg,#061a31,#102c48 75%,#0d3450);color:#fff;width:250px;min-width:250px;min-height:100vh;padding:35px 17px 25px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;align-items:center;gap:11px;padding:0 15px;margin-bottom:48px}.mark{height:42px;width:42px;flex-shrink:0}.brand b{font-size:27px;letter-spacing:-1.1px;font-weight:760}.brand span{display:block;color:#99b7c9;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;font-weight:700}.side-label{font-size:10px;font-weight:750;letter-spacing:1.7px;text-transform:uppercase;color:#6c90ab;margin:0 14px 13px}.side-nav{display:flex;flex-direction:column;gap:6px}.nav-btn{border:0;background:transparent;color:#a5b7c8;display:flex;align-items:center;gap:15px;width:100%;text-align:left;border-radius:12px;padding:13px 16px;font-size:13px;font-weight:650;transition:.18s}.nav-btn:hover{color:#fff;background:#ffffff12}.nav-btn.active{color:#fff;background:linear-gradient(90deg,#0cbfb740,#05c1c109);box-shadow:inset 3px 0 var(--teal2)}.nav-btn.active svg{color:var(--teal2)}.nav-btn svg{width:18px;height:18px}.sidebar-spacer{flex:1}.side-tip{border:1px solid #ffffff1e;background:linear-gradient(145deg,#123b55,#092744);padding:18px 15px;border-radius:16px;margin:24px 6px 22px}.side-tip .bubble{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#0daaa934;color:#fff;margin-bottom:14px}.side-tip strong{display:block;font-size:13px;margin-bottom:6px}.side-tip p{margin:0;color:#a3c0cf;font-size:11px;line-height:1.65}.side-profile{display:flex;align-items:center;gap:10px;padding:16px 8px 0;border-top:1px solid #ffffff1b}.avatar{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border-radius:50%;background:#dae9f5;color:#183c59;font-weight:800;font-size:15px}.side-profile b{font-size:12px}.side-profile span{display:block;color:#83a2b7;font-size:11px}.main{flex:1;min-width:0}.main-inner{max-width:1440px;padding:34px clamp(22px,3.4vw,54px) 46px;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:29px}.topbar-left{display:flex;flex-direction:column}.eyebrow{font-weight:700;text-transform:uppercase;letter-spacing:1.6px;font-size:10px;color:var(--teal);margin-bottom:5px}.title{font-size:clamp(26px,2.7vw,34px);letter-spacing:-1.2px;margin:0;font-weight:800;line-height:1.16}.subtitle{color:var(--muted);margin:7px 0 0;font-size:13px}.top-actions{display:flex;align-items:center;gap:10px}.month-switch{display:flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--surface);border-radius:13px;padding:5px;box-shadow:var(--shadow);white-space:nowrap}.month-switch span{font-weight:750;font-size:12px;min-width:112px;text-align:center;text-transform:capitalize}.icon-btn{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#56718a;position:relative;box-shadow:var(--shadow)}.icon-btn:hover{color:var(--teal)}.month-switch .icon-btn{border:0;width:27px;height:29px;box-shadow:none;background:transparent}.month-switch .icon-btn svg{width:17px}.notify-dot{width:7px;height:7px;border-radius:50%;position:absolute;right:10px;top:8px;background:var(--coral);border:1px solid var(--surface)}.top-avatar{width:41px;height:41px;background:linear-gradient(135deg,#bad4ec,#e5edf8);border:2px solid var(--surface);box-shadow:0 2px 12px #263e5420}.dashboard-content{display:flex;flex-direction:column;gap:20px}.hero-row{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,.8fr);gap:18px}.balance{min-height:217px;padding:30px 33px;border-radius:23px;background:radial-gradient(ellipse at 92% 28%,rgba(0,204,199,.24),transparent 55%),linear-gradient(111deg,#09213f,#103955 62%,#07535a);color:#fff;position:relative;overflow:hidden;box-shadow:0 15px 28px #0a304c26}.balance:before{content:"";position:absolute;width:300px;height:300px;border:1px solid #31c8c025;border-radius:50%;right:-165px;top:-175px}.balance:after{content:"";position:absolute;inset:auto -90px -198px auto;width:380px;height:380px;border:1px solid #31c8c02c;border-radius:50%}.balance-head{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1;color:#c2d9e3;font-size:13px;font-weight:600}.ghost-btn{border:0;color:#accddd;background:none;padding:0;display:grid;place-items:center}.balance-number{font-size:clamp(29px,3.3vw,43px);font-weight:820;letter-spacing:-1.5px;margin:16px 0 12px;position:relative;z-index:2;white-space:nowrap}.balance-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#a9c9d4;font-size:11px;position:relative;z-index:2}.balance-meta .gain{color:#5af8d3;background:#0aa99e33;padding:5px 9px;border-radius:18px;font-weight:780}.hero-line{position:absolute;right:0;bottom:0;width:43%;height:150px;opacity:.87}.budget-card{background:var(--surface);border:1px solid var(--border);border-radius:23px;padding:23px 24px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between;gap:15px}.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.tiny-title{font-size:12px;font-weight:750}.soft-circle{height:35px;width:35px;border-radius:11px;display:grid;place-items:center;background:#e1faf6;color:var(--teal)}.budget-large{font-size:29px;letter-spacing:-1px;font-weight:820}.muted{color:var(--muted)}.micro{font-size:11px}.progress{height:9px;border-radius:20px;background:#e9f1f4;overflow:hidden}.progress-fill{height:100%;border-radius:20px;background:linear-gradient(90deg,#0ab2a7,#38d6bf);transition:width .35s}.budget-footer{display:flex;justify-content:space-between;gap:7px;font-size:11px;color:var(--muted)}.budget-footer strong{color:var(--ink)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:19px 20px;box-shadow:var(--shadow);min-width:0}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#7d91a5;font-size:12px;font-weight:700;gap:6px}.stat-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:12px}.stat-icon.green,.tx-icon.green{background:#e2f9f1;color:#0db58b}.stat-icon.red,.tx-icon.red{background:#fff0ee;color:#f16b5d}.stat-icon.blue,.tx-icon.blue{background:#e8f5ff;color:#2698e9}.stat-icon.orange,.tx-icon.orange{background:#fff4e6;color:#e49d29}.stat-icon.purple,.tx-icon.purple{background:#f0eaff;color:#8c65d7}.stat-value{font-size:clamp(20px,1.8vw,25px);font-weight:820;letter-spacing:-.8px;margin:11px 0 4px;white-space:nowrap}.stat-foot{color:var(--muted);font-size:11px}.section-caption{font-size:12px;color:var(--muted)}.actions-wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:3px 0 0}.section-title{font-size:16px;font-weight:800;letter-spacing:-.3px;margin:0}.quick-actions{display:flex;gap:9px;flex-wrap:wrap}.action-btn{border:1px solid var(--border);background:var(--surface);color:var(--ink);padding:11px 16px;border-radius:12px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:760;box-shadow:var(--shadow)}.action-btn svg{width:17px;height:17px}.action-btn:hover{transform:translateY(-1px);border-color:#b3dbda}.action-btn.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.action-btn.coral{color:#f06559}.panels{display:grid;grid-template-columns:minmax(0,1.23fr) minmax(0,1fr);gap:18px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);padding:23px 24px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:21px}.panel-heading h2{margin:0;font-size:15px;letter-spacing:-.2px}.see-all{border:0;background:none;color:#00a7aa;font-size:12px;font-weight:800;display:flex;align-items:center;gap:3px;padding:3px}.see-all svg{width:15px;height:15px}.tx-list,.due-list{display:flex;flex-direction:column}.tx-item{display:flex;align-items:center;gap:13px;padding:12px 0;border-top:1px solid var(--border)}.tx-item:first-child,.due-item:first-child{border-top:0;padding-top:0}.tx-icon{width:40px;height:40px;flex-shrink:0;border-radius:13px;display:grid;place-items:center}.tx-icon svg{width:19px;height:19px}.tx-info{flex:1;min-width:0}.tx-info strong{display:block;font-size:12px;font-weight:770;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-info small{display:block;color:var(--muted);font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-amount{text-align:right;font-size:12px;font-weight:800;white-space:nowrap}.tx-amount small{display:block;font-weight:500;color:#92a2b0;font-size:10px;margin-top:3px}.income{color:var(--green)}.due-item{display:flex;align-items:center;gap:11px;padding:13px 0;border-top:1px solid var(--border)}.due-info{flex:1;min-width:0}.due-info strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.due-info small{display:block;font-size:10px;color:var(--muted)}.due-amount{text-align:right;white-space:nowrap;font-size:12px;font-weight:780}.due-amount small{display:block;font-size:10px;font-weight:550;color:var(--muted)}.due-pill{font-size:9px;font-weight:780;padding:5px 7px;border-radius:7px;background:#fff0ec;color:#ed7163;white-space:nowrap}.due-pill.future{color:#1a9fae;background:#e6f6fc}.pay-button{width:29px;height:29px;border:1px solid var(--border);background:var(--surface);border-radius:9px;display:grid;place-items:center;color:var(--teal)}.pay-button svg{width:16px;height:16px}.panel-foot{font-size:11px;color:var(--muted);margin-top:16px;padding-top:13px;border-top:1px solid var(--border)}.lower-panels{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px}.chart-wrap{display:grid;grid-template-columns:205px 1fr;gap:20px;align-items:center}.donut{width:185px;height:185px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--teal) 0% 30%,var(--blue) 30% 55%,var(--coral) 55% 78%,var(--amber) 78% 100%);margin:auto}.donut-hole{width:133px;height:133px;border-radius:50%;background:var(--surface);display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative}.donut-hole small{color:var(--muted);font-size:11px}.donut-hole b{font-size:18px;letter-spacing:-.3px}.categories{display:flex;flex-direction:column;gap:13px}.category-row{display:flex;justify-content:space-between;gap:12px;font-size:12px}.category-name{display:flex;align-items:center;gap:8px;min-width:0}.category-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.category-row b{font-size:11px}.six-months{display:flex;align-items:flex-end;gap:12px;height:160px;padding:10px 0 0}.month-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px;align-items:center;height:100%;justify-content:end}.bar-pair{width:100%;max-width:49px;display:flex;gap:4px;align-items:flex-end;justify-content:center;flex:1}.bar{width:40%;min-height:3px;border-radius:6px 6px 2px 2px;transition:height .3s}.bar.received{background:linear-gradient(#35d2c4,#11b2a5)}.bar.spent{background:#cde4ee}.month-col.active .bar.spent{background:#66b4dc}.month-label{color:var(--muted);font-size:10px;text-transform:capitalize}.legend{display:flex;gap:16px;font-size:11px;color:var(--muted);margin-top:17px}.legend span{display:flex;gap:7px;align-items:center}.legend i{width:9px;height:9px;border-radius:3px;display:inline-block}.empty{display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:center;text-align:center;padding:30px;color:var(--muted);font-size:12px}.empty svg{color:#8bafb8;width:28px;height:28px}.empty strong{color:var(--ink);font-size:14px}.page-panel{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:24px;box-shadow:var(--shadow)}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:25px;flex-wrap:wrap}.page-head h2{font-size:18px;margin:0}.search-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:18px}.search-field{border:1px solid var(--border);background:var(--surface2);border-radius:12px;padding:11px 12px;display:flex;align-items:center;gap:9px;min-width:220px;flex:1}.search-field input{border:0;outline:0;background:transparent;min-width:0;flex:1;color:var(--ink)}.pills{display:flex;gap:7px;flex-wrap:wrap}.pill{border:1px solid var(--border);background:var(--surface);border-radius:20px;color:var(--muted);font-size:11px;font-weight:750;padding:9px 13px}.pill.active{background:var(--dark);color:#fff;border-color:var(--dark)}.table-wrap{width:100%;overflow-x:auto}.table{width:100%;border-collapse:collapse;min-width:590px}.table th{text-align:left;font-size:10px;color:var(--muted);font-weight:750;text-transform:uppercase;letter-spacing:.75px;padding:12px 10px;border-bottom:1px solid var(--border)}.table td{padding:12px 10px;border-bottom:1px solid var(--border);font-size:12px}.table tr:last-child td{border-bottom:0}.status{font-size:10px;font-weight:750;border-radius:30px;padding:5px 9px;background:#e4f9f0;color:#0baf82;white-space:nowrap}.status.pending{background:#fff3e6;color:#d98e23}.muted-button{border:0;background:transparent;color:var(--teal);font-size:11px;font-weight:780}.card-visual{border-radius:18px;padding:22px 24px;background:linear-gradient(120deg,#0c2948,#075766);min-height:172px;color:#fff;position:relative;overflow:hidden;max-width:370px;display:flex;flex-direction:column;justify-content:space-between}.card-visual:after{content:"";position:absolute;right:-100px;top:-85px;height:300px;width:300px;border:1px solid #ffffff30;border-radius:50%}.card-visual small{color:#a9d3de}.card-visual strong{font-size:23px}.cards-grid{display:grid;grid-template-columns:370px 1fr;gap:25px;align-items:start}.overview-list{display:flex;flex-direction:column;gap:12px}.overview-row{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--border)}.overview-row:last-child{border:0}.overview-row span{color:var(--muted)}.info-box{padding:15px;background:var(--surface2);border-radius:12px;color:var(--muted);font-size:12px;margin-top:18px}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.setting-tile{border:1px solid var(--border);border-radius:14px;padding:18px;display:flex;justify-content:space-between;align-items:center;gap:20px}.setting-tile b{display:block;font-size:13px}.setting-tile small{display:block;color:var(--muted);margin-top:3px}.setting-tile button{white-space:nowrap}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:20px}.report-tile{border:1px solid var(--border);border-radius:15px;padding:18px}.report-tile b{display:block;font-size:25px;margin-top:8px}.report-tile small{color:var(--muted)}.modal-backdrop{position:fixed;inset:0;background:#061627ad;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:30;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--surface);color:var(--ink);width:min(100%,500px);max-height:min(92vh,800px);overflow:auto;border-radius:23px;padding:27px;box-shadow:0 25px 80px #04162c46}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}.modal-head h2{margin:0;font-size:22px;letter-spacing:-.6px}.modal-close{border:0;background:var(--surface2);border-radius:10px;width:33px;height:33px;display:grid;place-items:center;color:var(--muted)}.modal-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field.wide{grid-column:1/-1}.field label{font-size:12px;font-weight:750}.field input,.field select,.field textarea{border:1px solid var(--border);border-radius:11px;padding:11px 13px;background:var(--surface2);color:var(--ink);width:100%;outline-color:var(--teal)}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.form-actions button{padding:11px 19px;border-radius:10px;font-weight:800;border:1px solid var(--border);background:var(--surface);color:var(--ink)}.form-actions button.submit{background:var(--teal);border-color:var(--teal);color:#fff}.note{color:var(--muted);font-size:11px;margin:16px 0 0;line-height:1.7}.toast{position:fixed;right:25px;bottom:25px;z-index:60;background:var(--dark);color:#fff;box-shadow:0 15px 35px #1723393f;padding:14px 19px;border-radius:13px;max-width:min(370px,90vw);font-size:12px;font-weight:650;animation:toastin .22s ease}.mobile-nav,.mobile-head{display:none}.footer-note{text-align:center;font-size:10px;color:#9aaabb;margin-top:23px}.side-tip .chip{color:#58dfcf;font-weight:750;margin-bottom:9px}.fauxbutton{border:0;background:none;color:var(--teal);font-weight:800}.hidden{display:none!important}@keyframes toastin{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}[data-theme=dark]{--bg:#0a1625;--surface:#102337;--surface2:#183046;--ink:#e4f1f5;--muted:#97afbc;--border:#1d3a50;--shadow:0 8px 27px #00000024}[data-theme=dark] .month-switch .icon-btn{background:transparent}[data-theme=dark] .budget-footer strong{color:var(--ink)}[data-theme=dark] .progress{background:#264656}[data-theme=dark] .donut-hole{background:var(--surface)}[data-theme=dark] .stat-icon.green{background:#0c5848}[data-theme=dark] .stat-icon.red{background:#5c3238}[data-theme=dark] .stat-icon.blue{background:#154660}[data-theme=dark] .stat-icon.orange{background:#58442d}[data-theme=dark] .status{background:#0e493c}[data-theme=dark] .status.pending{background:#554228}[data-theme=dark] .pill.active{background:#0bb5ac;border-color:#0bb5ac;color:#07263b}@media(max-width:1160px){.side{width:210px;min-width:210px}.main-inner{padding:29px 23px}.hero-row{grid-template-columns:1.3fr 1fr}.stats{gap:10px}.stat-card{padding:15px}.chart-wrap{grid-template-columns:150px 1fr}.donut{width:145px;height:145px}.donut-hole{width:105px;height:105px}.donut-hole b{font-size:15px}.cards-grid{grid-template-columns:1fr}}@media(max-width:950px){.side{display:none}.main-inner{padding:21px 22px 104px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);background:var(--surface);border-top:1px solid var(--border);padding:10px 9px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -6px 25px #082c4e0c}.mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;background:none;color:#869bad;font-size:10px;font-weight:690;padding:4px 0}.mobile-nav button.active{color:var(--teal)}.mobile-nav button svg{width:21px;height:21px}}@media(max-width:720px){.hero-row{grid-template-columns:1fr}.budget-card{min-height:0}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.panels,.lower-panels{grid-template-columns:1fr}.chart-wrap{grid-template-columns:160px 1fr}.donut{width:150px;height:150px}.donut-hole{width:110px;height:110px}.month-switch span{min-width:98px}.title{font-size:27px}.topbar{gap:9px}.main-inner{padding-left:16px;padding-right:16px}.settings-grid,.report-grid{grid-template-columns:1fr}}@media(max-width:460px){.main-inner{padding:16px 13px 95px}.topbar{align-items:flex-start;gap:15px;flex-direction:column;margin-bottom:21px}.top-actions{width:100%;justify-content:space-between}.topbar-left .subtitle{font-size:12px}.month-switch{flex:1;justify-content:space-between}.month-switch span{flex:1}.title{font-size:26px}.balance{padding:25px 23px;min-height:199px}.balance-number{font-size:34px}.hero-line{width:57%;opacity:.48}.budget-card{padding:18px}.stat-card{padding:15px}.stat-value{font-size:21px}.actions-wrap{align-items:flex-start;flex-direction:column}.quick-actions{display:grid;width:100%;grid-template-columns:1fr 1fr}.action-btn{padding:11px 10px;justify-content:center;font-size:11px}.panel{padding:18px 17px}.due-pill{display:none}.chart-wrap{grid-template-columns:1fr;gap:23px}.categories{gap:10px}.modal{padding:20px}.modal-fields{grid-template-columns:1fr}.field.wide{grid-column:auto}.card-visual{min-height:185px}.top-avatar{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.brand{padding:2px 12px 0;margin-bottom:48px;display:flex;flex-direction:column;align-items:flex-start;gap:3px}.brand .sidebar-logo{display:block;width:172px;height:auto;max-height:76px;object-fit:contain;object-position:left center;filter:drop-shadow(0 2px 8px rgba(0,0,0,.06))}.brand .sidebar-tagline{font-size:10px;line-height:1.2;letter-spacing:1.8px;font-weight:750;color:#84a6b8;margin-left:2px}.header-brand{display:none;align-items:center;gap:13px;min-height:48px;margin-bottom:15px}.header-brand img{height:auto;width:169px;max-width:38vw;display:block;object-fit:contain;object-position:left center}.header-brand .header-brand-dark{display:none}.header-brand-tagline{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:1.4px;border-left:1px solid var(--border);padding-left:14px;white-space:nowrap}.topbar-left>.eyebrow{display:block}[data-theme=dark] .header-brand .header-brand-light{display:none}[data-theme=dark] .header-brand .header-brand-dark{display:block}@media(max-width:950px){.header-brand{display:flex;margin-bottom:16px;min-height:44px}.topbar-left>.eyebrow{display:none}.header-brand img{width:160px;max-width:60vw}.header-brand-tagline{font-size:9px;letter-spacing:.8px}}@media(max-width:460px){.header-brand{width:100%;margin-bottom:12px;gap:11px}.header-brand img{width:154px;max-width:51vw}.header-brand-tagline{font-size:8px;letter-spacing:.55px;padding-left:9px;white-space:normal;max-width:120px}}.balance-brand-watermark{position:absolute;right:20px;top:18px;width:67px;height:67px;object-fit:contain;opacity:.17;pointer-events:none;filter:saturate(.7)}@media(max-width:460px){.balance-brand-watermark{width:52px;height:52px;right:14px;top:17px;opacity:.14}}.login-card input{width:100%}.login-shell{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 70% 12%,#14B8A655,transparent 28%),#0f172a}.login-card{width:min(100%,390px);padding:38px 28px 30px;text-align:center;background:#f8fafc;border-radius:28px;box-shadow:0 30px 70px #0008}.login-mark{width:60px;height:60px;border-radius:18px;object-fit:cover}.login-card h1{font-size:32px;letter-spacing:-.05em;margin:14px 0 2px}.login-card>p{margin:0 0 26px;color:#64748b}.login-card form{text-align:left;display:grid;gap:16px}.login-card label{display:grid;gap:6px;font-size:14px;font-weight:700;color:#334155}.login-card input{width:100%;border:1px solid #CBD5E1;border-radius:12px;padding:13px;font:inherit;background:#fff;color:#0f172a}.login-card input:focus{outline:3px solid #38BDF866;border-color:#0d9488}.login-submit{border:0;border-radius:12px;padding:14px;background:#0d9488;color:#fff;font:inherit;font-weight:800;cursor:pointer}.login-submit:disabled{opacity:.7;cursor:wait}.login-error{margin:0;color:#c2410c;font-size:14px}.login-hint{color:#64748b;margin-top:-8px}.login-switch{border:0;background:none;color:#0d9488;font:inherit;font-weight:700;cursor:pointer;padding:6px}.pw-form{max-width:520px;margin-bottom:6px}.pw-form .field input{width:100%;border:1px solid var(--border);border-radius:11px;padding:11px 13px;background:var(--surface2);color:var(--ink)}.pw-ok{grid-column:1/-1;margin:0;color:#0d9488;font-size:14px}@media(max-width:460px){.pw-form{grid-template-columns:1fr}}.login-card.wide{width:min(100%,520px)}.login-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.login-card label small{font-weight:500;color:#94a3b8}.login-card select{width:100%;border:1px solid #CBD5E1;border-radius:12px;padding:13px;font:inherit;background:#fff;color:#0f172a}@media(max-width:460px){.login-row{grid-template-columns:1fr}}.side-profile{border:0;border-top:1px solid #ffffff1b;background:none;color:inherit;text-align:left;width:100%;font:inherit}.side-profile:hover b{color:var(--teal2)}.profile{display:flex;flex-direction:column;gap:18px}.profile .section-title{margin:0 0 14px}.profile-head{display:flex;align-items:center;gap:16px}.profile-head h2{margin:0;font-size:20px}.avatar.big{width:58px;height:58px;font-size:20px;background:linear-gradient(135deg,#d6f5f2,#dae9f5)}.profile-fields{max-width:640px}.wide-note{grid-column:1/-1;margin:0}.form-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}a.action-btn{justify-content:center}.page-panel.danger{border-color:#fecaca}.danger .section-caption{display:block;margin:-6px 0 14px}.action-btn.danger-btn{color:#fff;background:#dc2626;border-color:#dc2626}@media(max-width:460px){.profile-head{flex-direction:column;align-items:flex-start}}.acct-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:15px}.acct-card{border:1px solid var(--border);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:11px}.acct-card.card{background:linear-gradient(135deg,#0c2948,#075766);color:#fff;border:0}.acct-card.card small,.acct-card.card .budget-footer,.acct-card.card .budget-footer strong,.acct-card.card .muted-button{color:#bfe6ee}.acct-card.card .progress{background:#ffffff26}.acct-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.acct-top b{display:block}.acct-top small{display:block;color:var(--muted)}.acct-value{font-size:24px;font-weight:820;letter-spacing:-.6px}.acct-value small{font-size:11px;font-weight:500;color:var(--muted)}.cat-list{display:flex;flex-direction:column;max-width:520px}.cat-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--border)}.cat-item:first-child{border-top:0}.cat-edit,.cat-add{display:flex;gap:8px;align-items:center;flex:1}.cat-add{margin-top:14px;max-width:520px}.cat-edit input,.cat-add input{flex:1;min-width:0;border:1px solid var(--border);border-radius:11px;padding:10px 12px;background:var(--surface2);color:var(--ink)}.field label small{font-weight:500;color:var(--muted)}.notice-dialog{padding:0;border:0;background:transparent;color:var(--ink);width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);border-radius:20px;box-shadow:0 24px 80px #0f172a40}.notice-dialog::backdrop{background:#0f172a80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.notice{padding:28px;background:var(--surface,#fff);border-top:4px solid #14b8a6}.notice.danger{border-top-color:#f97360}.notice-mark{width:42px;height:42px;border-radius:12px;background:#d5f5ef;color:#096b60;display:grid;place-items:center;margin-bottom:18px}.notice-mark svg{width:22px;height:22px}.notice.danger .notice-mark{background:#ffebe6;color:#ac3525}.notice h2{font-size:22px;line-height:1.25;margin:0 0 12px;letter-spacing:-.5px}.notice p{font-size:14px;line-height:1.65;color:var(--muted);margin:0;overflow-wrap:anywhere}.notice-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:26px}.notice-actions button{border:1px solid var(--border);border-radius:11px;padding:11px 17px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;background:var(--surface2,#f5f7fa);color:var(--ink)}.notice-actions .submit{background:#096b60;color:#fff;border-color:#096b60}.notice-actions .danger-btn{background:#b93828;color:#fff;border-color:#b93828}.notice-actions button:focus-visible{outline:3px solid #38bdf8;outline-offset:3px}.login-error,.pw-ok{padding:12px 14px;border-radius:11px;line-height:1.5;font-size:13px}.login-error{background:#fff0ec;color:#a82f20;border:1px solid #f8c5b9}.pw-ok{background:#e3f7f1;color:#08624e;border:1px solid #afe5d7}@media(max-width:950px){.mobile-nav{grid-template-columns:repeat(6,1fr)}}.muted-button.icon-only{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border-radius:10px}.muted-button.icon-only svg{width:18px;height:18px}.muted-button.icon-only:hover{background:#e6f7f5}.muted-button.icon-only:focus-visible{outline:3px solid #38bdf8;outline-offset:2px}.field textarea{resize:vertical;font:inherit}.switch-field{flex-direction:row;align-items:center;justify-content:space-between;align-self:end;border:1px solid var(--border);border-radius:11px;padding:9px 13px;font-size:12px;font-weight:750;cursor:pointer}.switch-field input{appearance:none;width:38px!important;height:22px;padding:0!important;border-radius:20px!important;background:#cfdbe3!important;position:relative;cursor:pointer;transition:.2s}.switch-field input:before{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.2s}.switch-field input:checked{background:var(--teal)!important}.switch-field input:checked:before{left:19px}.tag{display:inline-flex;align-items:center;margin-left:6px;padding:2px 7px;border-radius:20px;background:#e6f7f5;color:#0b8f88;font-size:10px;font-weight:700;vertical-align:middle}.tag svg{width:12px;height:12px}.tx-notes{display:block;color:var(--muted);font-size:11px;margin-top:3px;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bank-badge{display:inline-grid;place-items:center;flex-shrink:0;border-radius:50%;font-weight:800;letter-spacing:-.3px;line-height:1}.field-label{font-size:12px;font-weight:750}.bank-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;max-height:236px;overflow:auto;padding:2px}.bank-opt{display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 6px;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--ink);font-size:11px;font-weight:650;text-align:center}.bank-opt:hover{border-color:#b3dbda}.bank-opt[aria-pressed=true]{border-color:var(--teal);box-shadow:0 0 0 2px #14b8a640;background:#f0fbfa}.acct-name{flex:1;min-width:0}.field input[type=date]{min-width:0;min-height:44px;-webkit-appearance:none;appearance:none;text-align:left;color-scheme:light dark}.field input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:1.2em}.muted-button.pay-btn{background:#11b2a5;color:#fff}.muted-button.pay-btn:hover{background:#0e9a8f}.notice-actions.stack{flex-direction:column;align-items:stretch;gap:8px}.notice-actions.stack button{width:100%;text-align:left;padding:13px 16px}.notice-actions.stack>:first-child{order:9;text-align:center;background:transparent;border-color:transparent;color:var(--muted)}.notice-actions .opt:hover{border-color:#14b8a6;background:#d5f5ef}.notice-actions .opt.danger:hover{border-color:#f97360;background:#ffebe6;color:#ac3525}.recurrence-modal{border:1px solid var(--border);color:var(--ink);max-height:calc(100dvh - 32px);overflow:auto;margin:auto}.recurrence-modal::backdrop{background:#0f172a80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.recurrence-fields{border:0;margin:0;padding:0;min-width:0}.recurrence-list{display:flex;flex-direction:column;margin:12px 0}.recurrence-item{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;text-align:left;padding:14px 4px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--ink)}.recurrence-item span{min-width:0;overflow-wrap:anywhere}.recurrence-item b{display:block}.recurrence-item small{display:block;color:var(--muted);margin-top:4px}.recurrence-item strong{white-space:nowrap}button.recurrence-item:hover{background:var(--surface2)}.recurrence-check{display:flex;align-items:center;gap:10px;cursor:pointer}.recurrence-check input{width:18px;height:18px;flex-shrink:0;accent-color:var(--teal)}.field.recurrence-check{flex-direction:row;justify-content:flex-start}.recurrence-modal .recurrence-check input{width:18px;padding:0}.transaction-details{margin-top:16px}.transaction-details summary{cursor:pointer;font-weight:700;color:var(--muted);margin-bottom:12px}.inline-create{text-align:left;padding:4px 0!important;font-size:12px!important;color:var(--teal)!important}.inline-category{padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface2);gap:8px}.scope-confirm,.reverse-confirm{padding:14px;border:1px solid var(--border);border-radius:12px;margin-top:16px}.report-basis{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 20px}.report-basis label{font-weight:700}.report-basis select,.category-add select{padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--ink)}.report-basis small{color:var(--muted)}.payment-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.payment-totals span{font-size:11px;color:var(--muted);padding:12px;background:var(--surface2);border-radius:12px}.payment-totals strong{display:block;color:var(--ink);font-size:17px;margin-top:4px}.payment-form,.payment-history,.receipt-manager{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.payment-form h3,.payment-history h3,.receipt-manager h3{font-size:15px;margin:0 0 12px}.payment-record{border:1px solid var(--border);border-radius:12px;padding:14px;margin:10px 0}.payment-record.reversed{background:var(--surface2)}.payment-record-head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.payment-record p{margin:8px 0}.payment-record small{display:block;color:var(--muted)}.payment-record .muted-button{margin-top:10px}.reverse-confirm label{display:flex;flex-direction:column;gap:6px}.reverse-confirm input{padding:10px;border:1px solid var(--border);border-radius:10px;color:var(--ink);background:var(--surface)}.receipt-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);margin-bottom:10px}.receipt-row a{color:var(--teal);overflow-wrap:anywhere}.receipt-row button{border:1px solid var(--border);background:var(--surface2);color:var(--ink);border-radius:9px;padding:7px 10px}.receipt-row span,.receipt-manager input[type=file]{font-size:12px}.receipt-manager .action-btn{margin-top:10px}.category-add{flex-wrap:wrap}.category-add select{width:100%}@media(max-width:460px){.payment-totals{gap:6px}.payment-totals span{padding:9px}.payment-totals strong{font-size:14px}.report-basis select{width:100%}.receipt-row{align-items:flex-start;flex-direction:column}}.recurrence-stop{border-top:1px solid var(--border);padding-top:18px;margin-top:20px}.recurrence-history{margin-top:20px;color:var(--muted)}.recurrence-history summary{cursor:pointer;font-weight:700}.recurrence-history li{margin:8px 0}.recurrence-badge{border:0;min-width:28px;min-height:28px;justify-content:center}@media(max-width:600px){.recurrence-modal{width:calc(100% - 24px);padding:20px}.recurrence-item{align-items:flex-start;gap:8px}.recurrence-modal .form-actions{flex-wrap:wrap}}
