:root{--frontier-green: #35B769;--frontier-green-light: #4ade80;--frontier-green-dark: #22c55e;--frontier-green-glow: rgba(53, 183, 105, .25);--bg-primary: #050a08;--bg-secondary: #0a1512;--bg-card: #101f1a;--bg-elevated: #152a23;--bg-hover: #1a332b;--text-primary: #ffffff;--text-secondary: #94a3b8;--text-muted: #64748b;--text-accent: var(--frontier-green-light);--accent: var(--frontier-green);--accent-hover: var(--frontier-green-light);--accent-dark: var(--frontier-green-dark);--accent-glow: var(--frontier-green-glow);--success: #35B769;--warning: #f59e0b;--danger: #ef4444;--info: #3b82f6;--purple: #a855f7;--border: rgba(53, 183, 105, .12);--border-strong: rgba(53, 183, 105, .25);--border-glow: rgba(53, 183, 105, .4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .6);--shadow-glow: 0 0 40px var(--accent-glow);--shadow-glow-lg: 0 0 80px var(--accent-glow);--glass-bg: rgba(16, 31, 26, .8);--glass-bg-light: rgba(21, 42, 35, .6);--glass-border: rgba(53, 183, 105, .15);--blur: blur(20px);--blur-sm: blur(10px);--blur-lg: blur(40px);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-2xl: 32px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.68, -.55, .265, 1.55)}*{margin:0;padding:0;box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.spin-icon{animation:spin 1s linear infinite}.empty-icon{opacity:.4;animation:fly 3s ease-in-out infinite}html{scroll-behavior:smooth}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse 120% 80% at 50% -20%,rgba(53,183,105,.15) 0%,transparent 50%),radial-gradient(ellipse 80% 60% at 100% 100%,rgba(53,183,105,.08) 0%,transparent 40%),radial-gradient(ellipse 60% 40% at 0% 50%,rgba(53,183,105,.05) 0%,transparent 30%);pointer-events:none;z-index:0}body:after{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(rgba(53,183,105,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(53,183,105,.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;z-index:0;opacity:.5}.container{max-width:1440px;margin:0 auto;padding:var(--space-lg);position:relative;z-index:1}.header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xl) 0;margin-bottom:var(--space-xl);position:relative}.header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-strong) 20%,var(--accent) 50%,var(--border-strong) 80%,transparent)}.logo{display:flex;align-items:center;gap:var(--space-lg)}.logo h1{font-size:2rem;font-weight:800;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-hover) 50%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-1px;position:relative}.logo h1:after{content:"";position:absolute;bottom:-4px;left:0;width:60%;height:3px;background:linear-gradient(90deg,var(--accent),transparent);border-radius:var(--radius-full)}.logo span{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;padding:8px 16px;border-radius:var(--radius-full);font-size:.65rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;box-shadow:0 2px 8px var(--accent-glow),inset 0 1px #fff3;animation:pulse-glow 3s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 2px 8px var(--accent-glow)}50%{box-shadow:0 4px 20px var(--accent-glow),0 0 30px var(--accent-glow)}}.header-actions{display:flex;gap:var(--space-xs);background:var(--glass-bg);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);padding:6px;border-radius:var(--radius-xl);border:1px solid var(--glass-border);box-shadow:var(--shadow-md)}.header-actions .btn-icon{background:transparent;border:none;padding:12px 20px;border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;transition:var(--transition-base);font-weight:500;font-size:.875rem;white-space:nowrap;display:flex;align-items:center;gap:var(--space-sm)}.header-actions .btn-icon:hover{background:#35b7691a;color:var(--text-primary);transform:translateY(-1px)}.header-actions .btn-icon.active{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;box-shadow:0 4px 16px var(--accent-glow)}.calendar-cell.blackout{background:repeating-linear-gradient(-45deg,rgba(239,68,68,.06),rgba(239,68,68,.06) 4px,transparent 4px,transparent 8px);border-color:#ef444440;cursor:not-allowed;opacity:.6}.calendar-cell.blackout:hover{transform:none;box-shadow:none;border-color:#ef444459}.calendar-cell.blackout .calendar-date{color:var(--danger);text-decoration:line-through}.calendar-cell.blackout .blackout-label{font-size:.55rem;color:var(--danger);text-transform:uppercase;letter-spacing:.5px;font-weight:700;margin-top:auto}.search-controls{display:flex;flex-wrap:wrap;gap:var(--space-lg);padding:var(--space-xl);background:var(--glass-bg);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-radius:var(--radius-xl);margin-bottom:var(--space-lg);border:1px solid var(--glass-border);align-items:flex-end;position:relative;box-shadow:var(--shadow-lg)}.search-controls:before{content:"✈️";position:absolute;top:-12px;left:var(--space-xl);background:var(--bg-primary);padding:4px 12px;font-size:1.25rem;border-radius:var(--radius-md);border:1px solid var(--glass-border)}.control-group{display:flex;flex-direction:column;gap:var(--space-sm);min-width:160px;flex:1}.control-group label{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;font-weight:700}.control-group select,.control-group input{background:var(--bg-secondary);border:2px solid var(--border);padding:14px 18px;border-radius:var(--radius-md);color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:var(--transition-base);font-weight:500}.control-group select:hover,.control-group input:hover{border-color:var(--border-strong);background:var(--bg-card)}.control-group select:focus,.control-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow)}.btn{padding:14px 28px;border-radius:var(--radius-md);font-weight:600;font-size:.9rem;cursor:pointer;border:none;transition:var(--transition-base);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:var(--transition-slow)}.btn:hover:before{left:100%}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;box-shadow:0 4px 16px var(--accent-glow)}.btn-primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 24px var(--accent-glow)}.btn-primary:active{transform:translateY(0) scale(.98)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.btn-danger{background:linear-gradient(135deg,var(--danger),#dc2626);color:#fff}.btn-danger:hover{box-shadow:0 8px 24px #ef44444d}.filter-bar{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap}.btn-filter{background:var(--glass-bg);-webkit-backdrop-filter:var(--blur-sm);backdrop-filter:var(--blur-sm);border:1px solid var(--border);color:var(--text-secondary);padding:10px 20px;border-radius:var(--radius-full);font-size:.85rem;font-weight:500;cursor:pointer;transition:var(--transition-base)}.btn-filter:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-strong)}.btn-filter.active{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;border-color:var(--accent);box-shadow:0 4px 16px var(--accent-glow)}.filter-count{color:var(--text-muted);font-size:.85rem;margin-left:auto;font-weight:500}.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg);margin-bottom:var(--space-2xl)}.stat-card{background:linear-gradient(145deg,var(--bg-card) 0%,var(--bg-elevated) 100%);padding:var(--space-xl);border-radius:var(--radius-xl);text-align:center;border:1px solid var(--border);position:relative;overflow:hidden;transition:var(--transition-base);opacity:0;transform:translateY(15px) scale(.98);animation:statEntrance .4s ease forwards}.stat-card:nth-child(1){animation-delay:.1s}.stat-card:nth-child(2){animation-delay:.2s}.stat-card:nth-child(3){animation-delay:.3s}.stat-card:nth-child(4){animation-delay:.4s}@keyframes statEntrance{to{opacity:1;transform:translateY(0) scale(1)}}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:var(--transition-base)}.stat-card:after{content:"";position:absolute;top:50%;left:50%;width:150%;height:150%;background:radial-gradient(circle,var(--accent-glow) 0%,transparent 70%);transform:translate(-50%,-50%);opacity:0;transition:var(--transition-slow)}.stat-card:hover{transform:translateY(-4px);border-color:var(--border-strong);box-shadow:var(--shadow-xl)}.stat-card:hover:before{opacity:1}.stat-card:hover:after{opacity:.3}.stat-card .value{font-size:2.75rem;font-weight:700;font-family:Space Grotesk,sans-serif;background:linear-gradient(135deg,var(--accent-hover) 0%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.1;letter-spacing:-.02em;position:relative;z-index:1}.stat-card .label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;margin-top:var(--space-sm);font-weight:600;position:relative;z-index:1}.destinations-summary{margin-bottom:var(--space-xl);padding:var(--space-xl);background:var(--glass-bg);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-radius:var(--radius-xl);border:1px solid var(--glass-border)}.destinations-summary h3{font-size:1.1rem;margin-bottom:var(--space-lg);color:var(--text-primary);display:flex;align-items:center;gap:var(--space-sm)}.destinations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-md)}.destination-card{background:linear-gradient(145deg,var(--bg-secondary),var(--bg-card));border-radius:var(--radius-lg);padding:var(--space-lg);text-align:center;border:1px solid var(--border);transition:var(--transition-base);cursor:pointer;position:relative;overflow:hidden}.destination-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(53,183,105,.1),transparent);opacity:0;transition:var(--transition-base)}.destination-card:hover{border-color:var(--accent);transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-lg),0 0 30px var(--accent-glow)}.destination-card:hover:before{opacity:1}.dest-code{font-size:1.75rem;font-weight:800;background:linear-gradient(135deg,var(--accent-hover),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-sm)}.dest-stats{display:flex;flex-direction:column;gap:var(--space-xs)}.dest-price{font-size:1.1rem;font-weight:700;color:var(--success)}.dest-flights{font-size:.75rem;color:var(--text-secondary)}.dest-seats{font-size:.7rem;color:var(--text-muted)}.loading{text-align:center;padding:var(--space-3xl) var(--space-xl)}.spinner{width:60px;height:60px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;margin:0 auto var(--space-xl);animation:spin .8s linear infinite;position:relative}.spinner:before{content:"✈️";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.25rem;animation:spin-reverse .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spin-reverse{to{transform:rotate(-360deg)}}.loading p{color:var(--text-secondary);margin-bottom:var(--space-lg);font-size:1rem}.empty-state{text-align:center;padding:var(--space-3xl) var(--space-xl);color:var(--text-secondary);position:relative}.empty-state:before{content:"✈️";display:block;font-size:4rem;margin-bottom:var(--space-lg);animation:fly 3s ease-in-out infinite;opacity:.6}@keyframes fly{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-20px) rotate(5deg)}}.empty-state h3{font-size:1.5rem;font-family:Space Grotesk,sans-serif;margin-bottom:var(--space-sm);color:var(--text-primary)}.empty-state p{max-width:400px;margin:0 auto;line-height:1.7}.empty-shortcuts{margin-top:var(--space-lg);display:flex;justify-content:center;gap:var(--space-xl);font-size:.85rem;color:var(--text-muted)}.empty-state .suggestions{margin-top:var(--space-lg);font-size:.85rem;color:var(--text-muted)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--bg-card) 25%,var(--bg-elevated) 50%,var(--bg-card) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite ease-in-out;border-radius:var(--radius-md)}.skeleton-card{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--space-xl);border:1px solid var(--border)}.skeleton-header{height:24px;width:70%;margin-bottom:var(--space-md)}.skeleton-text{height:16px;width:100%;margin-bottom:var(--space-sm)}.skeleton-text.short{width:40%}.skeleton-text.medium{width:60%}.skeleton-price{height:32px;width:80px;margin-left:auto}.flight-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:var(--space-xl)}.flight-card{background:linear-gradient(145deg,var(--bg-card) 0%,rgba(16,31,26,.95) 100%);border-radius:var(--radius-xl);padding:var(--space-xl);border:1px solid var(--border);transition:all var(--transition-base);position:relative;overflow:hidden;opacity:0;transform:translateY(20px);animation:cardEntrance .5s ease forwards}.flight-card:nth-child(1){animation-delay:.05s}.flight-card:nth-child(2){animation-delay:.1s}.flight-card:nth-child(3){animation-delay:.15s}.flight-card:nth-child(4){animation-delay:.2s}.flight-card:nth-child(5){animation-delay:.25s}.flight-card:nth-child(6){animation-delay:.3s}.flight-card:nth-child(7){animation-delay:.35s}.flight-card:nth-child(8){animation-delay:.4s}.flight-card:nth-child(9){animation-delay:.45s}.flight-card:nth-child(10){animation-delay:.5s}.flight-card:nth-child(n+11){animation-delay:.55s}@keyframes cardEntrance{to{opacity:1;transform:translateY(0)}}.flight-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(53,183,105,.04) 0%,transparent 50%);pointer-events:none}.flight-card:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:var(--transition-base)}.flight-card:hover{border-color:var(--accent);transform:translateY(-6px);box-shadow:0 16px 48px #0006,0 0 0 1px var(--accent),0 0 40px var(--accent-glow)}.flight-card:hover:after{opacity:1}.flight-card.favorite{border-color:var(--warning);background:linear-gradient(145deg,var(--bg-card),rgba(245,158,11,.08))}.flight-card.favorite:before{background:linear-gradient(135deg,rgba(245,158,11,.05),transparent)}.flight-card.favorite:after{content:"★";position:absolute;top:12px;right:12px;width:28px;height:28px;background:var(--warning);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#fff;opacity:1;box-shadow:0 2px 8px #f59e0b66;pointer-events:none}.flight-actions{position:absolute;top:var(--space-md);right:var(--space-md);display:flex;gap:var(--space-xs);z-index:2}.flight-card.favorite .flight-actions{right:48px}.btn-icon-small{background:var(--glass-bg);-webkit-backdrop-filter:var(--blur-sm);backdrop-filter:var(--blur-sm);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:8px 12px;cursor:pointer;font-size:.95rem;transition:var(--transition-fast)}.btn-icon-small:hover{background:#35b76933;border-color:var(--accent);transform:scale(1.1)}.btn-icon-small.active{background:var(--accent);border-color:var(--accent);box-shadow:0 2px 12px var(--accent-glow)}.flight-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-md);padding-right:80px}.flight-date{background:linear-gradient(135deg,#35b76926,#35b76914);color:var(--accent-hover);padding:10px 16px;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;margin-bottom:var(--space-md);border:1px solid rgba(53,183,105,.2);display:inline-flex;align-items:center;gap:var(--space-sm)}.flight-route{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.airport-code{font-size:1.5rem;font-weight:700;font-family:Space Grotesk,sans-serif;letter-spacing:-.5px}.route-line{display:flex;align-items:center;justify-content:center;position:relative;width:40px;height:2px;background:linear-gradient(90deg,var(--border-strong),var(--accent),var(--border-strong));border-radius:1px}.route-plane-icon{position:absolute;color:var(--accent);animation:arrow-pulse 2s ease-in-out infinite}.route-arrow{color:var(--accent);font-size:1.5rem;animation:arrow-pulse 2s ease-in-out infinite}@keyframes arrow-pulse{0%,to{opacity:1;transform:translate(0)}50%{opacity:.7;transform:translate(3px)}}.stops-badge{background:linear-gradient(135deg,#a855f733,#a855f71a);color:var(--purple);padding:4px 10px;border-radius:var(--radius-sm);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border:1px solid rgba(168,85,247,.3)}.flight-price{text-align:right}.flight-price .price{font-size:2rem;font-weight:700;font-family:Space Grotesk,sans-serif;background:linear-gradient(135deg,var(--accent-hover),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.flight-price .label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.flight-details{display:flex;justify-content:space-between;margin-bottom:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--border)}.flight-detail{text-align:center;flex:1}.flight-detail .value{font-weight:600;font-size:1rem}.flight-detail .label{font-size:.65rem;color:var(--text-muted);margin-top:var(--space-xs);text-transform:uppercase;letter-spacing:.5px}.seats-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:6px 12px;border-radius:var(--radius-full);font-size:.8rem;font-weight:700}.seats-badge:before{content:"";width:8px;height:8px;border-radius:50%;animation:seat-pulse 1.5s ease-in-out infinite}.seats-badge.low{background:linear-gradient(135deg,#ef444433,#ef44441a);color:#f87171;border:1px solid rgba(239,68,68,.3)}.seats-badge.low:before{background:#f87171;animation:seat-pulse-urgent .5s ease-in-out infinite}@keyframes seat-pulse-urgent{0%,to{opacity:1}50%{opacity:.3}}.seats-badge.medium{background:linear-gradient(135deg,#f59e0b33,#f59e0b1a);color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.seats-badge.medium:before{background:#fbbf24}.seats-badge.high{background:linear-gradient(135deg,#22c55e33,#22c55e1a);color:#4ade80;border:1px solid rgba(34,197,94,.3)}.seats-badge.high:before{background:#4ade80}@keyframes seat-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.weather-detail{flex:0 0 auto}.weather-display{display:flex;align-items:center;gap:var(--space-xs);padding:6px 14px;border-radius:var(--radius-full);background:linear-gradient(135deg,#38bdf826,#0ea5e91a);border:1px solid rgba(56,189,248,.3);color:#38bdf8}.weather-display svg{flex-shrink:0}.weather-temp{font-size:.95rem;font-weight:700;font-family:Space Grotesk,sans-serif}.weather-detail .label{margin-top:4px;text-align:center}.btn-book{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);width:100%;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);color:#fff;padding:16px var(--space-xl);border-radius:var(--radius-lg);text-decoration:none;font-weight:700;font-size:.95rem;font-family:Space Grotesk,sans-serif;transition:all var(--transition-base);position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:1px;border:none;cursor:pointer}.btn-book:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transition:var(--transition-slow)}.btn-book:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 12px 32px #35b76966,0 0 0 2px #ffffff1a inset,0 0 40px var(--accent-glow)}.btn-book:hover:before{left:100%}.btn-book:active{transform:translateY(-1px) scale(.98)}.alerts-section{margin-top:var(--space-2xl);padding:var(--space-xl);background:var(--glass-bg);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-radius:var(--radius-xl);border:1px solid var(--glass-border)}.alerts-section h3{font-size:1rem;margin-bottom:var(--space-md);display:flex;align-items:center;gap:var(--space-sm)}.alerts-list{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.alert-item{display:flex;align-items:center;gap:var(--space-sm);background:var(--bg-secondary);padding:8px 16px;border-radius:var(--radius-full);font-size:.85rem;font-weight:500;border:1px solid var(--border);transition:var(--transition-base)}.alert-item:hover{border-color:var(--border-strong)}.alert-item button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:0;display:flex;transition:var(--transition-fast)}.alert-item button:hover{color:var(--danger);transform:scale(1.2)}.calendar-section{background:var(--glass-bg);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-radius:var(--radius-xl);padding:var(--space-xl);margin-bottom:var(--space-xl);border:1px solid var(--glass-border)}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl);flex-wrap:wrap;gap:var(--space-md)}.calendar-header h3{font-size:1.25rem;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-sm)}.calendar-controls{display:flex;gap:var(--space-md);align-items:center}.calendar-controls input[type=month]{background:var(--bg-secondary);border:2px solid var(--border);padding:12px 16px;border-radius:var(--radius-md);color:var(--text-primary);font-size:.9rem;transition:var(--transition-base)}.calendar-controls input[type=month]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow)}.calendar-notice{background:linear-gradient(135deg,#eab3081a,#eab3080d);border:1px solid rgba(234,179,8,.3);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg);text-align:center;color:var(--warning)}.calendar-loading{text-align:center;padding:var(--space-xl);color:var(--text-secondary)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-day-header{text-align:center;font-size:.7rem;font-weight:700;color:var(--text-muted);padding:var(--space-sm) var(--space-xs);text-transform:uppercase;letter-spacing:1px}.calendar-cell{aspect-ratio:1;min-height:80px;background:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--space-sm);display:flex;flex-direction:column;cursor:pointer;transition:var(--transition-base);border:1px solid var(--border);position:relative}.calendar-cell.empty{background:transparent;border:none;cursor:default}.calendar-cell:not(.empty):hover{border-color:var(--accent);transform:scale(1.05);z-index:1;box-shadow:var(--shadow-lg)}.calendar-cell.has-data{background:linear-gradient(145deg,var(--bg-secondary),rgba(34,197,94,.1));border-color:#22c55e4d}.calendar-cell.has-data:hover{border-color:var(--success);box-shadow:0 8px 24px #22c55e33}.calendar-date{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.calendar-price{margin-top:auto;text-align:center}.calendar-price .price{display:block;font-size:1.1rem;font-weight:800;color:var(--success)}.calendar-price .flights{font-size:.6rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}@media (max-width: 1024px){.stats-bar{grid-template-columns:repeat(2,1fr)}.flight-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media (max-width: 768px){.container{padding:var(--space-md)}.header{flex-direction:column;gap:var(--space-lg);text-align:center}.header:after{display:none}.logo{flex-direction:column;gap:var(--space-sm)}.logo h1{font-size:1.5rem}.logo h1:after{left:50%;transform:translate(-50%)}.header-actions{width:100%;justify-content:center}.header-actions .btn-icon{padding:10px 14px;font-size:.8rem}.search-controls{flex-direction:column;padding:var(--space-lg)}.search-controls:before{left:50%;transform:translate(-50%)}.control-group{width:100%;min-width:unset}.stats-bar{grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.stat-card{padding:var(--space-lg)}.stat-card .value{font-size:2rem}.flight-grid{grid-template-columns:1fr;gap:var(--space-lg)}.flight-card{padding:var(--space-lg)}.airport-code,.route-arrow{font-size:1.25rem}.flight-price .price{font-size:1.5rem}.calendar-cell{min-height:60px}.calendar-price .price{font-size:.9rem}.destinations-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}}@media (max-width: 480px){.stats-bar{grid-template-columns:1fr}.flight-header{flex-direction:column;padding-right:0;gap:var(--space-md)}.flight-price{text-align:left}.header-actions{flex-wrap:wrap}.calendar-grid{gap:3px}.calendar-cell{min-height:50px;padding:var(--space-xs)}.calendar-date{font-size:.75rem}.calendar-price .price{font-size:.8rem}}.stat-card{display:flex;align-items:center;gap:var(--space-md);text-align:left}.stat-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-lg);background:var(--accent-glow);color:var(--accent);flex-shrink:0}.stat-card.highlight .stat-icon{background:#facc1526;color:#facc15}.stat-info{min-width:0}.search-progress-container{margin-bottom:var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--glass-bg);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-radius:var(--radius-lg);border:1px solid var(--glass-border);animation:fadeInUp .3s ease}.search-progress-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm);font-size:.8rem;color:var(--text-secondary)}.search-progress-info .flight-count{display:flex;align-items:center;gap:var(--space-xs);color:var(--accent);font-weight:600}.search-progress-info .flight-count svg{animation:pulse 1s ease-in-out infinite}.search-progress-track{width:100%;height:4px;background:var(--bg-elevated);border-radius:2px;overflow:hidden;position:relative}.search-progress-fill{height:100%;background:linear-gradient(90deg,var(--frontier-green),var(--frontier-green-light));border-radius:2px;transition:width .4s ease;position:relative}.search-progress-fill:after{content:"";position:absolute;right:0;top:-2px;bottom:-2px;width:20px;background:var(--frontier-green-light);border-radius:2px;box-shadow:0 0 10px var(--frontier-green),0 0 20px var(--frontier-green-glow);animation:pulseGlow 1.5s ease-in-out infinite}@keyframes pulseGlow{0%,to{opacity:.6}50%{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.app-footer{margin-top:var(--space-3xl);position:relative;padding:var(--space-xl) 0 var(--space-lg);border-top:1px solid var(--border)}.footer-content{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-md);font-size:.8rem;color:var(--text-muted)}.footer-brand{display:flex;align-items:center;gap:var(--space-sm);font-weight:600;color:var(--text-secondary)}.footer-plane{color:var(--accent);animation:floatPlane 3s ease-in-out infinite}@keyframes floatPlane{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(5deg)}}.footer-info{display:flex;align-items:center;gap:var(--space-sm)}.footer-info a{color:var(--accent);text-decoration:none;transition:var(--transition-base)}.footer-info a:hover{color:var(--accent-hover);text-decoration:underline}.footer-divider{opacity:.3}.footer-shortcuts{display:flex;gap:var(--space-md)}.shortcut-hint{display:flex;align-items:center;gap:var(--space-xs);font-size:.75rem;color:var(--text-muted)}kbd{display:inline-block;padding:2px 6px;font-size:.7rem;font-family:Space Grotesk,monospace;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 1px 0 var(--border-strong);color:var(--text-secondary)}.footer-wave{position:absolute;bottom:0;left:0;right:0;height:20px;color:var(--bg-primary);opacity:.5;pointer-events:none}.footer-wave svg{width:100%;height:100%}.toast-container{position:fixed;bottom:var(--space-xl);right:var(--space-xl);z-index:9999;display:flex;flex-direction:column;gap:var(--space-sm);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-lg);font-size:.85rem;font-weight:500;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-xl);pointer-events:auto;min-width:260px;max-width:400px}.toast-enter{animation:toastSlideIn .3s cubic-bezier(.34,1.56,.64,1) forwards}.toast-exit{animation:toastSlideOut .3s ease forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(60px) scale(.92)}}.toast-success{background:#22c55e26;border-color:#22c55e4d;color:#4ade80}.toast-error{background:#ef444426;border-color:#ef44444d;color:#f87171}.toast-info{background:#38bdf826;border-color:#38bdf84d;color:#7dd3fc}.toast-icon{flex-shrink:0}.toast-message{flex:1}.toast-close{background:none;border:none;cursor:pointer;color:inherit;opacity:.6;padding:2px;transition:var(--transition-base);flex-shrink:0}.toast-close:hover{opacity:1}@media print{body:before,body:after{display:none}.header-actions,.filter-bar,.alerts-section,.btn-book{display:none}.flight-card{break-inside:avoid;box-shadow:none;border:1px solid #ddd}}@media (max-width: 768px){.footer-content{flex-direction:column;text-align:center;gap:var(--space-sm)}.footer-shortcuts{justify-content:center}.toast-container{left:var(--space-md);right:var(--space-md);bottom:var(--space-md)}.toast{min-width:unset;width:100%}.search-progress-container{padding:var(--space-sm) var(--space-md)}}
