:root{
  --bg:#f4f7fb;--surface:#ffffff;--surface-2:#f8faff;--surface-3:#eef3fb;--text:#172033;--muted:#6f7d94;--border:#dde5f0;
  --accent:#3f75ff;--accent-2:#625cff;--green:#1dbf7a;--red:#eb516b;--amber:#e7a23a;--cyan:#2ba9d8;--shadow:0 14px 38px rgba(28,45,76,.09);
  --sidebar:#0c1630;--sidebar-2:#111f40;--sidebar-text:#dfe8ff;--sidebar-muted:#8797bd;
}
html[data-theme="dark"]{--bg:#07101f;--surface:#0e1a2d;--surface-2:#12223a;--surface-3:#182c48;--text:#f0f5ff;--muted:#93a4c0;--border:#22395a;--shadow:0 18px 45px rgba(0,0,0,.22);--sidebar:#081326;--sidebar-2:#0d1d38}
@media(prefers-color-scheme:dark){html[data-theme="system"]{--bg:#07101f;--surface:#0e1a2d;--surface-2:#12223a;--surface-3:#182c48;--text:#f0f5ff;--muted:#93a4c0;--border:#22395a;--shadow:0 18px 45px rgba(0,0,0,.22);--sidebar:#081326;--sidebar-2:#0d1d38}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:linear-gradient(180deg,var(--sidebar),var(--sidebar-2));color:var(--sidebar-text);display:flex;flex-direction:column;z-index:1000;border-right:1px solid rgba(255,255,255,.06)}.sidebar-brand{padding:18px 16px 14px;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:10px}.brand-lockup{display:flex;align-items:center;gap:10px;color:#fff;min-width:0}.brand-lockup img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(50,115,255,.28))}.brand-lockup div{min-width:0}.brand-lockup strong{display:block;font-size:14px;letter-spacing:.04em;white-space:nowrap}.brand-lockup span{display:block;color:#8fa5d5;font-size:10px;letter-spacing:.05em}.sidebar-close{display:none;margin-left:auto;border:0;background:transparent;color:#fff;font-size:28px}.side-nav{padding:14px 12px;overflow-y:auto;flex:1}.nav-section{margin-bottom:18px}.nav-label{display:block;padding:0 10px 7px;color:var(--sidebar-muted);font-size:9px;font-weight:800;letter-spacing:.13em}.nav-link{display:flex;align-items:center;gap:10px;color:#afbdd8;padding:10px 11px;border-radius:10px;margin:2px 0;font-size:13px;font-weight:650;transition:.18s}.nav-link:hover{background:rgba(255,255,255,.06);color:#fff}.nav-link.active{background:linear-gradient(90deg,rgba(63,117,255,.28),rgba(63,117,255,.10));color:#fff;box-shadow:inset 3px 0 0 #4c82ff}.nav-icon{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:rgba(255,255,255,.06);font-size:13px}.nav-count{margin-left:auto;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ff6279;color:#fff;display:grid;place-items:center;font-size:10px}.sidebar-footer{padding:14px;border-top:1px solid rgba(255,255,255,.07)}.user-mini{display:flex;align-items:center;gap:9px;margin-bottom:10px}.avatar-circle{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#4f83ff,#5b57e8);font-size:11px;font-weight:900;color:#fff}.user-mini strong{display:block;font-size:12px}.user-mini span{display:block;color:#8294b9;font-size:10px}.logout-link{display:flex;justify-content:center;padding:8px 10px;border-radius:9px;color:#b8c5de;background:rgba(255,255,255,.05);font-size:12px}.app-main{min-height:100vh;margin-left:260px;display:flex;flex-direction:column}.page-content{width:100%;max-width:1500px;margin:0 auto;padding:28px 30px 42px;flex:1}.app-footer{padding:18px 30px;color:var(--muted);font-size:11px;text-align:center;border-top:1px solid var(--border)}.mobile-topbar{display:none}.sidebar-backdrop{display:none}
.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.page-heading h1{font-size:28px;line-height:1.15;margin:3px 0 8px;letter-spacing:-.025em}.page-heading p{margin:0;color:var(--muted);max-width:760px}.eyebrow{display:block;color:var(--accent);font-size:10px;letter-spacing:.14em;font-weight:900}.heading-date{text-align:right;color:var(--muted)}.heading-date span,.heading-date strong{display:block}.heading-date strong{color:var(--text);font-size:16px;margin-top:3px}
.glass-card{background:linear-gradient(150deg,var(--surface),color-mix(in srgb,var(--surface) 92%,var(--accent) 8%));border:1px solid var(--border);border-radius:18px;padding:20px;box-shadow:var(--shadow)}.glass-card h2{margin:4px 0 8px;font-size:18px}.glass-card p{color:var(--muted)}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.card-heading h2{margin:2px 0}.card-heading p{margin:3px 0 0;color:var(--muted);font-size:12px}.card-heading>a,.text-link{font-size:12px;font-weight:800;color:var(--accent)}
.alert{padding:12px 14px;border-radius:12px;margin:0 0 16px;border:1px solid}.alert.success{background:rgba(29,191,122,.10);border-color:rgba(29,191,122,.28);color:var(--green)}.alert.error{background:rgba(235,81,107,.10);border-color:rgba(235,81,107,.30);color:var(--red)}.info-note{padding:12px 14px;border:1px solid rgba(63,117,255,.25);border-radius:12px;background:rgba(63,117,255,.07);color:var(--muted);font-size:12px}.warn-note{border-color:rgba(231,162,58,.32);background:rgba(231,162,58,.08)}.success-note{border-color:rgba(29,191,122,.3);background:rgba(29,191,122,.08)}
.button,button[type="submit"],.tracker-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:11px;padding:10px 15px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-weight:800;font-size:12px;box-shadow:0 8px 18px rgba(63,117,255,.18);transition:.17s}.button:hover,button[type="submit"]:hover,.tracker-submit:hover{transform:translateY(-1px);filter:brightness(1.04)}.button.secondary{background:var(--surface-2);border:1px solid var(--border);box-shadow:none;color:var(--text)}button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.text-button{border:0;background:transparent;color:var(--accent);font-weight:800;padding:4px}.link-danger{border:0;background:transparent;color:var(--red);padding:0;font-weight:700;font-size:12px;box-shadow:none}.link-danger:hover{transform:none;text-decoration:underline}
label{display:block;font-size:12px;font-weight:750;margin:0 0 6px}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 11px;background:var(--surface-2);color:var(--text);outline:none;transition:.15s}input:focus,select:focus,textarea:focus{border-color:rgba(63,117,255,.7);box-shadow:0 0 0 3px rgba(63,117,255,.10)}textarea{min-height:88px;resize:vertical}.field-hint{display:block;color:var(--muted);font-size:10px;margin-top:5px}.match-good{color:var(--green)}.match-bad{color:var(--red)}.two-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.form-card-wide{max-width:780px;margin:auto}.form-card-wide form>*{margin-top:10px}.category-label-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.category-label-row label{margin:0}.category-label-row a,.category-label-row span{font-size:10px}
.status-chip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900;white-space:nowrap}.status-chip.good{color:var(--green);background:rgba(29,191,122,.11);border:1px solid rgba(29,191,122,.25)}.status-chip.warn{color:var(--amber);background:rgba(231,162,58,.10);border:1px solid rgba(231,162,58,.25)}.status-chip.bad{color:var(--red);background:rgba(235,81,107,.10);border:1px solid rgba(235,81,107,.25)}.status-chip.neutral{color:var(--muted);background:var(--surface-2);border:1px solid var(--border)}.soft-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--surface-3);color:var(--muted);font-size:10px;font-weight:800}.budget-pill{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:850}.budget-pill.needs{background:rgba(63,117,255,.12);color:var(--accent)}.budget-pill.wants{background:rgba(231,162,58,.13);color:var(--amber)}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:850}.badge.income{color:var(--green);background:rgba(29,191,122,.12)}.badge.expense{color:var(--red);background:rgba(235,81,107,.12)}
.dashboard-metrics,.tracker-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-bottom:18px}.metric-card{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:var(--shadow)}.metric-card:after{content:"";position:absolute;width:80px;height:80px;border-radius:50%;right:-28px;top:-35px;background:rgba(63,117,255,.06)}.metric-card span{display:block;color:var(--muted);font-size:11px;font-weight:750}.metric-card strong{display:block;font-size:20px;margin:7px 0 3px;letter-spacing:-.02em}.metric-card small{display:block;color:var(--muted);font-size:9px}.metric-card.income{border-top:3px solid var(--green)}.metric-card.expense{border-top:3px solid var(--red)}.metric-card.balance{border-top:3px solid var(--accent)}.metric-card.savings{border-top:3px solid var(--cyan)}.metric-card.investment{border-top:3px solid var(--amber)}.metric-icon{float:right;width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:var(--surface-3);font-weight:900;color:var(--accent)}
.dashboard-grid-main{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:16px;margin-bottom:16px}.dashboard-chart-wrap{height:280px;position:relative}.dashboard-chart-wrap canvas{display:block}.category-bars{display:grid;gap:12px}.category-bar-row>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:11px;margin-bottom:5px}.category-bar-row span{color:var(--muted)}.simple-bar{height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}.simple-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),#7b62ff)}.empty-state{padding:18px;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:12px}
.track-save-grow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}.flow-card{position:relative;min-height:270px}.flow-number{position:absolute;right:18px;top:12px;font-size:36px;font-weight:900;color:color-mix(in srgb,var(--muted) 16%,transparent)}.flow-card>p{font-size:12px}.goal-ring{width:100px;height:100px;border-radius:50%;margin:12px auto;display:grid;place-items:center;background:conic-gradient(var(--cyan) var(--progress),var(--surface-3) 0);position:relative}.goal-ring:before{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--surface)}.goal-ring>div{position:relative;text-align:center}.goal-ring strong,.goal-ring span{display:block}.goal-ring strong{font-size:19px}.goal-ring span{font-size:9px;color:var(--muted)}.unlock-visual{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;margin:14px 0;background:rgba(29,191,122,.12);color:var(--green);font-size:32px}.unlock-visual.locked{background:var(--surface-3);color:var(--muted)}.ready-text{color:var(--green)}.mini-rule-bars{display:grid;gap:10px;margin:14px 0}.mini-rule-bars>div{display:grid;grid-template-columns:60px 35px 1fr;align-items:center;gap:7px;font-size:10px}.mini-rule-bars span{color:var(--muted)}.mini-rule-bars i{display:block;height:6px;border-radius:99px;background:var(--surface-3);overflow:hidden}.mini-rule-bars em{display:block;height:100%;background:var(--accent);border-radius:99px}
.dashboard-grid-lower{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}.transaction-list-mobile{display:grid}.transaction-list-item{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.transaction-list-item:last-child{border-bottom:0}.tx-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center}.tx-icon.income{background:rgba(29,191,122,.1);color:var(--green)}.tx-icon.expense{background:rgba(235,81,107,.1);color:var(--red)}.tx-main strong,.tx-main span{display:block}.tx-main strong{font-size:12px}.tx-main span{font-size:9px;color:var(--muted)}.money{white-space:nowrap}.money.income{color:var(--green)}.money.expense{color:var(--red)}.quick-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}.quick-action-grid a{border:1px solid var(--border);border-radius:12px;padding:13px;background:var(--surface-2);color:var(--text);display:flex;align-items:center;gap:8px;font-weight:750;font-size:11px}.quick-action-grid a:first-child{color:var(--green)}.quick-action-grid a:nth-child(2){color:var(--red)}.dashboard-insight{padding:12px;border-radius:12px;background:rgba(63,117,255,.07);border:1px solid rgba(63,117,255,.16)}.dashboard-insight p{font-size:11px;margin:5px 0 0}.flow-banner{margin-top:18px;display:flex;align-items:center;justify-content:center;gap:16px;border-radius:15px;padding:14px;background:linear-gradient(90deg,rgba(63,117,255,.12),rgba(29,191,122,.08));border:1px solid var(--border);font-weight:900;letter-spacing:.08em}.flow-banner i{color:var(--muted)}.flow-banner small{margin-left:10px;color:var(--muted);font-weight:500;letter-spacing:0}
.month-picker{display:flex;align-items:end;gap:8px}.month-picker label{color:var(--muted)}.month-picker input{width:160px}.tracker-summary-grid{grid-template-columns:repeat(4,1fr)}.tracker-grid-modern{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.tracker-form-title{display:flex;align-items:center;gap:10px;margin-bottom:10px}.tracker-form-title>span{width:37px;height:37px;border-radius:11px;display:grid;place-items:center;background:var(--surface-3);font-weight:900}.income-form-card .tracker-form-title>span{color:var(--green)}.expense-form-card .tracker-form-title>span{color:var(--red)}.tracker-form-card form>*{margin-top:9px}.tracker-form-card form .two-field-row{margin-top:0}.budget-group-box{padding:12px;border-radius:13px;background:var(--surface-2);border:1px solid var(--border)}.budget-radio-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.budget-radio-row.compact{grid-template-columns:1fr}.budget-choice{display:flex;gap:8px;padding:11px;border:1px solid var(--border);border-radius:12px;margin:0;background:var(--surface);cursor:pointer}.budget-choice input{width:auto;margin:2px 0 0}.budget-choice span{min-width:0}.budget-choice b,.budget-choice small{display:block}.budget-choice small{color:var(--muted);font-size:9px;margin-top:3px}.budget-choice:has(input:checked){border-color:rgba(63,117,255,.6);box-shadow:0 0 0 3px rgba(63,117,255,.08)}.saving-link-note{margin-top:8px;color:var(--muted);font-size:10px}.income-button{background:linear-gradient(135deg,#18a96b,#28d98b)}.expense-button{background:linear-gradient(135deg,#d9415e,#ff6279)}
.budget-health-card{margin-bottom:16px}.budget-health-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.budget-meter{padding:13px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.budget-meter>div:first-child,.meter-values{display:flex;align-items:center;justify-content:space-between;gap:8px}.budget-meter span{font-size:10px;color:var(--muted)}.meter-track{position:relative;height:9px;margin:10px 0;border-radius:999px;background:var(--surface-3);overflow:visible}.meter-track>div{height:100%;border-radius:999px;background:var(--accent)}.budget-meter.wants .meter-track>div{background:var(--amber)}.budget-meter.saving .meter-track>div{background:var(--green)}.meter-track i{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--text);opacity:.6}.meter-values strong{font-size:18px}.budget-advice{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.budget-advice span{padding:7px 9px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:10px}
.history-tools{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.history-tools h2{margin:2px 0}.history-tools span{font-size:10px;color:var(--muted)}.filter-group{display:flex;gap:6px}.filter-button{border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--muted);padding:7px 10px;font-size:10px}.filter-button.active{background:var(--accent);border-color:var(--accent);color:#fff}.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:680px}th,td{padding:10px 9px;text-align:left;border-bottom:1px solid var(--border);font-size:11px}th{color:var(--muted);font-size:9px;letter-spacing:.04em;text-transform:uppercase}td.actions{display:flex;gap:8px;align-items:center}td.actions form{margin:0}.empty{text-align:center;color:var(--muted);padding:24px}
.category-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.summary-mini{padding:16px;border-radius:15px;border:1px solid var(--border);background:var(--surface)}.summary-mini span,.summary-mini small{display:block;color:var(--muted);font-size:10px}.summary-mini strong{display:block;font-size:22px;margin:6px 0}.category-layout-modern{display:grid;grid-template-columns:320px 1fr;gap:16px;margin-bottom:16px}.category-form-card form>*{margin-top:9px}.category-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card-heading>div:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.category-dot{width:10px;height:10px;border-radius:50%}.category-dot.income-dot{background:var(--green)}.category-dot.expense-dot{background:var(--red)}.category-board h3{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:16px 0 8px}.category-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.category-tile{padding:10px;border-radius:11px;border:1px solid var(--border);background:var(--surface-2);display:flex;align-items:center;justify-content:space-between;gap:8px}.category-tile strong{font-size:10px}.custom-category-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.custom-category-row strong,.custom-category-row small{display:block}.custom-category-row strong{font-size:11px}.custom-category-row small{font-size:9px;color:var(--muted)}.muted-text{color:var(--muted);font-size:11px}.category-explainer{margin-bottom:10px}.rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rule-grid>div{padding:13px;border-radius:13px;background:var(--surface-2);border:1px solid var(--border)}.rule-grid p{font-size:10px;margin-bottom:0}
.savings-hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:16px;margin-bottom:16px}.savings-visual-row{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:20px}.savings-jar-large{width:110px;margin:auto}.jar-cap{height:13px;width:66px;margin:auto;background:#60718e;border-radius:5px}.jar-body{height:150px;border:4px solid color-mix(in srgb,var(--muted) 50%,transparent);border-radius:14px 14px 26px 26px;position:relative;overflow:hidden;background:color-mix(in srgb,var(--surface-2) 70%,transparent)}.jar-fill{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(#3c9dff,#2865e8);transition:.3s}.jar-text{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.jar-text strong{font-size:21px}.jar-text span{font-size:9px;color:var(--muted)}.goal-numbers>span{display:block;color:var(--muted);font-size:11px}.goal-numbers>strong{display:block;font-size:30px;margin:4px 0 14px}.goal-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px}.goal-meta div{padding:10px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border)}.goal-meta span,.goal-meta b{display:block}.goal-meta span{color:var(--muted);font-size:9px}.goal-meta b{font-size:12px}.goal-progress-line{height:10px;background:var(--surface-3);border-radius:999px;overflow:hidden;margin-top:14px}.goal-progress-line i{height:100%;display:block;background:linear-gradient(90deg,#2865e8,#2bd6cf);border-radius:999px}.goal-progress-labels{display:flex;justify-content:space-between;gap:10px;margin-top:6px;font-size:9px;color:var(--muted)}.inline-target-form{margin-top:15px;padding-top:14px;border-top:1px solid var(--border)}.inline-input-button{display:grid;grid-template-columns:1fr auto;gap:8px}.inline-target-form small{display:block;color:var(--muted);font-size:9px;margin-top:6px}.readiness-card{text-align:center}.readiness-gauge>div{--p:0;width:120px;height:120px;margin:12px auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) var(--progress),var(--surface-3) 0);position:relative}.readiness-gauge>div:after{content:"";position:absolute;inset:12px;background:var(--surface);border-radius:50%}.readiness-gauge strong{position:relative;z-index:1;font-size:22px}.readiness-steps{display:grid;gap:6px;margin:14px 0;text-align:left}.readiness-steps span{font-size:10px;padding:7px 9px;border-radius:9px;background:var(--surface-2);color:var(--muted)}.readiness-steps .done{color:var(--green)}.readiness-steps .active{color:var(--accent);border:1px solid rgba(63,117,255,.25)}.savings-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.add-saving-card form>*{margin-top:9px}.available-balance-box{display:flex;align-items:end;justify-content:space-between;padding:12px;border-radius:12px;background:rgba(63,117,255,.07);margin:12px 0}.available-balance-box span{font-size:10px;color:var(--muted)}.available-balance-box strong{font-size:20px}.saving-health-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.saving-health-numbers div{padding:10px;border-radius:11px;background:var(--surface-2);border:1px solid var(--border)}.saving-health-numbers span,.saving-health-numbers strong{display:block}.saving-health-numbers span{font-size:9px;color:var(--muted)}.saving-health-numbers strong{margin-top:4px}.saving-health-bar{height:10px;border-radius:999px;background:var(--surface-3);margin:14px 0;overflow:hidden}.saving-health-bar i{display:block;height:100%;background:var(--green)}.pace-note{font-size:10px}.savings-history-card{margin-bottom:16px}.next-step-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:10px}.next-step-flow div{padding:12px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2)}.next-step-flow b{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:var(--surface-3);margin-bottom:6px}.next-step-flow strong,.next-step-flow span{display:block}.next-step-flow span{font-size:9px;color:var(--muted)}.next-step-flow .done{border-color:rgba(29,191,122,.28)}.next-step-flow .done b{background:rgba(29,191,122,.12);color:var(--green)}.next-step-flow .active{border-color:rgba(63,117,255,.4)}
.report-filter-card{margin-bottom:16px}.report-filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;align-items:end}.report-title-strip{display:flex;justify-content:space-between;align-items:center;margin:10px 0 14px;padding:12px 15px;border-radius:13px;background:var(--surface);border:1px solid var(--border)}.report-title-strip span,.report-title-strip strong{display:block}.report-title-strip>div>span{font-size:9px;color:var(--muted)}.report-metrics{grid-template-columns:repeat(4,1fr)}.reports-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.report-budget-grid{grid-template-columns:1fr}.report-trend-card{margin-bottom:16px}.report-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.report-progress div{padding:10px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}.report-progress span,.report-progress strong{display:block}.report-progress span{font-size:9px;color:var(--muted)}.readiness-report-icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;font-size:30px;background:var(--surface-2);margin:12px 0}.insight-list{display:grid;gap:8px}.insight-list>div{padding:10px;border-radius:10px;background:var(--surface-2);font-size:11px;color:var(--muted)}
.profile-grid{display:grid;grid-template-columns:320px 1fr;gap:16px;margin-bottom:16px}.profile-card{text-align:center}.profile-avatar-large,.profile-avatar-image{width:88px;height:88px;border-radius:26px;margin:auto}.profile-avatar-large{display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-size:26px;font-weight:900}.profile-avatar-image{object-fit:cover}.profile-card h2{margin:12px 0 3px}.profile-card>p{margin:0 0 8px}.profile-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;text-align:left}.profile-meta>div{padding:10px;border-radius:11px;background:var(--surface-2)}.profile-meta span,.profile-meta strong{display:block}.profile-meta span{font-size:9px;color:var(--muted)}.profile-meta strong{font-size:11px;margin-top:3px}.profile-edit-card form>*{margin-top:10px}.profile-metrics{grid-template-columns:repeat(4,1fr)}.journey-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.journey-progress>div{padding:12px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2)}.journey-progress b{width:24px;height:24px;border-radius:8px;background:var(--surface-3);display:grid;place-items:center;margin-bottom:6px}.journey-progress span{font-size:10px;color:var(--muted)}.journey-progress .done{border-color:rgba(29,191,122,.3)}.journey-progress .done b{background:rgba(29,191,122,.12);color:var(--green)}
.notification-summary{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}.notification-summary article span,.notification-summary article small{display:block;color:var(--muted);font-size:10px}.notification-summary article strong{display:block;font-size:24px;margin:5px 0}.notification-list{display:grid}.notification-item{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--border);color:var(--text)}.notification-item:last-child{border-bottom:0}.notification-icon{width:38px;height:38px;border-radius:12px;background:var(--surface-2);display:grid;place-items:center;color:var(--accent);font-weight:900}.notification-item strong{font-size:12px}.notification-item p{margin:3px 0 0;font-size:10px}.big-empty{padding:36px}.big-empty strong{display:block;color:var(--green);font-size:16px}
.settings-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-bottom:16px}.settings-card form>*{margin-top:10px}.settings-subsection{margin-top:24px!important;padding-top:18px;border-top:1px solid var(--border)}.setting-toggle{display:flex;align-items:flex-start;gap:10px;padding:11px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);cursor:pointer}.setting-toggle input{width:auto;margin-top:2px}.setting-toggle strong,.setting-toggle small{display:block}.setting-toggle small{font-size:9px;color:var(--muted);margin-top:3px}.password-field{position:relative}.password-field input{padding-right:62px}.password-toggle{position:absolute;right:5px;top:5px;bottom:5px;width:auto;border:0;border-radius:8px;padding:0 9px;background:var(--surface-3);color:var(--muted);font-size:10px;box-shadow:none}.security-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.security-badges span{padding:6px 8px;border-radius:999px;background:rgba(29,191,122,.09);color:var(--green);font-size:9px}.custom-reminder-card{margin-bottom:16px}.custom-reminder-form{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:10px;align-items:end}.reminder-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.reminder-row strong,.reminder-row span{display:block}.reminder-row strong{font-size:11px}.reminder-row span{font-size:9px;color:var(--muted)}.privacy-card p{margin-bottom:0}
.auth-page{min-height:100vh;background:#071326;color:#eff5ff}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:radial-gradient(circle at 15% 25%,rgba(56,113,255,.25),transparent 35%),linear-gradient(145deg,#071326,#0c1830 55%,#0a1326)}.auth-story{position:relative;overflow:hidden;padding:42px 50px;display:flex;flex-direction:column;justify-content:space-between}.auth-story:before,.auth-story:after{content:"";position:absolute;border:1px solid rgba(80,132,255,.18);border-radius:50%;width:420px;height:420px}.auth-story:before{left:-230px;bottom:-160px}.auth-story:after{right:-280px;top:-180px}.auth-brand{display:flex;align-items:center;gap:11px;position:relative;z-index:1}.auth-brand img{width:52px;height:52px;object-fit:contain}.auth-brand strong,.auth-brand span{display:block}.auth-brand strong{letter-spacing:.08em}.auth-brand span{font-size:10px;color:#92a7d3}.auth-story-copy{position:relative;z-index:1;max-width:620px}.auth-story-copy .eyebrow{color:#6c9cff}.auth-story-copy h1{font-size:54px;line-height:1;margin:8px 0 14px;letter-spacing:-.04em}.auth-story-copy>p{color:#a6b5d4;font-size:15px;max-width:560px}.auth-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}.auth-flow>div{padding:15px;border-radius:15px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}.auth-flow span{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:rgba(71,125,255,.16);color:#6c9cff;font-weight:900;font-size:11px;margin-bottom:8px}.auth-flow strong,.auth-flow small{display:block}.auth-flow small{color:#8297c1;font-size:9px;margin-top:3px}.auth-security-row{display:flex;gap:12px;flex-wrap:wrap;position:relative;z-index:1;color:#8095bd;font-size:9px}.feature-ticks{display:grid;gap:9px;margin-top:24px}.feature-ticks span{color:#a6b5d4;font-size:12px}.auth-panel{display:grid;place-items:center;padding:30px;background:linear-gradient(180deg,rgba(9,21,43,.72),rgba(7,17,34,.94));border-left:1px solid rgba(255,255,255,.06)}.auth-card-pro{width:min(440px,100%);padding:30px;border-radius:22px;background:rgba(13,28,54,.92);border:1px solid rgba(115,150,220,.17);box-shadow:0 25px 80px rgba(0,0,0,.3);backdrop-filter:blur(18px)}.auth-card-pro h2{font-size:25px;margin:4px 0 6px}.auth-card-pro>p{color:#8fa3c8;font-size:11px;margin:0 0 17px}.auth-kicker{font-size:9px;color:#6b9aff;font-weight:900;letter-spacing:.15em}.auth-form label{color:#b7c5e1}.auth-form input{background:#0a1932;border-color:#22395d;color:#eef4ff}.auth-form input::placeholder{color:#5d7199}.auth-form>*{margin-top:9px}.auth-primary{width:100%;margin-top:16px!important;padding:12px!important}.auth-divider{display:flex;align-items:center;gap:10px;color:#63789e;font-size:9px;margin:17px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#203658;flex:1}.google-button{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #294264;border-radius:11px;padding:10px;background:#0b1b34;color:#eef4ff;font-size:11px;font-weight:800}.google-g{width:23px;height:23px;border-radius:50%;background:#fff;color:#4285f4;display:grid;place-items:center;font-weight:900}.auth-switch{text-align:center!important;margin:17px 0 0!important}.auth-switch a{font-weight:850}.auth-trust{margin-top:16px;padding-top:13px;border-top:1px solid #203553;text-align:center;color:#6980a7;font-size:8px}.auth-mobile-logo{display:none}.password-strength{height:5px;border-radius:99px;background:#172b49;overflow:hidden}.password-strength div{height:100%;width:0;background:linear-gradient(90deg,#ff6279,#f4b643,#28d98b);transition:.2s}
@media(max-width:1200px){.dashboard-metrics{grid-template-columns:repeat(3,1fr)}.category-layout-modern{grid-template-columns:1fr}.report-filters{grid-template-columns:repeat(3,1fr)}.custom-reminder-form{grid-template-columns:repeat(3,1fr)}.custom-reminder-form button{align-self:end}.settings-grid{grid-template-columns:1fr}.category-columns{grid-template-columns:1fr 1fr}}
@media(max-width:980px){.sidebar{transform:translateX(-100%);transition:.22s}.sidebar.open{transform:translateX(0)}.sidebar-close{display:block}.sidebar-backdrop.show{display:block;position:fixed;inset:0;background:rgba(2,7,16,.58);z-index:999}.app-main{margin-left:0}.mobile-topbar{height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px;position:sticky;top:0;z-index:900;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(15px);border-bottom:1px solid var(--border)}.menu-toggle{border:0;background:var(--surface-2);color:var(--text);width:36px;height:36px;border-radius:10px}.mobile-brand{display:flex;align-items:center;gap:7px;color:var(--text);font-size:11px;font-weight:900;letter-spacing:.06em}.mobile-brand img{width:30px;height:30px;object-fit:contain}.notification-bell{position:relative;width:36px;height:36px;border-radius:10px;background:var(--surface-2);display:grid;place-items:center;color:var(--text)}.notification-bell span{position:absolute;right:-3px;top:-4px;min-width:17px;height:17px;border-radius:99px;background:var(--red);color:#fff;font-size:8px;display:grid;place-items:center}.page-content{padding:22px 20px 38px}.dashboard-grid-main,.dashboard-grid-lower,.savings-hero-grid,.savings-action-grid,.profile-grid{grid-template-columns:1fr}.track-save-grow-grid{grid-template-columns:1fr 1fr}.tracker-grid-modern{grid-template-columns:1fr}.category-columns{grid-template-columns:1fr}.reports-grid{grid-template-columns:1fr}.next-step-flow{grid-template-columns:1fr 1fr}.next-step-flow i{display:none}.auth-shell{grid-template-columns:1fr}.auth-story{display:none}.auth-panel{min-height:100vh;border:0;padding:20px}.auth-mobile-logo{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:20px}.auth-mobile-logo img{width:42px;height:42px}.auth-mobile-logo strong{font-size:13px;letter-spacing:.06em}}
@media(max-width:720px){.page-heading{flex-direction:column}.heading-date{text-align:left}.dashboard-metrics,.tracker-summary-grid,.report-metrics,.profile-metrics{grid-template-columns:1fr 1fr}.track-save-grow-grid{grid-template-columns:1fr}.budget-health-grid,.rule-grid,.category-summary-grid,.saving-health-numbers,.report-progress,.journey-progress,.notification-summary{grid-template-columns:1fr}.two-field-row{grid-template-columns:1fr}.budget-radio-row{grid-template-columns:1fr}.report-filters{grid-template-columns:1fr 1fr}.custom-reminder-form{grid-template-columns:1fr 1fr}.profile-meta{grid-template-columns:1fr}.savings-visual-row{grid-template-columns:1fr;text-align:center}.goal-meta{grid-template-columns:1fr 1fr}.goal-progress-labels{flex-direction:column}.next-step-flow{grid-template-columns:1fr}.flow-banner{flex-wrap:wrap}.flow-banner small{flex-basis:100%;text-align:center;margin:0}.page-content{padding:18px 14px 34px}.glass-card{padding:16px;border-radius:15px}.history-tools{flex-direction:column}.filter-group{width:100%}.filter-button{flex:1}.app-footer{padding:16px 14px}.category-card-grid{grid-template-columns:1fr}.custom-reminder-card{overflow:hidden}}
@media(max-width:480px){.dashboard-metrics,.tracker-summary-grid,.report-metrics,.profile-metrics{grid-template-columns:1fr}.quick-action-grid{grid-template-columns:1fr}.report-filters,.custom-reminder-form{grid-template-columns:1fr}.page-heading h1{font-size:24px}.metric-card strong{font-size:18px}.auth-card-pro{padding:22px 17px;border-radius:18px}.auth-panel{padding:12px}.month-picker{width:100%;align-items:stretch;flex-direction:column}.month-picker input{width:100%}.goal-meta{grid-template-columns:1fr}.report-title-strip{align-items:flex-start;flex-direction:column;gap:8px}.card-heading{flex-direction:column}.card-heading>div:first-child{align-items:flex-start}.custom-category-row{align-items:flex-start}.notification-item{grid-template-columns:36px 1fr}.notification-item>span:last-child{display:none}}
@media print{.sidebar,.mobile-topbar,.app-footer,.no-print,.page-heading .button,.notification-bell{display:none!important}.app-main{margin:0!important}.page-content{padding:0!important;max-width:none!important}.glass-card,.metric-card{box-shadow:none!important;break-inside:avoid}.reports-grid{grid-template-columns:1fr 1fr}.dashboard-metrics{grid-template-columns:repeat(4,1fr)}body{background:#fff;color:#111}html{--surface:#fff;--surface-2:#f8f8f8;--surface-3:#eee;--text:#111;--muted:#555;--border:#ddd}}

/* Container Box */
.dashboard-text-links {
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px 24px;
    margin: 20px 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

/* Header & Badge Styling */
.announcement-header {
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid #f1f5f9;
}

.announcement-badge {
    display: inline-block;
    background-color: #dbeafe;
    color: #1e40af;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 3px 10px;
    border-radius: 12px;
    margin-bottom: 6px;
}

.announcement-header h3 {
    color: #0f172a;
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0;
}

/* Items & Dividers */
.announcement-item {
    margin-top: 14px;
}

.announcement-item + .announcement-item {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px dashed #e2e8f0;
}

/* Headings & Descriptions */
.announcement-item h4 {
    color: #1e293b;
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 4px 0;
}

.announcement-item p {
    color: #64748b;
    font-size: 0.875rem;
    margin: 0 0 8px 0;
    line-height: 1.4;
}

/* Links */
.dash-link {
    display: inline-block;
    color: #2563eb;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s ease, transform 0.2s ease;
}

.dash-link:hover {
    color: #1d4ed8;
    text-decoration: underline;
    transform: translateX(3px);
}

