:root{--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-display: "Space Grotesk", "Inter", system-ui, -apple-system, sans-serif;--shadow-flat: none;--card-radius: 20px;--card-padding: 20px;--card-bg: color-mix(in srgb, var(--card) 74%, var(--glass-surface));--card-border: 1px solid var(--glass-border);--card-shadow: var(--shadow-soft);--rhythm-tight: 6px;--rhythm-base: 10px;--rhythm-loose: 14px}:root{--bg: #0a0f1c;--panel: #131d32;--border: rgba(28, 200, 216, .16);--outline: rgba(28, 200, 216, .24);--text: #f8fbff;--text-secondary: #d0ddee;--muted: #94a9c7;--accent: #0fd8e8;--accent-2: #ffc83d;--accent-glow: rgba(15, 216, 232, .35);--danger: #ff6b6b;--success: #2ed573;--warning: #f8b53b;--shadow: 0 12px 26px rgba(7, 12, 26, .5);--shadow-soft: 0 4px 12px rgba(7, 12, 26, .18);--shadow-elevated: 0 8px 20px rgba(7, 12, 26, .4);--glass-border: rgba(255, 255, 255, .2);--glass-surface: rgba(255, 255, 255, .08);--glass-blur: 16px;--status-paid-glow: rgba(46, 213, 115, .25);--status-warning-glow: rgba(248, 181, 59, .28);--status-danger-glow: rgba(255, 107, 107, .28);--status-due-bg: linear-gradient(135deg, #f8b53b, #ffd24a);--status-due-border: rgba(248, 181, 59, .62);--status-due-text: #1b1300;--status-paid-bg: linear-gradient(135deg, #2ed573, #4ade80);--status-paid-border: rgba(46, 213, 115, .62);--status-paid-text: #062312;--status-overdue-bg: linear-gradient(135deg, #ff6b6b, #ff8b8b);--status-overdue-border: rgba(255, 107, 107, .64);--status-overdue-text: #360b0b;--gradient-primary: linear-gradient(135deg, #0fd8e8, #4ab1ff);--gradient-accent: linear-gradient(135deg, #4ab1ff, #8ed7fc);--gradient-success: linear-gradient(135deg, #34e89e, #0fd8e8);--gradient-warning: linear-gradient(135deg, #ffc83d, #ffaa1c);--surface: rgba(15, 216, 232, .08);--surface-hover: rgba(15, 216, 232, .14);--surface-highlight: rgba(15, 216, 232, .22);--surface-active: rgba(15, 216, 232, .3);--card: #152540;--card-hover: #1b3152;--btn-text: #0a0f1c;--badge-text: #0a0f1c;--hover: rgba(15, 216, 232, .1);--blob-1-start: #0db8ce;--blob-1-end: #3491ff;--blob-2-start: #1f3352;--blob-2-end: #152540}@media (prefers-color-scheme: light){:root{--bg: #d8e8f5;--panel: #ffffff;--border: rgba(14, 165, 183, .18);--outline: rgba(14, 165, 183, .28);--text: #0b1a2b;--text-secondary: #2d4a6a;--muted: #4d6684;--accent: #0db8ce;--accent-2: #ffb300;--accent-glow: rgba(13, 184, 206, .28);--danger: #dc2626;--success: #16a34a;--warning: #d97706;--shadow: 0 12px 22px rgba(15, 23, 42, .1);--shadow-soft: 0 4px 12px rgba(15, 23, 42, .06);--shadow-elevated: 0 8px 20px rgba(15, 23, 42, .14);--glass-border: rgba(255, 255, 255, .68);--glass-surface: rgba(255, 255, 255, .72);--glass-blur: 14px;--status-paid-glow: rgba(22, 163, 74, .22);--status-warning-glow: rgba(217, 119, 6, .2);--status-danger-glow: rgba(220, 38, 38, .2);--status-due-bg: linear-gradient(135deg, #f59e0b, #f7b500);--status-due-border: rgba(217, 119, 6, .58);--status-due-text: #2c1800;--status-paid-bg: linear-gradient(135deg, #16a34a, #4ade80);--status-paid-border: rgba(22, 163, 74, .56);--status-paid-text: #062312;--status-overdue-bg: linear-gradient(135deg, #dc2626, #ef4444);--status-overdue-border: rgba(220, 38, 38, .56);--status-overdue-text: #360b0b;--gradient-primary: linear-gradient(135deg, #0db8ce, #3ec1ff);--gradient-accent: linear-gradient(135deg, #3ec1ff, #8ed7fc);--gradient-success: linear-gradient(135deg, #18b85c, #0db8ce);--gradient-warning: linear-gradient(135deg, #ffb300, #ff9f1c);--surface: rgba(13, 184, 206, .06);--surface-hover: rgba(13, 184, 206, .12);--surface-highlight: rgba(13, 184, 206, .18);--surface-active: rgba(13, 184, 206, .26);--card: #ffffff;--card-hover: #f8fcff;--btn-text: #0b1320;--badge-text: #0b1320;--hover: rgba(9, 30, 66, .06);--blob-1-start: #d5f6ff;--blob-1-end: #bde7ff;--blob-2-start: #e6f0ff;--blob-2-end: #d6e6ff}}body.light{--bg: #d8e8f5;--panel: #ffffff;--border: rgba(14, 165, 183, .18);--outline: rgba(14, 165, 183, .28);--text: #0b1a2b;--text-secondary: #2d4a6a;--muted: #4d6684;--accent: #0db8ce;--accent-2: #ffb300;--accent-glow: rgba(13, 184, 206, .28);--danger: #dc2626;--success: #16a34a;--warning: #d97706;--shadow: 0 12px 22px rgba(15, 23, 42, .1);--shadow-soft: 0 4px 12px rgba(15, 23, 42, .06);--shadow-elevated: 0 8px 20px rgba(15, 23, 42, .14);--glass-border: rgba(255, 255, 255, .68);--glass-surface: rgba(255, 255, 255, .72);--glass-blur: 14px;--status-paid-glow: rgba(22, 163, 74, .22);--status-warning-glow: rgba(217, 119, 6, .2);--status-danger-glow: rgba(220, 38, 38, .2);--status-due-bg: linear-gradient(135deg, #f59e0b, #f7b500);--status-due-border: rgba(217, 119, 6, .58);--status-due-text: #2c1800;--status-paid-bg: linear-gradient(135deg, #16a34a, #4ade80);--status-paid-border: rgba(22, 163, 74, .56);--status-paid-text: #062312;--status-overdue-bg: linear-gradient(135deg, #dc2626, #ef4444);--status-overdue-border: rgba(220, 38, 38, .56);--status-overdue-text: #360b0b;--gradient-primary: linear-gradient(135deg, #0db8ce, #3ec1ff);--gradient-accent: linear-gradient(135deg, #3ec1ff, #8ed7fc);--gradient-success: linear-gradient(135deg, #18b85c, #0db8ce);--gradient-warning: linear-gradient(135deg, #ffb300, #ff9f1c);--surface: rgba(13, 184, 206, .06);--surface-hover: rgba(13, 184, 206, .12);--surface-highlight: rgba(13, 184, 206, .18);--surface-active: rgba(13, 184, 206, .26);--card: #ffffff;--card-hover: #f8fcff;--btn-text: #0b1320;--badge-text: #0b1320;--hover: rgba(13, 184, 206, .08);--blob-1-start: #cff3ff;--blob-1-end: #b5e8ff;--blob-2-start: #deeeff;--blob-2-end: #d0e5ff}body.dark{--bg: #0a0f1c;--panel: #131d32;--border: rgba(28, 200, 216, .16);--outline: rgba(28, 200, 216, .24);--text: #f8fbff;--text-secondary: #d0ddee;--muted: #94a9c7;--accent: #0fd8e8;--accent-2: #ffc83d;--accent-glow: rgba(15, 216, 232, .35);--danger: #ff6b6b;--success: #2ed573;--warning: #f8b53b;--shadow: 0 12px 26px rgba(7, 12, 26, .5);--shadow-soft: 0 4px 12px rgba(7, 12, 26, .18);--shadow-elevated: 0 8px 20px rgba(7, 12, 26, .4);--glass-border: rgba(255, 255, 255, .2);--glass-surface: rgba(255, 255, 255, .08);--glass-blur: 16px;--status-paid-glow: rgba(46, 213, 115, .25);--status-warning-glow: rgba(248, 181, 59, .28);--status-danger-glow: rgba(255, 107, 107, .28);--status-due-bg: linear-gradient(135deg, #f8b53b, #ffd24a);--status-due-border: rgba(248, 181, 59, .62);--status-due-text: #1b1300;--status-paid-bg: linear-gradient(135deg, #2ed573, #4ade80);--status-paid-border: rgba(46, 213, 115, .62);--status-paid-text: #062312;--status-overdue-bg: linear-gradient(135deg, #ff6b6b, #ff8b8b);--status-overdue-border: rgba(255, 107, 107, .64);--status-overdue-text: #360b0b;--gradient-primary: linear-gradient(135deg, #0fd8e8, #4ab1ff);--gradient-accent: linear-gradient(135deg, #4ab1ff, #8ed7fc);--gradient-success: linear-gradient(135deg, #34e89e, #0fd8e8);--gradient-warning: linear-gradient(135deg, #ffc83d, #ffaa1c);--surface: rgba(15, 216, 232, .08);--surface-hover: rgba(15, 216, 232, .14);--surface-highlight: rgba(15, 216, 232, .22);--surface-active: rgba(15, 216, 232, .3);--card: #152540;--card-hover: #1b3152;--btn-text: #0a0f1c;--badge-text: #0a0f1c;--hover: rgba(15, 216, 232, .1);--blob-1-start: #0db8ce;--blob-1-end: #3491ff;--blob-2-start: #1f3352;--blob-2-end: #152540}*{box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}html,body{overflow-x:hidden;width:100%}body{margin:0;min-height:100vh;font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.6;letter-spacing:.01em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body *:focus-visible{outline:3px solid rgba(255,210,74,.7);outline-offset:2px}.background{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.background:before{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:repeating-conic-gradient(from 210deg at 20% 0%,rgba(255,210,74,.12) 0deg 8deg,rgba(28,200,216,.1) 8deg 16deg,transparent 16deg 24deg);opacity:.18;filter:blur(2px)}.background:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 15% 20%,rgba(255,210,74,.3) 0 2px,transparent 3px),radial-gradient(circle at 80% 18%,rgba(125,211,252,.35) 0 2px,transparent 3px),radial-gradient(circle at 25% 70%,rgba(255,210,74,.2) 0 2px,transparent 3px),radial-gradient(circle at 70% 75%,rgba(28,200,216,.25) 0 2px,transparent 3px);opacity:.5}.gradient-one,.gradient-two{position:absolute;width:60vw;height:60vw;filter:blur(140px);opacity:.4}.gradient-one{top:-15%;left:-10%;background:radial-gradient(circle at 30% 30%,var(--blob-1-start),var(--blob-1-end))}.gradient-two{bottom:-10%;right:-15%;background:radial-gradient(circle at 60% 60%,var(--blob-2-start),var(--blob-2-end))}.grain{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E");mix-blend-mode:soft-light;opacity:.18}.app{position:relative;max-width:1600px;margin:0 auto;padding:48px 20px 80px;transition:opacity .2s ease}.app.app-hidden{opacity:0;pointer-events:none;transition:opacity .2s ease-out}.app.app-visible{opacity:1;pointer-events:auto;transition:opacity .3s ease-in}@media (min-width: 1100px){.app{padding:32px 32px 80px}}@media (min-width: 1400px){.app{max-width:1800px;padding:32px 48px 80px}}.hero{display:grid;gap:12px;margin-bottom:32px;animation:riseIn .7s cubic-bezier(.2,.9,.2,1) both}.brand{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}.logo{width:52px;height:52px;border-radius:16px;background:var(--gradient-accent);display:grid;place-items:center;font-weight:700;letter-spacing:.5px;box-shadow:0 10px 24px var(--accent-glow),var(--shadow-soft)}.logo-image{width:52px;height:52px;border-radius:16px;border:2px solid var(--outline);box-shadow:0 10px 22px #08142833;object-fit:cover}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;color:var(--accent);font-weight:600;margin:0 0 6px}h1{margin:0;font-family:var(--font-display);font-size:clamp(28px,4vw,40px);line-height:1.1}.lede{max-width:760px;color:var(--text-secondary);margin:0}.cta-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.chip{padding:6px 12px;border-radius:999px;background:linear-gradient(135deg,#1cc8d82e,#39a0ff1f);border:1px solid var(--outline);color:var(--text-secondary);font-size:13px;font-weight:500}button,input,select,textarea{font:inherit}button,input[type=button],input[type=submit],input[type=reset],select,.tab-item,.quick-add-nav,.week-day,.week-preview-close,.menu-toggle,.icon-only{min-height:44px}button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;line-height:1.2;border:none;border-radius:12px;padding:12px 16px;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease;color:var(--text);background:var(--surface);border:2px solid var(--border);box-shadow:0 4px #0814281f}button svg{display:block}button:hover{background:var(--surface-hover);box-shadow:0 6px 16px #08142833;transform:translateY(-1px)}button:active{transform:translateY(2px);background:var(--surface-active);border-color:var(--outline);box-shadow:0 2px 6px #08142833}button:disabled,button[disabled]{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}button.primary{background:var(--gradient-primary);border:2px solid color-mix(in srgb,var(--accent) 50%,transparent);color:var(--btn-text);font-weight:700;box-shadow:0 10px 20px var(--accent-glow),0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}button.primary:hover{filter:brightness(1.1);box-shadow:0 12px 24px var(--accent-glow),0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent)}button.primary:active{filter:brightness(.98);box-shadow:0 6px 14px var(--accent-glow)}button.ghost{background:transparent;border:2px solid var(--border);color:var(--muted)}button.ghost:hover{border-color:var(--outline);color:var(--text-secondary)}button.ghost:active{background:var(--surface-highlight);border-color:var(--outline);color:var(--text)}button.whats-new-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px}button.whats-new-btn .update-dot{width:8px;height:8px;border-radius:999px;background:var(--accent-2);box-shadow:0 0 0 2px var(--panel);opacity:0;transform:scale(.6);transition:opacity .2s ease,transform .2s ease}button.whats-new-btn.has-update{background:var(--gradient-primary);border-color:transparent;color:var(--btn-text);box-shadow:0 10px 20px var(--accent-glow)}button.whats-new-btn.has-update .update-dot{opacity:1;transform:scale(1)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:28px}@media (min-width: 1100px){.stats{grid-template-columns:repeat(3,1fr);gap:16px}}@media (min-width: 1400px){.stats{gap:20px}}.stat-card{padding:var(--card-padding);border-radius:var(--card-radius);background:var(--card-bg);border:var(--card-border);border-top:3px solid var(--accent-2);box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));transition:box-shadow .25s ease,transform .2s ease,border-color .25s ease;animation:popIn .7s cubic-bezier(.2,.9,.2,1) both}.stat-card:hover{transform:translateY(-3px);border-top-color:var(--accent);box-shadow:var(--shadow-elevated)}.stats .stat-card:nth-child(1){animation-delay:.05s}.stats .stat-card:nth-child(2){animation-delay:.12s}.stats .stat-card:nth-child(3){animation-delay:.18s}.stat-card .label{margin:0;color:var(--muted);font-size:13px;line-height:1.35;letter-spacing:.01em}.stat-card .value{margin:var(--rhythm-base) 0 var(--rhythm-tight);font-size:28px;font-weight:700;font-family:var(--font-display);line-height:1.08}.stat-card .hint{margin:0;color:var(--text-secondary);line-height:1.4}.tracked-count{color:var(--accent);font-weight:600}.stats-detail{display:grid;gap:12px}.stats-row-compact{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-card-mini{padding:16px;border-radius:14px;background:color-mix(in srgb,var(--card) 76%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 14%,var(--border));box-shadow:var(--shadow-flat);text-align:center}.stat-card-mini .label{margin:0;color:var(--muted);font-size:13px}.stat-card-mini .value{margin:6px 0 4px;font-size:24px;font-weight:700;font-family:var(--font-display)}.stat-card-mini .hint{margin:0;color:var(--text-secondary);font-size:12px}.layout{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;margin-bottom:20px}.panel{background:color-mix(in srgb,var(--panel) 85%,var(--glass-surface));border:1px solid var(--glass-border);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));animation:riseIn .7s cubic-bezier(.2,.9,.2,1) both}.main-content .panel{background:var(--card-bg);border:var(--card-border);box-shadow:var(--card-shadow)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:var(--rhythm-base);padding-bottom:12px;border-bottom:1px solid color-mix(in srgb,var(--accent) 24%,var(--border))}.panel-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.panel-actions button{padding:8px 12px;font-size:13px;min-height:42px;white-space:nowrap}.panel h2{margin:0;font-family:var(--font-display);font-size:clamp(1.25rem,2vw,1.6rem);font-weight:700;letter-spacing:.2px;line-height:1.18;position:relative;padding-left:16px}.panel h2:before{content:"";position:absolute;left:0;top:50%;width:8px;height:8px;transform:translateY(-50%);border-radius:50%;background:var(--gradient-warning);box-shadow:0 0 0 3px #ffd24a33}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;max-width:100%;padding:4px;margin:-4px}#billForm{display:flex;flex-direction:column;gap:0;flex:1;overflow-y:auto}#billForm input,#billForm select,#billForm textarea{width:100%;min-width:0}#billForm .primary{font-weight:700;font-size:14px;letter-spacing:-.2px;padding:12px 24px;border-radius:10px;transition:transform .15s ease,box-shadow .2s ease}#billForm .primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-glow)}#billForm .primary:active{transform:translateY(0)}label{display:grid;gap:6px;color:var(--muted);font-weight:600}input,select,textarea{padding:12px;border-radius:12px;border:2px solid var(--border);background:var(--surface);color:var(--text);transition:border-color .2s ease,box-shadow .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}input::placeholder,textarea::placeholder{color:#8aa0bfb3}textarea{resize:vertical}.checkbox{align-items:center;grid-template-columns:auto 1fr}.checkbox input{width:18px;height:18px;accent-color:var(--accent)}.full{grid-column:auto}.actions{display:flex;justify-content:flex-end}.form-quick-add{padding:1.25rem 20px;border-bottom:1px solid var(--border)}.form-quick-add select{width:100%;font-size:13px;font-weight:500;background:var(--surface);padding:10px 12px;border:1px solid var(--border);border-radius:10px;cursor:pointer;color:var(--text)}.form-section{display:grid;grid-template-columns:1fr 1fr;gap:.875rem;padding:1rem 20px;margin:0;border:none;background:transparent;border-bottom:1px solid var(--border)}.form-section:first-of-type{padding-top:1rem}.form-section:last-of-type{border-bottom:none;padding-bottom:0}.form-section legend{display:block;grid-column:1 / -1;padding:0 0 1.125rem;margin:0;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--muted);border-bottom:none}.form-section label{display:grid;gap:6px}.form-section label.checkbox{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px}.form-section label:has(textarea){grid-column:1 / -1}.form-section label span:first-child{font-size:13px;color:var(--muted);font-weight:600}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding:1rem 20px;margin-top:auto;border-top:1px solid var(--border);background:transparent;flex-shrink:0}.pill{padding:4px 10px;border-radius:999px;background:var(--surface-active);border:1px solid var(--border);color:var(--muted);font-size:13px;font-weight:600}.reminders{display:grid;gap:10px}.reminder{display:grid;grid-template-columns:1fr auto;align-items:center;padding:14px;border-radius:14px;border:1px solid var(--glass-border);background:var(--card);background:color-mix(in srgb,var(--card) 72%,var(--glass-surface));box-shadow:var(--shadow-flat);-webkit-backdrop-filter:blur(calc(var(--glass-blur) * .85));backdrop-filter:blur(calc(var(--glass-blur) * .85));transition:transform .2s ease,box-shadow .25s ease,border-color .25s ease;animation:popIn .65s cubic-bezier(.2,.9,.2,1) both}.reminder:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.reminder.reminder--due-soon{border-color:var(--status-due-border);box-shadow:var(--shadow-soft)}.reminder.reminder--paid{border-color:var(--status-paid-border);box-shadow:var(--shadow-flat)}.reminder.reminder--overdue{border-color:var(--status-overdue-border);box-shadow:var(--shadow-elevated),0 6px 16px var(--status-danger-glow)}.reminders .reminder:nth-child(1){animation-delay:.04s}.reminders .reminder:nth-child(2){animation-delay:.08s}.reminders .reminder:nth-child(3){animation-delay:.12s}.reminders .reminder:nth-child(4){animation-delay:.16s}.reminder strong{font-size:16px;font-weight:700}.carousel-dots,.carousel-counter{display:none}@media (min-width: 768px){.carousel-dots,.carousel-counter{display:none!important}}.reminder .meta{color:var(--muted)}.reminder-content{flex:1;min-width:0}.reminder-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.reminder-action-btn{padding:10px 12px;border-radius:8px;font-size:13px;min-height:42px;font-weight:600;cursor:pointer;border:none;transition:transform .2s ease,filter .2s ease,box-shadow .2s ease}.reminder-action-btn:hover{transform:translateY(-1px);box-shadow:0 8px 14px #0814282e}.reminder-action-btn:active{transform:translateY(1px);filter:brightness(.98)}.skeleton-card{position:relative;overflow:hidden;border-radius:var(--radius-md);background:var(--surface);border:2px solid var(--border);box-shadow:none;pointer-events:none}.skeleton-stack{display:grid;gap:10px;width:100%}.skeleton-actions{display:grid;gap:8px}.skeleton-line,.skeleton-pill{background:linear-gradient(90deg,var(--surface) 0%,var(--surface-highlight) 50%,var(--surface) 100%);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite}.skeleton-line{height:12px;width:100%;border-radius:999px}.skeleton-line--title{height:16px;width:60%}.skeleton-line--short{width:45%}.skeleton-pill{height:26px;width:92px;border-radius:999px}.skeleton-icon{width:24px;height:24px;border-radius:8px}.reminder-action-btn.mark-paid-btn{background:var(--accent);color:var(--btn-text)}.reminder-action-btn.mark-paid-btn:hover{filter:brightness(1.1);transform:scale(1.02)}.reminder-action-btn.date-change-btn{background:var(--surface);color:var(--accent);border:1px solid var(--accent)}.reminder-action-btn.date-change-btn:hover{background:var(--accent);color:var(--btn-text)}.status-pill,.reminder .badge,.expanded-bill-status,.bill-detail-status{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:10px;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;line-height:1;border:1px solid transparent}.reminder .badge{white-space:normal;text-align:center;line-height:1.2}.status-pill:before,.badge.due-soon:before,.badge.overdue:before,.badge.paid:before,.expanded-bill-status:before,.bill-detail-status:before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-pill.due-soon,.badge.due-soon,.expanded-bill-status.due-soon,.bill-detail-status.due-soon{background:var(--status-due-bg);color:var(--status-due-text);border-color:var(--status-due-border)}.status-pill.overdue,.badge.overdue,.expanded-bill-status.overdue,.bill-detail-status.overdue{background:var(--status-overdue-bg);color:var(--status-overdue-text);border-color:var(--status-overdue-border)}.status-pill.paid,.badge.paid,.expanded-bill-status.paid,.bill-detail-status.paid{background:var(--status-paid-bg);color:var(--status-paid-text);border-color:var(--status-paid-border)}.status-pill.due-soon:before,.badge.due-soon:before,.expanded-bill-status.due-soon:before,.bill-detail-status.due-soon:before{background:color-mix(in srgb,var(--status-due-text) 60%,#000)}.status-pill.overdue:before,.badge.overdue:before,.expanded-bill-status.overdue:before,.bill-detail-status.overdue:before{background:color-mix(in srgb,var(--status-overdue-text) 70%,#000)}.status-pill.paid:before,.badge.paid:before,.expanded-bill-status.paid:before,.bill-detail-status.paid:before{background:color-mix(in srgb,var(--status-paid-text) 70%,#000)}.reminder .badge{color:var(--badge-text);font-size:12px;border-radius:999px}.bill-icon{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--surface);display:grid;place-items:center;font-size:18px}@media (prefers-contrast: more){.badge{font-weight:800;border:1px solid currentColor;box-shadow:none!important}.bill.bill-status-due-soon,.bill.bill-status-paid,.bill.bill-status-overdue,.reminder.reminder--due-soon,.reminder.reminder--paid,.reminder.reminder--overdue{border-width:2px}.expanded-bill-status,.bill-detail-status{font-weight:700;border-width:2px}}.filters{display:flex;gap:8px;flex-wrap:wrap}.bills-toolbar{width:100%;display:flex;align-items:center;gap:8px}.bills-search-field{flex:1;min-width:0}.bills-search-field input{width:100%}#billSearchClear{white-space:nowrap}.bills-results-meta{margin:0;min-height:20px}.control-tower-primary{width:100%;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(150px,.85fr) minmax(170px,.9fr) auto;gap:8px;align-items:center}.control-active-filters{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 4px}.active-filter-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 82%,var(--accent) 18%);color:var(--text);padding:5px 10px;font-size:12px;font-weight:600;line-height:1}.active-filter-chip:hover{border-color:var(--accent);background:color-mix(in srgb,var(--surface) 70%,var(--accent) 30%)}.active-filter-chip span{font-size:11px;opacity:.8}#billsView .panel-head{gap:8px;margin-bottom:6px;padding-bottom:8px}#billsView .panel-head>div:first-child .hint{margin:0}#billsView .control-tower-primary .panel-actions{margin-left:0}#billsView .control-tower-primary .panel-actions button{white-space:nowrap}#billsView .bills-results-meta{min-height:0;font-size:12px;line-height:1.25}#billsView .control-tower-filter{flex:1;min-width:0}#billsView .panel-actions{width:auto;margin-left:0}#billsView .panel-actions button{width:auto;padding:8px 10px;font-size:12px;white-space:nowrap}@media (max-width: 767px){#billsView .panel-head>div:first-child .eyebrow,#billsView .panel-head>div:first-child .hint{display:none}#billsView .panel-head>div:first-child h2{margin:0;font-size:1.55rem}#billsView .bills-toolbar{gap:6px}#billsView .control-tower-primary{grid-template-columns:1fr;gap:6px}#billsView .bills-search-field input,#billsView #billSearchClear{padding:8px 10px}#billsView .bills-results-meta{font-size:11px}#billsView .control-active-filters{gap:6px}#billsView .active-filter-chip{font-size:11px;padding:5px 8px}#billsView .control-tower-filter,#billsView .panel-actions{display:inline-flex;width:auto;align-items:center;margin-top:0}#billsView .panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px}#billsView .panel-head>div:first-child,#billsView .control-tower-primary,#billsView .bills-results-meta{grid-column:1 / -1}}#dateChangeModal .date-change-options input[type=date]{width:100%;padding:.65rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--surface-light);color:var(--text-primary)}#dateChangeModal .date-change-options input[type=radio]{accent-color:var(--accent)}#dateChangeModal .date-change-message{margin:0 0 1rem;color:var(--text-secondary)}#dateChangeModal .date-change-help{margin:0 0 .75rem;color:var(--muted);font-size:.825rem}#dateChangeModal .date-change-options{margin:0 0 1rem;border:none;padding:0}#dateChangeModal .date-change-options>label{padding:.55rem .6rem;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--surface) 86%,var(--panel))}#dateChangeModal .date-change-option-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}#dateChangeModal .date-change-date-row{margin:0 0 .75rem 1.5rem}#dateChangeModal .date-change-field-label{display:block;margin-bottom:.35rem;color:var(--text-secondary);font-size:.875rem}#dateChangeModal .date-change-option-title{display:block;color:var(--text);font-weight:700;line-height:1.15}#dateChangeModal .date-change-option-subtitle{display:block;color:var(--text-secondary);font-size:.78rem;line-height:1.3;margin-top:.2rem}#dateChangeModal .date-change-actions{gap:.5rem;justify-content:flex-end}.modal-compact{max-width:360px}.modal-account{max-width:420px}.modal-body-centered{text-align:center}.modal-actions-center{justify-content:center}.modal-actions-tight{gap:.5rem}.modal-copy-gap{margin-bottom:1rem}.modal-btn-top{margin-top:.5rem}.modal-section-eyebrow{margin:1rem 0 .5rem}.modal-scroll-lg{max-height:420px;overflow-y:auto}.modal-scroll-md{max-height:400px;overflow-y:auto}.modal-copy-md{margin-bottom:1rem;color:var(--text-secondary);font-size:.9rem}.modal-copy-lg{margin-bottom:1.5rem;color:var(--text-secondary);font-size:.9rem}.modal-copy-sm{margin-bottom:1.5rem;color:var(--text-secondary);font-size:.875rem}.modal-list{margin:0 0 1rem 1.1rem;color:var(--text-secondary);font-size:.9rem}.modal-accent-strong{color:var(--accent)}.modal-heading{color:var(--accent);margin-bottom:.5rem}@media (max-width: 767px){#dateChangeModal .actions{flex-direction:column-reverse;align-items:stretch}#dateChangeModal .actions button{width:100%}#dateChangeModal .date-change-options>label{padding:.6rem .55rem}#dateChangeModal #dateChangeNewDateRow,#dateChangeModal #dateChangeReminderRow{margin-left:0!important}}.filter-btn{display:inline-flex;align-items:center;gap:6px}.filter-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:var(--surface-highlight);color:var(--text-secondary)}.filter-icon svg{width:12px;height:12px}.filters button.active .filter-icon{background:#ffffff47;color:var(--btn-text)}.filter-text{white-space:nowrap}.category-filter{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:12px;border:2px solid var(--border);background:var(--surface)}.category-filter select{border:none;background:transparent;padding:6px 2px;box-shadow:none;color:var(--text)}.category-filter select:focus{outline:none;box-shadow:none}.category-filter-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary)}.category-filter-icon svg{width:14px;height:14px}.control-tower-filter{display:inline-flex;width:100%}.control-tower-filter select{width:100%}#billsView .category-filter:not(.control-tower-filter){display:none}.field-label-with-icon{display:inline-flex;align-items:center;gap:6px}.field-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:var(--surface-highlight);color:var(--accent)}.field-icon svg{width:12px;height:12px}.filters button{padding:8px 12px;border-radius:10px;color:var(--muted)}.filters button:active{background:var(--surface-active);color:var(--text);transform:translateY(1px)}.filters button.active{background:var(--gradient-primary);color:var(--btn-text);font-weight:700;box-shadow:0 2px 10px var(--accent-glow)}.bill-list{display:grid;gap:var(--rhythm-loose)}.bill{border:1px solid color-mix(in srgb,var(--accent) 14%,var(--glass-border));border-radius:var(--radius-md);padding:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 4%,transparent) 0%,transparent 44%),color-mix(in srgb,var(--card) 74%,var(--glass-surface));display:grid;grid-template-columns:1fr auto;gap:var(--rhythm-base);box-shadow:var(--shadow-flat);-webkit-backdrop-filter:blur(calc(var(--glass-blur) * .75));backdrop-filter:blur(calc(var(--glass-blur) * .75));transition:box-shadow .25s ease,transform .2s ease,border-color .25s ease;animation:popIn .65s cubic-bezier(.2,.9,.2,1) both;animation-delay:calc(var(--stagger-index, 0) * 42ms)}.bill:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 44%,var(--border));box-shadow:var(--shadow-soft)}.bill.bill-status-due-soon{border-color:var(--status-due-border)}.bill.bill-status-paid{border-color:var(--status-paid-border)}.bill.bill-status-overdue{border-color:var(--status-overdue-border)}.bill-header{display:flex;align-items:center;gap:var(--rhythm-base)}.status-badges{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.deposit-badge{display:none;align-items:center;gap:4px;font-size:10px;font-weight:700;padding:2px 6px;border-radius:999px;border:1px solid transparent;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.deposit-badge.funding{background:#fbbf241a;color:var(--accent-2);border-color:#fbbf2433}.deposit-badge.funding.full{background:#fbbf2433;border-color:#fbbf2466}.deposit-badge.payment{background:#34d3991a;color:var(--success);border-color:#34d39933}.deposit-badge.payment.full{background:#34d39933;border-color:#34d39966}.bill .name{font-size:17px;font-weight:800;letter-spacing:-.01em;line-height:1.2;margin:0}.bill .amount{margin:0;color:var(--muted);line-height:1.42}.badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:var(--rhythm-tight)}.badge-outline{padding:5px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--text-secondary);font-weight:650;font-size:11px;letter-spacing:.01em}.bill-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.empty{padding:24px 18px;border-radius:14px;border:2px dashed var(--border);color:var(--text-secondary);text-align:center;background:var(--surface)}.bill.compact{padding:10px 14px;gap:8px}.bill.compact .bill-header{gap:8px}.bill-header .bill-icon{width:22px;height:22px;border-radius:7px;background:color-mix(in srgb,var(--surface) 80%,transparent);box-shadow:inset 0 0 0 1px var(--glass-border)}.bill.compact .name{font-size:15px}.bill.compact .amount{font-size:14px}.bill.compact .badges{gap:6px}.bill.compact .badge-outline{padding:3px 6px;font-size:12px}.bill.compact .bill-actions button{padding:8px 12px;font-size:13px;min-height:40px}.bill.super-compact{padding:8px 12px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;min-height:44px}.bill.super-compact>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;flex:1;min-width:0}.bill.super-compact .bill-header{gap:8px;min-width:0}.bill.super-compact .name{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.bill.super-compact .amount{font-size:13px;white-space:nowrap;margin:0}.bill.super-compact .badge{font-size:11px;padding:2px 6px}.bill.super-compact .badges{display:none}.bill.super-compact .bill-actions{display:flex;gap:4px;flex-wrap:nowrap;flex-shrink:0}.bill.super-compact .bill-actions button{padding:6px 10px;font-size:12px;min-height:36px;min-width:44px}@media (max-width: 480px){.bill.super-compact .name{max-width:100px}.bill.super-compact .bill-actions button{padding:4px 6px;min-width:36px}}@media (max-width: 767px){.bill-list .bill{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.bill-list .bill>div:first-child{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.bill-list .bill .bill-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bill-list .bill .name{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;flex:1;min-width:0}.bill-list .bill .status-badges{margin-left:auto;gap:4px}.bill-list .bill .deposit-badge{display:inline-flex}.bill-list .bill .amount{font-size:13px;color:var(--muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bill-list .bill .badge{font-size:10px;padding:2px 6px;flex-shrink:0}.bill-list .bill .badges,.bill-list .bill .bill-actions{display:none}.bill-list .bill .expand-indicator{display:flex;align-items:center;justify-content:center;width:24px;height:24px;min-height:24px;padding:0;border:none;box-shadow:none;background:transparent;color:var(--muted);transition:transform .3s ease;flex-shrink:0}.bill-list .bill .expand-indicator svg{width:16px;height:16px}.bill-list .bill.expanded{flex-direction:column;align-items:stretch}.bill-list .bill.expanded>div:first-child{width:100%}.bill-list .bill.expanded .badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.bill-list .bill.expanded .bill-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.bill-list .bill.expanded .bill-actions button{width:100%;padding:10px 12px;font-size:12px;line-height:1.1;min-height:44px;white-space:normal}.bill-list .bill.expanded .expand-indicator{transform:rotate(180deg)}}@media (min-width: 1100px){.bill .expand-indicator{display:none!important}}.home-card{background:var(--card-bg);border:var(--card-border);border-radius:var(--card-radius);padding:var(--card-padding);margin-top:16px;box-shadow:var(--shadow-flat);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));animation:riseIn .7s cubic-bezier(.2,.9,.2,1) both;transition:border-color .22s ease,box-shadow .22s ease,transform .2s ease}.stat-card,.panel,.home-card,.week-preview-card,.reminder,.bill{min-width:0;max-width:100%}#homeView>.stats,#homeView>.panel,#homeView>.home-card,#homeView>.week-preview-card,#billsView .bill-list,#billsView .bill-list .bill{min-width:0}.panel-head,.panel-head>div,.panel-actions,.reminder-content,.reminder-actions,.status-badges,.badges{min-width:0}.panel-actions,.reminder-actions,.status-badges,.badges{flex-wrap:wrap}.badge,.deposit-badge,.badge-account{max-width:100%}.home-card .eyebrow{letter-spacing:.03em;line-height:1.3}.home-card h3{line-height:1.16}.home-card .hint,.streak-subtitle,.streak-hint{line-height:1.4}.home-card:hover{border-color:color-mix(in srgb,var(--accent) 34%,var(--border));box-shadow:var(--shadow-soft);transform:translateY(-2px)}.home-card--hero{box-shadow:var(--shadow-soft);padding:24px;border-left:3px solid var(--accent)}.home-card--hero .eyebrow{font-size:13px;letter-spacing:.04em}.home-card--hero .safe-to-spend-value{font-size:32px;font-weight:800;font-family:var(--font-display)}#homeView.stagger-enter .home-card{animation:riseIn .52s cubic-bezier(.2,.9,.2,1) both;animation-delay:calc(var(--stagger-index, 0) * 58ms)}#billsView.stagger-enter .bill{animation:popIn .54s cubic-bezier(.2,.9,.2,1) both;animation-delay:calc(var(--stagger-index, 0) * 38ms)}.safe-to-spend-card,.ghost-card{display:grid;gap:10px}.paycheck-plan-card{display:grid;gap:12px}.paycheck-plan-summary,.paycheck-plan-table-wrap,.paycheck-plan-cards{overflow:hidden;max-height:1200px;opacity:1;transform:translateY(0);transition:max-height .32s ease,opacity .22s ease,transform .22s ease}.paycheck-plan-card[data-collapsed=true] .paycheck-plan-summary,.paycheck-plan-card[data-collapsed=true] .paycheck-plan-table-wrap,.paycheck-plan-card[data-collapsed=true] .paycheck-plan-cards{max-height:0;opacity:0;transform:translateY(-6px);pointer-events:none}.paycheck-plan-card[data-collapsed=true] #paycheckPlanAutoBtn,.paycheck-plan-card[data-collapsed=true] #paycheckPlanClearBtn{display:none}.paycheck-plan-toggle{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));background:color-mix(in srgb,var(--surface) 84%,transparent);color:var(--text-secondary);font-weight:700;line-height:1;transition:background .2s ease,border-color .2s ease,color .2s ease}.paycheck-plan-toggle:hover{border-color:color-mix(in srgb,var(--accent) 56%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--text)}.paycheck-plan-card[data-collapsed=false] .paycheck-plan-toggle{border-color:color-mix(in srgb,var(--accent) 62%,var(--border));background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--accent)}.paycheck-plan-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--accent-2) 62%,white);outline-offset:2px}.paycheck-plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.paycheck-plan-head h3{margin:2px 0 0;font-size:18px;color:var(--text)}.paycheck-plan-actions{display:flex;gap:8px}.paycheck-plan-status{margin:0}.paycheck-plan-total{margin:0;font-size:14px;font-weight:700;color:var(--text)}.paycheck-plan-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.paycheck-plan-summary-item{border:1px solid color-mix(in srgb,var(--accent) 12%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--surface) 86%,transparent);padding:10px 11px}.paycheck-plan-summary-item .eyebrow{margin:0}.paycheck-plan-date{margin:2px 0 6px;font-size:14px;font-weight:700;color:var(--text)}.paycheck-plan-meta{margin:0;font-size:12px;color:var(--muted)}.paycheck-plan-meta .negative{color:var(--danger);font-weight:700}.paycheck-plan-table-wrap{overflow-x:auto;border:1px solid color-mix(in srgb,var(--accent) 12%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--surface) 88%,transparent)}.paycheck-plan-table{width:100%;border-collapse:collapse;min-width:520px}.paycheck-plan-table th,.paycheck-plan-table td{text-align:left;padding:8px;border-bottom:1px solid var(--border);font-size:13px;color:var(--text)}.paycheck-plan-table tbody tr:last-child td{border-bottom:0}.paycheck-plan-select{width:100%;min-width:110px;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--text);padding:6px 8px}.paycheck-plan-amount-sub{margin-top:2px;font-size:11px;color:var(--muted)}.safe-to-spend-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.safe-to-spend-header h3{margin:2px 0 0;font-size:18px;color:var(--text)}.safe-to-spend-input-wrap{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface) 86%,transparent);color:var(--text-secondary);font-size:13px}.safe-to-spend-input-wrap input{width:112px;border:0;background:transparent;color:var(--text);font-size:15px;font-weight:600;outline:none}.safe-to-spend-value{margin:0;font-size:34px;line-height:1.1;font-family:var(--font-display);font-weight:800;color:var(--text)}.safe-to-spend-hint{margin:0;color:var(--muted);font-size:13px}.safe-to-spend-card[data-empty=true]{border-style:dashed;border-color:color-mix(in srgb,var(--accent) 18%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 86%,transparent) 0%,transparent 55%),var(--card-bg)}.ghost-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.ghost-head .eyebrow,.ghost-head .hint{margin:0}.ghost-list{display:grid;gap:8px}.ghost-item{border:1px solid color-mix(in srgb,var(--danger) 35%,var(--border));border-radius:10px;padding:9px 11px;background:color-mix(in srgb,var(--danger) 9%,var(--surface))}.ghost-item-title{margin:0;color:var(--text);font-size:14px;font-weight:600}.ghost-item-meta{margin:4px 0 0;color:var(--muted);font-size:12px}@media (max-width: 540px){.safe-to-spend-header,.paycheck-plan-head{flex-direction:column;align-items:stretch}.safe-to-spend-input-wrap{width:fit-content}}.streak-card{display:flex;flex-direction:column;gap:12px}.streak-header{display:flex;align-items:center;gap:12px}.streak-icon{--ring-progress: 0;position:relative;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;font-size:32px;line-height:1;background:color-mix(in srgb,var(--surface) 76%,var(--panel));box-shadow:inset 0 0 0 1px var(--glass-border)}.streak-icon:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;background:conic-gradient(var(--success) calc(var(--ring-progress) * 1%),rgba(255,255,255,.12) 0);z-index:-1}.streak-icon.cold{filter:grayscale(1);opacity:.5}.streak-info{flex:1}.streak-title{font-size:18px;font-weight:700;color:var(--text);margin:0}.streak-subtitle{font-size:13px;color:var(--text-secondary);margin:0}.streak-bar-container{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.streak-bar{height:100%;background:var(--gradient-warning);border-radius:4px;transition:width .5s ease}.streak-bar.perfect{background:var(--gradient-success)}.streak-hint{font-size:12px;color:var(--text-secondary);margin:0;text-align:center}.week-preview-card{display:flex;flex-direction:column;gap:12px;overflow:visible}.week-preview-card .panel-head{margin-bottom:8px;padding-bottom:12px}.week-preview-hint{margin:0;font-size:12px;color:var(--muted)}.week-preview-toggle{padding:6px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:12px;font-weight:700}.week-preview-card .panel-actions{margin-left:auto;align-items:center;justify-content:flex-end}.week-days{display:grid;grid-template-columns:repeat(7,minmax(44px,1fr));gap:4px;width:100%;min-width:0;overflow-x:auto;padding-bottom:2px}.week-day{display:flex;flex-direction:column;align-items:center;padding:8px 4px;border-radius:10px;border:1px solid transparent;cursor:pointer;transition:background .2s ease;min-width:0}.week-day:hover{background:var(--hover);border-color:color-mix(in srgb,var(--accent) 26%,var(--border));transform:translateY(-1px);box-shadow:var(--shadow-soft)}.week-day:focus-visible{outline:3px solid color-mix(in srgb,var(--accent-2) 62%,white);outline-offset:2px;border-color:color-mix(in srgb,var(--accent) 58%,var(--border));background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.week-day.today{background:var(--accent)}.week-day.today .day-name,.week-day.today .day-num{color:var(--btn-text)}.week-day.has-bills{position:relative}.day-name{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.day-num{font-size:16px;font-weight:700;color:var(--text);margin:2px 0}.day-dots{display:flex;gap:2px;min-height:8px;justify-content:center;flex-wrap:wrap;max-width:24px}.day-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.day-dot.overdue{background:var(--danger)}.day-dot.due-soon{background:var(--accent-2)}.day-dot.paid{background:var(--success)}.day-count{font-size:9px;font-weight:700;background:var(--accent);color:var(--btn-text);min-width:14px;height:14px;border-radius:7px;display:flex;align-items:center;justify-content:center;padding:0 3px}.day-count.overdue{background:var(--danger)}.day-count.due-soon{background:var(--accent-2)}.day-count.paid{background:var(--success)}.week-day.today .day-count{background:var(--btn-text);color:var(--accent)}.week-day.today .day-count.overdue{background:#f871714d;color:var(--danger)}.week-day.today .day-count.due-soon{background:#f59e0b4d;color:var(--accent-2)}.week-day.today .day-dot{background:var(--btn-text);opacity:.9}.week-day.today .day-dot.overdue{background:#f8717180}.day-amount{font-size:10px;color:var(--text-secondary);margin-top:2px;white-space:nowrap}.week-day.today .day-amount{color:var(--btn-text);opacity:.8}.week-preview-card.expanded{position:relative}.week-preview-card.expanded .panel-head{display:flex;justify-content:space-between;align-items:center}.week-preview-close{display:none;background:var(--hover);border:none;border-radius:50%;width:28px;height:28px;font-size:16px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.week-preview-close:hover{background:var(--border);color:var(--text)}.week-preview-card.expanded .week-preview-close{display:flex;align-items:center;justify-content:center}.week-preview-card.is-collapsed .week-days,.week-preview-card.is-collapsed .week-expanded-view,.week-preview-card.is-collapsed .week-preview-close{display:none!important}.week-expanded-view{display:none;grid-template-columns:auto 1fr;gap:16px;margin-top:12px;min-height:0}.week-preview-card.expanded .week-expanded-view{display:grid;align-content:start}.week-preview-card.expanded .week-days{display:none}.expanded-day{display:flex;flex-direction:column;align-items:center;padding:12px 16px;background:var(--accent);border-radius:12px;min-width:60px}.expanded-day .day-name{font-size:11px;font-weight:600;color:var(--btn-text);opacity:.8;text-transform:uppercase;letter-spacing:.5px}.expanded-day .day-num{font-size:28px;font-weight:700;color:var(--btn-text);line-height:1.2}.expanded-day .day-total{font-size:12px;font-weight:600;color:var(--btn-text);opacity:.9;margin-top:4px}.expanded-bills{display:flex;flex-direction:column;gap:0;max-height:150px;overflow-y:auto;padding-right:4px}.expanded-bills::-webkit-scrollbar{width:4px}.expanded-bills::-webkit-scrollbar-track{background:var(--border);border-radius:2px}.expanded-bills::-webkit-scrollbar-thumb{background:var(--text-secondary);border-radius:2px}.expanded-bill-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid var(--border);gap:12px;transition:all .2s ease;border-radius:8px;margin:6px 0;background:var(--bg)}.expanded-bill-item.clickable{cursor:pointer;border:1px solid var(--accent);border-left:3px solid var(--accent)}.expanded-bill-item.clickable:hover{background-color:#6366f11a;border-color:var(--accent);transform:translate(2px)}.expanded-bill-item.clickable:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 66%,white);outline-offset:2px}.expanded-bill-item:last-child{margin-bottom:0}.expanded-bill-name{flex:1;font-size:14px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expanded-bill-amount{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap}.expanded-bill-status{font-size:10px;padding:3px 8px}.expanded-no-bills{color:var(--text-secondary);font-size:14px;padding:20px 0;text-align:center}.bill-detail-view{padding:16px;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.bill-detail-header{margin-bottom:16px}.bill-detail-back{background:none;border:none;color:var(--accent);font-size:14px;cursor:pointer;padding:8px 0;display:flex;align-items:center;gap:4px;transition:opacity .2s ease}.bill-detail-back:hover{opacity:.8}.bill-detail-main{display:flex;flex-direction:column;gap:16px}.bill-detail-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.bill-detail-title h3{margin:0;font-size:20px;font-weight:600;color:var(--text)}.bill-detail-amount-row{display:flex;flex-direction:column;gap:4px}.bill-detail-amount{font-size:28px;font-weight:700;color:var(--text)}.bill-detail-date{font-size:14px;color:var(--text-secondary)}.bill-detail-badges{display:flex;flex-wrap:wrap;gap:8px}.bill-detail-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:14px}.bill-detail-section h4{margin:0 0 12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.account-detail-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--bg);border-radius:6px;border:1px solid var(--border);margin-bottom:8px}.account-detail-item:last-child{margin-bottom:0}.account-detail-item.full{border-color:#10b9814d;background:#10b9810d}.account-detail-item.partial{border-color:#f59e0b4d;background:#f59e0b0d}.account-label{font-size:13px;font-weight:500;color:var(--text);flex:1}.account-amount{font-size:14px;font-weight:600;color:var(--text);margin:0 12px}.account-status{font-size:10px;padding:3px 8px;border-radius:4px;font-weight:600;text-transform:uppercase}.account-status.full{background:#10b98126;color:var(--success)}.account-status.partial{background:#f59e0b26;color:var(--accent-2)}.bill-notes-text{margin:0;font-size:14px;line-height:1.6;color:var(--text);white-space:pre-wrap}.bill-detail-actions{display:flex;gap:8px;padding-top:8px;flex-wrap:wrap}.bill-detail-actions button{flex:1 1 140px}.bill-detail-list{display:grid;gap:10px}.bill-detail-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.bill-detail-item .label{font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:var(--text-secondary)}.bill-detail-item .value{font-size:13px;font-weight:600;color:var(--text);text-align:right}@media (max-width: 900px){.layout,.bill{grid-template-columns:1fr}}@media (min-width: 1100px){.menu-toggle{display:none!important}}@media (max-width: 767px){.app{padding:24px 16px 16px;padding-bottom:calc(100px + env(safe-area-inset-bottom));max-width:100%;overflow-x:hidden}.hero{padding-top:16px;gap:0;margin-bottom:16px}.hero .lede,.hero .cta-row,.hero .hero-headline{display:none}.brand{grid-template-columns:auto 1fr;text-align:left;justify-items:start;gap:12px}.brand>div{text-align:left}.brand .eyebrow{margin:0;font-size:14px;font-weight:600;letter-spacing:1px}h1{font-size:clamp(22px,6vw,28px);text-align:center}.lede{text-align:center}.cta-row{justify-content:center}.hero .logo-image{width:40px;height:40px;border-radius:10px}.stats{grid-template-columns:1fr;gap:12px}.stat-card-wide{grid-column:span 1}#homeView>.stats{display:none}.stats-row-compact{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.stat-card-mini{padding:16px;border-radius:var(--radius-md);background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-soft);text-align:center}.stat-card-mini .label{margin:0;color:var(--muted);font-size:12px}.stat-card-mini .value{margin:6px 0 4px;font-size:24px;font-weight:700;font-family:var(--font-display)}.stat-card-mini .hint{margin:0;color:var(--text-secondary);font-size:11px}.panel{padding:16px;border-radius:var(--radius-md)}.panel-head{flex-direction:column;align-items:flex-start;gap:12px}.bills-toolbar{width:100%}.bills-search-field input{font-size:14px}.filters{width:100%;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px}.filters::-webkit-scrollbar{display:none}.filters button{flex-shrink:0;padding:8px 14px;font-size:13px}.category-filter,.category-filter select,.panel-actions{width:100%}.panel-actions button{width:100%;justify-content:center}.bill{padding:14px}.bill-header{flex-wrap:wrap}.bill-actions{justify-content:flex-start;width:100%}.bill-actions button{flex:1;min-width:0;padding:10px 8px;font-size:13px}.reminder{padding:12px;grid-template-columns:1fr;gap:10px}.reminder-actions{justify-content:space-between;width:100%}.reminder-action-btn{flex:1;text-align:center}.reminders-carousel-wrapper{position:relative;margin:0 -16px;padding:0 16px}.reminders{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding:4px 0 16px;scrollbar-width:none;-ms-overflow-style:none}.reminders::-webkit-scrollbar{display:none}.reminder{flex:0 0 85%;max-width:85%;scroll-snap-align:center;scroll-snap-stop:always;display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:16px;background:var(--card);border:1px solid var(--border);box-shadow:0 4px 12px #00000014}.reminder:first-child{margin-left:0}.reminder:last-child{margin-right:0}.carousel-dots{display:flex;justify-content:center;align-items:center;gap:8px;padding:8px 0 4px;height:18px}.carousel-dot{width:6px;height:6px;border-radius:50%;background:var(--text-secondary);opacity:.35;border:none;padding:0;cursor:pointer;transition:all .25s ease;flex-shrink:0;min-width:6px;min-height:6px;max-height:6px}.carousel-dot.active{background:var(--accent);opacity:1;width:18px;min-width:18px;border-radius:3px}.carousel-dot:hover:not(.active){opacity:.6}.carousel-counter{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);font-weight:500}.carousel-counter-current{color:var(--accent);font-weight:700}.reminders .empty{flex:0 0 100%;max-width:100%}.modal{padding:20px;margin:0 auto;width:calc(100% - 32px);max-width:calc(100% - 32px);left:0;right:0;overflow-x:hidden}.grid{grid-template-columns:1fr}.fab{bottom:calc(20px + env(safe-area-inset-bottom));right:16px}}.fab{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));right:24px;width:56px;height:56px;border-radius:999px;background:var(--gradient-primary);color:var(--btn-text);border:2px solid color-mix(in srgb,var(--accent) 40%,transparent);box-shadow:0 8px 24px var(--accent-glow),0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent);display:grid;place-items:center;z-index:90;transition:transform .2s cubic-bezier(.175,.885,.32,1.275),box-shadow .2s ease}.fab:hover{box-shadow:0 12px 32px var(--accent-glow),0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent)}.fab:active{transform:scale(.92)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1200;display:flex;align-items:center;justify-content:center;padding:16px;opacity:1;visibility:visible;transition:opacity .3s ease,backdrop-filter .3s ease;overflow:hidden}.modal-overlay.hidden{opacity:0;pointer-events:none;visibility:hidden;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);transition:opacity .3s ease,visibility 0s linear .3s,backdrop-filter .3s ease}.modal{background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:0;width:calc(100% - 32px);max-width:520px;margin:0 auto;box-shadow:0 1px 3px #00000014,0 3px 8px #00000026,0 8px 24px #0003,0 16px 40px #0000002e;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease;max-height:85vh;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.modal-overlay.hidden .modal{transform:translateY(20px) scale(.95);box-shadow:0 1px 3px #0000000a,0 3px 8px #00000014,0 8px 24px #0000001a}@media (max-width: 1099px){#billDetailModal{align-items:flex-end;padding:12px 12px calc(12px + env(safe-area-inset-bottom))}#billDetailModal .modal.bill-detail-modal{width:100%;max-width:680px;max-height:min(88vh,760px);margin:0;border-radius:16px}}@media (min-width: 1100px){.modal{max-width:800px;padding:0;box-shadow:0 2px 8px #0000001a,0 8px 24px #00000026,0 16px 48px #0003,0 24px 64px #0000002e}.modal-head{padding:20px 28px 16px}.modal-head h2{font-size:24px}.form-section{grid-template-columns:1fr 1fr;padding:1rem 28px;gap:.875rem;margin-bottom:0}.form-section:first-of-type{padding-top:1rem}.form-section:last-of-type{border-bottom:none;padding-bottom:0}.form-section legend{padding-bottom:1rem;font-size:12px;font-weight:700}.form-section label,.form-section label span:first-child{font-size:13px}.form-section input,.form-section select,.form-section textarea{font-size:14px;padding:10px 12px}.form-actions{padding:1rem 28px}.account-tracking-section{padding:1rem;margin-top:.5rem}.account-select-group{margin-bottom:1rem}.account-select-group:last-child{margin-bottom:0}}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:20px 28px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-head h2{margin:0;font-size:22px;font-weight:700;letter-spacing:-.3px;color:var(--text)}.quick-add,.quick-add-row{display:none}.quick-add-nav{width:36px;height:36px;min-width:36px;min-height:36px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);display:grid;place-items:center;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.quick-add-nav svg{width:16px;height:16px}.quick-add-nav:hover{border-color:var(--accent);color:var(--accent);background:var(--surface-light)}.quick-add-nav:disabled,.quick-add-nav[aria-disabled=true]{opacity:.42;cursor:default;color:var(--muted);border-color:var(--border);background:var(--surface)}.quick-add-buttons{display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 6px;-webkit-overflow-scrolling:touch;min-height:40px;scroll-snap-type:x proximity;scroll-padding:8px;max-width:100%;scrollbar-width:none}.quick-add-chip{border:1px solid var(--border);background:var(--card);color:var(--text);padding:8px 14px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.15px;cursor:pointer;transition:transform .15s ease,border-color .2s ease,background .2s ease,color .2s ease;white-space:nowrap;flex-shrink:0;scroll-snap-align:start}.quick-add-chip:hover{border-color:var(--accent);background:var(--surface);transform:translateY(-1px)}.quick-add-chip:active{transform:translateY(0)}.quick-add-chip.active,.quick-add-chip[aria-pressed=true]{color:var(--btn-text);border-color:transparent;background:var(--gradient-primary);box-shadow:0 6px 14px var(--accent-glow)}.quick-add-buttons::-webkit-scrollbar{display:none}.quick-add-buttons::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.quick-add-buttons::-webkit-scrollbar-track{background:transparent}.quick-add-select{width:100%;min-height:40px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text);padding:8px 12px;font-size:13px;font-weight:600}.quick-add-dropdown summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;gap:8px}.quick-add-dropdown summary::-webkit-details-marker{display:none}.quick-add-dropdown .dropdown-hint{font-size:.75rem;color:var(--text-secondary)}.quick-add-dropdown .dropdown-chevron{display:inline-flex;align-items:center;color:var(--text-secondary);transition:transform .2s ease}.quick-add-dropdown .dropdown-chevron svg{width:16px;height:16px}.quick-add-dropdown[open] .dropdown-chevron{transform:rotate(180deg)}.quick-add-manager-form{display:grid;gap:8px;margin-bottom:10px}.quick-add-manager-form input,.quick-add-manager-form select{padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-light);color:var(--text-primary);font-size:.875rem}.quick-add-manager-list{display:grid;gap:8px;margin-bottom:8px}.quick-add-manager-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface)}.quick-add-manager-item.is-dragging{opacity:.6;border-style:dashed}.quick-add-drag{cursor:grab;font-size:16px;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.quick-add-manager-item.is-default .quick-add-drag{color:var(--muted)}.quick-add-manager-meta{display:flex;flex-direction:column;gap:2px}.quick-add-manager-name{font-weight:600;font-size:.9rem}.quick-add-manager-sub{font-size:.75rem;color:var(--text-secondary)}.quick-add-manager-actions{display:flex;gap:6px;flex-shrink:0}.quick-add-manager-edit{display:grid;gap:6px;flex:1}.quick-add-manager-edit input,.quick-add-manager-edit select{padding:6px 8px;border-radius:8px;border:1px solid var(--border);background:var(--surface-light);color:var(--text-primary);font-size:.8rem}.icon-only{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;display:grid;place-items:center;font-size:18px}.toast{position:fixed;bottom:calc(90px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);background:var(--panel);color:var(--text);padding:12px 24px;border-radius:99px;box-shadow:0 8px 18px #0003;font-weight:600;border:1px solid var(--border);z-index:110;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),opacity .3s ease;opacity:1;-webkit-backdrop-filter:none;backdrop-filter:none}.toast.hidden{transform:translate(-50%,20px);opacity:0;pointer-events:none}.tour-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0f1c99;z-index:120;display:flex;align-items:flex-start;justify-content:center;pointer-events:all}.tour-overlay.hidden{display:none}.tour-tooltip{position:absolute;max-width:280px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px 14px;box-shadow:0 12px 24px #00000040}.tour-title{font-weight:700;margin-bottom:6px}.tour-body{font-size:.85rem;color:var(--text-secondary);margin-bottom:10px}.tour-actions{display:flex;gap:8px;justify-content:flex-end}.hero{position:relative}.menu-toggle{position:absolute;top:0;left:0;z-index:50;background:var(--panel);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--border);box-shadow:var(--shadow-soft);width:44px;height:44px;border-radius:12px}.menu-toggle svg{stroke-width:2.5;color:var(--accent)}.menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:200;opacity:1;transition:opacity .3s ease;visibility:visible}.menu-overlay.hidden{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .3s ease,visibility 0s .3s}.menu-drawer{position:absolute;top:0;left:0;bottom:0;width:300px;max-width:85vw;background:var(--panel);border-right:1px solid var(--border);box-shadow:6px 0 18px #0003;-webkit-backdrop-filter:none;backdrop-filter:none;transform:translate(0);transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}.menu-overlay.hidden .menu-drawer{transform:translate(-100%)}.menu-head{padding:20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}.menu-head h2{margin:0;font-size:20px;font-family:var(--font-display)}.menu-content{padding:24px 20px;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:32px}.menu-group{display:grid;gap:12px;animation:popIn .6s ease both}.menu-group.hidden{display:none}.full-width{width:100%;justify-content:center;padding:14px}.menu-footer{margin-top:auto;text-align:center;padding-top:20px}.menu-row{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border:1px solid color-mix(in srgb,var(--accent) 12%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--surface) 84%,transparent)}.menu-select{padding:6px 10px;border-radius:8px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));background:color-mix(in srgb,var(--surface) 85%,var(--panel));color:var(--text);font-size:.875rem;font-family:inherit;cursor:pointer;transition:all .2s ease}.menu-select:hover{border-color:var(--accent)}.menu-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--surface-highlight);transition:.4s;border-radius:34px;border:1px solid var(--border)}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:2px;background-color:var(--text-secondary);transition:.4s;border-radius:50%}input:checked+.slider{background-color:var(--accent)}input:checked+.slider:before{transform:translate(18px);background-color:var(--btn-text)}button.danger{color:var(--danger);border-color:#f565654d}button.danger:hover{background:#f565651a}.category-filter{margin-top:8px}.category-filter select{padding:8px 12px;border-radius:8px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:14px;cursor:pointer}.badge-category{padding:4px 10px;border-radius:6px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--btn-text);font-weight:600;font-size:12px;display:inline-flex;align-items:center;gap:6px}.category-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff40;border-radius:4px;padding:2px}.category-icon svg{width:12px;height:12px}.category-label-with-icon{display:inline-flex;align-items:center;gap:6px}.category-label-with-icon .category-icon{background:var(--surface);color:var(--accent)}.category-icon.cat-utilities{color:#22d3ee}.category-icon.cat-subscriptions{color:#38bdf8}.category-icon.cat-housing{color:#60a5fa}.category-icon.cat-insurance{color:#fbbf24}.category-icon.cat-loans{color:#f97316}.category-icon.cat-health{color:#fb7185}.category-icon.cat-transportation{color:#34d399}.category-icon.cat-other{color:#94a3b8}.category-icon.brand-netflix{color:#e50914}.category-icon.brand-spotify{color:#1db954}.category-icon.brand-youtube{color:red}.category-icon.brand-apple{color:#111}.category-icon.brand-google{color:#4285f4}.category-icon.brand-hbomax{color:#5b2b82}.category-icon.brand-paramount{color:#0064ff}.category-icon.brand-paypal{color:#00457c}.category-icon.brand-primevideo{color:#1f2e3e}.category-icon.brand-amazonprime{color:#00a8e1}.category-icon.brand-amazon{color:#f90}.category-icon.brand-discover{color:#ff6000}.category-icon.brand-microsoft{color:#5e5e5e}.category-icon.brand-dropbox{color:#0061ff}.category-icon.brand-adobe{color:red}.category-icon.brand-zoom{color:#0b5cff}.category-icon.brand-slack{color:#4a154b}.category-icon.brand-att{color:#009fdb}.category-icon.brand-tmobile{color:#e20074}.category-icon.brand-verizon{color:#cd040b}.category-icon.brand-spectrum{color:#7b16ff}.category-icon.brand-chase{color:#117aca}.category-icon.brand-amex{color:#2e77bc}.category-icon.brand-bankofamerica{color:#012169}.category-icon.brand-wellsfargo{color:#d71e28}.category-icon.brand-venmo{color:#008cff}.category-icon.brand-cashapp{color:#00c244}.category-icon.brand-zelle{color:#6d1ed4}.category-icon.brand-monogram{background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:9px;font-weight:700;letter-spacing:.03em;line-height:1}.stat-card-wide{grid-column:span 1}@media (min-width: 700px){.stat-card-wide{grid-column:span 2}}.category-breakdown{display:flex;flex-direction:column;gap:8px;margin-top:12px}.category-row{display:flex;align-items:center;gap:10px}.category-label{font-size:13px;color:var(--text-secondary);min-width:100px;flex-shrink:0}.category-bar-container{flex:1;height:8px;background:var(--surface);border-radius:4px;overflow:hidden}.category-bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:4px;transition:width .3s ease}.category-amount{font-size:13px;font-weight:600;color:var(--text);min-width:70px;text-align:right}.pull-to-refresh{position:fixed;top:0;left:0;right:0;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--bg) 0%,transparent 100%);transform:translateY(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease;z-index:150;opacity:0;pointer-events:none}.pull-to-refresh.visible{transform:translateY(0);opacity:1}.pull-to-refresh.refreshing .pull-to-refresh-icon{animation:spin 1s linear infinite}.pull-to-refresh.success{animation:successPulse .3s ease-out}.pull-to-refresh-content{display:flex;align-items:center;gap:12px;padding:14px 24px;background:var(--panel);border:1px solid var(--border);border-radius:999px;box-shadow:var(--shadow-soft);transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s ease}.pull-to-refresh.ready .pull-to-refresh-content{transform:scale(1.05);box-shadow:0 4px 12px #00ff8826}.pull-to-refresh.refreshing .pull-to-refresh-content{background:linear-gradient(135deg,var(--panel) 0%,rgba(0,255,136,.05) 100%)}.pull-to-refresh-icon{color:var(--accent);transition:transform .3s cubic-bezier(.4,0,.2,1),color .2s ease;filter:drop-shadow(0 0 8px rgba(0,255,136,.3))}.pull-to-refresh.ready .pull-to-refresh-icon{transform:rotate(180deg);color:#0f8}.pull-to-refresh-text{font-size:14px;font-weight:600;color:var(--text);transition:color .2s ease}.pull-to-refresh.ready .pull-to-refresh-text{color:#0f8}@keyframes successPulse{0%{transform:translateY(0) scale(1)}50%{transform:translateY(0) scale(1.1)}to{transform:translateY(0) scale(1)}}.update-banner{position:fixed;top:0;left:0;right:0;background:var(--gradient-primary);color:var(--btn-text);padding:12px 20px;display:flex;align-items:center;justify-content:center;gap:12px;z-index:200;font-weight:600;font-size:14px;transform:translateY(0);transition:transform .3s ease,opacity .3s ease}.update-banner.hidden{transform:translateY(-100%);opacity:0;pointer-events:none}.update-banner button{background:#fff3;border:1px solid rgba(255,255,255,.3);color:var(--btn-text);padding:6px 14px;border-radius:8px;font-weight:700;font-size:13px}.update-banner button:hover{background:#ffffff4d}.desktop-layout{display:block}.desktop-sidebar{display:none}.main-content{display:contents}@media (min-width: 1100px){body{overflow:hidden;height:100vh}.app{height:100vh;overflow:hidden;padding-bottom:0}.desktop-layout{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:stretch;height:100%;min-height:0}.desktop-sidebar{display:flex;flex-direction:column;height:100%;min-height:0;max-height:100%;background:var(--card-bg);-webkit-backdrop-filter:none;backdrop-filter:none;border:var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);overflow:hidden}.main-content{display:block;height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:8px;padding-bottom:0;scrollbar-width:none;-ms-overflow-style:none}.main-content::-webkit-scrollbar{display:none}.main-content .hero .brand .logo-image{display:none}.main-content .hero .brand{grid-template-columns:1fr}}@media (min-width: 1280px){.desktop-layout{grid-template-columns:280px 1fr;gap:32px}.main-content{--rail-width: 320px;gap:20px}}@media (min-width: 1600px){.desktop-layout{grid-template-columns:300px 1fr;gap:40px}.main-content{--rail-width: 360px;gap:24px}}.sidebar-header{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid var(--border)}.sidebar-logo{width:40px;height:40px;border-radius:10px}.sidebar-header .eyebrow{margin:0;font-size:14px}.sidebar-header .hint{margin:0;font-size:12px}.sidebar-content{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:24px;scrollbar-width:none;-ms-overflow-style:none}.sidebar-content::-webkit-scrollbar{display:none}.sidebar-footer{padding:16px 20px;border-top:1px solid var(--border);text-align:center}.sidebar-footer .hint{margin:0}.settings-group{display:flex;flex-direction:column;gap:10px;padding:10px;border-radius:14px;border:1px solid color-mix(in srgb,var(--accent) 10%,var(--border));background:color-mix(in srgb,var(--surface) 60%,transparent)}.settings-group.hidden{display:none}.settings-group.tier-primary{border-left:3px solid var(--accent);padding-left:12px;margin-left:-3px}.settings-group.tier-tertiary{opacity:.75}.settings-group.tier-tertiary .eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.05em}.settings-group .eyebrow{margin-bottom:4px;font-size:11px}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:color-mix(in srgb,var(--surface) 86%,transparent);border-radius:10px;border:1px solid color-mix(in srgb,var(--accent) 10%,var(--border));transition:background .2s ease,border-color .2s ease}.settings-row:hover{background:var(--surface-hover);border-color:color-mix(in srgb,var(--accent) 36%,var(--border))}.settings-row span{font-size:13px;color:var(--text-secondary)}.settings-select{padding:5px 8px;border-radius:8px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));background:color-mix(in srgb,var(--surface) 85%,var(--panel));color:var(--text);font-size:12px;font-family:inherit;cursor:pointer;transition:all .2s ease;max-width:110px}.settings-select:hover{border-color:var(--accent)}.settings-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.settings-group .ghost.full-width{justify-content:center;padding:10px 12px;font-size:13px}.notification-sub-setting{margin-left:12px;padding-left:12px;border-left:2px solid var(--border);opacity:.6;pointer-events:none;transition:opacity .3s ease}.notification-sub-setting.enabled{opacity:1;pointer-events:auto}.notification-hint{margin-top:8px;padding:8px 12px;background:var(--surface);border-radius:var(--radius-sm);font-size:12px;text-align:center}.notification-hint.warning{background:#fbbf241a;color:var(--accent-2)}.notification-hint.success{background:#34d3991a;color:var(--success)}@keyframes highlight-pulse{0%{box-shadow:0 0 0 0 var(--accent)}50%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}.highlight-pulse{animation:highlight-pulse 1s ease-out 2;border-color:var(--accent)}.auth-modal{max-width:400px;width:100%}.auth-tabs{display:flex;gap:8px;margin-bottom:20px;padding:4px;background:var(--surface);border-radius:var(--radius-sm)}.auth-tab{flex:1;padding:10px 16px;border:none;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;border-radius:6px;transition:all .2s ease}.auth-tab:hover{color:var(--text)}.auth-tab.active{background:var(--accent);color:var(--btn-text)}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form label{display:flex;flex-direction:column;gap:6px}.auth-form label span{font-size:13px;color:var(--text-secondary)}.auth-form input{padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:inherit;font-size:15px;transition:all .2s ease}.auth-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.auth-form input::placeholder{color:var(--muted)}.auth-error{padding:10px 14px;border-radius:var(--radius-sm);background:#f871711a;border:1px solid var(--danger);color:var(--danger);font-size:13px;text-align:center}.auth-switch{display:flex;align-items:center;justify-content:center;gap:4px;font-size:13px;color:var(--text-secondary);margin:0}.auth-switch .ghost{padding:4px 8px;font-size:13px;color:var(--accent)}.auth-divider{display:flex;align-items:center;gap:12px;margin:8px 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-divider span{font-size:12px;color:var(--muted);white-space:nowrap}.user-profile{display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface);border-radius:var(--radius-sm);margin-bottom:8px}.user-avatar{width:40px;height:40px;border-radius:50%;background:var(--accent);color:var(--btn-text);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;flex-shrink:0}.user-info{flex:1;min-width:0;overflow:hidden}.user-name{font-size:14px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.user-email{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.sync-status{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--surface);border-radius:var(--radius-sm);font-size:12px;color:var(--text-secondary)}.sync-status.synced{color:var(--success)}.sync-status.syncing{color:var(--accent)}.sync-status .sync-icon{width:14px;height:14px}.sync-status.syncing .sync-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#recaptchaContainer{display:flex;justify-content:center;margin:8px 0}.auth-form button[disabled]{opacity:.6;cursor:not-allowed}.login-prompt{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:linear-gradient(135deg,var(--accent-glow),var(--surface));border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:16px}.login-prompt-text{font-size:13px;color:var(--text-secondary)}.login-prompt-text strong{color:var(--accent)}.login-prompt .primary{padding:8px 16px;font-size:13px;white-space:nowrap}.account-tracking-section{grid-column:1 / -1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem;margin-top:.5rem;overflow:hidden;max-width:100%;box-sizing:border-box}.account-checkbox-fields{display:flex;flex-direction:column;gap:.75rem;max-width:100%}.account-checkbox-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;max-width:100%}.account-checkbox-row .checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;flex:1;min-width:140px}.account-checkbox-row .checkbox-label input[type=checkbox]{width:1.125rem;height:1.125rem;accent-color:var(--primary);cursor:pointer}.account-checkbox-row .checkbox-label span{font-size:.875rem;color:var(--text)}.account-amount-input{display:flex;align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;flex:0 0 auto;min-width:120px}.account-amount-input .currency-prefix{padding:.5rem .5rem .5rem .75rem;color:var(--muted);font-size:.875rem;background:var(--surface);border-right:1px solid var(--border)}.account-amount-input input[type=number]{border:none;background:transparent;padding:.5rem .75rem .5rem .5rem;font-size:.875rem;width:80px;color:var(--text)}.account-amount-input input[type=number]:disabled{opacity:.5;cursor:not-allowed}.account-amount-input.locked{opacity:.5}.account-amount-input.locked input[type=number]{cursor:not-allowed}.account-amount-input input[type=number]:focus{outline:none}.account-input-group{display:flex;align-items:center;gap:.5rem}.account-input-group select{padding:.5rem;font-size:.8125rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);cursor:pointer}.account-input-group select:disabled{opacity:.5;cursor:not-allowed}.account-select-group{margin-bottom:1rem}.account-select-group:last-child{margin-bottom:0}.account-field-label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--text)}.account-field-label .field-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--accent)}.account-field-label .hint{font-weight:400;color:var(--muted);font-size:.75rem}.account-select{width:100%;padding:.625rem .75rem;font-size:.875rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);cursor:pointer;transition:border-color .15s ease}.account-select:focus{outline:none;border-color:var(--primary)}.account-amount-row{display:flex;align-items:center;gap:.75rem;margin-top:.75rem;padding:.75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.account-amount-row .account-amount-input{flex:1;min-width:100px}.deposited-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;white-space:nowrap}.deposited-checkbox input[type=checkbox]{width:1.125rem;height:1.125rem;accent-color:var(--primary);cursor:pointer}.deposited-checkbox span{font-size:.8125rem;color:var(--text)}.account-amount-row.visible{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.advanced-options-toggle,.toggle-btn{display:none}.toggle-btn:hover{background:var(--bg);border-color:var(--accent)}.toggle-icon{font-size:.5rem;transition:transform .2s ease;color:var(--accent)}.toggle-btn.expanded .toggle-icon{transform:rotate(90deg)}.toggle-text{flex:1;text-align:left;font-weight:500}.toggle-count{color:var(--muted);font-size:.75rem;font-weight:400}.advanced-options{animation:fadeIn .2s ease;padding-top:.5rem}.category-field{display:flex;flex-direction:column;gap:.25rem}.category-field .field-label-with-icon{margin-bottom:0}.category-with-suggestion{display:flex;align-items:center;gap:.5rem}.category-with-suggestion select{flex:1}.category-suggestion{font-size:.75rem;color:var(--accent);white-space:nowrap;cursor:pointer;padding:.375rem .5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);display:none;transition:all .15s ease}.category-suggestion.visible{display:inline-block;animation:fadeIn .2s ease}.category-suggestion:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.date-field{display:flex;flex-direction:column;gap:.25rem}.date-suggestion{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--muted);margin-top:.125rem}.date-suggestion-btn{font-size:.75rem;color:var(--accent);cursor:pointer;background:none;border:none;padding:0;font-weight:500}.date-suggestion-btn:hover{text-decoration:underline}@media (max-width: 480px){.account-checkbox-row{flex-direction:column;align-items:flex-start;gap:.5rem}.account-input-group{width:100%}.account-amount-input{flex:1}.account-amount-input input[type=number]{flex:1;width:auto}}.add-account-form{display:flex;flex-direction:column;gap:.75rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.add-account-form label span{font-size:.8125rem}.accounts-list{display:flex;flex-direction:column;gap:.5rem}.account-item{display:flex;align-items:center;justify-content:space-between;padding:.625rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.account-info{display:flex;flex-direction:column;gap:.125rem}.account-name{font-weight:500;font-size:.875rem;color:var(--text)}.account-type{font-size:.75rem;color:var(--text-secondary)}.account-item .delete-account{padding:.25rem .5rem;font-size:.75rem;color:var(--danger);opacity:.7}.account-item .delete-account:hover{opacity:1}.badge-account{display:inline-flex;align-items:center;gap:.25rem;font-size:.6875rem;padding:.25rem .5rem;background:var(--accent-glow);color:var(--accent);border-radius:4px;border:1px solid var(--accent-glow)}.badge-account.funding{background:#fbbf241a;color:var(--accent-2);border-color:#fbbf2433}.badge-account.funding.full{background:#fbbf2433;border-color:#fbbf2466}.badge-account.payment{background:#34d3991a;color:var(--success);border-color:#34d39933}.badge-account.payment.full{background:#34d39933;border-color:#34d39966}.bottom-tab-bar{display:none}@media (max-width: 1099px){.bottom-tab-bar{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(65px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border);border-left:none;border-right:none;border-bottom:none;border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none;z-index:1000;padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);box-shadow:none;transition:transform .3s ease,opacity .3s ease;align-items:center}.bottom-tab-bar.nav-hidden{transform:translateY(120px);opacity:0;pointer-events:none}.tab-indicator{position:absolute;top:2px;left:10%;transform:translate(-50%);height:3px;width:28px;background:var(--accent);border-radius:999px;transition:left .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px var(--accent-glow)}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:transparent;background-color:transparent;border:none;border-radius:12px;outline:none;box-shadow:none;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:var(--muted);font-size:11px;font-weight:600;cursor:pointer;transition:color .2s ease,transform .2s ease;padding:6px 4px;margin:0 2px;min-height:44px;position:relative}.tab-item:focus,.tab-item:focus-visible,.tab-item:active,.tab-item.active{background:transparent;background-color:transparent;outline:none;box-shadow:none}.tab-item.active{color:var(--accent)}.tab-item svg{width:24px;height:24px;transition:stroke .2s ease,transform .2s ease}.tab-item.active svg{stroke:var(--accent);transform:translateY(-1px)}.tab-item .update-dot{position:absolute;top:6px;right:18px;width:8px;height:8px;border-radius:999px;background:var(--accent-2);box-shadow:0 0 0 2px var(--panel);opacity:0;transform:scale(.6);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.tab-item.has-update .update-dot{opacity:1;transform:scale(1)}.tab-item:not(.tab-add):active svg{transform:scale(.9)}.tab-add{position:relative;display:flex;align-items:center;justify-content:center;margin:0;padding:0}.tab-add-icon{width:56px;height:56px;min-width:56px;min-height:56px;flex-shrink:0;aspect-ratio:1 / 1;background:var(--gradient-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px var(--accent-glow),0 2px 8px #0000001a;transition:all .2s ease}.tab-add-icon svg{stroke:var(--btn-text);width:28px;height:28px}.tab-add:active .tab-add-icon{transform:scale(.92);box-shadow:0 3px 12px var(--accent-glow)}.tab-add span,.mobile-view{display:none}.mobile-view.active{display:block}main{padding-bottom:calc(89px + env(safe-area-inset-bottom))!important}.fab,.menu-toggle{display:none!important}.settings-content{display:flex;flex-direction:column;gap:1rem}.settings-content .settings-group,.settings-content .menu-group{background:var(--surface);border-radius:var(--radius-md);padding:1rem;border:1px dashed var(--border)}.settings-content .menu-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border)}.settings-content .menu-row:last-child{border-bottom:none}.settings-footer{text-align:center;padding:1rem}.stats-detail{display:flex;flex-direction:column;gap:1rem}.payment-status-breakdown{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.status-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border)}.status-row:last-child{border-bottom:none}.status-row:hover{background:#1cc8d80f}.status-label{font-size:.875rem;color:var(--text-secondary)}.status-value{font-size:1.25rem;font-weight:600;color:var(--text);font-family:var(--font-display)}.stats-insights{display:grid;gap:12px;margin-top:.5rem}.insight-trend{padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);font-size:.9rem;color:var(--text-secondary)}.insight-trend strong{color:var(--text)}.insight-trend.good{border-color:#16a34a59;background:#16a34a1f}.insight-trend.warn{border-color:#dc262659;background:#dc26261f}.insight-trend.neutral{border-color:var(--border)}.insight-section{display:grid;gap:6px}.insight-title{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}.insight-list{display:grid;gap:6px}.insight-item{font-size:.88rem;color:var(--text-secondary);border-left:2px solid var(--border);padding-left:10px;line-height:1.45}.insight-item.risk-high{border-left-color:var(--danger);color:var(--text)}.insight-item.risk-medium{border-left-color:var(--accent-2)}.insight-item.nudge{border-left-color:var(--accent)}}@media (min-width: 1100px){.mobile-view{display:block!important}.bottom-tab-bar,#settingsView,#statsView{display:none!important}}@media (min-width: 1100px){.main-content .hero{margin-bottom:20px;gap:8px}.main-content .hero .brand{display:flex;align-items:center;gap:16px}.main-content .hero .brand>div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.main-content .hero .eyebrow{margin:0;font-size:12px}.main-content .hero h1.hero-headline{font-size:clamp(20px,2vw,26px);margin:0;line-height:1.2;font-family:var(--font-display)}.main-content .hero .lede,.main-content .hero .cta-row{display:none}#homeView.mobile-view{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto auto;gap:20px;grid-template-areas:"stats stats" "tasks week" "safe safe" "plan plan"}#homeView>.stats{grid-area:stats;display:grid!important;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:0}#homeView>.stats .stat-card{margin:0}#homeView>.stats .stat-card{position:relative;overflow:hidden}#homeView>.stats .stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gradient-accent);border-radius:4px 0 0 4px}#homeView>.stats .stat-card:nth-child(2):before{background:var(--gradient-warning)}#homeView>.stats .stat-card:nth-child(3):before{background:var(--gradient-success)}#homeView>.panel{grid-area:tasks;margin:0;display:flex;flex-direction:column}#homeView>.home-card{margin-top:0}.carousel-dots,.carousel-counter{display:none!important}#homeView .reminders{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}#homeView .reminders-carousel-wrapper{flex:0 0 auto;min-height:auto;overflow:visible;padding-right:0}#homeView .reminder{display:flex;flex-direction:column;gap:12px;padding:16px;transition:transform .2s ease,box-shadow .2s ease}#homeView .reminder:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}#homeView>.week-preview-card{grid-area:week;margin:0;padding:18px 18px 16px}#homeView>.streak-card{display:none!important}#homeView>.ghost-card{padding:16px 18px}#homeView>.ghost-card .ghost-head{align-items:flex-start}#homeView>.ghost-card .ghost-head .eyebrow{font-size:12px}#homeView>.ghost-card .ghost-head .hint{font-size:12px;line-height:1.35}#homeView>.ghost-card .ghost-list{gap:10px}.week-preview-card{padding:var(--card-padding)}.week-preview-card .panel-head h2{font-size:15px;font-weight:700;line-height:1.2}.week-preview-hint{margin:0 0 8px}.week-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.week-day{padding:8px 5px;min-height:60px;height:auto;justify-content:flex-start;border-radius:12px;background:var(--surface);transition:all .2s ease;overflow:hidden}.week-day:hover{background:var(--surface-hover);transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 34%,var(--border));box-shadow:var(--shadow-soft)}.week-day:focus-visible{outline:3px solid color-mix(in srgb,var(--accent-2) 62%,white);outline-offset:2px;border-color:color-mix(in srgb,var(--accent) 62%,var(--border));background:color-mix(in srgb,var(--accent) 14%,var(--surface))}.week-day.today{background:var(--accent);box-shadow:0 4px 12px var(--accent-glow)}.day-name{font-size:10px;margin-bottom:2px}.day-num{font-size:16px;margin-bottom:4px}.day-dots{flex-direction:column;gap:3px;max-width:none;width:100%}.week-day .day-bill-names{display:flex;flex-direction:column;gap:2px;width:100%;margin-top:2px;max-height:18px;overflow:hidden}.week-day .day-bill-name{font-size:10px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2px 6px;background:var(--surface-highlight);border-radius:4px;text-align:center}.week-day.today .day-bill-name{background:#fff3;color:var(--btn-text)}.week-day .day-bill-name.paid{text-decoration:line-through;opacity:.6}.week-day .day-bill-name.overdue{background:#f8717133;color:var(--danger)}.week-day.today .day-bill-name.overdue{background:#f871714d}.day-amount{font-size:12px;font-weight:600;margin-top:4px;padding-top:4px}.streak-card{padding:var(--card-padding);display:flex;flex-direction:column;justify-content:center}.streak-header{gap:16px}.streak-icon{font-size:40px}.streak-title{font-size:20px;font-family:var(--font-display);line-height:1.15}.streak-subtitle{font-size:14px}.streak-bar-container{height:10px;margin:16px 0}.streak-hint{font-size:13px;margin-top:2px}}@media (min-width: 1400px){#homeView.mobile-view{grid-template-columns:minmax(0,3fr) minmax(0,2fr);grid-template-areas:"stats stats" "tasks week" "safe safe" "plan plan"}#homeView>.stats{gap:20px}#homeView .reminders{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.week-day{min-height:68px;padding:8px 6px;height:auto}.day-num{font-size:20px}}@media (max-width: 374px){.app{padding:12px 10px;padding-bottom:calc(90px + env(safe-area-inset-bottom))}.brand{gap:8px}.hero .logo-image{width:36px;height:36px;border-radius:8px}.brand .eyebrow{font-size:12px;letter-spacing:.5px}h1{font-size:20px}.panel{padding:12px;border-radius:12px}.panel-head{margin-bottom:8px}.panel h2{font-size:16px}.filters{gap:4px}.filters button{padding:6px 10px;font-size:11px}.stats-row-compact{gap:8px}.stat-card-mini{padding:12px 8px}.stat-card-mini .label{font-size:10px}.stat-card-mini .value{font-size:20px}.stat-card-mini .hint{font-size:10px}.reminder{flex:0 0 90%;max-width:90%;padding:12px;gap:10px}.reminder strong{font-size:14px}.reminder .meta{font-size:11px}.reminder-actions{flex-direction:column;gap:8px}.reminder-action-btn{padding:10px 12px;font-size:12px;width:100%}.reminder .badge{font-size:10px;padding:4px 8px}.bill-list .bill{padding:10px 12px;gap:8px}.bill-list .bill .name{font-size:13px;max-width:120px}.bill-list .bill .amount{font-size:11px}.bill-list .bill .badge{font-size:9px;padding:2px 5px}.bill-list .bill.expanded .bill-actions{gap:6px;flex-wrap:wrap}.bill-list .bill.expanded .bill-actions button{padding:8px;font-size:11px;min-width:0}.fab{width:48px;height:48px;right:12px;bottom:calc(16px + env(safe-area-inset-bottom))}.fab svg{width:20px;height:20px}.modal{padding:16px;width:calc(100% - 20px);max-width:calc(100% - 20px);max-height:90vh}.modal-head h2{font-size:16px}.modal .grid{gap:10px}.quick-add-row{display:block}.quick-add-nav{width:32px;height:32px;min-width:32px;min-height:32px}.modal label{font-size:12px}.modal input,.modal select,.modal textarea{padding:8px;font-size:14px}.modal .actions{gap:8px}.modal .actions button{padding:10px 14px;font-size:13px}.bottom-tab-bar{height:calc(65px + env(safe-area-inset-bottom));bottom:0;left:0;right:0;border-radius:0}.tab-item{font-size:9px;padding:4px 2px}.tab-item svg{width:18px;height:18px}.week-days{gap:2px}.week-day{min-height:56px;padding:4px 2px}.day-label{font-size:9px}.day-num{font-size:14px}.day-amount{font-size:9px}.streak-icon{font-size:24px}.streak-title{font-size:14px}.streak-subtitle{font-size:11px}.account-checkbox-row{flex-direction:column;align-items:flex-start;gap:6px}.account-input-group{width:100%;flex-wrap:wrap}.account-amount-input{flex:1;min-width:80px}.deposit-badge{font-size:9px;padding:2px 5px}.menu-drawer{width:260px}.menu-group{padding:10px 12px}.menu-row span{font-size:13px}.menu-select{font-size:12px;padding:6px 8px}}@media (min-width: 375px) and (max-width: 480px){.app{padding:14px;padding-bottom:calc(95px + env(safe-area-inset-bottom))}.panel{padding:14px}.filters button{padding:7px 12px;font-size:12px}.stat-card-mini{padding:14px 10px}.stat-card-mini .value{font-size:22px}.reminder{flex:0 0 88%;max-width:88%;padding:14px}.bill-list .bill .name{font-size:14px;max-width:140px}.week-day{min-height:62px;padding:6px 4px}.day-num{font-size:15px}.bottom-tab-bar{height:calc(60px + env(safe-area-inset-bottom))}.tab-item svg{width:20px;height:20px}}@media (max-width: 767px){#billForm{grid-template-columns:1fr}html,body{overflow-x:hidden;width:100%;max-width:100vw}.app{overflow-x:hidden;max-width:100%}.bill-list .bill .name,.reminder strong,.stat-card-mini .label,.streak-title{word-break:break-word;overflow-wrap:break-word}.status-badges,.badges{flex-wrap:wrap}#billsView .bill-list .bill{width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}#billsView .bill-list .bill .bill-header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:6px;row-gap:4px;min-width:0}#billsView .bill-list .bill .name{min-width:0}#billsView .bill-list .bill .status-badges{grid-column:1 / -1;min-width:0;width:100%;margin-left:0;display:flex;flex-wrap:wrap;gap:4px;flex-shrink:1}#billsView .bill-list .bill .status-badges .badge,#billsView .bill-list .bill .status-badges .deposit-badge{max-width:100%;min-width:0;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bill-actions,.reminder-actions{max-width:100%;overflow-x:hidden}.modal input,.modal select,.modal textarea{max-width:100%;box-sizing:border-box}.grid{max-width:100%;overflow:hidden}}@supports (padding-top: env(safe-area-inset-top)){.app{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}@media (max-width: 374px){.app{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}}.bottom-tab-bar{left:0;right:0}.menu-drawer{padding-top:env(safe-area-inset-top)}}@media (max-height: 500px) and (orientation: landscape){.app{padding-top:12px;padding-bottom:calc(70px + env(safe-area-inset-bottom))}.hero{margin-bottom:10px}.bottom-tab-bar{height:calc(61px + env(safe-area-inset-bottom));bottom:0}.tab-item{flex-direction:row;gap:4px}.tab-item svg{width:18px;height:18px}.modal{max-height:95vh}.reminders{flex-wrap:nowrap}.reminder{flex:0 0 70%;max-width:70%}}@media (max-width: 767px){#billsView .filters,#billsView .category-filter{display:none!important}#billsView .category-filter.control-tower-filter{display:inline-flex!important;width:100%}#billsView .panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;align-items:center}#billsView .panel-head>div:first-child,#billsView .bills-toolbar,#billsView .bills-results-meta{grid-column:1 / -1}#billsView .control-tower-filter{grid-column:1 / 2;min-width:0}#billsView .panel-actions{grid-column:2 / 3;justify-self:end;width:auto;margin:0}#billsView .panel-actions button{width:auto;min-height:44px;padding:8px 12px;font-size:12px}}@media (max-width: 767px){:root{--glass-blur: 8px}.panel,.home-card,.stat-card,.bill,.reminder{box-shadow:0 6px 14px #08142824}.stat-card:hover,.bill:hover,.reminder:hover{transform:none}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}@keyframes popIn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes riseIn{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}@media (min-width: 1100px){.app{background:var(--panel);border-radius:28px;padding:28px;box-shadow:var(--shadow-soft)}.main-content{--rail-width: 352px;display:grid;grid-template-columns:minmax(0,1fr) var(--rail-width);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"header rail" "home rail";gap:20px;padding-right:0;position:relative;height:100%;overflow:hidden}.main-content:after{content:"";position:absolute;top:8px;bottom:8px;left:calc(100% - var(--rail-width) - 12px);width:1px;background:linear-gradient(to bottom,transparent,var(--border),transparent);pointer-events:none}.main-content .hero{grid-area:header;margin-bottom:0;padding:16px 20px;border-radius:var(--card-radius);background:var(--card-bg);border:var(--card-border);box-shadow:var(--card-shadow)}#homeView.mobile-view{grid-area:home;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"cards cards" "tasks week" "safe safe" "plan plan";grid-template-rows:auto auto auto auto;gap:20px;height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:8px;scrollbar-width:none;-ms-overflow-style:none;align-content:stretch}#homeView.mobile-view,#billsView{min-height:0}#homeView.mobile-view::-webkit-scrollbar{display:none}#homeView.mobile-view.has-sparse-attention{grid-template-rows:auto auto auto auto;align-content:start}#homeView.mobile-view.has-sparse-overview{grid-template-areas:"cards cards" "tasks week" "safe safe" "plan plan";grid-template-rows:auto auto auto auto;align-content:start}#homeView.mobile-view.has-sparse-overview>.safe-to-spend-card[data-empty=true]{display:none}#homeView>.home-card,#homeView>.panel,#homeView>.stats{margin:0}#homeView>.stats{grid-area:cards;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0}#homeView>.panel{grid-area:tasks;margin:0;height:auto;align-self:start}#homeView>.panel#attentionPanel.is-sparse{height:auto;align-self:start;padding:14px 16px}#homeView>.panel#attentionPanel{border-left:4px solid var(--accent);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 14%,transparent) 0%,transparent 46%),var(--card-bg);box-shadow:var(--shadow-soft),0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent)}#homeView>.panel#attentionPanel.is-dense{height:auto;align-self:start;max-height:none;overflow:visible}#homeView>.panel#attentionPanel.is-dense .reminders-carousel-wrapper{max-height:none;overflow:visible;padding-right:0}#homeView>.safe-to-spend-card{grid-area:safe;margin:0;align-self:start;height:auto}#homeView>.paycheck-plan-card{grid-area:plan;margin:0;align-self:start;height:auto}#homeView>.week-preview-card{grid-area:week;margin:0;height:auto;align-self:start}#homeView>.streak-card{display:none!important}#homeView.mobile-view.has-sparse-attention>.week-preview-card{height:auto;align-self:start}#attentionPanel.is-sparse .panel-head{margin-bottom:6px;padding-bottom:8px}#attentionPanel.is-sparse .reminders{gap:8px}#attentionPanel.is-sparse .reminder{padding:10px 12px}#attentionPanel .reminder-actions{gap:10px}#attentionPanel .reminder-action-btn{min-height:36px;padding:8px 12px;font-size:12px;font-weight:700;letter-spacing:.01em}#attentionPanel .reminder-action-btn.mark-paid-btn{box-shadow:0 6px 14px color-mix(in srgb,var(--accent) 34%,transparent)}#attentionPanel .reminder-action-btn.mark-paid-btn:hover{transform:translateY(-1px) scale(1.02);box-shadow:0 8px 16px color-mix(in srgb,var(--accent) 44%,transparent)}#attentionPanel .reminder-action-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--accent-2) 62%,white);outline-offset:2px}#attentionPanel .reminder:focus-within{border-color:color-mix(in srgb,var(--accent) 64%,var(--border));box-shadow:var(--shadow-soft)}#billsView{grid-area:rail;display:block!important;margin:0;position:relative;align-self:stretch;height:100%;overflow:hidden}#billsView .panel{border-radius:var(--card-radius);padding:16px;display:flex;flex-direction:column;height:100%}#billsView .panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:10px;padding-bottom:10px}#billsView .control-tower-title .hint{margin-top:2px}#billsView .bills-toolbar{width:100%;gap:6px}#billsView .bills-search-field input{padding:10px 12px;font-size:13px}#billsView #billSearchClear{padding:9px 10px;font-size:12px}#billsView .bills-results-meta{min-height:auto;font-size:12px;color:var(--muted)}#billsView .control-tower-primary{grid-template-columns:minmax(0,1fr);gap:8px;align-items:stretch}#billsView .filters,#billsView .category-filter{display:none}#billsView .category-filter.control-tower-filter{display:inline-flex}#billsView .filters{width:100%;display:none;flex-wrap:wrap;gap:6px}#billsView .filter-btn{justify-content:center;padding:6px 10px;font-size:12px}#billsView .panel-actions{display:flex;justify-content:stretch;width:auto;margin-left:0}#billsView .control-tower-filter{display:inline-flex}#billsView .panel-head>div:first-child{width:100%;grid-column:1 / -1}#billsView .bills-toolbar,#billsView .bills-results-meta{grid-column:1 / -1}#billsView .control-tower-filter select{font-size:12px}#billsView .panel-actions button{padding:9px 10px;font-size:12px;width:100%;white-space:nowrap}#billList{flex:1;overflow-y:auto;padding-right:6px}#billsView .category-filter{display:none}#billsView .bill-list .bill{padding:12px;gap:10px;display:grid;grid-template-columns:1fr auto;align-items:start;border-width:1px;box-shadow:var(--shadow-flat)}#billsView .bill-list .bill>div:first-child{gap:2px;min-width:0}#billsView .bill-list .bill .bill-header{gap:8px}#billsView .bill-list .bill .name{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#billsView .bill-list .bill .amount{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#billsView .bill-list .deposit-badge{display:none}#billsView .bill-list .status-badges .badge{font-size:10px;padding:3px 6px}#billsView .bill-list .bill .badges,#billsView .bill-list .bill .expand-indicator{display:none}#billsView .bill-list .bill .bill-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;grid-column:1 / -1}#billsView .bill-list .bill .bill-actions button{padding:6px 10px;font-size:11px}#billsView .bill-list{display:flex;flex-direction:column;gap:10px}}@media (max-width: 767px){.modal-overlay:not(#billDetailModal){align-items:flex-end;padding:0;padding-bottom:env(safe-area-inset-bottom)}.modal-overlay:not(#billDetailModal) .modal{border-radius:20px 20px 0 0;max-height:calc(100dvh - 16px);width:100%;max-width:100%;margin:0;padding:20px 20px calc(16px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;transform:translateY(0)}.modal-overlay:not(#billDetailModal).hidden .modal{transform:translateY(100%)}.modal-overlay:not(#billDetailModal) .modal:before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:var(--border);margin:0 auto 16px}}@media (max-width: 1099px){.mobile-view{transition:opacity .22s ease,transform .22s ease}.mobile-view.sliding-out-left{opacity:0;transform:translate(-24px);pointer-events:none;position:absolute;width:100%}.mobile-view.sliding-out-right{opacity:0;transform:translate(24px);pointer-events:none;position:absolute;width:100%}.mobile-view.sliding-in-left{opacity:0;transform:translate(24px)}.mobile-view.sliding-in-right{opacity:0;transform:translate(-24px)}main{position:relative}}@media (max-width: 767px){.home-card[data-empty=true]{display:none}}@media (max-width: 767px){.bill-list .bill .expand-indicator{width:44px;height:44px;margin:-10px -10px -10px 0;border-radius:8px}.bill-list .bill:active{background:color-mix(in srgb,var(--accent) 6%,var(--card-bg, var(--panel)));transition:background .1s ease}}@media (max-width: 767px){.paycheck-plan-table-wrap{display:none}.paycheck-plan-cards{display:flex;flex-direction:column;gap:8px;margin-top:4px}.paycheck-plan-bill-card{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:12px;display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center}.paycheck-plan-bill-card .ppc-name{font-size:14px;font-weight:600;color:var(--text);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.paycheck-plan-bill-card .ppc-amount{font-size:14px;font-weight:700;color:var(--text);text-align:right;margin:0}.paycheck-plan-bill-card .ppc-due{font-size:12px;color:var(--muted);margin:0}.paycheck-plan-bill-card .ppc-select{grid-column:1 / -1;width:100%;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);padding:8px 10px;font-size:13px;min-height:40px}}@media (min-width: 768px){.paycheck-plan-cards{display:none!important}}.empty-state-cta{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .2s ease,border-color .2s ease;-webkit-tap-highlight-color:transparent}.empty-state-cta:hover,.empty-state-cta:active{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-color:var(--accent)}.ghost-empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:4px}@media (min-width: 1100px){#homeView>.ghost-card[data-empty=true]{opacity:.78;filter:saturate(.88);border-style:dashed;border-color:color-mix(in srgb,var(--accent) 16%,var(--border));padding:12px 14px;min-height:0}#homeView>.ghost-card[data-empty=true] .ghost-empty-state--compact{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}#homeView>.ghost-card[data-empty=true] .ghost-empty-state--compact .hint{margin:0;font-size:13px}#homeView>.ghost-card[data-empty=true] .ghost-empty-state--compact .empty-state-cta{margin-top:0;white-space:nowrap}#homeView>.ghost-card[data-empty=false]{opacity:1;filter:none}}.paycheck-plan-empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:4px}#modalOverlay .modal{max-width:700px;max-height:90vh;border-radius:26px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));background:radial-gradient(circle at 12% -8%,color-mix(in srgb,var(--accent) 18%,transparent) 0%,transparent 34%),radial-gradient(circle at 110% 115%,color-mix(in srgb,var(--accent-2) 12%,transparent) 0%,transparent 40%),var(--panel);box-shadow:0 28px 70px #00000052,0 8px 22px #0003}#modalOverlay .modal-head{position:sticky;top:0;z-index:3;padding:20px 26px 14px;border-bottom:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));background:color-mix(in srgb,var(--panel) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#modalOverlay .modal-head h2{margin:0;font-size:clamp(1.32rem,2vw,1.72rem);font-weight:800;letter-spacing:-.02em;font-family:var(--font-display)}#modalOverlay .modal-head .icon-only{width:42px;height:42px;min-width:42px;min-height:42px;border-radius:12px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));background:color-mix(in srgb,var(--surface) 82%,var(--panel));color:var(--text-secondary)}#modalOverlay .modal-head .icon-only:hover{border-color:color-mix(in srgb,var(--accent) 70%,var(--border));color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface))}#modalOverlay .wizard-container{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}#modalOverlay .wizard-progress{position:relative;padding:16px 22px;display:flex;justify-content:center;border-bottom:1px solid color-mix(in srgb,var(--accent) 12%,var(--border))}#modalOverlay .wizard-progress:before{content:"";position:absolute;left:10%;right:10%;top:50%;height:2px;background:color-mix(in srgb,var(--accent) 25%,var(--border));opacity:.45;transform:translateY(-50%)}#modalOverlay .progress-dots{display:flex;align-items:center;gap:24px;position:relative;z-index:1}#modalOverlay .progress-dots .dot{width:18px;height:18px;border-radius:999px;border:2px solid color-mix(in srgb,var(--accent) 25%,var(--border));background:color-mix(in srgb,var(--surface) 82%,var(--panel));box-shadow:0 0 0 6px color-mix(in srgb,var(--panel) 88%,transparent);cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}#modalOverlay .progress-dots .dot:hover{transform:translateY(-1px) scale(1.05);border-color:color-mix(in srgb,var(--accent) 70%,var(--border))}#modalOverlay .progress-dots .dot[aria-current=step]{border-color:var(--accent);background:var(--gradient-primary);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 20%,transparent),0 6px 16px color-mix(in srgb,var(--accent) 28%,transparent)}#modalOverlay .wizard-steps{flex:1;min-height:0;overflow-y:auto;padding:24px 26px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--accent) 30%,var(--border)) transparent}#modalOverlay .wizard-step{display:block;animation:popIn .42s cubic-bezier(.2,.9,.2,1)}#modalOverlay .wizard-step.hidden{display:none}#modalOverlay .wizard-step h3{margin:0 0 18px;font-size:clamp(1.1rem,1.5vw,1.35rem);font-weight:760;letter-spacing:-.01em;color:var(--text)}#modalOverlay .step-content{display:flex;flex-direction:column;gap:14px}#modalOverlay .form-group{display:flex;flex-direction:column;gap:8px}#modalOverlay .label-text{font-size:.73rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:color-mix(in srgb,var(--muted) 86%,var(--text-secondary))}#modalOverlay .form-group input,#modalOverlay .form-group select,#modalOverlay .form-group textarea{width:100%;min-height:48px;padding:12px 14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));background:color-mix(in srgb,var(--surface) 80%,var(--panel));color:var(--text);font-size:.93rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}#modalOverlay .form-group textarea{min-height:98px;resize:vertical}#modalOverlay .form-group input::placeholder,#modalOverlay .form-group textarea::placeholder{color:color-mix(in srgb,var(--text-secondary) 72%,transparent)}#modalOverlay .form-group input:focus,#modalOverlay .form-group select:focus,#modalOverlay .form-group textarea:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 75%,white);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);background:color-mix(in srgb,var(--surface-hover) 75%,var(--panel))}#modalOverlay .input-with-prefix{position:relative;display:flex;align-items:center}#modalOverlay .input-with-prefix .prefix{position:absolute;left:14px;font-size:.92rem;color:var(--text-secondary);font-weight:700;pointer-events:none}#modalOverlay .input-with-prefix input{padding-left:34px}#modalOverlay .category-grid-section,#modalOverlay .frequency-section{border:none;padding:0;margin:0}#modalOverlay .category-icons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}#modalOverlay .category-icon{position:relative;width:auto;height:auto;padding:10px 8px;min-height:88px;border-radius:14px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--border));background:color-mix(in srgb,var(--surface) 82%,var(--panel));display:grid;place-items:center;gap:6px;text-align:center;cursor:pointer;transition:transform .18s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease}#modalOverlay .category-icon:hover{border-color:color-mix(in srgb,var(--accent) 58%,var(--border));transform:translateY(-2px);box-shadow:0 8px 18px #0000001f}#modalOverlay .category-icon input[type=radio]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer}#modalOverlay .category-icon svg{width:22px;height:22px;color:var(--text-secondary);pointer-events:none}#modalOverlay .category-icon span{font-size:.74rem;font-weight:650;line-height:1.2;color:var(--text-secondary);pointer-events:none}#modalOverlay .category-icon:has(input[type=radio]:checked){border-color:color-mix(in srgb,var(--accent) 80%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 18%,var(--surface)),color-mix(in srgb,var(--accent) 10%,var(--surface)));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}#modalOverlay .category-icon:has(input[type=radio]:checked) svg,#modalOverlay .category-icon:has(input[type=radio]:checked) span{color:color-mix(in srgb,var(--accent) 84%,var(--text))}#modalOverlay .frequency-pills{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px;margin-top:10px}#modalOverlay .frequency-pill{position:relative}#modalOverlay .frequency-pill input[type=radio]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0}#modalOverlay .frequency-pill span{display:flex;align-items:center;justify-content:center;min-height:42px;padding:10px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));background:color-mix(in srgb,var(--surface) 76%,var(--panel));color:var(--text);font-size:.82rem;font-weight:650;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease,transform .14s ease}#modalOverlay .frequency-pill span:hover{transform:translateY(-1px)}#modalOverlay .frequency-pill input[type=radio]:checked+span{border-color:color-mix(in srgb,var(--accent) 90%,var(--border));background:color-mix(in srgb,var(--accent) 15%,var(--surface));color:var(--accent)}#modalOverlay .checkbox-group{display:flex;align-items:center;gap:10px}#modalOverlay .checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}#modalOverlay .checkbox-group span{font-size:.92rem;color:var(--text)}#modalOverlay .suggestion-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--accent-2) 40%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--accent-2) 10%,var(--surface))}#modalOverlay .suggestion-banner span{font-size:.83rem;color:var(--text)}#modalOverlay .suggestion-btn{border:none;border-radius:8px;padding:7px 11px;background:color-mix(in srgb,var(--accent-2) 90%,#fff);color:#161616;font-size:.75rem;font-weight:700;cursor:pointer}#modalOverlay .advanced-toggle-section{margin-top:4px}#modalOverlay .advanced-toggle{width:100%;padding:12px 13px;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--surface) 82%,var(--panel));color:var(--text);font-size:.9rem;font-weight:650;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;transition:border-color .2s ease,background .2s ease}#modalOverlay .advanced-toggle:hover{border-color:color-mix(in srgb,var(--accent) 62%,var(--border));background:color-mix(in srgb,var(--accent) 7%,var(--surface))}#modalOverlay .toggle-icon{width:18px;height:18px;transition:transform .3s ease}#modalOverlay .advanced-section{margin-top:10px;padding:12px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:12px;display:flex;flex-direction:column;gap:12px}#modalOverlay #accountSelectGroup{display:none}#modalOverlay .manage-accounts-link{font-size:.82rem;color:var(--accent);text-decoration:none;font-weight:700}#modalOverlay .manage-accounts-link:hover{color:var(--accent-2)}#modalOverlay .review-sections{display:flex;flex-direction:column;gap:12px}#modalOverlay .review-section{border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border));border-radius:12px;overflow:hidden;background:color-mix(in srgb,var(--card) 82%,var(--surface))}#modalOverlay .review-header{padding:11px 13px;border-bottom:1px solid color-mix(in srgb,var(--accent) 12%,var(--border));display:flex;align-items:center;justify-content:space-between}#modalOverlay .review-header h4{margin:0;font-size:.69rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}#modalOverlay .edit-link{border:none;background:transparent;padding:4px 8px;color:var(--accent);font-size:.76rem;font-weight:700;cursor:pointer}#modalOverlay .edit-link:hover{color:var(--accent-2)}#modalOverlay .review-data{display:flex;flex-direction:column;gap:9px;padding:11px 13px}#modalOverlay .review-row{display:flex;align-items:center;justify-content:space-between;gap:10px}#modalOverlay .review-row .label{font-size:.82rem;color:var(--text-secondary)}#modalOverlay .review-row .value{font-size:.9rem;color:var(--text);font-weight:650;text-align:right}#modalOverlay .wizard-nav{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 22px 16px;border-top:1px solid color-mix(in srgb,var(--accent) 15%,var(--border));background:color-mix(in srgb,var(--panel) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#modalOverlay .nav-actions{display:flex;align-items:center;gap:8px}#modalOverlay .wizard-nav button{min-height:42px;padding:10px 15px;border-radius:11px;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border));background:color-mix(in srgb,var(--surface) 82%,var(--panel));color:var(--text);font-size:.9rem;font-weight:680;cursor:pointer;transition:transform .15s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}#modalOverlay .wizard-nav button:hover{border-color:color-mix(in srgb,var(--accent) 58%,var(--border))}#modalOverlay .wizard-nav button.primary{border-color:transparent;background:var(--gradient-primary);color:var(--btn-text);box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 32%,transparent)}#modalOverlay .wizard-nav button.primary:hover{transform:translateY(-1px)}@media (max-width: 767px){#modalOverlay .modal{width:min(100%,660px);border-radius:22px}#modalOverlay .modal-head{padding:14px 16px 12px}#modalOverlay .modal-head h2{font-size:1.22rem}#modalOverlay .wizard-progress{padding:12px 14px}#modalOverlay .wizard-progress:before{left:12%;right:12%}#modalOverlay .progress-dots{gap:18px}#modalOverlay .progress-dots .dot{width:15px;height:15px;box-shadow:0 0 0 5px color-mix(in srgb,var(--panel) 88%,transparent)}#modalOverlay .wizard-steps{padding:16px}#modalOverlay .wizard-step h3{margin-bottom:14px;font-size:1.08rem}#modalOverlay .category-icons{grid-template-columns:repeat(3,minmax(0,1fr))}#modalOverlay .category-icon{min-height:78px;padding:8px 6px}#modalOverlay .category-icon span{font-size:.66rem}#modalOverlay .frequency-pills{grid-template-columns:repeat(2,minmax(0,1fr))}#modalOverlay .wizard-nav{padding:12px 16px 14px;flex-wrap:wrap}#modalOverlay #cancelBtn,#modalOverlay .nav-actions{width:100%}#modalOverlay .nav-actions button{flex:1}}@media (max-width: 480px){#modalOverlay .category-icons{grid-template-columns:repeat(2,minmax(0,1fr))}#modalOverlay .progress-dots{gap:14px}#modalOverlay .wizard-nav button{min-height:40px;padding:9px 12px;font-size:.86rem}#modalOverlay .review-row{align-items:flex-start;flex-direction:column;gap:3px}#modalOverlay .review-row .value{text-align:left}}@media (max-width: 767px){.form-section{grid-template-columns:1fr;padding:1rem 16px;gap:.8rem}.form-section legend{font-size:12px;letter-spacing:.8px}.form-actions,.form-quick-add{padding-left:16px;padding-right:16px}#homeView.mobile-view.active{display:flex!important;flex-direction:column;gap:12px;align-content:stretch}#homeView>.home-card{padding:14px;border-radius:14px}#homeView>.panel,#homeView>.stats{padding:14px}#homeView>.panel#attentionPanel{border-left-width:2px}#homeView>.panel#attentionPanel .panel-head{flex-direction:row;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}#homeView .reminders-carousel-wrapper{margin:0;padding:0}#homeView .reminders{gap:10px;padding:2px 0 10px;scroll-snap-type:x mandatory}#homeView .reminder{flex:0 0 100%;max-width:100%;scroll-snap-align:start;border-radius:14px;padding:14px}#homeView>.paycheck-plan-card .paycheck-plan-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#homeView>.paycheck-plan-card .paycheck-plan-actions>.paycheck-plan-toggle{grid-column:1 / -1}#homeView>.paycheck-plan-card .paycheck-plan-actions .ghost{min-height:40px;font-size:12px;padding:8px 10px}.panel-actions button,.bill-actions button,.reminder-action-btn{min-height:44px}.bill-list .bill .expand-indicator{width:30px;height:30px;border-radius:999px;background:color-mix(in srgb,var(--surface-highlight) 85%,transparent);color:var(--text-secondary)}.modal{max-height:calc(100dvh - 20px)}}@media (min-width: 1100px){#homeView.mobile-view{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"cards cards" "tasks week" "safe safe" "plan plan";grid-template-rows:auto auto auto auto;gap:22px}#homeView>.home-card{position:relative;z-index:1}#homeView>.panel{grid-area:tasks}#homeView>.week-preview-card{grid-area:week;align-self:start;height:auto}#homeView>.streak-card{display:none!important}#homeView>.safe-to-spend-card{grid-area:safe}#homeView>.paycheck-plan-card{grid-area:plan}}
