:root{--primary-color:#6366f1;--primary-hover:#4f46e5;--primary-light:#818cf8;--secondary-color:#10b981;--danger-color:#ef4444;--warning-color:#f59e0b;--success-color:#10b981;--bg-primary:#f9fafb;--bg-secondary:#fff;--bg-tertiary:#f3f4f6;--text-primary:#111827;--text-secondary:#6b7280;--text-tertiary:#9ca3af;--border-color:#e5e7eb;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;color:var(--text-primary);background-color:var(--bg-primary);--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.6}[data-theme=dark]{--bg-primary:#111827;--bg-secondary:#1f2937;--bg-tertiary:#374151;--text-primary:#f9fafb;--text-secondary:#d1d5db;--text-tertiary:#9ca3af;--border-color:#374151;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d;--shadow-lg:0 10px 15px -3px #00000080,0 4px 6px -2px #0006;--shadow-xl:0 20px 25px -5px #0009,0 10px 10px -5px #00000080}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;margin:0}#root{min-height:100vh;padding:2rem 1rem}.container{max-width:800px;margin:0 auto}h1{margin-bottom:var(--space-sm);color:var(--text-primary);letter-spacing:-.02em;font-size:2rem;font-weight:700}.dashboard-header{margin-bottom:var(--space-xl);justify-content:space-between;align-items:center;display:flex}.header-right{align-items:center;gap:var(--space-md);display:flex}.user-welcome{color:var(--text-secondary);margin:0;font-size:.95rem;font-weight:500}h2{margin-bottom:var(--space-md);color:var(--text-primary);letter-spacing:-.01em;font-size:1.5rem;font-weight:700}h3{margin-bottom:var(--space-sm);color:var(--text-primary);font-size:1.1rem;font-weight:600}.summary-card{background:var(--bg-secondary);padding:var(--space-xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);margin-bottom:var(--space-xl);text-align:center;border:1px solid var(--border-color);transition:all .3s}.summary-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.summary-cards-row{grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:2rem;display:grid}.summary-card-small{margin-bottom:0}.summary-card-small h3{color:#555;margin-bottom:.5rem;font-size:1.1rem}.summary-description{color:#666;margin-top:.5rem;font-size:.9rem}.total-cost{background:linear-gradient(135deg,var(--primary-color),var(--primary-light));-webkit-text-fill-color:transparent;margin-top:var(--space-sm);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:700}.total-cost-small{background:linear-gradient(135deg,var(--primary-color),var(--primary-light));-webkit-text-fill-color:transparent;margin-top:var(--space-sm);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700}@media (max-width:768px){.insights-grid{grid-template-columns:1fr;gap:1rem}.premium-insights{padding:1.5rem}}@media (max-width:600px){.summary-cards-row{grid-template-columns:1fr;gap:1rem}}.header-actions{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.header-buttons{gap:1rem;display:flex}.btn{border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-sm);letter-spacing:.01em;border:none;padding:.625rem 1.25rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn:active{transform:translateY(1px)}.btn-primary{background:linear-gradient(135deg,var(--primary-color)0%,var(--primary-hover)100%);color:#fff}.btn-primary:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{box-shadow:var(--shadow-sm);background-color:#e5e7eb;border-color:#d1d5db}.btn-danger{background:linear-gradient(135deg,var(--danger-color)0%,#dc2626 100%);color:#fff}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.btn-success{background:linear-gradient(135deg,var(--success-color)0%,#059669 100%);color:#fff}.btn-success:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.btn-edit{background:linear-gradient(135deg,var(--primary-color)0%,var(--primary-hover)100%);color:#fff;white-space:nowrap;padding:.5rem 1rem;font-size:.875rem}.btn-edit:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-large{border-radius:var(--radius-lg);padding:.875rem 2rem;font-size:1rem}.search-bar{margin-bottom:var(--space-md)}.search-input{border:2px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-secondary);width:100%;padding:.75rem 1rem;font-family:Inter,sans-serif;font-size:1rem;transition:all .2s}.search-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #6366f11a}.search-input::placeholder{color:var(--text-tertiary)}.filter-bar{background:var(--bg-secondary);padding:var(--space-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--space-lg);gap:var(--space-lg);border:1px solid var(--border-color);flex-wrap:wrap;align-items:flex-end;transition:all .3s;display:flex}.filter-bar:hover{box-shadow:var(--shadow-lg)}.filter-group{gap:var(--space-sm);flex-direction:column;flex:1;min-width:180px;display:flex}.filter-group label{color:var(--text-primary);letter-spacing:.01em;font-size:.875rem;font-weight:600}.filter-select{border:1.5px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-secondary);color:var(--text-primary);cursor:pointer;padding:.625rem .75rem;font-family:Inter,sans-serif;font-size:.95rem;transition:all .2s}.filter-select:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #6366f11a}.filter-select:hover{border-color:var(--primary-light)}.subscription-list{flex-direction:column;gap:1rem;display:flex}.subscription-card{background:var(--bg-secondary);padding:var(--space-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);justify-content:space-between;align-items:center;gap:var(--space-lg);border:1px solid var(--border-color);transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.subscription-card:hover{box-shadow:var(--shadow-xl);border-color:var(--primary-light);transform:translateY(-4px)}.subscription-info{flex:1}.subscription-header{align-items:center;gap:.75rem;display:flex}.subscription-header h3{margin:0}.status-indicator{border-radius:50%;flex-shrink:0;width:12px;height:12px;transition:all .3s;display:inline-block}.status-urgent{background-color:var(--danger-color);box-shadow:0 0 10px #ef444480}.status-warning{background-color:var(--warning-color);box-shadow:0 0 10px #f59e0b80}.status-safe{background-color:var(--success-color);box-shadow:0 0 10px #10b98166}.category-badge{color:#4338ca;border-radius:var(--radius-full);margin:var(--space-sm)0;letter-spacing:.02em;background:linear-gradient(135deg,#e0e7ff 0%,#c7d2fe 100%);padding:.3rem .875rem;font-size:.8125rem;font-weight:600;transition:all .2s;display:inline-block}.category-badge:hover{box-shadow:var(--shadow-sm);transform:scale(1.05)}.billing-info{color:var(--text-secondary);margin:var(--space-sm)0;font-weight:500}.next-billing{color:var(--text-tertiary);font-size:.875rem}.subscription-notes{color:var(--text-secondary);margin-top:var(--space-sm);padding:var(--space-sm)var(--space-md);border-left:3px solid var(--primary-color);border-radius:var(--radius-sm);background:linear-gradient(135deg,#f9fafb 0%,#f3f4f6 100%);font-size:.8125rem;font-style:italic}.subscription-cost{background:linear-gradient(135deg,var(--primary-color),var(--primary-light));-webkit-text-fill-color:transparent;text-align:right;-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700}.subscription-cost span{color:var(--text-secondary);-webkit-text-fill-color:var(--text-secondary);background:0 0;font-size:.875rem;display:block}.subscription-actions{flex-direction:column;align-items:stretch;gap:.5rem;display:flex}.subscription-actions .btn{white-space:nowrap;padding:.5rem 1rem;font-size:.9rem}.empty-state{background:var(--bg-secondary);padding:var(--space-2xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;color:var(--text-secondary);border:1px solid var(--border-color)}.subscription-form{background:var(--bg-secondary);padding:var(--space-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}.form-group{margin-bottom:var(--space-lg)}.form-group label{margin-bottom:var(--space-sm);color:var(--text-primary);letter-spacing:.01em;font-size:.875rem;font-weight:600;display:block}.form-group input,.form-group select,.form-group textarea{border:1.5px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-secondary);width:100%;color:var(--text-primary);padding:.75rem 1rem;font-family:Inter,sans-serif;font-size:1rem;transition:all .2s}.form-group textarea{resize:vertical;min-height:80px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #6366f11a}.form-actions{justify-content:space-between;gap:1rem;margin-top:2rem;display:flex}.form-actions-right{gap:1rem;display:flex}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000a6;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-content{background:var(--bg-secondary);padding:var(--space-xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);text-align:center;border:1px solid var(--border-color);width:90%;max-width:450px;animation:.3s ease-out slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-content h2{margin-bottom:var(--space-md);color:var(--primary-color);font-weight:700}.modal-content p{margin-bottom:var(--space-sm);color:var(--text-secondary);line-height:1.6}.modal-actions{gap:var(--space-md);margin-top:var(--space-lg);justify-content:center;display:flex}.settings-card{background:var(--bg-secondary);padding:var(--space-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin-bottom:var(--space-lg);border:1px solid var(--border-color);transition:all .3s}.settings-card:hover{box-shadow:var(--shadow-xl)}.setting-item{padding:var(--space-lg);background:var(--bg-tertiary);border-radius:var(--radius-md);margin-bottom:var(--space-md);border:1px solid var(--border-color);justify-content:space-between;align-items:center;transition:all .2s;display:flex}.setting-item:hover{background:#e5e7eb;transform:translate(4px)}.setting-info h3{margin:0 0 var(--space-sm)0;color:var(--text-primary);font-weight:600}.setting-info p{color:var(--text-secondary);margin:0;font-size:.875rem}.toggle-switch{width:60px;height:30px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:#d1d5db;border-radius:30px;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;inset:0;box-shadow:inset 0 2px 4px #0000001a}.toggle-slider:before{content:"";width:22px;height:22px;box-shadow:var(--shadow-sm);background-color:#fff;border-radius:50%;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;bottom:4px;left:4px}.toggle-switch input:checked+.toggle-slider{background:linear-gradient(135deg,var(--primary-color)0%,var(--primary-hover)100%);box-shadow:0 0 8px #6366f166}.toggle-switch input:checked+.toggle-slider:before{transform:translate(30px)}.reminder-options{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.reminder-option{cursor:pointer;background:#f9f9f9;border-radius:6px;align-items:center;gap:.75rem;padding:.75rem;transition:background .2s;display:flex}.reminder-option:hover{background:#f0f0f0}.reminder-option input[type=radio]{cursor:pointer;width:1.2rem;height:1.2rem}.reminder-option span{color:#333;font-size:1rem}.reminder-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.reminder-modal{background:#fff;border-radius:12px;width:100%;max-width:500px;padding:2rem;box-shadow:0 4px 20px #0000004d}.reminder-modal h2{color:#646cff;margin:0 0 1rem}.reminder-intro{color:#555;margin-bottom:1.5rem}.reminder-list{flex-direction:column;gap:1rem;max-height:300px;margin-bottom:1.5rem;display:flex;overflow-y:auto}.reminder-item{padding:var(--space-md);background:var(--bg-tertiary);border-radius:var(--radius-md);border-left:4px solid var(--primary-color);transition:all .2s}.reminder-item:hover{background:#e5e7eb;transform:translate(4px)}.reminder-item-info{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.reminder-item-info strong{color:var(--text-primary);font-size:1.1rem;font-weight:600}.reminder-amount{color:var(--primary-color);font-weight:700}.reminder-date{color:var(--text-secondary);font-size:.875rem}.reminder-modal .btn{width:100%}.export-buttons{gap:1rem;margin-top:1rem;display:flex}.export-buttons .btn{flex:1}.premium-insights{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;margin-bottom:2rem;padding:2rem;box-shadow:0 4px 12px #667eea4d}.premium-insights-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.premium-insights-header h2{color:#fff;margin:0}.pro-badge{color:#fff;letter-spacing:1px;background:#ffffff4d;border-radius:12px;padding:.3rem .8rem;font-size:.85rem;font-weight:700}.insights-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.insight-card{background:#fff;border-radius:10px;align-items:flex-start;gap:1rem;padding:1.5rem;display:flex;box-shadow:0 2px 8px #0000001a}.insight-icon{font-size:2rem;line-height:1}.insight-content{flex:1}.insight-content h4{color:#555;margin:0 0 .5rem;font-size:.95rem;font-weight:600}.insight-value{color:#646cff;margin:.25rem 0;font-size:1.5rem;font-weight:700}.insight-label{color:#777;font-size:.85rem}.pro-badge-large{color:#fff;letter-spacing:1px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:20px;margin-top:1rem;padding:.5rem 1.5rem;font-size:1.2rem;font-weight:700;display:inline-block}.analytics-grid{grid-template-columns:1fr;gap:2rem;margin-top:2rem;display:grid}.chart-card{background:var(--bg-secondary);padding:var(--space-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);transition:all .3s}.chart-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.chart-card h2{margin-bottom:var(--space-sm);color:var(--text-primary);font-weight:700}.chart-description{color:var(--text-secondary);margin-bottom:var(--space-lg);font-size:.875rem}.chart-container{height:300px;position:relative}.chart-card-small{grid-column:1}.chart-container-small{max-width:400px;height:300px;margin:0 auto;position:relative}@media (min-width:768px){.analytics-grid{grid-template-columns:repeat(2,1fr)}.chart-card:first-child{grid-column:1/-1}}.auth-container{background:linear-gradient(135deg,var(--primary-color)0%,#764ba2 100%);min-height:100vh;padding:var(--space-xl)var(--space-md);justify-content:center;align-items:center;display:flex}.auth-card{background:var(--bg-secondary);padding:var(--space-2xl);border-radius:var(--radius-xl);border:1px solid #ffffff1a;width:100%;max-width:450px;animation:.4s ease-out slideUp;box-shadow:0 20px 60px #0000004d}.auth-card h1{margin-bottom:var(--space-sm);text-align:center;color:var(--text-primary);letter-spacing:-.02em;font-size:2rem;font-weight:700}.auth-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:var(--space-xl);font-weight:500}.auth-form{margin-top:2rem}.error-message{color:#991b1b;padding:var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-md);text-align:center;background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border:1px solid #fca5a5;font-size:.875rem;font-weight:500}.success-message{color:#065f46;padding:var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-md);text-align:center;background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);border:1px solid #6ee7b7;font-size:.875rem;font-weight:500}.btn-block{width:100%}.auth-divider{text-align:center;color:#999;align-items:center;margin:1.5rem 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-bottom:1px solid #ddd;flex:1}.auth-divider span{padding:0 1rem;font-size:.9rem}.btn-google{color:#444;background-color:#fff;border:1px solid #ddd;justify-content:center;align-items:center;gap:.75rem;font-weight:500;display:flex}.btn-google:hover{background-color:#f9f9f9;border-color:#ccc}.auth-links{text-align:right;margin-bottom:1.5rem}.auth-link{color:#646cff;font-size:.9rem;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-footer{text-align:center;color:#666;margin-top:1.5rem;font-size:.9rem}@media (max-width:600px){.container{padding:0}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1rem}.dashboard-header{align-items:center;gap:var(--space-md);flex-direction:row}.header-right{gap:var(--space-sm);flex-direction:row}.header-right .btn{padding:var(--space-sm)var(--space-md);width:auto;font-size:.85rem}.header-actions{flex-direction:column;align-items:flex-start;gap:1rem}.header-buttons{flex-direction:column;width:100%}.summary-card{padding:var(--space-lg)}.total-cost{font-size:2rem}.total-cost-small{font-size:1.5rem}.setting-item{flex-direction:column;align-items:flex-start;gap:1rem}.filter-bar{align-items:stretch;gap:var(--space-sm);flex-direction:column}.filter-group{min-width:100%}.filter-group label{font-size:.85rem}.filter-select{font-size:.9rem}.subscription-card{padding:var(--space-md);flex-wrap:wrap}.subscription-info{width:100%}.subscription-cost{text-align:left;font-size:1.75rem}.subscription-actions{gap:var(--space-sm);flex-direction:row;width:100%}.subscription-actions .btn{padding:var(--space-sm);flex:1;font-size:.85rem}.btn-edit{width:auto}.form-actions{flex-direction:column}.form-actions-right{flex-direction:column;width:100%}.btn{width:100%}.premium-insights{padding:var(--space-lg)}.insight-card{padding:var(--space-md)}.insight-icon{font-size:1.75rem}.insight-value{font-size:1.25rem}.search-bar{margin-bottom:var(--space-md)}.search-input{font-size:.9rem}.chart-card{padding:var(--space-md)}.chart-description{font-size:.85rem}}@media (min-width:601px) and (max-width:900px){.summary-cards-row{grid-template-columns:repeat(2,1fr)}.subscription-card{padding:var(--space-lg)}.header-buttons{gap:var(--space-sm)}.filter-bar{flex-wrap:wrap}}.toast{align-items:center;gap:var(--space-md);padding:var(--space-md)var(--space-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);background:var(--bg-secondary);border:1px solid var(--border-color);min-width:300px;max-width:500px;margin-bottom:var(--space-sm);animation:.3s ease-out slideIn;display:flex}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:1rem;font-weight:700;display:flex}.toast-message{color:var(--text-primary);flex:1;font-size:.9375rem;font-weight:500}.toast-close{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:1.5rem;transition:all .2s;display:flex}.toast-close:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.toast-success{border-left:4px solid var(--success-color)}.toast-success .toast-icon{background-color:var(--success-color);color:#fff}.toast-error{border-left:4px solid var(--danger-color)}.toast-error .toast-icon{background-color:var(--danger-color);color:#fff}.toast-warning{border-left:4px solid var(--warning-color)}.toast-warning .toast-icon{background-color:var(--warning-color);color:#fff}.toast-info{border-left:4px solid var(--primary-color)}.toast-info .toast-icon{background-color:var(--primary-color);color:#fff}.toast-container{top:var(--space-xl);right:var(--space-xl);z-index:9999;pointer-events:none;flex-direction:column;align-items:flex-end;display:flex;position:fixed}.toast-container>*{pointer-events:auto}@media (max-width:600px){.toast-container{left:var(--space-md);right:var(--space-md);align-items:stretch}.toast{min-width:unset;max-width:unset}}.reminder-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;padding:var(--space-xl);background:#000000b3;justify-content:center;align-items:center;animation:.3s ease-in fadeIn;display:flex;position:fixed;inset:0}.reminder-modal{background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-width:550px;max-height:80vh;box-shadow:var(--shadow-xl);border:1px solid var(--border-color);padding:0;animation:.4s ease-out slideUp;overflow-y:auto}.reminder-header{align-items:center;gap:var(--space-md);padding:var(--space-xl);border-bottom:1px solid var(--border-color);display:flex;position:relative}.reminder-icon{font-size:2rem;animation:2s ease-in-out infinite ring}@keyframes ring{0%,to{transform:rotate(0)}10%,30%{transform:rotate(-15deg)}20%,40%{transform:rotate(15deg)}50%{transform:rotate(0)}}.reminder-header h2{color:var(--text-primary);flex:1;margin:0;font-size:1.5rem}.reminder-close{top:var(--space-lg);right:var(--space-lg);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:2rem;transition:all .2s;display:flex;position:absolute}.reminder-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.reminder-intro{padding:var(--space-lg)var(--space-xl);color:var(--text-secondary);margin:0;font-size:1rem}.reminder-total{padding:0 var(--space-xl)var(--space-lg);color:var(--text-secondary);font-size:.95rem;font-weight:500}.reminder-total-amount{color:var(--primary-color);margin-left:var(--space-sm);font-size:1.5rem;font-weight:700}.reminder-list{padding:0 var(--space-xl);max-height:400px;overflow-y:auto}.reminder-item{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-md);border-left:4px solid var(--border-color);transition:all .3s}.reminder-item:hover{box-shadow:var(--shadow-md);transform:translate(4px)}.reminder-item-urgent{background:linear-gradient(to right,#ef44441a,var(--bg-secondary));border-left-color:#ef4444}.reminder-item-warning{background:linear-gradient(to right,#f59e0b1a,var(--bg-secondary));border-left-color:#f59e0b}.reminder-item-normal{background:linear-gradient(to right,#10b9811a,var(--bg-secondary));border-left-color:#10b981}.reminder-item-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:flex-start;display:flex}.reminder-item-info{gap:var(--space-xs);flex-direction:column;flex:1;display:flex}.reminder-item-info strong{color:var(--text-primary);font-size:1.1rem}.reminder-urgency{padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;display:inline-block}.reminder-urgency-urgent{color:#ef4444;background:#ef444433}.reminder-urgency-warning{color:#f59e0b;background:#f59e0b33}.reminder-urgency-normal{color:#10b981;background:#10b98133}.reminder-amount{color:var(--text-primary);font-size:1.25rem;font-weight:700}.reminder-details{gap:var(--space-md);color:var(--text-tertiary);font-size:.9rem;display:flex}.reminder-cycle{text-transform:capitalize}.reminder-actions{padding:var(--space-xl);border-top:1px solid var(--border-color);justify-content:center;display:flex}.reminder-actions .btn{padding:var(--space-md)var(--space-2xl);font-size:1rem;font-weight:600}@media (max-width:600px){.reminder-overlay{padding:var(--space-sm);align-items:flex-end}.reminder-modal{border-radius:var(--radius-xl)var(--radius-xl)0 0;max-height:95vh;margin:0}.reminder-header{padding:var(--space-lg)var(--space-lg)var(--space-md);flex-wrap:wrap}.reminder-header h2{padding-right:2rem;font-size:1.15rem;line-height:1.3}.reminder-icon{font-size:1.75rem}.reminder-close{width:40px;height:40px;top:var(--space-md);right:var(--space-md);font-size:2.25rem}.reminder-intro,.reminder-total{padding:var(--space-md)var(--space-lg);font-size:.95rem}.reminder-total-amount{margin-top:var(--space-xs);margin-left:0;font-size:1.4rem;display:block}.reminder-list{padding:0 var(--space-lg);max-height:50vh}.reminder-item{padding:var(--space-md);margin-bottom:var(--space-sm)}.reminder-item-header{gap:var(--space-xs);flex-direction:column;align-items:flex-start}.reminder-item-info strong{font-size:1.05rem}.reminder-urgency{padding:.25rem .5rem;font-size:.8rem}.reminder-amount{align-self:flex-start;font-size:1.15rem}.reminder-details{gap:var(--space-sm);flex-wrap:wrap;font-size:.85rem}.reminder-actions{padding:var(--space-lg);background:var(--bg-primary);border-top:2px solid var(--border-color);position:sticky;bottom:0}.reminder-actions .btn{width:100%;padding:var(--space-lg);touch-action:manipulation;font-size:1.05rem}.reminder-modal{-webkit-overflow-scrolling:touch}.reminder-item:hover{transform:none}}@media (max-width:375px){.reminder-header h2{font-size:1.05rem}.reminder-icon{font-size:1.5rem}.reminder-total-amount{font-size:1.25rem}.reminder-item-info strong{font-size:1rem}.reminder-amount{font-size:1.05rem}}.landing-page{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh}.landing-container{justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.landing-container .section-container{width:100%;max-width:600px}.landing-content{text-align:center;background:#fff;border-radius:16px;max-width:600px;margin:0 auto;padding:3rem 2rem;box-shadow:0 8px 32px #0003}.landing-logo{justify-content:center;align-items:center;margin-bottom:1.5rem;display:flex}.logo-image{width:120px;height:120px;animation:.6s ease-out fadeInScale}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.landing-title{color:#1a1a1a;margin-bottom:1rem;font-size:2.5rem;font-weight:700}.landing-tagline{color:#555;margin-bottom:2.5rem;font-size:1.2rem;line-height:1.6}.landing-illustration{margin-bottom:2.5rem}.illustration-placeholder{background:linear-gradient(135deg,#f5f7fa 0%,#e9ecef 100%);border-radius:12px;justify-content:center;align-items:center;gap:2rem;min-height:150px;padding:3rem 2rem;display:flex}.illustration-icon{font-size:3rem;animation:3s ease-in-out infinite float}.illustration-icon:nth-child(2){animation-delay:.5s}.illustration-icon:nth-child(3){animation-delay:1s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.landing-buttons{flex-direction:column;gap:1rem;display:flex}.btn-large{width:100%;padding:1rem 2rem;font-size:1.1rem}.section-container{max-width:1200px;margin:0 auto;padding:4rem 2rem}.section-title{text-align:center;color:#fff;margin-bottom:1rem;font-size:2.5rem}.section-subtitle{text-align:center;color:#ffffffe6;margin-bottom:3rem;font-size:1.2rem}.how-it-works-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a}.steps-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;display:grid}.step-card{text-align:center;background:#fff;border-radius:12px;padding:2rem;transition:transform .3s,box-shadow .3s;position:relative;box-shadow:0 4px 16px #0000001a}.step-card:hover{transform:translateY(-5px);box-shadow:0 8px 24px #00000026}.step-number{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;font-weight:700;display:flex;position:absolute;top:-15px;left:50%;transform:translate(-50%)}.step-icon{margin:1.5rem 0 1rem;font-size:3rem}.step-card h3{color:#1a1a1a;margin-bottom:1rem;font-size:1.3rem}.step-card p{color:#555;line-height:1.6}.features-section{background:0 0}.features-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.feature-card{background:#fff;border-radius:12px;padding:2rem;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 16px #0000001a}.feature-card:hover{transform:translateY(-5px);box-shadow:0 8px 24px #00000026}.feature-card-icon{margin-bottom:1rem;font-size:2.5rem}.feature-card h3{color:#1a1a1a;margin-bottom:.75rem;font-size:1.2rem}.feature-card p{color:#555;line-height:1.6}.pricing-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:800px;margin:0 auto;display:grid}.pricing-card{text-align:center;background:#fff;border-radius:12px;padding:2.5rem 2rem;transition:transform .3s,box-shadow .3s;position:relative;box-shadow:0 4px 16px #0000001a}.pricing-card:hover{transform:translateY(-5px);box-shadow:0 8px 24px #00000026}.pricing-card-pro{border:3px solid #646cff;transform:scale(1.05)}.pricing-card-pro:hover{transform:translateY(-5px)scale(1.05)}.pro-badge-pricing{color:#fff;letter-spacing:1px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:20px;padding:.3rem 1rem;font-size:.85rem;font-weight:700;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.pricing-tier{color:#1a1a1a;margin-bottom:1rem;font-size:1.8rem}.pricing-price{margin-bottom:.5rem}.price-amount{color:#646cff;font-size:3rem;font-weight:700}.price-period{color:#777;font-size:1rem}.pricing-annual{color:#10b981;margin-top:0;margin-bottom:2rem;font-size:.9rem;font-weight:600}.pricing-features{text-align:left;margin:0 0 2rem;padding:0;list-style:none}.pricing-features li{color:#555;align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.check-icon{color:#646cff;font-size:1.2rem;font-weight:700}.landing-footer{text-align:center;color:#fff;background:#0003;padding:2rem}.landing-footer p{margin:.5rem 0}.footer-note{opacity:.8;font-size:.9rem}.footer-links{justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.footer-link{color:#ffffffe6;cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:.875rem;text-decoration:underline;transition:color .2s;display:inline-block}.footer-link:hover{color:#fff}.footer-separator{color:#fff9}@media (max-width:768px){.landing-title{font-size:2rem}.landing-tagline{font-size:1rem}.landing-content{padding:2rem 1.5rem}.illustration-placeholder{gap:1rem;padding:2rem 1rem}.illustration-icon{font-size:2.5rem}.section-title{font-size:2rem}.section-subtitle{font-size:1rem}.section-container{padding:3rem 1rem}.steps-grid,.features-grid,.pricing-grid{grid-template-columns:1fr}.pricing-card-pro{transform:scale(1)}.pricing-card-pro:hover{transform:translateY(-5px)scale(1)}}@media (min-width:600px){.landing-buttons{flex-direction:row}.btn-large{flex:1;width:auto}}.theme-toggle{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-sm);cursor:pointer;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.theme-toggle:hover{background:var(--bg-tertiary);transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}.theme-icon{width:20px;height:20px;color:var(--text-primary);transition:transform .3s}.theme-toggle:hover .theme-icon{transform:rotate(20deg)}@media (max-width:600px){.theme-toggle{width:36px;height:36px}.theme-icon{width:18px;height:18px}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton-card,.skeleton-summary,.skeleton-chart,.skeleton-text,.skeleton-title,.skeleton-badge,.skeleton-button,.skeleton-avatar,.skeleton-summary-title,.skeleton-summary-value,.skeleton-chart-title,.skeleton-chart-body{background:linear-gradient(90deg,var(--bg-secondary)0%,var(--bg-tertiary)50%,var(--bg-secondary)100%);border-radius:var(--radius-md);background-size:1000px 100%;animation:2s infinite shimmer}.skeleton-card{background:var(--bg-secondary);padding:var(--space-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);gap:var(--space-md);border:1px solid var(--border-color);flex-direction:column;margin-bottom:1rem;display:flex}.skeleton-card-header{justify-content:space-between;align-items:center;display:flex}.skeleton-title{width:40%;height:24px}.skeleton-badge{width:80px;height:24px}.skeleton-text{width:100%;height:16px}.skeleton-text-short{width:60%}.skeleton-actions{gap:var(--space-md);margin-top:var(--space-sm);display:flex}.skeleton-button{border-radius:var(--radius-md);width:120px;height:40px}.skeleton-summary{background:var(--bg-secondary);padding:var(--space-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);gap:var(--space-md);margin-bottom:var(--space-lg);flex-direction:column;display:flex}.skeleton-summary-title{width:50%;height:20px}.skeleton-summary-value{width:70%;height:48px;margin:var(--space-md)0}.skeleton-chart{background:var(--bg-secondary);padding:var(--space-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);gap:var(--space-lg);flex-direction:column;display:flex}.skeleton-chart-title{width:60%;height:24px}.skeleton-chart-body{border-radius:var(--radius-md);width:100%;height:300px}.skeleton-avatar{border-radius:50%;width:40px;height:40px}@media (max-width:600px){.skeleton-card{padding:var(--space-md)}.skeleton-summary{padding:var(--space-lg)}.skeleton-chart-body{height:200px}}.empty-state-container{padding:var(--space-3xl)var(--space-xl);margin:var(--space-xl)0;background:var(--bg-secondary);border-radius:var(--radius-lg);border:2px dashed var(--border-color);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:300px;animation:.5s ease-in fadeIn;display:flex}.empty-state-icon{margin-bottom:var(--space-lg);font-size:4rem;animation:2s ease-in-out infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.empty-state-title{color:var(--text-primary);margin-bottom:var(--space-md);letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.empty-state-description{color:var(--text-secondary);margin-bottom:var(--space-xl);max-width:400px;font-size:1rem;line-height:1.6}.empty-state-container .btn{margin-top:var(--space-md)}@media (max-width:600px){.empty-state-container{padding:var(--space-2xl)var(--space-lg);min-height:250px}.empty-state-icon{font-size:3rem}.empty-state-title{font-size:1.25rem}.empty-state-description{font-size:.9rem}}.onboarding-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;padding:var(--space-xl);background:#000000bf;justify-content:center;align-items:center;animation:.3s ease-in fadeIn;display:flex;position:fixed;inset:0}.onboarding-container{background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--space-3xl);width:100%;max-width:600px;box-shadow:var(--shadow-xl);border:1px solid var(--border-color);animation:.4s ease-out slideUp;position:relative}.onboarding-skip{top:var(--space-lg);right:var(--space-lg);color:var(--text-secondary);cursor:pointer;padding:var(--space-sm)var(--space-md);border-radius:var(--radius-md);background:0 0;border:none;font-size:.9rem;transition:all .2s;position:absolute}.onboarding-skip:hover{background:var(--bg-secondary);color:var(--text-primary)}.onboarding-content{text-align:center;padding:var(--space-xl)0;flex-direction:column;justify-content:center;align-items:center;min-height:350px;display:flex}.onboarding-icon{margin-bottom:var(--space-xl);font-size:5rem;animation:2s ease-in-out infinite bounce}.onboarding-title{color:var(--text-primary);margin-bottom:var(--space-md);letter-spacing:-.02em;font-size:2rem;font-weight:700}.onboarding-description{color:var(--text-secondary);margin-bottom:var(--space-xl);max-width:500px;font-size:1.1rem;line-height:1.7}.onboarding-tip{border:1px solid var(--primary-color);border-radius:var(--radius-lg);padding:var(--space-md)var(--space-lg);align-items:center;gap:var(--space-md);margin-top:var(--space-lg);background:linear-gradient(135deg,#646cff1a,#764ba21a);display:flex}.tip-icon{font-size:1.5rem}.tip-text{color:var(--text-primary);font-size:.9rem;font-weight:500}.onboarding-progress{justify-content:center;gap:var(--space-md);margin:var(--space-xl)0;display:flex}.progress-dot{background:var(--bg-tertiary);cursor:pointer;border-radius:50%;width:12px;height:12px;transition:all .3s}.progress-dot:hover{transform:scale(1.2)}.progress-dot.active{background:var(--primary-color);border-radius:6px;width:32px}.progress-dot.completed{background:var(--success-color)}.onboarding-actions{gap:var(--space-md);justify-content:space-between;display:flex}.onboarding-actions .btn{padding:var(--space-md)var(--space-xl);flex:1;font-size:1rem;font-weight:600}.onboarding-actions .btn:disabled{opacity:.4;cursor:not-allowed}@media (max-width:600px){.onboarding-overlay{padding:var(--space-md)}.onboarding-container{padding:var(--space-xl)}.onboarding-content{min-height:300px;padding:var(--space-lg)0}.onboarding-icon{font-size:3.5rem}.onboarding-title{font-size:1.5rem}.onboarding-description{font-size:1rem}.onboarding-tip{padding:var(--space-sm)var(--space-md)}.tip-text{font-size:.85rem}.onboarding-actions{flex-direction:column}.onboarding-actions .btn{width:100%}}
