:root{--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px}:root{--bg: #0b1117;--panel: #111827;--border: rgba(255, 255, 255, .08);--text: #e5e7eb;--text-secondary: #9ca3af;--muted: #6b7280;--accent: #0891b2;--accent-2: #f59e0b;--accent-glow: rgba(8, 145, 178, .18);--danger: #f87171;--success: #10b981;--shadow: 0 8px 20px rgba(0, 0, 0, .28);--gradient-primary: linear-gradient(135deg, #0891b2, #22d3ee);--gradient-accent: linear-gradient(135deg, #0891b2, #22d3ee);--gradient-success: linear-gradient(135deg, #10b981, #0891b2);--gradient-warning: linear-gradient(135deg, #f59e0b, #ef4444);--surface: rgba(148, 163, 184, .06);--surface-hover: rgba(148, 163, 184, .12);--surface-highlight: rgba(148, 163, 184, .18);--card: #0f172a;--card-hover: #111d33;--btn-text: #0f172a;--badge-text: #0f172a;--hover: rgba(255, 255, 255, .06);--blob-1-start: #0b6b84;--blob-1-end: #0e7490;--blob-2-start: #1f2937;--blob-2-end: #111827}@media (prefers-color-scheme: light){:root{--bg: #f6f7fb;--panel: #ffffff;--border: rgba(15, 23, 42, .08);--text: #0f172a;--text-secondary: #475569;--muted: #64748b;--accent: #0e7490;--accent-2: #0284c7;--accent-glow: rgba(14, 116, 144, .12);--danger: #dc2626;--success: #059669;--shadow: 0 8px 20px rgba(15, 23, 42, .08);--gradient-primary: linear-gradient(135deg, #0e7490, #22d3ee);--gradient-accent: linear-gradient(135deg, #0e7490, #22d3ee);--gradient-success: linear-gradient(135deg, #059669, #0e7490);--gradient-warning: linear-gradient(135deg, #f59e0b, #dc2626);--surface: rgba(15, 23, 42, .03);--surface-hover: rgba(15, 23, 42, .05);--surface-highlight: rgba(15, 23, 42, .07);--card: #ffffff;--card-hover: #ffffff;--btn-text: #ffffff;--badge-text: #ffffff;--hover: rgba(0, 0, 0, .04);--blob-1-start: #dbeafe;--blob-1-end: #bae6fd;--blob-2-start: #e2e8f0;--blob-2-end: #cbd5e1}}body.light{--bg: #f6f7fb;--panel: #ffffff;--border: rgba(15, 23, 42, .08);--text: #0f172a;--text-secondary: #475569;--muted: #64748b;--accent: #0e7490;--accent-2: #0284c7;--accent-glow: rgba(14, 116, 144, .12);--danger: #dc2626;--success: #059669;--shadow: 0 8px 20px rgba(15, 23, 42, .08);--gradient-primary: linear-gradient(135deg, #0e7490, #22d3ee);--gradient-accent: linear-gradient(135deg, #0e7490, #22d3ee);--gradient-success: linear-gradient(135deg, #059669, #0e7490);--gradient-warning: linear-gradient(135deg, #f59e0b, #dc2626);--surface: rgba(15, 23, 42, .03);--surface-hover: rgba(15, 23, 42, .05);--surface-highlight: rgba(15, 23, 42, .07);--card: #ffffff;--card-hover: #ffffff;--btn-text: #ffffff;--badge-text: #ffffff;--hover: rgba(0, 0, 0, .04);--blob-1-start: #dbeafe;--blob-1-end: #bae6fd;--blob-2-start: #e2e8f0;--blob-2-end: #cbd5e1}body.dark{--bg: #0b1117;--panel: #111827;--border: rgba(255, 255, 255, .08);--text: #e5e7eb;--text-secondary: #9ca3af;--muted: #6b7280;--accent: #0891b2;--accent-2: #f59e0b;--accent-glow: rgba(8, 145, 178, .18);--danger: #f87171;--success: #10b981;--shadow: 0 8px 20px rgba(0, 0, 0, .28);--gradient-primary: linear-gradient(135deg, #0891b2, #22d3ee);--gradient-accent: linear-gradient(135deg, #0891b2, #22d3ee);--gradient-success: linear-gradient(135deg, #10b981, #0891b2);--gradient-warning: linear-gradient(135deg, #f59e0b, #ef4444);--surface: rgba(148, 163, 184, .06);--surface-hover: rgba(148, 163, 184, .12);--surface-highlight: rgba(148, 163, 184, .18);--card: #0f172a;--card-hover: #111d33;--btn-text: #0f172a;--badge-text: #0f172a;--hover: rgba(255, 255, 255, .06);--blob-1-start: #0b6b84;--blob-1-end: #0e7490;--blob-2-start: #1f2937;--blob-2-end: #111827}*{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:Manrope,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}.background{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.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}.brand{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}.logo{width:52px;height:52px;border-radius:14px;background:var(--gradient-accent);display:grid;place-items:center;font-weight:700;letter-spacing:.5px;box-shadow:0 8px 25px var(--accent-glow),var(--shadow)}.logo-image{width:52px;height:52px;border-radius:14px;box-shadow:var(--shadow);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:Space Grotesk,Manrope,sans-serif;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:var(--surface-highlight);border:1px solid var(--border);color:var(--muted);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;color:var(--text);background:var(--surface);border:1px solid var(--border);box-shadow:none}button:hover{background:var(--surface-hover);box-shadow:0 4px 12px #0000001f}button.primary{background:var(--gradient-primary);border:none;color:var(--btn-text);font-weight:700;box-shadow:0 6px 14px var(--accent-glow)}button.ghost{background:transparent;border:1px solid var(--border);color:var(--muted)}.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:1px solid var(--border);box-shadow:0 2px 8px #00000014;transition:box-shadow .2s ease}.stat-card:hover{box-shadow:0 6px 16px #0000001f}.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:Space Grotesk,sans-serif}.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:Space Grotesk,sans-serif}.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:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow);-webkit-backdrop-filter:none;backdrop-filter:none}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.panel h2{margin:0;font-family:Space Grotesk,sans-serif;letter-spacing:.2px}.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:1px 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)}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:1px solid var(--border);background:var(--card);box-shadow:0 1px 4px #00000014}.reminder strong{font-size:16px}.carousel-dots,.carousel-counter{display:none}.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.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}.filters button{padding:8px 12px;border-radius:10px;color:var(--muted)}.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:1px 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 1px 4px #00000014;transition:box-shadow .2s ease}.bill:hover{box-shadow:0 6px 16px #0000001f}.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.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:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.bill-list .bill.expanded .bill-actions button{flex:1;padding:10px;font-size:13px}.bill-list .bill.expanded .expand-indicator{transform:rotate(180deg)}}@media (min-width: 768px){.bill .expand-indicator{display:none!important}}.home-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px;margin-top:16px}.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}.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}.week-day{display:flex;flex-direction:column;align-items:center;padding:8px 4px;border-radius:10px;cursor:pointer;transition:background .2s ease}.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}.week-preview-card.expanded .week-expanded-view{display:grid}.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 0;border-bottom:1px solid var(--border);gap:12px}.expanded-bill-item:last-child{border-bottom:none}.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}@media (min-width: 768px){.streak-card{display:none}}@media (max-width: 900px){.layout,.bill{grid-template-columns:1fr}}@media (min-width: 768px){.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:Space Grotesk,sans-serif}.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{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{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;transition:opacity .3s ease;overflow:hidden}.modal-overlay.hidden{opacity:0;pointer-events:none}.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;transform:translateY(0) scale(1);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}.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}.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:Space Grotesk,sans-serif}.menu-content{padding:24px 20px;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:32px}.menu-group{display:grid;gap:12px}.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}.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 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: 768px){.bottom-tab-bar{display:flex;position:fixed;bottom:12px;left:16px;right:16px;height:calc(64px + env(safe-area-inset-bottom));background:var(--panel);border:1px solid var(--border);border-radius:32px;backdrop-filter:none;-webkit-backdrop-filter:none;z-index:1000;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 6px 18px #0000001f;transition:transform .3s ease,opacity .3s ease}.bottom-tab-bar.nav-hidden{transform:translateY(120px);opacity:0;pointer-events:none}.tab-indicator{position:absolute;bottom:6px;left:10%;transform:translate(-50%);height:4px;width:32px;background:var(--accent);border-radius:2px;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:10px;font-weight:600;cursor:pointer;transition:color .2s ease,transform .2s ease;padding:6px 4px;margin:6px 2px}.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:22px;height:22px;transition:stroke .2s ease,transform .2s ease}.tab-item.active svg{stroke:var(--accent);transform:translateY(-1px)}.tab-item:not(.tab-add):active svg{transform:scale(.9)}.tab-add{position:relative;display:flex;align-items:center;justify-content:center}.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:100px!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}.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-label{font-size:.875rem;color:var(--text-secondary)}.status-value{font-size:1.25rem;font-weight:600;color:var(--text)}}@media (min-width: 769px){.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}.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}.carousel-dots,.carousel-counter{display:none!important}#homeView .reminders{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}#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:20px}.week-preview-title{font-size:16px;margin-bottom:16px}.week-days{grid-template-columns:repeat(7,1fr);gap:8px}.week-day{padding:12px 8px;min-height:100px;justify-content:flex-start;border-radius:12px;background:var(--surface);transition:all .2s ease}.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:11px;margin-bottom:2px}.day-num{font-size:20px;margin-bottom:8px}.day-dots{flex-direction:column;gap:4px;max-width:none;width:100%}.week-day .day-bill-names{display:flex;flex-direction:column;gap:3px;width:100%;margin-top:4px}.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}.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}.day-num{font-size:22px}}
