.deal-card{backface-visibility:hidden;box-shadow:0 2px 4px var(--shadow-color);border:1px solid var(--border-color);background:var(--card-bg);-webkit-font-smoothing:antialiased;cursor:pointer;border-radius:8px;padding:16px;transition:transform .1s,box-shadow .1s;animation:.5s fadeSlideIn}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.deal-card:hover{box-shadow:0 4px 8px var(--shadow-color);transform:translateY(-2px)}.deal-card.hot-deal{border-left:4px solid var(--price-positive)}.deal-card.fresh-old{border-left:4px solid #ffc107}.deal-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.deal-header h3{color:var(--text-primary);margin:0;font-size:18px}.airport-code{background:var(--hover-bg);color:var(--text-primary);border-radius:4px;padding:2px 6px;font-family:monospace;font-size:14px}.country{color:var(--text-secondary);margin-bottom:12px;font-size:14px}.price-section{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.deal-info{flex-direction:column;gap:4px;display:flex}.percent-off{font-size:20px;font-weight:700}.typical-average{color:var(--text-secondary);font-size:13px}.cheapest-price{color:var(--price-positive);font-size:24px;font-weight:700}.price-range{border-top:1px solid var(--border-color);color:var(--text-secondary);margin-top:8px;padding-top:8px;font-size:12px}.scan-time{border-top:1px solid var(--border-color);color:var(--text-secondary);margin-top:10px;padding-top:8px;font-size:13px;font-weight:500}.scan-time small{font-size:13px}.deal-card .cheapest-price{color:var(--price-positive);font-size:1.25rem;font-weight:700}.deal-departure{color:var(--accent-color,#2563eb);background:var(--hover-bg,#f0f0f0);border-radius:20px;width:fit-content;margin:.5rem auto 0;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.deals-container{margin-top:20px}.section-title{color:var(--text-primary);margin:0 0 20px 16px;font-size:24px}.section-subtitle{color:var(--text-primary);margin:0 0 16px;font-size:20px}.deals-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:30px;padding:0 16px;display:grid}.below-threshold{margin-top:30px;padding:0 16px}.destinations-table{box-shadow:0 1px 3px var(--shadow-color);border-collapse:collapse;background:var(--card-bg);border-radius:8px;width:100%;overflow:hidden}.destinations-table th,.destinations-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);text-align:left;padding:12px}.destinations-table th{background-color:var(--hover-bg);color:var(--text-primary);font-weight:600}.destinations-table tr:hover{background-color:var(--hover-bg)}.city-cell{font-weight:500}.code-cell{font-family:monospace}.price-cell{font-weight:500}.scan-date-cell{color:var(--text-secondary);white-space:nowrap;font-size:13px}.positive{color:var(--price-negative);font-size:16px;font-weight:700}.negative{color:var(--price-positive);font-size:16px;font-weight:700}.no-deals{color:var(--text-secondary);text-align:center;padding:40px}@media (width<=768px){.below-threshold{overflow-x:auto}.destinations-table{min-width:600px}.destinations-table th,.destinations-table td{padding:8px;font-size:14px}.positive,.negative{font-size:14px}.deals-grid{grid-template-columns:1fr}}.discount-cell{font-size:16px;font-weight:700;transition:none}.clickable-row{cursor:pointer;transition:background-color .1s}.clickable-row:hover{background-color:var(--hover-bg)}.clickable-row:focus{outline:2px solid var(--text-primary);outline-offset:-2px}html{overflow-y:scroll}body{background-color:var(--bg-primary);color:var(--text-primary);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;transition:background-color .3s,color .3s}.dashboard{max-width:1400px;margin:0 auto}.dashboard-header{z-index:100;background-color:var(--bg-primary);justify-content:flex-end;padding:16px;display:flex;position:sticky;top:0}.scan-info{box-shadow:0 1px 3px var(--shadow-color);border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-primary);border-radius:8px;margin:16px;padding:16px}.scan-info p{margin:5px 0}.loading{color:var(--text-primary);text-align:center;padding:50px;font-size:18px}.error{color:var(--price-negative);text-align:center;padding:50px}.error button{cursor:pointer;border:1px solid var(--border-color);background-color:var(--card-bg);color:var(--text-primary);border-radius:5px;margin-top:10px;padding:8px 16px}.error button:hover{background-color:var(--hover-bg)}.filters-section{box-shadow:0 1px 3px var(--shadow-color);border:1px solid var(--border-color);background:var(--card-bg);border-radius:16px;margin:16px;padding:20px 24px}.filters-title{color:var(--text-primary);margin:0 0 20px;font-size:18px;font-weight:600}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end;gap:24px 32px;display:grid}.filter-group{flex-direction:column;gap:8px;display:flex}.filter-group label{color:var(--text-secondary);letter-spacing:.5px;text-transform:uppercase;font-size:12px;font-weight:600}.slider-value-indicator{background:var(--hover-bg);color:var(--text-primary);border-radius:20px;align-self:flex-start;padding:2px 12px;font-family:monospace;font-size:20px;font-weight:700;display:inline-block}.filter-group input[type=range]{-webkit-appearance:none;cursor:pointer;background:var(--border-color);border-radius:4px;outline:none;width:100%;height:4px}.filter-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;box-shadow:0 2px 6px var(--shadow-color);border:2px solid var(--card-bg);background:var(--text-primary);border-radius:50%;width:18px;height:18px;transition:transform .1s}.filter-group input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.filter-group select{cursor:pointer;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);border-radius:10px;padding:10px 12px;font-size:14px;transition:all .2s}.filter-group select:hover{border-color:var(--price-positive)}.price-slider{width:100%;margin:0}.price-group{min-width:240px}.price-slider-container{width:100%}.price-slider-value{background:var(--hover-bg);color:var(--text-primary);letter-spacing:0;border-radius:20px;margin-bottom:8px;padding:2px 12px;font-family:monospace;font-size:20px;font-weight:700;display:inline-block}.price-slider{-webkit-appearance:none;background:var(--border-color);border-radius:4px;width:100%;height:4px;margin:12px 0 6px}.price-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:var(--text-primary);border:2px solid #fff;border-radius:50%;width:20px;height:20px;transition:transform .1s;box-shadow:0 2px 8px #0003}.price-slider::-webkit-slider-thumb:hover{transform:scale(1.25)}.price-slider-labels{color:var(--text-secondary);justify-content:space-between;margin-top:6px;font-size:12px;font-weight:500;display:flex}.price-slider-labels span:first-child{color:var(--text-primary);font-weight:600}.price-slider-labels span:last-child{background:var(--hover-bg);border-radius:12px;padding:2px 8px;font-weight:500}@media (width<=768px){.filters-section{margin:12px;padding:16px}.filters-grid{grid-template-columns:1fr;gap:20px}.price-group{min-width:auto}}.percent-off,.discount-cell,.positive,.negative{transition:none}.filter-group.toggle-previous-group{justify-content:flex-end}.toggle-previous-btn{cursor:pointer;border:1px solid var(--border-color);background:var(--card-bg);width:fit-content;color:var(--text-primary);border-radius:30px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.toggle-previous-btn:hover,.toggle-previous-btn.active{border-color:var(--price-positive);background:var(--hover-bg)}.toggle-previous-btn .badge{background:var(--price-positive);color:#fff;border-radius:20px;padding:2px 8px;font-size:11px}.filter-group.search-group{grid-column:span 1}.search-input{border:1px solid var(--border-color);background:var(--bg-primary);width:100%;color:var(--text-primary);border-radius:10px;padding:10px 12px;font-size:14px;transition:all .2s}.search-input:focus{border-color:var(--price-positive);outline:none;box-shadow:0 0 0 2px #4caf5033}.search-input::placeholder{opacity:.7;color:var(--text-secondary)}.info-banner{background:linear-gradient(135deg, var(--accent-color,#2563eb), var(--accent-hover,#3b82f6));color:#fff;box-shadow:0 2px 8px var(--shadow-color);border-radius:16px;margin:0 16px 20px}.info-banner-content{justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.info-banner-icon{font-size:1.3rem;line-height:1}.info-banner-text{flex:1;font-size:.9rem;line-height:1.4}.info-banner-close{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:1.2rem;font-weight:700;transition:background .2s;display:inline-flex}.info-banner-close:hover{background:#fff3}@media (width<=768px){.info-banner{margin:0 12px 16px}.info-banner-content{padding:.6rem .8rem}.info-banner-text{font-size:.8rem}}.alert-btn{border:1px solid var(--border-color);cursor:pointer;background:0 0;border-radius:6px;padding:4px 8px;font-size:1rem;line-height:1;transition:background .15s,border-color .15s}.alert-btn:hover{background:var(--hover-bg);border-color:var(--accent-color,#2563eb)}.alert-btn--active{border-color:var(--accent-color,#2563eb);background:var(--hover-bg)}.alert-modal-overlay{z-index:200;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.alert-modal{background:var(--card-bg);width:340px;max-width:95vw;box-shadow:0 8px 32px var(--shadow-color);border:1px solid var(--border-color);border-radius:14px;padding:1.75rem;position:relative}.alert-modal__close{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;font-size:1.4rem;line-height:1;position:absolute;top:.75rem;right:.9rem}.alert-modal__title{color:var(--text-primary);margin:0 0 .25rem;font-size:1.1rem;font-weight:700}.alert-modal__route{color:var(--text-secondary);margin:0 0 1.25rem;font-size:.85rem}.alert-modal__signin{text-align:center;flex-direction:column;align-items:center;gap:1rem;display:flex}.alert-modal__signin p{color:var(--text-secondary);margin:0;font-size:.9rem}.alert-modal__form{flex-direction:column;gap:.75rem;display:flex}.alert-form-group{flex-direction:column;gap:.3rem;display:flex}.alert-form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;font-size:.82rem;font-weight:600}.alert-form-group input{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);border-radius:7px;padding:.5rem .75rem;font-size:.95rem}.alert-form-group input:focus{border-color:var(--accent-color,#2563eb);outline:none}.alert-form-or{text-align:center;color:var(--text-secondary);text-transform:uppercase;font-size:.8rem;font-weight:600}.alert-form-error{color:#dc2626;margin:0;font-size:.82rem}.alert-modal__actions{gap:.6rem;margin-top:.5rem;display:flex}.alert-save-btn{background:var(--accent-color,#2563eb);color:#fff;cursor:pointer;border:none;border-radius:7px;flex:1;padding:.6rem;font-size:.9rem;font-weight:600;transition:opacity .15s}.alert-save-btn:disabled{opacity:.6;cursor:not-allowed}.alert-remove-btn{color:#dc2626;cursor:pointer;background:0 0;border:1px solid #dc2626;border-radius:7px;flex:1;padding:.6rem;font-size:.9rem;font-weight:600;transition:background .15s}.alert-remove-btn:hover{background:#fef2f2}.destination-detail{max-width:800px;margin:2rem auto;padding:1rem}.back-button{cursor:pointer;color:var(--accent-color,#07c);background:0 0;border:none;align-items:center;gap:4px;margin-bottom:1rem;font-size:1rem;display:inline-flex}.back-button:hover{opacity:.8;transition:transform .2s;transform:translate(-2px)}.detail-card{background:var(--card-bg,#fff);box-shadow:0 8px 24px var(--shadow-color);text-align:center;border:1px solid var(--border-color);border-radius:24px;padding:2rem;transition:transform .2s}.departure-badge-large{background:var(--accent-color,#2563eb);color:#fff;box-shadow:0 2px 6px var(--shadow-color);border-radius:40px;margin-bottom:1.5rem;padding:.4rem 1rem;font-size:.8rem;font-weight:600;display:inline-block}.route-display{justify-content:center;align-items:center;gap:1rem;margin-bottom:1rem;font-size:1.8rem;font-weight:700;display:flex}.route-code{background:var(--hover-bg);color:var(--text-primary);border-radius:12px;padding:.25rem .75rem;font-family:monospace;font-size:1.4rem}.route-arrow{color:var(--text-secondary);font-size:1.8rem}.destination-title{color:var(--text-primary);margin-bottom:.25rem;font-size:2rem;font-weight:700}.destination-country{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:2rem;font-size:1rem}.price-info{margin:2rem 0}.discount-badge{color:#fff;border-radius:60px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.6rem 1.2rem;font-size:1.6rem;font-weight:700;display:inline-flex}.discount-star{margin-left:4px;font-size:1rem}.cheapest-price{color:var(--price-positive);font-size:2.8rem;font-weight:700;line-height:1.2}.typical-price{color:var(--text-secondary);margin-top:.5rem;font-size:1rem;font-weight:400}.scan-meta{color:var(--text-secondary);margin-bottom:2rem;font-size:1rem}.action-buttons{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-top:1rem;display:flex}.google-flights-link{background:var(--google-blue,#4285f4);color:#fff;border-radius:40px;align-items:center;gap:8px;padding:.75rem 1.5rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.google-flights-link:hover{background:var(--google-blue-hover,#3367d6);transform:translateY(-2px);box-shadow:0 4px 12px #0003}@media (width<=600px){.detail-card{padding:1.5rem}.route-display{gap:.5rem;font-size:1.2rem}.route-code{padding:.2rem .6rem;font-size:1rem}.destination-title{font-size:1.5rem}.discount-badge{padding:.4rem 1rem;font-size:1.2rem}.cheapest-price{font-size:2rem}}.user-menu{position:relative}.user-avatar-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;padding:0;display:flex}.user-avatar{object-fit:cover;border:2px solid var(--border-color,#ddd);border-radius:50%;width:34px;height:34px;transition:border-color .2s}.user-avatar-btn:hover .user-avatar{border-color:var(--accent-color,#4285f4)}.user-dropdown{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e0e0e0);box-shadow:0 4px 20px var(--shadow-color,#0000001f);z-index:100;border-radius:12px;width:max-content;min-width:280px;max-width:90vw;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.user-info{align-items:center;gap:1rem;padding:1rem;display:flex}.user-dropdown-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:42px;height:42px}.user-name{color:var(--text-primary,#1a1a1a);font-size:.9rem;font-weight:600}.user-email{color:var(--text-secondary,#666);white-space:nowrap;max-width:280px;font-size:.78rem;overflow-x:auto}.user-menu-divider{border:none;border-top:1px solid var(--border-color,#eee);margin:0}.logout-btn{text-align:left;cursor:pointer;width:100%;color:var(--text-primary,#333);background:0 0;border:none;padding:.75rem 1rem;font-size:.9rem;transition:background .15s}.logout-btn:hover{background:var(--hover-bg,#f5f5f5)}.signin-btn{background:var(--accent-color,#2563eb);color:#fff;cursor:pointer;border:none;border-radius:5px;align-items:center;gap:6px;height:38px;padding:0 20px;font-size:.88rem;font-weight:600;transition:opacity .15s;display:inline-flex}.signin-btn:hover{opacity:.88}.user-dropdown--login{flex-direction:column;align-items:center;gap:.75rem;min-width:260px;padding:1rem;display:flex}.login-hint{color:var(--text-secondary,#666);text-align:center;margin:0;font-size:.85rem}.theme-toggle{cursor:pointer;background-color:var(--btn-bg);width:40px;height:40px;color:var(--header-text);border:none;border-radius:5px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.theme-toggle:hover{background-color:var(--btn-hover);transform:translateY(-1px)}.theme-toggle:active{transform:translateY(0)}.theme-toggle svg{transition:transform .3s}.theme-toggle:hover svg{transform:rotate(15deg)scale(1.1)}:root,.App.light-mode{--bg-primary:#f5f5f5;--bg-secondary:#fff;--text-primary:#1a1a1a;--text-secondary:#666;--border-color:#e0e0e0;--card-bg:#fff;--hover-bg:#f0f0f0;--header-bg:#1a1a2e;--header-text:#fff;--btn-bg:#4a4a6a;--btn-hover:#5a5a7a;--price-positive:#2e7d32;--price-negative:#c62828;--shadow-color:#0000001a}.App.dark-mode{--bg-primary:#121212;--bg-secondary:#1e1e1e;--text-primary:#fff;--text-secondary:#b0b0b0;--border-color:#333;--card-bg:#1e1e1e;--hover-bg:#2a2a2a;--header-bg:#0a0a0e;--header-text:#fff;--btn-bg:#2a2a3a;--btn-hover:#3a3a4a;--price-positive:#4caf50;--price-negative:#ef5350;--shadow-color:#0000004d}.App{background-color:var(--bg-primary);min-height:100vh;color:var(--text-primary);transition:background-color .3s,color .3s}.app-header{box-shadow:0 2px 4px var(--shadow-color);background-color:var(--header-bg);color:var(--header-text);justify-content:space-between;align-items:center;padding:20px;transition:background-color .3s,box-shadow .3s;display:flex}.app-header h1{margin:0;font-size:24px}.header-buttons{align-items:center;gap:10px;display:flex}.refresh-btn,.lang-btn,.theme-toggle{cursor:pointer;background-color:var(--btn-bg);height:38px;color:var(--header-text);border:none;border-radius:5px;justify-content:center;align-items:center;gap:8px;padding:8px 20px;font-size:14px;line-height:1;transition:all .2s;display:inline-flex}.theme-toggle{width:38px;padding:0}.refresh-btn:hover,.lang-btn:hover,.theme-toggle:hover{background-color:var(--btn-hover);transform:translateY(-1px)}.refresh-btn:active,.lang-btn:active,.theme-toggle:active{transform:translateY(0)}main{padding:20px}*{box-sizing:border-box;margin:0;padding:0;transition:background-color .3s,border-color .3s,color .2s,box-shadow .3s}:root,.light-mode{--bg-primary:#f5f5f5;--bg-secondary:#fff;--text-primary:#1a1a1a;--text-secondary:#666;--border-color:#e0e0e0;--card-bg:#fff;--hover-bg:#f0f0f0;--price-positive:#2e7d32;--price-negative:#c62828;--shadow-color:#0000001a}.dark-mode{--bg-primary:#121212;--bg-secondary:#1e1e1e;--text-primary:#fff;--text-secondary:#b0b0b0;--border-color:#333;--card-bg:#1e1e1e;--hover-bg:#2a2a2a;--price-positive:#4caf50;--price-negative:#ef5350;--shadow-color:#0000004d}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background-color .3s,color .3s}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{background-color:var(--bg-primary);min-height:100vh}
