:root{--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--font-body: "Nunito", system-ui, -apple-system, sans-serif;--font-display: "Fredoka", "Nunito", system-ui, -apple-system, sans-serif}:root{--bg: #0b1320;--panel: #101b2d;--border: rgba(255, 255, 255, .12);--outline: rgba(255, 255, 255, .16);--text: #f8fbff;--text-secondary: #c7d3e6;--muted: #8aa0bf;--accent: #1cc8d8;--accent-2: #ffd24a;--accent-glow: rgba(28, 200, 216, .25);--danger: #ff6b6b;--success: #2ed573;--shadow: 0 12px 26px rgba(7, 12, 26, .5);--gradient-primary: linear-gradient(135deg, #1cc8d8, #39a0ff);--gradient-accent: linear-gradient(135deg, #39a0ff, #7dd3fc);--gradient-success: linear-gradient(135deg, #2ed573, #1cc8d8);--gradient-warning: linear-gradient(135deg, #ffd24a, #ff9f1c);--surface: rgba(255, 255, 255, .06);--surface-hover: rgba(255, 255, 255, .12);--surface-highlight: rgba(255, 255, 255, .18);--surface-active: rgba(255, 255, 255, .24);--card: #0f1b2d;--card-hover: #162640;--btn-text: #0b1320;--badge-text: #0b1320;--hover: rgba(255, 255, 255, .08);--blob-1-start: #0ea5b7;--blob-1-end: #1e88ff;--blob-2-start: #1f2d4d;--blob-2-end: #0f1b2d}@media (prefers-color-scheme: light){:root{--bg: #eef6ff;--panel: #ffffff;--border: rgba(9, 30, 66, .12);--outline: rgba(9, 30, 66, .18);--text: #0b1a2b;--text-secondary: #345070;--muted: #5c728c;--accent: #0ea5b7;--accent-2: #f7b500;--accent-glow: rgba(14, 165, 183, .18);--danger: #dc2626;--success: #16a34a;--shadow: 0 12px 22px rgba(15, 23, 42, .1);--gradient-primary: linear-gradient(135deg, #0ea5b7, #38bdf8);--gradient-accent: linear-gradient(135deg, #38bdf8, #93c5fd);--gradient-success: linear-gradient(135deg, #16a34a, #0ea5b7);--gradient-warning: linear-gradient(135deg, #f7b500, #fb923c);--surface: rgba(9, 30, 66, .04);--surface-hover: rgba(9, 30, 66, .08);--surface-highlight: rgba(9, 30, 66, .12);--surface-active: rgba(9, 30, 66, .16);--card: #ffffff;--card-hover: #ffffff;--btn-text: #0b1320;--badge-text: #0b1320;--hover: rgba(9, 30, 66, .06);--blob-1-start: #d5f6ff;--blob-1-end: #bde7ff;--blob-2-start: #e6f0ff;--blob-2-end: #d6e6ff}}body.light{--bg: #eef6ff;--panel: #ffffff;--border: rgba(9, 30, 66, .12);--outline: rgba(9, 30, 66, .18);--text: #0b1a2b;--text-secondary: #345070;--muted: #5c728c;--accent: #0ea5b7;--accent-2: #f7b500;--accent-glow: rgba(14, 165, 183, .18);--danger: #dc2626;--success: #16a34a;--shadow: 0 12px 22px rgba(15, 23, 42, .1);--gradient-primary: linear-gradient(135deg, #0ea5b7, #38bdf8);--gradient-accent: linear-gradient(135deg, #38bdf8, #93c5fd);--gradient-success: linear-gradient(135deg, #16a34a, #0ea5b7);--gradient-warning: linear-gradient(135deg, #f7b500, #fb923c);--surface: rgba(9, 30, 66, .04);--surface-hover: rgba(9, 30, 66, .08);--surface-highlight: rgba(9, 30, 66, .12);--surface-active: rgba(9, 30, 66, .16);--card: #ffffff;--card-hover: #ffffff;--btn-text: #0b1320;--badge-text: #0b1320;--hover: rgba(9, 30, 66, .06);--blob-1-start: #d5f6ff;--blob-1-end: #bde7ff;--blob-2-start: #e6f0ff;--blob-2-end: #d6e6ff}body.dark{--bg: #0b1320;--panel: #101b2d;--border: rgba(255, 255, 255, .12);--outline: rgba(255, 255, 255, .16);--text: #f8fbff;--text-secondary: #c7d3e6;--muted: #8aa0bf;--accent: #1cc8d8;--accent-2: #ffd24a;--accent-glow: rgba(28, 200, 216, .25);--danger: #ff6b6b;--success: #2ed573;--shadow: 0 12px 26px rgba(7, 12, 26, .5);--gradient-primary: linear-gradient(135deg, #1cc8d8, #39a0ff);--gradient-accent: linear-gradient(135deg, #39a0ff, #7dd3fc);--gradient-success: linear-gradient(135deg, #2ed573, #1cc8d8);--gradient-warning: linear-gradient(135deg, #ffd24a, #ff9f1c);--surface: rgba(255, 255, 255, .06);--surface-hover: rgba(255, 255, 255, .12);--surface-highlight: rgba(255, 255, 255, .18);--surface-active: rgba(255, 255, 255, .24);--card: #0f1b2d;--card-hover: #162640;--btn-text: #0b1320;--badge-text: #0b1320;--hover: rgba(255, 255, 255, .08);--blob-1-start: #0ea5b7;--blob-1-end: #1e88ff;--blob-2-start: #1f2d4d;--blob-2-end: #0f1b2d}*{box-sizing:border-box}*::-webkit-scrollbar{display:none}*{scrollbar-width:none;-ms-overflow-style:none}html,body{overflow-x:hidden;width:100%}body{margin:0;min-height:100vh;font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.6}body *:focus-visible{outline:3px solid rgba(255,210,74,.7);outline-offset:2px}.background{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.background:before{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:repeating-conic-gradient(from 210deg at 20% 0%,rgba(255,210,74,.12) 0deg 8deg,rgba(28,200,216,.1) 8deg 16deg,transparent 16deg 24deg);opacity:.18;filter:blur(2px)}.background:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 15% 20%,rgba(255,210,74,.3) 0 2px,transparent 3px),radial-gradient(circle at 80% 18%,rgba(125,211,252,.35) 0 2px,transparent 3px),radial-gradient(circle at 25% 70%,rgba(255,210,74,.2) 0 2px,transparent 3px),radial-gradient(circle at 70% 75%,rgba(28,200,216,.25) 0 2px,transparent 3px);opacity:.5}.gradient-one,.gradient-two{position:absolute;width:60vw;height:60vw;filter:blur(140px);opacity:.4}.gradient-one{top:-15%;left:-10%;background:radial-gradient(circle at 30% 30%,var(--blob-1-start),var(--blob-1-end))}.gradient-two{bottom:-10%;right:-15%;background:radial-gradient(circle at 60% 60%,var(--blob-2-start),var(--blob-2-end))}.grain{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E");mix-blend-mode:soft-light;opacity:.18}.app{position:relative;max-width:1600px;margin:0 auto;padding:48px 20px 80px;transition:opacity .2s ease}.app.app-hidden{opacity:0;pointer-events:none}.app.app-visible{opacity:1;pointer-events:auto}@media (min-width: 1024px){.app{padding:32px 32px 80px}}@media (min-width: 1400px){.app{max-width:1800px;padding:32px 48px 80px}}.hero{display:grid;gap:12px;margin-bottom:32px;animation:riseIn .7s cubic-bezier(.2,.9,.2,1) both}.brand{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}.logo{width:52px;height:52px;border-radius:16px;background:var(--gradient-accent);display:grid;place-items:center;font-weight:700;letter-spacing:.5px;box-shadow:0 10px 24px var(--accent-glow),var(--shadow)}.logo-image{width:52px;height:52px;border-radius:16px;border:2px solid var(--outline);box-shadow:0 10px 22px #08142833;object-fit:cover}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;color:var(--muted);margin:0 0 6px}h1{margin:0;font-family:var(--font-display);font-size:clamp(28px,4vw,40px);line-height:1.1}.lede{max-width:760px;color:var(--text-secondary);margin:0}.cta-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.chip{padding:6px 12px;border-radius:999px;background:linear-gradient(135deg,#1cc8d82e,#39a0ff1f);border:1px solid var(--outline);color:var(--text-secondary);font-size:13px;font-weight:500}button,input,select,textarea{font:inherit}button{cursor:pointer;border:none;border-radius:12px;padding:12px 16px;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease;color:var(--text);background:var(--surface);border:2px solid var(--border);box-shadow:0 4px #0814281f}button:hover{background:var(--surface-hover);box-shadow:0 6px 16px #08142833;transform:translateY(-1px)}button:active{transform:translateY(2px);background:var(--surface-active);border-color:var(--outline);box-shadow:0 2px 6px #08142833}button:disabled,button[disabled]{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}button.primary{background:var(--gradient-primary);border:2px solid rgba(255,255,255,.35);color:var(--btn-text);font-weight:700;box-shadow:0 10px 20px var(--accent-glow)}button.primary:hover{filter:brightness(1.05)}button.primary:active{filter:brightness(.98);box-shadow:0 6px 14px var(--accent-glow)}button.ghost{background:transparent;border:2px solid var(--border);color:var(--muted)}button.ghost:hover{border-color:var(--outline);color:var(--text-secondary)}button.ghost:active{background:var(--surface-highlight);border-color:var(--outline);color:var(--text)}button.whats-new-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px}button.whats-new-btn .update-dot{width:8px;height:8px;border-radius:999px;background:var(--accent-2);box-shadow:0 0 0 2px var(--panel);opacity:0;transform:scale(.6);transition:opacity .2s ease,transform .2s ease}button.whats-new-btn.has-update{background:var(--gradient-primary);border-color:transparent;color:var(--btn-text);box-shadow:0 10px 20px var(--accent-glow)}button.whats-new-btn.has-update .update-dot{opacity:1;transform:scale(1)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:28px}@media (min-width: 1024px){.stats{grid-template-columns:repeat(3,1fr);gap:16px}}@media (min-width: 1400px){.stats{gap:20px}}.stat-card{padding:20px;border-radius:var(--radius-lg);background:var(--card);border:2px solid var(--border);box-shadow:var(--shadow);transition:box-shadow .2s ease;animation:popIn .7s cubic-bezier(.2,.9,.2,1) both}.stat-card:hover{box-shadow:0 14px 28px #08142838}.stats .stat-card:nth-child(1){animation-delay:.05s}.stats .stat-card:nth-child(2){animation-delay:.12s}.stats .stat-card:nth-child(3){animation-delay:.18s}.stat-card .label{margin:0;color:var(--muted);font-size:14px}.stat-card .value{margin:8px 0 4px;font-size:28px;font-weight:700;font-family:var(--font-display)}.stat-card .hint{margin:0;color:var(--text-secondary)}.tracked-count{color:var(--accent);font-weight:600}.stats-detail{display:grid;gap:12px}.stats-row-compact{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-card-mini{padding:16px;border-radius:var(--radius-md);background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);text-align:center}.stat-card-mini .label{margin:0;color:var(--muted);font-size:13px}.stat-card-mini .value{margin:6px 0 4px;font-size:24px;font-weight:700;font-family:var(--font-display)}.stat-card-mini .hint{margin:0;color:var(--text-secondary);font-size:12px}.layout{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;margin-bottom:20px}.panel{background:var(--panel);border:2px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow);-webkit-backdrop-filter:none;backdrop-filter:none;animation:riseIn .7s cubic-bezier(.2,.9,.2,1) both}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding-bottom:12px;border-bottom:1px dashed var(--border)}.panel-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.panel-actions button{padding:8px 12px;font-size:13px;white-space:nowrap}.panel h2{margin:0;font-family:var(--font-display);letter-spacing:.2px;position:relative;padding-left:16px}.panel h2:before{content:"";position:absolute;left:0;top:50%;width:8px;height:8px;transform:translateY(-50%);border-radius:50%;background:var(--gradient-warning);box-shadow:0 0 0 3px #ffd24a33}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;max-width:100%;padding:4px;margin:-4px}label{display:grid;gap:6px;color:var(--muted);font-weight:600}input,select,textarea{padding:12px;border-radius:12px;border:2px solid var(--border);background:var(--surface);color:var(--text);transition:border-color .2s ease,box-shadow .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}input::placeholder,textarea::placeholder{color:#8aa0bfb3}textarea{resize:vertical}.checkbox{align-items:center;grid-template-columns:auto 1fr}.checkbox input{width:18px;height:18px;accent-color:var(--accent)}.full{grid-column:1 / -1}.actions{display:flex;justify-content:flex-end}.pill{padding:4px 10px;border-radius:999px;background:var(--surface-active);border:1px solid var(--border);color:var(--muted);font-size:13px;font-weight:600}.reminders{display:grid;gap:10px}.reminder{display:grid;grid-template-columns:1fr auto;align-items:center;padding:12px;border-radius:14px;border:2px solid var(--border);background:var(--card);box-shadow:0 8px 18px #0814281f;animation:popIn .65s cubic-bezier(.2,.9,.2,1) both}.reminders .reminder:nth-child(1){animation-delay:.04s}.reminders .reminder:nth-child(2){animation-delay:.08s}.reminders .reminder:nth-child(3){animation-delay:.12s}.reminders .reminder:nth-child(4){animation-delay:.16s}.reminder strong{font-size:16px}.carousel-dots,.carousel-counter{display:none}@media (min-width: 768px){.carousel-dots,.carousel-counter{display:none!important}}.reminder .meta{color:var(--muted)}.reminder-content{flex:1;min-width:0}.reminder-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.reminder-action-btn{padding:6px 12px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all .2s ease}.reminder-action-btn:active{transform:translateY(1px);filter:brightness(.98)}.skeleton-card{position:relative;overflow:hidden;border-radius:var(--radius-md);background:var(--surface);border:2px solid var(--border);box-shadow:none;pointer-events:none}.skeleton-stack{display:grid;gap:10px;width:100%}.skeleton-actions{display:grid;gap:8px}.skeleton-line,.skeleton-pill{background:linear-gradient(90deg,var(--surface) 0%,var(--surface-highlight) 50%,var(--surface) 100%);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite}.skeleton-line{height:12px;width:100%;border-radius:999px}.skeleton-line--title{height:16px;width:60%}.skeleton-line--short{width:45%}.skeleton-pill{height:26px;width:92px;border-radius:999px}.skeleton-icon{width:24px;height:24px;border-radius:8px}.reminder-action-btn.mark-paid-btn{background:var(--accent);color:var(--btn-text)}.reminder-action-btn.mark-paid-btn:hover{filter:brightness(1.1);transform:scale(1.02)}.reminder-action-btn.date-change-btn{background:var(--surface);color:var(--accent);border:1px solid var(--accent)}.reminder-action-btn.date-change-btn:hover{background:var(--accent);color:var(--btn-text)}.reminder .badge{padding:4px 10px;border-radius:999px;font-weight:700;color:var(--badge-text);font-size:12px;text-transform:uppercase;letter-spacing:.03em}.badge.due-soon{background:var(--accent)}.badge.overdue{background:var(--danger)}.badge.paid{background:var(--success)}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter-btn{display:inline-flex;align-items:center;gap:6px}.filter-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:var(--surface-highlight);color:var(--text-secondary)}.filter-icon svg{width:12px;height:12px}.filters button.active .filter-icon{background:#ffffff47;color:var(--btn-text)}.filter-text{white-space:nowrap}.category-filter{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:12px;border:2px solid var(--border);background:var(--surface)}.category-filter select{border:none;background:transparent;padding:6px 2px;box-shadow:none;color:var(--text)}.category-filter select:focus{outline:none;box-shadow:none}.category-filter-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary)}.category-filter-icon svg{width:14px;height:14px}.control-tower-filter{display:none;width:100%}.control-tower-filter select{width:100%}.field-label-with-icon{display:inline-flex;align-items:center;gap:6px}.field-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:var(--surface-highlight);color:var(--accent)}.field-icon svg{width:12px;height:12px}.filters button{padding:8px 12px;border-radius:10px;color:var(--muted)}.filters button:active{background:var(--surface-active);color:var(--text);transform:translateY(1px)}.filters button.active{background:var(--gradient-primary);color:var(--btn-text);font-weight:700;box-shadow:0 2px 10px var(--accent-glow)}.bill-list{display:grid;gap:12px}.bill{border:2px solid var(--border);border-radius:var(--radius-md);padding:16px;background:var(--card);display:grid;grid-template-columns:1fr auto;gap:10px;box-shadow:0 8px 18px #0814281f;transition:box-shadow .2s ease;animation:popIn .65s cubic-bezier(.2,.9,.2,1) both}.bill:hover{box-shadow:0 14px 26px #08142838}.bill-list .bill:nth-child(1){animation-delay:.03s}.bill-list .bill:nth-child(2){animation-delay:.06s}.bill-list .bill:nth-child(3){animation-delay:.09s}.bill-list .bill:nth-child(4){animation-delay:.12s}.bill-header{display:flex;align-items:center;gap:10px}.status-badges{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.deposit-badge{display:none;align-items:center;gap:4px;font-size:10px;font-weight:700;padding:2px 6px;border-radius:999px;border:1px solid transparent;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.deposit-badge.funding{background:#fbbf241a;color:var(--accent-2);border-color:#fbbf2433}.deposit-badge.funding.full{background:#fbbf2433;border-color:#fbbf2466}.deposit-badge.payment{background:#34d3991a;color:var(--success);border-color:#34d39933}.deposit-badge.payment.full{background:#34d39933;border-color:#34d39966}.bill .name{font-size:17px;font-weight:700;margin:0}.bill .amount{margin:0;color:var(--muted)}.badges{display:flex;gap:8px;flex-wrap:wrap}.badge-outline{padding:4px 8px;border-radius:6px;border:1px dashed var(--border);color:var(--muted);font-weight:500;font-size:13px}.bill-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.empty{padding:24px 18px;border-radius:14px;border:2px dashed var(--border);color:var(--text-secondary);text-align:center;background:var(--surface)}.bill.compact{padding:10px 14px;gap:8px}.bill.compact .bill-header{gap:8px}.bill-header .bill-icon{width:18px;height:18px}.bill.compact .name{font-size:15px}.bill.compact .amount{font-size:14px}.bill.compact .badges{gap:6px}.bill.compact .badge-outline{padding:3px 6px;font-size:12px}.bill.compact .bill-actions button{padding:6px 10px;font-size:13px}.bill.super-compact{padding:8px 12px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;min-height:44px}.bill.super-compact>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;flex:1;min-width:0}.bill.super-compact .bill-header{gap:8px;min-width:0}.bill.super-compact .name{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.bill.super-compact .amount{font-size:13px;white-space:nowrap;margin:0}.bill.super-compact .badge{font-size:11px;padding:2px 6px}.bill.super-compact .badges{display:none}.bill.super-compact .bill-actions{display:flex;gap:4px;flex-wrap:nowrap;flex-shrink:0}.bill.super-compact .bill-actions button{padding:4px 8px;font-size:12px;min-height:32px;min-width:44px}@media (max-width: 480px){.bill.super-compact .name{max-width:100px}.bill.super-compact .bill-actions button{padding:4px 6px;min-width:36px}}@media (max-width: 767px){.bill-list .bill{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.bill-list .bill>div:first-child{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.bill-list .bill .bill-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bill-list .bill .name{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;flex:1;min-width:0}.bill-list .bill .status-badges{margin-left:auto;gap:4px}.bill-list .bill .deposit-badge{display:inline-flex}.bill-list .bill .amount{font-size:13px;color:var(--muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bill-list .bill .badge{font-size:10px;padding:2px 6px;flex-shrink:0}.bill-list .bill .badges,.bill-list .bill .bill-actions{display:none}.bill-list .bill .expand-indicator{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--muted);transition:transform .3s ease;flex-shrink:0}.bill-list .bill .expand-indicator svg{width:16px;height:16px}.bill-list .bill.expanded{flex-direction:column;align-items:stretch}.bill-list .bill.expanded>div:first-child{width:100%}.bill-list .bill.expanded .badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.bill-list .bill.expanded .bill-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.bill-list .bill.expanded .bill-actions button{width:100%;padding:8px 10px;font-size:12px;line-height:1.1;min-height:40px;white-space:normal}.bill-list .bill.expanded .expand-indicator{transform:rotate(180deg)}}@media (min-width: 1024px){.bill .expand-indicator{display:none!important}}.home-card{background:var(--card);border:2px solid var(--border);border-radius:16px;padding:16px;margin-top:16px;box-shadow:0 10px 22px #0814281f;animation:riseIn .7s cubic-bezier(.2,.9,.2,1) both}.streak-card{display:flex;flex-direction:column;gap:12px}.streak-header{display:flex;align-items:center;gap:12px}.streak-icon{font-size:32px;line-height:1}.streak-icon.cold{filter:grayscale(1);opacity:.5}.streak-info{flex:1}.streak-title{font-size:18px;font-weight:700;color:var(--text);margin:0}.streak-subtitle{font-size:13px;color:var(--text-secondary);margin:0}.streak-bar-container{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.streak-bar{height:100%;background:var(--gradient-warning);border-radius:4px;transition:width .5s ease}.streak-bar.perfect{background:var(--gradient-success)}.streak-hint{font-size:12px;color:var(--text-secondary);margin:0;text-align:center}.week-preview-card{display:flex;flex-direction:column;gap:12px;overflow:hidden}.week-preview-title{font-size:14px;font-weight:600;color:var(--text);margin:0}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;width:100%;min-width:0}.week-day{display:flex;flex-direction:column;align-items:center;padding:8px 4px;border-radius:10px;cursor:pointer;transition:background .2s ease;min-width:0}.week-day:hover{background:var(--hover)}.week-day.today{background:var(--accent)}.week-day.today .day-name,.week-day.today .day-num{color:var(--btn-text)}.week-day.has-bills{position:relative}.day-name{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.day-num{font-size:16px;font-weight:700;color:var(--text);margin:2px 0}.day-dots{display:flex;gap:2px;min-height:8px;justify-content:center;flex-wrap:wrap;max-width:24px}.day-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.day-dot.overdue{background:var(--danger)}.day-dot.due-soon{background:var(--accent-2)}.day-dot.paid{background:var(--success)}.day-count{font-size:9px;font-weight:700;background:var(--accent);color:var(--btn-text);min-width:14px;height:14px;border-radius:7px;display:flex;align-items:center;justify-content:center;padding:0 3px}.day-count.overdue{background:var(--danger)}.day-count.due-soon{background:var(--accent-2)}.day-count.paid{background:var(--success)}.week-day.today .day-count{background:var(--btn-text);color:var(--accent)}.week-day.today .day-count.overdue{background:#f871714d;color:var(--danger)}.week-day.today .day-count.due-soon{background:#f59e0b4d;color:var(--accent-2)}.week-day.today .day-dot{background:var(--btn-text);opacity:.9}.week-day.today .day-dot.overdue{background:#f8717180}.day-amount{font-size:10px;color:var(--text-secondary);margin-top:2px;white-space:nowrap}.week-day.today .day-amount{color:var(--btn-text);opacity:.8}.week-preview-card.expanded{position:relative}.week-preview-card.expanded .week-preview-title{display:flex;justify-content:space-between;align-items:center}.week-preview-close{display:none;background:var(--hover);border:none;border-radius:50%;width:28px;height:28px;font-size:16px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.week-preview-close:hover{background:var(--border);color:var(--text)}.week-preview-card.expanded .week-preview-close{display:flex;align-items:center;justify-content:center}.week-expanded-view{display:none;grid-template-columns:auto 1fr;gap:16px;margin-top:12px;min-height:0}.week-preview-card.expanded .week-expanded-view{display:grid;align-content:start}.week-preview-card.expanded .week-days{display:none}.expanded-day{display:flex;flex-direction:column;align-items:center;padding:12px 16px;background:var(--accent);border-radius:12px;min-width:60px}.expanded-day .day-name{font-size:11px;font-weight:600;color:var(--btn-text);opacity:.8;text-transform:uppercase;letter-spacing:.5px}.expanded-day .day-num{font-size:28px;font-weight:700;color:var(--btn-text);line-height:1.2}.expanded-day .day-total{font-size:12px;font-weight:600;color:var(--btn-text);opacity:.9;margin-top:4px}.expanded-bills{display:flex;flex-direction:column;gap:0;max-height:150px;overflow-y:auto;padding-right:4px}.expanded-bills::-webkit-scrollbar{width:4px}.expanded-bills::-webkit-scrollbar-track{background:var(--border);border-radius:2px}.expanded-bills::-webkit-scrollbar-thumb{background:var(--text-secondary);border-radius:2px}.expanded-bill-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid var(--border);gap:12px;transition:all .2s ease;border-radius:8px;margin:6px 0;background:var(--bg)}.expanded-bill-item.clickable{cursor:pointer;border:1px solid var(--accent);border-left:3px solid var(--accent)}.expanded-bill-item.clickable:hover{background-color:#6366f11a;border-color:var(--accent);transform:translate(2px)}.expanded-bill-item:last-child{margin-bottom:0}.expanded-bill-name{flex:1;font-size:14px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expanded-bill-amount{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap}.expanded-bill-status{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:600;text-transform:uppercase}.expanded-bill-status.overdue{background:#f8717126;color:var(--danger)}.expanded-bill-status.due-soon{background:#f59e0b26;color:var(--accent-2)}.expanded-bill-status.paid{background:#10b98126;color:var(--success)}.expanded-no-bills{color:var(--text-secondary);font-size:14px;padding:20px 0;text-align:center}.bill-detail-view{padding:16px;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.bill-detail-header{margin-bottom:16px}.bill-detail-back{background:none;border:none;color:var(--accent);font-size:14px;cursor:pointer;padding:8px 0;display:flex;align-items:center;gap:4px;transition:opacity .2s ease}.bill-detail-back:hover{opacity:.8}.bill-detail-main{display:flex;flex-direction:column;gap:16px}.bill-detail-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.bill-detail-title h3{margin:0;font-size:20px;font-weight:600;color:var(--text)}.bill-detail-status{font-size:11px;padding:4px 10px;border-radius:6px;font-weight:600;text-transform:uppercase;white-space:nowrap}.bill-detail-status.overdue{background:#f8717126;color:var(--danger)}.bill-detail-status.due-soon{background:#f59e0b26;color:var(--accent-2)}.bill-detail-status.paid{background:#10b98126;color:var(--success)}.bill-detail-amount-row{display:flex;flex-direction:column;gap:4px}.bill-detail-amount{font-size:28px;font-weight:700;color:var(--text)}.bill-detail-date{font-size:14px;color:var(--text-secondary)}.bill-detail-badges{display:flex;flex-wrap:wrap;gap:8px}.bill-detail-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:14px}.bill-detail-section h4{margin:0 0 12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.account-detail-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--bg);border-radius:6px;border:1px solid var(--border);margin-bottom:8px}.account-detail-item:last-child{margin-bottom:0}.account-detail-item.full{border-color:#10b9814d;background:#10b9810d}.account-detail-item.partial{border-color:#f59e0b4d;background:#f59e0b0d}.account-label{font-size:13px;font-weight:500;color:var(--text);flex:1}.account-amount{font-size:14px;font-weight:600;color:var(--text);margin:0 12px}.account-status{font-size:10px;padding:3px 8px;border-radius:4px;font-weight:600;text-transform:uppercase}.account-status.full{background:#10b98126;color:var(--success)}.account-status.partial{background:#f59e0b26;color:var(--accent-2)}.bill-notes-text{margin:0;font-size:14px;line-height:1.6;color:var(--text);white-space:pre-wrap}.bill-detail-actions{display:flex;gap:8px;padding-top:8px;flex-wrap:wrap}.bill-detail-actions button{flex:1 1 140px}.bill-detail-list{display:grid;gap:10px}.bill-detail-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.bill-detail-item .label{font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:var(--text-secondary)}.bill-detail-item .value{font-size:13px;font-weight:600;color:var(--text);text-align:right}@media (min-width: 1024px){.streak-card{display:none}}@media (max-width: 900px){.layout,.bill{grid-template-columns:1fr}}@media (min-width: 1024px){.menu-toggle{display:none!important}}@media (max-width: 767px){.app{padding:24px 16px 16px;padding-bottom:calc(100px + env(safe-area-inset-bottom));max-width:100%;overflow-x:hidden}.hero{padding-top:16px;gap:0;margin-bottom:16px}.hero .lede,.hero .cta-row,.hero .hero-headline{display:none}.brand{grid-template-columns:auto 1fr;text-align:left;justify-items:start;gap:12px}.brand>div{text-align:left}.brand .eyebrow{margin:0;font-size:14px;font-weight:600;letter-spacing:1px}h1{font-size:clamp(22px,6vw,28px);text-align:center}.lede{text-align:center}.cta-row{justify-content:center}.hero .logo-image{width:40px;height:40px;border-radius:10px}.stats{grid-template-columns:1fr;gap:12px}.stat-card-wide{grid-column:span 1}#homeView>.stats{display:none}.stats-row-compact{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.stat-card-mini{padding:16px;border-radius:var(--radius-md);background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);text-align:center}.stat-card-mini .label{margin:0;color:var(--muted);font-size:12px}.stat-card-mini .value{margin:6px 0 4px;font-size:24px;font-weight:700;font-family:var(--font-display)}.stat-card-mini .hint{margin:0;color:var(--text-secondary);font-size:11px}.panel{padding:16px;border-radius:var(--radius-md)}.panel-head{flex-direction:column;align-items:flex-start;gap:12px}.filters{width:100%;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px}.filters::-webkit-scrollbar{display:none}.filters button{flex-shrink:0;padding:8px 14px;font-size:13px}.category-filter,.category-filter select,.panel-actions{width:100%}.panel-actions button{width:100%;justify-content:center}.bill{padding:14px}.bill-header{flex-wrap:wrap}.bill-actions{justify-content:flex-start;width:100%}.bill-actions button{flex:1;min-width:0;padding:10px 8px;font-size:13px}.reminder{padding:12px;grid-template-columns:1fr;gap:10px}.reminder-actions{justify-content:space-between;width:100%}.reminder-action-btn{flex:1;text-align:center}.reminders-carousel-wrapper{position:relative;margin:0 -16px;padding:0 16px}.reminders{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding:4px 0 16px;scrollbar-width:none;-ms-overflow-style:none}.reminders::-webkit-scrollbar{display:none}.reminder{flex:0 0 85%;max-width:85%;scroll-snap-align:center;scroll-snap-stop:always;display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:16px;background:var(--card);border:1px solid var(--border);box-shadow:0 4px 12px #00000014}.reminder:first-child{margin-left:0}.reminder:last-child{margin-right:0}.carousel-dots{display:flex;justify-content:center;gap:8px;padding:8px 0 4px}.carousel-dot{width:8px;height:8px;border-radius:50%;background:var(--border);border:none;padding:0;cursor:pointer;transition:all .3s ease}.carousel-dot.active{background:var(--accent);width:24px;border-radius:4px}.carousel-dot:hover{background:var(--muted)}.carousel-dot.active:hover{background:var(--accent)}.carousel-counter{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);font-weight:500}.carousel-counter-current{color:var(--accent);font-weight:700}.reminders .empty{flex:0 0 100%;max-width:100%}.modal{padding:20px;margin:0 auto;width:calc(100% - 32px);max-width:calc(100% - 32px);left:0;right:0;overflow-x:hidden}.grid{grid-template-columns:1fr}.fab{bottom:calc(20px + env(safe-area-inset-bottom));right:16px}}.fab{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));right:24px;width:56px;height:56px;border-radius:999px;background:var(--gradient-primary);color:var(--btn-text);border:none;box-shadow:0 4px 20px var(--accent-glow);display:grid;place-items:center;z-index:90;transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.fab:active{transform:scale(.92)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;opacity:1;visibility:visible;transition:opacity .3s ease;overflow:hidden}.modal-overlay.hidden{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s}.modal{background:var(--panel);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;width:calc(100% - 32px);max-width:500px;margin:0 auto;box-shadow:0 16px 32px #0003;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);max-height:85vh;overflow-y:auto;overflow-x:hidden}.modal-overlay.hidden .modal{transform:translateY(20px) scale(.95)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-head h2{margin:0;font-size:20px}.quick-add{display:flex;flex-direction:column;gap:8px;margin-bottom:4px;grid-column:1 / -1}.quick-add-row{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;gap:6px}.quick-add-nav{width:32px;height:32px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);display:grid;place-items:center;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.quick-add-nav svg{width:16px;height:16px}.quick-add-nav:hover{border-color:var(--accent);color:var(--accent);background:var(--surface-light)}.quick-add-buttons{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:scroll;overflow-y:hidden;padding-bottom:4px;padding-right:12px;-webkit-overflow-scrolling:touch;min-height:34px;scroll-snap-type:x proximity;scroll-padding:8px;max-width:100%;scrollbar-width:thin}.quick-add-chip{border:1px solid var(--border);background:var(--surface-light);color:var(--text);padding:6px 12px;border-radius:12px;font-size:11px;font-weight:700;letter-spacing:.2px;cursor:pointer;transition:transform .15s ease,border-color .2s ease,background .2s ease,color .2s ease;white-space:nowrap;flex-shrink:0;scroll-snap-align:start}.quick-add-chip:hover{border-color:var(--accent);background:var(--surface);transform:translateY(-1px)}.quick-add-chip:active{transform:translateY(0)}.quick-add-buttons::-webkit-scrollbar{height:6px}.quick-add-buttons::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.quick-add-buttons::-webkit-scrollbar-track{background:transparent}.quick-add-dropdown summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;gap:8px}.quick-add-dropdown summary::-webkit-details-marker{display:none}.quick-add-dropdown .dropdown-hint{font-size:.75rem;color:var(--text-secondary)}.quick-add-dropdown .dropdown-chevron{display:inline-flex;align-items:center;color:var(--text-secondary);transition:transform .2s ease}.quick-add-dropdown .dropdown-chevron svg{width:16px;height:16px}.quick-add-dropdown[open] .dropdown-chevron{transform:rotate(180deg)}.quick-add-manager-form{display:grid;gap:8px;margin-bottom:10px}.quick-add-manager-form input,.quick-add-manager-form select{padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-light);color:var(--text-primary);font-size:.875rem}.quick-add-manager-list{display:grid;gap:8px;margin-bottom:8px}.quick-add-manager-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface)}.quick-add-manager-item.is-dragging{opacity:.6;border-style:dashed}.quick-add-drag{cursor:grab;font-size:16px;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.quick-add-manager-item.is-default .quick-add-drag{color:var(--muted)}.quick-add-manager-meta{display:flex;flex-direction:column;gap:2px}.quick-add-manager-name{font-weight:600;font-size:.9rem}.quick-add-manager-sub{font-size:.75rem;color:var(--text-secondary)}.quick-add-manager-actions{display:flex;gap:6px;flex-shrink:0}.quick-add-manager-edit{display:grid;gap:6px;flex:1}.quick-add-manager-edit input,.quick-add-manager-edit select{padding:6px 8px;border-radius:8px;border:1px solid var(--border);background:var(--surface-light);color:var(--text-primary);font-size:.8rem}.icon-only{width:36px;height:36px;padding:0;display:grid;place-items:center;font-size:18px}.toast{position:fixed;bottom:calc(90px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);background:var(--panel);color:var(--text);padding:12px 24px;border-radius:99px;box-shadow:0 8px 18px #0003;font-weight:600;border:1px solid var(--border);z-index:110;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),opacity .3s ease;opacity:1;-webkit-backdrop-filter:none;backdrop-filter:none}.toast.hidden{transform:translate(-50%,20px);opacity:0;pointer-events:none}.tour-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0f1c99;z-index:120;display:flex;align-items:flex-start;justify-content:center;pointer-events:all}.tour-overlay.hidden{display:none}.tour-tooltip{position:absolute;max-width:280px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px 14px;box-shadow:0 12px 24px #00000040}.tour-title{font-weight:700;margin-bottom:6px}.tour-body{font-size:.85rem;color:var(--text-secondary);margin-bottom:10px}.tour-actions{display:flex;gap:8px;justify-content:flex-end}.hero{position:relative}.menu-toggle{position:absolute;top:0;left:0;z-index:50;background:var(--panel);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--border);box-shadow:var(--shadow);width:44px;height:44px;border-radius:12px}.menu-toggle svg{stroke-width:2.5;color:var(--accent)}.menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:200;opacity:1;transition:opacity .3s ease;visibility:visible}.menu-overlay.hidden{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .3s ease,visibility 0s .3s}.menu-drawer{position:absolute;top:0;left:0;bottom:0;width:300px;max-width:85vw;background:var(--panel);border-right:1px solid var(--border);box-shadow:6px 0 18px #0003;-webkit-backdrop-filter:none;backdrop-filter:none;transform:translate(0);transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}.menu-overlay.hidden .menu-drawer{transform:translate(-100%)}.menu-head{padding:20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}.menu-head h2{margin:0;font-size:20px;font-family:var(--font-display)}.menu-content{padding:24px 20px;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:32px}.menu-group{display:grid;gap:12px;animation:popIn .6s ease both}.menu-group.hidden{display:none}.full-width{width:100%;justify-content:center;padding:14px}.menu-footer{margin-top:auto;text-align:center;padding-top:20px}.menu-row{display:flex;justify-content:space-between;align-items:center;padding:12px 14px}.menu-select{padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:var(--surface-light);color:var(--text-primary);font-size:.875rem;font-family:inherit;cursor:pointer;transition:all .2s ease}.menu-select:hover{border-color:var(--accent)}.menu-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--surface-highlight);transition:.4s;border-radius:34px;border:1px solid var(--border)}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:2px;background-color:var(--text-secondary);transition:.4s;border-radius:50%}input:checked+.slider{background-color:var(--accent)}input:checked+.slider:before{transform:translate(18px);background-color:var(--btn-text)}button.danger{color:var(--danger);border-color:#f565654d}button.danger:hover{background:#f565651a}.category-filter{margin-top:8px}.category-filter select{padding:8px 12px;border-radius:8px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:14px;cursor:pointer}.badge-category{padding:4px 10px;border-radius:6px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--btn-text);font-weight:600;font-size:12px;display:inline-flex;align-items:center;gap:6px}.category-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff40;border-radius:4px;padding:2px}.category-icon svg{width:12px;height:12px}.category-label-with-icon{display:inline-flex;align-items:center;gap:6px}.category-label-with-icon .category-icon{background:var(--surface);color:var(--accent)}.category-icon.cat-utilities{color:#22d3ee}.category-icon.cat-subscriptions{color:#38bdf8}.category-icon.cat-housing{color:#60a5fa}.category-icon.cat-insurance{color:#fbbf24}.category-icon.cat-loans{color:#f97316}.category-icon.cat-health{color:#fb7185}.category-icon.cat-transportation{color:#34d399}.category-icon.cat-other{color:#94a3b8}.category-icon.brand-netflix{color:#e50914}.category-icon.brand-spotify{color:#1db954}.category-icon.brand-youtube{color:red}.category-icon.brand-apple{color:#111}.category-icon.brand-google{color:#4285f4}.category-icon.brand-hbomax{color:#5b2b82}.category-icon.brand-paramount{color:#0064ff}.category-icon.brand-paypal{color:#00457c}.category-icon.brand-primevideo{color:#1f2e3e}.category-icon.brand-amazonprime{color:#00a8e1}.category-icon.brand-amazon{color:#f90}.category-icon.brand-discover{color:#ff6000}.category-icon.brand-microsoft{color:#5e5e5e}.category-icon.brand-dropbox{color:#0061ff}.category-icon.brand-adobe{color:red}.category-icon.brand-zoom{color:#0b5cff}.category-icon.brand-slack{color:#4a154b}.category-icon.brand-att{color:#009fdb}.category-icon.brand-tmobile{color:#e20074}.category-icon.brand-verizon{color:#cd040b}.category-icon.brand-spectrum{color:#7b16ff}.category-icon.brand-chase{color:#117aca}.category-icon.brand-amex{color:#2e77bc}.category-icon.brand-bankofamerica{color:#012169}.category-icon.brand-wellsfargo{color:#d71e28}.category-icon.brand-venmo{color:#008cff}.category-icon.brand-cashapp{color:#00c244}.category-icon.brand-zelle{color:#6d1ed4}.category-icon.brand-monogram{background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:9px;font-weight:700;letter-spacing:.03em;line-height:1}.stat-card-wide{grid-column:span 1}@media (min-width: 700px){.stat-card-wide{grid-column:span 2}}.category-breakdown{display:flex;flex-direction:column;gap:8px;margin-top:12px}.category-row{display:flex;align-items:center;gap:10px}.category-label{font-size:13px;color:var(--text-secondary);min-width:100px;flex-shrink:0}.category-bar-container{flex:1;height:8px;background:var(--surface);border-radius:4px;overflow:hidden}.category-bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:4px;transition:width .3s ease}.category-amount{font-size:13px;font-weight:600;color:var(--text);min-width:70px;text-align:right}.pull-to-refresh{position:fixed;top:0;left:0;right:0;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--bg) 0%,transparent 100%);transform:translateY(-100%);transition:transform .3s ease,opacity .3s ease;z-index:150;opacity:0;pointer-events:none}.pull-to-refresh.visible{transform:translateY(0);opacity:1}.pull-to-refresh.refreshing .pull-to-refresh-icon{animation:spin 1s linear infinite}.pull-to-refresh-content{display:flex;align-items:center;gap:10px;padding:12px 20px;background:var(--panel);border:1px solid var(--border);border-radius:999px;box-shadow:var(--shadow)}.pull-to-refresh-icon{color:var(--accent);transition:transform .2s ease}.pull-to-refresh.ready .pull-to-refresh-icon{transform:rotate(180deg)}.pull-to-refresh-text{font-size:14px;font-weight:600;color:var(--text)}.update-banner{position:fixed;top:0;left:0;right:0;background:var(--gradient-primary);color:var(--btn-text);padding:12px 20px;display:flex;align-items:center;justify-content:center;gap:12px;z-index:200;font-weight:600;font-size:14px;transform:translateY(0);transition:transform .3s ease,opacity .3s ease}.update-banner.hidden{transform:translateY(-100%);opacity:0;pointer-events:none}.update-banner button{background:#fff3;border:1px solid rgba(255,255,255,.3);color:var(--btn-text);padding:6px 14px;border-radius:8px;font-weight:700;font-size:13px}.update-banner button:hover{background:#ffffff4d}.desktop-layout{display:block}.desktop-sidebar{display:none}.main-content{display:contents}@media (min-width: 1024px){body{overflow:hidden;height:100vh}.app{height:100vh;overflow:hidden;padding-bottom:0}.desktop-layout{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:stretch;height:calc(100vh - 64px)}.desktop-sidebar{display:flex;flex-direction:column;height:100%;max-height:100%;background:var(--panel);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.main-content{display:block;height:100%;overflow-y:auto;overflow-x:hidden;padding-right:8px;padding-bottom:80px;scrollbar-width:none;-ms-overflow-style:none}.main-content::-webkit-scrollbar{display:none}.main-content .hero .brand .logo-image{display:none}.main-content .hero .brand{grid-template-columns:1fr}}@media (min-width: 1280px){.desktop-layout{grid-template-columns:280px 1fr;gap:32px}}@media (min-width: 1600px){.desktop-layout{grid-template-columns:300px 1fr;gap:40px}}.sidebar-header{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid var(--border)}.sidebar-logo{width:40px;height:40px;border-radius:10px}.sidebar-header .eyebrow{margin:0;font-size:14px}.sidebar-header .hint{margin:0;font-size:12px}.sidebar-content{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:24px;scrollbar-width:none;-ms-overflow-style:none}.sidebar-content::-webkit-scrollbar{display:none}.sidebar-footer{padding:16px 20px;border-top:1px solid var(--border);text-align:center}.sidebar-footer .hint{margin:0}.settings-group{display:flex;flex-direction:column;gap:10px}.settings-group.hidden{display:none}.settings-group .eyebrow{margin-bottom:4px;font-size:11px}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--surface);border-radius:var(--radius-sm);transition:background .2s ease}.settings-row:hover{background:var(--surface-hover)}.settings-row span{font-size:13px;color:var(--text-secondary)}.settings-select{padding:5px 8px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:12px;font-family:inherit;cursor:pointer;transition:all .2s ease;max-width:110px}.settings-select:hover{border-color:var(--accent)}.settings-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.settings-group .ghost.full-width{justify-content:center;padding:10px 12px;font-size:13px}.notification-sub-setting{margin-left:12px;padding-left:12px!important;border-left:2px solid var(--border);opacity:.6;pointer-events:none;transition:opacity .3s ease}.notification-sub-setting.enabled{opacity:1;pointer-events:auto}.notification-hint{margin-top:8px;padding:8px 12px;background:var(--surface);border-radius:var(--radius-sm);font-size:12px;text-align:center}.notification-hint.warning{background:#fbbf241a;color:var(--accent-2)}.notification-hint.success{background:#34d3991a;color:var(--success)}@keyframes highlight-pulse{0%{box-shadow:0 0 0 0 var(--accent)}50%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}.highlight-pulse{animation:highlight-pulse 1s ease-out 2;border-color:var(--accent)!important}.auth-modal{max-width:400px;width:100%}.auth-tabs{display:flex;gap:8px;margin-bottom:20px;padding:4px;background:var(--surface);border-radius:var(--radius-sm)}.auth-tab{flex:1;padding:10px 16px;border:none;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;border-radius:6px;transition:all .2s ease}.auth-tab:hover{color:var(--text)}.auth-tab.active{background:var(--accent);color:var(--btn-text)}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form label{display:flex;flex-direction:column;gap:6px}.auth-form label span{font-size:13px;color:var(--text-secondary)}.auth-form input{padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:inherit;font-size:15px;transition:all .2s ease}.auth-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.auth-form input::placeholder{color:var(--muted)}.auth-error{padding:10px 14px;border-radius:var(--radius-sm);background:#f871711a;border:1px solid var(--danger);color:var(--danger);font-size:13px;text-align:center}.auth-switch{display:flex;align-items:center;justify-content:center;gap:4px;font-size:13px;color:var(--text-secondary);margin:0}.auth-switch .ghost{padding:4px 8px;font-size:13px;color:var(--accent)}.auth-divider{display:flex;align-items:center;gap:12px;margin:8px 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-divider span{font-size:12px;color:var(--muted);white-space:nowrap}.user-profile{display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface);border-radius:var(--radius-sm);margin-bottom:8px}.user-avatar{width:40px;height:40px;border-radius:50%;background:var(--accent);color:var(--btn-text);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;flex-shrink:0}.user-info{flex:1;min-width:0;overflow:hidden}.user-name{font-size:14px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.user-email{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.sync-status{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--surface);border-radius:var(--radius-sm);font-size:12px;color:var(--text-secondary)}.sync-status.synced{color:var(--success)}.sync-status.syncing{color:var(--accent)}.sync-status .sync-icon{width:14px;height:14px}.sync-status.syncing .sync-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#recaptchaContainer{display:flex;justify-content:center;margin:8px 0}.auth-form button[disabled]{opacity:.6;cursor:not-allowed}.login-prompt{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:linear-gradient(135deg,var(--accent-glow),var(--surface));border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:16px}.login-prompt-text{font-size:13px;color:var(--text-secondary)}.login-prompt-text strong{color:var(--accent)}.login-prompt .primary{padding:8px 16px;font-size:13px;white-space:nowrap}.account-tracking-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem;margin-top:.5rem;overflow:hidden;max-width:100%;box-sizing:border-box}.account-checkbox-fields{display:flex;flex-direction:column;gap:.75rem;max-width:100%}.account-checkbox-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;max-width:100%}.account-checkbox-row .checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;flex:1;min-width:140px}.account-checkbox-row .checkbox-label input[type=checkbox]{width:1.125rem;height:1.125rem;accent-color:var(--primary);cursor:pointer}.account-checkbox-row .checkbox-label span{font-size:.875rem;color:var(--text)}.account-amount-input{display:flex;align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;flex:0 0 auto;min-width:120px}.account-amount-input .currency-prefix{padding:.5rem .5rem .5rem .75rem;color:var(--muted);font-size:.875rem;background:var(--surface);border-right:1px solid var(--border)}.account-amount-input input[type=number]{border:none;background:transparent;padding:.5rem .75rem .5rem .5rem;font-size:.875rem;width:80px;color:var(--text)}.account-amount-input input[type=number]:disabled{opacity:.5;cursor:not-allowed}.account-amount-input.locked{opacity:.5}.account-amount-input.locked input[type=number]{cursor:not-allowed}.account-amount-input input[type=number]:focus{outline:none}.account-input-group{display:flex;align-items:center;gap:.5rem}.account-input-group select{padding:.5rem;font-size:.8125rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);cursor:pointer}.account-input-group select:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 480px){.account-checkbox-row{flex-direction:column;align-items:flex-start;gap:.5rem}.account-input-group{width:100%}.account-amount-input{flex:1}.account-amount-input input[type=number]{flex:1;width:auto}}.add-account-form{display:flex;flex-direction:column;gap:.75rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.add-account-form label span{font-size:.8125rem}.accounts-list{display:flex;flex-direction:column;gap:.5rem}.account-item{display:flex;align-items:center;justify-content:space-between;padding:.625rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.account-info{display:flex;flex-direction:column;gap:.125rem}.account-name{font-weight:500;font-size:.875rem;color:var(--text)}.account-type{font-size:.75rem;color:var(--text-secondary)}.account-item .delete-account{padding:.25rem .5rem;font-size:.75rem;color:var(--danger);opacity:.7}.account-item .delete-account:hover{opacity:1}.badge-account{display:inline-flex;align-items:center;gap:.25rem;font-size:.6875rem;padding:.25rem .5rem;background:var(--accent-glow);color:var(--accent);border-radius:4px;border:1px solid var(--accent-glow)}.badge-account.funding{background:#fbbf241a;color:var(--accent-2);border-color:#fbbf2433}.badge-account.funding.full{background:#fbbf2433;border-color:#fbbf2466}.badge-account.payment{background:#34d3991a;color:var(--success);border-color:#34d39933}.badge-account.payment.full{background:#34d39933;border-color:#34d39966}.bottom-tab-bar{display:none}@media (max-width: 1023px){.bottom-tab-bar{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(65px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border);border-left:none;border-right:none;border-bottom:none;border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none;z-index:1000;padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);box-shadow:none;transition:transform .3s ease,opacity .3s ease;align-items:center}.bottom-tab-bar.nav-hidden{transform:translateY(120px);opacity:0;pointer-events:none}.tab-indicator{position:absolute;top:2px;left:10%;transform:translate(-50%);height:3px;width:28px;background:var(--accent);border-radius:999px;transition:left .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px var(--accent-glow)}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:transparent!important;background-color:transparent!important;border:none!important;border-radius:12px!important;outline:none!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:var(--muted);font-size:11px;font-weight:600;cursor:pointer;transition:color .2s ease,transform .2s ease;padding:6px 4px;margin:0 2px;min-height:44px;position:relative}.tab-item:focus,.tab-item:focus-visible,.tab-item:active,.tab-item.active{background:transparent!important;background-color:transparent!important;outline:none!important;box-shadow:none!important}.tab-item.active{color:var(--accent)}.tab-item svg{width:24px;height:24px;transition:stroke .2s ease,transform .2s ease}.tab-item.active svg{stroke:var(--accent);transform:translateY(-1px)}.tab-item .update-dot{position:absolute;top:6px;right:18px;width:8px;height:8px;border-radius:999px;background:var(--accent-2);box-shadow:0 0 0 2px var(--panel);opacity:0;transform:scale(.6);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.tab-item.has-update .update-dot{opacity:1;transform:scale(1)}.tab-item:not(.tab-add):active svg{transform:scale(.9)}.tab-add{position:relative;display:flex;align-items:center;justify-content:center;margin:0;padding:0}.tab-add-icon{width:56px;height:56px;min-width:56px;min-height:56px;flex-shrink:0;aspect-ratio:1 / 1;background:var(--gradient-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px var(--accent-glow),0 2px 8px #0000001a;transition:all .2s ease}.tab-add-icon svg{stroke:var(--btn-text);width:28px;height:28px}.tab-add:active .tab-add-icon{transform:scale(.92);box-shadow:0 3px 12px var(--accent-glow)}.tab-add span,.mobile-view{display:none}.mobile-view.active{display:block}main{padding-bottom:calc(89px + env(safe-area-inset-bottom))!important}.fab,.menu-toggle{display:none!important}.settings-content{display:flex;flex-direction:column;gap:1rem}.settings-content .settings-group,.settings-content .menu-group{background:var(--surface);border-radius:var(--radius-md);padding:1rem;border:1px dashed var(--border)}.settings-content .menu-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border)}.settings-content .menu-row:last-child{border-bottom:none}.settings-footer{text-align:center;padding:1rem}.stats-detail{display:flex;flex-direction:column;gap:1rem}.payment-status-breakdown{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.status-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border)}.status-row:last-child{border-bottom:none}.status-row:hover{background:#1cc8d80f}.status-label{font-size:.875rem;color:var(--text-secondary)}.status-value{font-size:1.25rem;font-weight:600;color:var(--text);font-family:var(--font-display)}}@media (min-width: 1024px){.mobile-view{display:block!important}.bottom-tab-bar,#settingsView,#statsView{display:none!important}}@media (min-width: 1024px){.main-content .hero{margin-bottom:20px;gap:8px}.main-content .hero .brand{display:flex;align-items:center;gap:16px}.main-content .hero .brand>div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.main-content .hero .eyebrow{margin:0;font-size:12px}.main-content .hero h1.hero-headline{font-size:clamp(20px,2vw,26px);margin:0;line-height:1.2;font-family:var(--font-display)}.main-content .hero .lede,.main-content .hero .cta-row{display:none}#homeView.mobile-view{display:grid!important;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;gap:16px;grid-template-areas:"stats stats" "reminders reminders" "week streak"}#homeView>.stats{grid-area:stats;display:grid!important;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:0}#homeView>.stats .stat-card{margin:0}#homeView>.stats .stat-card{position:relative;overflow:hidden}#homeView>.stats .stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gradient-accent);border-radius:4px 0 0 4px}#homeView>.stats .stat-card:nth-child(2):before{background:var(--gradient-warning)}#homeView>.stats .stat-card:nth-child(3):before{background:var(--gradient-success)}#homeView>.panel{grid-area:reminders;margin:0;display:flex;flex-direction:column}.carousel-dots,.carousel-counter{display:none!important}#homeView .reminders{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}#homeView .reminders-carousel-wrapper{flex:1;min-height:0;overflow-y:auto;padding-right:6px}#homeView .reminder{display:flex;flex-direction:column;gap:12px;padding:16px;transition:transform .2s ease,box-shadow .2s ease}#homeView .reminder:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}#homeView>.week-preview-card{grid-area:week;margin:0}#homeView>.streak-card{grid-area:streak;margin:0}.week-preview-card{padding:14px}.week-preview-title{font-size:15px;margin-bottom:8px}.week-days{grid-template-columns:repeat(7,1fr);gap:6px}.week-day{padding:10px 6px;min-height:84px;height:112px;justify-content:flex-start;border-radius:12px;background:var(--surface);transition:all .2s ease;overflow:hidden}.week-day:hover{background:var(--surface-hover);transform:translateY(-2px)}.week-day.today{background:var(--accent);box-shadow:0 4px 12px var(--accent-glow)}.day-name{font-size:10px;margin-bottom:2px}.day-num{font-size:18px;margin-bottom:6px}.day-dots{flex-direction:column;gap:3px;max-width:none;width:100%}.week-day .day-bill-names{display:flex;flex-direction:column;gap:3px;width:100%;margin-top:4px;max-height:36px;overflow:hidden}.week-day .day-bill-name{font-size:10px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2px 6px;background:var(--surface-highlight);border-radius:4px;text-align:center}.week-day.today .day-bill-name{background:#fff3;color:var(--btn-text)}.week-day .day-bill-name.paid{text-decoration:line-through;opacity:.6}.week-day .day-bill-name.overdue{background:#f8717133;color:var(--danger)}.week-day.today .day-bill-name.overdue{background:#f871714d}.day-amount{font-size:12px;font-weight:600;margin-top:auto;padding-top:8px}.streak-card{padding:20px;display:flex;flex-direction:column;justify-content:center}.streak-header{gap:16px}.streak-icon{font-size:40px}.streak-title{font-size:22px;font-family:var(--font-display)}.streak-subtitle{font-size:14px}.streak-bar-container{height:10px;margin:16px 0}.streak-hint{font-size:13px}}@media (min-width: 1400px){#homeView.mobile-view{grid-template-columns:2fr 1fr;grid-template-areas:"stats stats" "reminders streak" "week week"}#homeView>.stats{gap:20px}#homeView .reminders{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.week-day{min-height:110px;padding:14px 10px;height:126px}.day-num{font-size:22px}}@media (max-width: 374px){.app{padding:12px 10px;padding-bottom:calc(90px + env(safe-area-inset-bottom))}.brand{gap:8px}.hero .logo-image{width:36px;height:36px;border-radius:8px}.brand .eyebrow{font-size:12px;letter-spacing:.5px}h1{font-size:20px}.panel{padding:12px;border-radius:12px}.panel-head{margin-bottom:8px}.panel h2{font-size:16px}.filters{gap:4px}.filters button{padding:6px 10px;font-size:11px}.stats-row-compact{gap:8px}.stat-card-mini{padding:12px 8px}.stat-card-mini .label{font-size:10px}.stat-card-mini .value{font-size:20px}.stat-card-mini .hint{font-size:10px}.reminder{flex:0 0 90%;max-width:90%;padding:12px;gap:10px}.reminder strong{font-size:14px}.reminder .meta{font-size:11px}.reminder-actions{flex-direction:column;gap:8px}.reminder-action-btn{padding:10px 12px;font-size:12px;width:100%}.reminder .badge{font-size:10px;padding:4px 8px}.bill-list .bill{padding:10px 12px;gap:8px}.bill-list .bill .name{font-size:13px;max-width:120px}.bill-list .bill .amount{font-size:11px}.bill-list .bill .badge{font-size:9px;padding:2px 5px}.bill-list .bill.expanded .bill-actions{gap:6px;flex-wrap:wrap}.bill-list .bill.expanded .bill-actions button{padding:8px;font-size:11px;min-width:0}.fab{width:48px;height:48px;right:12px;bottom:calc(16px + env(safe-area-inset-bottom))}.fab svg{width:20px;height:20px}.modal{padding:16px;width:calc(100% - 20px);max-width:calc(100% - 20px);max-height:90vh}.modal-head h2{font-size:16px}.modal .grid{gap:10px}.quick-add-row{grid-template-columns:28px 1fr 28px}.quick-add-nav{width:28px;height:28px}.modal label{font-size:12px}.modal input,.modal select,.modal textarea{padding:10px;font-size:14px}.modal .actions{gap:8px}.modal .actions button{padding:10px 14px;font-size:13px}.bottom-tab-bar{height:calc(65px + env(safe-area-inset-bottom));bottom:0;left:0;right:0;border-radius:0}.tab-item{font-size:9px;padding:4px 2px}.tab-item svg{width:18px;height:18px}.week-days{gap:2px}.week-day{min-height:56px;padding:4px 2px}.day-label{font-size:9px}.day-num{font-size:14px}.day-amount{font-size:9px}.streak-icon{font-size:24px}.streak-title{font-size:14px}.streak-subtitle{font-size:11px}.account-checkbox-row{flex-direction:column;align-items:flex-start;gap:6px}.account-input-group{width:100%;flex-wrap:wrap}.account-amount-input{flex:1;min-width:80px}.deposit-badge{font-size:9px;padding:2px 5px}.menu-drawer{width:260px}.menu-group{padding:10px 12px}.menu-row span{font-size:13px}.menu-select{font-size:12px;padding:6px 8px}}@media (min-width: 375px) and (max-width: 480px){.app{padding:14px;padding-bottom:calc(95px + env(safe-area-inset-bottom))}.panel{padding:14px}.filters button{padding:7px 12px;font-size:12px}.stat-card-mini{padding:14px 10px}.stat-card-mini .value{font-size:22px}.reminder{flex:0 0 88%;max-width:88%;padding:14px}.bill-list .bill .name{font-size:14px;max-width:140px}.week-day{min-height:62px;padding:6px 4px}.day-num{font-size:15px}.bottom-tab-bar{height:calc(60px + env(safe-area-inset-bottom))}.tab-item svg{width:20px;height:20px}}@media (max-width: 767px){html,body{overflow-x:hidden;width:100%;max-width:100vw}.app{overflow-x:hidden;max-width:100%}.bill-list .bill .name,.reminder strong,.stat-card-mini .label,.streak-title{word-break:break-word;overflow-wrap:break-word}.status-badges,.badges{flex-wrap:wrap}.bill-actions,.reminder-actions{max-width:100%;overflow-x:hidden}.modal input,.modal select,.modal textarea{max-width:100%;box-sizing:border-box}.grid{max-width:100%;overflow:hidden}}@supports (padding-top: env(safe-area-inset-top)){.app{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}@media (max-width: 374px){.app{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}}.bottom-tab-bar{left:0;right:0}.menu-drawer{padding-top:env(safe-area-inset-top)}}@media (max-height: 500px) and (orientation: landscape){.app{padding-top:12px;padding-bottom:calc(70px + env(safe-area-inset-bottom))}.hero{margin-bottom:10px}.bottom-tab-bar{height:calc(61px + env(safe-area-inset-bottom));bottom:0}.tab-item{flex-direction:row;gap:4px}.tab-item svg{width:18px;height:18px}.modal{max-height:95vh}.reminders{flex-wrap:nowrap}.reminder{flex:0 0 70%;max-width:70%}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}@keyframes popIn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes riseIn{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}@media (min-width: 1100px){.app{background:var(--panel);border-radius:28px;padding:28px;box-shadow:var(--shadow)}.main-content{--rail-width: 320px;display:grid;grid-template-columns:minmax(0,1fr) var(--rail-width);grid-template-rows:auto 1fr;grid-template-areas:"header rail" "home rail";gap:24px;padding-right:0;position:relative;height:100%}.main-content:after{content:"";position:absolute;top:8px;bottom:8px;left:calc(100% - var(--rail-width) - 12px);width:1px;background:linear-gradient(to bottom,transparent,var(--border),transparent);pointer-events:none}.main-content .hero{grid-area:header;margin-bottom:0;padding:16px 20px;border-radius:var(--radius-lg);background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow)}#homeView.mobile-view{grid-area:home;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);grid-template-areas:"cards cards" "tasks side-top" "tasks side-bottom";grid-template-rows:auto minmax(0,1fr) minmax(0,1fr);gap:18px;min-height:100%;align-content:stretch}#homeView>.stats{grid-area:cards;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0}#homeView>.panel{grid-area:tasks;margin:0;height:100%}#homeView>.week-preview-card{grid-area:side-top;margin:0;height:100%}#homeView>.streak-card{grid-area:side-bottom;margin:0;height:100%}#billsView{grid-area:rail;display:block!important;margin:0;position:relative;align-self:stretch;height:100%}#billsView .panel{border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;height:100%}#billsView .panel-head{flex-direction:column;align-items:flex-start;gap:8px}#billsView .filters,#billsView .category-filter{display:none}#billsView .category-filter.control-tower-filter{display:inline-flex}#billsView .filters{width:100%;display:none;flex-wrap:wrap;gap:6px}#billsView .filter-btn{justify-content:flex-start;padding:6px 10px;font-size:12px}#billsView .category-filter,#billsView .panel-actions{width:100%}#billsView .panel-actions{display:flex;justify-content:flex-end}#billsView .control-tower-filter{display:inline-flex}#billsView .panel-head>div:first-child{width:100%}#billsView .control-tower-filter select{font-size:12px}#billsView .panel-actions button{padding:6px 10px;font-size:11px}#billList{flex:1;overflow-y:auto;padding-right:6px}#billsView .category-filter{display:none}#billsView .bill-list .bill{padding:8px 10px;gap:6px;display:grid;grid-template-columns:1fr auto;align-items:start;border-width:1px;box-shadow:none}#billsView .bill-list .bill>div:first-child{gap:2px;min-width:0}#billsView .bill-list .bill .bill-header{gap:6px}#billsView .bill-list .bill .name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#billsView .bill-list .bill .amount{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#billsView .bill-list .deposit-badge{display:none}#billsView .bill-list .status-badges .badge{font-size:9px;padding:2px 5px}#billsView .bill-list .bill .badges,#billsView .bill-list .bill .expand-indicator{display:none}#billsView .bill-list .bill .bill-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start;grid-column:1 / -1}#billsView .bill-list .bill .bill-actions button{padding:4px 8px;font-size:11px}#billsView .bill-list{display:flex;flex-direction:column;gap:6px}}
