:root{--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--visual-viewport-height:100dvh;--keyboard-inset:0px;--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;--bg:#0a0f1c;--panel:#131d32;--border:#1cc8d829;--outline:#1cc8d83d;--text:#f8fbff;--text-secondary:#d0ddee;--muted:#94a9c7;--accent:#0fd8e8;--accent-2:#ffc83d;--accent-glow:#0fd8e859;--danger:#ff6b6b;--success:#2ed573;--warning:#f8b53b;--shadow:0 12px 26px #070c1a80;--shadow-soft:0 4px 12px #070c1a2e;--shadow-elevated:0 8px 20px #070c1a66;--glass-border:#fff3;--glass-surface:#ffffff14;--glass-blur:16px;--status-paid-glow:#2ed57340;--status-warning-glow:#f8b53b47;--status-danger-glow:#ff6b6b47;--status-due-bg:linear-gradient(135deg, #f8b53b, #ffd24a);--status-due-border:#f8b53b9e;--status-due-text:#1b1300;--status-paid-bg:linear-gradient(135deg, #2ed573, #4ade80);--status-paid-border:#2ed5739e;--status-paid-text:#062312;--status-overdue-bg:linear-gradient(135deg, #ff6b6b, #ff8b8b);--status-overdue-border:#ff6b6ba3;--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:#0fd8e814;--surface-hover:#0fd8e824;--surface-highlight:#0fd8e838;--surface-active:#0fd8e84d;--card:#152540;--card-hover:#1b3152;--btn-text:#0a0f1c;--badge-text:#0a0f1c;--hover:#0fd8e81a;--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:#fff;--border:#0ea5b72e;--outline:#0ea5b747;--text:#0b1a2b;--text-secondary:#2d4a6a;--muted:#4d6684;--accent:#0db8ce;--accent-2:#ffb300;--accent-glow:#0db8ce47;--danger:#dc2626;--success:#16a34a;--warning:#d97706;--shadow:0 12px 22px #0f172a1a;--shadow-soft:0 4px 12px #0f172a0f;--shadow-elevated:0 8px 20px #0f172a24;--glass-border:#ffffffad;--glass-surface:#ffffffb8;--glass-blur:14px;--status-paid-glow:#16a34a38;--status-warning-glow:#d9770633;--status-danger-glow:#dc262633;--status-due-bg:linear-gradient(135deg, #f59e0b, #f7b500);--status-due-border:#d9770694;--status-due-text:#2c1800;--status-paid-bg:linear-gradient(135deg, #16a34a, #4ade80);--status-paid-border:#16a34a8f;--status-paid-text:#062312;--status-overdue-bg:linear-gradient(135deg, #dc2626, #ef4444);--status-overdue-border:#dc26268f;--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:#0db8ce0f;--surface-hover:#0db8ce1f;--surface-highlight:#0db8ce2e;--surface-active:#0db8ce42;--card:#fff;--card-hover:#f8fcff;--btn-text:#0b1320;--badge-text:#0b1320;--hover:#091e420f;--blob-1-start:#d5f6ff;--blob-1-end:#bde7ff;--blob-2-start:#e6f0ff;--blob-2-end:#d6e6ff}}body.light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#d8e8f5;--panel:#fff;--border:#0ea5b72e;--outline:#0ea5b747;--text:#0b1a2b;--text-secondary:#2d4a6a;--muted:#4d6684;--accent:#0db8ce;--accent-2:#ffb300;--accent-glow:#0db8ce47;--danger:#dc2626;--success:#16a34a;--warning:#d97706;--shadow:0 12px 22px #0f172a1a;--shadow-soft:0 4px 12px #0f172a0f;--shadow-elevated:0 8px 20px #0f172a24;--glass-border:#ffffffad;--glass-surface:#ffffffb8;--glass-blur:14px;--status-paid-glow:#16a34a38;--status-warning-glow:#d9770633;--status-danger-glow:#dc262633;--status-due-bg:linear-gradient(135deg, #f59e0b, #f7b500);--status-due-border:#d9770694;--status-due-text:#2c1800;--status-paid-bg:linear-gradient(135deg, #16a34a, #4ade80);--status-paid-border:#16a34a8f;--status-paid-text:#062312;--status-overdue-bg:linear-gradient(135deg, #dc2626, #ef4444);--status-overdue-border:#dc26268f;--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:#0db8ce0f;--surface-hover:#0db8ce1f;--surface-highlight:#0db8ce2e;--surface-active:#0db8ce42;--card:#fff;--card-hover:#f8fcff;--btn-text:#0b1320;--badge-text:#0b1320;--hover:#0db8ce14;--blob-1-start:#cff3ff;--blob-1-end:#b5e8ff;--blob-2-start:#deeeff;--blob-2-end:#d0e5ff}body.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0f1c;--panel:#131d32;--border:#1cc8d829;--outline:#1cc8d83d;--text:#f8fbff;--text-secondary:#d0ddee;--muted:#94a9c7;--accent:#0fd8e8;--accent-2:#ffc83d;--accent-glow:#0fd8e859;--danger:#ff6b6b;--success:#2ed573;--warning:#f8b53b;--shadow:0 12px 26px #070c1a80;--shadow-soft:0 4px 12px #070c1a2e;--shadow-elevated:0 8px 20px #070c1a66;--glass-border:#fff3;--glass-surface:#ffffff14;--glass-blur:16px;--status-paid-glow:#2ed57340;--status-warning-glow:#f8b53b47;--status-danger-glow:#ff6b6b47;--status-due-bg:linear-gradient(135deg, #f8b53b, #ffd24a);--status-due-border:#f8b53b9e;--status-due-text:#1b1300;--status-paid-bg:linear-gradient(135deg, #2ed573, #4ade80);--status-paid-border:#2ed5739e;--status-paid-text:#062312;--status-overdue-bg:linear-gradient(135deg, #ff6b6b, #ff8b8b);--status-overdue-border:#ff6b6ba3;--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:#0fd8e814;--surface-hover:#0fd8e824;--surface-highlight:#0fd8e838;--surface-active:#0fd8e84d;--card:#152540;--card-hover:#1b3152;--btn-text:#0a0f1c;--badge-text:#0a0f1c;--hover:#0fd8e81a;--blob-1-start:#0db8ce;--blob-1-end:#3491ff;--blob-2-start:#1f3352;--blob-2-end:#152540}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--accent) 45%, transparent) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--accent) 42%, transparent);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--accent) 60%, transparent)}::-webkit-scrollbar-track{background:0 0}html,body{overscroll-behavior-x:none;width:100%;overflow-x:hidden}body{min-height:100dvh;min-height:var(--visual-viewport-height);font-family:var(--font-body);background:var(--bg);color:var(--text);letter-spacing:.01em;margin:0;line-height:1.6}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body :focus-visible{outline-offset:2px;outline:3px solid #ffd24ab3}.background{pointer-events:none;position:fixed;inset:0;overflow:hidden}.background:before{content:"";opacity:.18;filter:blur(2px);background:repeating-conic-gradient(from 210deg at 20% 0,#ffd24a1f 0deg 8deg,#1cc8d81a 8deg 16deg,#0000 16deg 24deg);position:absolute;inset:-40%}.background:after{content:"";opacity:.5;background-image:radial-gradient(circle at 15% 20%,#ffd24a4d 0 2px,#0000 3px),radial-gradient(circle at 80% 18%,#7dd3fc59 0 2px,#0000 3px),radial-gradient(circle at 25% 70%,#ffd24a33 0 2px,#0000 3px),radial-gradient(circle at 70% 75%,#1cc8d840 0 2px,#0000 3px);position:absolute;inset:0}.gradient-one,.gradient-two{filter:blur(140px);opacity:.4;width:60vw;height:60vw;position:absolute}.gradient-one{background:radial-gradient(circle at 30% 30%, var(--blob-1-start), var(--blob-1-end));top:-15%;left:-10%}.gradient-two{background:radial-gradient(circle at 60% 60%, var(--blob-2-start), var(--blob-2-end));bottom:-10%;right:-15%}.grain{mix-blend-mode:soft-light;opacity:.18;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");position:absolute;inset:0}.app{max-width:1600px;margin:0 auto;padding:48px 20px 80px;transition:opacity .2s;position:relative}.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 (width>=1100px){.app{padding:32px 32px 80px}}@media (width>=1400px){.app{max-width:1800px;padding:32px 48px 80px}}.hero{gap:12px;margin-bottom:32px;animation:.7s cubic-bezier(.2,.9,.2,1) both riseIn;display:grid}.brand{grid-template-columns:auto 1fr;align-items:center;gap:16px;display:grid}.logo{background:var(--gradient-accent);letter-spacing:.5px;width:52px;height:52px;box-shadow:0 10px 24px var(--accent-glow), var(--shadow-soft);border-radius:16px;place-items:center;font-weight:700;display:grid}.logo-image{border:2px solid var(--outline);object-fit:cover;border-radius:16px;width:52px;height:52px;box-shadow:0 10px 22px #08142833}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:var(--accent);margin:0 0 6px;font-size:12px;font-weight:600}h1{font-family:var(--font-display);margin:0;font-size:clamp(28px,4vw,40px);line-height:1.1}.lede{max-width:760px;color:var(--text-secondary);margin:0}.cta-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.chip{border:1px solid var(--outline);color:var(--text-secondary);background:linear-gradient(135deg,#1cc8d82e,#39a0ff1f);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:500}.quick-help-btn{border-radius:999px;height:34px;min-height:34px;padding:6px 12px;font-size:13px}button,input,select,textarea{font:inherit}button,input[type=button],input[type=submit],input[type=reset],select,.tab-item,.quick-add-nav,.week-day,.menu-toggle,.icon-only{min-height:44px}button{cursor:pointer;text-align:center;color:var(--text);background:var(--surface);border:none;border:2px solid var(--border);border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;line-height:1.2;transition:background-color .2s,border-color .2s,box-shadow .2s,transform .15s;display:inline-flex;box-shadow:0 4px #0814281f}button svg{display:block}button:hover{background:var(--surface-hover);transform:translateY(-1px);box-shadow:0 6px 16px #08142833}button:active{background:var(--surface-active);border-color:var(--outline);transform:translateY(2px);box-shadow:0 2px 6px #08142833}button:disabled,button[disabled]{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}button.primary{background:var(--gradient-primary);border:2px solid color-mix(in srgb, var(--accent) 50%, transparent);color:var(--btn-text);box-shadow:0 10px 20px var(--accent-glow), 0 0 0 1px color-mix(in srgb, var(--accent) 20%, transparent);font-weight:700}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{border:2px solid var(--border);color:var(--muted);background:0 0}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{justify-content:center;align-items:center;gap:8px;display:inline-flex;position:relative}button.whats-new-btn .update-dot{background:var(--accent-2);width:8px;height:8px;box-shadow:0 0 0 2px var(--panel);opacity:0;border-radius:999px;transition:opacity .2s,transform .2s;transform:scale(.6)}button.whats-new-btn.has-update{background:var(--gradient-primary);color:var(--btn-text);box-shadow:0 10px 20px var(--accent-glow);border-color:#0000}button.whats-new-btn.has-update .update-dot{opacity:1;transform:scale(1)}.stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:28px;display:grid}@media (width>=1100px){.stats{grid-template-columns:repeat(3,1fr);gap:16px}}@media (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,transform .2s,border-color .25s;animation:.7s cubic-bezier(.2,.9,.2,1) both popIn}.stat-card:hover{border-top-color:var(--accent);box-shadow:var(--shadow-elevated);transform:translateY(-3px)}.stats .stat-card:first-child{animation-delay:50ms}.stats .stat-card:nth-child(2){animation-delay:.12s}.stats .stat-card:nth-child(3){animation-delay:.18s}.stat-card .label{color:var(--muted);letter-spacing:.01em;margin:0;font-size:13px;line-height:1.35}.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{color:var(--text-secondary);margin:0;line-height:1.4}.tracked-count{color:var(--accent);font-weight:600}.stats-detail{gap:12px;display:grid}.stats-row-compact{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat-card-mini{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;border-radius:14px;padding:16px}.stat-card-mini .label{color:var(--muted);margin:0;font-size:13px}.stat-card-mini .value{font-size:24px;font-weight:700;font-family:var(--font-display);margin:6px 0 4px}.stat-card-mini .hint{color:var(--text-secondary);margin:0;font-size:12px}.layout{grid-template-columns:1.3fr 1fr;gap:16px;margin-bottom:20px;display:grid}.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:.7s cubic-bezier(.2,.9,.2,1) both riseIn}.main-content .panel{background:var(--card-bg);border:var(--card-border);box-shadow:var(--card-shadow)}.panel-head{margin-bottom:var(--rhythm-base);border-bottom:1px solid color-mix(in srgb, var(--accent) 24%, var(--border));justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.panel-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.panel-actions button{white-space:nowrap;min-height:42px;padding:8px 12px;font-size:13px}.panel h2{font-family:var(--font-display);letter-spacing:.2px;margin:0;padding-left:16px;font-size:clamp(1.25rem,2vw,1.6rem);font-weight:700;line-height:1.18;position:relative}.panel h2:before{content:"";background:var(--gradient-warning);border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:0;transform:translateY(-50%);box-shadow:0 0 0 3px #ffd24a33}.grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;max-width:100%;margin:-4px;padding:4px;display:grid}#billForm{flex-direction:column;flex:1;gap:0;display:flex;overflow-y:auto}#billForm input,#billForm select,#billForm textarea{width:100%;min-width:0}#billForm .primary{letter-spacing:-.2px;border-radius:10px;padding:12px 24px;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .2s}#billForm .primary:hover{box-shadow:0 4px 12px var(--accent-glow);transform:translateY(-1px)}#billForm .primary:active{transform:translateY(0)}label{color:var(--muted);gap:6px;font-weight:600;display:grid}input,select,textarea{border:2px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;padding:12px;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}input::placeholder,textarea::placeholder{color:#8aa0bfb3}textarea{resize:vertical}.checkbox{grid-template-columns:auto 1fr;align-items:center}.checkbox input{width:18px;height:18px;accent-color:var(--accent)}.full{grid-column:auto}.actions{justify-content:flex-end;display:flex}.form-quick-add{border-bottom:1px solid var(--border);padding:1.25rem 20px}.form-quick-add select{background:var(--surface);border:1px solid var(--border);cursor:pointer;width:100%;color:var(--text);border-radius:10px;padding:10px 12px;font-size:13px;font-weight:500}.form-section{border:none;border-bottom:1px solid var(--border);background:0 0;grid-template-columns:1fr 1fr;gap:.875rem;margin:0;padding:1rem 20px;display:grid}.form-section:first-of-type{padding-top:1rem}.form-section:last-of-type{border-bottom:none;padding-bottom:0}.form-section legend{letter-spacing:1px;text-transform:uppercase;color:var(--muted);border-bottom:none;grid-column:1/-1;margin:0;padding:0 0 1.125rem;font-size:11px;font-weight:800;display:block}.form-section label{gap:6px;display:grid}.form-section label.checkbox{grid-template-columns:auto 1fr;align-items:center;gap:8px;display:grid}.form-section label:has(textarea){grid-column:1/-1}.form-section label span:first-child{color:var(--muted);font-size:13px;font-weight:600}.form-actions{border-top:1px solid var(--border);background:0 0;flex-shrink:0;justify-content:flex-end;gap:1rem;margin-top:auto;padding:1rem 20px;display:flex}.pill{background:var(--surface-active);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:4px 10px;font-size:13px;font-weight:600}.reminders{gap:10px;display:grid}.reminder{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));border-radius:14px;grid-template-columns:1fr auto;align-items:center;padding:14px;transition:transform .2s,box-shadow .25s,border-color .25s;animation:.65s cubic-bezier(.2,.9,.2,1) both popIn;display:grid}.reminder:hover{box-shadow:var(--shadow-soft);transform:translateY(-2px)}.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:first-child{animation-delay:40ms}.reminders .reminder:nth-child(2){animation-delay:80ms}.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 (width>=768px){.carousel-dots,.carousel-counter{display:none!important}}.reminder .meta{color:var(--muted)}.reminder-content{flex:1;min-width:0}.reminder-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.reminder-action-btn{cursor:pointer;border:none;border-radius:8px;min-height:42px;padding:10px 12px;font-size:13px;font-weight:600;transition:transform .2s,filter .2s,box-shadow .2s}.reminder-action-btn:hover{transform:translateY(-1px);box-shadow:0 8px 14px #0814282e}.reminder-action-btn:active{filter:brightness(.98);transform:translateY(1px)}.skeleton-card{border-radius:var(--radius-md);background:var(--surface);border:2px solid var(--border);box-shadow:none;pointer-events:none;position:relative;overflow:hidden}.skeleton-stack{gap:10px;width:100%;display:grid}.skeleton-actions{gap:8px;display:grid}.skeleton-line,.skeleton-pill{background:linear-gradient(90deg, var(--surface) 0%, var(--surface-highlight) 50%, var(--surface) 100%);background-size:200% 100%;animation:1.2s ease-in-out infinite shimmer}.skeleton-line{border-radius:999px;width:100%;height:12px}.skeleton-line--title{width:60%;height:16px}.skeleton-line--short{width:45%}.skeleton-pill{border-radius:999px;width:92px;height:26px}.skeleton-icon{border-radius:8px;width:24px;height:24px}.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{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border:1px solid #0000;border-radius:10px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.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:"";border-radius:50%;flex-shrink:0;width:6px;height:6px}.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);border-radius:999px;font-size:12px}.bill-icon{object-fit:cover;background:var(--surface);border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:18px;display:grid}@media (prefers-contrast:more){.badge{border:1px solid;font-weight:800;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{border-width:2px;font-weight:700}}.filters{flex-wrap:wrap;gap:8px;display:flex}.bills-toolbar{align-items:center;gap:8px;width:100%;display:flex}.bills-search-field{flex:1;min-width:0}.bills-search-field input{width:100%}#billSearchClear{white-space:nowrap}.bills-results-meta{min-height:20px;margin:0}.control-tower-primary{grid-template-columns:minmax(0,1.6fr) minmax(150px,.85fr) minmax(170px,.9fr) auto;align-items:center;gap:8px;width:100%;display:grid}.control-active-filters{flex-wrap:wrap;gap:8px;margin:2px 0 4px;display:flex}.active-filter-chip{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 82%, var(--accent) 18%);color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.active-filter-chip:hover{border-color:var(--accent);background:color-mix(in srgb, var(--surface) 70%, var(--accent) 30%)}.active-filter-chip span{opacity:.8;font-size:11px}#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{white-space:nowrap;width:auto;padding:8px 10px;font-size:12px}@media (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{padding:5px 8px;font-size:11px}#billsView .control-tower-filter,#billsView .panel-actions{align-items:center;width:auto;margin-top:0;display:inline-flex}#billsView .panel-head{grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;display:grid}#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]{border:1px solid var(--border);background:var(--surface-light);width:100%;color:var(--text-primary);border-radius:8px;padding:.65rem .75rem}#dateChangeModal .date-change-options input[type=radio]{accent-color:var(--modal-accent,var(--accent))}#dateChangeModal .date-change-message{color:var(--text-secondary);margin:0 0 1rem}#dateChangeModal .date-change-help{color:var(--muted);margin:0 0 .75rem;font-size:.825rem}#dateChangeModal .date-change-options{border:none;margin:0 0 1rem;padding:0}#dateChangeModal .date-change-options>label{border:1px solid color-mix(in srgb, var(--modal-accent,var(--accent)) 22%, var(--border));background:color-mix(in srgb, var(--modal-accent,var(--accent)) 8%, var(--panel));border-radius:10px;padding:.55rem .6rem}#dateChangeModal .date-change-option-row{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}#dateChangeModal .date-change-date-row{margin:0 0 .75rem 1.5rem}#dateChangeModal .date-change-field-label{color:var(--text-secondary);margin-bottom:.35rem;font-size:.875rem;display:block}#dateChangeModal .date-change-option-title{color:var(--text);font-weight:700;line-height:1.15;display:block}#dateChangeModal .date-change-option-subtitle{color:var(--text-secondary);margin-top:.2rem;font-size:.78rem;line-height:1.3;display:block}#dateChangeModal .date-change-actions{justify-content:flex-end;gap:.5rem}.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{color:var(--text-secondary);margin-bottom:1rem;font-size:.9rem}.modal-copy-lg{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9rem}.modal-copy-sm{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.875rem}.modal-list{color:var(--text-secondary);margin:0 0 1rem 1.1rem;font-size:.9rem}.modal-accent-strong{color:var(--accent)}.modal-heading{color:var(--accent);margin-bottom:.5rem}.field-selection-modal{max-width:480px}.field-selection-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.field-option{border:2px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1.25rem 1rem;transition:all .2s;display:flex}.field-option:hover{border-color:var(--accent);background:var(--bg-tertiary)}.field-option:active{transform:scale(.98)}.field-option-icon{border-radius:var(--radius-sm);background:var(--accent-bg-subtle);width:32px;height:32px;color:var(--accent);justify-content:center;align-items:center;font-size:1.25rem;display:flex}.field-option-label{text-align:center;color:var(--text);font-size:.9rem;font-weight:500}.field-option-sublabel{color:var(--text-secondary);text-align:center;font-size:.75rem}@media (width<=480px){.field-selection-grid{grid-template-columns:1fr}}@media (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{align-items:center;gap:6px;display:inline-flex}.filter-icon{background:var(--surface-highlight);width:18px;height:18px;color:var(--text-secondary);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.filter-icon svg{width:12px;height:12px}.filters button.active .filter-icon{color:var(--btn-text);background:#ffffff47}.filter-text{white-space:nowrap}.category-filter{border:2px solid var(--border);background:var(--surface);border-radius:12px;align-items:center;gap:8px;padding:6px 10px;display:inline-flex}.category-filter select{box-shadow:none;color:var(--text);background:0 0;border:none;padding:6px 2px}.category-filter select:focus{box-shadow:none;outline:none}.category-filter-icon{width:18px;height:18px;color:var(--text-secondary);justify-content:center;align-items:center;display:inline-flex}.category-filter-icon svg{width:14px;height:14px}.control-tower-filter{width:100%;display:inline-flex}.control-tower-filter select{width:100%}#billsView .category-filter:not(.control-tower-filter){display:none}.field-label-with-icon{align-items:center;gap:6px;display:inline-flex}.field-icon{background:var(--surface-highlight);width:18px;height:18px;color:var(--accent);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.field-icon svg{width:12px;height:12px}.filters button{color:var(--muted);border-radius:10px;padding:8px 12px}.filters button:active{background:var(--surface-active);color:var(--text);transform:translateY(1px)}.filters button.active{background:var(--gradient-primary);color:var(--btn-text);box-shadow:0 2px 10px var(--accent-glow);font-weight:700}.bill-list{gap:var(--rhythm-loose);display:grid}.bill-list-scroll-hint{color:var(--muted);margin:4px 0 10px;font-size:12px}.bill{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--glass-border));border-radius:var(--radius-md);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));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));animation:.65s cubic-bezier(.2,.9,.2,1) both popIn;animation-delay:calc(var(--stagger-index,0) * 42ms);grid-template-columns:1fr auto;padding:18px;transition:box-shadow .25s,transform .2s,border-color .25s;display:grid}.bill:hover{border-color:color-mix(in srgb, var(--accent) 44%, var(--border));box-shadow:var(--shadow-soft);transform:translateY(-3px)}.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{align-items:center;gap:var(--rhythm-base);flex-wrap:wrap;min-width:0;display:flex}.status-badges{flex-wrap:wrap;flex:100%;align-items:flex-start;gap:6px;min-width:0;max-width:100%;display:flex;overflow:visible}.deposit-badge{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-flex}.deposit-badge.funding{color:var(--accent-2);background:#fbbf241a;border-color:#fbbf2433}.deposit-badge.funding.full{color:var(--success);background:#34d39933;border-color:#34d39966}.deposit-badge.payment{color:var(--success);background:#34d3991a;border-color:#34d39933}.deposit-badge.payment.full{background:#34d39933;border-color:#34d39966}.deposit-badge.deposit-badge-updated{background:color-mix(in srgb, var(--surface) 86%, var(--panel));color:var(--text-secondary);border-color:color-mix(in srgb, var(--text-secondary) 18%, var(--border));text-transform:none;letter-spacing:0;font-weight:650}.deposit-badge.deposit-badge-updated.funding-updated{color:color-mix(in srgb, var(--accent-2) 72%, var(--text-secondary))}.deposit-badge.deposit-badge-updated.payment-updated{color:color-mix(in srgb, var(--success) 72%, var(--text-secondary))}.deposit-badge.deposit-badge-updated.bill-updated{color:color-mix(in srgb, var(--accent) 64%, var(--text-secondary))}.badge-outline.badge-outline-updated{border-color:color-mix(in srgb, var(--accent) 38%, var(--border));background:color-mix(in srgb, var(--surface) 82%, var(--accent) 18%);color:color-mix(in srgb, var(--accent) 72%, var(--text))}.bill .name{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:800;line-height:1.2}.bill .amount{color:var(--muted);margin:0;line-height:1.42}.bill-updated-meta{color:color-mix(in srgb, var(--accent) 68%, var(--text-secondary));margin:4px 0 0;font-size:11px;font-weight:700;line-height:1.35}.badges{margin-top:var(--rhythm-tight);flex-wrap:wrap;gap:8px;display:flex}.badge-outline{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);letter-spacing:.01em;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:650}.bill-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.empty{border:2px dashed var(--border);color:var(--text-secondary);text-align:center;background:var(--surface);border-radius:14px;padding:24px 18px}.bill.compact{gap:8px;padding:10px 14px}.bill.compact .bill-header{gap:8px}.bill-header .bill-icon{background:color-mix(in srgb, var(--surface) 80%, transparent);width:22px;height:22px;box-shadow:inset 0 0 0 1px var(--glass-border);border-radius:7px}.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{min-height:40px;padding:8px 12px;font-size:13px}.bill.super-compact{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:8px 12px;display:flex}.bill.super-compact>div:first-child{flex-wrap:wrap;flex:1;align-items:center;gap:8px 16px;min-width:0;display:flex}.bill.super-compact .bill-header{gap:8px;min-width:0}.bill.super-compact .name{white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-size:14px;overflow:hidden}.bill.super-compact .amount{white-space:nowrap;margin:0;font-size:13px}.bill.super-compact .badge{padding:2px 6px;font-size:11px}.bill.super-compact .badges{display:none}.bill.super-compact .bill-actions{flex-wrap:nowrap;flex-shrink:0;gap:4px;display:flex}.bill.super-compact .bill-actions button{min-width:44px;min-height:36px;padding:6px 10px;font-size:12px}@media (width<=480px){.bill.super-compact .name{max-width:100px}.bill.super-compact .bill-actions button{min-width:36px;padding:4px 6px}}@media (width<=767px){.bill-list .bill{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.bill-list .bill>div:first-child{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.bill-list .bill .bill-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bill-list .bill .name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-size:15px;font-weight:600;overflow:hidden}.bill-list .bill .status-badges{gap:4px;margin-left:auto}.bill-list .bill .deposit-badge{display:inline-flex}.bill-list .bill .amount{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:13px;overflow:hidden}.bill-list .bill .badge{flex-shrink:0;padding:2px 6px;font-size:10px}.bill-list .bill .badges,.bill-list .bill .bill-actions{display:none}.bill-list .bill .expand-indicator{width:24px;height:24px;min-height:24px;box-shadow:none;color:var(--muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:transform .3s;display:flex}.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{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.bill-list .bill.expanded .bill-actions{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;padding-top:12px;display:grid}.bill-list .bill.expanded .bill-actions button{white-space:normal;width:100%;min-height:44px;padding:10px 12px;font-size:12px;line-height:1.1}.bill-list .bill.expanded .expand-indicator{transform:rotate(180deg)}}@media (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);box-shadow:var(--shadow-flat);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));margin-top:16px;transition:border-color .22s,box-shadow .22s,transform .2s;animation:.7s cubic-bezier(.2,.9,.2,1) both riseIn}.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,.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);border-left:3px solid var(--accent);padding:24px}.home-card--hero .eyebrow{letter-spacing:.04em;font-size:13px}.home-card--hero .safe-to-spend-value{font-size:32px;font-weight:800;font-family:var(--font-display)}#homeView.stagger-enter .home-card{animation:.52s cubic-bezier(.2,.9,.2,1) both riseIn;animation-delay:calc(var(--stagger-index,0) * 58ms)}#billsView.stagger-enter .bill{animation:.54s cubic-bezier(.2,.9,.2,1) both popIn;animation-delay:calc(var(--stagger-index,0) * 38ms)}.safe-to-spend-card,.ghost-card{gap:10px;display:grid}.paycheck-plan-card{gap:12px;display:grid}.paycheck-plan-summary,.paycheck-plan-table-wrap,.paycheck-plan-cards{opacity:1;max-height:none;transition:opacity .22s,transform .22s;overflow:hidden;transform:translateY(0)}.paycheck-plan-card[data-collapsed=false] .paycheck-plan-summary,.paycheck-plan-card[data-collapsed=false] .paycheck-plan-table-wrap,.paycheck-plan-card[data-collapsed=false] .paycheck-plan-cards{max-height:none;overflow:visible}.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{opacity:0;pointer-events:none;max-height:0;transform:translateY(-6px)}.paycheck-plan-card[data-collapsed=true] #paycheckPlanAutoBtn,.paycheck-plan-card[data-collapsed=true] #paycheckPlanClearBtn{display:none}.paycheck-plan-toggle{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);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;line-height:1;transition:background .2s,border-color .2s,color .2s}.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{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.paycheck-plan-head h3{color:var(--text);margin:2px 0 0;font-size:18px}.paycheck-plan-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.paycheck-plan-view-switch{border:1px solid color-mix(in srgb, var(--accent) 20%, var(--border));background:color-mix(in srgb, var(--surface) 86%, transparent);border-radius:999px;align-items:center;gap:4px;padding:3px;display:inline-flex}.paycheck-plan-view-btn{color:var(--text-secondary);border:1px solid #0000;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;line-height:1}.paycheck-plan-view-btn.active{color:var(--text);background:color-mix(in srgb, var(--accent) 16%, var(--surface));border-color:color-mix(in srgb, var(--accent) 42%, var(--border))}.paycheck-plan-view-btn:focus-visible{outline:2px solid color-mix(in srgb, var(--accent-2) 68%, white);outline-offset:2px}.paycheck-plan-status{margin:0}.paycheck-plan-total{color:var(--text);margin:0;font-size:14px;font-weight:700}.paycheck-plan-summary{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;display:grid}.paycheck-plan-summary-item{border:1px solid color-mix(in srgb, var(--accent) 12%, var(--border));background:color-mix(in srgb, var(--surface) 86%, transparent);border-radius:12px;padding:10px 11px}.paycheck-plan-summary-item .eyebrow{margin:0}.paycheck-plan-date{color:var(--text);margin:2px 0 6px;font-size:14px;font-weight:700}.paycheck-plan-meta{color:var(--muted);margin:0;font-size:12px}.paycheck-plan-meta .negative{color:var(--danger);font-weight:700}.paycheck-plan-table-wrap{border:1px solid color-mix(in srgb, var(--accent) 12%, var(--border));background:color-mix(in srgb, var(--surface) 88%, transparent);border-radius:12px;overflow-x:auto}.paycheck-plan-table{border-collapse:collapse;width:100%;min-width:520px}.paycheck-plan-table th,.paycheck-plan-table td{text-align:left;border-bottom:1px solid var(--border);color:var(--text);padding:8px;font-size:13px}.paycheck-plan-table tbody tr:last-child td{border-bottom:0}.paycheck-plan-select{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, transparent);width:100%;min-width:110px;color:var(--text);border-radius:8px;padding:6px 8px}.paycheck-plan-amount-sub{color:var(--muted);margin-top:2px;font-size:11px}.safe-to-spend-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.safe-to-spend-header h3{color:var(--text);margin:2px 0 0;font-size:18px}.safe-to-spend-input-wrap{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 86%, transparent);color:var(--text-secondary);border-radius:10px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;display:inline-flex}.safe-to-spend-input-wrap input{width:112px;color:var(--text);background:0 0;border:0;outline:none;font-size:15px;font-weight:600}.safe-to-spend-value{font-size:34px;line-height:1.1;font-family:var(--font-display);color:var(--text);margin:0;font-weight:800}.safe-to-spend-hint{color:var(--muted);margin:0;font-size:13px}.safe-to-spend-contributors{gap:8px;margin-top:8px;display:grid}.safe-to-spend-contributors-title{color:var(--text-secondary);letter-spacing:.02em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.safe-to-spend-contributors-list{gap:6px;display:grid}.safe-to-spend-contributor{border:1px solid color-mix(in srgb, var(--danger) 28%, var(--border));background:color-mix(in srgb, var(--danger) 10%, var(--surface));width:100%;color:var(--text);text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.safe-to-spend-contributor:hover{border-color:color-mix(in srgb, var(--danger) 42%, var(--border));background:color-mix(in srgb, var(--danger) 15%, var(--surface))}.safe-to-spend-contributor-main{gap:2px;min-width:0;display:grid}.safe-to-spend-contributor-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.safe-to-spend-contributor-meta{color:var(--muted);font-size:11px}.safe-to-spend-contributor-amount{color:var(--danger);white-space:nowrap;font-size:12px;font-weight:700}.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{justify-content:space-between;align-items:center;gap:8px;display:flex}.ghost-head .eyebrow,.ghost-head .hint{margin:0}.ghost-list{gap:8px;display:grid}.ghost-item{border:1px solid color-mix(in srgb, var(--danger) 35%, var(--border));background:color-mix(in srgb, var(--danger) 9%, var(--surface));border-radius:10px;padding:9px 11px}.ghost-item-title{color:var(--text);margin:0;font-size:14px;font-weight:600}.ghost-item-meta{color:var(--muted);margin:4px 0 0;font-size:12px}@media (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{flex-direction:column;gap:12px;display:flex}.streak-header{align-items:center;gap:12px;display:flex}.streak-icon{--ring-progress:0;background:color-mix(in srgb, var(--surface) 76%, var(--panel));width:52px;height:52px;box-shadow:inset 0 0 0 1px var(--glass-border);border-radius:50%;justify-content:center;align-items:center;font-size:32px;line-height:1;display:inline-flex;position:relative}.streak-icon:before{content:"";background:conic-gradient(var(--success) calc(var(--ring-progress) * 1%), #ffffff1f 0);z-index:-1;border-radius:50%;position:absolute;inset:-3px}.streak-icon.cold{filter:grayscale();opacity:.5}.streak-info{flex:1}.streak-title{color:var(--text);margin:0;font-size:18px;font-weight:700}.streak-subtitle{color:var(--text-secondary);margin:0;font-size:13px}.streak-bar-container{background:var(--border);border-radius:4px;height:8px;overflow:hidden}.streak-bar{background:var(--gradient-warning);border-radius:4px;height:100%;transition:width .5s}.streak-bar.perfect{background:var(--gradient-success)}.streak-hint{color:var(--text-secondary);text-align:center;margin:0;font-size:12px}.week-preview-card{flex-direction:column;gap:12px;display:flex;overflow:visible}.week-preview-card .panel-head{margin-bottom:8px;padding-bottom:12px}.week-preview-hint{color:var(--muted);margin:0;font-size:12px}.week-preview-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:10px;padding:6px 10px;font-size:12px;font-weight:700}.week-preview-card .panel-actions{justify-content:flex-end;align-items:center;margin-left:auto}.week-days{grid-template-columns:repeat(7,minmax(44px,1fr));gap:4px;width:100%;min-width:0;padding-bottom:2px;display:grid;overflow-x:auto}.week-day{cursor:pointer;border:1px solid #0000;border-radius:10px;flex-direction:column;align-items:center;min-width:0;padding:8px 4px;transition:background .2s;display:flex}.week-day:hover{background:var(--hover);border-color:color-mix(in srgb, var(--accent) 26%, var(--border));box-shadow:var(--shadow-soft);transform:translateY(-1px)}.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{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:600}.day-num{color:var(--text);margin:2px 0;font-size:16px;font-weight:700}.day-dots{flex-wrap:wrap;justify-content:center;gap:2px;max-width:24px;min-height:8px;display:flex}.day-dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.day-dot.overdue{background:var(--danger)}.day-dot.due-soon{background:var(--accent-2)}.day-dot.paid{background:var(--success)}.day-count{background:var(--accent);color:var(--btn-text);border-radius:7px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;display:flex}.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{color:var(--danger);background:#f871714d}.week-day.today .day-count.due-soon{color:var(--accent-2);background:#f59e0b4d}.week-day.today .day-dot{background:var(--btn-text);opacity:.9}.week-day.today .day-dot.overdue{background:#f8717180}.day-amount{color:var(--text-secondary);white-space:nowrap;margin-top:2px;font-size:10px}.week-day.today .day-amount{color:var(--btn-text);opacity:.8}.week-preview-card.expanded{position:relative}.week-preview-card.expanded .panel-head{justify-content:space-between;align-items:center;display:flex}.week-preview-close{background:color-mix(in srgb, var(--surface) 82%, transparent);border:1px solid var(--border);width:34px;min-width:34px;height:34px;min-height:34px;box-shadow:none;color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:1;transition:all .2s;display:none;transform:none}.week-preview-close:hover{background:var(--border);color:var(--text);box-shadow:none;transform:none}.week-preview-close:active{box-shadow:none;transform:none}.week-preview-card.expanded .week-preview-close{display:flex}@media (width<=767px){.week-preview-card .week-preview-toggle{min-height:42px;padding:10px 14px;font-size:14px}.week-preview-card.expanded .week-preview-close{border-radius:12px;width:40px;min-width:40px;height:40px;min-height:40px;margin-top:4px;font-size:20px}}.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{grid-template-columns:auto 1fr;gap:16px;min-height:0;margin-top:12px;display:none}.week-preview-card.expanded .week-expanded-view{align-content:start;display:grid}.week-preview-card.expanded .week-days{display:none}.expanded-day{background:var(--accent);border-radius:12px;flex-direction:column;align-items:center;min-width:60px;padding:12px 16px;display:flex}.expanded-day .day-name{color:var(--btn-text);opacity:.8;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.expanded-day .day-num{color:var(--btn-text);font-size:28px;font-weight:700;line-height:1.2}.expanded-day .day-total{color:var(--btn-text);opacity:.9;margin-top:4px;font-size:12px;font-weight:600}.expanded-bills{flex-direction:column;gap:0;max-height:150px;padding-right:4px;display:flex;overflow-y:auto}.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{border:1px solid var(--border);background:var(--bg);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:6px 0;padding:10px 12px;transition:all .2s;display:flex}.expanded-bill-item.clickable{cursor:pointer;border:1px solid var(--accent);border-left:3px solid var(--accent)}.expanded-bill-item.clickable:hover{border-color:var(--accent);background-color:#6366f11a;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{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.expanded-bill-amount{color:var(--text);white-space:nowrap;font-size:14px;font-weight:600}.expanded-bill-status{padding:3px 8px;font-size:10px}.expanded-no-bills{color:var(--text-secondary);text-align:center;padding:20px 0;font-size:14px}.bill-detail-view{padding:16px;animation:.3s slideIn}@keyframes slideIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.bill-detail-header{margin-bottom:16px}.bill-detail-back{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:8px 0;font-size:14px;transition:opacity .2s;display:flex}.bill-detail-back:hover{opacity:.8}.bill-detail-main{flex-direction:column;gap:16px;display:flex}.bill-detail-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.bill-detail-title h3{color:var(--text);margin:0;font-size:20px;font-weight:600}.bill-detail-amount-row{flex-direction:column;gap:4px;display:flex}.bill-detail-amount{color:var(--text);font-size:28px;font-weight:700}.bill-detail-date{color:var(--text-secondary);font-size:14px}.bill-detail-badges{flex-wrap:wrap;gap:8px;display:flex}.bill-detail-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:14px}.bill-detail-section h4{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin:0 0 12px;font-size:12px;font-weight:600}.account-detail-item{background:var(--bg);border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px 12px;display:flex}.account-detail-item:last-child{margin-bottom:0}.account-detail-item.full{background:#10b9810d;border-color:#10b9814d}.account-detail-item.partial{background:#f59e0b0d;border-color:#f59e0b4d}.account-label{color:var(--text);flex:1;font-size:13px;font-weight:500}.account-amount{color:var(--text);margin:0 12px;font-size:14px;font-weight:600}.account-status{text-transform:uppercase;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:600}.account-status.full{color:var(--success);background:#10b98126}.account-status.partial{color:var(--accent-2);background:#f59e0b26}.bill-notes-text{color:var(--text);white-space:pre-wrap;margin:0;font-size:14px;line-height:1.6}.bill-detail-actions{flex-wrap:wrap;gap:8px;padding-top:8px;display:flex}.bill-detail-actions button{flex:140px}.bill-detail-list{gap:10px;display:grid}.bill-detail-item{border:1px solid var(--border);background:var(--bg);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.bill-detail-item .label{letter-spacing:.4px;text-transform:uppercase;color:var(--text-secondary);font-size:11px}.bill-detail-item .value{color:var(--text);text-align:right;font-size:13px;font-weight:600}@media (width<=900px){.layout,.bill{grid-template-columns:1fr}}@media (width>=1100px){.menu-toggle{display:none!important}}@media (width<=767px){html,body{overscroll-behavior-y:contain}.app{padding:16px;padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(100px + env(safe-area-inset-bottom) + var(--keyboard-inset));overscroll-behavior-y:contain;max-width:100%;overflow-x:hidden}.hero{gap:0;margin-bottom:16px;padding-top:16px}.hero .lede,.hero .cta-row,.hero .hero-headline{display:none}.brand{text-align:left;grid-template-columns:auto 1fr;justify-items:start;gap:12px}.brand>div{text-align:left}.brand .eyebrow{letter-spacing:1px;margin:0;font-size:14px;font-weight:600}h1{text-align:center;font-size:clamp(22px,6vw,28px)}.lede{text-align:center}.cta-row{justify-content:center}.hero .logo-image{border-radius:10px;width:40px;height:40px}.stats{grid-template-columns:1fr;gap:12px}.stat-card-wide{grid-column:span 1}#homeView>.stats{display:none}.stats-row-compact{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;display:grid}.stat-card-mini{border-radius:var(--radius-md);background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-soft);text-align:center;padding:16px}.stat-card-mini .label{color:var(--muted);margin:0;font-size:12px}.stat-card-mini .value{font-size:24px;font-weight:700;font-family:var(--font-display);margin:6px 0 4px}.stat-card-mini .hint{color:var(--text-secondary);margin:0;font-size:11px}.panel{border-radius:var(--radius-md);padding:16px}.panel-head{flex-direction:column;align-items:flex-start;gap:12px}.bills-toolbar{width:100%}.bills-search-field input{font-size:14px}.filters{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;justify-content:flex-start;width:100%;padding-bottom:4px;overflow-x:auto}.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{justify-content:center;width:100%}.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{grid-template-columns:1fr;gap:10px;padding:12px}.reminder-actions{justify-content:space-between;width:100%}.reminder-action-btn{text-align:center;flex:1}.reminders-carousel-wrapper{margin:0 -16px;padding:0 16px;position:relative}.reminders{scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;gap:12px;padding:4px 0 16px;display:flex;overflow-x:auto}.reminders::-webkit-scrollbar{display:none}.reminder{scroll-snap-align:center;scroll-snap-stop:always;background:var(--card);border:1px solid var(--border);border-radius:16px;flex-direction:column;flex:0 0 85%;gap:12px;max-width:85%;padding:16px;display:flex;box-shadow:0 4px 12px #00000014}.reminder:first-child{margin-left:0}.reminder:last-child{margin-right:0}.carousel-dots{justify-content:center;align-items:center;gap:8px;height:18px;padding:8px 0 4px;display:flex}.carousel-dot{background:var(--text-secondary);opacity:.35;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;width:6px;min-width:6px;height:6px;min-height:6px;max-height:6px;padding:0;transition:all .25s}.carousel-dot.active{background:var(--accent);opacity:1;border-radius:3px;width:18px;min-width:18px}.carousel-dot:hover:not(.active){opacity:.6}.carousel-counter{color:var(--muted);align-items:center;gap:4px;font-size:12px;font-weight:500;display:flex}.carousel-counter-current{color:var(--accent);font-weight:700}.reminders .empty{flex:0 0 100%;max-width:100%}.modal{width:calc(100% - 32px);max-width:calc(100% - 32px);margin:0 auto;padding:20px;left:0;right:0;overflow-x:hidden}.grid{grid-template-columns:1fr}.fab{bottom:calc(20px + env(safe-area-inset-bottom) + var(--keyboard-inset));right:16px}}.fab{bottom:calc(24px + env(safe-area-inset-bottom) + var(--keyboard-inset));background:var(--gradient-primary);width:56px;height:56px;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);z-index:90;border-radius:999px;place-items:center;transition:transform .2s cubic-bezier(.175,.885,.32,1.275),box-shadow .2s;display:grid;position:fixed;right:24px}.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{--modal-accent:var(--accent);--modal-accent-muted:color-mix(in srgb, var(--modal-accent) 32%, var(--border));--modal-accent-soft:color-mix(in srgb, var(--modal-accent) 14%, transparent);--modal-surface:var(--panel);--modal-surface-ornament:radial-gradient(circle at 100% -10%, var(--modal-accent-soft) 0%, transparent 46%), radial-gradient(circle at -8% 108%, color-mix(in srgb, var(--modal-accent) 10%, transparent) 0%, transparent 42%);--modal-border:color-mix(in srgb, var(--modal-accent) 14%, var(--border));--modal-shadow:0 1px 3px #00000014, 0 3px 8px #00000026, 0 8px 24px #0003, 0 16px 40px #0000002e;--modal-radius:20px;--modal-head-bg:color-mix(in srgb, var(--modal-surface) 92%, transparent);--modal-head-border:color-mix(in srgb, var(--modal-accent) 18%, var(--border));--modal-title-color:var(--text);--modal-title-font:var(--font-display);--modal-title-weight:720;--modal-title-spacing:-.02em;--modal-handle:color-mix(in srgb, var(--modal-accent) 24%, var(--border));--modal-glow:color-mix(in srgb, var(--modal-accent) 24%, transparent);--modal-head-mark-opacity:.18;--modal-head-mark-width:54px;--modal-head-mark-height:6px;--modal-head-mark-offset:78px;--modal-head-mark:linear-gradient(90deg, var(--modal-accent), transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1200;padding:0 0 calc(env(safe-area-inset-bottom) + var(--keyboard-inset));opacity:1;visibility:visible;background:#0000008c;justify-content:center;align-items:flex-end;transition:opacity .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s;display:flex;position:fixed;inset:0;overflow:hidden}.modal-overlay.hidden{opacity:0;pointer-events:none;visibility:hidden;-webkit-backdrop-filter:blur();backdrop-filter:blur();transition:opacity .3s,visibility 0s linear .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s}html.overlay-scroll-locked,body.overlay-scroll-locked,:is(html:has(#authModal:not(.hidden)),html:has(#modalOverlay:not(.hidden)),html:has(#addAnotherModal:not(.hidden)),html:has(#menuOverlay:not(.hidden)),html:has(#dateChangeModal:not(.hidden)),html:has(#billDetailModal:not(.hidden)),html:has(#whatsNewModal:not(.hidden)),html:has(#accountModal:not(.hidden)),html:has(#aboutModal:not(.hidden)),html:has(#helpModal:not(.hidden)),body:has(#authModal:not(.hidden)),body:has(#modalOverlay:not(.hidden)),body:has(#addAnotherModal:not(.hidden)),body:has(#menuOverlay:not(.hidden)),body:has(#dateChangeModal:not(.hidden)),body:has(#billDetailModal:not(.hidden)),body:has(#whatsNewModal:not(.hidden)),body:has(#accountModal:not(.hidden)),body:has(#aboutModal:not(.hidden)),body:has(#helpModal:not(.hidden))){overscroll-behavior:none;overflow:hidden}body.overlay-scroll-locked{width:100%;position:fixed;left:0;right:0}@media (prefers-color-scheme:light){.modal-overlay{background:#0a172a6b}}body.light .modal-overlay{background:#0a172a6b}#modalOverlay{--modal-accent:var(--accent);--modal-radius:26px;--modal-title-font:var(--font-display);--modal-title-weight:780;--modal-title-spacing:-.024em;--modal-head-mark-opacity:.22;--modal-head-mark-width:66px}#dateChangeModal{--modal-accent:var(--warning);--modal-head-bg:color-mix(in srgb, var(--warning) 12%, var(--panel));--modal-accent-soft:color-mix(in srgb, var(--warning) 16%, transparent);--modal-title-font:var(--font-body);--modal-title-weight:760;--modal-title-spacing:-.012em;--modal-head-mark-opacity:.2;--modal-head-mark-width:48px}#addAnotherModal{--modal-accent:var(--success);--modal-head-bg:color-mix(in srgb, var(--success) 10%, var(--panel));--modal-accent-soft:color-mix(in srgb, var(--success) 14%, transparent);--modal-title-font:var(--font-display);--modal-title-weight:770;--modal-head-mark-opacity:.24;--modal-head-mark-width:58px}#billDetailModal{--modal-accent:color-mix(in srgb, var(--accent-2) 62%, var(--accent));--modal-head-bg:color-mix(in srgb, var(--accent-2) 9%, var(--panel));--modal-title-font:var(--font-display);--modal-title-weight:750;--modal-head-mark-opacity:.22;--modal-head-mark-width:62px}#accountModal{--modal-accent:var(--success);--modal-head-bg:color-mix(in srgb, var(--success) 9%, var(--panel));--modal-title-font:var(--font-body);--modal-title-weight:740;--modal-title-spacing:-.01em;--modal-head-mark-opacity:.19;--modal-head-mark-width:52px}#whatsNewModal{--modal-accent:var(--accent-2);--modal-head-bg:color-mix(in srgb, var(--accent-2) 11%, var(--panel));--modal-accent-soft:color-mix(in srgb, var(--accent-2) 15%, transparent);--modal-title-font:var(--font-display);--modal-title-weight:790;--modal-title-spacing:.005em;--modal-head-mark-opacity:.3;--modal-head-mark-width:72px;--modal-head-mark:repeating-linear-gradient(90deg, color-mix(in srgb, var(--modal-accent) 95%, white) 0 8px, transparent 8px 14px)}#aboutModal{--modal-accent:color-mix(in srgb, var(--accent) 70%, var(--accent-2));--modal-head-bg:color-mix(in srgb, var(--accent) 8%, var(--panel));--modal-title-font:var(--font-display);--modal-title-weight:730;--modal-head-mark-opacity:.2;--modal-head-mark-width:56px}#helpModal{--modal-accent:color-mix(in srgb, var(--accent) 64%, var(--accent-2));--modal-head-bg:color-mix(in srgb, var(--accent) 10%, var(--panel));--modal-title-font:var(--font-display);--modal-title-weight:760;--modal-title-spacing:-.015em;--modal-head-mark-opacity:.25;--modal-head-mark-width:64px}#helpModal .modal{max-width:920px}#helpModal .modal-head h2{font-size:clamp(1.25rem,2.6vw,1.7rem)}.help-guide-body{gap:1rem;padding:1.15rem 1.15rem 1.35rem;display:grid}.help-guide-intro{border:1px solid color-mix(in srgb, var(--modal-accent) 26%, var(--border));background:color-mix(in srgb, var(--modal-accent) 12%, var(--surface));color:var(--text);border-radius:12px;margin:0;padding:.7rem .85rem;font-size:.92rem;line-height:1.45}.help-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.help-card{border:1px solid color-mix(in srgb, var(--modal-accent) 22%, var(--border));background:linear-gradient(160deg, color-mix(in srgb, var(--modal-accent) 8%, var(--surface)) 0%, color-mix(in srgb, var(--surface) 92%, transparent) 100%);box-shadow:0 6px 16px color-mix(in srgb, var(--modal-accent) 9%, transparent);border-radius:14px;padding:.82rem .85rem .9rem}.help-kicker{letter-spacing:.09em;text-transform:uppercase;color:color-mix(in srgb, var(--modal-accent) 78%, var(--text));margin:0 0 .3rem;font-size:.7rem;font-weight:750}.help-card .modal-heading{color:var(--text);margin:0 0 .45rem;font-size:1rem}.help-list{color:var(--text-secondary);margin:0;padding-left:1rem;font-size:.88rem;line-height:1.5}.help-list li+li{margin-top:.35rem}.help-guide-tip{border-left:4px solid var(--modal-accent);background:color-mix(in srgb, var(--modal-accent) 10%, var(--surface));color:var(--text-secondary);border-radius:12px;margin:0;padding:.72rem .8rem;font-size:.88rem}.help-guide-actions{margin-top:.15rem}#helpModal .modal-body.modal-scroll-md{max-height:none;overflow:visible}#helpModal:not(.hidden) .help-card{animation:.28s both helpCardIn}#helpModal:not(.hidden) .help-card:nth-child(2){animation-delay:50ms}#helpModal:not(.hidden) .help-card:nth-child(3){animation-delay:.1s}#helpModal:not(.hidden) .help-card:nth-child(4){animation-delay:.15s}@keyframes helpCardIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=720px){.help-guide-grid{grid-template-columns:1fr}.help-guide-body{padding:1rem .85rem 1.15rem}.help-card{padding:.78rem .78rem .86rem}}@media (width>=1100px){#helpModal .modal{max-width:1040px}#helpModal .help-guide-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}#helpModal .help-card{padding:.72rem .72rem .8rem}#helpModal .help-card .modal-heading{font-size:.94rem}#helpModal .help-list{font-size:.82rem;line-height:1.4}#helpModal .help-list li+li{margin-top:.28rem}}.modal{background:var(--modal-surface-ornament), var(--modal-surface);border:1px solid var(--modal-border);border-radius:var(--modal-radius) var(--modal-radius) 0 0;width:100%;max-width:520px;box-shadow:var(--modal-shadow), inset 0 0 0 1px color-mix(in srgb, var(--modal-accent) 16%, transparent);max-height:calc(var(--visual-viewport-height) - 16px);overscroll-behavior:contain;flex-direction:column;margin:0;padding:0;transition:transform .38s cubic-bezier(.32,.72,0,1);display:flex;overflow:hidden auto}.modal:before{content:"";background:var(--modal-handle);border-radius:2px;flex-shrink:0;width:40px;height:4px;margin:10px auto 6px;display:block}.modal-overlay.hidden .modal{transform:translateY(100%)}@media (width<=1099px){#billDetailModal{padding:12px 12px calc(12px + env(safe-area-inset-bottom) + var(--keyboard-inset))}#billDetailModal .modal.bill-detail-modal{border-radius:16px;width:100%;max-width:680px;max-height:min(88vh,760px);margin:0}}@media (width>=1100px){.modal-overlay{padding:0 0 16px}.modal{max-width:800px;box-shadow:0 2px 8px #0000001a, 0 8px 24px var(--modal-glow), 0 16px 48px #0003, 0 24px 64px #0000002e;border-radius:24px 24px 0 0;padding:0}.modal-head{padding:20px 28px 16px}.modal-head h2{font-size:24px}.form-section{grid-template-columns:1fr 1fr;gap:.875rem;margin-bottom:0;padding:1rem 28px}.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{padding:10px 12px;font-size:14px}.form-actions{padding:1rem 28px}.account-tracking-section{margin-top:.5rem;padding:1rem}.account-select-group{margin-bottom:1rem}.account-select-group:last-child{margin-bottom:0}}.modal-head{border-bottom:1px solid var(--modal-head-border);background:var(--modal-head-bg);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 28px 16px;display:flex;position:relative}.modal-head:after{content:"";background:linear-gradient(90deg, var(--modal-accent), transparent 72%);opacity:.42;pointer-events:none;height:2px;position:absolute;bottom:-1px;left:28px;right:28px}.modal-head:before{content:"";top:11px;right:var(--modal-head-mark-offset);width:var(--modal-head-mark-width);height:var(--modal-head-mark-height);background:var(--modal-head-mark);opacity:var(--modal-head-mark-opacity);pointer-events:none;border-radius:999px;position:absolute}.modal-head h2{font-size:22px;font-family:var(--modal-title-font);font-weight:var(--modal-title-weight);letter-spacing:var(--modal-title-spacing);color:var(--modal-title-color);margin:0}@media (width<=767px){.modal-head:before{width:calc(var(--modal-head-mark-width) * .72);right:64px}}.modal-overlay .icon-only{border-color:color-mix(in srgb, var(--modal-accent) 28%, var(--border))}.modal-overlay .icon-only:hover{border-color:color-mix(in srgb, var(--modal-accent) 64%, var(--border));color:var(--modal-accent)}.modal-overlay .modal-heading,.modal-overlay .modal-accent-strong{color:var(--modal-accent)}.quick-add,.quick-add-row{display:none}.quick-add-nav{border:1px solid var(--border);background:var(--surface);width:36px;min-width:36px;height:36px;min-height:36px;color:var(--text-secondary);cursor:pointer;border-radius:12px;place-items:center;transition:background .2s,border-color .2s,color .2s;display:grid}.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{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;flex-wrap:nowrap;gap:10px;max-width:100%;min-height:40px;padding:2px 2px 6px;scroll-padding:8px;display:flex;overflow:auto hidden}.quick-add-chip{border:1px solid var(--border);background:var(--card);color:var(--text);letter-spacing:.15px;cursor:pointer;white-space:nowrap;scroll-snap-align:start;border-radius:999px;flex-shrink:0;padding:8px 14px;font-size:12px;font-weight:700;transition:transform .15s,border-color .2s,background .2s,color .2s}.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);background:var(--gradient-primary);box-shadow:0 6px 14px var(--accent-glow);border-color:#0000}.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:0 0}.quick-add-select{border:1px solid var(--border);background:var(--card);width:100%;min-height:40px;color:var(--text);border-radius:12px;padding:8px 12px;font-size:13px;font-weight:600}.quick-add-dropdown summary{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;list-style:none;display:flex}.quick-add-dropdown summary::-webkit-details-marker{display:none}.quick-add-dropdown .dropdown-hint{color:var(--text-secondary);font-size:.75rem}.quick-add-dropdown .dropdown-chevron{color:var(--text-secondary);align-items:center;transition:transform .2s;display:inline-flex}.quick-add-dropdown .dropdown-chevron svg{width:16px;height:16px}.quick-add-dropdown[open] .dropdown-chevron{transform:rotate(180deg)}.quick-add-manager-form{gap:8px;margin-bottom:10px;display:grid}.quick-add-manager-form input,.quick-add-manager-form select{border:1px solid var(--border);background:var(--surface-light);color:var(--text-primary);border-radius:8px;padding:8px 10px;font-size:.875rem}.quick-add-manager-list{gap:8px;margin-bottom:8px;display:grid}.quick-add-manager-item{border:1px solid var(--border);background:var(--surface);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.quick-add-manager-item.is-dragging{opacity:.6;border-style:dashed}.quick-add-drag{cursor:grab;color:var(--text-secondary);-webkit-user-select:none;user-select:none;font-size:16px}.quick-add-manager-item.is-default .quick-add-drag{color:var(--muted)}.quick-add-manager-meta{flex-direction:column;gap:2px;display:flex}.quick-add-manager-name{font-size:.9rem;font-weight:600}.quick-add-manager-sub{color:var(--text-secondary);font-size:.75rem}.quick-add-manager-actions{flex-shrink:0;gap:6px;display:flex}.quick-add-manager-edit{flex:1;gap:6px;display:grid}.quick-add-manager-edit input,.quick-add-manager-edit select{border:1px solid var(--border);background:var(--surface-light);color:var(--text-primary);border-radius:8px;padding:6px 8px;font-size:.8rem}.icon-only{place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;font-size:18px;display:grid}.toast{bottom:calc(90px + env(safe-area-inset-bottom) + var(--keyboard-inset));background:var(--panel);color:var(--text);border:1px solid var(--border);z-index:110;opacity:1;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:99px;padding:12px 24px;font-weight:600;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),opacity .3s;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 18px #0003}.toast.hidden{opacity:0;pointer-events:none;transform:translate(-50%,20px)}.tour-overlay{z-index:120;pointer-events:all;background:#0a0f1c99;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.tour-overlay.hidden{display:none}.tour-tooltip{background:var(--panel);border:1px solid var(--border);border-radius:12px;max-width:280px;padding:12px 14px;position:absolute;box-shadow:0 12px 24px #00000040}.tour-title{margin-bottom:6px;font-weight:700}.tour-body{color:var(--text-secondary);margin-bottom:10px;font-size:.85rem}.tour-actions{justify-content:flex-end;gap:8px;display:flex}.hero{position:relative}.menu-toggle{z-index:50;background:var(--panel);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:12px;width:44px;height:44px;position:absolute;top:0;left:0}.menu-toggle svg{stroke-width:2.5px;color:var(--accent)}.menu-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;z-index:200;opacity:1;visibility:visible;background:#00000059;transition:opacity .3s;position:fixed;inset:0}.menu-overlay.hidden{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .3s,visibility 0s .3s}.menu-drawer{background:var(--panel);border-right:1px solid var(--border);-webkit-backdrop-filter:none;backdrop-filter:none;flex-direction:column;width:300px;max-width:85vw;transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:0;bottom:0;left:0;transform:translate(0);box-shadow:6px 0 18px #0003}.menu-overlay.hidden .menu-drawer{transform:translate(-100%)}.menu-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px;display:flex}.menu-head h2{font-size:20px;font-family:var(--font-display);margin:0}.menu-content{flex-direction:column;flex:1;gap:32px;padding:24px 20px;display:flex;overflow-y:auto}.menu-group{gap:12px;animation:.6s both popIn;display:grid}.menu-group.hidden{display:none}.full-width{justify-content:center;width:100%;padding:14px}.menu-footer{text-align:center;margin-top:auto;padding-top:20px}.menu-row{border:1px solid color-mix(in srgb, var(--accent) 12%, var(--border));background:color-mix(in srgb, var(--surface) 84%, transparent);border-radius:12px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.menu-select{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);cursor:pointer;border-radius:8px;padding:6px 10px;font-family:inherit;font-size:.875rem;transition:all .2s}.menu-select:hover{border-color:var(--accent)}.menu-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.toggle-switch{width:44px;height:24px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:var(--surface-highlight);border:1px solid var(--border);border-radius:34px;transition:all .4s;position:absolute;inset:0}.slider:before{content:"";background-color:var(--text-secondary);border-radius:50%;width:18px;height:18px;transition:all .4s;position:absolute;bottom:2px;left:3px}input:checked+.slider{background-color:var(--accent)}input:checked+.slider:before{background-color:var(--btn-text);transform:translate(18px)}button.danger{color:var(--danger);border-color:#f565654d}button.danger:hover{background:#f565651a}.category-filter{margin-top:8px}.category-filter select{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 12px;font-size:14px}.badge-category{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:var(--btn-text);border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.category-icon{background:#ffffff40;border-radius:4px;justify-content:center;align-items:center;width:16px;height:16px;padding:2px;display:inline-flex}.category-icon svg{width:12px;height:12px}.category-label-with-icon{align-items:center;gap:6px;display:inline-flex}.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);letter-spacing:.03em;font-size:9px;font-weight:700;line-height:1}.stat-card-wide{grid-column:span 1}@media (width>=700px){.stat-card-wide{grid-column:span 2}}.category-breakdown{flex-direction:column;gap:8px;margin-top:12px;display:flex}.category-row{align-items:center;gap:10px;display:flex}.category-label{color:var(--text-secondary);flex-shrink:0;min-width:100px;font-size:13px}.category-bar-container{background:var(--surface);border-radius:4px;flex:1;height:8px;overflow:hidden}.category-bar{background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:4px;height:100%;transition:width .3s}.category-amount{color:var(--text);text-align:right;min-width:70px;font-size:13px;font-weight:600}.pull-to-refresh{background:linear-gradient(180deg, var(--bg) 0%, transparent 100%);z-index:150;opacity:0;pointer-events:none;justify-content:center;align-items:center;height:80px;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s;display:flex;position:fixed;top:0;left:0;right:0;transform:translateY(-100%)}.pull-to-refresh.visible{opacity:1;transform:translateY(0)}.pull-to-refresh.refreshing .pull-to-refresh-icon{animation:1s linear infinite spin}.pull-to-refresh.success{animation:.3s ease-out successPulse}.pull-to-refresh-content{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:999px;align-items:center;gap:12px;padding:14px 24px;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s;display:flex}.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%, #00ff880d 100%)}.pull-to-refresh-icon{color:var(--accent);filter:drop-shadow(0 0 8px #00ff884d);transition:transform .3s cubic-bezier(.4,0,.2,1),color .2s}.pull-to-refresh.ready .pull-to-refresh-icon{color:#0f8;transform:rotate(180deg)}.pull-to-refresh-text{color:var(--text);font-size:14px;font-weight:600;transition:color .2s}.pull-to-refresh.ready .pull-to-refresh-text{color:#0f8}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes successPulse{0%{transform:translateY(0)scale(1)}50%{transform:translateY(0)scale(1.1)}to{transform:translateY(0)scale(1)}}.update-banner{background:var(--gradient-primary);color:var(--btn-text);z-index:200;justify-content:center;align-items:center;gap:12px;padding:12px 20px;font-size:14px;font-weight:600;transition:transform .3s,opacity .3s;display:flex;position:fixed;top:0;left:0;right:0;transform:translateY(0)}.update-banner-actions{align-items:center;gap:8px;display:inline-flex}.update-banner.hidden{opacity:0;pointer-events:none;transform:translateY(-100%)}.update-banner button{color:var(--btn-text);background:#fff3;border:1px solid #ffffff4d;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:700}.update-banner button:hover{background:#ffffff4d}.update-banner .ghost{color:var(--btn-text)}.desktop-layout{display:block}.desktop-sidebar{display:none}.main-content{display:contents}@media (width>=1100px){body{height:100vh;overflow:hidden}.app{height:100vh;padding-bottom:0;overflow:hidden}.desktop-layout{--desktop-rail-width:320px;grid-template-columns:var(--desktop-rail-width) minmax(0, 1fr);align-items:stretch;gap:24px;height:100%;min-height:0;display:grid}.desktop-sidebar{background:var(--card-bg);-webkit-backdrop-filter:none;backdrop-filter:none;border:var(--card-border);border-radius:var(--card-radius);height:100%;min-height:0;max-height:100%;box-shadow:var(--card-shadow);flex-direction:column;display:flex;overflow:hidden}.main-content{scrollbar-gutter:stable;height:100%;min-height:0;padding-bottom:0;padding-right:0;display:block;overflow:hidden auto}.main-content .hero .brand .logo-image{display:none}.main-content .hero .brand{grid-template-columns:1fr}}@media (width>=1280px){.desktop-layout{--desktop-rail-width:332px;grid-template-columns:var(--desktop-rail-width) minmax(0, 1fr);gap:32px}.main-content{--rail-width:320px;gap:20px}}@media (width>=1600px){.desktop-layout{--desktop-rail-width:344px;grid-template-columns:var(--desktop-rail-width) minmax(0, 1fr);gap:40px}.main-content{--rail-width:360px;gap:24px}}.sidebar-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:20px;display:flex}.sidebar-logo{border-radius:10px;width:40px;height:40px}.sidebar-header .eyebrow{margin:0;font-size:14px}.sidebar-header .hint{margin:0;font-size:12px}.sidebar-content{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;gap:24px;padding:20px;display:flex;overflow-y:auto}.sidebar-content::-webkit-scrollbar{display:none}.sidebar-footer{border-top:1px solid var(--border);text-align:center;padding:16px 20px}.sidebar-footer .hint{margin:0}.settings-group{border:1px solid color-mix(in srgb, var(--accent) 10%, var(--border));background:color-mix(in srgb, var(--surface) 60%, transparent);border-radius:14px;flex-direction:column;gap:10px;padding:10px;display:flex}.settings-group.hidden{display:none}.settings-group.tier-primary{border-left:3px solid var(--accent);margin-left:-3px;padding-left:12px}.settings-group.tier-tertiary{opacity:.75}.settings-group.tier-tertiary .eyebrow{text-transform:uppercase;letter-spacing:.05em;font-size:10px}.settings-group .eyebrow{margin-bottom:4px;font-size:11px}.settings-row{background:color-mix(in srgb, var(--surface) 86%, transparent);border:1px solid color-mix(in srgb, var(--accent) 10%, var(--border));border-radius:10px;justify-content:space-between;align-items:center;padding:10px 12px;transition:background .2s,border-color .2s;display:flex}.settings-row:hover{background:var(--surface-hover);border-color:color-mix(in srgb, var(--accent) 36%, var(--border))}.settings-row span{color:var(--text-secondary);font-size:13px}.settings-select{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);cursor:pointer;border-radius:8px;max-width:110px;padding:5px 8px;font-family:inherit;font-size:12px;transition:all .2s}.settings-select:hover{border-color:var(--accent)}.settings-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.settings-group .ghost.full-width{justify-content:center;padding:10px 12px;font-size:13px}.notification-sub-setting{border-left:2px solid var(--border);opacity:.6;pointer-events:none;margin-left:12px;padding-left:12px;transition:opacity .3s}.notification-sub-setting.enabled{opacity:1;pointer-events:auto}.notification-hint{background:var(--surface);border-radius:var(--radius-sm);text-align:center;margin-top:8px;padding:8px 12px;font-size:12px}.notification-hint.warning{color:var(--accent-2);background:#fbbf241a}.notification-hint.success{color:var(--success);background:#34d3991a}@keyframes highlight-pulse{0%{box-shadow:0 0 0 0 var(--accent)}50%{box-shadow:0 0 0 8px #0000}to{box-shadow:0 0 #0000}}.highlight-pulse{border-color:var(--accent);animation:1s ease-out 2 highlight-pulse}.auth-modal{width:100%;max-width:400px}.auth-tabs{background:var(--surface);border-radius:var(--radius-sm);gap:8px;margin-bottom:20px;padding:4px;display:flex}.auth-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:500;transition:all .2s}.auth-tab:hover{color:var(--text)}.auth-tab.active{background:var(--accent);color:var(--btn-text)}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-form label{flex-direction:column;gap:6px;display:flex}.auth-form label span{color:var(--text-secondary);font-size:13px}.auth-form input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);padding:12px 14px;font-family:inherit;font-size:15px;transition:all .2s}.auth-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.auth-form input::placeholder{color:var(--muted)}.auth-error{border-radius:var(--radius-sm);border:1px solid var(--danger);color:var(--danger);text-align:center;background:#f871711a;padding:10px 14px;font-size:13px}.auth-switch{color:var(--text-secondary);justify-content:center;align-items:center;gap:4px;margin:0;font-size:13px;display:flex}.auth-switch .ghost{color:var(--accent);padding:4px 8px;font-size:13px}.auth-divider{align-items:center;gap:12px;margin:8px 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-divider span{color:var(--muted);white-space:nowrap;font-size:12px}.user-profile{background:var(--surface);border-radius:var(--radius-sm);align-items:center;gap:12px;margin-bottom:8px;padding:12px;display:flex}.user-avatar{background:var(--accent);width:40px;height:40px;color:var(--btn-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:flex}.user-info{flex:1;min-width:0;overflow:hidden}.user-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14px;font-weight:500;overflow:hidden}.user-email{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:12px;overflow:hidden}.sync-status{background:var(--surface);border-radius:var(--radius-sm);color:var(--text-secondary);align-items:center;gap:6px;padding:8px 12px;font-size:12px;display:flex}.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:1s linear infinite spin}#recaptchaContainer{justify-content:center;margin:8px 0;display:flex}.auth-form button[disabled]{opacity:.6;cursor:not-allowed}.login-prompt{background:linear-gradient(135deg, var(--accent-glow), var(--surface));border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.login-prompt-text{color:var(--text-secondary);font-size:13px}.login-prompt-text strong{color:var(--accent)}.login-prompt .primary{white-space:nowrap;padding:8px 16px;font-size:13px}.account-tracking-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box;grid-column:1/-1;max-width:100%;margin-top:.5rem;padding:1rem;overflow:hidden}.account-checkbox-fields{flex-direction:column;gap:.75rem;max-width:100%;display:flex}.account-checkbox-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:100%;display:flex}.account-checkbox-row .checkbox-label{cursor:pointer;flex:1;align-items:center;gap:.5rem;min-width:140px;display:flex}.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{color:var(--text);font-size:.875rem}.account-amount-input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);flex:none;align-items:center;min-width:120px;display:flex;overflow:hidden}.account-amount-input .currency-prefix{color:var(--muted);background:var(--surface);border-right:1px solid var(--border);padding:.5rem .5rem .5rem .75rem;font-size:.875rem}.account-amount-input input[type=number]{width:80px;color:var(--text);background:0 0;border:none;padding:.5rem .75rem .5rem .5rem;font-size:.875rem}.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{align-items:center;gap:.5rem;display:flex}.account-input-group select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);cursor:pointer;padding:.5rem;font-size:.8125rem}.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{color:var(--text);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:flex}.account-field-label .field-icon{width:20px;height:20px;color:var(--accent);justify-content:center;align-items:center;display:flex}.account-field-label .hint{color:var(--muted);font-size:.75rem;font-weight:400}.account-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);width:100%;color:var(--text);cursor:pointer;padding:.625rem .75rem;font-size:.875rem;transition:border-color .15s}.account-select:focus{border-color:var(--primary);outline:none}.account-amount-row{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:.75rem;margin-top:.75rem;padding:.75rem;display:flex}.account-amount-row .account-amount-input{flex:1;min-width:100px}.deposited-checkbox{cursor:pointer;white-space:nowrap;align-items:center;gap:.5rem;display:flex}.deposited-checkbox input[type=checkbox]{width:1.125rem;height:1.125rem;accent-color:var(--primary);cursor:pointer}.deposited-checkbox span{color:var(--text);font-size:.8125rem}.account-amount-row.visible{animation:.2s fadeIn}@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{color:var(--accent);font-size:.5rem;transition:transform .2s}.toggle-btn.expanded .toggle-icon{transform:rotate(90deg)}.toggle-text{text-align:left;flex:1;font-weight:500}.toggle-count{color:var(--muted);font-size:.75rem;font-weight:400}.advanced-options{padding-top:.5rem;animation:.2s fadeIn}.category-field{flex-direction:column;gap:.25rem;display:flex}.category-field .field-label-with-icon{margin-bottom:0}.category-with-suggestion{align-items:center;gap:.5rem;display:flex}.category-with-suggestion select{flex:1}.category-suggestion{color:var(--accent);white-space:nowrap;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.375rem .5rem;font-size:.75rem;transition:all .15s;display:none}.category-suggestion.visible{animation:.2s fadeIn;display:inline-block}.category-suggestion:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.date-field{flex-direction:column;gap:.25rem;display:flex}.date-suggestion{color:var(--muted);align-items:center;gap:.375rem;margin-top:.125rem;font-size:.75rem;display:flex}.date-suggestion-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;font-weight:500}.date-suggestion-btn:hover{text-decoration:underline}@media (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{border-bottom:1px solid var(--border);flex-direction:column;gap:.75rem;padding-bottom:1rem;display:flex}.add-account-form label span{font-size:.8125rem}.accounts-list{flex-direction:column;gap:.5rem;display:flex}.account-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:.625rem .75rem;display:flex}.account-info{flex-direction:column;gap:.125rem;display:flex}.account-name{color:var(--text);font-size:.875rem;font-weight:500}.account-type{color:var(--text-secondary);font-size:.75rem}.account-item .delete-account{color:var(--danger);opacity:.7;padding:.25rem .5rem;font-size:.75rem}.account-item .delete-account:hover{opacity:1}.badge-account{background:var(--accent-glow);color:var(--accent);border:1px solid var(--accent-glow);border-radius:4px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.6875rem;display:inline-flex}.badge-account.funding{color:var(--accent-2);background:#fbbf241a;border-color:#fbbf2433}.badge-account.funding.full{color:var(--success);background:#34d39933;border-color:#34d39966}.badge-account.payment{color:var(--success);background:#34d3991a;border-color:#34d39933}.badge-account.payment.full{background:#34d39933;border-color:#34d39966}.bottom-tab-bar{display:none}@media (width<=1099px){.bottom-tab-bar{height:calc(65px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border);-webkit-backdrop-filter:none;z-index:1000;padding-bottom:calc(env(safe-area-inset-bottom) + var(--keyboard-inset));padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);box-shadow:none;border-bottom:none;border-left:none;border-right:none;border-radius:0;align-items:center;transition:transform .3s,opacity .3s;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-tab-bar.nav-hidden,body.keyboard-open .bottom-tab-bar{opacity:0;pointer-events:none;transform:translateY(120px)}.tab-indicator{background:var(--accent);width:28px;height:3px;box-shadow:0 2px 8px var(--accent-glow);border-radius:999px;transition:left .3s cubic-bezier(.4,0,.2,1);position:absolute;top:2px;left:10%;transform:translate(-50%)}.tab-item{box-shadow:none;-webkit-tap-highlight-color:transparent;appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:12px;outline:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-height:44px;margin:0 2px;padding:6px 4px;font-size:11px;font-weight:600;transition:color .2s,transform .2s;display:flex;position:relative}.tab-item:focus,.tab-item:focus-visible,.tab-item:active,.tab-item.active{box-shadow:none;background:0 0;outline:none}.tab-item.active{color:var(--accent)}.tab-item svg{width:24px;height:24px;transition:stroke .2s,transform .2s}.tab-item.active svg{stroke:var(--accent);transform:translateY(-1px)}.tab-item .update-dot{background:var(--accent-2);width:8px;height:8px;box-shadow:0 0 0 2px var(--panel);opacity:0;pointer-events:none;border-radius:999px;transition:opacity .2s,transform .2s;position:absolute;top:6px;right:18px;transform:scale(.6)}.tab-item.has-update .update-dot{opacity:1;transform:scale(1)}.tab-item:not(.tab-add):active svg{transform:scale(.9)}.tab-add{justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:relative}.tab-add-icon{aspect-ratio:1;background:var(--gradient-primary);width:56px;min-width:56px;height:56px;min-height:56px;box-shadow:0 6px 20px var(--accent-glow), 0 2px 8px #0000001a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.tab-add-icon svg{stroke:var(--btn-text);width:28px;height:28px}.tab-add:active .tab-add-icon{box-shadow:0 3px 12px var(--accent-glow);transform:scale(.92)}.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{flex-direction:column;gap:1rem;display:flex}.settings-content .settings-group,.settings-content .menu-group{background:var(--surface);border-radius:var(--radius-md);border:1px dashed var(--border);padding:1rem}.settings-content .menu-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 0;display:flex}.settings-content .menu-row:last-child{border-bottom:none}.settings-footer{text-align:center;padding:1rem}.stats-detail{flex-direction:column;gap:1rem;display:flex}.payment-status-breakdown{flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.status-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.status-row:last-child{border-bottom:none}.status-row:hover{background:#1cc8d80f}.status-label{color:var(--text-secondary);font-size:.875rem}.status-value{color:var(--text);font-size:1.25rem;font-weight:600;font-family:var(--font-display)}.stats-insights{gap:12px;margin-top:.5rem;display:grid}.insight-trend{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:12px;padding:10px 12px;font-size:.9rem}.insight-trend strong{color:var(--text)}.insight-trend.good{background:#16a34a1f;border-color:#16a34a59}.insight-trend.warn{background:#dc26261f;border-color:#dc262659}.insight-trend.neutral{border-color:var(--border)}.insight-section{gap:6px;display:grid}.insight-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0;font-size:.78rem;font-weight:700}.insight-list{gap:6px;display:grid}.insight-item{color:var(--text-secondary);border-left:2px solid var(--border);padding-left:10px;font-size:.88rem;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 (width>=1100px){.mobile-view{display:block!important}.bottom-tab-bar,#settingsView,#statsView{display:none!important}.main-content .hero{gap:8px;margin-bottom:20px}.main-content .hero .brand{align-items:center;gap:16px;display:flex}.main-content .hero .brand>div{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.main-content .hero .eyebrow{margin:0;font-size:12px}.main-content .hero h1.hero-headline{font-size:clamp(20px,2vw,26px);line-height:1.2;font-family:var(--font-display);margin:0}.main-content .hero .lede,.main-content .hero .cta-row{display:none}#homeView.mobile-view{grid-template:"stats stats""tasks week""safe safe""plan plan"/minmax(0,1fr) minmax(0,1fr);gap:20px;display:grid!important}#homeView>.stats{grid-area:stats;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:0;display:grid!important}#homeView>.stats .stat-card{margin:0;position:relative;overflow:hidden}#homeView>.stats .stat-card:before{content:"";background:var(--gradient-accent);border-radius:4px 0 0 4px;width:4px;position:absolute;top:0;bottom:0;left:0}#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{flex-direction:column;grid-area:tasks;margin:0;display:flex}#homeView>.home-card{margin-top:0}.carousel-dots,.carousel-counter{display:none!important}#homeView .reminders{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}#homeView .reminders-carousel-wrapper{flex:none;min-height:auto;padding-right:0;overflow:visible}#homeView .reminder{flex-direction:column;gap:12px;padding:16px;transition:transform .2s,box-shadow .2s;display:flex}#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{background:var(--surface);border-radius:12px;justify-content:flex-start;height:auto;min-height:60px;padding:8px 5px;transition:all .2s;overflow:hidden}.week-day:hover{background:var(--surface-hover);border-color:color-mix(in srgb, var(--accent) 34%, var(--border));box-shadow:var(--shadow-soft);transform:translateY(-2px)}.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{margin-bottom:2px;font-size:10px}.day-num{margin-bottom:4px;font-size:16px}.day-dots{flex-direction:column;gap:3px;width:100%;max-width:none}.week-day .day-bill-names{flex-direction:column;gap:2px;width:100%;max-height:18px;margin-top:2px;display:flex;overflow:hidden}.week-day .day-bill-name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;background:var(--surface-highlight);text-align:center;border-radius:4px;padding:2px 6px;font-size:10px;overflow:hidden}.week-day.today .day-bill-name{color:var(--btn-text);background:#fff3}.week-day .day-bill-name.paid{opacity:.6;text-decoration:line-through}.week-day .day-bill-name.overdue{color:var(--danger);background:#f8717133}.week-day.today .day-bill-name.overdue{background:#f871714d}.day-amount{margin-top:4px;padding-top:4px;font-size:12px;font-weight:600}.streak-card{padding:var(--card-padding);flex-direction:column;justify-content:center;display:flex}.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{margin-top:2px;font-size:13px}}@media (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{height:auto;min-height:68px;padding:8px 6px}.day-num{font-size:20px}}@media (width<=374px){.app{padding:12px 10px;padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:calc(90px + env(safe-area-inset-bottom))}.brand{gap:8px}.hero .logo-image{border-radius:8px;width:36px;height:36px}.brand .eyebrow{letter-spacing:.5px;font-size:12px}h1{font-size:20px}.panel{border-radius:12px;padding: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%;gap:10px;max-width:90%;padding:12px}.reminder strong{font-size:14px}.reminder .meta{font-size:11px}.reminder-actions{flex-direction:column;gap:8px}.reminder-action-btn{width:100%;padding:10px 12px;font-size:12px}.reminder .badge{padding:4px 8px;font-size:10px}.bill-list .bill{gap:8px;padding:10px 12px}.bill-list .bill .name{max-width:120px;font-size:13px}.bill-list .bill .amount{font-size:11px}.bill-list .bill .badge{padding:2px 5px;font-size:9px}.bill-list .bill.expanded .bill-actions{flex-wrap:wrap;gap:6px}.bill-list .bill.expanded .bill-actions button{min-width:0;padding:8px;font-size:11px}.fab{width:48px;height:48px;right:12px;bottom:calc(16px + env(safe-area-inset-bottom))}.fab svg{width:20px;height:20px}.modal{max-height:calc(100dvh - 16px)}.modal-head h2{font-size:16px}.modal .grid{gap:10px}.quick-add-row{display:block}.quick-add-nav{width:32px;min-width:32px;height: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));border-radius:0;bottom:0;left:0;right:0}.tab-item{padding:4px 2px;font-size:9px}.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{flex-wrap:wrap;width:100%}.account-amount-input{flex:1;min-width:80px}.deposit-badge{padding:2px 5px;font-size:9px}.menu-drawer{width:260px}.menu-group{padding:10px 12px}.menu-row span{font-size:13px}.menu-select{padding:6px 8px;font-size:12px}}@media (width>=375px) and (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{max-width:140px;font-size:14px}.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 (width<=767px){#billForm{grid-template-columns:1fr}html,body{width:100%;max-width:100vw;overflow-x:hidden}.app{max-width:100%;overflow-x:hidden}.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{box-sizing:border-box;width:100%;max-width:100%;overflow:hidden}#billsView .bill-list .bill .bill-header{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 6px;min-width:0;display:grid}#billsView .bill-list .bill .name{min-width:0}#billsView .bill-list .bill .status-badges{flex-wrap:wrap;flex-shrink:1;grid-column:1/-1;justify-content:flex-start;align-items:flex-start;gap:4px;width:100%;min-width:0;max-width:100%;margin-left:0;display:flex;overflow:visible}#billsView .bill-list .bill .status-badges .badge,#billsView .bill-list .bill .status-badges .deposit-badge{text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0;max-width:100%;overflow:hidden}.bill-actions,.reminder-actions{max-width:100%;overflow-x:hidden}.modal input,.modal select,.modal textarea{box-sizing:border-box;max-width:100%}.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 (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 (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 (width<=767px){#billsView .filters,#billsView .category-filter{display:none!important}#billsView .category-filter.control-tower-filter{width:100%;display:inline-flex!important}#billsView .panel-head{z-index:6;background:color-mix(in srgb, var(--card) 88%, var(--glass-surface));border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 8px;margin:-4px -4px 10px;padding:10px;display:grid;position:sticky;top:0}#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}#billsView .bills-search-field input{min-height:44px;padding:10px 12px;font-size:14px}#billsView #billSearchClear{min-height:44px;padding:8px 12px;font-size:13px}: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){*{transition:none!important;animation:none!important}}@media (width>=1100px){.app{background:var(--panel);box-shadow:var(--shadow-soft);border-radius:28px;padding:28px}.main-content{--rail-width:var(--desktop-rail-width,320px);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;height:100%;padding-right:0;display:grid;position:relative;overflow:hidden}.main-content:after{content:"";top:8px;bottom:8px;left:calc(100% - var(--rail-width) - 10px);background:linear-gradient(to bottom, transparent, var(--border), transparent);pointer-events:none;width:1px;position:absolute}.main-content .hero{border-radius:var(--card-radius);background:var(--card-bg);border:var(--card-border);box-shadow:var(--card-shadow);grid-area:header;margin-bottom:0;padding:16px 20px}#homeView.mobile-view{grid-template:"cards cards""tasks week""safe safe""plan plan"/minmax(0,1fr) minmax(0,1fr);grid-area:home;align-content:stretch;gap:20px;height:100%;min-height:0;padding-right:8px;overflow:hidden auto;display:grid!important}#homeView.mobile-view,#billsView{min-height:0}#homeView.mobile-view.has-sparse-attention{grid-template-rows:auto auto auto auto;align-content:start}#homeView.mobile-view.has-sparse-overview{grid-template-rows:auto auto auto auto;grid-template-areas:"cards cards""tasks week""safe safe""plan plan";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;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;display:grid!important}#homeView>.panel{grid-area:tasks;align-self:start;height:auto;margin:0}#homeView>.panel#attentionPanel.is-sparse{align-self:start;height:auto;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{align-self:start;height:auto;max-height:none;overflow:visible}#homeView>.panel#attentionPanel.is-dense .reminders-carousel-wrapper{max-height:none;padding-right:0;overflow:visible}#homeView>.safe-to-spend-card{grid-area:safe;align-self:start;height:auto;margin:0}#homeView>.paycheck-plan-card{grid-area:plan;align-self:start;height:auto;margin:0}#homeView>.week-preview-card{grid-area:week;align-self:start;height:auto;margin:0}#homeView>.streak-card{display:none!important}#homeView.mobile-view.has-sparse-attention>.week-preview-card{align-self:start;height:auto}#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{letter-spacing:.01em;min-height:36px;padding:8px 12px;font-size:12px;font-weight:700}#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{box-shadow:0 8px 16px color-mix(in srgb, var(--accent) 44%, transparent);transform:translateY(-1px)scale(1.02)}#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;align-self:stretch;height:100%;margin:0;position:relative;overflow:hidden;display:block!important}#billsView .panel{border-radius:var(--card-radius);flex-direction:column;height:100%;padding:16px;display:flex}#billsView .panel-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:10px;padding-bottom:10px;display:grid}#billsView .control-tower-title .hint{margin-top:2px}#billsView .bills-toolbar{gap:6px;width:100%}#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;color:var(--muted);font-size:12px}#billsView .control-tower-primary{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px}#billsView .filters,#billsView .category-filter{display:none}#billsView .category-filter.control-tower-filter{display:inline-flex}#billsView .filters{flex-wrap:wrap;gap:6px;width:100%;display:none}#billsView .filter-btn{justify-content:center;padding:6px 10px;font-size:12px}#billsView .panel-actions{justify-content:stretch;width:auto;margin-left:0;display:flex}#billsView .control-tower-filter{display:inline-flex}#billsView .panel-head>div:first-child{grid-column:1/-1;width:100%}#billsView .bills-toolbar,#billsView .bills-results-meta{grid-column:1/-1}#billsView .control-tower-filter select{font-size:12px}#billsView .panel-actions button{white-space:nowrap;width:100%;padding:9px 10px;font-size:12px}#billList{flex:1;padding-right:6px;overflow-y:auto}#billsView .category-filter{display:none}#billsView .bill-list .bill{box-shadow:var(--shadow-flat);border-width:1px;grid-template-columns:1fr auto;align-items:start;gap:12px;padding:14px;display:grid}#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{white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}#billsView .bill-list .bill .amount{white-space:nowrap;text-overflow:ellipsis;font-size:13px;line-height:1.35;overflow:hidden}#billsView .bill-list .bill .bill-updated-meta{margin-top:4px;font-size:10px}#billsView .bill-list .deposit-badge{letter-spacing:.01em;max-width:100%;padding:2px 5px;font-size:9px;display:inline-flex}#billsView .bill-list .bill .status-badges{flex-wrap:wrap;justify-content:flex-end;row-gap:4px;margin-left:auto}#billsView .bill-list .status-badges .badge{padding:3px 6px;font-size:10px}#billsView .bill-list .bill .badges,#billsView .bill-list .bill .expand-indicator{display:none}#billsView .bill-list .bill .bill-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-start;gap:10px;display:flex}#billsView .bill-list .bill .bill-actions button{flex:calc(50% - 10px);min-height:42px;padding:8px 12px;font-size:12px}#billsView .bill-list .bill .bill-actions .bill-action-primary{flex-basis:100%;width:100%;min-height:46px;font-size:13px}#billsView .bill-list{flex-direction:column;gap:10px;display:flex}}@media (width<=374px){#billsView .panel-head{grid-template-columns:1fr;gap:8px;padding:8px}#billsView .panel-actions{grid-column:1/-1;justify-self:stretch;width:100%}#billsView .panel-actions button{width:100%}#billsView .bill-list .bill .bill-actions{gap:8px}#billsView .bill-list .bill .bill-actions button{flex-basis:100%;width:100%;min-height:44px}}@media (width<=1099px){.mobile-view{transition:opacity .22s,transform .22s}.mobile-view.sliding-out-left{opacity:0;pointer-events:none;width:100%;position:absolute;transform:translate(-24px)}.mobile-view.sliding-out-right{opacity:0;pointer-events:none;width:100%;position:absolute;transform:translate(24px)}.mobile-view.sliding-in-left{opacity:0;transform:translate(24px)}.mobile-view.sliding-in-right{opacity:0;transform:translate(-24px)}main{position:relative}}@media (width<=767px){.home-card[data-empty=true]{display:none}.bill-list .bill .expand-indicator{border-radius:8px;width:44px;height:44px;margin:-10px -10px -10px 0}.bill-list .bill:active{background:color-mix(in srgb, var(--accent) 6%, var(--card-bg,var(--panel)));transition:background .1s}.paycheck-plan-table-wrap{display:none}.paycheck-plan-cards{flex-direction:column;gap:8px;margin-top:4px;display:flex}.paycheck-plan-bill-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:6px 12px;padding:12px;display:grid}.paycheck-plan-bill-card .ppc-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14px;font-weight:600;overflow:hidden}.paycheck-plan-bill-card .ppc-amount{color:var(--text);text-align:right;margin:0;font-size:14px;font-weight:700}.paycheck-plan-bill-card .ppc-due{color:var(--muted);margin:0;font-size:12px}.paycheck-plan-bill-card .ppc-select{border:1px solid var(--border);background:var(--panel);width:100%;color:var(--text);border-radius:8px;grid-column:1/-1;min-height:40px;padding:8px 10px;font-size:13px}}@media (width>=768px){.paycheck-plan-cards{display:none!important}}.empty-state-cta{border:1px solid var(--border);background:var(--surface);color:var(--accent);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:999px;align-items:center;gap:6px;margin-top:10px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex}.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{flex-direction:column;align-items:flex-start;gap:4px;display:flex}@media (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));min-height:0;padding:12px 14px}#homeView>.ghost-card[data-empty=true] .ghost-empty-state--compact{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;display:flex}#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{white-space:nowrap;margin-top:0}#homeView>.ghost-card[data-empty=false]{opacity:1;filter:none}}.paycheck-plan-empty-state{flex-direction:column;align-items:flex-start;gap:4px;display:flex}#modalOverlay .modal{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);border-radius:26px;max-width:700px;max-height:90vh;box-shadow:0 28px 70px #00000052,0 8px 22px #0003}#modalOverlay .modal-head{z-index:3;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);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 26px 14px;display:flex;position:sticky;top:0}#modalOverlay .modal-title-group{gap:6px;display:grid}#modalOverlay .modal-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb, var(--accent) 72%, var(--text-secondary));margin:0;font-size:.72rem;font-weight:800}#modalOverlay .modal-head h2{letter-spacing:-.02em;font-size:clamp(1.32rem,2vw,1.72rem);font-weight:800;font-family:var(--font-display);margin:0}#modalOverlay .modal-subtitle{max-width:48ch;color:var(--text-secondary);margin:6px 0 0;font-size:.9rem;line-height:1.5}#modalOverlay .modal-head .icon-only{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));background:color-mix(in srgb, var(--surface) 82%, var(--panel));width:42px;min-width:42px;height:42px;min-height:42px;color:var(--text-secondary);border-radius:12px}#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{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}#modalOverlay .wizard-progress{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 6%, transparent), transparent), linear-gradient(135deg, color-mix(in srgb, var(--accent) 8%, transparent), transparent 58%);border-bottom:1px solid color-mix(in srgb, var(--accent) 8%, var(--border));gap:16px;padding:20px 24px 18px;display:grid;position:relative}#modalOverlay .wizard-progress:before{display:none}#modalOverlay .wizard-progress-copy{gap:4px;display:grid}#modalOverlay .wizard-progress-kicker{letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb, var(--accent) 72%, var(--text-secondary));margin:0;font-size:.72rem;font-weight:800}#modalOverlay .wizard-progress-title{letter-spacing:-.01em;color:var(--text);margin:0;font-size:1rem;font-weight:720}#modalOverlay .progress-dots{z-index:1;align-items:center;gap:36px;display:flex;position:relative}#modalOverlay .progress-dots .dot{border:3px solid color-mix(in srgb, var(--accent) 25%, var(--border));background:color-mix(in srgb, var(--panel) 95%, transparent);cursor:pointer;width:40px;height:40px;color:color-mix(in srgb, var(--accent) 45%, var(--text));border-radius:999px;justify-content:center;align-items:center;font-size:.85rem;font-weight:600;transition:all .35s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}#modalOverlay .progress-dots .dot:before{content:attr(data-step);position:absolute}#modalOverlay .progress-dots .dot:hover{border-color:color-mix(in srgb, var(--accent) 60%, var(--border));box-shadow:0 0 0 8px color-mix(in srgb, var(--accent) 12%, transparent);transform:scale(1.2)}#modalOverlay .progress-dots .dot[aria-current=step]{border-color:var(--accent);background:var(--gradient-primary);color:#fff;width:48px;height:48px;box-shadow:0 0 0 6px color-mix(in srgb, var(--accent) 18%, transparent), 0 10px 28px color-mix(in srgb, var(--accent) 35%, transparent);transform:scale(1.05)}#modalOverlay .wizard-steps{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--accent) 30%, var(--border)) transparent;flex:1;min-height:0;padding:24px 26px;overflow-y:auto}#modalOverlay .wizard-step{animation:.42s cubic-bezier(.2,.9,.2,1) popIn;display:block}#modalOverlay .wizard-step.hidden{display:none}#modalOverlay .wizard-step h3{letter-spacing:-.01em;color:var(--text);margin:0 0 10px;font-size:clamp(1.1rem,1.5vw,1.35rem);font-weight:760}#modalOverlay .step-lead{max-width:48ch;color:var(--text-secondary);margin:0 0 18px;font-size:.92rem;line-height:1.5}#modalOverlay .step-content{flex-direction:column;gap:14px;display:flex}#modalOverlay .wizard-card{border:1px solid color-mix(in srgb, var(--accent) 16%, var(--border));background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 86%, var(--panel)), color-mix(in srgb, var(--panel) 92%, transparent));border-radius:18px;gap:14px;padding:16px;display:grid;box-shadow:0 10px 24px #00000014}#modalOverlay .wizard-card-prominent{border-color:color-mix(in srgb, var(--accent) 32%, var(--border));background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 10%, var(--surface)), color-mix(in srgb, var(--surface) 88%, var(--panel)))}#modalOverlay .wizard-card-header{gap:4px;display:grid}#modalOverlay .wizard-card-header h4{color:var(--text);margin:0;font-size:.95rem;font-weight:720}#modalOverlay .wizard-card-header p{color:var(--text-secondary);margin:0;font-size:.84rem;line-height:1.45}#modalOverlay .form-group{flex-direction:column;gap:8px;display:flex}#modalOverlay .label-text{letter-spacing:.07em;text-transform:uppercase;color:color-mix(in srgb, var(--muted) 86%, var(--text-secondary));font-size:.73rem;font-weight:800}#modalOverlay .form-group input,#modalOverlay .form-group select,#modalOverlay .form-group textarea{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--border));background:color-mix(in srgb, var(--surface) 80%, var(--panel));width:100%;min-height:48px;color:var(--text);border-radius:12px;padding:12px 14px;font-family:inherit;font-size:.93rem;transition:border-color .2s,box-shadow .2s,background .2s}#modalOverlay .form-group textarea{resize:vertical;min-height:98px}#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{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));outline:none}#modalOverlay .input-with-prefix{align-items:center;display:flex;position:relative}#modalOverlay .input-with-prefix .prefix{color:var(--text-secondary);pointer-events:none;font-size:.92rem;font-weight:700;position:absolute;left:14px}#modalOverlay .input-with-prefix input{padding-left:34px}#modalOverlay .category-grid-section,#modalOverlay .frequency-section{border:none;margin:0;padding:0}#modalOverlay .category-icons{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}#modalOverlay .category-icon{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border));background:color-mix(in srgb, var(--surface) 82%, var(--panel));text-align:center;cursor:pointer;border-radius:14px;place-items:center;gap:6px;width:auto;height:auto;min-height:88px;padding:10px 8px;transition:transform .18s,border-color .22s,box-shadow .22s,background .22s;display:grid;position:relative}#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]{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}#modalOverlay .category-icon svg{width:22px;height:22px;color:var(--text-secondary);pointer-events:none}#modalOverlay .category-icon span{color:var(--text-secondary);pointer-events:none;font-size:.74rem;font-weight:650;line-height:1.2}#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)) 0%, color-mix(in srgb, var(--accent) 10%, var(--surface)) 100%);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent)}:is(#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{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px;margin-top:10px;display:grid}#modalOverlay .frequency-pill{position:relative}#modalOverlay .frequency-pill input[type=radio]{opacity:0;position:absolute;inset:0}#modalOverlay .frequency-pill span{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--border));background:color-mix(in srgb, var(--surface) 76%, var(--panel));min-height:42px;color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:10px 12px;font-size:.82rem;font-weight:650;transition:border-color .2s,background .2s,color .2s,transform .14s;display:flex}#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{align-items:center;gap:10px;display:flex}#modalOverlay .checkbox-group-card{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--border));background:color-mix(in srgb, var(--surface) 78%, var(--panel));border-radius:14px;padding:14px 15px}#modalOverlay .checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}#modalOverlay .checkbox-group span{color:var(--text);font-size:.92rem}#modalOverlay .suggestion-banner{border:1px solid color-mix(in srgb, var(--accent-2) 40%, var(--border));background:color-mix(in srgb, var(--accent-2) 10%, var(--surface));border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;display:flex}#modalOverlay .suggestion-banner span{color:var(--text);font-size:.83rem}#modalOverlay .suggestion-btn{background:color-mix(in srgb, var(--accent-2) 90%, #fff);color:#161616;cursor:pointer;border:none;border-radius:8px;padding:7px 11px;font-size:.75rem;font-weight:700}#modalOverlay .deposits-edit-section{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:16px 0;padding:16px 0}#modalOverlay .deposits-section-title{color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:.85rem;font-weight:600}#modalOverlay .deposit-type-select{grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:16px;display:grid}#modalOverlay .deposit-type-select .radio-option{border:2px solid var(--border);background:var(--bg-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:10px 8px;transition:all .2s;display:flex;position:relative}#modalOverlay .deposit-type-select .radio-option:hover{border-color:var(--accent);background:var(--bg-tertiary)}#modalOverlay .deposit-type-select input[type=radio]:checked+.radio-label{color:var(--accent);font-weight:700}#modalOverlay .deposit-type-select input[type=radio]:checked+.radio-label:before{content:"✓ "}#modalOverlay .deposit-type-select .radio-option:has(input:checked){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--bg-secondary))}#modalOverlay .radio-label{color:var(--text);font-size:.9rem;font-weight:500}#modalOverlay .deposit-status-fieldset{border:none;margin:12px 0 0;padding:0}#modalOverlay .deposit-status-fieldset .label-text{margin-bottom:10px;display:block}#modalOverlay .deposit-status-pills{gap:10px;display:flex}#modalOverlay .status-pill{border:2px solid var(--border);background:var(--bg-secondary);cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;padding:10px 12px;font-size:.9rem;font-weight:500;transition:all .2s;display:flex;position:relative}#modalOverlay .status-pill:hover{border-color:var(--accent);background:var(--bg-tertiary)}#modalOverlay .status-pill input[type=radio]:checked+span{color:var(--accent)}#modalOverlay .status-pill:has(input:checked){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--bg-secondary))}#modalOverlay .advanced-toggle-section{margin-top:4px}#modalOverlay .advanced-toggle{border:1px solid color-mix(in srgb, var(--accent) 16%, var(--border));background:color-mix(in srgb, var(--surface) 82%, var(--panel));width:100%;color:var(--text);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:12px 13px;font-size:.9rem;font-weight:650;transition:border-color .2s,background .2s;display:flex}#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}#modalOverlay .advanced-section{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;flex-direction:column;gap:12px;margin-top:10px;padding:12px;display:flex}#modalOverlay #accountSelectGroup{display:none}#modalOverlay .manage-accounts-link{color:var(--accent);font-size:.82rem;font-weight:700;text-decoration:none}#modalOverlay .manage-accounts-link:hover{color:var(--accent-2)}#modalOverlay .review-sections{flex-direction:column;gap:12px;display:flex}#modalOverlay .review-section{border:1px solid color-mix(in srgb, var(--accent) 16%, var(--border));background:color-mix(in srgb, var(--card) 82%, var(--surface));border-radius:12px;overflow:hidden}#modalOverlay .review-header{border-bottom:1px solid color-mix(in srgb, var(--accent) 12%, var(--border));justify-content:space-between;align-items:center;padding:11px 13px;display:flex}#modalOverlay .review-header h4{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.69rem;font-weight:800}#modalOverlay .edit-link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:.76rem;font-weight:700}#modalOverlay .edit-link:hover{color:var(--accent-2)}#modalOverlay .review-data{flex-direction:column;gap:9px;padding:11px 13px;display:flex}#modalOverlay .review-row{justify-content:space-between;align-items:center;gap:10px;display:flex}#modalOverlay .review-row .label{color:var(--text-secondary);font-size:.82rem}#modalOverlay .review-row .value{color:var(--text);text-align:right;font-size:.9rem;font-weight:650}#modalOverlay .wizard-nav{z-index:2;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);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:13px 22px 16px;display:grid;position:sticky;bottom:0}#modalOverlay .wizard-nav-copy{color:var(--text-secondary);margin:0;font-size:.84rem;line-height:1.45}#modalOverlay .nav-actions{align-items:center;gap:8px;display:flex}#modalOverlay .wizard-nav button{border:1px solid color-mix(in srgb, var(--accent) 16%, var(--border));background:color-mix(in srgb, var(--surface) 82%, var(--panel));min-height:42px;color:var(--text);cursor:pointer;border-radius:11px;padding:10px 15px;font-size:.9rem;font-weight:680;transition:transform .15s,border-color .2s,box-shadow .2s,background .2s}#modalOverlay .wizard-nav button:hover{border-color:color-mix(in srgb, var(--accent) 58%, var(--border))}#modalOverlay .wizard-nav button.primary{background:var(--gradient-primary);color:var(--btn-text);box-shadow:0 8px 18px color-mix(in srgb, var(--accent) 32%, transparent);border-color:#0000}#modalOverlay .wizard-nav button.primary:hover{transform:translateY(-1px)}@media (width<=767px){#modalOverlay .modal{border-radius:22px 22px 0 0;width:min(100%,660px)}#modalOverlay .modal-head{gap:12px;padding:14px 16px 12px}#modalOverlay .modal-head h2{font-size:1.22rem}#modalOverlay .modal-subtitle{font-size:.84rem}#modalOverlay .wizard-progress{gap:14px;padding:16px}#modalOverlay .wizard-progress:before{display:none}#modalOverlay .progress-dots{justify-content:space-between;gap:14px}#modalOverlay .progress-dots .dot{border-width:2.5px;width:36px;height:36px;font-size:.75rem}#modalOverlay .progress-dots .dot[aria-current=step]{width:42px;height:42px;box-shadow:0 0 0 5px color-mix(in srgb, var(--panel) 88%, transparent)}#modalOverlay .progress-dots .dot:after{content:attr(data-label);letter-spacing:.02em;color:var(--text-secondary);white-space:nowrap;font-size:.64rem;font-weight:700;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}#modalOverlay .progress-dots .dot[aria-current=step]:after{color:var(--text)}#modalOverlay .wizard-steps{padding:16px}#modalOverlay .wizard-step h3{margin-bottom:8px;font-size:1.08rem}#modalOverlay .step-lead{margin-bottom:14px;font-size:.86rem}#modalOverlay .wizard-card{border-radius:16px;gap:12px;padding:14px}#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{grid-template-columns:1fr;padding:12px 16px 14px}#modalOverlay .wizard-nav-copy{order:1}#modalOverlay #cancelBtn{order:2;width:100%}#modalOverlay .nav-actions{order:3;width:100%}#modalOverlay .nav-actions button{flex:1}}@media (width<=480px){#modalOverlay .category-icons{grid-template-columns:repeat(2,minmax(0,1fr))}#modalOverlay .progress-dots{gap:10px}#modalOverlay .progress-dots .dot{border-width:2px;width:32px;height:32px;font-size:.7rem}#modalOverlay .progress-dots .dot:after{font-size:.58rem;top:calc(100% + 6px)}#modalOverlay .progress-dots .dot[aria-current=step]{width:38px;height:38px}#modalOverlay .wizard-nav button{min-height:40px;padding:9px 12px;font-size:.86rem}#modalOverlay .review-row{flex-direction:column;align-items:flex-start;gap:3px}#modalOverlay .review-row .value{text-align:left}}@media (width<=767px){.form-section{grid-template-columns:1fr;gap:.8rem;padding:1rem 16px}.form-section legend{letter-spacing:.8px;font-size:12px}.form-actions,.form-quick-add{padding-left:16px;padding-right:16px}#homeView.mobile-view.active{flex-direction:column;align-content:stretch;gap:12px;display:flex!important}#homeView>.home-card{border-radius:14px;padding:14px}#homeView>.panel,#homeView>.stats{padding:14px}#homeView>.panel#attentionPanel{border-left-width:2px}#homeView>.panel#attentionPanel .panel-head{flex-direction:row;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}#homeView .reminders-carousel-wrapper{margin:0;padding:0}#homeView .reminders{scroll-snap-type:x mandatory;gap:10px;padding:2px 0 10px}#homeView .reminder{scroll-snap-align:start;border-radius:14px;flex:0 0 100%;max-width:100%;padding:14px}#homeView>.paycheck-plan-card .paycheck-plan-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}#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;padding:8px 10px;font-size:12px}.panel-actions button,.bill-actions button,.reminder-action-btn{min-height:44px}.bill-list .bill .expand-indicator{background:color-mix(in srgb, var(--surface-highlight) 85%, transparent);width:30px;height:30px;color:var(--text-secondary);border-radius:999px}.modal{max-height:calc(100dvh - 20px)}}@media (width>=1100px){#homeView.mobile-view{grid-template:"cards cards""tasks week""safe safe""plan plan"/minmax(0,1fr) minmax(0,1fr);gap:22px}#homeView>.home-card{z-index:1;position:relative}#homeView>.panel{grid-area:tasks}#homeView>.week-preview-card{grid-area:week;align-self:start;height:auto}#homeView>.streak-card{display:none!important}.main-content .hero{border-left:3px solid var(--accent);position:relative;overflow:hidden;background:linear-gradient(100deg, color-mix(in srgb, var(--accent) 10%, var(--card-bg)) 0%, var(--card-bg) 65%)!important}.main-content .hero:after{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--accent) 12%, transparent) 0%, transparent 70%);pointer-events:none;border-radius:50%;width:140px;height:140px;position:absolute;top:-32px;right:-32px}#homeView>.stats .stat-card{border-top:none;border-left:4px solid #0000;position:relative;overflow:hidden}#homeView>.stats .stat-card:before{display:none!important}#homeView>.stats .stat-card:first-child{border-left-color:var(--accent);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 9%, var(--card)) 0%, var(--card-bg) 80%)}#homeView>.stats .stat-card:nth-child(2){border-left-color:var(--warning);background:linear-gradient(135deg, color-mix(in srgb, var(--warning) 9%, var(--card)) 0%, var(--card-bg) 80%)}#homeView>.stats .stat-card:nth-child(3){border-left-color:var(--success);background:linear-gradient(135deg, color-mix(in srgb, var(--success) 9%, var(--card)) 0%, var(--card-bg) 80%)}#homeView>.stats .stat-card .label{text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}#attentionPanel .panel-head{background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 8%, transparent) 0%, transparent 100%);border-radius:calc(var(--card-radius) - 4px) calc(var(--card-radius) - 4px) 0 0;border-bottom:1px solid color-mix(in srgb, var(--accent) 22%, var(--border));margin:-16px -16px 12px;padding:14px 16px 12px}#attentionPanel.is-sparse .panel-head{margin:-14px -16px 10px;padding:12px 16px 10px}#homeView>.week-preview-card{border-top:3px solid var(--accent-2);overflow:hidden}#homeView>.week-preview-card .panel-head{margin-bottom:8px;padding-bottom:10px}.safe-to-spend-card{border-top:3px solid var(--success);background:linear-gradient(135deg, color-mix(in srgb, var(--success) 6%, var(--card)) 0%, var(--card-bg) 80%)!important}.paycheck-plan-card{border-top:3px solid var(--accent-2)}#billsView .panel{overflow:hidden}#billsView .panel-head{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 9%, var(--card)) 0%, var(--card) 100%);border-radius:calc(var(--card-radius) - 2px) calc(var(--card-radius) - 2px) 0 0;border-bottom:1px solid color-mix(in srgb, var(--accent) 22%, var(--border));margin:-16px -16px 12px;padding:14px 16px 12px}#billsView .control-tower-title .eyebrow{letter-spacing:1px;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:800}#billsView .control-tower-title h2{font-size:18px}#billsView .control-tower-title .hint{color:var(--muted);margin-top:2px;font-size:11px}#billsView .bills-search-field input{background:color-mix(in srgb, var(--surface) 60%, var(--card));border:1.5px solid color-mix(in srgb, var(--accent) 18%, var(--border));border-radius:10px;padding:9px 12px;transition:border-color .2s,box-shadow .2s}#billsView .bills-search-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}#billsView .category-filter.control-tower-filter select{background:color-mix(in srgb, var(--surface) 60%, var(--card));border:1.5px solid color-mix(in srgb, var(--accent) 18%, var(--border));border-radius:10px;padding:9px 12px;transition:border-color .2s}#billsView .category-filter.control-tower-filter select:hover,#billsView .category-filter.control-tower-filter select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}#billsView #addAllToCalendar{border:1.5px solid color-mix(in srgb, var(--accent) 24%, var(--border));color:var(--text-secondary);border-radius:10px;padding:8px 12px;font-size:12px;transition:border-color .2s,background .2s,color .2s}#billsView #addAllToCalendar:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--text)}#billsView .empty{border-style:solid;border-color:color-mix(in srgb, var(--accent) 15%, var(--border));background:color-mix(in srgb, var(--surface) 50%, transparent);color:var(--text-secondary);border-width:1.5px;border-radius:16px;margin-top:4px;padding:40px 24px}#billsView .bills-results-meta{letter-spacing:.02em;font-size:11px}.sidebar-header{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 12%, var(--card-bg)) 0%, var(--card-bg) 100%);border-bottom:1px solid color-mix(in srgb, var(--accent) 20%, var(--border))}.sidebar-header .eyebrow{color:var(--accent);letter-spacing:.5px;font-size:13px;font-weight:700}.sidebar-content .settings-group>.eyebrow:first-child{letter-spacing:1.2px;text-transform:uppercase;color:var(--accent);opacity:.9;border-bottom:1px solid color-mix(in srgb, var(--accent) 18%, transparent);margin-bottom:8px;padding-bottom:6px;font-size:10px;font-weight:800;display:block}.sidebar-content .settings-group.tier-primary{background:color-mix(in srgb, var(--accent) 5%, transparent);border:1px solid color-mix(in srgb, var(--accent) 24%, var(--border));border-left-width:3px;border-left-color:var(--accent);border-radius:12px;margin-left:0;padding:12px}.sidebar-content .settings-group.tier-primary>.eyebrow:first-child{color:var(--accent);opacity:1}.sidebar-content .settings-group.tier-tertiary{opacity:.8}.sidebar-content .settings-group.tier-tertiary>.eyebrow:first-child{color:var(--muted);opacity:.85}.sidebar-content .settings-row{border-radius:10px;padding:10px 14px}.sidebar-content .settings-group .ghost.full-width{color:var(--text-secondary);border-color:color-mix(in srgb, var(--accent) 18%, var(--border));border-radius:10px;padding:9px 12px;font-size:13px;transition:background .2s,border-color .2s,color .2s}.sidebar-content .settings-group .ghost.full-width:hover{color:var(--text);border-color:color-mix(in srgb, var(--accent) 40%, var(--border));background:color-mix(in srgb, var(--surface-hover) 80%, transparent)}.sidebar-content .settings-group .ghost.full-width.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 22%, var(--border))}.sidebar-content .settings-group .ghost.full-width.danger:hover{background:color-mix(in srgb, var(--danger) 8%, transparent);border-color:color-mix(in srgb, var(--danger) 44%, var(--border))}.sidebar-footer{background:color-mix(in srgb, var(--surface) 40%, transparent);border-top-color:color-mix(in srgb, var(--border) 60%, transparent)}.sidebar-footer .hint{letter-spacing:.04em;color:var(--muted);font-size:11px}#homeView.mobile-view{grid-auto-rows:max-content;align-content:start;align-items:start;grid-template-rows:max-content max-content max-content max-content!important}#homeView.mobile-view.has-sparse-attention,#homeView.mobile-view.has-sparse-overview{grid-template-rows:max-content max-content max-content max-content!important}#homeView>.stats{grid-area:1/1/auto/-1}#homeView>.panel#attentionPanel{grid-area:2/1}#homeView>.week-preview-card{grid-area:2/2}#homeView>.safe-to-spend-card{grid-area:3/1/auto/-1}#homeView>.paycheck-plan-card{grid-area:4/1/auto/-1}#homeView>.panel,#homeView>.home-card,#homeView>.stats{max-width:100%;min-height:auto}#homeView>.panel#attentionPanel{overflow:hidden}#homeView>.panel#attentionPanel .reminders-carousel-wrapper,#homeView>.panel#attentionPanel.is-dense .reminders-carousel-wrapper{max-height:none;overflow:hidden}#homeView>.safe-to-spend-card,#homeView>.paycheck-plan-card{clear:both;margin-top:0;position:static;transform:none}#homeView>.panel,#homeView>.home-card,#homeView>.stats .stat-card{animation:none;transform:none}}
