:root{--primary: #FF6B35;--primary-dark: #e55a2b;--primary-light: #fff4f0;--secondary: #3898ec;--secondary-dark: #2a7bc8;--secondary-light: #e8f4fd;--accent: #FF6B35;--accent-dark: #e55a2b;--accent-light: #fff4f0;--navy: #1E3A5F;--navy-light: #2d4a6f;--success: #10b981;--success-dark: #059669;--success-light: #d1fae5;--warning: #f59e0b;--warning-light: #fef3c7;--danger: #ef4444;--danger-light: #fee2e2;--info: #3898ec;--info-light: #e8f4fd;--wallet-header: #FF6B35;--wallet-header-dark: #E85A2A;--text-primary: #1E3A5F;--text-secondary: #64748b;--text-muted: #94a3b8;--border: #e2e8f0;--border-light: #f1f5f9;--background: #F5F7FA;--background-blue: #F5F7FA;--card-bg: #ffffff;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .1);--shadow-primary: 0 4px 14px rgba(255, 107, 53, .3);--shadow-accent: 0 4px 14px rgba(255, 107, 53, .3);--shadow-card: 0 2px 8px rgba(0, 0, 0, .08);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 50px;--radius-card: 16px;--radius-button: 24px;--transition: all .2s ease;--transition-fast: all .15s ease;--navbar-height: 72px;--bottom-nav-height: 64px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--background-blue);color:var(--text-primary);line-height:1.6;font-size:15px}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.navbar{position:fixed;top:0;left:0;right:0;height:var(--navbar-height);background:var(--card-bg);box-shadow:0 2px 10px #00000014;z-index:1000}.navbar-container{max-width:1200px;margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.navbar-logo{cursor:pointer;flex-shrink:0}.navbar-logo img{height:44px;width:auto}.navbar-links{display:flex;align-items:center;gap:8px}.navbar-link{background:none;border:none;color:var(--text-secondary);font-size:15px;font-weight:500;padding:10px 16px;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:4px;width:auto}.navbar-link:hover{color:var(--navy);background:var(--secondary-light);transform:none;box-shadow:none}.navbar-link.active{color:var(--primary);background:var(--primary-light)}.navbar-link .external-icon{font-size:12px;opacity:.6}.navbar-user{position:relative}.user-button{display:flex;align-items:center;gap:10px;background:var(--accent);color:#fff;border:none;padding:8px 16px;border-radius:var(--radius-full);cursor:pointer;transition:var(--transition);width:auto}.user-button:hover{background:var(--accent-dark);transform:none}.user-avatar{width:32px;height:32px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.user-name{font-weight:600;font-size:14px}.dropdown-arrow{font-size:10px;opacity:.8}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:220px;overflow:hidden;border:1px solid var(--border-light);z-index:1001}.dropdown-header{padding:16px;background:var(--background);border-bottom:1px solid var(--border)}.dropdown-name{display:block;font-weight:600;color:var(--navy);font-size:15px}.dropdown-email{display:block;font-size:13px;color:var(--text-muted);margin-top:2px}.dropdown-divider{height:1px;background:var(--border)}.dropdown-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:none;border:none;color:var(--text-primary);font-size:14px;cursor:pointer;transition:var(--transition);text-align:left}.dropdown-item:hover{background:var(--background);transform:none;box-shadow:none}.dropdown-item.logout{color:var(--danger)}.dropdown-item.logout:hover{background:var(--danger-light)}.dropdown-icon{font-size:16px}.navbar-link-wrapper{position:relative}.navbar-link .dropdown-arrow-small{font-size:10px;margin-left:2px;opacity:.6;transition:transform .2s ease}.navbar-link-wrapper:hover .dropdown-arrow-small{transform:rotate(180deg)}.wallet-dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%);background:var(--card-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:180px;overflow:hidden;border:1px solid var(--border-light);z-index:1001;padding:6px 0}.wallet-dropdown-item{width:100%;display:flex;align-items:center;gap:10px;padding:10px 16px;background:none;border:none;color:var(--text-primary);font-size:14px;cursor:pointer;transition:var(--transition);text-align:left}.wallet-dropdown-item:hover{background:var(--primary-light);color:var(--primary)}.wallet-dropdown-item.active{background:var(--primary-light);color:var(--primary);font-weight:500}.dropdown-item-icon{font-size:16px}.mobile-menu-toggle{display:none;background:none;border:none;font-size:24px;color:var(--navy);cursor:pointer;padding:8px;width:auto}.mobile-menu-toggle:hover{background:var(--background);transform:none;box-shadow:none}.mobile-menu{display:none;position:fixed;top:var(--navbar-height);left:0;right:0;background:var(--card-bg);box-shadow:var(--shadow-lg);padding:16px;z-index:999;max-height:calc(100vh - var(--navbar-height));overflow-y:auto}.mobile-menu-link{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:none;border:none;color:var(--text-primary);font-size:16px;font-weight:500;cursor:pointer;border-radius:var(--radius-md);transition:var(--transition)}.mobile-menu-link:hover{background:var(--background);transform:none;box-shadow:none}.mobile-menu-link.logout{color:var(--danger)}.mobile-submenu-container{width:100%}.mobile-menu-link.submenu-open{background:var(--background)}.mobile-dropdown-arrow{font-size:10px;color:var(--text-secondary)}.mobile-menu-link-split{padding:0;gap:0}.mobile-menu-link-text{flex:1;padding:14px 8px 14px 16px;cursor:pointer;text-align:left}.mobile-dropdown-toggle{display:flex;align-items:center;justify-content:center;width:48px;height:100%;min-height:48px;padding:0;background:none;border:none;border-left:1px solid var(--border);cursor:pointer;color:var(--text-secondary)}.mobile-dropdown-toggle:hover{background:var(--background)}.mobile-submenu{padding-left:16px;margin-bottom:8px}.mobile-submenu-link{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:none;border:none;color:var(--text-secondary);font-size:15px;font-weight:400;cursor:pointer;border-radius:var(--radius-md);transition:var(--transition)}.mobile-submenu-link:hover{background:var(--background);color:var(--text-primary)}.mobile-submenu-link.active{color:var(--primary);background:var(--primary-light)}.mobile-submenu-icon{font-size:18px}.mobile-menu-divider{height:1px;background:var(--border);margin:12px 0}.mobile-user-info{padding:16px;background:var(--background);border-radius:var(--radius-md);margin-bottom:8px}.mobile-user-name{display:block;font-weight:600;color:var(--navy)}.mobile-user-email{display:block;font-size:13px;color:var(--text-muted)}.menu-overlay{position:fixed;inset:0;z-index:998}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);background:var(--card-bg);box-shadow:0 -2px 10px #00000014;z-index:1000;padding:8px 0;padding-bottom:calc(8px + env(safe-area-inset-bottom,0))}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:none;border:none;color:var(--text-muted);font-size:11px;font-weight:500;cursor:pointer;padding:8px 12px;min-height:48px;transition:var(--transition-fast);width:auto;touch-action:manipulation}.bottom-nav-item:hover,.bottom-nav-item:active{color:var(--primary);transform:none;box-shadow:none;background:none}.bottom-nav-item.active{color:var(--primary)}.bottom-nav-item.active .bottom-nav-icon{background:var(--primary-light);border-radius:var(--radius-lg);padding:6px 16px}.bottom-nav-icon{display:flex;align-items:center;justify-content:center;padding:6px 14px;transition:var(--transition-fast)}.bottom-nav-icon svg{width:24px;height:24px}.bottom-nav-label{font-size:11px;font-weight:500}.app{min-height:100vh}.main-content{padding-top:var(--navbar-height);padding-bottom:0}@media (max-width: 768px){.bottom-nav{display:flex}.main-content{padding-bottom:calc(var(--bottom-nav-height) + 16px)}.navbar-links{display:none}.mobile-menu-toggle{display:block}}.container{max-width:1200px;margin:0 auto;padding:20px}.auth-container{max-width:440px;margin:40px auto;padding:40px;background:var(--card-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-light)}.auth-logo{text-align:center;margin-bottom:24px}.auth-logo img{max-width:220px;height:auto}.dashboard{padding:20px 0;max-width:1000px;margin:0 auto}.account-summary{margin:0 20px 24px}.account-summary h2{color:var(--navy);font-size:20px;margin-bottom:16px}.summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.summary-card{background:var(--card-bg);border-radius:var(--radius-lg);padding:20px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow-sm);border:1px solid var(--border-light);transition:var(--transition)}.summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.summary-card.highlight{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border:none}.summary-card.highlight .summary-label{color:#fffc}.summary-icon{font-size:32px}.summary-content{display:flex;flex-direction:column}.summary-value{font-size:24px;font-weight:700;color:var(--navy)}.summary-card.highlight .summary-value{color:#fff}.summary-label{font-size:13px;color:var(--text-secondary)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding:0 20px}.header-brand{display:flex;align-items:center;gap:20px}.header-logo{height:44px;width:auto}.header-welcome{display:flex;flex-direction:column}.header-welcome .greeting{font-size:14px;font-weight:500;color:var(--text-secondary);margin:0}.header-welcome .user-name,.dashboard-header h2{font-size:22px;font-weight:700;color:var(--navy);margin:0}h1{color:var(--navy);font-weight:700;font-size:28px;letter-spacing:-.5px}h2{color:var(--text-primary);font-size:22px;font-weight:600;letter-spacing:-.3px}h3{color:var(--text-primary);font-size:18px;font-weight:600}.error{color:var(--danger);margin:12px 0;text-align:center;font-size:14px;padding:12px;background:var(--danger-light);border-radius:var(--radius-md)}button{width:100%;padding:14px 24px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:15px;font-weight:600;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover:not(:disabled){background:var(--accent-dark);transform:translateY(-2px);box-shadow:var(--shadow-accent)}button:disabled{background:#cbd5e1;cursor:not-allowed;opacity:.7;transform:none}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border:none;padding:14px 32px;border-radius:var(--radius-button);font-size:15px;font-weight:600;box-shadow:var(--shadow-primary);transition:var(--transition)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-dark) 0%,#d04a20 100%);box-shadow:0 6px 20px #ff6b3566;transform:translateY(-1px)}.btn-secondary{background:var(--card-bg);color:var(--text-primary);border:2px solid var(--border);padding:12px 28px;border-radius:var(--radius-button);border-radius:var(--radius-md);font-size:14px;font-weight:500}.btn-secondary:hover:not(:disabled){background:var(--background);border-color:var(--primary);color:var(--primary);transform:none;box-shadow:none}.logout-btn{width:auto;padding:10px 20px;background:transparent;color:var(--text-secondary);border:1px solid var(--border);font-size:14px}.logout-btn:hover:not(:disabled){background:var(--danger-light);color:var(--danger);border-color:var(--danger);transform:none;box-shadow:none}.skip-btn{background:transparent;color:var(--text-secondary);border:none;padding:12px 24px;font-size:14px;font-weight:500}.skip-btn:hover:not(:disabled){color:var(--text-primary);background:var(--background);transform:none;box-shadow:none}.add-gift-card-btn,.add-loyalty-btn{background:var(--primary);color:#fff;border:none;padding:10px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:600;width:auto}.add-gift-card-btn:hover:not(:disabled),.add-loyalty-btn:hover:not(:disabled){background:var(--primary-dark);box-shadow:var(--shadow-primary)}.auth-form{margin:24px 0}.auth-subtitle{color:var(--text-secondary);font-size:14px;margin-bottom:20px}.invite-code-input{position:relative;display:flex;align-items:center;gap:12px}.invite-code-input input{font-family:SF Mono,Monaco,Courier New,monospace;letter-spacing:2px;text-transform:uppercase;font-size:18px;text-align:center}.invite-code-input input.valid{border-color:var(--success);background:var(--success-light)}.invite-code-input input.invalid{border-color:var(--danger);background:var(--danger-light)}.invite-status{font-size:13px;font-weight:600;white-space:nowrap}.invite-status.checking{color:var(--text-muted)}.invite-status.valid{color:var(--success)}.invite-status.invalid{color:var(--danger)}.help-text{display:block;font-size:13px;color:var(--text-muted);margin-top:8px}.help-text a{color:var(--primary);font-weight:500}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary);font-size:14px}.form-group input,.form-group select{width:100%;padding:14px 16px;border:2px solid var(--border);border-radius:var(--radius-md);font-size:15px;transition:var(--transition);background:var(--card-bg)}.form-hint{display:block;font-size:12px;color:var(--text-muted);margin-top:6px}.info-note{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:linear-gradient(135deg,#e8f4fd,#f0f8ff);border:1px solid #c5dff0;border-radius:10px;margin:8px 0 16px;font-size:.9rem;color:#2c5282}.info-note .info-icon{flex-shrink:0;font-size:1.1rem}.loyalty-card-balance.member-status .balance-value{color:#22c55e;font-weight:600}.form-error{background:var(--danger-light);color:var(--danger);padding:12px 16px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:14px;border-left:4px solid var(--danger)}.form-actions{display:flex;gap:12px;margin-top:24px}.toggle-auth{text-align:center;margin-top:24px;color:var(--text-secondary);font-size:14px}.toggle-auth a{color:var(--primary);cursor:pointer;text-decoration:none;font-weight:600}.toggle-auth a:hover{text-decoration:underline}.auth-subtitle{text-align:center;color:var(--text-secondary);font-size:14px;margin-bottom:20px}.pending-approval-notice{display:flex;align-items:flex-start;gap:12px;background:#fef3c7;border:1px solid #f59e0b;border-radius:var(--radius-md);padding:16px;margin-bottom:16px}.pending-approval-notice .pending-icon{flex-shrink:0}.pending-approval-notice .pending-text strong{display:block;color:#92400e;margin-bottom:4px}.pending-approval-notice .pending-text p{color:#a16207;font-size:13px;margin:0}.registration-success{text-align:center;padding:20px 0}.registration-success .success-icon{margin-bottom:20px}.registration-success h2{color:#22c55e;margin-bottom:16px}.registration-success .success-message{background:none;border:none;padding:0;color:var(--text-primary);font-size:16px}.registration-success .pending-message{color:var(--text-secondary);font-size:14px;margin:16px 0;line-height:1.5}.registration-success .email-note{color:var(--text-secondary);font-size:13px;margin-bottom:24px}.registration-success .btn-primary{display:inline-block;padding:12px 32px;text-decoration:none}.success-message{background:var(--success-light);color:var(--success);padding:16px;border-radius:var(--radius-md);text-align:center;margin:16px 0;border-left:4px solid var(--success)}.success-message p{margin:8px 0}.auth-footer{text-align:center;margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.auth-footer a{color:var(--primary);text-decoration:none;font-size:14px}.auth-footer a:hover{text-decoration:underline}.forgot-password-link{margin-top:8px;text-align:right}.forgot-password-link a{font-size:13px;color:var(--primary);text-decoration:none}.forgot-password-link a:hover{text-decoration:underline}.search-section{margin:32px 0;padding:0 20px}.search-section h3{margin-bottom:16px;color:var(--navy)}.search-bar{margin:16px 0}.search-bar form{display:flex;gap:12px}.search-bar input{flex:1;padding:16px 20px;border:2px solid var(--border);border-radius:var(--radius-lg);font-size:16px;transition:var(--transition);background:var(--card-bg)}.search-bar input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.search-bar input::placeholder{color:var(--text-muted)}.search-bar button{padding:16px 32px;width:auto;background:var(--accent);border-radius:var(--radius-lg)}.search-bar button:hover:not(:disabled){background:var(--accent-dark)}.search-buttons{display:flex;gap:8px;flex-shrink:0}.clear-btn{padding:16px 20px;background:var(--text-secondary);color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;font-size:14px;font-weight:600;width:auto;flex-shrink:0}.clear-btn:hover:not(:disabled){background:var(--text-primary)}.global-search-form{display:flex;align-items:center;gap:12px;width:100%;max-width:100%;box-sizing:border-box}.global-search-bar{flex:1;display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-full);transition:var(--transition);min-width:0}.global-search-bar:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #ff6b351a}.global-search-icon{color:var(--text-muted);flex-shrink:0;width:20px;height:20px}.global-search-input{flex:1;min-width:0;border:none;outline:none;font-size:16px;color:var(--text-primary);background:transparent;padding:0}.global-search-input::placeholder{color:var(--text-muted)}.global-search-input:disabled{opacity:.6}.global-search-buttons{display:flex;gap:8px;flex-shrink:0}.global-search-clear-btn{background:#e5e7eb;color:var(--text-secondary);border:none;border-radius:var(--radius-full);padding:12px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);white-space:nowrap}.global-search-clear-btn:hover:not(:disabled){background:#d1d5db;color:var(--text-primary)}.global-search-clear-btn:disabled{opacity:.6;cursor:not-allowed}.global-search-submit{background:var(--primary);color:#fff;border:none;border-radius:var(--radius-full);padding:12px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition);white-space:nowrap;flex-shrink:0}.global-search-submit:hover:not(:disabled){background:var(--primary-dark)}.global-search-submit:disabled{opacity:.6;cursor:not-allowed}.search-bar-wrapper{position:relative;width:100%;max-width:100%;box-sizing:border-box}.search-loading-indicator{position:absolute;right:16px;top:50%;transform:translateY(-50%)}.spinner-small{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.search-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:100;max-height:320px;overflow-y:auto}.suggestion-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background-color .15s ease;border-bottom:1px solid var(--border)}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover,.suggestion-item.selected{background:var(--primary-light)}.suggestion-icon{color:var(--text-muted);flex-shrink:0}.suggestion-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.suggestion-name{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestion-meta{font-size:12px;color:var(--text-muted)}.suggestion-arrow{color:var(--text-muted);flex-shrink:0;opacity:0;transition:opacity .15s ease}.suggestion-item:hover .suggestion-arrow,.suggestion-item.selected .suggestion-arrow{opacity:1;color:var(--primary)}@media (max-width: 768px){.search-suggestions{position:fixed;top:auto;left:16px;right:16px;bottom:calc(var(--bottom-nav-height) + 16px);max-height:50vh;border-radius:var(--radius-lg)}.suggestion-item{padding:14px 16px}.suggestion-name{font-size:15px}}.results-section{margin-top:32px;padding:0 20px;max-width:100%;overflow-x:hidden}.results-section>h3{color:var(--navy);margin-bottom:8px}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px;margin-top:20px;align-items:stretch}.result-card{background:var(--card-bg);border:2px solid var(--border);border-radius:var(--radius-lg);padding:24px;position:relative;box-shadow:var(--shadow-sm);transition:var(--transition);cursor:pointer}.result-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary)}.result-card.best-deal{border:2px solid var(--primary);box-shadow:var(--shadow-primary)}.result-card.best-deal:hover{border-color:var(--primary-dark)}.result-card h3{margin:0 0 12px;font-size:17px;color:var(--text-primary);padding-right:100px;line-height:1.4}.store-badge{position:absolute;top:16px;right:16px;background:var(--primary);color:#fff;padding:6px 14px;border-radius:var(--radius-full);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.best-deal-badge{position:absolute;top:-12px;left:20px;background:var(--accent);color:#fff;padding:8px 16px;border-radius:var(--radius-full);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:1px;box-shadow:var(--shadow-accent)}.best-deal-hint{color:var(--text-secondary);font-size:14px;margin-bottom:12px}.price-section{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.original-price{text-decoration:line-through;color:var(--text-muted);font-size:15px}.you-pay{font-size:28px;font-weight:700;color:var(--primary);margin:6px 0}.collapsible-section{margin:10px 0}.collapsible-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:var(--radius-md);font-size:14px;cursor:pointer;border:none;transition:var(--transition)}.collapsible-toggle:hover{transform:none}.toggle-label{font-weight:700}.toggle-arrow{font-size:12px;opacity:.7}.collapsible-content{background:var(--background);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);padding:16px}.save-toggle{background:var(--success-light);border:1px solid #a5d6a7}.save-toggle:hover{background:#a7f3d0}.save-toggle .toggle-label{color:var(--success)}.earn-toggle{background:var(--primary-light);border:1px solid #93c5fd}.earn-toggle:hover{background:#bfdbfe}.earn-toggle .toggle-label{color:var(--primary)}.could-earn-toggle{background:var(--accent-light);border:1px solid #ffcc80}.could-earn-toggle:hover{background:#ffe0b2}.could-earn-toggle .toggle-label{color:var(--accent)}.breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px;color:var(--text-secondary)}.breakdown-label{flex:1}.breakdown-value{font-weight:700}.breakdown-value.discount{color:var(--success)}.breakdown-value.earned{color:var(--primary)}.breakdown-value.potential{color:var(--accent)}.could-earn-hint{font-size:12px;color:var(--text-muted);font-style:italic;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border)}.card-recommendation{margin:14px 0;padding:14px 16px;border-radius:var(--radius-md);font-size:14px}.card-recommendation.no-cards{background:var(--background);color:var(--text-secondary);display:flex;align-items:center;gap:10px;border:1px dashed var(--border)}.card-recommendation.has-cards{background:var(--primary-light);border:1px solid #93c5fd}.card-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.card-label{font-weight:700;color:var(--primary)}.card-details{display:flex;justify-content:space-between;align-items:center}.card-name{font-weight:600;color:var(--text-primary)}.card-value{color:var(--primary);font-weight:700}.card-reason{font-size:12px;color:var(--text-muted);margin-top:6px}.credit-card-section{background:var(--card-bg);border-radius:var(--radius-lg);padding:24px;margin:0 20px 24px;box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.credit-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.credit-card-header h3{margin:0;font-size:18px;color:var(--navy);display:flex;align-items:center;gap:8px}.connection-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.connection-badge.connected{background:var(--success-light);color:var(--success)}.credit-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.credit-card-item{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);border-radius:var(--radius-lg);padding:20px;color:#fff;position:relative;overflow:hidden;min-height:180px}.credit-card-item:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);pointer-events:none}.credit-card-top{display:flex;align-items:center;gap:12px;margin-bottom:16px}.credit-card-icon{font-size:28px}.credit-card-info{flex:1}.credit-card-name{font-size:16px;font-weight:600;margin-bottom:2px}.credit-card-number{font-size:12px;opacity:.8}.credit-card-details{display:flex;justify-content:space-between;padding:12px;background:#ffffff1a;border-radius:var(--radius-sm);margin-bottom:12px}.credit-card-stat{text-align:center}.stat-label{display:block;font-size:10px;text-transform:uppercase;opacity:.7;margin-bottom:4px}.stat-value{font-size:14px;font-weight:600}.stat-value.balance{color:#fca5a5}.stat-value.available{color:#86efac}.credit-card-bonuses{display:flex;flex-wrap:wrap;gap:6px}.bonus-tag{background:#fff3;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500}.credit-card-footer{margin-top:20px;padding-top:20px;border-top:1px solid var(--border);display:flex;justify-content:center}.credit-card-footer .disconnect-btn{padding:10px 20px;background:transparent;color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-md);font-size:14px;width:auto}.credit-card-footer .disconnect-btn:hover:not(:disabled){background:var(--danger-light);transform:none;box-shadow:none}.no-credit-cards{text-align:center;padding:40px 20px;color:var(--text-secondary)}.no-credit-cards .hint{font-size:14px;margin-bottom:20px;color:var(--text-muted)}.credit-card-loading{display:flex;flex-direction:column;align-items:center;padding:40px;color:var(--text-secondary)}.gift-card-section{background:var(--card-bg);border-radius:var(--radius-lg);padding:24px;margin:0 20px 24px;box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.gift-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.gift-card-header h3{margin:0;font-size:18px;color:var(--navy)}.no-gift-cards{text-align:center;padding:30px;color:var(--text-secondary)}.no-gift-cards .hint{font-size:13px;color:var(--text-muted);margin-top:8px}.gift-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.gift-card-item{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:var(--radius-lg);padding:20px;color:#fff;position:relative;min-height:150px;box-shadow:0 6px 20px #667eea59;transition:var(--transition)}.gift-card-item:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea73}.gift-card-item.expired{background:linear-gradient(135deg,#94a3b8,#64748b);opacity:.8}.gift-card-retailer{font-weight:700;font-size:18px;margin-bottom:14px;color:#fff}.gift-card-balance{font-size:32px;font-weight:800;margin-bottom:10px;color:#fff}.gift-card-number{font-size:13px;opacity:.85;color:#fff}.gift-card-expiry{font-size:13px;margin-top:12px;opacity:.9;color:#fff}.gift-card-expiry.expiring-soon{color:#fef08a;font-weight:700}.delete-gift-card-btn{position:absolute;top:14px;right:14px;background:#ffffff40;border:none;color:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:var(--transition);padding:0}.delete-gift-card-btn:hover:not(:disabled){background:var(--danger);transform:none;box-shadow:none}.gift-card-section-result{margin-top:14px;padding:16px;background:#fffbf0;border-radius:var(--radius-md);border:1px solid #f5e6c8}.gift-card-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.gift-card-icon{font-size:22px}.gift-card-name{font-weight:700;font-size:14px;color:var(--text-primary)}.gift-card-balance-result{margin-left:auto;font-size:14px;color:var(--text-primary);font-weight:700}.gift-card-warning{color:var(--warning);font-size:12px;margin-top:10px;font-weight:600}.loyalty-section{background:var(--card-bg);border-radius:var(--radius-lg);padding:24px;margin:0 20px 24px;box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.loyalty-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.loyalty-header h3{margin:0;font-size:18px;color:var(--navy)}.no-loyalty{text-align:center;padding:30px;color:var(--text-secondary)}.no-loyalty .hint{font-size:13px;color:var(--text-muted);margin-top:8px}.loyalty-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.loyalty-item{border-radius:var(--radius-lg);padding:20px;color:#fff;position:relative;min-height:160px;box-shadow:0 6px 20px #0003;transition:var(--transition)}.loyalty-item:hover{transform:translateY(-2px)}.loyalty-program-name{font-weight:700;font-size:18px;margin-bottom:14px;color:#fff}.loyalty-tier{display:inline-block;padding:6px 16px;border-radius:var(--radius-full);font-size:12px;font-weight:700;background:#fffffff2;color:var(--text-primary);margin-bottom:14px}.loyalty-points{font-size:32px;font-weight:800;color:#fff}.loyalty-points-value{font-size:13px;opacity:.85;margin-top:4px;color:#fff}.loyalty-member-number{font-size:13px;opacity:.85;margin-top:12px;color:#fff}.loyalty-redemption{margin-top:12px;padding:8px 12px;border-radius:var(--radius-sm);background:#ffffff26;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;gap:2px}.loyalty-redemption.has-value{background:#10b98140;border:1px solid rgba(16,185,129,.4)}.loyalty-redemption.no-value{background:#ffffff1a}.redemption-amount{font-size:14px;font-weight:700;color:#fff}.loyalty-redemption.has-value .redemption-amount{color:#4ade80}.redemption-where{font-size:11px;color:#ffffffd9}.redemption-note{font-size:10px;color:#ffffffa6;font-style:italic}.delete-loyalty-btn{position:absolute;top:14px;right:14px;background:#ffffff40;border:none;color:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:var(--transition);padding:0}.delete-loyalty-btn:hover:not(:disabled){background:var(--danger);transform:none;box-shadow:none}.loyalty-section-card{margin-top:14px;padding:16px;background:var(--background);border-radius:var(--radius-md)}.loyalty-member-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.member-badge{color:var(--success);font-weight:700;font-size:14px}.tier-display{background:var(--success-light);color:var(--success);padding:4px 12px;border-radius:var(--radius-full);font-size:11px;font-weight:700}.tier-badge{background:var(--success-light);color:var(--success);padding:3px 8px;border-radius:var(--radius-sm);font-size:10px;font-weight:700;margin-left:8px}.points-display{color:var(--text-secondary);font-size:13px;margin-left:auto}.join-prompt{color:var(--primary);font-size:14px;cursor:pointer;font-weight:500}.join-prompt:hover{text-decoration:underline}.join-icon{font-weight:700;margin-right:6px}.redemption-toggle{display:flex;align-items:center;gap:12px}.toggle-switch{position:relative;width:50px;height:28px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#cbd5e1;transition:.3s;border-radius:28px}.toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.toggle-text{font-size:13px;color:var(--text-secondary)}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--card-bg);border-radius:var(--radius-xl);width:100%;max-width:440px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.modal-header h3{margin:0;font-size:20px;color:var(--navy)}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-muted);width:44px;height:44px;min-width:44px;min-height:44px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%}.modal-close:hover:not(:disabled){color:var(--text-primary);background:var(--background);transform:none}.gift-card-form,.loyalty-form,.manual-entry-form{padding:24px}.onboarding-card{background:var(--card-bg);border-radius:var(--radius-xl);padding:50px 40px;text-align:center;max-width:520px;margin:40px auto;box-shadow:var(--shadow-lg);border:1px solid var(--border-light)}.onboarding-icon{font-size:4.5rem;margin-bottom:24px}.onboarding-card h3{color:var(--navy);font-size:1.6rem;margin-bottom:14px;font-weight:700}.onboarding-card>p{color:var(--text-secondary);margin-bottom:28px;line-height:1.7;font-size:15px}.onboarding-features{display:flex;justify-content:center;gap:24px;margin-bottom:32px;flex-wrap:wrap}.feature-item{color:var(--success);font-size:.95rem;font-weight:600}.connect-bank-btn{background:var(--accent);color:#fff;border:none;padding:18px 48px;font-size:1.1rem;font-weight:700;border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition);width:auto}.connect-bank-btn:hover:not(:disabled){background:var(--accent-dark);transform:translateY(-2px);box-shadow:var(--shadow-accent)}.onboarding-note{margin-top:24px;font-size:.85rem;color:var(--text-muted)}.onboarding-message{text-align:center;padding:24px;margin-bottom:24px;background:var(--success-light);border-radius:var(--radius-lg);border:1px solid #a5d6a7}.onboarding-message h3{color:var(--success);margin-bottom:8px}.onboarding-message p{color:var(--text-secondary);font-size:14px}.bank-status{margin-bottom:24px}.connected-badge{display:inline-block;background:var(--success-light);color:var(--success);padding:12px 24px;border-radius:var(--radius-full);font-size:14px;font-weight:600}.connecting-bank{text-align:center;padding:40px}.connecting-bank p{margin-top:16px;color:var(--text-secondary);font-size:16px}.no-connection{text-align:center;padding:30px;color:var(--text-secondary);background:var(--background);border-radius:var(--radius-md)}.no-connection .connect-btn{margin-top:12px;background:var(--accent);color:#fff;border:none;padding:12px 24px;border-radius:var(--radius-md);font-size:14px;width:auto}.no-connection .connect-btn:hover:not(:disabled){background:var(--accent-dark)}.connected-banks{margin:0 20px 20px}.connected-banks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.connected-banks-header h3{margin:0;color:var(--navy)}.refresh-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:8px;border-radius:50%;transition:var(--transition);width:auto}.refresh-btn:hover:not(:disabled){background-color:var(--background);transform:none;box-shadow:none}.bank-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid var(--border-light)}.bank-card-header{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);color:#fff;padding:20px}.bank-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.bank-name-container{display:flex;align-items:center;gap:10px}.bank-logo{font-size:1.5rem}.bank-name{font-size:1.25rem;font-weight:600}.status-badge{padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:500;white-space:nowrap}.status-badge.connected{background-color:#4ade80;color:#166534}.status-badge.pending{background-color:#fbbf24;color:#92400e}.status-badge.failed{background-color:#f87171;color:#991b1b}.bank-meta{font-size:.85rem;opacity:.8}.accounts-list{padding:20px}.accounts-list h4{margin:0 0 16px;color:var(--text-secondary);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.account-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--background);border-radius:var(--radius-md);margin-bottom:12px;gap:20px}.account-item:last-child{margin-bottom:0}.account-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.account-name{font-weight:600;color:var(--navy);word-break:break-word}.account-type{font-size:.85rem;color:var(--text-secondary);text-transform:capitalize}.account-balance{text-align:right;min-width:100px;margin-left:16px}.balance-label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:2px}.balance-amount{font-weight:600;color:var(--navy);font-size:1.1rem}.no-accounts{padding:30px 20px;text-align:center;color:var(--text-secondary)}.no-accounts p{margin-bottom:16px}.bank-card-footer{padding:16px 20px;border-top:1px solid var(--border);text-align:right}.disconnect-btn{background:none;border:1px solid var(--danger);color:var(--danger);padding:8px 16px;border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;transition:var(--transition);width:auto}.disconnect-btn:hover:not(:disabled){background:var(--danger);color:#fff;transform:none;box-shadow:none}.retry-btn{background:var(--primary);color:#fff;border:none;padding:8px 20px;border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;width:auto}.retry-btn:hover:not(:disabled){background:var(--primary-dark)}.bank-error{text-align:center;padding:20px;color:var(--danger)}.bank-error .error-icon{font-size:2rem;display:block;margin-bottom:12px}.callback-container{display:flex;justify-content:center;align-items:center;min-height:60vh}.callback-card{background:var(--card-bg);padding:50px 60px;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);text-align:center;border:1px solid var(--border-light)}.callback-success .success-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background:var(--success-light);color:var(--success);border-radius:50%;font-size:40px;margin-bottom:20px}.callback-error .error-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background:var(--danger-light);color:var(--danger);border-radius:50%;font-size:40px;margin-bottom:20px}.callback-message{font-size:18px;color:var(--text-primary);margin-top:16px;font-weight:500}.callback-hint{color:var(--text-muted);font-size:.9rem;margin-top:10px}.callback-actions{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap;justify-content:center}.callback-btn{padding:14px 28px;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);width:auto}.callback-btn.primary{background:var(--accent);color:#fff;border:none}.callback-btn.primary:hover:not(:disabled){background:var(--accent-dark)}.callback-btn.secondary{background:var(--card-bg);color:var(--navy);border:2px solid var(--border)}.callback-btn.secondary:hover:not(:disabled){background:var(--background);border-color:var(--primary)}.callback-cancelled{width:80px;height:80px;border-radius:50%;background:var(--warning-light);display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.cancelled-icon{font-size:40px;color:var(--warning)}.spinner-container,.loading-container{display:flex;flex-direction:column;align-items:center;text-align:center;padding:50px}.spinner{border:4px solid var(--border);border-top:4px solid var(--primary);border-radius:50%;width:48px;height:48px;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.kangaroo-spinner{width:80px;height:80px;margin:0 auto 20px}.kangaroo-bounce{width:100%;height:100%;animation:kangaroo-hop .6s ease-in-out infinite}@keyframes kangaroo-hop{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.05)}}.spinner-container p{color:var(--text-secondary);font-size:14px;margin-top:8px}.loading-text{margin-top:16px;color:var(--text-secondary);font-size:1rem}.empty-state{text-align:center;padding:40px;background:var(--card-bg);border-radius:var(--radius-lg);margin-top:20px;box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.empty-state h3{font-size:16px;color:var(--navy);margin-bottom:8px}.empty-state p{font-size:14px;color:var(--text-secondary);margin-bottom:16px}.suggestion-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.suggestion-tag{background:#fff;border:1px solid var(--border);border-radius:var(--radius-full);padding:8px 16px;font-size:13px;color:var(--primary);cursor:pointer;transition:var(--transition);width:auto!important}.suggestion-tag:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.inline-error{display:flex;justify-content:space-between;align-items:center;background:var(--warning-light);border:1px solid var(--warning);color:#92400e;padding:14px 18px;border-radius:var(--radius-md);margin-bottom:16px;font-size:.9rem}.dismiss-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;color:#92400e;padding:0 4px;width:auto}.dismiss-btn:hover:not(:disabled){color:#78350f;background:none;transform:none}.deal-details-page{max-width:800px;margin:0 auto;padding:20px}.back-button{background:none;border:none;color:var(--primary);font-size:16px;cursor:pointer;padding:12px 0;margin-bottom:20px;font-weight:600;width:auto}.back-button:hover:not(:disabled){text-decoration:underline;background:none;transform:none}.deal-details-container{background:var(--card-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;border:1px solid var(--border-light)}.deal-product-section{display:flex;gap:24px;padding:28px;background:var(--background-blue);border-bottom:1px solid var(--border)}.deal-image-placeholder{width:160px;height:160px;background:var(--border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:56px}.deal-product-info{flex:1}.deal-store-badge{background:var(--primary);color:#fff;padding:8px 16px;border-radius:var(--radius-full);font-size:12px;font-weight:700;text-transform:uppercase}.deal-product-info h1{margin:16px 0 10px;font-size:26px;color:var(--text-primary)}.deal-category{color:var(--text-secondary);text-transform:capitalize;margin:0 0 10px;font-size:15px}.in-stock{color:var(--success);font-size:14px;font-weight:600}.deal-price-section{padding:28px;text-align:center;border-bottom:1px solid var(--border)}.deal-original-price{color:var(--text-muted);text-decoration:line-through;font-size:18px}.deal-you-pay{font-size:18px;color:var(--text-primary);margin-top:10px}.deal-final-price{font-size:44px;font-weight:800;color:var(--primary)}.deal-section{padding:24px 28px;border-bottom:1px solid var(--border)}.deal-section:last-child{border-bottom:none}.deal-section h3{margin:0 0 18px;font-size:16px;font-weight:700}.deal-save-section{background:var(--success-light)}.deal-save-section h3{color:var(--success)}.deal-earn-section{background:var(--primary-light)}.deal-earn-section h3{color:var(--primary)}.deal-could-earn-section{background:var(--accent-light)}.deal-could-earn-section h3{color:var(--accent)}.deal-breakdown{display:flex;flex-direction:column;gap:12px}.deal-breakdown-row{display:flex;justify-content:space-between;font-size:15px}.discount-value{color:var(--success);font-weight:700}.earn-value{color:var(--primary);font-weight:700}.potential-value{color:var(--accent);font-weight:700}.deal-loyalty-member{display:flex;flex-direction:column;gap:14px}.loyalty-status{display:flex;align-items:center;gap:10px}.deal-gift-card-section .gift-card-info{display:flex;justify-content:space-between;margin-bottom:14px;font-size:15px}.deal-details-loading,.deal-details-error{text-align:center;padding:50px}.deal-details-error button{margin-top:20px;padding:14px 28px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer}.connect-bank-cta{margin:14px 0;padding:16px;background:var(--primary-light);border:1px solid var(--primary);border-radius:var(--radius-md);display:flex;align-items:center;gap:14px}.cta-icon{font-size:28px}.cta-content{display:flex;flex-direction:column;gap:10px;flex:1}.cta-text{font-size:13px;color:var(--primary-dark);font-weight:500}.cta-button{background:var(--accent);color:#fff;border:none;padding:10px 18px;border-radius:var(--radius-md);cursor:pointer;font-size:13px;font-weight:600;width:fit-content}.cta-button:hover:not(:disabled){background:var(--accent-dark)}.email-connection-card{background:var(--card-bg);border-radius:var(--radius-lg);padding:20px;margin:0 20px 24px;box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.email-connected,.email-not-connected{display:flex;align-items:center;gap:16px}.email-icon{font-size:32px}.email-info{display:flex;flex-direction:column;flex:1}.email-info strong{color:var(--navy);font-size:16px}.email-info span{color:var(--text-secondary);font-size:14px}.connect-email-btn{background:var(--primary);color:#fff;border:none;padding:10px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition);width:auto}.connect-email-btn:hover:not(:disabled){background:var(--primary-dark);box-shadow:var(--shadow-primary)}.disconnect-email-btn{background:transparent;color:var(--danger);border:1px solid var(--danger);padding:8px 16px;border-radius:var(--radius-md);font-size:13px;cursor:pointer;transition:var(--transition);width:auto}.disconnect-email-btn:hover:not(:disabled){background:var(--danger-light);transform:none;box-shadow:none}.email-prompt-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.email-prompt-modal{background:var(--card-bg);border-radius:var(--radius-xl);padding:40px;max-width:450px;width:90%;text-align:center;box-shadow:var(--shadow-lg)}.email-prompt-icon{font-size:48px;margin-bottom:16px}.email-prompt-modal h2{margin:0 0 16px;color:var(--navy);font-size:24px}.email-prompt-description{color:var(--text-primary);font-size:16px;margin-bottom:12px}.email-prompt-note{color:var(--text-secondary);font-size:14px;margin-bottom:24px;padding:12px;background:var(--background);border-radius:var(--radius-md)}.email-prompt-error{color:var(--danger);background:var(--danger-light);padding:12px;border-radius:var(--radius-md);margin-bottom:16px;font-size:14px}.email-prompt-actions{display:flex;flex-direction:column;gap:12px}.email-prompt-connect{background:var(--primary);color:#fff;border:none;padding:14px 24px;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:8px}.email-prompt-connect:hover:not(:disabled){background:var(--primary-dark);box-shadow:var(--shadow-primary)}.email-prompt-skip{background:transparent;color:var(--text-secondary);border:1px solid var(--border);padding:12px 24px;border-radius:var(--radius-md);font-size:14px;cursor:pointer;transition:var(--transition)}.email-prompt-skip:hover:not(:disabled){background:var(--background);border-color:var(--text-secondary);transform:none;box-shadow:none}.email-prompt-footer{margin-top:20px;color:var(--text-muted);font-size:12px}.email-callback-container{display:flex;align-items:center;justify-content:center;min-height:60vh}.email-callback-card{background:var(--card-bg);border-radius:var(--radius-xl);padding:40px;text-align:center;box-shadow:var(--shadow-lg);max-width:400px;width:90%;border:1px solid var(--border-light)}.email-callback-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:28px;font-weight:700}.email-callback-icon.success{background:var(--success-light);color:var(--success)}.email-callback-icon.error{background:var(--danger-light);color:var(--danger)}.email-callback-redirect{color:var(--text-muted);font-size:14px}.scan-results-container{display:flex;justify-content:center;padding:20px;min-height:60vh}.scan-progress,.scan-error,.scan-empty{text-align:center;padding:60px 40px;background:var(--card-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:400px;border:1px solid var(--border-light)}.scan-progress h2,.scan-error h2,.scan-empty h2{margin:20px 0 10px;color:var(--navy)}.scan-progress p,.scan-error p,.scan-empty p{color:var(--text-secondary);margin:8px 0}.scan-note{font-size:14px;color:var(--text-muted)!important}.error-icon,.empty-icon{font-size:48px}.scan-results-card{background:var(--card-bg);border-radius:var(--radius-xl);padding:30px;box-shadow:var(--shadow-lg);max-width:600px;width:100%;border:1px solid var(--border-light)}.scan-header{text-align:center;margin-bottom:24px}.scan-header h2{margin:0 0 8px;color:var(--navy)}.scan-header p{color:var(--text-secondary);margin:0}.results-section h3{font-size:16px;color:var(--navy);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.results-list{display:flex;flex-direction:column;gap:8px}.result-item{display:flex;align-items:center;gap:12px;padding:12px;border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition)}.result-item:hover,.result-item.selected{border-color:var(--primary);background:var(--primary-light)}.result-checkbox{width:24px;height:24px;border:2px solid var(--border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;flex-shrink:0}.result-item.selected .result-checkbox{background:var(--primary);border-color:var(--primary)}.result-info{display:flex;flex-direction:column;gap:2px}.result-info strong{color:var(--navy);font-size:15px}.result-info span{color:var(--text-secondary);font-size:13px}.result-warning,.result-duplicate{font-size:12px;font-weight:500;padding:4px 8px;border-radius:var(--radius-sm);display:inline-block;margin-top:4px}.result-warning{background:var(--warning-light);color:var(--warning)}.result-duplicate{background:var(--info-light);color:var(--info)}.result-points,.result-balance{font-weight:600;color:var(--success)}.scan-stats{text-align:center;padding:12px;background:var(--background);border-radius:var(--radius-md);margin-bottom:20px;font-size:14px;color:var(--text-secondary)}.scan-actions{display:flex;flex-direction:column;gap:12px}.confirmation-container{display:flex;justify-content:center;align-items:flex-start;min-height:80vh;padding:20px}.confirmation-card{background:var(--card-bg);border-radius:var(--radius-xl);padding:40px;max-width:600px;width:100%;box-shadow:var(--shadow-lg);border:1px solid var(--border-light)}.confirmation-header{text-align:center;margin-bottom:30px}.confirmation-icon{font-size:48px;display:block;margin-bottom:16px}.confirmation-header h2{margin:0 0 8px;color:var(--navy)}.confirmation-subtitle{color:var(--text-secondary);margin:0}.detected-cards{display:flex;flex-direction:column;gap:20px;margin-bottom:30px}.detected-card{background:var(--background);border:2px solid var(--border);border-radius:var(--radius-md);padding:20px;transition:var(--transition)}.detected-card.confirmed{border-color:var(--success);background:var(--success-light)}.confirmed-badge{background:var(--success);color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.card-icon{font-size:32px}.card-info h3{margin:0 0 4px;font-size:16px;color:var(--navy)}.card-actions{display:flex;gap:12px}.confirm-btn,.reject-btn{flex:1;padding:12px 16px;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition)}.confirm-btn{background:var(--success);color:#fff}.confirm-btn:hover:not(:disabled){background:var(--success-dark)}.reject-btn{background:transparent;color:var(--text-secondary);border:2px solid var(--border)}.reject-btn:hover:not(:disabled){border-color:var(--danger);color:var(--danger);background:transparent;transform:none;box-shadow:none}.confirmation-footer{display:flex;flex-direction:column;gap:12px;padding-top:20px;border-top:1px solid var(--border)}.add-bank-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;background:transparent;color:var(--primary);border:2px dashed var(--primary);border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition)}.add-bank-btn:hover:not(:disabled){background:var(--primary-light);transform:none;box-shadow:none}.continue-btn{padding:16px 24px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:var(--transition)}.continue-btn:hover:not(:disabled){background:var(--accent-dark);box-shadow:var(--shadow-accent)}.placeholder-page{display:flex;justify-content:center;align-items:center;min-height:60vh}.placeholder-card{background:var(--card-bg);border-radius:var(--radius-xl);padding:60px;text-align:center;box-shadow:var(--shadow-lg);border:1px solid var(--border-light)}.placeholder-card h2{color:var(--navy);margin-bottom:12px}.placeholder-card p{color:var(--text-secondary);margin-bottom:24px}@media (max-width: 768px){.container{padding:16px}.dashboard-header{flex-direction:column;gap:16px;text-align:center;padding:0 16px}.header-brand{flex-direction:column;gap:12px}.results-grid,.gift-card-grid,.loyalty-grid,.credit-card-grid{grid-template-columns:1fr}.deal-product-section{flex-direction:column;align-items:center;text-align:center}.deal-product-info h1{font-size:22px}.credit-card-section,.gift-card-section,.loyalty-section,.email-connection-card,.connected-banks{margin:0 16px 20px;padding:20px}.search-section,.results-section{padding:0 16px}.email-connected,.email-not-connected{flex-direction:column;text-align:center;gap:12px}.bank-info{flex-direction:column;align-items:flex-start;gap:10px}.account-item{flex-direction:column;align-items:stretch;gap:12px}.account-balance{text-align:left;margin-left:0}}@media (max-width: 480px){body{font-size:14px}.onboarding-card{padding:30px 20px;margin:20px}.onboarding-icon{font-size:3rem}.onboarding-card h3{font-size:1.3rem}.onboarding-features{flex-direction:column;gap:10px}.connect-bank-btn{width:100%;padding:16px 30px}.callback-card{padding:30px 20px}.search-bar form{flex-direction:column}.search-bar button,.clear-btn{width:100%}.search-buttons{flex-direction:column;width:100%}.auth-container{margin:20px;padding:24px}.confirmation-card{padding:24px}.card-actions{flex-direction:column}.credit-card-details{flex-direction:column;gap:8px}.credit-card-stat{display:flex;justify-content:space-between;text-align:left}}@media (max-width: 1024px){.navbar-links{display:none}.mobile-menu-toggle,.mobile-menu{display:block}}@media (max-width: 768px){.summary-cards{grid-template-columns:repeat(2,1fr)}.account-summary{margin:0 16px 20px}.navbar-user{display:none}}@media (max-width: 480px){.summary-cards{grid-template-columns:1fr}.summary-card{padding:16px}.summary-value{font-size:20px}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mb-0{margin-bottom:0}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.hidden{display:none}.visible{display:block}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;justify-content:space-between;align-items:center}.w-full{width:100%}.w-auto{width:auto}.dashboard-header{text-align:center;padding:40px 20px 30px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);margin:-20px -20px 30px;border-radius:0 0 var(--radius-xl) var(--radius-xl);color:#fff}.dashboard-header h1{font-size:28px;font-weight:700;margin-bottom:8px}.dashboard-header p{font-size:16px;opacity:.9}.search-empty-state{padding:30px 20px}.search-hint{text-align:center;padding:40px 20px;max-width:500px;margin:0 auto 30px}.hint-text{font-size:17px;color:var(--text-secondary);line-height:1.6;margin-bottom:8px}.hint-link{color:var(--primary);font-weight:600;cursor:pointer;transition:var(--transition)}.hint-link:hover{color:var(--primary-dark);text-decoration:underline}.hint-subtext{font-size:14px;color:var(--text-muted)}.search-switch-hint{margin-top:24px;padding:16px;background:var(--background);border-radius:var(--radius-md);text-align:center}.search-switch-hint p{margin:0;font-size:14px;color:var(--text-secondary)}.stacking-empty{padding:24px;background:var(--background);border-radius:var(--radius-md);text-align:center}.stacking-empty p{margin:0;color:var(--text-secondary)}.wallet-promo{display:flex;align-items:center;justify-content:space-between;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;gap:20px}.wallet-promo-content{display:flex;align-items:center;gap:16px}.wallet-promo-icon{font-size:40px}.wallet-promo-content strong{font-size:16px;display:block;margin-bottom:4px}.wallet-promo-content p{font-size:14px;color:var(--text-secondary);margin:0}.wallet-promo-btn{background:var(--primary);color:#fff;border:none;padding:12px 24px;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition);white-space:nowrap}.wallet-promo-btn:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-primary)}.results-header{margin-bottom:20px}.results-header h3{font-size:20px;margin-bottom:8px}.results-header .best-deal-hint{font-size:14px;color:var(--text-secondary)}.my-wallet{max-width:1200px;margin:0 auto;padding:20px}.wallet-header{text-align:center;padding:30px 20px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);margin:-20px -20px 30px;border-radius:0 0 var(--radius-xl) var(--radius-xl);color:#fff}.wallet-header h1{font-size:28px;font-weight:700;margin-bottom:8px}.wallet-header p{font-size:16px;opacity:.9}@media (max-width: 768px){.wallet-promo{flex-direction:column;text-align:center}.wallet-promo-content{flex-direction:column}.wallet-promo-btn{width:100%}.dashboard-header,.wallet-header{padding:30px 16px 24px;margin:-16px -16px 24px}.dashboard-header h1,.wallet-header h1{font-size:24px}}.wallet-submenu{display:flex;gap:8px;padding:12px 16px;background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:24px;overflow-x:auto;-webkit-overflow-scrolling:touch}.submenu-item{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--background);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:var(--transition);white-space:nowrap;flex-shrink:0}.submenu-item:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.submenu-item.active{background:var(--primary);border-color:var(--primary);color:#fff}.submenu-icon{font-size:16px}.wallet-value-summary{background:linear-gradient(135deg,#1e6fd9,#4aa3f0);border-radius:var(--radius-xl);padding:24px;margin-bottom:24px;color:#fff}.wallet-value-summary.compact{padding:20px}.wallet-value-summary.compact .value-summary-header{margin-bottom:16px}.wallet-value-summary.compact .header-left{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.wallet-value-summary.compact .header-left h2{font-size:18px;margin:0}.wallet-value-summary.compact .header-left .total-amount{font-size:24px;font-weight:700}.wallet-value-summary.compact .view-wallet-btn{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 16px;border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.wallet-value-summary.compact .view-wallet-btn:hover{background:#ffffff4d}.wallet-value-summary.compact .what-you-can-buy{margin-bottom:0}.value-summary-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap;gap:16px}.value-summary-header h2{font-size:20px;font-weight:600;margin:0}.total-value{text-align:right}.total-label{display:block;font-size:12px;opacity:.8;text-transform:uppercase;letter-spacing:.5px}.total-amount{font-size:32px;font-weight:700}.value-breakdown{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.value-item{display:flex;align-items:center;gap:12px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-md);padding:12px 16px;flex:1;min-width:200px}.value-icon{font-size:24px}.value-details{flex:1;display:flex;flex-direction:column;gap:2px}.value-label{font-size:13px;font-weight:600}.value-points{font-size:11px;opacity:.8}.value-amount{font-size:18px;font-weight:700}.what-you-can-buy{background:#ffffff1a;border-radius:var(--radius-md);padding:16px;margin-bottom:16px}.what-you-can-buy h4{font-size:14px;font-weight:600;margin:0 0 12px;opacity:.9}.affordable-products{display:flex;flex-wrap:wrap;gap:8px}.affordable-product{display:flex;align-items:center;gap:8px;background:#fff3;border-radius:var(--radius-sm);padding:8px 12px;font-size:13px;transition:all .3s ease;animation:fadeInProduct .5s ease}@keyframes fadeInProduct{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.affordable-product.clickable{cursor:pointer}.affordable-product.clickable:hover{background:#ffffff59;transform:translate(4px)}.product-arrow{opacity:.6;font-size:14px;transition:var(--transition)}.affordable-product.clickable:hover .product-arrow{opacity:1;transform:translate(2px)}.product-emoji{font-size:18px}.product-name{font-weight:500;flex:1}.product-price{font-weight:600;opacity:.9}.next-goal{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.2)}.goal-text{font-size:13px;opacity:.9}.value-disclaimer{display:flex;gap:10px;align-items:flex-start;background:#ffffff1a;border-radius:var(--radius-sm);padding:12px}.disclaimer-icon{font-size:16px;flex-shrink:0}.value-disclaimer p{margin:0;font-size:11px;line-height:1.5;opacity:.85}@media (max-width: 768px){.wallet-submenu{padding:10px 12px;gap:6px}.submenu-item{padding:8px 12px;font-size:13px}.wallet-value-summary{padding:20px 16px}.value-summary-header{flex-direction:column;text-align:center}.total-value{text-align:center;width:100%}.total-amount{font-size:28px}.value-breakdown{flex-direction:column}.value-item{min-width:100%}.affordable-products{flex-direction:column}.wallet-value-summary.compact .value-summary-header{flex-direction:column;gap:12px}.wallet-value-summary.compact .header-left{flex-direction:column;align-items:center;gap:8px}.wallet-value-summary.compact .view-wallet-btn{width:100%;text-align:center}}.wallet-sections-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:30px}.wallet-section-card{background:var(--card-bg);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);border:1px solid var(--border-light);transition:var(--transition)}.wallet-section-card.clickable{cursor:pointer}.wallet-section-card.clickable:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary)}.wallet-section-card .section-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.wallet-section-card .section-icon{font-size:32px}.wallet-section-card .section-header h3{font-size:18px;font-weight:600;color:var(--navy);margin:0}.wallet-section-card .section-stats{display:flex;gap:24px;margin-bottom:16px}.wallet-section-card .stat-item{display:flex;flex-direction:column}.wallet-section-card .stat-value{font-size:24px;font-weight:700;color:var(--navy)}.wallet-section-card .stat-item.highlight .stat-value{color:var(--success)}.wallet-section-card .stat-label{font-size:13px;color:var(--text-secondary)}.wallet-section-card .section-footer{padding-top:12px;border-top:1px solid var(--border-light)}.wallet-section-card .view-link{font-size:14px;color:var(--secondary);font-weight:500}.wallet-section-card.email-card{background:linear-gradient(135deg,var(--background-blue) 0%,var(--primary-light) 100%)}.wallet-section-card .email-connected-info{display:flex;align-items:center;gap:12px;margin-bottom:12px}.wallet-section-card .connected-badge{background:var(--success);color:#fff;font-size:12px;font-weight:600;padding:4px 10px;border-radius:var(--radius-full)}.wallet-section-card .email-address{font-size:14px;color:var(--text-secondary)}.wallet-section-card .email-description{font-size:14px;color:var(--text-secondary);margin-bottom:16px;line-height:1.5}.quick-actions{background:var(--card-bg);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm)}.quick-actions h3{font-size:16px;font-weight:600;color:var(--navy);margin-bottom:16px}.action-buttons{display:flex;gap:12px}.action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:var(--transition)}.action-btn:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.action-btn .action-icon{font-size:18px}.credit-cards-page{max-width:1200px;margin:0 auto;padding:20px}.page-header{display:flex;justify-content:space-between;align-items:center;padding:24px 20px;background:linear-gradient(135deg,var(--wallet-header) 0%,var(--wallet-header-dark) 100%);margin:-20px -20px 24px;border-radius:0 0 var(--radius-xl) var(--radius-xl);color:#fff}.page-header .header-content h1{font-size:28px;font-weight:700;margin-bottom:8px}.page-header .header-content p{font-size:16px;opacity:.9}.page-header .add-card-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:10px 18px;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:var(--transition);width:auto!important}.page-header .add-card-btn:hover{background:#ffffff4d}.bank-connection-card{background:var(--card-bg);border-radius:var(--radius-md);padding:16px 20px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-sm);border:1px solid var(--border-light);min-width:220px}.bank-connection-card .bank-info{flex:1}.bank-connection-card .bank-name{font-weight:600;color:var(--navy);display:block}.bank-connection-card .bank-status{font-size:12px;color:var(--success)}.bank-connection-card .disconnect-btn{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:var(--transition)}.bank-connection-card .disconnect-btn:hover{background:var(--danger-light);color:var(--danger)}.add-bank-card{background:var(--background);border:2px dashed var(--border);border-radius:var(--radius-md);padding:16px 20px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:var(--transition);min-width:200px}.add-bank-card:hover{border-color:var(--primary);background:var(--primary-light)}.add-bank-card .add-icon{font-size:24px;color:var(--primary)}.add-bank-card span{font-weight:500;color:var(--primary)}.credit-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:30px}@media (max-width: 640px){.credit-cards-grid{grid-template-columns:1fr}}.credit-card-mini{background:var(--card-bg);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-sm);border:2px solid var(--border-light);cursor:pointer;transition:var(--transition);min-width:0}.credit-card-mini:hover{border-color:var(--primary)}.credit-card-mini.selected{border-color:var(--primary);background:var(--primary-light)}.credit-card-mini .card-network{font-size:24px;margin-bottom:8px}.credit-card-mini .card-last4{font-size:18px;font-weight:600;color:var(--navy);font-family:monospace}.credit-card-mini .card-type{font-size:12px;color:var(--text-secondary)}.transactions-section{margin-bottom:30px}.transactions-section h2{font-size:18px;font-weight:600;margin-bottom:16px;color:var(--navy)}.transactions-filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.filter-btn{padding:8px 16px;background:var(--background);border:1px solid var(--border);border-radius:var(--radius-full);font-size:13px;color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.filter-btn:hover{border-color:var(--primary);color:var(--primary)}.filter-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.filter-select{padding:8px 16px;background:var(--background);border:1px solid var(--border);border-radius:var(--radius-full);font-size:13px;color:var(--text-secondary);cursor:pointer}.spending-summary{display:flex;gap:16px;margin-bottom:20px;overflow-x:auto;padding-bottom:8px}.category-chip{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--card-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);white-space:nowrap}.category-chip .category-icon{font-size:20px}.category-chip .category-name{font-size:13px;color:var(--text-secondary)}.category-chip .category-amount{font-weight:600;color:var(--navy)}.transactions-list{background:var(--card-bg);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.transaction-item{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-light);transition:var(--transition)}.transaction-item:hover{background:var(--background)}.transaction-item .merchant-name{font-weight:600;color:var(--navy);display:block}.transaction-item .transaction-date{font-size:13px;color:var(--text-secondary)}.transaction-item .transaction-amount{font-weight:600;font-size:16px}.transaction-item .transaction-amount.debit{color:var(--danger)}.transaction-item .transaction-amount.credit{color:var(--success)}.ai-insights-section{background:linear-gradient(135deg,var(--accent-light) 0%,var(--warning-light) 100%);border-radius:var(--radius-lg);padding:24px;margin-bottom:30px}.ai-insights-section h2{font-size:18px;font-weight:600;margin-bottom:16px;color:var(--navy);display:flex;align-items:center;gap:8px}.insight-card{background:var(--card-bg);border-radius:var(--radius-md);padding:16px;margin-bottom:12px;box-shadow:var(--shadow-sm)}.insight-card:last-child{margin-bottom:0}.insight-card .insight-title{font-weight:600;color:var(--navy);margin-bottom:8px}.insight-card .insight-text{font-size:14px;color:var(--text-secondary);line-height:1.5}.gift-cards-page,.loyalty-cards-page{max-width:1200px;margin:0 auto;padding:20px}.gift-cards-header,.loyalty-cards-header{background:linear-gradient(135deg,var(--wallet-header) 0%,var(--wallet-header-dark) 100%)}.total-balance-card{background:var(--card-bg);border-radius:var(--radius-lg);padding:24px;margin-bottom:30px;box-shadow:var(--shadow-sm);text-align:center}.total-balance-card .balance-info{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.total-balance-card .balance-label{font-size:14px;color:var(--text-secondary)}.total-balance-card .balance-amount{font-size:36px;font-weight:700;color:var(--success)}.total-balance-card .balance-meta{font-size:13px;color:var(--text-muted)}.gift-cards-grid,.loyalty-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:30px}.gift-card-tile,.loyalty-card-tile{background:var(--card-bg);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);border:1px solid var(--border-light);transition:var(--transition)}.gift-card-tile:hover,.loyalty-card-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.gift-card-tile.expired{opacity:.6;border-color:var(--danger)}.gift-card-tile.expiring-soon{border-color:var(--warning)}.gift-card-header,.loyalty-card-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.gift-card-header .retailer-icon,.loyalty-card-header .program-icon{font-size:32px}.gift-card-header .retailer-info,.loyalty-card-header .program-info{flex:1}.gift-card-header .retailer-info strong,.loyalty-card-header .program-info strong{display:block;font-size:16px;color:var(--navy)}.gift-card-header .card-number,.loyalty-card-header .member-id{font-size:13px;color:var(--text-secondary);font-family:monospace}.gift-card-header .delete-btn,.loyalty-card-header .delete-btn{background:none;border:none;font-size:20px;color:var(--text-muted);cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:var(--transition)}.gift-card-header .delete-btn:hover,.loyalty-card-header .delete-btn:hover{background:var(--danger-light);color:var(--danger)}.gift-card-header .card-actions,.loyalty-card-header .card-actions,.card-tile-header .card-actions{display:flex;gap:4px;align-items:center}.edit-btn{background:none;border:none;font-size:16px;color:var(--text-muted);cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:var(--transition)}.edit-btn:hover{background:var(--primary-light);color:var(--primary)}.card-tile-header .edit-btn{margin-left:auto;font-size:14px;padding:4px 8px;background:var(--background);border-radius:var(--radius-sm)}.gift-card-balance,.loyalty-card-balance{text-align:center;padding:16px;background:var(--background);border-radius:var(--radius-md);margin-bottom:16px}.gift-card-balance .balance-label,.loyalty-card-balance .balance-label{font-size:12px;color:var(--text-secondary);display:block;margin-bottom:4px}.gift-card-balance .balance-value,.loyalty-card-balance .balance-value{font-size:28px;font-weight:700;color:var(--success)}.loyalty-card-redemption{padding:12px;background:var(--background);border-radius:var(--radius-md);margin-bottom:16px;text-align:center;border:1px dashed var(--border)}.loyalty-card-redemption.has-value{background:var(--success-light);border:1px solid var(--success)}.loyalty-card-redemption .redemption-message{display:block;font-size:16px;font-weight:700;color:var(--text-secondary);margin-bottom:4px}.loyalty-card-redemption.has-value .redemption-message{color:var(--success-dark)}.loyalty-card-redemption .redemption-retailers{display:block;font-size:12px;color:var(--text-muted)}.loyalty-card-redemption .redemption-note{display:block;font-size:11px;color:var(--text-muted);font-style:italic;margin-top:4px}.gift-card-footer,.loyalty-card-footer{display:flex;justify-content:space-between;align-items:center}.expiry-info .expiry-badge{font-size:12px;font-weight:600;padding:4px 10px;border-radius:var(--radius-full)}.expiry-badge.expired{background:var(--danger-light);color:var(--danger)}.expiry-badge.expiring{background:var(--warning-light);color:var(--warning)}.expiry-info .expiry-text{font-size:12px;color:var(--text-secondary)}.source-badge{font-size:11px;color:var(--text-muted);background:var(--background);padding:4px 8px;border-radius:var(--radius-sm)}.tier-badge{font-size:12px;font-weight:600;padding:4px 12px;border-radius:var(--radius-full);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.empty-state-card{background:var(--card-bg);border-radius:var(--radius-lg);padding:60px 40px;text-align:center;box-shadow:var(--shadow-sm)}.empty-state-card .empty-icon{font-size:64px;display:block;margin-bottom:20px}.empty-state-card h3{font-size:20px;color:var(--navy);margin-bottom:8px}.empty-state-card p{font-size:14px;color:var(--text-secondary);margin-bottom:24px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--card-bg);border-radius:var(--radius-lg);max-width:480px;width:100%;max-height:85vh;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}.modal-content .modal-body{padding:20px 24px 24px}.modal-content>.form-group,.modal-content>.form-actions,.modal-content>.form-error,.modal-content>.credit-card-visual,.modal-content>.card-stats-grid,.modal-content>.all-cards-added{margin-left:24px;margin-right:24px;box-sizing:border-box}.modal-content>.form-group{margin-top:20px}.modal-content>.credit-card-visual{margin-top:20px;width:calc(100% - 48px)}.modal-content>.card-stats-grid{margin-top:16px}.modal-content>.form-actions{margin-top:24px;padding-bottom:24px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-light)}.modal-header h3{font-size:18px;font-weight:600;color:var(--navy)}.modal-close{background:none;border:none;font-size:24px;color:var(--text-muted);cursor:pointer;padding:4px;line-height:1}.modal-content form{padding:24px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.form-group input,.form-group select{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:15px;transition:var(--transition)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-error{background:var(--danger-light);color:var(--danger);padding:12px 16px;border-radius:var(--radius-md);font-size:14px;margin-bottom:20px}.form-actions{display:flex;gap:12px}.form-actions .btn-primary,.form-actions .btn-secondary{flex:1;padding:12px 24px;border-radius:var(--radius-md);font-size:15px;font-weight:600;cursor:pointer;transition:var(--transition)}.form-actions .btn-primary{background:var(--primary);color:#fff;border:none}.form-actions .btn-primary:hover:not(:disabled){background:var(--primary-dark)}.form-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed}.form-actions .btn-secondary{background:var(--background);color:var(--text-secondary);border:1px solid var(--border)}.form-actions .btn-secondary:hover:not(:disabled){background:var(--border-light)}.btn-small{padding:8px 16px!important;font-size:13px!important}.error-banner{background:var(--danger-light);color:var(--danger);padding:12px 20px;border-radius:var(--radius-md);margin-bottom:20px;font-size:14px}@media (max-width: 768px){.page-header{flex-direction:column;gap:16px;text-align:center}.wallet-sections-grid,.gift-cards-grid,.loyalty-cards-grid{grid-template-columns:1fr}.spending-summary{flex-wrap:nowrap}.transactions-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}}@media (max-width: 600px){.action-buttons{flex-direction:column}.action-btn{width:100%}}.ai-assistant-overlay{position:fixed;bottom:100px;right:20px;z-index:1001}.ai-assistant-container{width:380px;max-height:560px;background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border)}.ai-assistant-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff}.ai-header-info{display:flex;align-items:center;gap:12px}.ai-header-info .ai-avatar{width:36px;height:36px;object-fit:contain;background:#ffffff26;border-radius:50%;padding:4px}.ai-header-info h3{margin:0;font-size:16px;font-weight:600}.ai-header-info .ai-status{font-size:12px;opacity:.8}.ai-header-actions{display:flex;gap:8px}.ai-header-actions button{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.ai-header-actions button:hover{background:#ffffff4d}.ai-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;max-height:350px;min-height:200px}.ai-message{display:flex;gap:10px;max-width:90%}.ai-message.user{align-self:flex-end;flex-direction:row-reverse}.ai-message .message-avatar{width:28px;height:28px;object-fit:contain;flex-shrink:0;background:var(--primary-light);border-radius:50%;padding:4px}.ai-message .message-content{padding:10px 14px;border-radius:var(--radius-md);font-size:14px;line-height:1.5}.ai-message.assistant .message-content{background:var(--background);color:var(--text-primary)}.ai-message.user .message-content{background:var(--primary);color:#fff}.ai-message.error .message-content{background:var(--danger-light);color:var(--danger)}.message-content.typing{display:flex;gap:4px;padding:14px 16px}.typing-dot{width:8px;height:8px;background:var(--text-muted);border-radius:50%;animation:typing 1.4s infinite ease-in-out}.typing-dot:nth-child(1){animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.ai-loading{text-align:center;color:var(--text-muted);padding:40px}.ai-suggestions{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px}.suggestion-btn{background:var(--background);border:1px solid var(--border);color:var(--text-secondary);padding:8px 12px;border-radius:var(--radius-full);font-size:12px;cursor:pointer;transition:var(--transition)}.suggestion-btn:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.ai-input-container{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border-light);background:var(--background)}.ai-input-container input{flex:1;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-full);font-size:14px;outline:none;transition:var(--transition)}.ai-input-container input:focus{border-color:var(--primary)}.ai-input-container .send-btn{width:44px;height:44px;border-radius:50%;background:var(--primary);color:#fff;border:none;font-size:18px;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center}.ai-input-container .send-btn:hover:not(:disabled){background:var(--primary-dark)}.ai-input-container .send-btn:disabled{background:var(--border);cursor:not-allowed}.ai-fab{position:fixed;bottom:24px;right:24px;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border:none;font-size:28px;cursor:pointer;box-shadow:var(--shadow-lg);transition:var(--transition);z-index:1000;display:flex;align-items:center;justify-content:center}.ai-fab:hover{transform:scale(1.1);box-shadow:0 8px 30px #3898ec66}.ai-fab.active{background:var(--danger)}@media (max-width: 480px){.ai-assistant-overlay{bottom:0;right:0;left:0}.ai-assistant-container{width:100%;max-height:70vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.ai-fab{bottom:16px;right:16px}}.credit-cards-header{background:linear-gradient(135deg,var(--wallet-header) 0%,var(--wallet-header-dark) 100%)}.add-bank-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:12px 24px;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition)}.add-bank-btn:hover:not(:disabled){background:#ffffff4d}.add-bank-btn:disabled{opacity:.6;cursor:not-allowed}.bank-connections-section{margin-bottom:30px}.bank-connections-section h2{font-size:18px;font-weight:600;margin-bottom:16px;color:var(--navy)}.bank-connections-grid{display:flex;gap:16px;flex-wrap:wrap}.bank-connection-card{background:var(--card-bg);border-radius:var(--radius-md);padding:16px 20px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-sm);border:1px solid var(--border-light);min-width:280px}.bank-connection-card .bank-info{display:flex;align-items:center;gap:12px;flex:1}.bank-connection-card .bank-icon{font-size:28px}.bank-connection-card .bank-info strong{display:block;color:var(--navy)}.bank-connection-card .connection-status{font-size:12px;color:var(--success)}.disconnect-btn-small{background:none;border:1px solid var(--danger);color:var(--danger);padding:6px 12px;border-radius:var(--radius-sm);font-size:12px;cursor:pointer;transition:var(--transition)}.disconnect-btn-small:hover{background:var(--danger);color:#fff}.pending-notice{background:var(--warning-light);border:1px solid var(--warning);border-radius:var(--radius-md);padding:16px 20px;display:flex;align-items:center;gap:16px;margin-bottom:24px}.pending-notice .notice-icon{font-size:24px}.pending-notice .notice-content{flex:1}.pending-notice .notice-content strong{display:block;color:var(--navy);margin-bottom:4px}.pending-notice .notice-content p{font-size:13px;color:var(--text-secondary);margin:0}.credit-cards-section h2{font-size:18px;font-weight:600;margin-bottom:16px;color:var(--navy)}.credit-card-tile{background:var(--card-bg);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);border:2px solid var(--border-light);cursor:pointer;transition:var(--transition)}.credit-card-tile:hover{border-color:var(--primary);transform:translateY(-2px)}.credit-card-tile.selected{border-color:var(--primary);background:var(--primary-light)}.card-tile-header .card-icon{font-size:32px}.card-tile-header .card-info strong{display:block;font-size:16px;color:var(--navy)}.card-tile-header .card-info span{font-size:13px;color:var(--text-secondary)}.card-tile-stats{display:flex;gap:20px;margin-bottom:12px}.card-tile-stats .stat{display:flex;flex-direction:column}.card-tile-stats .stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase}.card-tile-stats .stat-value{font-size:15px;font-weight:600;color:var(--navy)}.card-tile-stats .stat-value.available{color:var(--success)}.card-bonuses{display:flex;gap:8px;flex-wrap:wrap}.bonus-tag{background:var(--accent-light);color:var(--accent-dark);padding:4px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:600}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.section-header h2{font-size:18px;font-weight:600;color:var(--navy);margin:0}.selected-card-indicator{font-size:14px;font-weight:500;color:var(--primary)}.transaction-filters{display:flex;gap:12px;flex-wrap:wrap}.refresh-btn{background:var(--primary-light);color:var(--primary);border:none;padding:8px 16px;border-radius:var(--radius-full);font-size:13px;font-weight:500;cursor:pointer;transition:var(--transition)}.refresh-btn:hover:not(:disabled){background:var(--primary);color:#fff}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.spending-summary{background:var(--card-bg);border-radius:var(--radius-lg);padding:20px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.spending-summary h3{font-size:14px;color:var(--text-secondary);margin-bottom:16px;font-weight:500}.category-bars{display:flex;flex-direction:column;gap:12px}.category-bar{display:flex;justify-content:space-between;align-items:center}.category-bar .category-info{display:flex;align-items:center;gap:10px}.category-bar .category-icon{font-size:20px}.category-bar .category-name{font-size:14px;color:var(--text-primary)}.category-bar .category-amount{font-weight:600;color:var(--navy)}.transaction-item{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-light)}.transaction-item:last-child{border-bottom:none}.transaction-item .transaction-icon{font-size:24px;margin-right:16px}.transaction-item .transaction-details{flex:1}.transaction-item .transaction-description{font-weight:500;color:var(--navy);margin-bottom:4px}.transaction-item .transaction-meta{font-size:12px;color:var(--text-secondary);display:flex;gap:8px;align-items:center}.retailer-tag,.category-tag{background:var(--background);padding:2px 6px;border-radius:var(--radius-sm);font-size:10px}.transaction-amount{font-weight:600;font-size:16px}.transaction-amount.debit{color:var(--danger)}.transaction-amount.credit{color:var(--success)}.transactions-loading,.no-transactions{text-align:center;padding:40px;color:var(--text-secondary)}.ai-insights-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.ai-insights-header h2{margin:0}.analyze-btn{background:var(--accent);color:#fff;border:none;padding:10px 20px;border-radius:var(--radius-full);font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition)}.analyze-btn:hover:not(:disabled){background:var(--accent-dark);transform:translateY(-2px)}.analyze-btn:disabled{opacity:.6;cursor:not-allowed}.ai-insights-loading{text-align:center;padding:40px}.ai-insights-loading p{color:var(--text-secondary);margin-top:16px}.ai-insights-list{display:flex;flex-direction:column;gap:12px}.ai-insights-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.insight-card{background:var(--card-bg);border-radius:var(--radius-md);padding:16px;display:flex;gap:12px;box-shadow:var(--shadow-sm)}.insight-card.warning{border-left:4px solid var(--warning)}.insight-card.positive{border-left:4px solid var(--success)}.insight-card.tip{border-left:4px solid var(--primary)}.insight-card .insight-icon{font-size:24px}.insight-card .insight-content strong{display:block;color:var(--navy);margin-bottom:4px}.insight-card .insight-content p{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5}.spending-total{text-align:center;padding:16px;background:var(--card-bg);border-radius:var(--radius-md);margin-top:12px}.spending-total span{color:var(--text-secondary)}.spending-total strong{color:var(--primary);font-size:18px}.settings-page{max-width:800px;margin:0 auto;padding:24px}.settings-header{margin-bottom:32px}.settings-header h1{color:var(--navy);font-size:28px;font-weight:700;margin-bottom:8px}.settings-header p{color:var(--text-secondary);font-size:15px}.back-button{background:none;border:none;color:var(--primary);font-size:14px;font-weight:500;padding:8px 0;margin-bottom:16px;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.back-button:hover{color:var(--primary-dark);text-decoration:underline}.settings-sections{display:flex;flex-direction:column;gap:20px}.settings-card{background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;transition:var(--transition)}.settings-card.clickable{cursor:pointer}.settings-card.clickable:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.settings-card-header{display:flex;align-items:center;gap:16px;padding:20px 24px;background:var(--background)}.settings-card-icon{font-size:28px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--primary-light);border-radius:var(--radius-md)}.settings-card-title{flex:1}.settings-card-title h3{font-size:16px;font-weight:600;color:var(--navy);margin:0 0 4px}.settings-card-title p{font-size:13px;color:var(--text-secondary);margin:0}.settings-arrow{color:var(--text-muted);font-size:20px}.status-badge{padding:6px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:600;text-transform:uppercase}.status-badge.enabled{background:var(--success-light);color:var(--success-dark)}.status-badge.disabled{background:var(--border-light);color:var(--text-muted)}.settings-card-body{padding:20px 24px;border-top:1px solid var(--border-light)}.settings-description{color:var(--text-secondary);font-size:14px;line-height:1.6;margin-bottom:16px}.enabled-date{color:var(--text-muted);font-size:13px}.settings-actions{display:flex;gap:12px;flex-wrap:wrap}.profile-info{display:flex;flex-direction:column;gap:12px}.profile-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-light)}.profile-row:last-child{border-bottom:none}.profile-label{color:var(--text-secondary);font-size:14px}.profile-value{color:var(--navy);font-weight:500}.settings-card.danger-zone{border-color:var(--danger)}.settings-card.danger-zone .settings-card-header{background:var(--danger-light)}.settings-card.danger-zone .settings-card-icon{background:#fff}.danger-item{display:flex;justify-content:space-between;align-items:center;gap:20px}.danger-info h4{font-size:15px;color:var(--navy);margin:0 0 4px}.danger-info p{font-size:13px;color:var(--text-secondary);margin:0}.btn-outline-danger{background:transparent;border:1px solid var(--danger);color:var(--danger);padding:10px 20px;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:var(--transition)}.btn-outline-danger:hover{background:var(--danger);color:#fff}.btn-danger{background:var(--danger);border:none;color:#fff;padding:10px 20px;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:var(--transition)}.btn-danger:hover{background:#dc2626}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.modal{background:var(--card-bg);border-radius:var(--radius-xl);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.modal .modal-header.danger{background:var(--danger-light);border-bottom-color:var(--danger)}.modal .modal-header h2{margin:0;font-size:18px;color:var(--navy)}.modal .modal-body{padding:24px}.modal .modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:12px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.setup-2fa-modal{max-width:520px}.setup-steps{display:flex;flex-direction:column;gap:24px}.step{display:flex;gap:16px}.step-number{width:32px;height:32px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.step-content{flex:1}.step-content h4{font-size:15px;color:var(--navy);margin:0 0 8px}.step-content p{font-size:13px;color:var(--text-secondary);margin:0}.qr-code-container{background:#fff;padding:16px;border-radius:var(--radius-md);display:inline-block;margin:12px 0;border:1px solid var(--border)}.qr-code-container img{display:block;width:180px;height:180px}.manual-entry{font-size:12px;color:var(--text-muted);margin-top:8px}.manual-entry code{background:var(--background);padding:4px 8px;border-radius:4px;font-family:monospace;font-size:11px;word-break:break-all}.verification-input{font-size:24px;letter-spacing:8px;text-align:center;padding:16px;font-family:monospace;border:2px solid var(--border);border-radius:var(--radius-md);margin-bottom:16px}.verification-input:focus{border-color:var(--primary);outline:none}.backup-codes-modal{max-width:480px}.backup-warning{background:var(--warning-light);padding:16px;border-radius:var(--radius-md);margin-bottom:20px;display:flex;gap:12px}.backup-warning .warning-icon{font-size:24px;flex-shrink:0}.backup-warning p{margin:0;font-size:14px;color:var(--text-primary);line-height:1.5}.disable-warning{background:var(--danger-light);padding:16px;border-radius:var(--radius-md);margin-bottom:20px;display:flex;gap:12px}.disable-warning .warning-icon{font-size:24px;flex-shrink:0}.disable-warning p{margin:0;font-size:14px;color:var(--text-primary);line-height:1.5}.backup-codes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:20px}.backup-code{background:var(--background);padding:12px;border-radius:var(--radius-sm);font-family:monospace;font-size:14px;text-align:center;border:1px solid var(--border)}.backup-actions{display:flex;gap:12px;justify-content:center;margin-bottom:8px}.delete-account-modal{max-width:480px}.delete-warning{text-align:center;margin-bottom:24px}.delete-warning .warning-icon{font-size:48px;display:block;margin-bottom:12px}.delete-warning h3{color:var(--danger);margin:0 0 8px;font-size:18px}.delete-warning p{color:var(--text-secondary);margin:0;font-size:14px}.deletion-summary{background:var(--background);border-radius:var(--radius-md);padding:16px;margin-bottom:20px}.deletion-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-light)}.deletion-item:last-child{border-bottom:none}.deletion-label{color:var(--text-secondary);font-size:14px}.deletion-count{color:var(--navy);font-weight:600}.form-error{background:var(--danger-light);color:var(--danger);padding:12px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:16px}.alert{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius-md);margin-bottom:20px;font-size:14px}.alert-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0}.alert-close{margin-left:auto;background:none;border:none;font-size:20px;cursor:pointer;opacity:.6;padding:0;width:auto}.alert-error{background:var(--danger-light);color:var(--danger);border:1px solid var(--danger)}.alert-error .alert-icon{background:var(--danger);color:#fff}.alert-success{background:var(--success-light);color:var(--success-dark);border:1px solid var(--success)}.alert-success .alert-icon{background:var(--success);color:#fff}@media (max-width: 640px){.settings-page{padding:16px}.settings-header h1{font-size:24px}.settings-card-header{flex-wrap:wrap;padding:16px}.settings-card-body{padding:16px}.danger-item{flex-direction:column;align-items:flex-start}.danger-item button{width:100%;margin-top:12px}.backup-codes-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.stacking-search{max-width:800px;margin:0 auto;padding:20px}.stacking-search-box{background:var(--card-bg);border-radius:var(--radius-lg);padding:30px;box-shadow:var(--shadow-md);margin-bottom:24px;text-align:center}.stacking-search-box h2{color:var(--navy);margin:0 0 8px;font-size:24px}.search-subtitle{color:var(--text-secondary);margin:0 0 24px}.search-input-container{position:relative;max-width:500px;margin:0 auto 20px}.search-input{width:100%;padding:16px 20px;font-size:16px;border:2px solid var(--border);border-radius:var(--radius-lg);outline:none;transition:var(--transition)}.search-input:focus{border-color:var(--primary);box-shadow:var(--shadow-primary)}.search-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;max-height:300px;overflow-y:auto;margin-top:4px}.search-result-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;cursor:pointer;border-bottom:1px solid var(--border-light);transition:var(--transition)}.search-result-item:hover{background:var(--primary-light)}.search-result-item:last-child{border-bottom:none}.retailer-name{font-weight:600;color:var(--navy)}.retailer-category{font-size:12px;color:var(--text-secondary);text-transform:capitalize}.retailer-savings{font-size:12px;color:var(--success);font-weight:600;background:var(--success-light);padding:4px 8px;border-radius:20px}.shopping-mode-toggle{display:inline-flex;gap:0;background:var(--background);border-radius:var(--radius-lg);padding:4px}.mode-btn{padding:10px 24px;border:none;background:none;font-size:14px;font-weight:500;color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition)}.mode-btn.active{background:var(--primary);color:#fff}.mode-btn:hover:not(.active){background:var(--border-light)}.stacking-results{background:var(--card-bg);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md)}.stacking-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.stacking-header h3{margin:0;color:var(--navy)}.shopping-mode-badge{font-size:12px;padding:4px 12px;border-radius:20px;background:var(--primary-light);color:var(--primary);font-weight:500}.savings-calculator{background:linear-gradient(135deg,var(--primary),var(--primary-dark));border-radius:var(--radius-md);padding:24px;color:#fff;margin-bottom:24px}.amount-input-group{margin-bottom:16px}.amount-input-group label{display:block;font-size:14px;opacity:.9;margin-bottom:8px}.amount-input{display:flex;align-items:center;background:#fff3;border-radius:var(--radius-md);padding:8px 16px}.amount-input .currency{font-size:24px;font-weight:600;margin-right:8px}.amount-input input{background:none;border:none;color:#fff;font-size:24px;font-weight:600;width:120px;outline:none}.amount-input input::placeholder{color:#ffffff80}.savings-display{text-align:center}.total-savings{display:flex;align-items:baseline;justify-content:center;gap:8px;flex-wrap:wrap}.savings-label{font-size:14px;opacity:.9}.savings-value{font-size:36px;font-weight:700}.savings-percent{font-size:16px;opacity:.9}.stacking-breakdown{margin-bottom:24px}.stacking-breakdown h4{color:var(--navy);margin:0 0 16px;font-size:16px}.stack-item{display:flex;align-items:center;gap:16px;padding:16px;background:var(--background);border-radius:var(--radius-md);margin-bottom:8px}.stack-icon{font-size:24px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--card-bg);border-radius:var(--radius-md)}.stack-details{flex:1;display:flex;justify-content:space-between;align-items:center}.stack-name{font-weight:600;color:var(--navy)}.stack-value{color:var(--success);font-weight:600}.stacking-explanation{padding:16px;background:var(--background);border-radius:var(--radius-md);margin-bottom:16px}.stacking-explanation p{margin:0;color:var(--text-secondary);line-height:1.6}.stacking-tips{padding:16px;background:var(--accent-light);border-radius:var(--radius-md);border-left:4px solid var(--accent)}.stacking-tips h4{margin:0 0 8px;color:var(--accent-dark);font-size:14px}.stacking-tips p{margin:0;color:var(--text-primary);font-size:14px;line-height:1.5}.retailer-offers{margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.retailer-offers h4{margin:0 0 16px;color:var(--navy)}.offer-card{background:var(--warning-light);border-radius:var(--radius-md);padding:16px;margin-bottom:12px;border-left:4px solid var(--warning)}.offer-title{font-weight:600;color:var(--navy);margin-bottom:8px}.offer-description{font-size:14px;color:var(--text-secondary);margin-bottom:8px}.offer-conditions{font-size:12px;color:var(--text-muted);font-style:italic;margin-bottom:8px}.offer-dates{font-size:12px;color:var(--warning);font-weight:500}.all-offers-section{margin-top:24px}.all-offers-section h3{color:var(--navy);margin:0 0 16px}.offers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.offer-card-small{background:var(--card-bg);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.offer-card-small .offer-retailer{font-size:12px;color:var(--primary);font-weight:600;margin-bottom:4px}.offer-card-small .offer-title{font-size:14px;margin-bottom:8px}.offer-card-small .offer-value{font-size:18px;font-weight:700;color:var(--success);margin-bottom:4px}.offer-card-small .offer-dates{font-size:11px}.stacking-loading{text-align:center;padding:40px}.stacking-loading .spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.stacking-search-box{padding:20px}.stacking-search-box h2{font-size:20px}.savings-value{font-size:28px}.stack-details{flex-direction:column;align-items:flex-start;gap:4px}.offers-grid{grid-template-columns:1fr}}.home-page{padding:20px;box-sizing:border-box;max-width:100%}.home-header{margin-bottom:24px}.home-header h1{font-size:24px;font-weight:700;color:var(--navy);margin:0 0 4px}.home-page .global-search-form{margin-bottom:20px}.home-search{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-full);transition:var(--transition);margin-bottom:20px}.home-search:focus-within{border-color:var(--primary)}.home-search .search-icon{font-size:18px;color:var(--text-muted);flex-shrink:0}.home-search .search-icon-svg{color:var(--text-muted);flex-shrink:0}.home-search .search-input{flex:1;min-width:0;border:none;outline:none;font-size:16px;color:var(--text-primary);background:transparent;padding:4px 0}.home-search .search-input::placeholder{color:var(--text-muted)}.home-search .search-go-btn{padding:8px 20px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-full);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);flex-shrink:0;width:auto}.home-search .search-go-btn:hover{background:var(--primary-dark)}.location-selector{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border-radius:var(--radius-md);margin-bottom:24px;border:1px solid var(--border)}.location-info{display:flex;flex-direction:column;gap:2px}.location-label{font-size:12px;color:var(--text-muted)}.location-value{font-size:16px;font-weight:600;color:var(--navy)}.set-location-btn{padding:8px 16px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-full);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition)}.set-location-btn:hover{background:var(--accent-dark)}.deals-section{margin-bottom:32px}.deals-section h2{font-size:20px;font-weight:700;color:var(--navy);margin-bottom:16px}.deals-loading{text-align:center;padding:40px;color:var(--text-secondary)}.deals-list{display:flex;flex-direction:column;gap:16px}.deal-card{display:flex;gap:16px;padding:16px;background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border);cursor:pointer;transition:var(--transition)}.deal-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.deal-image{width:100px;height:80px;border-radius:var(--radius-md);overflow:hidden;flex-shrink:0}.deal-image img{width:100%;height:100%;object-fit:cover}.deal-content{flex:1;display:flex;flex-direction:column;gap:4px}.deal-retailer{display:flex;align-items:center;gap:8px}.retailer-name{font-size:13px;color:var(--text-muted);font-weight:500}.deal-title{font-size:16px;font-weight:600;color:var(--navy);margin:0;line-height:1.3}.deal-subtitle{font-size:13px;color:var(--text-secondary);margin:0}.quick-actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px}.quick-action{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition);text-align:center}.quick-action:hover{border-color:var(--primary);background:var(--primary-light)}.quick-action .action-icon{font-size:24px}.quick-action span:last-child{font-size:12px;font-weight:500;color:var(--text-secondary)}.location-modal{max-width:320px}.location-list{display:flex;flex-direction:column;gap:8px;padding:16px}.location-option{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;font-size:15px;color:var(--text-primary);transition:var(--transition)}.location-option:hover{border-color:var(--primary);background:var(--primary-light)}.location-option.selected{border-color:var(--primary);background:var(--primary-light);color:var(--primary);font-weight:600}.location-option .check{color:var(--primary)}.search-page{padding:16px 20px;padding-bottom:calc(var(--bottom-nav-height) + 24px);max-width:100%;box-sizing:border-box}.search-page .search-bar-wrapper{max-width:100%;overflow:visible}.search-page .global-search-form{flex-wrap:nowrap}.search-header-section{margin-bottom:24px;max-width:100%;overflow:visible}.search-header-section h1{font-size:24px;font-weight:700;color:var(--navy);margin:0 0 16px}.premium-search-bar{display:flex;gap:12px;align-items:center;width:100%}.search-input-wrapper{flex:1;display:flex;align-items:center;background:#fff;border-radius:var(--radius-full);padding:12px 16px;border:1px solid var(--border);transition:var(--transition);gap:10px}.search-input-wrapper:focus-within{border-color:var(--primary)}.search-input-wrapper .search-icon-svg{color:var(--text-muted);flex-shrink:0;width:20px;height:20px}.search-input-wrapper input{flex:1;border:none;outline:none;padding:0;font-size:16px;background:transparent;color:var(--text-primary);min-width:0}.search-input-wrapper input::placeholder{color:var(--text-muted)}.clear-search-btn{background:#f0f0f0;border:none;padding:4px;cursor:pointer;color:var(--text-muted);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0}.clear-search-btn:hover{background:#e0e0e0;color:var(--text-primary)}.search-submit-btn{background:var(--primary);color:#fff;border:none;border-radius:var(--radius-full);padding:12px 24px;font-size:15px;font-weight:600;cursor:pointer;transition:var(--transition);white-space:nowrap;flex-shrink:0}.search-submit-btn:hover:not(:disabled){background:var(--primary-dark)}.search-submit-btn:disabled{opacity:.6;cursor:not-allowed}.search-loading-dots{animation:pulse 1s infinite}.results-header-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:0 4px;flex-wrap:wrap;gap:12px}.results-count{color:var(--text-secondary);font-size:14px}.results-count .count-number{font-weight:700;color:var(--navy)}.category-info{display:flex;flex-wrap:wrap;gap:8px}.category-tag{background:var(--background);color:var(--text-secondary);padding:4px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:500}.category-warning{display:flex;align-items:center;gap:8px;background:#fff8e6;border:1px solid #FFE0A3;border-radius:var(--radius);padding:10px 14px;margin-bottom:16px;font-size:13px;color:#8b6914}.category-warning .warning-icon{font-size:16px}.category-filter-section{margin-bottom:20px}.category-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}.category-tab{background:#fff;border:1px solid var(--border);border-radius:var(--radius-full);padding:6px 14px;font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:var(--transition);white-space:nowrap;flex-shrink:0}.category-tab:hover{border-color:var(--primary);color:var(--primary);background:#fff5f0}.category-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.brand-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 12px;background:#f8f9fa;border-radius:var(--radius);margin-top:8px}.brand-label{font-size:12px;font-weight:600;color:var(--text-secondary);margin-right:4px}.brand-chip{background:#fff;border:1px solid var(--border);border-radius:var(--radius-full);padding:4px 10px;font-size:11px;color:var(--text-secondary);cursor:pointer;transition:var(--transition);white-space:nowrap}.brand-chip:hover{border-color:var(--primary);color:var(--primary);background:#fff5f0}.brand-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.filter-active-banner{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#fff5f0,#fff0e8);border:1px solid var(--primary-light);border-radius:var(--radius);padding:10px 16px;margin-bottom:16px;font-size:14px;font-weight:500;color:var(--primary-dark)}.clear-filters-btn{margin-left:auto;background:#fff;border:1px solid var(--primary);border-radius:var(--radius-full);padding:4px 12px;font-size:12px;color:var(--primary);cursor:pointer;transition:var(--transition)}.clear-filters-btn:hover{background:var(--primary);color:#fff}.category-grouped-results{display:flex;flex-direction:column;gap:32px}.category-section{background:#fff;border:1px solid var(--border);border-radius:var(--radius-card);padding:20px;transition:var(--transition)}.category-section:hover{border-color:var(--primary-light);box-shadow:0 4px 16px #00000014}.category-section-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.category-section-title{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.category-section-count{font-size:13px;color:var(--text-muted);background:#f5f5f5;padding:4px 10px;border-radius:var(--radius-full)}.category-section-filter-btn{margin-left:auto;background:none;border:none;color:var(--primary);font-size:13px;font-weight:600;cursor:pointer;transition:var(--transition)}.category-section-filter-btn:hover{text-decoration:underline}.category-show-more{width:100%;background:linear-gradient(135deg,#fff5f0,#fff0e8);border:1px dashed var(--primary-light);border-radius:var(--radius);padding:12px;margin-top:16px;font-size:14px;font-weight:500;color:var(--primary);cursor:pointer;transition:var(--transition)}.category-show-more:hover{background:var(--primary);border-style:solid;border-color:var(--primary);color:#fff}.sort-selector{display:flex;align-items:center;gap:8px}.sort-label{font-size:13px;color:var(--text-muted)}.sort-option{display:flex;align-items:center;gap:4px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-full);padding:6px 12px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.sort-option:hover{border-color:var(--primary);color:var(--primary)}.sort-option.active{background:var(--primary);border-color:var(--primary);color:#fff}.sort-option.active svg{color:#fff}.comparison-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.comparison-card{background:#fff;border-radius:var(--radius-card);box-shadow:var(--shadow-md);overflow:hidden;cursor:pointer;transition:var(--transition);position:relative;display:flex;flex-direction:column;height:100%}.comparison-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.comparison-card.recommended{border:2px solid var(--primary)}.recommended-badge{position:absolute;top:12px;left:12px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:var(--radius-full);display:flex;align-items:center;gap:4px;z-index:2;box-shadow:0 2px 8px #ff6b354d}.card-image-section{position:relative;width:100%;height:160px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);overflow:hidden}.card-image-section .product-image{width:100%;height:100%;object-fit:cover}.save-badge{position:absolute;bottom:12px;right:12px;background:var(--success);color:#fff;font-size:13px;font-weight:700;padding:6px 12px;border-radius:var(--radius-full);box-shadow:0 2px 8px #10b9814d}.card-retailer{padding:12px 16px 0}.card-retailer .retailer-name{font-size:12px;font-weight:600;color:var(--secondary);text-transform:uppercase;letter-spacing:.5px}.card-product-name{padding:4px 16px 8px;font-size:16px;font-weight:600;color:var(--navy);line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0;min-height:auto}.card-price-section{padding:0 16px 12px;border-bottom:1px solid var(--border-light)}.price-row{display:flex;align-items:baseline;gap:8px}.price-row .original-price{font-size:14px;color:var(--text-muted);text-decoration:line-through}.price-row .final-price{font-size:24px;font-weight:700;color:var(--navy)}.earn-back{font-size:13px;color:var(--success);font-weight:500;margin-top:4px}.card-benefits{padding:12px 16px;display:flex;flex-direction:column;gap:6px;flex-grow:1}.benefit-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.benefit-item .benefit-check{width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:10px;flex-shrink:0}.benefit-item.saving .benefit-check{background:var(--success-light);color:var(--success)}.benefit-item.earning .benefit-check{background:var(--secondary-light);color:var(--secondary)}.benefit-text-group{display:flex;flex-direction:column;gap:1px}.benefit-subtext{font-size:11px;color:var(--text-muted);font-weight:400}.benefit-disclaimer,.item-disclaimer{display:block;font-size:10px;color:#888;font-style:italic;margin-top:2px}.more-benefits{font-size:12px;color:var(--primary);font-weight:500;padding-left:24px}.loyalty-signup-prompt{display:flex;align-items:flex-start;gap:8px;padding:10px 16px;margin:0 16px 12px;background:linear-gradient(135deg,#fff7ed,#ffedd5);border:1px solid #fed7aa;border-radius:var(--radius-md);font-size:13px}.loyalty-signup-prompt .signup-icon{font-size:14px;flex-shrink:0}.loyalty-signup-prompt .signup-text{color:var(--text-secondary);line-height:1.4}.loyalty-signup-prompt .signup-link{color:var(--primary);font-weight:600;text-decoration:none}.loyalty-signup-prompt .signup-link:hover{text-decoration:underline}.card-toggles{padding:0 16px 12px;display:flex;flex-direction:column;gap:8px}.benefit-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;color:var(--text-secondary)}.benefit-toggle input{display:none}.toggle-slider-small{width:36px;height:20px;background:var(--border);border-radius:20px;position:relative;transition:var(--transition);flex-shrink:0}.toggle-slider-small:after{content:"";position:absolute;width:16px;height:16px;background:#fff;border-radius:50%;top:2px;left:2px;transition:var(--transition);box-shadow:0 1px 3px #0003}.benefit-toggle input:checked+.toggle-slider-small{background:var(--primary)}.benefit-toggle input:checked+.toggle-slider-small:after{transform:translate(16px)}.toggle-label-text{flex:1}.claim-btn{margin:auto 16px 16px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;border-radius:var(--radius-button);padding:12px 20px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:var(--transition);width:auto;max-width:calc(100% - 32px);box-sizing:border-box}.claim-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-primary)}.product-link{display:block;text-align:center;color:var(--text-muted);font-size:.85rem;margin:8px 16px 16px;text-decoration:none;transition:var(--transition)}.product-link:hover{color:var(--primary);text-decoration:underline}.search-empty-state{padding:20px 0}.recent-searches{margin-bottom:24px}.recent-searches-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.recent-searches-header h3{font-size:14px;font-weight:600;color:var(--navy);margin:0}.clear-recent-btn{background:none;border:none;color:var(--text-muted);font-size:12px;cursor:pointer;padding:4px 8px;width:auto!important}.clear-recent-btn:hover{color:var(--primary)}.recent-tags{display:flex;flex-wrap:wrap;gap:8px}.recent-tag{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius-full);padding:6px 12px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:var(--transition);flex:0 0 auto;white-space:nowrap;width:auto!important}.recent-tag:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.popular-searches{margin-bottom:24px}.popular-searches h3{font-size:14px;font-weight:600;color:var(--navy);margin-bottom:10px}.popular-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start}.popular-tag{background:#fff;border:1px solid var(--border);border-radius:var(--radius-full);padding:8px 16px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:var(--transition);flex:0 0 auto;white-space:nowrap;width:auto!important}.popular-tag:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.browse-retailers{margin-bottom:32px}.browse-retailers h3{font-size:16px;font-weight:600;color:var(--navy);margin-bottom:12px}.retailer-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.retailer-tile{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:var(--transition)}.retailer-tile:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.retailer-tile-icon{font-size:28px}.retailer-tile-name{font-size:13px;font-weight:500;color:var(--navy)}.wallet-setup-cta{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;display:flex;align-items:center;gap:14px;margin-top:24px;box-shadow:var(--shadow-sm)}.wallet-setup-cta .cta-icon{width:40px;height:40px;background:var(--primary-light);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.wallet-setup-cta .cta-content{flex:1}.wallet-setup-cta .cta-content h4{font-size:14px;font-weight:600;color:var(--navy);margin:0 0 6px}.wallet-setup-cta .cta-content p{font-size:12px;color:var(--text-secondary);margin:0;line-height:1.4}.wallet-setup-cta .cta-btn{background:var(--primary);color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:var(--transition);flex:0 0 auto;width:auto!important;align-self:center}.wallet-setup-cta .cta-btn:hover{background:var(--primary-dark)}@media (max-width: 768px){.premium-search-bar{flex-direction:column}.search-submit-btn{width:100%}.results-header-bar{flex-direction:column;align-items:flex-start}.comparison-results-grid{grid-template-columns:1fr;padding:0}.retailer-tiles{grid-template-columns:repeat(2,1fr)}.wallet-setup-cta{flex-direction:column;text-align:center;gap:16px}.wallet-setup-cta .cta-icon{margin:0 auto}.wallet-setup-cta .cta-btn{width:100%}.comparison-card{width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}.card-product-name{font-size:15px;padding:4px 12px 8px}.card-retailer{padding:10px 12px 0}.card-price-section{padding:0 12px 10px}.price-row .final-price{font-size:20px}.card-benefits{padding:10px 12px}.benefit-item{font-size:12px}.claim-btn{margin:auto 12px 12px;padding:10px 14px;font-size:13px;width:auto;max-width:calc(100% - 24px);box-sizing:border-box}.claim-btn svg{flex-shrink:0;width:14px;height:14px}.card-toggles{padding:10px 12px}.benefit-toggle,.toggle-label-text{font-size:12px}.loyalty-signup-prompt{padding:10px 12px;font-size:12px}.loyalty-signup-prompt .signup-text{line-height:1.4}}@media (max-width: 768px){.quick-actions-grid{grid-template-columns:repeat(2,1fr)}.deal-image{width:80px;height:65px}.deal-title{font-size:14px}}@media (max-width: 400px){.comparison-card{margin:0;width:100%;border-radius:var(--radius-card)}.card-image-section{height:140px}.price-row .final-price{font-size:18px}.claim-btn{font-size:12px;padding:10px;margin:auto 10px 10px;max-width:calc(100% - 20px);gap:6px}.benefit-item{font-size:11px}.container{padding:8px}}.deal-details-page{padding:16px 0;padding-bottom:calc(var(--bottom-nav-height) + 24px)}.back-nav-btn{display:inline-flex;align-items:center;gap:8px;background:none;border:none;color:var(--text-secondary);font-size:14px;cursor:pointer;padding:8px 0;margin-bottom:16px;transition:var(--transition)}.back-nav-btn:hover{color:var(--primary)}.deal-loading,.deal-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:16px}.deal-error .error-icon{width:48px;height:48px;border-radius:50%;background:var(--danger-light);color:var(--danger);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700}.deal-details-grid{display:grid;grid-template-columns:300px 1fr 300px;gap:20px}.deal-product-column,.deal-breakdown-column,.deal-actions-column{display:flex;flex-direction:column;gap:16px}.deal-product-card{background:#fff;border-radius:var(--radius-card);box-shadow:var(--shadow-md);overflow:hidden}.deal-product-image{position:relative;width:100%;height:250px;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.deal-product-image img{width:100%;height:100%;object-fit:cover}.deal-save-badge{position:absolute;bottom:16px;right:16px;background:var(--success);color:#fff;font-size:16px;font-weight:700;padding:8px 16px;border-radius:var(--radius-full);box-shadow:0 2px 8px #10b9814d}.deal-product-info{padding:20px}.deal-retailer-badge{display:inline-block;font-size:12px;font-weight:600;color:var(--secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.deal-product-name{font-size:20px;font-weight:700;color:var(--navy);margin:0 0 4px;line-height:1.3}.deal-category{font-size:14px;color:var(--text-secondary);margin:0 0 16px}.deal-price-display{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}.deal-original-price{font-size:16px;color:var(--text-muted);text-decoration:line-through}.deal-final-price{font-size:32px;font-weight:700;color:var(--navy)}.deal-earn-badge{font-size:14px;color:var(--success);font-weight:500}.deal-purchase-options{background:#fff;border-radius:var(--radius-card);box-shadow:var(--shadow-md);padding:20px}.deal-purchase-options h3{font-size:16px;font-weight:600;color:var(--navy);margin:0 0 12px}.purchase-buttons{display:flex;gap:12px}.purchase-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border-radius:var(--radius-button);font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition)}.purchase-btn.online{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none}.purchase-btn.online:hover{transform:translateY(-1px);box-shadow:var(--shadow-primary)}.purchase-btn.instore{background:#fff;color:var(--navy);border:2px solid var(--border)}.purchase-btn.instore:hover{border-color:var(--primary);color:var(--primary)}.deal-breakdown-column{display:flex;flex-direction:column;gap:16px}.savings-breakdown-card{background:#fff;border-radius:var(--radius-card);box-shadow:var(--shadow-md);overflow:hidden}.breakdown-header{background:linear-gradient(135deg,var(--primary-light),white);padding:20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-light)}.breakdown-header h2{font-size:18px;font-weight:600;color:var(--navy);margin:0}.total-savings{text-align:right}.total-savings .savings-label{display:block;font-size:12px;color:var(--text-secondary)}.total-savings .savings-amount{font-size:24px;font-weight:700;color:var(--success)}.breakdown-items{padding:16px 20px;display:flex;flex-direction:column;gap:12px}.breakdown-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--radius-md)}.breakdown-item.saving{background:var(--success-light)}.breakdown-item.earning{background:var(--secondary-light)}.breakdown-item .item-icon{font-size:20px;flex-shrink:0}.breakdown-item .item-label{flex:1;font-size:14px;color:var(--text-primary)}.breakdown-item .item-label-group{flex:1;display:flex;flex-direction:column;gap:2px}.breakdown-item .item-label-group .item-label{flex:initial}.breakdown-item .item-tip{font-size:12px;color:var(--text-secondary);font-weight:400}.breakdown-item .item-value{font-size:14px;font-weight:600}.breakdown-item.saving .item-value{color:var(--success)}.breakdown-item.earning .item-value{color:var(--secondary)}.breakdown-group{position:relative;border:2px solid transparent;border-radius:var(--radius-lg);padding:0;margin-bottom:12px;background:#fff;overflow:hidden}.breakdown-group:last-child{margin-bottom:0}.breakdown-group .group-header-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:transparent;border:none;cursor:pointer;transition:background .2s ease}.breakdown-group .group-header-btn:hover{background:#00000005}.breakdown-group .group-label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.breakdown-group .group-header-right{display:flex;align-items:center;gap:10px}.breakdown-group .group-total{font-size:17px;font-weight:700;color:var(--success)}.breakdown-group .group-total.earn-total{color:var(--secondary)}.breakdown-group .chevron-icon{transition:transform .3s ease;color:var(--text-secondary)}.breakdown-group .chevron-icon.rotated{transform:rotate(180deg)}.breakdown-group .group-items{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;padding:0 16px;border-top:1px solid rgba(0,0,0,.06);opacity:0}.breakdown-group .group-items.show{max-height:500px;padding:12px 16px 14px;opacity:1}.breakdown-group.save-group{background:linear-gradient(135deg,#10b98108,#10b98114);border:2px solid var(--success)}.breakdown-group.save-group .group-label{color:var(--success)}.breakdown-group.earn-group{background:linear-gradient(135deg,#3898ec08,#3898ec14);border:2px solid var(--secondary)}.breakdown-group.earn-group .group-label{color:var(--secondary)}.breakdown-group .breakdown-item{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid rgba(0,0,0,.04)}.breakdown-group .breakdown-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.no-savings-message{padding:24px;text-align:center}.no-savings-message p{color:var(--text-secondary);margin-bottom:16px}.setup-wallet-btn{background:var(--primary);color:#fff;border:none;border-radius:var(--radius-button);padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer}.deal-toggles-card{background:#fff;border-radius:var(--radius-card);box-shadow:var(--shadow-md);padding:20px}.deal-toggles-card h3{font-size:16px;font-weight:600;color:var(--navy);margin:0 0 16px}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border-light)}.toggle-row:last-child{border-bottom:none}.toggle-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.toggle-info .toggle-icon{font-size:24px}.toggle-details{display:flex;flex-direction:column;min-width:0;overflow:hidden}.toggle-details .toggle-title{font-size:14px;font-weight:600;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toggle-details .toggle-subtitle{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toggle-switch-large{position:relative;width:48px;height:26px;flex-shrink:0}.toggle-switch-large input{display:none}.toggle-slider-large{position:absolute;inset:0;background:var(--border);border-radius:26px;cursor:pointer;transition:var(--transition)}.toggle-slider-large:after{content:"";position:absolute;width:22px;height:22px;background:#fff;border-radius:50%;top:2px;left:2px;transition:var(--transition);box-shadow:0 1px 3px #0003}.toggle-switch-large input:checked+.toggle-slider-large{background:var(--primary)}.toggle-switch-large input:checked+.toggle-slider-large:after{transform:translate(22px)}.pay-with-points-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:var(--radius-card);box-shadow:var(--shadow-md);padding:20px;color:#fff}.pay-with-points-card h3{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;margin:0 0 16px;color:#fff}.pay-with-points-card h3 svg{stroke:#fff}.points-options{display:flex;flex-direction:column;gap:12px}.points-option{background:#ffffff26;border-radius:var(--radius-md);padding:16px}.points-option.best-option{border:2px solid rgba(255,255,255,.5);position:relative}.option-badge{position:absolute;top:-10px;right:12px;background:var(--success);color:#fff;padding:4px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:600;text-transform:uppercase}.option-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.option-program{font-weight:600;font-size:15px}.option-value{font-weight:700;font-size:18px;color:#a5f3fc}.option-details{display:flex;flex-direction:column;gap:6px}.option-details .detail-row{display:flex;justify-content:space-between;font-size:13px;opacity:.9}.option-notes{margin-top:10px;font-size:12px;opacity:.75;font-style:italic}.alternatives-section{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.2)}.alternatives-label{font-size:13px;opacity:.8;margin-bottom:8px;display:block}.points-option.alternative-option{padding:12px;opacity:.85}.alternative-option .option-header{margin-bottom:4px}.alternative-option .option-program{font-size:14px}.alternative-option .option-value{font-size:15px}.option-subtext{font-size:12px;opacity:.7}.no-points-available{text-align:center;padding:16px}.no-points-available p{font-size:14px;margin-bottom:12px}.accepted-programs-list{list-style:none;padding:0;margin:12px 0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.accepted-programs-list li{background:#fff3;padding:6px 12px;border-radius:var(--radius-full);font-size:13px}.add-card-tip{font-size:13px;opacity:.85;margin-bottom:16px}.add-card-btn{background:#fff;color:#667eea;border:none;padding:10px 24px;border-radius:var(--radius-full);font-weight:600;cursor:pointer;transition:var(--transition)}.add-card-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.toggle-row.pay-with-points-row{background:linear-gradient(135deg,#667eea1a,#764ba21a);margin:0 -20px;padding:12px 20px;border-radius:0}.toggle-row.pay-with-points-row:last-child{border-bottom:none;margin-bottom:-20px;border-radius:0 0 var(--radius-card) var(--radius-card)}.benefit-toggle.pay-with-points-toggle{background:linear-gradient(135deg,#667eea26,#764ba226);padding:6px 10px;border-radius:var(--radius-sm);margin:0 -4px}.how-to-redeem-card{background:#fff;border-radius:var(--radius-card);box-shadow:var(--shadow-md);padding:20px}.how-to-redeem-card h3{font-size:16px;font-weight:600;color:var(--navy);margin:0 0 16px}.redemption-steps{display:flex;flex-direction:column;gap:12px}.redemption-step{display:flex;align-items:flex-start;gap:12px}.redemption-step .step-number{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,#1E3A5F 100%);color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 4px #ff6b354d}.redemption-step .step-text{font-size:14px;color:var(--text-primary);padding-top:4px}.redemption-step .highlight-value{color:var(--primary);font-weight:600}.tips-card{background:var(--info-light);border:1px solid var(--info);border-radius:var(--radius-card);padding:20px}.tips-card h3{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--info);margin:0 0 12px}.tips-list{display:flex;flex-direction:column;gap:8px}.tip-item{display:flex;align-items:flex-start;gap:8px}.tip-bullet{color:var(--info);font-weight:700}.tip-text{font-size:14px;color:var(--text-primary)}.join-loyalty-card{background:linear-gradient(135deg,var(--success-light),white);border:1px solid var(--success);border-radius:var(--radius-card);padding:20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.join-content{display:flex;align-items:center;gap:12px}.join-content .join-icon{width:40px;height:40px;border-radius:50%;background:var(--success);color:#fff;font-size:24px;display:flex;align-items:center;justify-content:center}.join-text h4{font-size:15px;font-weight:600;color:var(--navy);margin:0}.join-text p{font-size:13px;color:var(--text-secondary);margin:4px 0 0}.join-btn{background:var(--success);color:#fff;border:none;border-radius:var(--radius-button);padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}@media (max-width: 1200px){.deal-details-grid{grid-template-columns:300px 1fr}.deal-actions-column{grid-column:2}}@media (max-width: 900px){.deal-details-grid{grid-template-columns:1fr 1fr}.deal-product-column{grid-column:1}.deal-breakdown-column{grid-column:2}.deal-actions-column{grid-column:1 / -1}}@media (max-width: 768px){.deal-details-grid{grid-template-columns:1fr}.deal-product-column,.deal-breakdown-column,.deal-actions-column{grid-column:1}.purchase-buttons{flex-direction:column}.join-loyalty-card{flex-direction:column;text-align:center}.join-content{flex-direction:column}.deal-product-image{height:200px}}.coming-soon-overlay{background:#1e3a5fcc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.coming-soon-modal{background:#fff;border-radius:24px;padding:40px 32px;max-width:400px;width:90%;text-align:center;position:relative;animation:popIn .4s cubic-bezier(.68,-.55,.265,1.55)}@keyframes popIn{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.coming-soon-modal .modal-close{position:absolute;top:16px;right:16px}.coming-soon-content{display:flex;flex-direction:column;align-items:center;gap:16px}.joey-animation{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center}.joey-excited{width:80px;height:80px;animation:joeyJump .6s ease-in-out infinite}@keyframes joeyJump{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-15px) rotate(5deg)}}.sparkles{position:absolute;width:100%;height:100%;pointer-events:none}.sparkle{position:absolute;font-size:20px;animation:sparkleFloat 1.5s ease-in-out infinite}.sparkle:nth-child(1){top:10%;left:10%;animation-delay:0s}.sparkle:nth-child(2){top:5%;right:15%;animation-delay:.3s}.sparkle:nth-child(3){bottom:20%;right:10%;animation-delay:.6s}@keyframes sparkleFloat{0%,to{opacity:.4;transform:scale(.8) translateY(0)}50%{opacity:1;transform:scale(1.2) translateY(-5px)}}.coming-soon-modal h2{font-size:24px;font-weight:700;color:var(--navy);margin:0}.coming-soon-subtitle{font-size:16px;color:var(--text-secondary);margin:0}.coming-soon-features{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:8px 0}.feature-item{display:flex;align-items:center;gap:6px;background:var(--background);padding:8px 14px;border-radius:20px;font-size:13px;color:var(--navy);font-weight:500}.feature-item .feature-icon{font-size:16px}.coming-soon-note{font-size:14px;color:var(--text-secondary);margin:0;line-height:1.5}.coming-soon-note strong{color:var(--primary)}.coming-soon-modal .btn-primary{margin-top:8px;padding:12px 32px;font-size:15px}.credit-cards-page{padding:16px 0;padding-bottom:calc(var(--bottom-nav-height) + 24px)}.credit-cards-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.credit-cards-header .header-content h1{font-size:24px;font-weight:700;color:var(--navy);margin:0 0 4px}.credit-cards-header .header-content p{color:#ffffffe6;margin:0}.add-card-btn{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;border-radius:var(--radius-button);padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition)}.add-card-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-primary)}.success-banner{background:var(--success-light);color:var(--success-dark);padding:12px 16px;border-radius:var(--radius-md);margin-bottom:16px;font-size:14px}.my-cards-section{margin-bottom:24px}.my-cards-section h2{font-size:18px;font-weight:600;color:var(--navy);margin:0 0 16px}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.card-tile{background:#fff;border-radius:var(--radius-card);box-shadow:var(--shadow-md);padding:20px;transition:var(--transition)}.card-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-tile-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.card-network-icon{font-size:32px}.card-tile-header .card-info{display:flex;flex-direction:column}.card-tile-header .card-info strong{font-size:16px;color:var(--navy)}.card-issuer{font-size:13px;color:var(--text-secondary)}.card-details{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.card-detail-row{display:flex;justify-content:space-between;font-size:13px}.detail-label{color:var(--text-secondary)}.detail-value{color:var(--text-primary);font-weight:500}.card-notes{font-size:12px;color:var(--text-muted);padding:8px;background:var(--background);border-radius:var(--radius-sm);margin-bottom:12px}.remove-card-btn{width:100%;background:transparent;color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-md);padding:8px;font-size:13px;cursor:pointer;transition:var(--transition)}.remove-card-btn:hover{background:var(--danger-light)}.points-balance-row{flex-wrap:wrap;gap:8px}.points-value.clickable{cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:var(--radius-sm);transition:var(--transition)}.points-value.clickable:hover{background:var(--primary-light);color:var(--primary)}.points-value .edit-hint{font-size:11px;opacity:.5}.points-value.clickable:hover .edit-hint{opacity:1}.points-edit-inline{display:flex;align-items:center;gap:6px;width:100%;margin-top:4px}.points-input-small{flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;max-width:100px}.points-input-small:focus{outline:none;border-color:var(--primary)}.points-save-btn,.points-cancel-btn{padding:4px 10px;border-radius:var(--radius-sm);font-size:12px;cursor:pointer;transition:var(--transition)}.points-save-btn{background:var(--primary);color:#fff;border:none}.points-save-btn:hover{background:var(--primary-dark)}.points-cancel-btn{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.points-cancel-btn:hover{background:var(--background)}.points-balance-input-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.points-label{display:block;font-size:14px;font-weight:500;color:var(--navy);margin-bottom:8px}.points-input-wrapper{display:flex;align-items:center;gap:8px}.points-input{flex:1;padding:10px 14px;border:2px solid var(--border);border-radius:var(--radius-md);font-size:15px;transition:var(--transition)}.points-input:focus{outline:none;border-color:var(--primary)}.points-suffix{font-size:14px;color:var(--text-secondary)}.points-hint{font-size:12px;color:var(--text-muted);margin-top:8px;line-height:1.4}.add-card-modal{max-width:500px;width:90%}.modal-description{font-size:14px;color:var(--text-secondary);margin-bottom:20px}.card-selector{margin-bottom:20px}.card-selector label{display:block;font-size:14px;font-weight:500;color:var(--navy);margin-bottom:8px}.card-select-dropdown{width:100%;padding:12px 16px;font-size:15px;border:2px solid var(--border);border-radius:var(--radius-md);background:#fff;color:var(--text-primary);cursor:pointer;transition:var(--transition)}.card-select-dropdown:focus{outline:none;border-color:var(--primary)}.card-select-dropdown optgroup{font-weight:600;color:var(--navy)}.card-select-dropdown option{font-weight:400;padding:8px}.selected-card-preview{background:var(--background);border-radius:var(--radius-md);padding:16px;margin-top:16px}.selected-card-preview h4{font-size:16px;font-weight:600;color:var(--navy);margin:0 0 12px}.preview-details{display:flex;flex-direction:column;gap:8px}.preview-row{display:flex;justify-content:space-between;font-size:13px}.preview-row span:first-child{color:var(--text-secondary)}.preview-row span:last-child{color:var(--text-primary);font-weight:500}.preview-row.highlight span:last-child{color:var(--success)}.preview-notes{font-size:12px;color:var(--text-muted);margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.all-cards-added{text-align:center;padding:20px;color:var(--text-secondary)}.add-card-modal-v2{max-width:480px;width:95%;border-radius:24px;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.modal-header-v2{display:flex;align-items:flex-start;gap:16px;padding:24px 24px 20px;background:linear-gradient(135deg,var(--primary) 0%,#e55a2b 100%);color:#fff}.modal-header-icon{font-size:40px;background:#fff3;padding:12px;border-radius:16px}.modal-header-text{flex:1}.modal-header-text h2{font-size:22px;font-weight:700;margin:0 0 4px;color:#fff}.modal-header-text p{font-size:14px;opacity:.9;margin:0}.modal-close-v2{background:#fff3;border:none;padding:8px;border-radius:10px;cursor:pointer;transition:var(--transition);color:#fff;display:flex;align-items:center;justify-content:center}.modal-close-v2:hover{background:#ffffff4d}.modal-body-v2{padding:24px;max-height:60vh;overflow-y:auto}.add-card-step{margin-bottom:24px}.add-card-step:last-child{margin-bottom:0}.step-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.step-number{width:28px;height:28px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.step-title{font-size:15px;font-weight:600;color:var(--navy)}.card-select-dropdown-v2{width:100%;padding:14px 40px 14px 16px;font-size:15px;border:2px solid var(--border);border-radius:14px;background:#fff;color:var(--text-primary);cursor:pointer;transition:var(--transition);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.card-select-dropdown-v2:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #ff6b351a}.card-select-dropdown-v2 optgroup{font-weight:700;color:var(--navy);padding:8px 0}.card-select-dropdown-v2 option{font-weight:400;padding:10px}.card-preview-v2{background:#f8fafc;border-radius:16px;padding:20px}.credit-card-visual{width:100%;height:140px;background:linear-gradient(135deg,#1e3a5f,#2d5a8a);border-radius:16px;padding:20px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;margin-bottom:20px;box-shadow:0 10px 30px #1e3a5f4d;box-sizing:border-box}.credit-card-visual:before{content:"";position:absolute;top:-50%;right:-30%;width:200px;height:200px;background:#ffffff1a;border-radius:50%}.credit-card-visual.visa{background:linear-gradient(135deg,#1a1f71,#2a3f9c)}.credit-card-visual.mastercard{background:linear-gradient(135deg,#eb001b,#f79e1b)}.credit-card-visual.amex{background:linear-gradient(135deg,#006fcf,#00a1e0)}.card-visual-issuer{font-size:12px;text-transform:uppercase;letter-spacing:1px;opacity:.8}.card-visual-name{font-size:16px;font-weight:600;max-width:70%}.card-visual-network{position:absolute;bottom:20px;right:20px;font-size:18px;font-weight:700;letter-spacing:1px}.card-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.card-stat{background:#fff;padding:14px;border-radius:12px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 8px #0000000a}.card-stat .stat-icon{font-size:24px}.card-stat .stat-info{display:flex;flex-direction:column;gap:2px}.card-stat .stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.card-stat .stat-value{font-size:14px;font-weight:600;color:var(--navy)}.card-stat .stat-value.highlight{color:var(--success)}.modal-content .card-stats-grid{background:#f8fafc;padding:16px;border-radius:12px;margin-bottom:20px;box-sizing:border-box;width:calc(100% - 48px)}.modal-content .card-stat{background:#fff}.modal-content .points-input-wrapper{display:flex;align-items:center;gap:12px}.modal-content .points-input-wrapper input{flex:1;padding:12px 16px;border:2px solid var(--border);border-radius:var(--radius-md);font-size:15px;transition:var(--transition)}.modal-content .points-input-wrapper input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.modal-content .points-suffix{font-size:14px;color:var(--text-secondary);font-weight:500}.all-cards-added{text-align:center;padding:24px;color:var(--text-secondary)}.all-cards-added span{font-size:32px;display:block;margin-bottom:8px}.points-input-section-v2{margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.points-label-v2{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--navy);margin-bottom:10px}.points-label-v2 .label-icon{font-size:18px}.points-input-row{display:flex;align-items:center;gap:10px}.points-input-v2{flex:1;padding:12px 16px;border:2px solid var(--border);border-radius:12px;font-size:16px;transition:var(--transition)}.points-input-v2:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #ff6b351a}.points-unit{font-size:14px;color:var(--text-secondary);font-weight:500}.points-hint-v2{font-size:12px;color:var(--text-muted);margin-top:8px}.all-cards-added-v2{text-align:center;padding:40px 20px;background:#f0fdf4;border-radius:16px}.all-cards-added-v2 .check-icon{font-size:48px;display:block;margin-bottom:12px}.all-cards-added-v2 p{font-size:15px;color:var(--success);font-weight:500;margin:0}.modal-footer-v2{display:flex;gap:12px;padding:20px 24px;background:#f8fafc;border-top:1px solid var(--border)}.btn-cancel-v2{flex:1;padding:14px 20px;background:#fff;color:var(--text-secondary);border:2px solid var(--border);border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:var(--transition)}.btn-cancel-v2:hover{background:var(--background);border-color:var(--text-muted)}.btn-add-card-v2{flex:2;padding:14px 24px;background:linear-gradient(135deg,var(--primary) 0%,#e55a2b 100%);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:8px}.btn-add-card-v2:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #ff6b354d}.btn-add-card-v2:disabled{opacity:.6;cursor:not-allowed}.btn-add-card-v2 svg{flex-shrink:0}@media (max-width: 480px){.add-card-modal-v2{width:100%;max-width:100%;border-radius:24px 24px 0 0;margin-top:auto}.modal-header-v2{padding:20px}.modal-header-icon{font-size:32px;padding:10px}.modal-body-v2{padding:20px;max-height:50vh}.card-stats-grid{grid-template-columns:1fr;gap:10px}.credit-card-visual{height:120px}}.info-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:32px}.info-card{background:#fff;border-radius:var(--radius-card);padding:20px;display:flex;gap:16px;box-shadow:var(--shadow-sm)}.info-card .info-icon{font-size:32px;flex-shrink:0}.info-card .info-content h4{font-size:15px;font-weight:600;color:var(--navy);margin:0 0 4px}.info-card .info-content p{font-size:13px;color:var(--text-secondary);margin:0}.wallet-nav-footer{background:var(--card-bg);border-radius:var(--radius-lg);padding:16px 20px;margin-top:24px;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.wallet-nav-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.wallet-nav-buttons{display:flex;gap:10px}.wallet-nav-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);width:auto!important}.wallet-nav-btn:hover{background:var(--secondary-light);border-color:var(--secondary)}.wallet-nav-btn.active{background:var(--secondary-light);border-color:var(--secondary);color:var(--secondary)}.wallet-nav-icon{font-size:16px}.wallet-nav-text{font-size:13px;font-weight:500;color:var(--text-primary)}.wallet-nav-btn.active .wallet-nav-text{color:var(--secondary)}@media (max-width: 640px){.wallet-nav-buttons{flex-direction:column}.wallet-nav-btn{justify-content:flex-start}}@media (max-width: 768px){.credit-cards-header{flex-direction:column;gap:16px}.add-card-btn{width:100%}.cards-grid{grid-template-columns:1fr}}.welcome-modal-overlay{z-index:2000}.welcome-modal{background:#fff;border-radius:var(--radius-xl);max-width:480px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.welcome-header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;padding:32px 24px;text-align:center;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.welcome-header h2{font-size:24px;font-weight:700;margin:0 0 8px}.welcome-header p{font-size:14px;opacity:.9;margin:0}.welcome-steps{padding:24px}.welcome-step{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}.welcome-step:last-child{margin-bottom:0}.step-number{width:32px;height:32px;background:var(--primary-light);color:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.step-content h4{font-size:15px;font-weight:600;color:var(--navy);margin:0 0 4px}.step-content p{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.4}.welcome-example{background:var(--background);margin:0 24px;padding:16px;border-radius:var(--radius-md)}.welcome-example h4{font-size:13px;font-weight:600;color:var(--navy);margin:0 0 12px;text-align:center}.savings-example{font-size:13px}.example-row{display:flex;justify-content:space-between;padding:6px 0;color:var(--text-secondary)}.example-row.highlight{color:var(--text-primary)}.example-row .savings{color:var(--success);font-weight:500}.example-row.total{border-top:2px solid var(--border);margin-top:8px;padding-top:12px;font-weight:700;color:var(--navy);font-size:16px}.welcome-cta{display:block;width:calc(100% - 48px);margin:24px;padding:14px;font-size:16px}button,.btn-primary,.btn-secondary,.navbar-link,.bottom-nav-item,.filter-btn,a[role=button]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.bottom-nav-item{min-height:48px;padding:8px 12px}.bottom-nav-item .bottom-nav-icon{padding:8px 16px}@media (min-width: 1440px){.container,.navbar-container{max-width:1400px}.deal-details-grid{grid-template-columns:350px 1fr 350px;gap:24px}}@media (max-width: 1024px){.navbar-container{padding:0 20px}.container{padding:16px}}@media (max-width: 900px){.deal-details-grid{grid-template-columns:1fr 1fr;gap:16px}.deal-product-column{grid-column:1}.deal-breakdown-column{grid-column:2}.deal-actions-column{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:16px}.deal-actions-column>*{margin:0}}@media (max-width: 768px){:root{--navbar-height: 64px;--bottom-nav-height: 60px}.navbar-container{padding:0 16px}.container{padding:14px}.deal-details-grid{grid-template-columns:1fr;gap:16px}.deal-product-column,.deal-breakdown-column,.deal-actions-column{grid-column:1}.deal-actions-column{display:flex;flex-direction:column}h1{font-size:24px}h2{font-size:20px}h3{font-size:17px}.savings-breakdown-card,.deal-toggles-card,.how-to-redeem-card,.pay-with-points-card,.tips-card{padding:16px}}@media (max-width: 640px){.container{padding:12px}.navbar-container{padding:0 14px}.navbar-logo img{height:38px}.search-container{padding:12px}.search-input{font-size:16px}.result-card,.deal-product-card{border-radius:var(--radius-md)}.deal-product-image{height:180px}}@media (max-width: 480px){:root{--navbar-height: 60px;--bottom-nav-height: 56px}body{font-size:14px}.container{padding:10px}.navbar-container{padding:0 12px}.navbar-logo img{height:36px}button,.btn-primary,.btn-secondary{min-height:44px;font-size:14px;padding:12px 20px}.filter-btn{min-height:40px;padding:10px 14px;font-size:13px}h1{font-size:22px}h2{font-size:18px}h3{font-size:16px}.deal-product-image{height:160px}.deal-save-badge{font-size:14px;padding:6px 12px}.savings-breakdown-card,.deal-toggles-card,.how-to-redeem-card,.pay-with-points-card,.tips-card{padding:14px}.toggle-row{padding:12px 0}.toggle-title{font-size:14px}.toggle-subtitle{font-size:12px}.result-card{padding:12px}.product-name{font-size:15px}.results-section{padding:0 8px}.auth-container{padding:24px 16px;margin:12px;border-radius:var(--radius-md)}.auth-title{font-size:22px}.ai-assistant-container{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}.ai-assistant-overlay{padding:0}.welcome-modal{margin:8px;max-height:calc(100vh - 16px)}}@media (max-width: 414px){.container{padding:8px}.navbar-container{padding:0 10px}.deal-details-grid{gap:12px}.results-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.result-card h3{padding-right:70px;font-size:16px}.wallet-sections-grid{grid-template-columns:1fr;gap:12px}.deal-final-price{font-size:28px}.deal-original-price{font-size:16px}.step-number{width:24px;height:24px;font-size:12px}.step-text{font-size:13px}.breakdown-item{padding:8px 0}.item-icon{font-size:16px}.item-label{font-size:13px}.item-value{font-size:14px}}@media (max-width: 375px){:root{--navbar-height: 56px;--bottom-nav-height: 52px}body{font-size:13px}.container{padding:6px}.navbar-container{padding:0 8px}.navbar-logo img{height:32px}h1{font-size:20px}h2{font-size:17px}h3{font-size:15px}.bank-connection-card,.wallet-section-card{min-width:0}.deal-product-image{height:140px}.deal-final-price{font-size:24px}button,.btn-primary,.btn-secondary{padding:10px 16px;font-size:13px}.purchase-btn{padding:10px 12px;font-size:13px}.savings-breakdown-card,.deal-toggles-card,.how-to-redeem-card,.pay-with-points-card,.tips-card{padding:12px}.auth-container{padding:20px 12px;margin:8px}.auth-title{font-size:20px}.bottom-nav-item{padding:6px 8px}.bottom-nav-label{font-size:10px}.results-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.result-card h3{padding-right:45px;font-size:15px}.store-badge{padding:4px 10px;font-size:10px}}@media (max-width: 320px){.container{padding:4px}.navbar-container{padding:0 6px}h1{font-size:18px}.deal-final-price{font-size:22px}.auth-container{padding:16px 10px;margin:4px}.breakdown-header h2{font-size:16px}.savings-amount{font-size:22px}.results-grid{grid-template-columns:1fr;gap:12px}.result-card{padding:16px}.result-card h3{padding-right:0;font-size:14px}.store-badge{position:relative;top:0;right:0;display:inline-block;margin-top:8px}}@media (max-height: 500px) and (orientation: landscape){:root{--navbar-height: 48px;--bottom-nav-height: 44px}.navbar-logo img{height:28px}.bottom-nav-item{padding:4px 8px}.bottom-nav-icon{width:20px;height:20px}.bottom-nav-label{font-size:9px}}@supports (padding: env(safe-area-inset-bottom)){.bottom-nav{padding-bottom:env(safe-area-inset-bottom)}.navbar{padding-top:env(safe-area-inset-top)}.auth-container{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}.url-compare-page{padding:16px 0;padding-bottom:calc(var(--bottom-nav-height) + 24px)}.url-input-section{background:#fff;border-radius:var(--radius-lg);padding:20px;margin-bottom:24px;box-shadow:var(--shadow-sm)}.url-inputs{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.url-input-row{display:flex;flex-direction:column;gap:4px}.url-input-row .url-input-wrapper{display:flex;align-items:center;gap:8px}.url-cleaned-preview{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--success-light, #e8f5e9);border-radius:4px;font-size:12px;color:var(--success, #2e7d32)}.url-cleaned-preview .cleaned-label{font-weight:500}.url-cleaned-preview .cleaned-url{color:var(--text-muted);font-family:monospace;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:400px}.url-cleaned-preview .amazon-warning{cursor:help}.url-input-wrapper{flex:1;position:relative;display:flex;align-items:center}.url-input{width:100%;padding:14px 40px 14px 16px;border:1.5px solid var(--border);border-radius:var(--radius-md);font-size:14px;transition:var(--transition)}.url-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.url-input:disabled{background:var(--bg-secondary);cursor:not-allowed}.remove-url-btn{position:absolute;right:8px;width:28px;height:28px;border:none;background:var(--bg-secondary);border-radius:50%;font-size:18px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.remove-url-btn:hover{background:var(--danger-light);color:var(--danger)}.add-url-btn{padding:10px 16px;border:1.5px dashed var(--border);border-radius:var(--radius-md);background:transparent;color:var(--primary);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);width:100%}.add-url-btn:hover{background:var(--primary-light);border-color:var(--primary)}.add-url-btn:disabled{opacity:.5;cursor:not-allowed}.supported-retailers{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--border);margin-top:16px}.supported-label{font-size:12px;color:var(--text-muted)}.retailer-chip{padding:4px 10px;background:var(--bg-secondary);border-radius:12px;font-size:12px;color:var(--text-secondary)}.compare-actions{display:flex;gap:12px;margin-top:16px}.compare-actions .btn-primary,.compare-actions .btn-secondary{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-width:180px}.compare-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px}.loading-spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.compare-loading{text-align:center;padding:40px 20px}.compare-loading p{margin-top:16px;color:var(--text-secondary)}.compare-results{margin-top:24px}.best-deal-banner{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#fff8e1,#fff3c4);border:1px solid #f9d71c;border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:24px}.banner-icon{font-size:32px}.banner-content{display:flex;flex-direction:column;gap:4px}.banner-content strong{font-size:16px;color:var(--text-primary)}.banner-content span{font-size:14px;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.savings-badge{background:var(--success);color:#fff;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.results-header h2{font-size:18px;margin:0}.results-count{font-size:14px;color:var(--text-muted)}.partial-errors{background:var(--danger-light);border:1px solid var(--danger);border-radius:var(--radius-md);padding:16px;margin-top:24px}.partial-errors h4{color:var(--danger);margin:0 0 12px;font-size:14px}.partial-errors ul{list-style:none;padding:0;margin:0}.partial-errors li{display:flex;flex-direction:column;gap:4px;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.1)}.partial-errors li:last-child{border-bottom:none}.error-url{font-size:12px;color:var(--text-muted);word-break:break-all}.error-reason{font-size:13px;color:var(--danger)}.no-results{text-align:center;padding:60px 20px;background:#fff;border-radius:var(--radius-lg)}.no-results-icon{font-size:48px;display:block;margin-bottom:16px}.no-results h3{margin:0 0 8px}.no-results p{color:var(--text-secondary);margin:0}.how-it-works{background:#fff;border-radius:var(--radius-lg);padding:24px;margin-top:24px}.how-it-works h3{margin:0 0 20px;font-size:16px}.steps{display:flex;flex-direction:column;gap:20px}.step{display:flex;align-items:flex-start;gap:16px}.step-number{width:32px;height:32px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0}.step-content h4{margin:0 0 4px;font-size:14px}.step-content p{margin:0;font-size:13px;color:var(--text-secondary)}@media (max-width: 480px){.url-input-section{padding:16px}.compare-actions{flex-direction:column}.best-deal-banner{padding:12px 16px}.banner-icon{font-size:24px}}@media (prefers-contrast: high){:root{--border: #000;--text-secondary: #333}button,.btn-primary{border:2px solid currentColor}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.admin-layout{display:flex;min-height:100vh;background:var(--background)}.admin-sidebar{width:260px;background:var(--navy);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100}.admin-sidebar-header{padding:24px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.admin-sidebar-header h2{font-size:1.25rem;font-weight:600;color:#fff;margin:0}.admin-sidebar-header span{font-size:.75rem;color:#fff9;display:block;margin-top:4px}.admin-sidebar-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:4px}.admin-nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius-md);color:#ffffffb3;text-decoration:none;font-size:.9375rem;font-weight:500;transition:var(--transition);border:none;background:none;width:100%;text-align:left;cursor:pointer}.admin-nav-item:hover{background:#ffffff1a;color:#fff}.admin-nav-item.active{background:var(--secondary);color:#fff}.admin-nav-item .nav-icon{font-size:1.25rem;width:24px;text-align:center}.admin-sidebar-footer{padding:16px 12px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:4px}.admin-nav-divider{height:1px;background:#ffffff1a;margin:8px 0}.admin-user-info{padding:12px 16px;font-size:.8125rem;color:#ffffff80;word-break:break-all}.admin-nav-item.logout:hover{background:#ef444433;color:#fca5a5}.admin-main{flex:1;margin-left:260px;padding:32px;min-height:100vh}.admin-page-header{margin-bottom:32px;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px}.admin-page-header h1{font-size:1.75rem;font-weight:700;color:var(--navy);margin:0 0 8px}.admin-page-header p{color:var(--text-secondary);margin:0}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.admin-stat-card{background:var(--card-bg);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md)}.admin-stat-card.clickable{cursor:pointer;transition:var(--transition)}.admin-stat-card.clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.admin-stat-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.admin-stat-header span{font-size:.875rem;color:var(--text-secondary);font-weight:500}.stat-icon{font-size:1.5rem}.admin-stat-value{font-size:2rem;font-weight:700;color:var(--navy)}.admin-stat-value.warning{color:var(--warning)}.admin-stat-value.success{color:var(--success)}.admin-stat-value.danger{color:var(--danger)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:var(--card-bg);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:16px;cursor:pointer;transition:var(--transition);border-left:4px solid var(--secondary)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-card.warning{border-left-color:var(--warning)}.stat-card.success{border-left-color:var(--success)}.stat-card.danger{border-left-color:var(--danger)}.stat-card .stat-icon{width:56px;height:56px;border-radius:var(--radius-md);background:var(--secondary-light);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.stat-card.warning .stat-icon{background:var(--warning-light)}.stat-card.success .stat-icon{background:var(--success-light)}.stat-card .stat-content{display:flex;flex-direction:column;gap:4px}.stat-card .stat-value{font-size:1.75rem;font-weight:700;color:var(--navy);line-height:1}.stat-card.warning .stat-value{color:var(--warning)}.stat-card.success .stat-value{color:var(--success)}.stat-card .stat-label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h2{font-size:1.125rem;font-weight:600;color:var(--navy);margin:0}.btn-link{background:none;border:none;color:var(--secondary);font-weight:500;cursor:pointer;font-size:.875rem;transition:var(--transition)}.btn-link:hover{color:var(--secondary-dark)}.admin-section{background:var(--card-bg);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md);margin-bottom:24px}.admin-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.admin-section-header h2{font-size:1.125rem;font-weight:600;color:var(--navy);margin:0}.admin-filters{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.filter-tabs{display:flex;gap:8px;flex-wrap:wrap}.filter-tab{padding:8px 16px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--card-bg);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition)}.filter-tab:hover{border-color:var(--secondary);color:var(--secondary)}.filter-tab.active{background:var(--secondary);border-color:var(--secondary);color:#fff}.admin-search{position:relative}.admin-search input{padding:10px 16px 10px 40px;border-radius:var(--radius-full);border:1px solid var(--border);font-size:.875rem;width:280px;transition:var(--transition)}.admin-search input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.admin-search:before{content:"🔍";position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:.875rem}.total-count{color:var(--text-secondary);font-size:.875rem}.admin-filters.category-filters{margin-top:-8px;padding-bottom:16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.admin-filters.category-filters label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.category-filter-select{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;background:var(--card-bg);min-width:180px}.bulk-actions{display:flex;align-items:center;gap:12px;margin-left:auto;padding:8px 12px;background:#fff8e6;border-radius:var(--radius);border:1px solid #FFE0A3}.selection-count{font-size:.875rem;font-weight:600;color:#8b6914}.btn-action.bulk-category{background:var(--primary);color:#fff;border:none;padding:6px 12px;font-size:.75rem}.btn-action.bulk-delete{background:#fee2e2;color:#dc2626;border:1px solid #FCA5A5;padding:6px 12px;font-size:.75rem}.btn-action.bulk-delete:hover{background:#dc2626;color:#fff}.checkbox-col{width:40px;text-align:center}.checkbox-col input[type=checkbox]{width:16px;height:16px;cursor:pointer}.admin-table tr.selected-row{background:#fff7ed}.category-badge{display:inline-block;padding:4px 8px;background:var(--background);border-radius:var(--radius);font-size:.75rem;color:var(--text-secondary)}.category-badge.no-category{color:var(--text-muted);font-style:italic}.admin-modal.admin-modal-small{max-width:400px}.bulk-info{font-size:.875rem;color:var(--text-secondary);margin-top:12px;padding:12px;background:var(--background);border-radius:var(--radius)}.admin-table-container{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th{text-align:left;padding:12px 16px;background:var(--background);color:var(--text-secondary);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.admin-table td{padding:16px;border-bottom:1px solid var(--border-light);font-size:.875rem;color:var(--text-primary);vertical-align:middle}.admin-table tbody tr:hover{background:var(--background)}.admin-table .empty-row{text-align:center;color:var(--text-muted);padding:40px 16px}.user-info,.retailer-info{display:flex;align-items:center;gap:12px}.user-avatar,.retailer-logo{width:40px;height:40px;border-radius:50%;background:var(--primary-light);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--primary);font-size:1rem}.retailer-logo{border-radius:var(--radius-sm)}.retailer-logo img{width:100%;height:100%;object-fit:contain;border-radius:var(--radius-sm)}.user-details,.retailer-details{display:flex;flex-direction:column}.user-name,.retailer-name{font-weight:600;color:var(--navy)}.user-email,.retailer-id{font-size:.8125rem;color:var(--text-secondary)}.status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.status-badge.pending{background:var(--warning-light);color:#b45309}.status-badge.approved{background:var(--success-light);color:var(--success-dark)}.status-badge.rejected{background:var(--danger-light);color:var(--danger)}.status-badge.active{background:var(--success-light);color:var(--success-dark)}.status-badge.inactive{background:var(--border-light);color:var(--text-muted)}.action-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.action-badge.success{background:var(--success-light);color:var(--success-dark)}.action-badge.warning{background:var(--warning-light);color:#b45309}.action-badge.danger{background:var(--danger-light);color:var(--danger)}.action-badge.default{background:var(--border-light);color:var(--text-secondary)}.action-buttons{display:flex;gap:8px}.btn-action{padding:6px 12px;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;cursor:pointer;transition:var(--transition);border:none}.btn-action.approve{background:var(--success-light);color:var(--success-dark)}.btn-action.approve:hover{background:var(--success);color:#fff}.btn-action.reject{background:var(--warning-light);color:#b45309}.btn-action.reject:hover{background:var(--warning);color:#fff}.btn-action.delete{background:var(--danger-light);color:var(--danger)}.btn-action.delete:hover{background:var(--danger);color:#fff}.btn-action.edit{background:var(--secondary-light);color:var(--secondary)}.btn-action.edit:hover{background:var(--secondary);color:#fff}.btn-action:disabled{opacity:.5;cursor:not-allowed}.timestamp-cell{white-space:nowrap;color:var(--text-secondary);font-size:.8125rem}.target-type{font-size:.75rem;color:var(--text-muted);text-transform:uppercase}.target-identifier{font-weight:500;color:var(--navy)}.details-cell{max-width:300px}.details-json{font-size:.75rem;background:var(--background);padding:8px;border-radius:var(--radius-sm);display:block;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.no-details{color:var(--text-muted)}.admin-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.admin-modal{background:var(--card-bg);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.admin-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.admin-modal-header h3{font-size:1.125rem;font-weight:600;color:var(--navy);margin:0}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:var(--text-primary)}.admin-modal-body{padding:24px}.admin-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border);background:var(--background);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.admin-form-group{margin-bottom:20px}.admin-form-group label{display:block;font-size:.875rem;font-weight:600;color:var(--navy);margin-bottom:8px}.admin-form-group input,.admin-form-group select,.admin-form-group textarea{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:.9375rem;transition:var(--transition)}.admin-form-group input:focus,.admin-form-group select:focus,.admin-form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.admin-form-group textarea{min-height:100px;resize:vertical}.admin-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.logo-preview{margin-top:8px;padding:12px;background:var(--background);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.logo-preview img{max-width:100px;max-height:60px;object-fit:contain}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.pagination button{padding:8px 16px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card-bg);color:var(--text-primary);font-weight:500;cursor:pointer;transition:var(--transition)}.pagination button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.pagination span{color:var(--text-secondary);font-size:.875rem}.alert{padding:12px 16px;border-radius:var(--radius-md);margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.alert-error{background:var(--danger-light);color:var(--danger)}.alert-success{background:var(--success-light);color:var(--success-dark)}.alert-close{background:none;border:none;font-size:1.25rem;cursor:pointer;opacity:.7;color:inherit}.alert-close:hover{opacity:1}.navbar-link.admin,.dropdown-item.admin-link,.mobile-menu-link.admin-link{color:var(--secondary)}.dropdown-item.admin-link:hover{background:var(--secondary-light)}.product-info{display:flex;align-items:center;gap:12px}.product-image{width:50px;height:50px;border-radius:var(--radius-sm);overflow:hidden;background:var(--background);flex-shrink:0}.product-image img{width:100%;height:100%;object-fit:contain}.product-details{display:flex;flex-direction:column;gap:2px}.product-name{font-weight:600;color:var(--navy)}.product-brand{font-size:.8125rem;color:var(--text-secondary)}.retailer-badge{display:inline-block;padding:4px 10px;background:var(--secondary-light);color:var(--secondary);border-radius:var(--radius-full);font-size:.75rem;font-weight:500}.price-info{display:flex;flex-direction:column;gap:2px}.current-price{font-weight:600;color:var(--navy)}.original-price{font-size:.8125rem;color:var(--text-muted);text-decoration:line-through}.total-count{color:var(--text-secondary);font-size:.875rem;margin-bottom:16px}@media (max-width: 1024px){.admin-sidebar{width:220px}.admin-main{margin-left:220px;padding:24px}}@media (max-width: 768px){.admin-layout{flex-direction:column}.admin-sidebar{width:100%;height:auto;position:relative;flex-direction:row;flex-wrap:wrap;align-items:center}.admin-sidebar-header{padding:16px 20px;border-bottom:none;border-right:1px solid rgba(255,255,255,.1)}.admin-sidebar-nav{flex-direction:row;flex-wrap:wrap;padding:8px 12px;flex:1}.admin-nav-item{padding:8px 12px;font-size:.8125rem}.admin-nav-item .nav-icon{display:none}.admin-sidebar-footer{flex-direction:row;padding:8px 12px;border-top:none;border-left:1px solid rgba(255,255,255,.1)}.admin-nav-divider{display:none}.admin-main{margin-left:0;padding:20px}.admin-stats-grid{grid-template-columns:repeat(2,1fr)}.admin-filters{flex-direction:column;align-items:stretch}.admin-search input{width:100%}.admin-form-row{grid-template-columns:1fr}.action-buttons{flex-direction:column}}@media (max-width: 480px){.admin-stats-grid{grid-template-columns:1fr}.filter-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.filter-tab{white-space:nowrap}.admin-table th,.admin-table td{padding:12px 8px}.user-info,.retailer-info{flex-direction:column;align-items:flex-start;gap:8px}.user-avatar,.retailer-logo{width:32px;height:32px;font-size:.875rem}}.coming-soon-badge{display:inline-flex;align-items:center;background:linear-gradient(135deg,var(--primary) 0%,#ff9f6b 100%);color:#fff;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:8px;margin-left:6px;animation:pulse-badge 2s infinite}@keyframes pulse-badge{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.05)}}.coming-soon-page{min-height:calc(100vh - 80px);padding-bottom:100px}.coming-soon-page .page-header{background:linear-gradient(135deg,var(--navy) 0%,#2a4a6f 100%);padding:48px 24px;text-align:center}.coming-soon-page .header-content{display:flex;flex-direction:column;align-items:center;gap:12px}.coming-soon-page .header-content h1{color:#fff;margin:0;font-size:2rem}.coming-soon-header-badge{display:inline-flex;align-items:center;background:linear-gradient(135deg,var(--primary) 0%,#ff9f6b 100%);color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:6px 16px;border-radius:20px;animation:pulse-badge 2s infinite}.coming-soon-container{max-width:700px;margin:0 auto;padding:32px 20px}.coming-soon-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:48px 32px;text-align:center}.coming-soon-icon{font-size:64px;margin-bottom:16px;animation:bounce-icon 2s ease-in-out infinite}@keyframes bounce-icon{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.coming-soon-card h2{color:var(--navy);font-size:1.75rem;margin:0 0 16px}.coming-soon-subtitle{color:var(--text-secondary);font-size:1rem;line-height:1.6;max-width:500px;margin:0 auto 32px}.coming-soon-features{margin-bottom:32px}.coming-soon-features h3{color:var(--navy);font-size:1.125rem;margin:0 0 20px}.coming-soon-features .features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;text-align:left}.coming-soon-features .feature-item{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--secondary-light);border-radius:var(--radius-md);transition:var(--transition)}.coming-soon-features .feature-item:hover{background:var(--primary-light);transform:translateY(-2px)}.coming-soon-features .feature-icon{font-size:24px;flex-shrink:0}.coming-soon-features .feature-content h4{color:var(--navy);font-size:.9375rem;margin:0 0 4px}.coming-soon-features .feature-content p{color:var(--text-secondary);font-size:.8125rem;margin:0;line-height:1.4}.coming-soon-retailers{margin-bottom:32px;padding-top:24px;border-top:1px solid var(--border)}.coming-soon-retailers h3{color:var(--navy);font-size:1rem;margin:0 0 16px}.coming-soon-retailers .retailer-logos{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.coming-soon-retailers .retailer-chip{display:inline-flex;align-items:center;background:var(--secondary-light);color:var(--navy);font-size:.875rem;font-weight:500;padding:8px 16px;border-radius:var(--radius-md);border:1px solid var(--border)}.coming-soon-cta{padding-top:24px;border-top:1px solid var(--border)}.coming-soon-cta p{color:var(--text-secondary);margin:0 0 16px}.coming-soon-cta .btn-primary{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;font-size:1rem}.coming-soon-cta .btn-primary svg{transition:transform .2s ease}.coming-soon-cta .btn-primary:hover svg{transform:translate(4px)}@media (max-width: 640px){.coming-soon-page .header-content h1{font-size:1.5rem}.coming-soon-card{padding:32px 20px}.coming-soon-icon{font-size:48px}.coming-soon-card h2{font-size:1.375rem}.coming-soon-features .features-grid{grid-template-columns:1fr}.coming-soon-retailers .retailer-chip{padding:6px 12px;font-size:.8125rem}}.feedback-fab-side{position:fixed!important;right:20px!important;left:auto!important;top:auto!important;bottom:calc(var(--bottom-nav-height) + 20px)!important;transform:none;display:flex!important;flex-direction:row;align-items:center;gap:6px;width:auto!important;height:auto!important;padding:10px 14px;background:linear-gradient(135deg,var(--navy) 0%,#2a4a6f 100%);color:#fff;border:none;border-radius:var(--radius-full);font-size:12px;font-weight:600;cursor:pointer;box-shadow:0 4px 16px #1e3a5f59;transition:all .3s ease;z-index:1000;writing-mode:horizontal-tb}.feedback-fab-side:hover{transform:scale(1.05);box-shadow:0 6px 20px #1e3a5f73}.feedback-fab-side .feedback-fab-icon{font-size:20px}.feedback-fab-side .feedback-fab-text{display:block;font-size:10px;letter-spacing:.3px}.feedback-fab-side.highlighted{animation:pulse-highlight 1.5s ease-in-out infinite;box-shadow:0 0 #ff6b35b3}@keyframes pulse-highlight{0%{box-shadow:0 0 #ff6b35b3}70%{box-shadow:0 0 0 15px #ff6b3500}to{box-shadow:0 0 #ff6b3500}}.feedback-reminder{position:fixed;right:70px;top:50%;transform:translateY(-50%);background:#fff;padding:16px 20px;border-radius:12px;box-shadow:0 4px 20px #00000026;display:flex;align-items:center;gap:12px;z-index:999;max-width:280px;animation:slideInLeft .3s ease}@keyframes slideInLeft{0%{opacity:0;transform:translateY(-50%) translate(20px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.feedback-reminder .reminder-joey{width:40px;height:40px;object-fit:contain;flex-shrink:0}.feedback-reminder p{margin:0;font-size:13px;color:var(--navy);line-height:1.4}.feedback-reminder .reminder-close{position:absolute;top:6px;right:8px;background:none;border:none;font-size:16px;color:#94a3b8;cursor:pointer;padding:2px;line-height:1}.feedback-reminder .reminder-close:hover{color:var(--navy)}@media (max-width: 768px){.feedback-fab-side{right:12px;padding:10px 8px}.feedback-fab-side .feedback-fab-text{display:none}.feedback-reminder{right:60px;max-width:220px;padding:12px 16px}}@media (max-width: 480px){.feedback-fab-side{right:12px;top:auto;bottom:calc(var(--bottom-nav-height) + 16px);transform:none;padding:10px;border-radius:50%}.feedback-fab-side:hover{transform:scale(1.05)}.feedback-fab-side .feedback-fab-text{display:none}.feedback-reminder{right:60px;top:auto;bottom:calc(var(--bottom-nav-height) + 16px);transform:none}@keyframes slideInLeft{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}}.feedback-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:fadeIn .2s ease}.feedback-modal{background:#fff;border-radius:20px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s ease;box-shadow:0 20px 60px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.feedback-close{position:absolute;top:12px;right:12px;background:#f1f5f9;border:none;font-size:16px;color:#64748b;cursor:pointer;line-height:1;padding:4px 8px;border-radius:6px;z-index:10;transition:all .2s ease}.feedback-close:hover{background:#e2e8f0;color:var(--navy)}.feedback-header{text-align:center;padding:32px 24px 16px;background:linear-gradient(135deg,#fff8f5,#fff5f1);border-radius:20px 20px 0 0}.feedback-joey{display:flex;align-items:flex-start;justify-content:center;gap:12px;margin-bottom:16px}.joey-emoji{font-size:48px;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.joey-bubble{background:#fff;padding:12px 16px;border-radius:4px 16px 16px;box-shadow:0 2px 8px #0000001a;font-size:14px;color:var(--navy);max-width:200px}.feedback-header h2{margin:0;color:var(--navy);font-size:1.5rem}.feedback-header p{margin:8px 0 0;color:var(--text-secondary);font-size:14px}.feedback-modal form{padding:24px}.feedback-error{background:#fef2f2;color:#dc2626;padding:12px 16px;border-radius:10px;margin-bottom:16px;font-size:14px}.feedback-rating-group{margin-bottom:24px}.feedback-label{display:block;font-weight:600;color:var(--navy);margin-bottom:10px;font-size:14px}.star-rating{display:flex;align-items:center;gap:4px}.star-btn{background:none;border:none;font-size:28px;color:#e5e7eb;cursor:pointer;padding:2px;transition:all .15s ease}.star-btn:hover,.star-btn.active{color:#fbbf24;transform:scale(1.15)}.rating-text{margin-left:12px;font-size:13px;color:var(--text-secondary)}.feedback-field{margin-bottom:20px}.feedback-chips{display:flex;flex-wrap:wrap;gap:8px}.feedback-chip{background:var(--secondary-light);border:2px solid transparent;padding:8px 16px;border-radius:20px;font-size:13px;color:var(--navy);cursor:pointer;transition:all .2s ease}.feedback-chip:hover{background:var(--primary-light)}.feedback-chip.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.feedback-recommend{display:flex;gap:12px}.recommend-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;background:var(--secondary-light);border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s ease}.recommend-btn:hover{background:#f1f5f9}.recommend-btn.active{border-color:var(--primary);background:var(--primary-light)}.recommend-emoji{font-size:28px}.recommend-label{font-size:13px;font-weight:500;color:var(--navy)}.feedback-input,.feedback-textarea{width:100%;padding:12px 16px;border:2px solid var(--border);border-radius:10px;font-size:14px;color:var(--navy);background:#f9fafb;transition:all .2s ease;font-family:inherit;box-sizing:border-box}.feedback-input:focus,.feedback-textarea:focus{outline:none;border-color:var(--primary);background:#fff}.feedback-textarea{resize:vertical;min-height:80px}.feedback-submit{width:100%;margin-top:8px;padding:14px 24px;font-size:15px;display:flex;align-items:center;justify-content:center;gap:8px}.feedback-success{text-align:center;padding:48px 32px}.feedback-success-icon{font-size:64px;margin-bottom:16px}.feedback-success h2{color:var(--navy);margin:0 0 8px}.feedback-success p{color:var(--text-secondary);margin:0 0 24px}.feedback-joey-thanks{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px;padding:16px;background:var(--primary-light);border-radius:12px}.joey-speech{color:var(--navy);font-weight:500}.feedback-modal.compact{max-width:440px}.feedback-modal.compact form{padding:16px 20px 20px}.feedback-header.compact{padding:20px 20px 12px}.feedback-header.compact .feedback-joey{margin-bottom:8px}.feedback-header.compact h2{font-size:1.25rem}.feedback-joey-centered{display:flex;justify-content:center;margin-bottom:12px}.feedback-joey-centered .joey-logo{width:52px;height:52px}.joey-logo{width:48px;height:48px;object-fit:contain}.feedback-joey-logo{width:56px;height:56px;object-fit:contain;margin-bottom:12px}.feedback-rating-group.compact{margin-bottom:14px}.feedback-rating-group.compact .feedback-label{margin-bottom:6px;font-size:13px}.feedback-rating-group.compact .star-btn{font-size:22px;padding:1px}.feedback-field.compact{margin-bottom:14px}.feedback-field.compact .feedback-label{margin-bottom:6px;font-size:13px}.feedback-field.compact .optional{font-weight:400;color:#9ca3af;font-size:12px}.feedback-inline-options{display:flex;gap:8px;flex-wrap:wrap}.inline-option-btn{flex:1;min-width:80px;padding:8px 12px;background:#f3f4f6;border:2px solid transparent;border-radius:8px;font-size:13px;font-weight:500;color:var(--navy);cursor:pointer;transition:all .2s ease;text-align:center}.inline-option-btn:hover{background:var(--primary-light)}.inline-option-btn.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.feedback-dropdown{position:relative}.dropdown-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#f9fafb;border:2px solid var(--border);border-radius:8px;font-size:13px;color:var(--navy);cursor:pointer;transition:all .2s ease}.dropdown-trigger:hover{border-color:#d1d5db}.dropdown-trigger:focus{outline:none;border-color:var(--primary);background:#fff}.dropdown-arrow{font-size:10px;color:#6b7280}.dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;max-height:200px;overflow-y:auto}.dropdown-item{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:13px;color:var(--navy);cursor:pointer;transition:background .15s ease}.dropdown-item:hover{background:#f9fafb}.dropdown-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.feedback-textarea.compact{min-height:60px;padding:10px 12px;font-size:13px}.testimonials-section{margin:40px 0 20px;padding:32px 0;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:16px;overflow:hidden}.testimonials-header{text-align:center;margin-bottom:24px;padding:0 20px}.testimonials-header h2{font-size:1.5rem;color:var(--navy);margin:0 0 8px;font-weight:600}.testimonials-header p{font-size:14px;color:var(--text-secondary);margin:0}.testimonials-marquee-container{position:relative;overflow:hidden;padding:8px 0}.testimonials-marquee-container:before,.testimonials-marquee-container:after{content:"";position:absolute;top:0;bottom:0;width:60px;z-index:2;pointer-events:none}.testimonials-marquee-container:before{left:0;background:linear-gradient(to right,#f8fafc,transparent)}.testimonials-marquee-container:after{right:0;background:linear-gradient(to left,#f1f5f9,transparent)}.testimonials-marquee{display:flex;gap:20px;animation:marquee 40s linear infinite;width:fit-content}.testimonials-marquee:hover{animation-play-state:paused}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.testimonial-card{flex-shrink:0;width:280px;background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000f;transition:transform .3s ease,box-shadow .3s ease}.testimonial-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.testimonial-rating{display:flex;gap:2px;margin-bottom:12px}.testimonial-star{font-size:14px;color:#e5e7eb}.testimonial-star.filled{color:#fbbf24}.testimonial-text{font-size:14px;line-height:1.6;color:var(--navy);margin:0 0 16px;font-style:italic;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.testimonial-author{display:flex;align-items:center;gap:10px}.author-name{font-size:13px;font-weight:500;color:var(--text-secondary)}.recommend-badge{font-size:10px;font-weight:600;color:#10b981;background:#ecfdf5;padding:3px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.3px}@media (max-width: 768px){.testimonials-section{padding:24px 0;border-radius:0;margin:24px -16px 16px}.testimonials-header h2{font-size:1.25rem}.testimonial-card{width:260px;padding:16px}.testimonials-marquee{animation-duration:30s}}.testimonials-marquee-container.static:before,.testimonials-marquee-container.static:after{display:none}.testimonials-marquee.static{animation:none;justify-content:center;flex-wrap:wrap;width:100%}@media (max-width: 768px){.testimonials-marquee.static{flex-direction:column;align-items:center}}.admin-feedback{padding:24px}.admin-feedback .admin-page-header{margin-bottom:24px}.admin-feedback .admin-page-header h1{margin:0 0 8px;color:var(--navy)}.admin-feedback .admin-page-header p{margin:0;color:var(--text-secondary)}.feedback-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.feedback-stat-card{background:#fff;padding:20px;border-radius:12px;box-shadow:var(--shadow-sm);text-align:center}.feedback-stat-card.highlight{background:var(--primary-light);border:1px solid var(--primary)}.feedback-stat-card .stat-value{font-size:2rem;font-weight:700;color:var(--navy)}.feedback-stat-card .stat-label{font-size:13px;color:var(--text-secondary);margin-top:4px}.nps-summary{background:#fff;padding:20px 24px;border-radius:12px;box-shadow:var(--shadow-sm);margin-bottom:24px}.nps-summary h3{margin:0 0 16px;font-size:14px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.nps-bars{display:flex;flex-direction:column;gap:12px}.nps-bar{display:flex;align-items:center;gap:12px}.nps-label{width:60px;font-size:13px;color:var(--navy)}.nps-progress{flex:1;height:12px;background:#f1f5f9;border-radius:6px;overflow:hidden}.nps-fill{height:100%;border-radius:6px;transition:width .3s ease}.nps-fill.success{background:#10b981}.nps-fill.warning{background:#f59e0b}.nps-fill.danger{background:#ef4444}.nps-count{width:30px;text-align:right;font-size:13px;font-weight:600;color:var(--navy)}.feedback-filters{margin-bottom:16px}.feedback-filters .filter-tabs{display:flex;gap:8px}.feedback-filters .filter-tab{padding:8px 16px;background:#fff;border:1px solid var(--border);border-radius:8px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.feedback-filters .filter-tab:hover{background:var(--secondary-light)}.feedback-filters .filter-tab.active{background:var(--navy);border-color:var(--navy);color:#fff}.feedback-filters .filter-tab .badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;background:var(--primary);color:#fff;border-radius:9px;font-size:11px;font-weight:600;margin-left:6px}.feedback-list{display:flex;flex-direction:column;gap:12px}.feedback-item{background:#fff;padding:16px 20px;border-radius:12px;box-shadow:var(--shadow-sm);cursor:pointer;transition:all .2s ease;border-left:4px solid transparent}.feedback-item:hover{box-shadow:var(--shadow-md)}.feedback-item.unread{border-left-color:var(--primary);background:#fffbf9}.feedback-item.selected{border-left-color:var(--navy);box-shadow:var(--shadow-md)}.feedback-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.feedback-user{display:flex;align-items:center;gap:8px}.unread-dot{width:8px;height:8px;background:var(--primary);border-radius:50%}.user-email{font-weight:600;color:var(--navy)}.user-name{font-size:13px;color:var(--text-secondary)}.feedback-date{font-size:12px;color:var(--text-secondary)}.feedback-item-ratings{display:flex;gap:16px;margin-bottom:8px}.feedback-item-ratings .rating{font-size:12px;color:var(--text-secondary)}.feedback-item-ratings .stars{color:#fbbf24;margin-left:4px}.feedback-item-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.feedback-badge{display:inline-flex;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600}.feedback-badge.badge-success{background:#d1fae5;color:#065f46}.feedback-badge.badge-warning{background:#fef3c7;color:#92400e}.feedback-badge.badge-danger{background:#fee2e2;color:#991b1b}.feedback-badge.badge-feature{background:#e0e7ff;color:#3730a3}.feedback-preview{font-size:13px;color:var(--text-secondary);line-height:1.5}.feedback-detail-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px}.feedback-detail-modal{background:#fff;border-radius:16px;max-width:600px;width:100%;max-height:85vh;overflow-y:auto;position:relative;padding:32px}.feedback-detail-modal .modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:28px;color:#94a3b8;cursor:pointer}.feedback-detail-modal h2{margin:0 0 24px;color:var(--navy)}.detail-section{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.detail-section:last-of-type{border-bottom:none}.detail-section h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.detail-section p{margin:0;color:var(--navy)}.detail-ratings{display:flex;flex-direction:column;gap:8px}.detail-rating{display:flex;justify-content:space-between;align-items:center}.detail-rating .stars{color:#fbbf24;font-size:18px}.detail-text{background:#f9fafb;padding:12px 16px;border-radius:8px;line-height:1.6}.text-muted{color:var(--text-secondary);font-size:13px}.detail-actions{display:flex;gap:12px;margin-top:24px}.detail-actions .btn-danger{background:#fee2e2;color:#dc2626;border:none;padding:10px 20px;border-radius:8px;cursor:pointer}.detail-actions .btn-danger:hover{background:#fecaca}.empty-state{text-align:center;padding:48px 24px;background:#fff;border-radius:12px}.empty-state .empty-icon{font-size:48px;margin-bottom:16px}.empty-state h3{margin:0 0 8px;color:var(--navy)}.empty-state p{margin:0;color:var(--text-secondary)}.loading-state{text-align:center;padding:48px 24px;color:var(--text-secondary)}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px}.pagination button{padding:8px 16px;background:#fff;border:1px solid var(--border);border-radius:8px;cursor:pointer}.pagination button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.feedback-stats-grid{grid-template-columns:repeat(2,1fr)}.feedback-item-header{flex-direction:column;align-items:flex-start;gap:4px}.feedback-item-ratings{flex-direction:column;gap:4px}}
