@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Fraunces:ital,opsz,wght@0,9..144,100..900;1,9..144,100..900&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0D0D0F;--bg-secondary: #141418;--bg-tertiary: #1A1A1F;--bg-elevated: #202027;--text-primary: #FAFAFA;--text-secondary: #A0A0A8;--text-tertiary: #606068;--accent-primary: #FF6B5B;--accent-secondary: #FF8F7A;--accent-glow: rgba(255, 107, 91, .15);--border-color: rgba(255, 255, 255, .06);--border-hover: rgba(255, 255, 255, .12);--success: #22C55E;--warning: #F59E0B;--error: #EF4444;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 20px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .5);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease}body{font-family:DM Sans,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;z-index:9999}.loading-content{text-align:center}.loading-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:32px}.loading-spinner{width:40px;height:40px;border:3px solid var(--bg-tertiary);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}.app-container{display:flex;min-height:100vh}.sidebar{width:280px;background:var(--bg-secondary);border-right:1px solid var(--border-color);padding:24px;display:flex;flex-direction:column;position:fixed;height:100vh;overflow-y:auto}.sidebar-header{margin-bottom:32px}.logo{display:flex;align-items:center;gap:10px}.logo-icon{font-size:28px;color:var(--accent-primary);animation:pulse 3s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.logo-text{font-family:Fraunces,serif;font-size:24px;font-weight:600;letter-spacing:-.5px}.logo-tagline{font-size:12px;color:var(--text-tertiary);margin-top:4px;display:block;margin-left:38px}.sidebar-nav{display:flex;flex-direction:column;gap:4px;margin-bottom:32px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:14px;font-family:inherit;text-align:left}.nav-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-item.active{background:var(--accent-glow);color:var(--accent-primary)}.nav-icon{font-size:18px;width:24px;text-align:center}.sidebar-actions{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:var(--radius-md);border:none;cursor:pointer;font-size:14px;font-weight:500;font-family:inherit;transition:all var(--transition-fast)}.action-btn.primary{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;box-shadow:0 4px 16px #ff6b5b4d}.action-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b5b66}.action-btn.secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.action-btn.secondary:hover{background:var(--bg-elevated);border-color:var(--border-hover)}.sidebar-ai{background:linear-gradient(135deg,#ff6b5b14,#ff8f7a0a);border:1px solid rgba(255,107,91,.15);border-radius:var(--radius-lg);padding:16px;margin-bottom:24px}.ai-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:600;color:var(--accent-primary)}.ai-icon{font-size:16px;animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.1) rotate(5deg)}}.ai-btn{width:100%;padding:10px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:13px;font-family:inherit;text-align:left;transition:all var(--transition-fast);margin-bottom:8px}.ai-btn:hover{border-color:var(--accent-primary);color:var(--text-primary)}.ai-btn.insights{display:flex;align-items:center;gap:8px;justify-content:center;background:transparent;border-color:var(--accent-primary);color:var(--accent-primary)}.ai-btn.insights:hover{background:#ff6b5b1a}.upcoming-renewals{margin-top:auto;padding-top:16px;border-top:1px solid var(--border-color)}.upcoming-renewals h4{font-size:12px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.renewal-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:13px}.renewal-name{color:var(--text-secondary)}.renewal-date{color:var(--warning);font-weight:500}.main-content{flex:1;margin-left:280px;padding:32px 40px;min-height:100vh;background:var(--bg-primary)}.dashboard-header{margin-bottom:32px}.dashboard-header h1{font-family:Fraunces,serif;font-size:32px;font-weight:600;margin-bottom:8px}.dashboard-header p{color:var(--text-secondary);font-size:15px}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:32px}.metric-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;transition:all var(--transition-fast)}.metric-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.metric-card.highlight{background:linear-gradient(135deg,#ff6b5b1a,#ff8f7a0d);border-color:#ff6b5b33}.metric-label{font-size:13px;color:var(--text-tertiary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.metric-value{font-family:Fraunces,serif;font-size:36px;font-weight:600;margin-bottom:4px}.metric-card.highlight .metric-value{color:var(--accent-primary)}.metric-subtext{font-size:13px;color:var(--text-secondary)}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px}.section-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-title{font-size:16px;font-weight:600}.section-link{font-size:13px;color:var(--accent-primary);cursor:pointer;background:none;border:none;font-family:inherit}.section-link:hover{text-decoration:underline}.subscription-list{display:flex;flex-direction:column;gap:12px}.subscription-item{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-tertiary);border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer}.subscription-item:hover{background:var(--bg-elevated)}.subscription-item.inactive{opacity:.5}.sub-icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:20px}.sub-info{flex:1}.sub-name{font-weight:500;margin-bottom:4px}.sub-category{font-size:13px;color:var(--text-tertiary)}.sub-cost{text-align:right}.sub-price{font-weight:600;font-size:16px}.sub-cycle{font-size:12px;color:var(--text-tertiary)}.sub-actions{display:flex;gap:8px;opacity:0;transition:opacity var(--transition-fast)}.subscription-item:hover .sub-actions{opacity:1}.sub-action-btn{width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.sub-action-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.sub-action-btn.delete:hover{border-color:var(--error);color:var(--error)}.category-list{display:flex;flex-direction:column;gap:16px}.category-item{display:flex;align-items:center;gap:12px}.category-dot{width:8px;height:8px;border-radius:50%}.category-name{flex:1;font-size:14px}.category-amount{font-weight:500}.empty-state{text-align:center;padding:48px 24px}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-title{font-size:18px;font-weight:600;margin-bottom:8px}.empty-text{color:var(--text-secondary);font-size:14px;margin-bottom:24px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:100%;max-width:500px;max-height:90vh;overflow:hidden;animation:slideUp .3s ease}.modal.large{max-width:700px}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border-color)}.modal-title{font-family:Fraunces,serif;font-size:20px;font-weight:600}.modal-close{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all var(--transition-fast)}.modal-close:hover{border-color:var(--text-primary);color:var(--text-primary)}.modal-body{padding:24px;overflow-y:auto;max-height:calc(90vh - 150px)}.form-group{margin-bottom:20px}.form-label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:8px;font-weight:500}.form-input{width:100%;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:15px;font-family:inherit;transition:all var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #ff6b5b1a}.form-input::placeholder{color:var(--text-tertiary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.input-with-prefix{display:flex;align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-fast)}.input-with-prefix:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px #ff6b5b1a}.input-with-prefix .form-input{border:none;background:transparent;flex:1}.input-with-prefix .form-input:focus{box-shadow:none}.input-prefix,.input-suffix{padding:0 12px;color:var(--text-secondary);font-size:15px;font-weight:500;-webkit-user-select:none;user-select:none}.input-prefix{padding-right:0}.input-suffix{padding-left:0}.form-select{width:100%;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:15px;font-family:inherit;cursor:pointer;transition:all var(--transition-fast)}.form-select:focus{outline:none;border-color:var(--accent-primary)}.form-actions{display:flex;gap:12px;margin-top:24px}.btn{flex:1;padding:14px 24px;border-radius:var(--radius-md);border:none;font-size:15px;font-weight:500;font-family:inherit;cursor:pointer;transition:all var(--transition-fast)}.btn-primary{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #ff6b5b4d}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-elevated)}.suggestions-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-top:4px;max-height:200px;overflow-y:auto;z-index:100;box-shadow:var(--shadow-md)}.suggestion-item{padding:12px 16px;cursor:pointer;display:flex;align-items:center;gap:12px;transition:background var(--transition-fast)}.suggestion-item:hover{background:var(--bg-tertiary)}.suggestion-icon{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:14px}.suggestion-name{font-weight:500}.suggestion-category{font-size:12px;color:var(--text-tertiary)}.chat-container{display:flex;flex-direction:column;height:500px}.chat-messages{flex:1;overflow-y:auto;padding:16px 0;display:flex;flex-direction:column;gap:16px}.chat-message{max-width:85%;padding:12px 16px;border-radius:var(--radius-lg);font-size:14px;line-height:1.6}.chat-message.user{align-self:flex-end;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;border-bottom-right-radius:4px}.chat-message.assistant{align-self:flex-start;background:var(--bg-tertiary);border-bottom-left-radius:4px}.chat-message.loading{display:flex;gap:6px;padding:16px}.loading-dot{width:8px;height:8px;background:var(--text-tertiary);border-radius:50%;animation:bounce 1.4s ease-in-out infinite}.loading-dot:nth-child(1){animation-delay:-.32s}.loading-dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.chat-input-container{display:flex;gap:12px;padding-top:16px;border-top:1px solid var(--border-color)}.chat-input{flex:1;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;font-family:inherit;resize:none}.chat-input:focus{outline:none;border-color:var(--accent-primary)}.chat-send{width:44px;height:44px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all var(--transition-fast)}.chat-send:hover{transform:scale(1.05)}.chat-send:disabled{opacity:.5;cursor:not-allowed;transform:none}.quick-prompts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.quick-prompt{padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;cursor:pointer;font-family:inherit;transition:all var(--transition-fast)}.quick-prompt:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.insights-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;gap:16px}.insights-content{line-height:1.8;font-size:15px}.insights-content h3{font-family:Fraunces,serif;font-size:18px;margin:24px 0 12px;color:var(--accent-primary)}.insights-content h3:first-child{margin-top:0}.insights-content ul{margin:8px 0;padding-left:24px}.insights-content li{margin:8px 0}.insights-content strong{color:var(--accent-secondary)}.scanner-textarea{width:100%;min-height:200px;padding:16px;background:var(--bg-tertiary);border:2px dashed var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;font-family:inherit;resize:vertical;transition:border-color var(--transition-fast)}.scanner-textarea:focus{outline:none;border-color:var(--accent-primary)}.scanner-hint{font-size:13px;color:var(--text-tertiary);margin-top:8px}.scanner-mode-toggle{display:flex;gap:8px;margin-bottom:20px;background:var(--bg-tertiary);padding:4px;border-radius:var(--radius-md)}.mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:14px;font-family:inherit;cursor:pointer;transition:all var(--transition-fast)}.mode-btn:hover{color:var(--text-primary)}.mode-btn.active{background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-sm)}.image-upload-area{border:2px dashed var(--border-color);border-radius:var(--radius-md);padding:40px 20px;text-align:center;cursor:pointer;transition:all var(--transition-fast);background:var(--bg-tertiary)}.image-upload-area:hover{border-color:var(--accent-primary);background:var(--accent-glow)}.upload-icon{font-size:48px;margin-bottom:12px}.upload-text{font-size:15px;color:var(--text-primary);margin-bottom:4px}.upload-hint{font-size:12px;color:var(--text-tertiary)}.image-preview-container{position:relative;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-tertiary)}.image-preview{width:100%;max-height:300px;object-fit:contain;display:block}.clear-image-btn{position:absolute;top:8px;right:8px;width:32px;height:32px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:50%;color:var(--text-primary);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.clear-image-btn:hover{background:var(--error);border-color:var(--error);color:#fff}.extracted-preview{background:var(--bg-tertiary);border-radius:var(--radius-md);padding:20px;margin-top:20px}.extracted-title{font-size:13px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.extracted-field{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-color)}.extracted-field:last-child{border-bottom:none}.extracted-label{color:var(--text-secondary)}.extracted-value{font-weight:500}.analytics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.chart-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px}.chart-card.full-width{grid-column:span 2}.chart-title{font-size:16px;font-weight:600;margin-bottom:20px}.custom-tooltip{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:12px}.tooltip-label{font-size:12px;color:var(--text-tertiary);margin-bottom:4px}.tooltip-value{font-weight:600;color:var(--text-primary)}.subscriptions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.subscriptions-header h1{font-family:Fraunces,serif;font-size:28px;font-weight:600}.filter-tabs{display:flex;gap:8px}.filter-tab{padding:8px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13px;cursor:pointer;font-family:inherit;transition:all var(--transition-fast)}.filter-tab:hover{border-color:var(--border-hover)}.filter-tab.active{background:var(--accent-glow);border-color:var(--accent-primary);color:var(--accent-primary)}.subscriptions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.subscription-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;transition:all var(--transition-fast)}.subscription-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.subscription-card.inactive{opacity:.6}.card-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.card-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:22px}.card-title-group{flex:1}.card-name{font-weight:600;font-size:16px;margin-bottom:4px}.card-category{font-size:13px;color:var(--text-tertiary)}.card-status{padding:4px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:500;text-transform:uppercase}.card-status.active{background:#22c55e1a;color:var(--success)}.card-status.paused{background:#9ca3af1a;color:var(--text-tertiary)}.card-details{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding-top:16px;border-top:1px solid var(--border-color)}.card-detail{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.detail-value{font-weight:500;font-size:14px}.card-actions{display:flex;gap:8px;margin-top:16px}.card-btn{flex:1;padding:10px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);font-size:13px;cursor:pointer;font-family:inherit;transition:all var(--transition-fast)}.card-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.card-btn.toggle{border-color:var(--warning);color:var(--warning)}.card-btn.delete{border-color:var(--error);color:var(--error)}.difficulty-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;margin-top:12px}.difficulty-badge.easy{background:#22c55e1a;color:var(--success)}.difficulty-badge.medium{background:#f59e0b1a;color:var(--warning)}.difficulty-badge.hard{background:#ef44441a;color:var(--error)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-container{width:100%;max-width:400px;border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:40px}.auth-header{text-align:center;margin-bottom:32px}.auth-header .logo{justify-content:center;margin-bottom:16px}.auth-subtitle{color:var(--text-secondary);font-size:15px}.auth-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--error);padding:12px 16px;border-radius:var(--radius-md);font-size:14px;margin-bottom:20px}.auth-link{display:block;width:100%;background:none;border:none;color:var(--accent-primary);font-size:14px;cursor:pointer;font-family:inherit;margin-top:16px;text-align:center}.auth-link:hover{text-decoration:underline}.auth-footer{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:32px;padding-top:24px;border-top:1px solid var(--border-color)}.auth-footer-text{color:var(--text-secondary);font-size:14px}.auth-switch{background:none;border:none;color:var(--accent-primary);font-size:14px;font-weight:500;cursor:pointer;font-family:inherit}.auth-switch:hover{text-decoration:underline}.reset-success{text-align:center;padding:24px 0}.success-icon{width:64px;height:64px;background:#22c55e1a;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;color:var(--success);margin:0 auto 24px}.reset-success h3{font-family:Fraunces,serif;font-size:20px;margin-bottom:8px}.reset-success p{color:var(--text-secondary);font-size:14px}.auth-divider{display:flex;align-items:center;margin:24px 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.auth-divider span{padding:0 16px;color:var(--text-tertiary);font-size:13px}.btn-google{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 24px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:15px;font-weight:500;cursor:pointer;font-family:inherit;transition:all var(--transition-fast)}.btn-google:hover{background:var(--bg-elevated);border-color:var(--border-hover)}.btn-google:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{width:100%;padding:14px 24px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;cursor:pointer;font-family:inherit;transition:all var(--transition-fast)}.btn-ghost:hover{color:var(--text-primary)}.sidebar-user{margin-top:auto;padding-top:16px;border-top:1px solid var(--border-color)}.account-btn{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.account-btn:hover{background:var(--bg-elevated);border-color:var(--border-hover)}.account-btn-icon{width:32px;height:32px;border-radius:50%;background:var(--accent-glow);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--accent-primary);overflow:hidden}.account-btn-icon img{width:100%;height:100%;object-fit:cover}.account-btn-text{flex:1;text-align:left;font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 0}.account-avatar{width:80px;height:80px;border-radius:50%;background:var(--accent-glow);display:flex;align-items:center;justify-content:center;font-size:32px;color:var(--accent-primary);margin-bottom:16px;overflow:hidden}.account-avatar img{width:100%;height:100%;object-fit:cover}.account-info{margin-bottom:24px}.account-name{font-size:18px;font-weight:600;margin-bottom:4px}.account-email{font-size:14px;color:var(--text-secondary)}.account-actions,.account-actions .btn{width:100%}.account-guest{text-align:center;padding:16px 0}.guest-icon{font-size:48px;margin-bottom:16px}.account-guest h3{font-family:Fraunces,serif;font-size:18px;margin-bottom:8px}.account-guest p{color:var(--text-secondary);font-size:14px;line-height:1.6}.account-settings{width:100%;margin:20px 0;padding:16px 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.setting-item{display:flex;flex-direction:column;gap:8px}.setting-label{font-size:13px;color:var(--text-secondary);font-weight:500}.cancel-difficulty{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:16px;background:var(--bg-tertiary);border-radius:var(--radius-md)}.cancel-difficulty-label{color:var(--text-secondary);font-size:14px}.cancel-difficulty-badge{font-weight:600;font-size:14px;text-transform:capitalize}.cancel-warning{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);margin-bottom:20px}.warning-icon{font-size:18px}.cancel-warning span:last-child{color:var(--text-primary);font-size:14px;line-height:1.5}.cancel-instructions{margin-bottom:24px}.cancel-instructions h3{font-size:16px;font-weight:600;margin-bottom:16px}.cancel-steps{padding-left:20px;margin:0}.cancel-steps li{padding:8px 0;color:var(--text-secondary);font-size:14px;line-height:1.5}.cancel-steps li::marker{color:var(--accent-primary)}.cancel-actions{display:flex;flex-direction:column;gap:12px}.cancel-no-link{text-align:center;color:var(--text-secondary);font-size:14px;padding:16px;background:var(--bg-tertiary);border-radius:var(--radius-md)}.card-btn.cancel{border-color:var(--accent-primary);color:var(--accent-primary)}.card-btn.cancel:hover{background:#ff6b5b1a}.email-scanner-modal{max-width:520px}.email-scanner-content{text-align:center;padding:24px 0}.email-scanner-content.results{text-align:left}.email-scanner-icon{font-size:48px;margin-bottom:16px;display:inline-block}.email-scanner-icon.scanning{animation:spin 1.5s linear infinite}.email-scanner-icon.error{color:var(--error);background:#ef44441a;width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:32px;font-weight:700}.email-scanner-icon.empty{color:var(--text-tertiary)}.email-scanner-content h3{font-family:Fraunces,serif;font-size:20px;margin-bottom:8px}.email-scanner-description{color:var(--text-secondary);font-size:14px;line-height:1.6;margin-bottom:24px}.email-providers{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.email-provider-btn{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);font-size:15px;font-weight:500;cursor:pointer;font-family:inherit;transition:all var(--transition-fast)}.email-provider-btn:hover:not(:disabled){border-color:var(--accent-primary);transform:translateY(-2px)}.email-provider-btn:disabled{opacity:.5;cursor:not-allowed}.provider-icon{width:24px;height:24px}.email-privacy-note{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--text-tertiary);padding:12px;background:var(--bg-tertiary);border-radius:var(--radius-sm)}.email-connected{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.email-connected-badge{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:#22c55e1a;border:1px solid var(--success);border-radius:var(--radius-md);color:var(--success);font-size:14px}.email-connected-icon{font-weight:700}.email-connected-actions{display:flex;flex-direction:column;gap:8px}.btn-sm{padding:8px 12px;font-size:13px}.scan-progress{margin:24px 0}.scan-progress-bar{height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden;margin-bottom:8px}.scan-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));border-radius:4px;transition:width .3s ease}.scan-progress-text{font-size:14px;color:var(--text-secondary)}.scan-status{font-size:13px;color:var(--text-tertiary);margin-top:8px}.found-subscriptions-list{display:flex;flex-direction:column;gap:8px;margin:20px 0;max-height:350px;overflow-y:auto}.found-subscription-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.found-subscription-item:hover:not(.existing){border-color:var(--accent-primary)}.found-subscription-item.selected{border-color:var(--accent-primary);background:var(--accent-glow)}.found-subscription-item.existing{opacity:.6;cursor:default}.found-sub-checkbox{flex-shrink:0}.checkbox{width:20px;height:20px;border:2px solid var(--border-color);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all var(--transition-fast)}.checkbox.checked{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.existing-badge{font-size:10px;color:var(--text-tertiary);background:var(--bg-elevated);padding:4px 8px;border-radius:var(--radius-sm)}.found-sub-icon{width:40px;height:40px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.found-sub-details{flex:1;min-width:0}.found-sub-name{font-weight:500;display:block;margin-bottom:2px}.found-sub-info{font-size:12px;color:var(--text-secondary)}.email-scan-prompt{margin-bottom:20px}.email-scan-btn{width:100%;display:flex;align-items:center;gap:16px;padding:16px;background:linear-gradient(135deg,#ff6b5b1a,#ff8f7a0d);border:1px dashed var(--accent-primary);border-radius:var(--radius-md);cursor:pointer;font-family:inherit;text-align:left;transition:all var(--transition-fast)}.email-scan-btn:hover{background:linear-gradient(135deg,#ff6b5b26,#ff8f7a1a);transform:translateY(-2px)}.email-scan-btn.premium-locked{border-color:var(--border-color);background:var(--bg-tertiary)}.email-scan-btn.premium-locked:hover{border-color:var(--accent-primary)}.email-scan-icon{font-size:28px;flex-shrink:0}.email-scan-text{flex:1;display:flex;flex-direction:column;gap:2px}.email-scan-title{font-weight:500;color:var(--text-primary);font-size:14px}.email-scan-subtitle{font-size:12px;color:var(--text-secondary)}.premium-badge-small{font-size:11px;color:var(--accent-primary);background:var(--accent-glow);padding:4px 8px;border-radius:var(--radius-sm);font-weight:500}.form-divider{display:flex;align-items:center;gap:16px;margin:20px 0;color:var(--text-tertiary);font-size:12px}.form-divider:before,.form-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.upgrade-modal{max-width:480px}.premium-badge{color:var(--accent-primary);margin-right:8px}.upgrade-subtitle{color:var(--text-secondary);font-size:15px;margin-bottom:24px;text-align:center}.upgrade-features{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.upgrade-feature{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--bg-tertiary);border-radius:var(--radius-md)}.upgrade-feature-icon{font-size:20px;width:36px;height:36px;background:var(--accent-glow);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.upgrade-feature-content h4{font-size:14px;font-weight:500;margin-bottom:2px}.upgrade-feature-content p{font-size:12px;color:var(--text-secondary);margin:0}.upgrade-pricing{display:flex;gap:12px;margin-bottom:24px}.pricing-option{flex:1;padding:16px;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:var(--radius-md);text-align:center;position:relative}.pricing-option.recommended{border-color:var(--accent-primary);background:var(--accent-glow)}.pricing-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--accent-primary);color:#fff;font-size:10px;font-weight:600;padding:4px 8px;border-radius:var(--radius-sm)}.pricing-label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px}.pricing-amount{display:block;font-family:Fraunces,serif;font-size:24px;font-weight:600;color:var(--text-primary)}.pricing-amount span{font-size:14px;font-weight:400;color:var(--text-secondary)}.pricing-billed{display:block;font-size:11px;color:var(--text-tertiary);margin-top:4px}.btn-premium{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;border:none;padding:12px 24px;border-radius:var(--radius-md);font-weight:500;cursor:pointer;font-family:inherit;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px;transition:all var(--transition-fast)}.btn-premium:hover{transform:translateY(-2px);box-shadow:0 4px 16px #ff6b5b4d}.modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;background:var(--bg-tertiary);border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.modal-close:hover{background:var(--bg-elevated);color:var(--text-primary)}@media (max-width: 1200px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.analytics-grid{grid-template-columns:1fr}.chart-card.full-width{grid-column:span 1}}@media (max-width: 768px){.sidebar{display:none}.main-content{margin-left:0;padding:24px 16px}.metrics-grid,.subscriptions-grid{grid-template-columns:1fr}}.delete-account-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.btn-delete-account{width:100%;padding:12px 16px;background:transparent;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:#ef4444;font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-delete-account:hover{background:#ef44441a;border-color:#ef444480}.btn.btn-danger{background:#dc2626;color:#fff;border:none}.btn.btn-danger:hover{background:#b91c1c}.btn.btn-danger:disabled{background:#7f1d1d;cursor:not-allowed}.delete-warning-box,.delete-confirm-box,.delete-success-box{background:var(--bg-tertiary);border-radius:var(--radius-md);padding:20px;text-align:center}.delete-warning-box{border:1px solid rgba(245,158,11,.3)}.delete-confirm-box{border:1px solid rgba(239,68,68,.3)}.delete-success-box{border:1px solid rgba(34,197,94,.3)}.delete-warning-icon,.delete-success-icon{font-size:32px;margin-bottom:12px}.delete-warning-box h4,.delete-confirm-box h4,.delete-success-box h4{font-size:16px;font-weight:600;margin-bottom:12px}.delete-warning-box p,.delete-confirm-box p,.delete-success-box p{font-size:14px;color:var(--text-secondary);margin-bottom:8px}.delete-warning-box ul{text-align:left;margin:12px 0;padding-left:24px;color:var(--text-secondary);font-size:14px}.delete-warning-box li{margin:4px 0}.delete-warning-note{color:var(--warning)!important;font-weight:500}.delete-expiry-note{color:var(--text-tertiary)!important;font-size:13px!important}.delete-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);padding:10px;color:var(--error);font-size:13px;margin:12px 0}.delete-actions{display:flex;gap:12px;margin-top:16px}.delete-actions .btn{flex:1}.dev-url-box{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:var(--radius-sm);padding:12px;margin-top:16px;font-size:13px}.dev-url-box a{color:#60a5fa;word-break:break-all}.deletion-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:20px}.deletion-container{max-width:480px;width:100%}.deletion-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:40px}.deletion-logo .logo-icon{font-size:32px;color:var(--accent-primary)}.deletion-logo .logo-text{font-family:Fraunces,serif;font-size:28px;font-weight:600;color:var(--text-primary)}.deletion-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:40px;text-align:center}.deletion-icon{font-size:48px;margin-bottom:20px}.deletion-icon.loading{animation:pulse 1.5s ease-in-out infinite}.deletion-icon.success{background:var(--success);color:#fff;width:64px;height:64px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:32px}.deletion-icon.error{background:var(--error);color:#fff;width:64px;height:64px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:32px}.deletion-icon.warning{color:var(--warning)}.deletion-content h2{font-size:24px;font-weight:600;margin-bottom:16px}.deletion-content p{color:var(--text-secondary);margin-bottom:12px}.deletion-email{font-weight:600;color:var(--text-primary)!important;font-size:16px}.deletion-warning{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:16px;margin:24px 0;color:var(--error);font-size:14px}.deletion-actions{display:flex;gap:12px;margin-top:24px}.deletion-actions .btn{flex:1;padding:14px 24px}.deletion-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite;margin:20px auto 0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}
