@font-face{font-family:Urbanist;src:url("./fonts/Urbanist.ttf") format("truetype");font-weight:100 900;font-style:normal;font-display:swap}
:root{--accent:#2ca0a3;--accent-strong:#176f73;--accent-soft:#e2f2ef;--bg:#f5f6f4;--surface:#fff;--elevated:#f8f9f7;--ink:#191e20;--muted:#697373;--border:#e7ebe7;--dark:#191e20;--success:#32795b;--danger:#b45443;--warning:#866023;--radius:22px;--font:'Urbanist','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color-scheme:light}
[data-theme=dark]{--accent:#4abdb8;--accent-strong:#82d5cf;--accent-soft:#203e3a;--bg:#101314;--surface:#1b2021;--elevated:#222829;--ink:#f3f5f4;--muted:#a3aeab;--border:#313839;--dark:#eff5f2;--success:#8ccfa9;--danger:#f3a38e;--warning:#e3c27f;color-scheme:dark}
*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,summary,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}button{border:0}button:disabled{opacity:.45;cursor:not-allowed}button:active:not(:disabled){transform:translateY(1px)}a{color:inherit}button,input,select,textarea{transition:background .18s,border-color .18s,box-shadow .18s}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.85rem,2.55vw,2.7rem);line-height:1.2;font-weight:550;letter-spacing:-1.3px}h2{font-size:1.2rem;font-weight:600;letter-spacing:-.35px}h3{font-size:1.05rem;font-weight:600}p{color:var(--muted)}small{font-size:.95rem}strong,.money{font-variant-numeric:tabular-nums}strong{font-weight:600}svg{flex-shrink:0}.icon{vertical-align:middle}.muted{color:var(--muted)}.accent{color:var(--accent-strong)}.eyebrow{text-transform:uppercase;font-size:.95rem;letter-spacing:1.65px;font-weight:650}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;top:-100px;left:20px;background:var(--surface);padding:12px;z-index:100}.skip:focus{top:12px}
#sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:var(--surface);border-right:1px solid var(--border);z-index:20;display:flex;flex-direction:column;padding:30px 18px 18px}.brand{display:flex;align-items:center;gap:10px;padding:0 7px 29px}.brand-mark{width:35px;height:38px;color:var(--accent-strong);display:grid;place-items:center}.brand-mark svg{width:34px;height:34px}.brand-name{font-size:1.45rem;font-weight:650;letter-spacing:-.8px;line-height:1.2}.brand-name small{display:block;font-size:.95rem;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin-top:4px;font-weight:500}.side-scroll{overflow:auto;scrollbar-width:thin;flex:1}.nav-group{margin-bottom:20px}.nav-group-title{color:var(--muted);font-size:.95rem;letter-spacing:1.6px;font-weight:600;text-transform:uppercase;padding:0 14px;margin:12px 0 7px}.nav-item{display:flex;align-items:center;gap:12px;text-align:left;background:transparent;color:var(--muted);width:100%;padding:10px 13px;border-radius:10px;min-height:40px;font-size:.95rem;line-height:1.3}.nav-item:hover{background:var(--elevated);color:var(--ink)}.nav-item.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.nav-item .icon{width:18px;height:18px}.nav-item span{overflow-wrap:anywhere}.nav-badge{margin-left:auto;font-size:.95rem;padding:1px 6px;border-radius:5px;background:var(--surface);color:var(--accent-strong)}.sidebar-end{border-top:1px solid var(--border);margin-top:12px;padding:18px 12px 0;color:var(--muted);font-size:.95rem;display:flex;align-items:center;gap:8px}.workspace{margin-left:232px}#topbar{min-height:86px;padding:20px 36px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--border);background:var(--bg)}.top-label{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.95rem}.toolbar{display:flex;align-items:center;gap:10px}.command{display:flex;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--border);padding:0 14px;border-radius:24px;color:var(--muted);min-height:42px;font-size:.95rem}.command kbd{font:inherit;font-size:.95rem;background:var(--elevated);padding:2px 5px;border-radius:4px}.btn{min-height:44px;padding:10px 18px;border-radius:24px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--surface);color:var(--ink);border:1px solid var(--border);font-size:.95rem;font-weight:550;line-height:1.3;text-decoration:none;white-space:normal}.btn:hover{background:var(--elevated);border-color:var(--accent)}.btn.primary{background:var(--accent-strong);border-color:transparent;color:#fff}.btn.primary:hover{filter:brightness(1.08)}[data-theme=dark] .btn.primary{background:#258780;color:#fff}.btn.dark{background:#191e20;color:#fff;border-color:#191e20}.btn.ghost{background:transparent;border-color:transparent;padding:8px 10px;color:var(--muted)}.btn.danger{color:var(--danger);border-color:var(--danger);background:transparent}.btn.small{min-height:36px;padding:7px 13px;font-size:.95rem}.icon-btn{width:44px;height:44px;display:inline-grid;place-items:center;border-radius:50%;background:var(--surface);border:1px solid var(--border);color:var(--muted);flex-shrink:0}.icon-btn:hover{color:var(--accent-strong);background:var(--accent-soft)}.toggle-label{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:.95rem;cursor:pointer;min-height:44px}.toggle-label input{appearance:none;width:29px;height:17px;border-radius:20px;background:#cbd1cd;position:relative;flex-shrink:0;margin:0;cursor:pointer}.toggle-label input:before{content:'';width:11px;height:11px;border-radius:50%;background:#fff;position:absolute;left:3px;top:3px;transition:transform .2s}.toggle-label input:checked{background:var(--accent)}.toggle-label input:checked:before{transform:translateX(12px)}
#main{max-width:1580px;margin:auto;padding:34px 36px 24px;min-height:calc(100vh - 148px)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-heading .eyebrow{color:var(--muted);margin-bottom:10px}.page-heading p{margin-top:9px;font-size:.95rem}.page-date{display:flex;gap:8px;align-items:center;padding:9px 14px;border:1px solid var(--border);border-radius:25px;font-size:.95rem;color:var(--muted);white-space:nowrap}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(0,1fr);gap:22px}.dashboard-grid>*{min-width:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:25px;box-shadow:0 4px 24px rgba(18,30,30,.018);min-width:0;overflow-wrap:anywhere}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.card-head .btn{margin:-6px -8px -6px 0}.hero{position:relative;background:linear-gradient(120deg,#1c7176 0%,#268b8d 55%,#43ada3 100%);color:#fff;border:0;overflow:hidden;padding:30px 32px 23px}.hero:before{content:'';position:absolute;width:450px;height:450px;border-radius:50%;border:1px solid #ffffff12;right:-140px;top:-220px;pointer-events:none;box-shadow:0 0 0 40px #ffffff03,0 0 0 80px #ffffff03}.hero .eyebrow{color:#e0f4ef;font-weight:500;font-size:.95rem;letter-spacing:1.8px}.hero-top{display:flex;justify-content:space-between;gap:18px;align-items:center;position:relative}.hero-amount{font-size:clamp(2.6rem,4.5vw,4.7rem);letter-spacing:-2.3px;font-weight:500;line-height:1.15;margin:16px 0 11px;overflow-wrap:anywhere;max-width:100%}.hero p{color:#d3eeea;font-size:.95rem}.hero-estimate{display:flex;align-items:center;gap:7px}.hero-estimate svg{width:13px;height:13px}.ring{width:112px;height:112px;flex-shrink:0;position:relative;display:grid;place-items:center}.ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.ring-label{text-align:center;font-size:.95rem;color:#d6efeb}.ring-label strong{display:block;color:white;font-size:1.3rem;font-weight:500;letter-spacing:-.4px}.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #ffffff25;border-bottom:1px solid #ffffff25;padding:17px 0;margin:26px 0 18px;gap:15px}.hero-stats small{color:#d2ece9;font-size:.95rem;display:block;margin-bottom:7px}.hero-stats strong{font-weight:500;font-size:1.28rem;overflow-wrap:anywhere}.hero-available{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;color:#d6efeb;font-size:.95rem}.hero-available strong{font-size:1.23rem;color:white;font-weight:500}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.hero .btn{min-height:43px}.hero .btn.primary{background:white;color:#19696e}.hero .btn.secondary{background:#ffffff09;border-color:#ffffff66;color:white}.hero-links{display:flex;justify-content:space-between;margin-top:16px;gap:12px}.hero-links button{background:transparent;color:#eefaf7;min-height:32px;padding:3px 0;font-size:.95rem;display:flex;align-items:center;gap:6px}.hero-links svg{width:14px;height:14px}.task-list{display:grid;gap:12px}.task{display:flex;align-items:flex-start;gap:12px;background:var(--elevated);border-radius:12px;padding:14px;cursor:pointer;min-height:58px;font-size:.95rem;line-height:1.55}.task input{accent-color:var(--accent-strong);width:19px;height:19px;margin:2px 0 0;flex-shrink:0}.task.done span{text-decoration:line-through;color:var(--muted)}.task-foot{margin-top:20px;display:flex;align-items:center;gap:7px;font-size:.95rem;color:var(--muted)}.mini-progress{height:4px;background:var(--border);border-radius:5px;margin-top:19px;overflow:hidden}.mini-progress span{display:block;height:100%;background:var(--accent)}.card-sub{font-size:.95rem;color:var(--muted)}.month-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.stat{padding:18px 20px;background:var(--elevated);border-radius:15px;min-width:0}.stat .label{font-size:.95rem;color:var(--muted);margin-bottom:8px}.stat .value{font-size:clamp(1.2rem,1.75vw,1.8rem);font-weight:550;letter-spacing:-.65px;line-height:1.25;overflow-wrap:anywhere}.stat .hint{font-size:.95rem;margin-top:7px;color:var(--muted)}.stat.teal{background:var(--accent-soft)}.stat.teal .value{color:var(--accent-strong)}.monthly-chart{height:95px;display:flex;align-items:end;gap:8px;padding-top:20px}.bar-column{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;height:100%;gap:6px;min-width:0}.bar-column span{display:block;width:100%;max-width:46px;background:var(--accent-soft);border-radius:5px 5px 2px 2px;min-height:3px}.bar-column.current span{background:var(--accent)}.bar-column small{font-size:.95rem;color:var(--muted)}.row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--border);min-width:0}.row:last-child{border-bottom:0;padding-bottom:0}.row:first-child{padding-top:0}.row-main{flex:1;min-width:0}.row-main strong{display:block;font-size:.95rem;overflow-wrap:anywhere}.row-main small{display:block;color:var(--muted);font-size:.95rem;margin-top:3px}.row-money{font-size:.96rem;white-space:normal;overflow-wrap:anywhere;text-align:right;max-width:42%}.tile-icon{width:40px;height:40px;display:grid;place-items:center;background:var(--elevated);color:var(--accent-strong);border-radius:12px;flex-shrink:0}.tile-icon.coral{background:#fbede8;color:#b47961}.tile-icon.lilac{background:#f0eef7;color:#8980a0}[data-theme=dark] .tile-icon.coral,[data-theme=dark] .tile-icon.lilac{background:var(--elevated)}.date-tile{width:42px;min-height:46px;border:1px solid var(--border);border-radius:10px;text-align:center;padding:5px;flex-shrink:0}.date-tile strong{display:block;font-size:1.03rem;line-height:1.1}.date-tile small{font-size:.95rem;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:.95rem;padding:4px 8px;border-radius:6px;background:var(--accent-soft);color:var(--accent-strong);line-height:1.2}.badge.warning{background:#fbf0e2;color:#88582a}[data-theme=dark] .badge.warning{background:#3c3122;color:#e3c27f}.goal-preview{padding:15px 0}.goal-preview+.goal-preview{border-top:1px solid var(--border)}.goal-line{display:flex;justify-content:space-between;align-items:center;gap:16px}.goal-line strong{font-size:.95rem}.goal-line small{color:var(--muted);font-size:.95rem}.progress{height:6px;border-radius:10px;background:var(--border);overflow:hidden;margin:12px 0 6px}.progress span{display:block;height:100%;border-radius:10px;background:var(--accent);max-width:100%}.favourites{display:flex;flex-wrap:wrap;gap:8px}.favourite{background:var(--elevated);border:1px solid var(--border);border-radius:14px;padding:12px 16px;text-align:left;color:var(--ink);flex:1;min-width:92px}.favourite strong{display:block;font-size:.95rem;margin-top:7px}.favourite small{color:var(--muted);font-size:.95rem}.recovery{display:flex;align-items:center;gap:16px;margin-top:22px;background:transparent;border:1px dashed #ccd8d2;border-radius:17px;padding:18px 22px}.recovery p{font-size:.95rem;margin-top:2px}.recovery .btn{margin-left:auto;flex-shrink:0}.recovery .tile-icon{background:var(--accent-soft)}#footer{padding:4px 36px 22px;max-width:1580px;margin:auto;display:flex;justify-content:space-between;gap:20px;font-size:.95rem;color:var(--muted)}#footer span{display:flex;align-items:center;gap:6px}#footer svg{width:13px;height:13px}#mobile-nav{display:none}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:18px;margin-bottom:24px}.stats-grid .stat{background:var(--surface);padding:24px;border:1px solid var(--border)}.content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.content-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stack{display:grid;gap:22px}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.record-actions{display:flex;gap:2px;flex-shrink:0}.record-actions .icon-btn{border:0;background:transparent;width:36px;height:44px}.empty{padding:40px 20px;text-align:center;color:var(--muted)}.empty .tile-icon{margin:0 auto 16px;width:56px;height:56px}.empty h3{color:var(--ink);margin-bottom:8px}.empty .btn{margin-top:18px}.large-number{font-size:2.4rem;font-weight:500;letter-spacing:-1px;margin:18px 0;overflow-wrap:anywhere}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}.detail-grid small{color:var(--muted);display:block;margin-bottom:3px}.detail-grid strong{overflow-wrap:anywhere}.timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(27px,1fr));gap:8px;margin:28px 0 16px}.day-dot{height:33px;display:grid;place-items:center;font-size:.95rem;border:1px solid var(--border);border-radius:7px;color:var(--muted)}.day-dot.past{background:var(--accent-soft);border-color:var(--accent-soft)}.day-dot.today{background:var(--accent-strong);color:white}.timeline-labels{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:.95rem}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.weekday{color:var(--muted);text-align:center;padding:10px 0;font-size:.95rem}.calendar-day{min-height:105px;padding:9px;background:var(--elevated);border:1px solid var(--border);border-radius:10px;text-align:left;color:var(--ink);display:flex;flex-direction:column;gap:5px;font-size:.95rem;min-width:0}.calendar-day:hover{border-color:var(--accent)}.calendar-day.today{border-color:var(--accent);background:var(--accent-soft)}.event-pill{font-size:.95rem;background:var(--surface);padding:3px 5px;border-radius:4px;color:var(--accent-strong);overflow-wrap:anywhere}.event-pill.expense{color:var(--danger)}.challenge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:10px;margin-top:24px}.challenge-tile{min-height:66px;background:var(--elevated);border:1px solid var(--border);border-radius:12px;color:var(--ink);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px;overflow-wrap:anywhere}.challenge-tile.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.milestone{display:flex;align-items:center;gap:18px}.milestone .tile-icon{width:56px;height:56px}.milestone.earned .tile-icon{background:var(--accent-soft)}.milestone p{font-size:.95rem;margin-top:5px}.settings-card{max-width:900px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 0;border-bottom:1px solid var(--border)}.setting-row:last-child{border-bottom:0}.setting-row>div:first-child{flex:1}.setting-row p{font-size:.95rem;max-width:460px;margin-top:5px}.setting-row select{width:220px}.notice{padding:16px 18px;border-radius:12px;background:var(--accent-soft);color:var(--accent-strong);font-size:.95rem;line-height:1.7}.notice.warning{background:var(--elevated);color:var(--warning)}.help-list details{border-bottom:1px solid var(--border);padding:16px 0}.help-list summary{cursor:pointer;min-height:30px;font-weight:550}.help-list details p{margin-top:12px;line-height:1.8;font-size:.95rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:.96rem;color:var(--ink)}.field.full{grid-column:1/-1}input:not([type=checkbox]),select,textarea{border:1px solid var(--border);background:var(--elevated);color:var(--ink);border-radius:10px;min-height:46px;padding:11px 13px;width:100%;min-width:0}input[type=checkbox]{accent-color:var(--accent-strong)}textarea{resize:vertical;min-height:85px}.check-field{display:flex;align-items:center;gap:10px;min-height:44px;font-size:.95rem}.check-field input{width:18px;height:18px;flex-shrink:0}.form-error{color:var(--danger);font-size:.95rem;min-height:22px;margin-top:10px}.invalid{border-color:var(--danger)!important}.search-field{margin-bottom:20px}.inline-form{display:flex;gap:10px;margin-top:20px}.inline-form input{flex:1}.form-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding-top:20px;margin-top:20px;border-top:1px solid var(--border)}
dialog{padding:0;background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:25px;width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 48px);box-shadow:0 30px 90px #0b222030;overflow:auto}dialog::backdrop{background:#11222170;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 26px 16px;position:sticky;top:0;background:var(--surface);z-index:2;border-bottom:1px solid var(--border)}.dialog-head h2{font-size:1.22rem}.dialog-body{padding:24px 26px}.dialog-body>.notice{margin-bottom:20px}.dialog-body .form-actions{position:sticky;bottom:-24px;background:var(--surface);padding-bottom:14px;z-index:1}.expense-display{text-align:center;margin-bottom:18px}.expense-display input{background:transparent;border:0;font-size:3.4rem;letter-spacing:-1.5px;text-align:center;min-height:72px;padding:0 4px}.expense-display small{color:var(--muted);letter-spacing:2px}.quick-amounts{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:18px}.quick-amounts button{background:var(--accent-soft);border:0;border-radius:18px;color:var(--accent-strong);min-height:38px;font-size:.95rem}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.keypad button{background:var(--elevated);color:var(--ink);border-radius:12px;min-height:49px;font-size:1.3rem;border:1px solid var(--border)}.keypad button:hover{background:var(--accent-soft)}.expense-details{margin-top:16px}.expense-details summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:.96rem;color:var(--muted)}.expense-details .form-grid{padding:12px 0}.expense-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.receipt-items{padding:12px;background:var(--elevated);border-radius:12px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px;color:var(--muted);font-size:.95rem}.onboarding-art{height:120px;display:grid;place-items:center;margin-bottom:25px;background:radial-gradient(ellipse at center,var(--accent-soft),transparent 70%)}.onboarding-art svg{width:70px;height:70px;color:var(--accent-strong);stroke-width:1.2}.welcome{text-align:center}.welcome h3{font-size:1.7rem;font-weight:500;letter-spacing:-.7px}.welcome p{margin:12px 0 25px}.welcome .btn{width:100%;margin-top:10px}.step-dots{display:flex;justify-content:center;gap:7px;margin:18px 0}.step-dots span{width:6px;height:6px;border-radius:10px;background:var(--border)}.step-dots span.active{width:24px;background:var(--accent)}.radio-options{display:grid;gap:10px;margin:22px 0}.radio-options label{display:flex;align-items:center;gap:10px;border:1px solid var(--border);padding:14px;border-radius:12px}.radio-options input{width:18px;height:18px;min-height:0}.command-list{display:grid;gap:5px}.command-list button{min-height:44px;display:flex;align-items:center;gap:12px;background:var(--elevated);border-radius:10px;color:var(--ink);padding:10px 14px;text-align:left}#toast{position:fixed;bottom:24px;left:calc(50% + 116px);transform:translate(-50%,30px);background:#1d3330;color:#fff;border:1px solid #ffffff22;border-radius:14px;padding:14px 22px;z-index:100;box-shadow:0 10px 30px #0002;opacity:0;pointer-events:none;transition:.2s;max-width:calc(100% - 32px);text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}.simple .secondary-dashboard{display:none}.simple .dashboard-grid{align-items:start}.simple .coming-up{grid-column:2;grid-row:1}.large-text{font-size:18px}.large-text .dashboard-grid,.large-text .content-grid.three{grid-template-columns:1fr 1fr}.large-text #sidebar{width:248px}.large-text .workspace{margin-left:248px}.large-text .toolbar .command{display:none}.large-text .hero-top{align-items:flex-start}.large-text .ring{width:85px;height:85px}.large-text .hero-stats{grid-template-columns:1fr}.large-text .hero-stats>div{display:flex;justify-content:space-between;gap:8px}.large-text .month-stats{grid-template-columns:1fr}.large-text .nav-item{font-size:.95rem}
@media(min-width:1600px){#main{padding-top:44px}.dashboard-grid{gap:26px}.hero{padding:36px 40px 26px}.card:not(.hero){padding:30px}.hero-amount{font-size:4.7rem}}
@media(max-width:1200px){#sidebar{width:212px;padding-left:12px;padding-right:12px}.workspace{margin-left:212px}#main{padding:28px 24px}#topbar{padding:18px 24px}.toolbar{gap:7px}.top-label{display:none}.toolbar{width:100%;justify-content:flex-end}.command{margin-right:auto}.hero{padding:26px}.card{padding:22px}.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px}.ring{width:88px;height:88px}.hero-amount{font-size:3.6rem}.month-stats{gap:8px}.stat{padding:14px}.card-head{gap:8px}.content-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-day{min-height:85px}.hero-stats strong{font-size:1.12rem}}
@media(max-width:1000px){#sidebar{width:194px}.workspace{margin-left:194px}.brand-name{font-size:1.3rem}.brand{padding-left:2px;gap:6px}.nav-item{font-size:.96rem;gap:9px}.dashboard-grid{grid-template-columns:1fr}.hero{grid-row:auto}.coming-up{grid-row:3}.hero-amount{font-size:4.5rem}.ring{width:105px;height:105px}.simple .coming-up{grid-column:auto;grid-row:auto}.content-grid,.content-grid.three{grid-template-columns:1fr}.toolbar .toggle-label span{display:none}.page-date{display:none}.calendar-day{min-height:72px}.event-pill{font-size:.95rem;padding:2px}.large-text .dashboard-grid,.large-text .content-grid.three{grid-template-columns:1fr}}
@media(max-width:767px){#sidebar{display:none}.workspace,.large-text .workspace{margin-left:0}#topbar{min-height:70px;padding:14px 20px;border-bottom:0}.top-label{display:flex;font-weight:600;color:var(--ink);font-size:1.2rem;letter-spacing:-.5px}.top-label .breadcrumb{display:none}.toolbar{width:auto;margin-left:auto}.toolbar .command,.toolbar .toggle-label,.toolbar .top-add,.toolbar .top-help{display:none}.toolbar .icon-btn{width:38px;height:38px}.mobile-brand-icon{display:block!important}.top-label .icon{color:var(--accent-strong);width:27px;height:27px}#main{padding:14px 20px 26px;min-height:calc(100vh - 145px)}.page-heading{margin-bottom:24px;align-items:flex-start}.page-heading h1{font-size:2rem;letter-spacing:-.9px}.page-heading p{font-size:.95rem}.page-heading .eyebrow{font-size:.95rem;letter-spacing:1.2px;margin-bottom:8px}.page-heading>.btn{padding:9px 12px;font-size:.95rem}.dashboard-grid{gap:18px}.hero{border-radius:22px;padding:26px 24px 20px}.hero-amount{font-size:3.7rem;letter-spacing:-1.8px}.hero-top{gap:12px}.hero .eyebrow{font-size:.95rem}.ring{width:82px;height:82px}.ring-label strong{font-size:1rem}.ring-label{font-size:.95rem}.hero-stats{gap:10px;padding:16px 0;margin:23px 0 17px}.hero-stats small{font-size:.95rem}.hero-stats strong{font-size:1.13rem}.hero-actions .btn{flex:1;font-size:.95rem;padding:10px 12px}.hero-available{font-size:.95rem}.hero-available strong{font-size:1.14rem}.hero-links button{font-size:.95rem}.card{padding:22px;border-radius:20px}.month-stats{gap:10px}.stat{padding:13px}.stat .value{font-size:1.26rem}.stat .label{font-size:.95rem}.recovery{padding:17px;flex-wrap:wrap}.recovery>div:nth-child(2){flex:1;min-width:180px}.recovery .btn{margin-left:0;width:100%}#footer{padding:0 20px 100px;flex-wrap:wrap;font-size:.95rem;gap:8px}#mobile-nav{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:8px 10px max(9px,env(safe-area-inset-bottom));z-index:30;box-shadow:0 -4px 24px #13282004}.bottom-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:transparent;color:var(--muted);min-height:47px;padding:0;font-size:.95rem}.bottom-item.active{color:var(--accent-strong)}.bottom-item .icon{width:21px;height:21px}.bottom-item.add>span:not(.bottom-label){width:48px;height:48px;border-radius:50%;background:var(--accent-strong);color:#fff;display:grid;place-items:center;margin-top:-18px;box-shadow:0 0 0 6px var(--surface)}.bottom-item.add{color:var(--ink)}.bottom-item.add .icon{width:24px;height:24px}#toast{left:50%;bottom:90px;width:max-content}.calendar{gap:4px}.calendar-day{padding:6px 3px;min-height:70px;border-radius:7px;font-size:.95rem}.event-pill{font-size:0;width:5px;height:5px;min-height:5px;border-radius:50%;background:var(--accent);padding:0}.event-pill.expense{background:var(--danger)}.calendar-day .event-pill:nth-of-type(n+4){display:none}.weekday{font-size:.95rem}.setting-row{gap:12px;flex-wrap:wrap}.setting-row select{width:100%;flex-basis:100%}.stats-grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid .stat{padding:18px}.form-grid{gap:14px}.form-grid .field{grid-column:1/-1}dialog{width:100%;max-width:560px;max-height:calc(100dvh - 16px);margin:auto auto 0;border-radius:24px 24px 0 0;border-bottom:0}.dialog-head{padding:16px 20px 12px}.dialog-body{padding:20px}.dialog-body .form-actions{bottom:-20px;margin-bottom:-4px;gap:8px}.form-actions .btn{flex:1;font-size:.95rem;padding:11px 12px}.dialog-head .icon-btn{width:36px;height:36px}.expense-display input{font-size:3rem;min-height:62px}.keypad button{min-height:45px}.large-text .hero-top{flex-wrap:wrap}.large-text .ring{display:none}.large-text .page-heading{flex-wrap:wrap}.large-text .month-stats{grid-template-columns:1fr}.large-text .hero-available{flex-wrap:wrap}.large-text .record-actions{flex-wrap:wrap}.large-text .row{flex-wrap:wrap}.row-money{font-size:.95rem}.row-main strong{font-size:.95rem}.row .record-actions{gap:0}.row .record-actions .icon-btn{width:32px}.card-head h2{font-size:1.12rem}}
@media(max-width:370px){#topbar{padding:12px 16px}#main{padding:12px 14px 24px}.hero{padding:22px 18px 18px}.hero-amount{font-size:3rem}.ring{width:68px;height:68px}.hero-stats{gap:7px}.hero-stats strong{font-size:.97rem}.hero-stats small{font-size:.95rem}.hero-available{flex-wrap:wrap;gap:5px}.hero-actions{gap:7px}.hero-actions .btn{font-size:.95rem;padding:9px}.card{padding:18px}.month-stats{gap:6px}.stat{padding:11px}.stat .value{font-size:1.1rem}.stat .label{font-size:.95rem}.card-head h2{font-size:1.05rem}.row{gap:9px}.tile-icon{width:34px;height:34px}.row .record-actions{flex-basis:100%;justify-content:flex-end}.row{flex-wrap:wrap}.row-main{min-width:85px}.quick-amounts{gap:6px}.dialog-body{padding:16px}.dialog-body .form-actions{bottom:-16px}.dialog-head{padding:14px 16px 10px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.reduced-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
[hidden]{display:none!important}
@media(max-width:767px){.month-stats{grid-template-columns:1fr}.month-stats .stat{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px}.month-stats .stat .label{margin:0;font-size:.95rem}.month-stats .stat .value{font-size:1.35rem;max-width:65%;text-align:right}.month-stats .stat .hint{display:none}.hero-amount{font-size:clamp(2.5rem,9vw,3.7rem)}.page-heading>.badge{flex-shrink:0;font-size:.95rem}.large-text .page-heading>.badge{font-size:.95rem}}
.field-error{color:var(--danger);font-size:.95rem}.expense-display .field-error{display:block;letter-spacing:0}
/* Decorative rings stay inside their card and never affect its scroll bounds. */
.hero:before{inset:0;width:100%;height:100%;border:0;border-radius:inherit;box-shadow:none;background:radial-gradient(circle at 100% 0,transparent 0 39%,#ffffff0a 39.1% 39.3%,transparent 39.4% 49%,#ffffff06 49.1% 49.3%,transparent 49.4%)}
.page-heading>div{min-width:0}.page-heading h1{overflow-wrap:anywhere;hyphens:auto}.hero-top>div:first-child{min-width:0}.btn{max-width:100%;overflow-wrap:anywhere}
@media(max-width:767px){.page-heading{flex-wrap:wrap}.page-heading>div{flex:1 1 180px}.large-text .page-heading>div{flex-basis:100%}}
#main:focus{outline:none}.hero-amount.long{font-size:clamp(1.7rem,3vw,3.2rem);letter-spacing:-1px}.hero-top:has(.hero-amount.long) .ring{display:none}.card-head h2{min-width:0;overflow-wrap:anywhere;hyphens:auto}.card-head .btn{flex-shrink:0}
@media(max-width:767px){.hero-amount.long{font-size:clamp(1.05rem,5.8vw,1.8rem);letter-spacing:-.5px}.large-text .card-head{flex-wrap:wrap}}

.bottom-label{display:block;width:100%;max-width:100%;padding:0 2px;overflow-wrap:anywhere;hyphens:auto;line-height:1.25}.bottom-item{min-width:0}
.transfer-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0 30px}.transfer-steps>div{background:var(--elevated);padding:18px;border-radius:14px;font-size:.95rem;min-width:0;overflow-wrap:anywhere}.transfer-steps span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);margin-bottom:12px;font-weight:600}.brand-name small{font-size:.95rem;letter-spacing:.8px}.recovery .actions{min-width:0}.setting-row>.btn{flex-shrink:0}
@media(max-width:767px){.transfer-steps{grid-template-columns:1fr;gap:8px}.transfer-steps>div{display:flex;align-items:center;gap:12px;padding:14px}.transfer-steps span{margin:0;flex-shrink:0}.setting-row>.btn{max-width:100%}}
.backup-card .setting-row>div{min-width:0}
@media(max-width:767px){.backup-card .setting-row{flex-direction:column;align-items:stretch;gap:14px}.backup-card .setting-row>div{flex:auto;width:100%}.backup-card .setting-row>.btn{align-self:flex-start}}
