:root{--color-bg-primary: #0f0f23;--color-bg-secondary: #1a1a2e;--color-bg-card: rgba(30, 30, 50, .8);--color-bg-hover: rgba(50, 50, 80, .6);--color-accent: #6366f1;--color-accent-primary: #6366f1;--color-accent-secondary: #8b5cf6;--color-accent-glow: rgba(99, 102, 241, .3);--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--color-info: #3b82f6;--color-text-primary: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-border: rgba(148, 163, 184, .1);--color-border-hover: rgba(148, 163, 184, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px var(--color-accent-glow);--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--backdrop-blur: blur(12px);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-8: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace}*{margin:0;padding:0;box-sizing:border-box}html{font-size:13px}body{font-family:var(--font-sans);background:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;min-height:100vh}body:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at 20% 0%,rgba(99,102,241,.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(139,92,246,.1) 0%,transparent 50%);pointer-events:none;z-index:-1}#root{min-height:100vh}.app-container{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--glass-bg);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);border-right:1px solid var(--glass-border);padding:var(--space-3);padding-bottom:var(--space-2);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;box-sizing:border-box;z-index:100;overflow-x:clip;overflow-y:hidden;transition:width .2s ease}.sidebar.collapsed{width:60px;padding:var(--space-3)}.sidebar-toggle{position:fixed;top:50%;left:220px;transform:translateY(-50%);width:12px;height:48px;background:var(--color-bg-secondary);border:1px solid var(--glass-border);border-left:none;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;z-index:101;transition:left .2s ease,background .2s,color .2s;padding:0}.sidebar-toggle:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.sidebar-toggle.collapsed{left:60px}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.sidebar.collapsed .sidebar-nav{overflow:visible}.main-content{flex:1;margin-left:220px;padding:var(--space-5);min-height:100vh;transition:margin-left .2s ease}.sidebar.collapsed+.main-content,.sidebar.collapsed~.main-content{margin-left:60px}.page-header{margin-bottom:var(--space-6)}.page-header h1{font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,var(--color-text-primary),var(--color-accent-secondary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:var(--space-2)}.page-header p{color:var(--color-text-secondary)}.logo{display:flex;align-items:center;padding-bottom:var(--space-3);padding-top:var(--space-2);margin-bottom:var(--space-3);border-bottom:1px solid var(--color-border);position:relative;transition:justify-content 0s linear .2s}.sidebar-giant-x{position:absolute;top:20%;right:-30%;transform:translateY(-50%);font-size:900px;font-weight:700;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.02em;color:#00d4ff;opacity:.04;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;line-height:.8;text-shadow:0 0 80px rgba(0,212,255,.3)}.logo-icon{width:42px;height:42px;background:linear-gradient(135deg,var(--color-accent-primary),var(--color-accent-secondary));border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.25rem;box-shadow:var(--shadow-glow)}.logo-mark{width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.logo-x-glow{font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,#00d4ff,#00a8cc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 20px rgba(0,212,255,.5);filter:drop-shadow(0 0 8px rgba(0,212,255,.4))}.logo-text{font-size:1.1rem;font-weight:700;letter-spacing:-.02em;z-index:1;display:flex;align-items:baseline;white-space:nowrap;opacity:1;position:absolute;left:calc(36px + var(--space-3));transform:translate(0);transition:opacity .2s ease,transform .2s ease}.logo-e{color:var(--color-text-secondary);font-weight:400}.logo-X{background:linear-gradient(135deg,#00d4ff,#00a8cc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:800;font-size:1.25rem}.logo-rest{color:var(--color-text-primary);font-weight:500}.sidebar.collapsed .logo{padding-bottom:var(--space-3);margin-bottom:var(--space-3);justify-content:center}.sidebar.collapsed .logo-text{opacity:0;transform:translate(-10px);pointer-events:none}.sidebar.collapsed .logo-mark{width:40px;height:40px}.sidebar.collapsed .logo-x-glow{font-size:1.75rem}.sidebar.collapsed .sidebar-giant-x{display:none}.sidebar.collapsed .nav-item{padding:var(--space-3);justify-content:center}.sidebar.collapsed .nav-label{opacity:0;transform:translate(-10px);pointer-events:none}.sidebar.collapsed .sidebar-footer{padding-top:var(--space-3)}.sidebar.collapsed .tenant-name,.sidebar.collapsed .user-email{opacity:0;max-height:0;padding:0}.sidebar.collapsed .logout-btn{padding:var(--space-2);font-size:0}.sidebar.collapsed .logout-btn:before{content:"⏻";font-size:1rem}.nav-menu{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);position:relative;z-index:1}.nav-item{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;transition:padding .2s ease,justify-content 0s linear .2s,background .15s,color .15s;font-weight:500;overflow:hidden;position:relative}.nav-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.nav-item.active{background:linear-gradient(135deg,#6366f133,#8b5cf626);color:var(--color-accent-primary);border:1px solid rgba(99,102,241,.3)}.nav-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-icon .icon{width:18px;height:18px}.nav-label{white-space:nowrap;opacity:1;position:absolute;left:calc(var(--space-4) + 20px + var(--space-3));transform:translate(0);transition:opacity .2s ease,transform .2s ease}.icon{display:inline-block;vertical-align:middle;flex-shrink:0}.icon-sm{width:14px;height:14px}.icon-md{width:18px;height:18px}.icon-lg{width:24px;height:24px}.icon-success{color:var(--color-success)}.icon-warning{color:var(--color-warning)}.icon-danger{color:var(--color-danger)}.icon-info{color:var(--color-info)}.sidebar-footer{margin-top:auto;padding-top:var(--space-3);padding-bottom:var(--space-2);border-top:1px solid var(--color-border);position:relative;z-index:1;flex-shrink:0}.user-menu{display:flex;flex-direction:column;gap:var(--space-1)}.tenant-name{font-weight:600;color:var(--color-text-primary);font-size:.8rem;padding:var(--space-1) 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:1;max-height:2em;transition:opacity .15s ease,max-height .15s ease}.user-info{display:flex;flex-direction:column;gap:var(--space-1)}.user-email{color:var(--color-text-secondary);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:1;max-height:2em;transition:opacity .15s ease,max-height .15s ease}.logout-btn{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;transition:all .2s;text-align:center;margin-top:var(--space-1)}.logout-btn:hover{background:#ef44441a;border-color:#ef444480;color:#ef4444}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.stat-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-4);transition:var(--transition-base);display:flex;flex-direction:column;justify-content:center}.stat-card:hover{border-color:var(--color-border-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-card.success{border-left:3px solid var(--color-success)}.stat-card.warning{border-left:3px solid var(--color-warning)}.stat-card.info{border-left:3px solid var(--color-info)}.stat-card.danger{border-left:3px solid var(--color-danger)}.stat-card.clickable{cursor:pointer}.stat-card.clickable.active{border-color:var(--color-accent);box-shadow:0 0 20px #6366f14d;background:#6366f11a}.stat-value{font-size:2rem;font-weight:700;line-height:1.2;margin-bottom:var(--space-1)}.stat-label{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.category-tabs{display:flex;gap:var(--space-2);background:var(--glass-bg);padding:var(--space-2);border-radius:var(--radius-lg);margin-bottom:var(--space-5);border:1px solid var(--glass-border)}.category-tab{padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:var(--transition-fast);background:transparent;border:none;color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--space-2)}.category-tab:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.category-tab.active{background:var(--color-accent-primary);color:#fff;box-shadow:var(--shadow-glow)}.category-tab .count{background:#fff3;padding:2px 8px;border-radius:var(--radius-full);font-size:.75rem}.table-container{background:var(--glass-bg);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden}.table-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);gap:var(--space-4);flex-wrap:wrap}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.toolbar-right.scrape-actions{background:#6366f114;border:1px solid rgba(99,102,241,.2);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.toolbar-separator{width:1px;height:24px;background:var(--color-border);margin:0 var(--space-2)}.table-search{display:flex;align-items:center;gap:var(--space-3);background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);transition:var(--transition-fast)}.table-search:focus-within{border-color:var(--color-accent-primary);box-shadow:0 0 0 3px var(--color-accent-glow)}.table-search input{background:transparent;border:none;color:var(--color-text-primary);font-size:.875rem;outline:none;width:200px}.table-search input::placeholder{color:var(--color-text-muted)}table{width:100%;border-collapse:collapse}thead{background:#0003}th{text-align:left;padding:var(--space-4) var(--space-5);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--transition-fast)}th:hover{color:var(--color-text-primary)}th.sorted{color:var(--color-accent-primary)}td{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);font-size:.9rem}tr{transition:var(--transition-fast)}tbody tr:hover{background:var(--color-bg-hover)}.airport-code{font-family:var(--font-mono);font-weight:600;color:var(--color-accent-primary);font-size:.9rem}.airport-name{color:var(--color-text-primary);font-weight:500}.airport-city{color:var(--color-text-secondary);font-size:.8rem}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge-success{background:#10b98126;color:var(--color-success)}.badge-warning{background:#f59e0b26;color:var(--color-warning)}.badge-info{background:#3b82f626;color:var(--color-info)}.badge-danger{background:#ef444426;color:var(--color-danger)}.rank{font-weight:700;font-size:1rem}.rank.first{color:var(--color-success)}.rank.second{color:var(--color-warning)}.rank.other{color:var(--color-text-secondary)}.listing-title{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.85rem;color:var(--color-text-secondary)}.per-type-ranks{display:flex;flex-wrap:wrap;gap:4px}.rank-badge{display:inline-block;font-size:.75rem;font-weight:600;padding:2px 6px;border-radius:var(--radius-sm);background:var(--color-bg-secondary);white-space:nowrap}.rank-badge.first{color:var(--color-success);background:#10b98126}.rank-badge.other{color:var(--color-warning);background:#f59e0b26}.stat-card .per-type-ranks{gap:6px}.stat-card .rank-badge{font-size:1rem;padding:4px 10px}.toggle{position:relative;width:32px;height:16px;background:#1e1e32e6;border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast);border:1px solid rgba(100,100,130,.25)}.toggle:hover{border-color:#64648266}.toggle.active{background:#6366f180;border-color:#6366f166}.toggle:after{content:"";position:absolute;width:12px;height:12px;background:var(--color-text-secondary);border-radius:50%;top:1px;left:1px;transition:var(--transition-fast);box-shadow:none}.toggle.active:after{left:calc(100% - 13px);background:var(--color-text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-weight:600;font-size:.875rem;cursor:pointer;transition:var(--transition-fast);border:none;outline:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--color-accent-primary),var(--color-accent-secondary));color:#fff;box-shadow:var(--shadow-glow)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.btn-secondary{background:var(--glass-bg);color:var(--color-text-primary);border:1px solid var(--glass-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-hover)}.btn-warning{background:var(--color-warning);color:#000}.btn-warning:hover:not(:disabled){background:#e69100;transform:translateY(-1px)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:.75rem}.btn-icon{width:32px;height:32px;padding:0;border-radius:var(--radius-md)}.btn-link{background:none;border:none;color:var(--color-accent);cursor:pointer;font-size:.875rem;padding:var(--space-2) var(--space-3);transition:var(--transition-base)}.btn-link:hover{color:var(--color-accent-secondary);text-decoration:underline}.table-actions{display:flex;align-items:center;gap:var(--space-3)}.view-toggle{display:flex;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);overflow:hidden}.view-toggle-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:1rem;padding:var(--space-2) var(--space-3);transition:var(--transition-base)}.view-toggle-btn:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.view-toggle-btn.active{color:var(--color-accent);background:#6366f126}.sort-dropdown{display:flex;align-items:center;gap:var(--space-2)}.sort-dropdown label{color:var(--color-text-secondary);font-size:.875rem;white-space:nowrap}.sort-dropdown select{background:var(--color-bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);padding:var(--space-2) var(--space-3);cursor:pointer;font-size:.875rem;min-width:140px}.sort-dropdown select option{background:var(--color-bg-secondary);color:var(--color-text-primary);padding:var(--space-2)}.sort-dropdown select:hover{border-color:var(--color-border-hover)}.sort-dropdown select:focus{outline:none;border-color:var(--color-accent-primary)}.sort-direction-btn{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-primary);padding:var(--space-2);cursor:pointer;min-width:32px;font-size:1rem;transition:var(--transition-fast)}.sort-direction-btn:hover{border-color:var(--color-border-hover);background:var(--color-bg-hover)}.airport-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-3);padding:var(--space-3)}.airport-tile{background:linear-gradient(145deg,#141423e6,#0f0f19f2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-lg);padding:var(--space-3);transition:all .3s ease;display:flex;flex-direction:column;gap:var(--space-2);min-height:220px;position:relative;overflow:hidden}.airport-tile:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--tile-accent-color, rgba(0, 212, 255, .5)),transparent);opacity:0;transition:opacity .3s ease}.airport-tile:hover{border-color:#ffffff1f;transform:translateY(-4px);box-shadow:0 8px 32px #0006,0 0 20px var(--tile-glow-color, rgba(0, 212, 255, .1))}.airport-tile:hover:before{opacity:1}.airport-tile.our_service_lowest{--tile-accent-color: rgba(16, 185, 129, .8);--tile-glow-color: rgba(16, 185, 129, .15);border-left:2px solid rgba(16,185,129,.6)}.airport-tile.our_service_not_lowest{--tile-accent-color: rgba(251, 191, 36, .8);--tile-glow-color: rgba(251, 191, 36, .15);border-left:2px solid rgba(251,191,36,.6)}.airport-tile.not_scraped{--tile-accent-color: rgba(59, 130, 246, .8);--tile-glow-color: rgba(59, 130, 246, .15);border-left:2px solid rgba(59,130,246,.4)}.airport-tile.has_absent_listings{--tile-accent-color: rgba(239, 68, 68, .8);--tile-glow-color: rgba(239, 68, 68, .15);border-left:2px solid rgba(239,68,68,.6)}.tile-header{display:flex;justify-content:space-between;align-items:center}.tile-header .airport-code{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#00d4ff,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.tile-name{border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:var(--space-3)}.tile-name .airport-name{font-weight:600;color:#f1f5f9}.tile-name .airport-city{font-size:.875rem;color:#94a3b8}.not-lowest-summary{font-size:.7rem;color:#fbbf24;background:#fbbf241a;padding:4px 10px;border-radius:6px;margin-bottom:var(--space-2);border:1px solid rgba(251,191,36,.2)}.expected-types-badges{display:flex;gap:6px;flex-wrap:wrap;margin:var(--space-2) 0}.type-badge{font-size:.65rem;padding:3px 10px;border-radius:20px;font-weight:500;letter-spacing:.02em;border:1px solid transparent}.type-badge.found{background:#10b9811f;color:#34d399;border-color:#10b98140}.type-badge.missing{background:#ef44441f;color:#f87171;border-color:#ef444440}.expected-types-badges.detail-header-badges{margin:0;margin-left:var(--space-3)}.detail-header-badges .type-badge{font-size:.8rem;padding:3px 10px}.tile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);text-align:center;background:#0003;border-radius:8px;padding:var(--space-2)}.tile-stat{display:flex;flex-direction:column;gap:var(--space-1)}.tile-stat-label{font-size:.65rem;color:#64748b;text-transform:uppercase;letter-spacing:.08em}.tile-stat .rank{font-size:1.1rem;font-weight:600}.tile-stat .price{font-size:.95rem;color:#94a3b8}.tile-toggles{display:flex;justify-content:center;gap:var(--space-5);padding:var(--space-2) 0;border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04);margin-top:auto}.tile-toggle-item{display:flex;align-items:center;gap:6px}.tile-toggle-label{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.tile-actions{display:flex;justify-content:center;gap:var(--space-2);padding-top:var(--space-1)}.tile-actions .btn{flex:1}.actions-cell{display:flex;gap:var(--space-2);flex-wrap:wrap}.price{font-family:var(--font-mono);font-weight:600}.price.our-price{color:var(--color-success)}.price.market-price{color:var(--color-text-secondary)}.price-comparison{display:flex;flex-direction:column;gap:var(--space-1)}.price-row{display:flex;align-items:center;gap:var(--space-2)}.price-label{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase}.loading{display:flex;align-items:center;justify-content:center;padding:var(--space-8)}.spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}.empty-state{text-align:center;padding:var(--space-8);color:var(--color-text-secondary)}.empty-state-icon{font-size:3rem;margin-bottom:var(--space-4);opacity:.5}.form-group{margin-bottom:var(--space-4)}.form-label{display:block;margin-bottom:var(--space-2);font-weight:500;font-size:.875rem;color:var(--color-text-secondary)}.form-input{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.9rem;transition:var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px var(--color-accent-glow)}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:var(--transition-base)}.modal-overlay.open{opacity:1;visibility:visible}.modal{background:var(--color-bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-6);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;transform:scale(.95);transition:var(--transition-base)}.modal-overlay.open .modal{transform:scale(1)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.modal-title{font-size:1.25rem;font-weight:600}.modal-close{background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:1.5rem;padding:var(--space-2);transition:var(--transition-fast)}.modal-close:hover{color:var(--color-text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.mt-4{margin-top:var(--space-4)}.mb-4{margin-bottom:var(--space-4)}.text-sm{font-size:.875rem}.text-muted{color:var(--color-text-secondary)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.detail-page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-5);gap:var(--space-4);flex-wrap:wrap}.back-button{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:var(--transition-fast);background:transparent;border:none;font-size:.9rem;margin-bottom:var(--space-3)}.back-button:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.detail-airport-title{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.detail-airport-title h1{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0}.airport-code-large{font-size:2rem;font-weight:700;color:var(--color-accent-primary);font-family:var(--font-mono)}.detail-actions{display:flex;gap:var(--space-4);align-items:center;flex-wrap:wrap}.detail-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}@media(max-width:900px){.detail-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.detail-stats-grid{grid-template-columns:1fr}}.detail-section{margin-bottom:var(--space-6)}.detail-section-title{font-size:1.1rem;font-weight:600;color:var(--color-text-primary)}.detail-subsection{padding:var(--space-3);border-top:1px solid var(--color-border)}.detail-subsection:first-of-type{border-top:none}.subsection-title{font-size:.95rem;font-weight:600;color:var(--color-text-secondary);margin:0 0 var(--space-2) 0}.collapsible-header{cursor:pointer;-webkit-user-select:none;user-select:none}.collapsible-header:hover{background:var(--color-bg-hover)}.collapsible-title{display:flex;align-items:center;gap:var(--space-2)}.collapse-icon{font-size:.7rem;color:var(--color-text-secondary);transition:transform var(--transition-fast)}.collapse-icon.expanded{transform:rotate(90deg)}.clickable-row{cursor:pointer;transition:var(--transition-fast)}.clickable-row:hover{background:var(--color-bg-hover)!important}.clickable-row.our_service_lowest{border-left:3px solid var(--color-success)}.clickable-row.our_service_not_lowest{border-left:3px solid var(--color-warning)}.clickable-row.not_scraped{border-left:3px solid var(--color-info)}.clickable-row.has_absent_listings{border-left:3px solid var(--color-danger)}.airport-tile.clickable{cursor:pointer}.airport-tile.clickable:hover{transform:translateY(-6px);box-shadow:0 12px 40px #00000080,0 0 30px var(--tile-glow-color, rgba(0, 212, 255, .15))}.airport-tile.clickable:hover:before{opacity:1}.airport-tile.clickable:active{transform:translateY(-2px)}.our-company-row{background:#10b9811a}.our-company-row:hover{background:#10b98126!important}.destinations-list{max-height:200px;overflow-y:auto;padding:var(--space-3)}.destination-item{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.destination-item:last-child{border-bottom:none}.pricing-table{width:100%}.pricing-table .our-company-row td{font-weight:500}.vehicle-type-tabs{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);overflow-x:auto;flex-wrap:wrap}.vehicle-type-tab{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:500;font-size:.875rem;cursor:pointer;transition:var(--transition-fast);background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--space-2);white-space:nowrap}.vehicle-type-tab:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-accent-primary)}.vehicle-type-tab.active{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary)}.vehicle-type-tab .count{background:#fff3;padding:2px 8px;border-radius:var(--radius-full);font-size:.75rem}.vehicle-type-tab:not(.active) .count{background:var(--color-bg-secondary)}.category-rank-summary{padding:var(--space-3) var(--space-4);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);font-size:.9rem}.category-rank-summary .rank{margin-left:var(--space-2);margin-right:var(--space-1)}.clear-data-dropdown{position:relative}.clear-data-dropdown:hover .clear-data-menu,.clear-data-dropdown:focus-within .clear-data-menu{display:block}.clear-data-menu{display:none;position:absolute;top:calc(100% - 2px);right:0;padding-top:6px;z-index:100;min-width:180px}.clear-data-menu-inner{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden}.clear-data-item{display:block;width:100%;padding:var(--space-3) var(--space-4);text-align:left;background:var(--color-bg-secondary);border:none;color:var(--color-danger);cursor:pointer;font-size:.875rem;transition:var(--transition-fast)}.clear-data-item:hover{background:#ef44441a}.clear-data-item:not(:last-child){border-bottom:1px solid var(--color-border)}.zone-hierarchy{padding:var(--space-3)}.zone-section{margin-bottom:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.zone-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-tertiary);cursor:pointer;transition:var(--transition-fast)}.zone-header:hover{background:var(--glass-hover)}.zone-header.has-warning{background:#ffaa001a}.zone-header.has-missing{background:#ef44441a}.zone-header .expand-icon{font-size:.75rem;color:var(--color-text-muted)}.zone-header .zone-name{font-weight:600;color:var(--color-text-primary)}.zone-header .zone-count{color:var(--color-text-muted);font-size:.875rem}.zone-header .zone-warning{margin-left:auto;color:var(--color-warning)}.zone-header .zone-missing{margin-left:auto;color:var(--color-danger)}.zone-content{padding:var(--space-2)}.dest-section{margin-bottom:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.dest-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg-secondary);cursor:pointer;font-size:.875rem}.dest-header:hover{background:var(--glass-hover)}.dest-header.has-warning{background:#ffaa000d}.dest-header.has-missing{background:#ef44440d}.dest-header .expand-icon{font-size:.65rem;color:var(--color-text-muted)}.dest-header .dest-name{flex:1;font-weight:500}.dest-header .dest-name .expedia-link{margin-left:6px;font-size:.8em;color:var(--color-info);text-decoration:none;opacity:.7;transition:opacity .2s}.dest-header .dest-name .expedia-link:hover{opacity:1;text-decoration:underline}.dest-header .dest-delete-btn{margin-left:auto;padding:2px 8px;background:transparent;border:1px solid var(--color-danger);color:var(--color-danger);border-radius:var(--radius-sm);cursor:pointer;font-size:1rem;line-height:1;opacity:.5;transition:opacity .2s,background .2s}.dest-header .dest-delete-btn:hover{opacity:1;background:var(--color-danger);color:#fff}.dest-header .dest-types{color:var(--color-text-muted);font-size:.75rem}.dest-header .dest-warning{color:var(--color-warning);font-size:.75rem;font-weight:600}.dest-header .dest-missing{color:var(--color-danger);font-size:.75rem;font-weight:600}.dest-content{padding:var(--space-2);background:var(--color-bg-primary)}.vtype-section{margin-bottom:var(--space-3)}.vtype-section:last-child{margin-bottom:0}.vtype-header{font-weight:600;font-size:.8rem;color:var(--color-accent);padding:var(--space-1) var(--space-2);background:#6366f11a;border-radius:var(--radius-sm);margin-bottom:var(--space-2);display:flex;align-items:center;gap:var(--space-2)}.vtype-header.has-warning{color:var(--color-warning);background:#ffaa001a}.vtype-header.has-missing{color:var(--color-danger);background:#ef44441a}.vtype-missing-badge,.vtype-rank-badge{margin-left:auto;font-size:.7rem;padding:1px 6px;border-radius:3px}.vtype-missing-badge{background:#ef444426;color:var(--color-danger)}.vtype-rank-badge{background:#ffaa0026;color:var(--color-warning)}.zone-results-table{width:100%;font-size:.8rem;border-collapse:collapse;table-layout:fixed}.zone-results-table th:nth-child(1),.zone-results-table td:nth-child(1){width:8%}.zone-results-table th:nth-child(2),.zone-results-table td:nth-child(2){width:22%}.zone-results-table th:nth-child(3),.zone-results-table td:nth-child(3){width:30%}.zone-results-table th:nth-child(4),.zone-results-table td:nth-child(4){width:20%}.zone-results-table th:nth-child(5),.zone-results-table td:nth-child(5){width:20%}.zone-results-table th,.zone-results-table td{padding:var(--space-1) var(--space-2);text-align:left;border-bottom:1px solid var(--color-border)}.zone-results-table th{color:var(--color-text-muted);font-weight:500;font-size:.7rem;text-transform:uppercase}.zone-results-table tr.is-our-company{background:#22c55e1a}.zone-results-table tr.is-our-company td{font-weight:600}.zone-results-table .rank.first{color:var(--color-success);font-weight:700}.zone-results-table .listing-cell{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.85rem;color:var(--color-text-muted)}.scrape-dropdown{position:relative}.scrape-dropdown:hover .scrape-dropdown-menu,.scrape-dropdown:focus-within .scrape-dropdown-menu{display:block}.scrape-dropdown-menu{display:none;position:absolute;top:calc(100% - 2px);right:0;padding-top:6px;z-index:100;min-width:200px}.scrape-dropdown-menu-inner{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden}.scrape-dropdown-item{display:block;width:100%;padding:var(--space-3) var(--space-4);text-align:left;background:var(--color-bg-secondary);border:none;color:var(--color-text-primary);cursor:pointer;font-size:.875rem;transition:var(--transition-fast)}.scrape-dropdown-item:hover:not(:disabled){background:#6366f11a;color:var(--color-accent)}.scrape-dropdown-item:disabled{color:var(--color-text-muted);cursor:not-allowed}.scrape-dropdown-item:not(:last-child){border-bottom:1px solid var(--color-border)}.priority-star{background:transparent;border:none;cursor:pointer;font-size:1rem;padding:6px;color:#94a3b866;transition:all .25s ease;line-height:1;border-radius:6px;position:relative}.priority-star:hover{color:#fbbf24cc;background:#fbbf241a;transform:scale(1.1)}.priority-star.active{color:#fbbf24;text-shadow:0 0 12px rgba(251,191,36,.6),0 0 24px rgba(251,191,36,.3);animation:starPulse 2s ease-in-out infinite}@keyframes starPulse{0%,to{text-shadow:0 0 12px rgba(251,191,36,.6),0 0 24px rgba(251,191,36,.3)}50%{text-shadow:0 0 16px rgba(251,191,36,.8),0 0 32px rgba(251,191,36,.5)}}.toggle-switch{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;padding:.3rem .5rem;border-radius:var(--radius-sm);transition:background-color .15s}.toggle-switch:hover{background-color:var(--color-bg-hover)}.toggle-switch input[type=checkbox]{display:none}.toggle-slider{position:relative;width:32px;height:18px;background-color:var(--color-border);border-radius:9px;transition:background-color .2s;flex-shrink:0}.toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background-color:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-slider{background-color:var(--color-primary)}.toggle-switch input:checked+.toggle-slider:after{transform:translate(14px)}.toggle-switch span:last-child{white-space:nowrap}.minimized-checkbox{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;padding:.4rem .6rem;border-radius:var(--radius-sm);transition:background-color .15s}.minimized-checkbox:hover{background-color:var(--color-bg-hover)}.minimized-checkbox input[type=checkbox]{width:1rem;height:1rem;cursor:pointer;accent-color:var(--color-primary)}.scrape-all-dropdown{position:relative}.scrape-all-dropdown:hover .scrape-all-menu,.scrape-all-dropdown:focus-within .scrape-all-menu{display:block}.scrape-all-menu{display:none;position:absolute;top:calc(100% - 2px);right:0;padding-top:6px;z-index:100;min-width:160px}.scrape-all-menu-inner{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden}.scrape-all-item{display:block;width:100%;padding:var(--space-3) var(--space-4);text-align:left;background:var(--color-bg-secondary);border:none;color:var(--color-text-primary);cursor:pointer;font-size:.875rem;transition:var(--transition-fast)}.scrape-all-item:hover{background:var(--color-bg-hover)}.scrape-all-item:not(:last-child){border-bottom:1px solid var(--color-border)}.scrape-all-item:disabled{opacity:.5;cursor:not-allowed}.scrape-all-section-label{padding:var(--space-2) var(--space-4);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);background:var(--color-bg-tertiary)}.scrape-all-divider{height:1px;background:var(--color-border);margin:var(--space-2) 0}.scrape-status-bar{background:var(--color-bg-card);border:1px solid var(--color-border);border-left:3px solid var(--color-info);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-5);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur)}.scrape-status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.scrape-status-title{display:flex;align-items:center;gap:var(--space-2);font-weight:600;color:var(--color-text-primary)}.scrape-status-indicator{width:10px;height:10px;border-radius:50%;animation:pulse 1.5s infinite}.scrape-status-indicator.running{background-color:var(--color-info);box-shadow:0 0 8px var(--color-info)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.scrape-status-jobs{display:flex;flex-direction:column;gap:var(--space-2)}.scrape-job-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);background:var(--color-bg-secondary);border-radius:var(--radius-sm);border-left:3px solid transparent}.scrape-job-item.status-running{border-left-color:var(--color-info)}.scrape-job-item.status-paused{border-left-color:var(--color-warning)}.scrape-job-item.status-pending{border-left-color:var(--color-text-muted)}.scrape-job-info{display:flex;align-items:center;gap:var(--space-3)}.scrape-job-airport{font-family:var(--font-mono);font-weight:700;color:var(--color-accent-primary);min-width:50px}.scrape-job-name{color:var(--color-text-secondary);font-size:.9rem;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scrape-job-actions{display:flex;gap:var(--space-2)}.scrape-job-actions .btn{min-width:70px}.scrape-jobs-panel{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-5);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur)}.scrape-jobs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);flex-wrap:wrap;gap:var(--space-3)}.scrape-jobs-title{display:flex;align-items:center;gap:var(--space-2)}.scrape-jobs-title h3{margin:0;font-size:1rem;font-weight:600}.server-busy-indicator{font-size:.75rem;color:var(--color-warning);background:#f59e0b26;padding:2px 8px;border-radius:var(--radius-full);animation:pulse-busy 1.5s ease-in-out infinite}@keyframes pulse-busy{0%,to{opacity:.7}50%{opacity:1}}.scrape-jobs-summary{color:var(--color-text-secondary);font-size:.9rem}.scrape-jobs-actions{display:flex;gap:var(--space-2)}.scrape-jobs-hierarchy{display:flex;flex-direction:column;gap:var(--space-2)}.scrape-airport-section{border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.scrape-airport-section.status-running{border-left:3px solid var(--color-info)}.scrape-airport-section.status-completed{border-left:3px solid var(--color-success)}.scrape-airport-section.status-failed{border-left:3px solid var(--color-danger)}.scrape-airport-section.status-partial,.scrape-airport-section.status-paused{border-left:3px solid var(--color-warning)}.scrape-airport-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--color-bg-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast)}.scrape-airport-header:hover{background:var(--color-bg-hover)}.scrape-airport-header.is-running{font-weight:700}.scrape-airport-header .expand-icon{font-size:.75rem;color:var(--color-text-muted);width:12px}.scrape-airport-header .airport-code{font-family:var(--font-mono);font-weight:700;color:var(--color-accent-primary);min-width:50px}.scrape-airport-header .airport-name{color:var(--color-text-secondary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scrape-airport-header .airport-progress{color:var(--color-text-muted);font-size:.85rem}.scrape-zones-container{padding-left:var(--space-4);position:relative;min-height:28px}.scrape-zones-container .loading-indicator,.scrape-destinations-container .loading-indicator{position:absolute;top:var(--space-1);left:var(--space-4);padding:var(--space-2) var(--space-3);color:var(--color-text-muted);font-size:.85rem;font-style:italic;pointer-events:none}.scrape-destinations-container{position:relative;min-height:24px}.scrape-zone-section{border-left:1px solid var(--color-border);margin-left:var(--space-3)}.scrape-zone-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast)}.scrape-zone-header:hover{background:var(--color-bg-hover)}.scrape-zone-header.is-running{font-weight:700}.scrape-zone-header .expand-icon{font-size:.7rem;color:var(--color-text-muted);width:12px}.scrape-zone-header .zone-code{color:var(--color-text-secondary);font-size:.9rem}.scrape-zone-header .zone-progress{color:var(--color-text-muted);font-size:.8rem}.scrape-destinations-container{padding-left:var(--space-6);margin-left:var(--space-4);padding-bottom:var(--space-2);border-left:2px solid var(--color-border)}.scrape-destination-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);font-size:.85rem;color:var(--color-text-secondary)}.scrape-destination-item.is-running{font-weight:700;color:var(--color-text-primary)}.scrape-destination-item .destination-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px}.scrape-destination-item .trip-type-label{font-size:.7rem;font-weight:600;color:var(--color-accent-primary);margin-right:4px;opacity:.8}.scrape-destination-item .destination-results{font-size:.75rem;color:var(--color-text-muted);background:var(--color-bg-secondary);padding:1px 6px;border-radius:var(--radius-sm)}.scrape-destination-item .destination-error{font-size:.75rem;color:var(--color-danger);cursor:help}.scrape-destination-item .destination-rerun{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:.875rem;padding:0 .25rem;margin-left:.25rem}.scrape-destination-item .destination-rerun:hover{color:var(--color-primary-dark, #2563eb)}.status-icon{width:18px;text-align:center;font-size:.9rem}.status-icon.success{color:var(--color-success)}.status-icon.failed{color:var(--color-danger)}.status-icon.running{color:var(--color-info);animation:pulse 1s infinite}.status-icon.pending{color:var(--color-text-muted)}.status-icon.paused,.status-icon.partial{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.booking-type-tabs{display:flex;gap:var(--space-1);margin-left:auto}.booking-type-tabs .tab-btn{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:pointer;font-size:.8rem;font-weight:500;transition:all var(--transition-fast);white-space:nowrap}.booking-type-tabs .tab-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover);color:var(--color-text-primary)}.booking-type-tabs .tab-btn.active{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary)}.booking-type-tabs .tab-btn{position:relative}.booking-type-tabs .tab-btn.has-warning{border-color:var(--color-warning);border-width:2px}.booking-type-tabs .tab-btn.has-warning.active{border-color:var(--color-accent-primary)}.booking-type-tabs .tab-btn.has-missing{border-color:var(--color-danger);border-width:2px}.booking-type-tabs .tab-btn.has-missing.active{border-color:var(--color-danger)}.tab-warning-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:var(--color-warning);box-shadow:0 0 4px var(--color-warning)}.tab-warning-dot.missing{background:var(--color-danger);box-shadow:0 0 4px var(--color-danger)}.booking-type-tabs .tab-btn.active .tab-warning-dot{background:#fff;box-shadow:0 0 4px #ffffff80}.booking-type-tabs .tab-btn.active .tab-warning-dot.missing{background:var(--color-danger);box-shadow:0 0 4px var(--color-danger)}.booking-type-tabs .tab-btn.no-data{opacity:.5}select.booking-type-select{padding:var(--space-2) var(--space-3);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:.875rem;cursor:pointer;margin-right:var(--space-2);min-width:160px;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}select.booking-type-select:hover{border-color:var(--color-border-hover);background-color:var(--color-bg-hover)}select.booking-type-select:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 2px var(--color-accent-glow)}select.booking-type-select option{background:var(--color-bg-secondary);color:var(--color-text-primary);padding:var(--space-2)}select.scrape-mode-select{padding:var(--space-2) var(--space-3);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:.875rem;cursor:pointer;margin-right:var(--space-2);min-width:140px;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}select.scrape-mode-select:hover{border-color:var(--color-border-hover);background-color:var(--color-bg-hover)}select.scrape-mode-select:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 2px var(--color-accent-glow)}select.scrape-mode-select option{background:var(--color-bg-secondary);color:var(--color-text-primary);padding:var(--space-2)}.zone-one-per-zone-status{display:inline-flex;align-items:center;gap:var(--space-2);margin-left:var(--space-2)}.status-icon.zone-success{color:var(--color-success)}.status-icon.zone-in-progress{color:var(--color-accent-primary)}.status-icon.zone-running{animation:pulse 1s infinite}.status-icon.zone-exhausted{color:var(--color-danger)}.zone-success-dest{color:var(--color-success);font-weight:500}.zone-in-progress-text{color:var(--color-accent-primary)}.zone-exhausted-text{color:var(--color-danger)}.zone-pending-text{color:var(--color-text-secondary)}.attempts-badge,.remaining-badge{font-size:.75em;color:var(--color-text-muted);margin-left:var(--space-1)}.text-warning{color:var(--color-warning)}.add-airport-tile{background:var(--glass-bg);border:2px dashed var(--glass-border);border-radius:var(--radius-lg);min-height:280px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-base)}.add-airport-tile:hover{border-color:var(--color-accent-primary);background:#6366f11a}.add-airport-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);color:var(--color-text-secondary)}.add-airport-content .add-icon{font-size:3rem;line-height:1;color:var(--color-accent-primary)}.add-airport-content .add-label{font-size:1rem;font-weight:500}.add-airport-row{cursor:pointer;transition:var(--transition-base)}.add-airport-row:hover{background:#6366f11a!important}.add-airport-cell{text-align:center;padding:var(--space-4)!important;color:var(--color-text-secondary);font-weight:500;border-top:1px dashed var(--glass-border)}.add-airport-cell .add-icon{display:inline-block;width:24px;height:24px;line-height:22px;text-align:center;border-radius:var(--radius-full);background:var(--color-accent-primary);color:#fff;font-size:1.2rem;margin-right:var(--space-2);vertical-align:middle}.add-airport-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.add-airport-tabs button{flex:1;padding:var(--space-3);border:1px solid var(--glass-border);background:transparent;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;transition:var(--transition-base)}.add-airport-tabs button:hover{background:#6366f11a;border-color:var(--color-accent-primary)}.add-airport-tabs button.active{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary)}.car-type-group{display:flex;gap:var(--space-4);margin:var(--space-3) 0;flex-wrap:wrap}.car-type-checkbox{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.car-type-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent-primary);cursor:pointer}.car-type-checkbox span{color:var(--color-text-primary);font-size:.9rem}.airport-form-group{margin-bottom:var(--space-4)}.airport-form-group label{display:block;margin-bottom:var(--space-2);color:var(--color-text-secondary);font-size:.9rem;font-weight:500}.airport-form-group input[type=text]{width:100%;padding:var(--space-3);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:#0003;color:var(--color-text-primary);font-size:.95rem;transition:var(--transition-base)}.airport-form-group input[type=text]:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 2px var(--color-accent-glow)}.airport-form-group input[type=text]::placeholder{color:var(--color-text-muted)}.airport-form-group .required-mark{color:var(--color-danger);margin-left:2px}.file-upload-area{border:2px dashed var(--glass-border);border-radius:var(--radius-md);padding:var(--space-6);text-align:center;cursor:pointer;transition:var(--transition-base);margin-bottom:var(--space-4)}.file-upload-area:hover{border-color:var(--color-accent-primary);background:#6366f10d}.file-upload-area p{color:var(--color-text-secondary);margin-bottom:var(--space-2)}.file-upload-area .file-hint{font-size:.8rem;color:var(--color-text-muted)}.selected-file{padding:var(--space-3);background:#6366f11a;border-radius:var(--radius-md);margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-2)}.selected-file .file-icon{font-size:1.2rem}.selected-file .file-name{flex:1;color:var(--color-text-primary);font-weight:500}.selected-file .remove-file{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm)}.selected-file .remove-file:hover{color:var(--color-danger);background:#ef44441a}.btn-icon{padding:var(--space-2)!important;min-width:36px}.modal-footer{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--glass-border)}.modal-footer-split{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--glass-border)}.btn-danger{background:var(--color-danger);color:#fff;border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:var(--transition-base)}.btn-danger:hover{background:#dc2626;box-shadow:0 0 10px #ef44444d}.admin-page .tenant-selector{margin-bottom:var(--space-5)}.tenant-selector select{min-width:250px}.permission-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-top:var(--space-4)}@media(max-width:600px){.permission-grid{grid-template-columns:1fr}}.permission-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--glass-bg);border:1px solid var(--glass-border);transition:var(--transition-fast)}.permission-item:hover{border-color:var(--color-border-hover)}.permission-item.customized{border:1px solid var(--color-warning);background:#f59e0b0d}.permission-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent-primary);cursor:pointer}.permission-item label{cursor:pointer;font-size:.875rem;color:var(--color-text-primary)}.permission-category{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--glass-border)}.permission-category:first-of-type{border-top:none;margin-top:0;padding-top:0}.permission-category-title{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.05em}.user-status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:.75rem;font-weight:500}.user-status-badge.active{background:#10b98133;color:var(--color-success)}.user-status-badge.inactive{background:#ef444433;color:var(--color-danger)}.user-status-badge.pending{background:#f59e0b33;color:var(--color-warning)}.role-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:.75rem;font-weight:500}.role-badge.admin,.role-badge.owner{background:#6366f133;color:var(--color-accent-primary)}.role-badge.member{background:#10b98133;color:var(--color-success)}.role-badge.viewer{background:#94a3b833;color:var(--color-text-secondary)}.role-badge.superuser{background:#8b5cf633;color:var(--color-accent-secondary)}.admin-users-table{width:100%}.admin-users-table th{text-align:left}.admin-users-table td{vertical-align:middle}.admin-users-table .user-name{font-weight:500;color:var(--color-text-primary)}.admin-users-table .user-email{color:var(--color-text-secondary);font-size:.85rem}.admin-users-table .last-login{color:var(--color-text-muted);font-size:.85rem}.add-user-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.add-user-tabs button{flex:1;padding:var(--space-3);border:1px solid var(--glass-border);background:transparent;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;transition:var(--transition-base)}.add-user-tabs button:hover{background:#6366f11a;border-color:var(--color-accent-primary)}.add-user-tabs button.active{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary)}.permission-section{margin-top:var(--space-4);padding:var(--space-4);background:#0003;border-radius:var(--radius-md);border:1px solid var(--glass-border)}.permission-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);cursor:pointer}.permission-section-header h4{margin:0;font-size:.9rem;color:var(--color-text-primary);display:flex;align-items:center;gap:var(--space-2)}.permission-section-header .expand-icon{font-size:.7rem;color:var(--color-text-muted);transition:transform var(--transition-fast)}.permission-section-header .expand-icon.expanded{transform:rotate(90deg)}.permission-section-header .customized-badge{font-size:.7rem;padding:2px 6px;background:#f59e0b33;color:var(--color-warning);border-radius:var(--radius-sm)}.reset-permissions-btn{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:.75rem;cursor:pointer;transition:var(--transition-fast)}.reset-permissions-btn:hover{border-color:var(--color-accent-primary);color:var(--color-accent-primary)}.modal.modal-wide{max-width:650px}.delete-confirmation{padding:var(--space-4);background:#ef44441a;border:1px solid var(--color-danger);border-radius:var(--radius-md);margin-top:var(--space-4)}.delete-confirmation p{color:var(--color-text-primary);margin-bottom:var(--space-3)}.delete-confirmation-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.user-info-section{padding:var(--space-4);background:#0003;border-radius:var(--radius-md);margin-bottom:var(--space-4)}.user-info-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--glass-border)}.user-info-row:last-child{border-bottom:none}.user-info-label{color:var(--color-text-secondary);font-size:.875rem}.user-info-value{color:var(--color-text-primary);font-weight:500}.actions-dropdown{position:relative;display:inline-block}.actions-dropdown-btn{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--color-text-secondary);padding:var(--space-2);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast)}.actions-dropdown-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.actions-dropdown-menu{display:none;position:absolute;top:100%;right:0;padding-top:4px;z-index:100;min-width:150px}.actions-dropdown:hover .actions-dropdown-menu,.actions-dropdown:focus-within .actions-dropdown-menu{display:block}.actions-dropdown-menu-inner{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden}.actions-dropdown-item{display:block;width:100%;padding:var(--space-2) var(--space-3);text-align:left;background:transparent;border:none;color:var(--color-text-primary);cursor:pointer;font-size:.85rem;transition:var(--transition-fast)}.actions-dropdown-item:hover{background:var(--color-bg-hover)}.actions-dropdown-item.danger{color:var(--color-danger)}.actions-dropdown-item.danger:hover{background:#ef44441a}.actions-dropdown-item:not(:last-child){border-bottom:1px solid var(--color-border)}.trial-banner{background:linear-gradient(90deg,#f59e0b,#d97706);color:#fff;text-align:center;padding:10px 20px;font-weight:500;font-size:.9rem;display:flex;align-items:center;justify-content:center;gap:12px;position:fixed;top:0;left:0;right:0;z-index:9998}.trial-icon{font-size:1.1rem}.trial-upgrade-link{color:#fff;text-decoration:underline;font-weight:600;margin-left:8px}.trial-upgrade-link:hover{opacity:.9}.trial-dismiss{background:transparent;border:none;color:#fff;font-size:1.4rem;cursor:pointer;padding:0 4px;margin-left:8px;opacity:.8;line-height:1}.trial-dismiss:hover{opacity:1}.trial-banner+.app-container{padding-top:44px}body:has(.trial-banner) .sidebar{top:44px;height:calc(100vh - 44px)}body:has(.trial-banner) .sidebar-toggle{top:calc(50% + 22px)}.paywall-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.paywall-modal{background:var(--color-bg-secondary);padding:48px;border-radius:16px;text-align:center;max-width:420px;border:1px solid var(--glass-border);box-shadow:0 25px 50px -12px #00000080}.paywall-icon{font-size:3rem;margin-bottom:16px}.paywall-modal h2{color:var(--color-text-primary);font-size:1.75rem;margin-bottom:12px}.paywall-modal p{color:var(--color-text-secondary);margin-bottom:8px}.paywall-subtitle{color:var(--color-text-muted)!important;font-size:.9rem;margin-bottom:24px!important}.paywall-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px}.paywall-btn{padding:14px 28px;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;text-decoration:none;display:block;border:none}.paywall-btn.primary{background:linear-gradient(135deg,var(--color-accent-primary),var(--color-accent-secondary));color:#fff}.paywall-btn.primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--color-accent-glow)}.paywall-btn.secondary{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.paywall-btn.secondary:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}:root{--landing-bg: #0a0a14;--landing-bg-alt: #0f0f1a;--landing-bg-card: rgba(20, 20, 35, .85);--landing-bg-card-hover: rgba(30, 30, 50, .9);--landing-accent: #00d4ff;--landing-accent-dim: #00a8cc;--landing-accent-glow: rgba(0, 212, 255, .2);--landing-accent-glow-strong: rgba(0, 212, 255, .4);--landing-gradient: linear-gradient(135deg, #00d4ff 0%, #6366f1 100%);--landing-text: #f1f5f9;--landing-text-muted: #94a3b8;--landing-text-dim: #64748b;--landing-border: rgba(255, 255, 255, .08);--landing-border-hover: rgba(255, 255, 255, .15);--landing-shadow: 0 4px 24px rgba(0, 0, 0, .4);--landing-shadow-glow: 0 0 40px rgba(0, 212, 255, .15);--landing-shadow-card: 0 8px 32px rgba(0, 0, 0, .3);--landing-section-gap: 6rem;--landing-container-max: 1200px;--landing-container-padding: 1.5rem;--landing-font-hero: 4rem;--landing-font-h1: 3rem;--landing-font-h2: 2.25rem;--landing-font-h3: 1.5rem;--landing-font-body: 1rem;--landing-font-small: .875rem;--landing-transition-fast: .15s ease;--landing-transition-base: .25s ease;--landing-transition-slow: .4s ease;--landing-radius-sm: 6px;--landing-radius-md: 12px;--landing-radius-lg: 20px;--landing-radius-full: 9999px}.landing-page{min-height:100vh;background:var(--landing-bg);color:var(--landing-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;overflow-x:hidden}.landing-container{max-width:var(--landing-container-max);margin:0 auto;padding:0 var(--landing-container-padding)}.landing-section{padding:var(--landing-section-gap) 0;position:relative}.grid-bg{position:fixed;inset:0;background-image:linear-gradient(rgba(0,212,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;z-index:0}.grid-bg:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(0,212,255,.08) 0%,transparent 50%)}@keyframes gridPulse{0%,to{opacity:1}50%{opacity:.7}}.grid-bg{animation:gridPulse 8s ease-in-out infinite}.grid-bg:after{content:"";position:absolute;top:20%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,rgba(99,102,241,.1) 0%,transparent 70%);pointer-events:none}.public-nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1rem 0;transition:all var(--landing-transition-base)}.public-nav.scrolled{background:#0a0a14d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--landing-border);padding:.75rem 0}.nav-inner{max-width:var(--landing-container-max);margin:0 auto;padding:0 var(--landing-container-padding);display:flex;align-items:center;justify-content:space-between}.nav-logo{font-size:1.5rem;font-weight:800;color:var(--landing-text);text-decoration:none;letter-spacing:-.02em;display:flex;align-items:center;gap:.1em}.nav-logo .logo-e{color:var(--landing-text)}.nav-logo .logo-x{color:var(--landing-accent);text-shadow:0 0 20px var(--landing-accent-glow)}.nav-logo .logo-rest{color:var(--landing-text)}.nav-links{display:flex;align-items:center;gap:2.5rem}.nav-link{color:var(--landing-text-muted);text-decoration:none;font-size:.9rem;font-weight:500;transition:color var(--landing-transition-fast);cursor:pointer;background:none;border:none;padding:0}.nav-link:hover{color:var(--landing-text)}.nav-buttons{display:flex;align-items:center;gap:1rem}.nav-btn-ghost{background:transparent;border:1px solid var(--landing-border);color:var(--landing-text);padding:.5rem 1.25rem;border-radius:var(--landing-radius-full);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--landing-transition-fast)}.nav-btn-ghost:hover{border-color:var(--landing-accent);color:var(--landing-accent)}.nav-btn-primary{background:var(--landing-accent);border:none;color:#000;padding:.5rem 1.25rem;border-radius:var(--landing-radius-full);font-size:.9rem;font-weight:600;cursor:pointer;transition:all var(--landing-transition-fast)}.nav-btn-primary:hover{background:var(--landing-accent-dim);transform:translateY(-1px);box-shadow:0 4px 20px var(--landing-accent-glow)}.nav-mobile-toggle{display:none;background:none;border:none;color:var(--landing-text);cursor:pointer;padding:.5rem}@media(max-width:768px){.nav-links,.nav-buttons{display:none}.nav-mobile-toggle{display:flex}.nav-links.mobile-open,.nav-buttons.mobile-open{display:flex;position:absolute;top:100%;left:0;right:0;background:#0a0a14f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;padding:1.5rem;gap:1rem;border-bottom:1px solid var(--landing-border)}}.hero-section{min-height:100vh;display:flex;align-items:center;padding-top:6rem;position:relative;overflow:visible}.hero-giant-x{position:absolute;top:50%;right:-10%;transform:translateY(-50%);font-size:80vw;font-weight:700;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.02em;color:var(--landing-accent);opacity:.04;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;line-height:.8;text-shadow:0 0 120px rgba(0,212,255,.3)}.hero-content{max-width:700px;position:relative;z-index:1}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--landing-bg-card);border:1px solid var(--landing-border);padding:.5rem 1rem;border-radius:var(--landing-radius-full);font-size:var(--landing-font-small);color:var(--landing-text-muted);margin-bottom:1.5rem}.hero-badge-dot{width:8px;height:8px;background:#10b981;border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.hero-title{font-size:var(--landing-font-hero);font-weight:800;line-height:1.1;letter-spacing:-.03em;margin:0 0 1.5rem}.hero-title-accent{background:var(--landing-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.25rem;color:var(--landing-text-muted);margin:0 0 2.5rem;max-width:540px;line-height:1.7}.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap}.hero-btn-primary{display:inline-flex;align-items:center;gap:.5rem;background:var(--landing-accent);color:#000;padding:1rem 2rem;border-radius:var(--landing-radius-full);font-size:1rem;font-weight:600;text-decoration:none;border:none;cursor:pointer;transition:all var(--landing-transition-fast)}.hero-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px var(--landing-accent-glow-strong)}.hero-btn-secondary{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--landing-text);padding:1rem 2rem;border-radius:var(--landing-radius-full);font-size:1rem;font-weight:500;text-decoration:none;border:1px solid var(--landing-border);cursor:pointer;transition:all var(--landing-transition-fast)}.hero-btn-secondary:hover{border-color:var(--landing-accent);color:var(--landing-accent)}.hero-visual{position:absolute;right:-5%;top:50%;transform:translateY(-50%);width:55%;max-width:700px;z-index:0}.hero-mockup{background:var(--landing-bg-card);border:1px solid var(--landing-border);border-radius:var(--landing-radius-lg);padding:1rem;box-shadow:var(--landing-shadow-card),var(--landing-shadow-glow);position:relative}.hero-mockup:before{content:"";position:absolute;inset:-1px;background:linear-gradient(135deg,rgba(0,212,255,.2) 0%,transparent 50%,rgba(99,102,241,.2) 100%);border-radius:inherit;z-index:-1;opacity:.5}.mockup-header{display:flex;gap:6px;margin-bottom:.75rem}.mockup-dot{width:10px;height:10px;border-radius:50%}.mockup-dot.red{background:#ff5f57}.mockup-dot.yellow{background:#febc2e}.mockup-dot.green{background:#28c840}.mockup-content{background:#0f0f1a;border-radius:var(--landing-radius-md);padding:1rem;min-height:300px}@media(max-width:1024px){.hero-visual{display:none}.hero-content{max-width:100%;text-align:center}.hero-title{font-size:3rem}.hero-subtitle{margin-left:auto;margin-right:auto}.hero-ctas{justify-content:center}}@media(max-width:480px){.hero-title{font-size:2.25rem}.hero-ctas{flex-direction:column;width:100%}.hero-btn-primary,.hero-btn-secondary{width:100%;justify-content:center}}.stats-bar{background:var(--landing-bg-card);border:1px solid var(--landing-border);border-radius:var(--landing-radius-lg);padding:2.5rem 3rem;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;position:relative;overflow:hidden}.stats-bar:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--landing-accent) 50%,transparent 100%)}.stat-item{text-align:center}.stat-value{font-size:2.5rem;font-weight:800;color:var(--landing-accent);font-family:JetBrains Mono,Fira Code,monospace;margin-bottom:.25rem}.stat-label{font-size:var(--landing-font-small);color:var(--landing-text-muted);text-transform:uppercase;letter-spacing:.1em}@media(max-width:640px){.stats-bar{grid-template-columns:1fr;gap:1.5rem;padding:2rem}.stat-item:not(:last-child){padding-bottom:1.5rem;border-bottom:1px solid var(--landing-border)}}.features-section{background:var(--landing-bg-alt)}.section-header{text-align:center;max-width:600px;margin:0 auto 4rem}.section-label{font-size:var(--landing-font-small);color:var(--landing-accent);text-transform:uppercase;letter-spacing:.15em;font-weight:600;margin-bottom:1rem}.section-title{font-size:var(--landing-font-h2);font-weight:700;margin:0 0 1rem;letter-spacing:-.02em}.section-subtitle{color:var(--landing-text-muted);font-size:1.1rem;margin:0}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.feature-card{background:var(--landing-bg-card);border:1px solid var(--landing-border);border-radius:var(--landing-radius-md);padding:2rem;transition:all var(--landing-transition-base);position:relative;overflow:hidden}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--landing-gradient);opacity:0;transition:opacity var(--landing-transition-base)}.feature-card:hover{transform:translateY(-4px);border-color:var(--landing-border-hover);box-shadow:var(--landing-shadow-glow)}.feature-card:hover:before{opacity:1}.feature-icon{width:48px;height:48px;background:var(--landing-accent-glow);border-radius:var(--landing-radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;color:var(--landing-accent)}.feature-icon svg{width:24px;height:24px}.feature-title{font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.feature-desc{color:var(--landing-text-muted);font-size:var(--landing-font-small);margin:0;line-height:1.6}@media(max-width:1024px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.features-grid{grid-template-columns:1fr}}.how-it-works{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;position:relative}.how-it-works:before{content:"";position:absolute;top:40px;left:15%;right:15%;height:2px;background:linear-gradient(90deg,transparent 0%,var(--landing-border) 10%,var(--landing-border) 90%,transparent 100%)}.step-card{text-align:center;position:relative}.step-number{width:80px;height:80px;background:var(--landing-bg-card);border:2px solid var(--landing-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;color:var(--landing-accent);margin:0 auto 1.5rem;position:relative;z-index:1;box-shadow:0 0 30px var(--landing-accent-glow)}.step-title{font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.step-desc{color:var(--landing-text-muted);font-size:var(--landing-font-small);max-width:280px;margin:0 auto}@media(max-width:768px){.how-it-works{grid-template-columns:1fr;gap:3rem}.how-it-works:before{display:none}}.preview-section{background:var(--landing-bg-alt);overflow:hidden}.preview-wrapper{background:var(--landing-bg-card);border:1px solid var(--landing-border);border-radius:var(--landing-radius-lg);padding:1.5rem;box-shadow:var(--landing-shadow-card);position:relative}.preview-header{display:flex;gap:8px;margin-bottom:1rem}.preview-dot{width:12px;height:12px;border-radius:50%}.preview-dot.red{background:#ff5f57}.preview-dot.yellow{background:#febc2e}.preview-dot.green{background:#28c840}.preview-content{background:#0c0c16;border-radius:var(--landing-radius-md);min-height:400px;display:flex;align-items:center;justify-content:center;color:var(--landing-text-dim);font-size:.9rem}.preview-callout{position:absolute;background:var(--landing-bg-card);border:1px solid var(--landing-accent);border-radius:var(--landing-radius-sm);padding:.75rem 1rem;font-size:var(--landing-font-small);color:var(--landing-text);box-shadow:0 0 20px var(--landing-accent-glow);animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.preview-callout:nth-child(2){animation-delay:.5s}.preview-callout:nth-child(3){animation-delay:1s}.cta-section{text-align:center;position:relative}.cta-section:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(0,212,255,.08) 0%,transparent 60%);pointer-events:none}.cta-content{position:relative;z-index:1}.cta-title{font-size:var(--landing-font-h1);font-weight:700;margin:0 0 1rem;letter-spacing:-.02em}.cta-subtitle{color:var(--landing-text-muted);font-size:1.1rem;margin:0 0 2.5rem;max-width:500px;margin-left:auto;margin-right:auto}.public-footer{background:var(--landing-bg-alt);border-top:1px solid var(--landing-border);padding:4rem 0 2rem}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:3rem;margin-bottom:3rem}.footer-brand{max-width:280px}.footer-logo{font-size:1.5rem;font-weight:800;color:var(--landing-text);margin-bottom:1rem;display:inline-block}.footer-logo .logo-x{color:var(--landing-accent)}.footer-tagline{color:var(--landing-text-muted);font-size:var(--landing-font-small);margin:0 0 1.5rem}.footer-social{display:flex;gap:1rem}.footer-social-link{width:36px;height:36px;background:var(--landing-bg-card);border:1px solid var(--landing-border);border-radius:var(--landing-radius-sm);display:flex;align-items:center;justify-content:center;color:var(--landing-text-muted);transition:all var(--landing-transition-fast);cursor:pointer}.footer-social-link:hover{border-color:var(--landing-accent);color:var(--landing-accent)}.footer-column h4{font-size:var(--landing-font-small);font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin:0 0 1.25rem;color:var(--landing-text)}.footer-column ul{list-style:none;margin:0;padding:0}.footer-column li{margin-bottom:.75rem}.footer-column a,.footer-column button{color:var(--landing-text-muted);text-decoration:none;font-size:var(--landing-font-small);transition:color var(--landing-transition-fast);background:none;border:none;padding:0;cursor:pointer}.footer-column a:hover,.footer-column button:hover{color:var(--landing-accent)}.footer-bottom{padding-top:2rem;border-top:1px solid var(--landing-border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-copyright{color:var(--landing-text-dim);font-size:var(--landing-font-small);margin:0}.footer-legal{display:flex;gap:1.5rem}.footer-legal a{color:var(--landing-text-dim);text-decoration:none;font-size:var(--landing-font-small);transition:color var(--landing-transition-fast)}.footer-legal a:hover{color:var(--landing-text-muted)}@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1 / -1}.footer-bottom{flex-direction:column;text-align:center}}@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}.pricing-header{text-align:center;margin-bottom:3rem}.pricing-toggle{display:inline-flex;align-items:center;gap:1rem;background:var(--landing-bg-card);border:1px solid var(--landing-border);border-radius:var(--landing-radius-full);padding:.5rem;margin-top:2rem}.pricing-toggle-btn{padding:.625rem 1.5rem;border-radius:var(--landing-radius-full);font-size:var(--landing-font-small);font-weight:500;border:none;cursor:pointer;transition:all var(--landing-transition-fast);background:transparent;color:var(--landing-text-muted)}.pricing-toggle-btn.active{background:var(--landing-accent);color:#000}.pricing-toggle-badge{background:#10b98133;color:#10b981;font-size:.7rem;font-weight:600;padding:.25rem .625rem;border-radius:var(--landing-radius-full);margin-left:.5rem}.pricing-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1000px;margin:0 auto}.pricing-card{background:var(--landing-bg-card);border:1px solid var(--landing-border);border-radius:var(--landing-radius-lg);padding:2.5rem;position:relative;transition:all var(--landing-transition-base)}.pricing-card.featured{border-color:var(--landing-accent);transform:scale(1.02)}.pricing-card.featured:before{content:"Most Popular";position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background:var(--landing-accent);color:#000;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:.375rem 1rem;border-radius:var(--landing-radius-full)}.pricing-card:hover{transform:translateY(-4px);box-shadow:var(--landing-shadow-glow)}.pricing-card.featured:hover{transform:scale(1.02) translateY(-4px)}.pricing-plan-name{font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.pricing-plan-desc{color:var(--landing-text-muted);font-size:var(--landing-font-small);margin:0 0 1.5rem}.pricing-price{margin-bottom:1.5rem}.pricing-amount{font-size:3rem;font-weight:800;letter-spacing:-.02em}.pricing-currency{font-size:1.5rem;color:var(--landing-text-muted);vertical-align:top}.pricing-period{color:var(--landing-text-muted);font-size:var(--landing-font-small)}.pricing-features{list-style:none;margin:0 0 2rem;padding:0}.pricing-features li{display:flex;align-items:center;gap:.75rem;padding:.625rem 0;font-size:var(--landing-font-small);color:var(--landing-text-muted)}.pricing-features li:not(:last-child){border-bottom:1px solid var(--landing-border)}.pricing-check{color:#10b981;flex-shrink:0}.pricing-x{color:var(--landing-text-dim);flex-shrink:0}.pricing-btn{width:100%;padding:.875rem 1.5rem;border-radius:var(--landing-radius-sm);font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--landing-transition-fast)}.pricing-btn-primary{background:var(--landing-accent);color:#000;border:none}.pricing-btn-primary:hover{background:var(--landing-accent-dim);transform:translateY(-1px)}.pricing-btn-secondary{background:transparent;color:var(--landing-text);border:1px solid var(--landing-border)}.pricing-btn-secondary:hover{border-color:var(--landing-accent);color:var(--landing-accent)}@media(max-width:1024px){.pricing-cards{grid-template-columns:1fr;max-width:400px}.pricing-card.featured{transform:none;order:-1}.pricing-card.featured:hover{transform:translateY(-4px)}}.faq-section{max-width:700px;margin:0 auto}.faq-item{border:1px solid var(--landing-border);border-radius:var(--landing-radius-md);margin-bottom:1rem;overflow:hidden;background:var(--landing-bg-card)}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;background:transparent;border:none;color:var(--landing-text);font-size:1rem;font-weight:500;text-align:left;cursor:pointer;transition:color var(--landing-transition-fast)}.faq-question:hover{color:var(--landing-accent)}.faq-icon{width:24px;height:24px;color:var(--landing-text-muted);transition:transform var(--landing-transition-fast)}.faq-item.open .faq-icon{transform:rotate(180deg)}.faq-answer{padding:0 1.5rem;max-height:0;overflow:hidden;transition:all var(--landing-transition-base)}.faq-item.open .faq-answer{padding:0 1.5rem 1.25rem;max-height:500px}.faq-answer p{color:var(--landing-text-muted);font-size:var(--landing-font-small);line-height:1.7;margin:0}.about-hero{text-align:center;padding:8rem 0 6rem}.about-hero-title{font-size:var(--landing-font-h1);font-weight:800;margin:0 0 1rem;letter-spacing:-.02em}.about-hero-subtitle{font-size:1.25rem;color:var(--landing-text-muted);max-width:600px;margin:0 auto}.about-values{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.value-card{background:var(--landing-bg-card);border:1px solid var(--landing-border);border-radius:var(--landing-radius-md);padding:2rem;text-align:center;transition:all var(--landing-transition-base)}.value-card:hover{transform:translateY(-4px);border-color:var(--landing-border-hover)}.value-icon{width:56px;height:56px;background:var(--landing-accent-glow);border-radius:var(--landing-radius-md);display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;color:var(--landing-accent)}.value-title{font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.value-desc{color:var(--landing-text-muted);font-size:var(--landing-font-small);margin:0;line-height:1.6}@media(max-width:1024px){.about-values{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.about-values{grid-template-columns:1fr}}.feature-detail{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding:4rem 0}.feature-detail:nth-child(2n){direction:rtl}.feature-detail:nth-child(2n)>*{direction:ltr}.feature-detail-content h3{font-size:var(--landing-font-h3);font-weight:600;margin:0 0 1rem}.feature-detail-content p{color:var(--landing-text-muted);margin:0 0 1.5rem;line-height:1.7}.feature-detail-list{list-style:none;margin:0;padding:0}.feature-detail-list li{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;font-size:var(--landing-font-small);color:var(--landing-text-muted)}.feature-detail-visual{background:var(--landing-bg-card);border:1px solid var(--landing-border);border-radius:var(--landing-radius-lg);padding:2rem;min-height:300px;display:flex;align-items:center;justify-content:center;color:var(--landing-text-dim)}@media(max-width:768px){.feature-detail{grid-template-columns:1fr;gap:2rem}.feature-detail:nth-child(2n){direction:ltr}}.reveal{opacity:0;transform:translateY(30px);transition:all .6s ease-out}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.reveal-delay-5{transition-delay:.5s}.reveal-delay-6{transition-delay:.6s}.text-accent{color:var(--landing-accent)}.text-muted{color:var(--landing-text-muted)}.mt-section{margin-top:var(--landing-section-gap)}.mb-section{margin-bottom:var(--landing-section-gap)}
