/* css/hub.css */
.hub-hero{position:relative;padding:60px 0 40px;overflow:hidden;background:linear-gradient(180deg,var(--hub-elev) 0,var(--hub-elev) 100%)}.hub-hero-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}.hub-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgb(var(--hub-accent-rgb) / .03) 1px,transparent 1px),linear-gradient(90deg,rgb(var(--hub-accent-rgb) / .03) 1px,transparent 1px);background-size:60px 60px}.hub-hero-particle{position:absolute;width:300px;height:300px;border-radius:50%;filter:blur(100px);opacity:.15;animation:hubFloat 15s ease-in-out infinite}.hub-hero-particle:first-child{background:var(--primary-color);top:-100px;right:10%;animation-delay:0s}.hub-hero-particle:nth-child(2){background:var(--secondary-color);bottom:-50px;left:5%;animation-delay:-5s}.hub-hero-particle:nth-child(3){background:var(--hub-cyan);top:50%;left:50%;width:200px;height:200px;animation-delay:-10s}@keyframes hubFloat{0%,100%{transform:translateY(0) translateX(0)}33%{transform:translateY(-30px) translateX(20px)}66%{transform:translateY(20px) translateX(-15px)}}.hub-hero-content{position:relative;z-index:1;text-align:center;max-width:800px;margin:0 auto}.hub-hero-badge{display:inline-block;padding:6px 20px;background:rgb(var(--hub-accent-rgb) / .1);border:1px solid rgb(var(--hub-accent-rgb) / .25);border-radius:50px;font-size:.85rem;color:var(--primary-color);margin-bottom:20px;letter-spacing:.5px}.hub-hero-title{font-size:3.5rem;font-weight:800;margin-bottom:16px;line-height:1.1}.gradient-text{background:linear-gradient(135deg,var(--primary-color) 0,var(--hub-cyan) 50%,var(--primary-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% auto;animation:gradientShift 4s ease-in-out infinite}@keyframes gradientShift{0%,100%{background-position:0 center}50%{background-position:100% center}}.hub-hero-subtitle{font-size:1.1rem;color:var(--text-gray);line-height:1.6;margin-bottom:30px}.hub-hero-stats{display:flex;justify-content:center;gap:40px;margin-bottom:30px}.hero-stat{text-align:center}.hero-stat-num{display:block;font-size:2rem;font-weight:700;color:var(--primary-color);line-height:1}.hero-stat-label{font-size:.8rem;color:var(--text-gray);text-transform:uppercase;letter-spacing:1px}.hub-hero-search{max-width:600px;margin:0 auto}.hub-search-box{display:flex;align-items:center;background:var(--hub-surface);border:1px solid rgb(var(--hub-accent-rgb) / .15);border-radius:50px;padding:4px 4px 4px 20px;transition:all .3s ease}.hub-search-box:focus-within{border-color:rgb(var(--hub-accent-rgb) / .5);box-shadow:0 0 20px rgb(var(--hub-accent-rgb) / .1)}.hub-search-icon{width:20px;height:20px;color:var(--text-gray);flex-shrink:0}.hub-search-box input{flex:1;background:0 0;border:none;color:var(--text-light);font-size:.95rem;padding:12px 15px;outline:0}.hub-search-box input::placeholder{color:rgb(var(--hub-ink-rgb) / .5)}.hub-search-btn{width:44px;height:44px;border-radius:50%;border:none;background:var(--primary-color);color:var(--bg-darker);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}.hub-search-btn svg{width:20px;height:20px}.hub-search-btn:hover{background:var(--primary-dark);transform:scale(1.05)}.hub-tabs-section{position:sticky;top:var(--navbar-h);z-index:50;background:var(--hub-elev);backdrop-filter:blur(20px);border-bottom:1px solid rgb(var(--hub-accent-rgb) / .1);padding:0}.hub-tabs{display:flex;gap:4px;overflow-x:auto;padding:8px 0;scrollbar-width:none}.hub-tabs::-webkit-scrollbar{display:none}.hub-tab{display:flex;align-items:center;gap:8px;padding:10px 20px;background:0 0;border:1px solid transparent;border-radius:8px;color:var(--text-gray);cursor:pointer;white-space:nowrap;font-size:.9rem;transition:all .3s ease}.hub-tab svg{width:18px;height:18px;flex-shrink:0}.hub-tab:hover{color:var(--text-light);background:rgb(var(--hub-accent-rgb) / .05)}.hub-tab.active{color:var(--primary-color);background:rgb(var(--hub-accent-rgb) / .1);border-color:rgb(var(--hub-accent-rgb) / .25)}.tab-count{font-size:.75rem;background:rgb(var(--hub-accent-rgb) / .15);color:var(--primary-color);padding:2px 8px;border-radius:10px;font-weight:600}.hub-badge{background:var(--hub-error)!important;color:#fff!important}.hub-main{padding:30px 0 60px;min-height:60vh}.hub-panel{display:none}.hub-panel.active{display:block;animation:panelFadeIn .3s ease}@keyframes panelFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}.panel-header h2{font-size:1.8rem;font-weight:700;margin-bottom:4px}.panel-header p{color:var(--text-gray);font-size:.95rem}.hub-filters{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap;align-items:center}.filter-group .filter-input-sm,.filter-group .filter-search,.filter-group select{background:var(--hub-surface);border:1px solid rgb(var(--hub-accent-rgb) / .15);border-radius:8px;color:var(--text-light);padding:10px 14px;font-size:.85rem;outline:0;transition:all .3s ease}.filter-group select{cursor:pointer;min-width:160px}.filter-group select option{background:var(--bg-darker)}.filter-group .filter-search{min-width:220px}.filter-group .filter-input-sm{width:120px}.filter-group .filter-input-sm:focus,.filter-group .filter-search:focus,.filter-group select:focus{border-color:rgb(var(--hub-accent-rgb) / .4);box-shadow:0 0 10px rgb(var(--hub-accent-rgb) / .05)}.filter-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.85rem;color:var(--text-gray)}.filter-toggle input[type=checkbox]{appearance:none;width:18px;height:18px;border:2px solid rgb(var(--hub-accent-rgb) / .3);border-radius:4px;background:0 0;cursor:pointer;transition:all .3s ease;position:relative}.filter-toggle input[type=checkbox]:checked{background:var(--primary-color);border-color:var(--primary-color)}.filter-toggle input[type=checkbox]:checked::after{content:'✓';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--bg-darker);font-size:12px;font-weight:700}.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.venue-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.speaker-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.hub-card{background:var(--hub-surface);border:1px solid rgb(var(--hub-accent-rgb) / .08);border-radius:16px;padding:24px;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.hub-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--primary-color),transparent);opacity:0;transition:opacity .3s ease}.hub-card:hover{border-color:rgb(var(--hub-accent-rgb) / .2);transform:translateY(-4px);box-shadow:var(--hub-shadow)}.hub-card:hover::before{opacity:1}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.card-type-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:600;background:rgb(var(--hub-accent-rgb) / .1);color:var(--primary-color)}.card-urgency{font-size:.7rem;padding:3px 8px;border-radius:4px;font-weight:600}.card-urgency.urgent{background:rgb(var(--hub-error-rgb) / .2);color:var(--hub-error)}.card-urgency.high{background:rgb(var(--hub-accent-rgb) / .2);color:var(--hub-warning)}.card-urgency.medium{background:rgb(var(--hub-accent-rgb) / .2);color:var(--hub-warning)}.card-urgency.low{background:rgb(var(--hub-accent-rgb) / .2);color:var(--hub-success)}.card-title{font-size:1.15rem;font-weight:600;margin-bottom:8px;line-height:1.3;color:var(--text-light)}.card-desc{font-size:.85rem;color:var(--text-gray);line-height:1.5;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.card-tag{font-size:.7rem;padding:3px 8px;border-radius:4px;background:var(--hub-surface);color:var(--hub-cyan);border:1px solid rgb(var(--hub-accent-rgb) / .15)}.card-meta{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid rgb(var(--hub-accent-rgb) / .05);font-size:.8rem;color:var(--text-gray)}.card-meta-left{display:flex;align-items:center;gap:8px}.card-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:var(--bg-darker)}.card-stats{display:flex;gap:12px;align-items:center}.card-stat{display:flex;align-items:center;gap:4px}.card-stat svg{width:14px;height:14px}.venue-card .card-image{width:100%;height:160px;border-radius:10px;background:linear-gradient(135deg,var(--bg-lighter),var(--secondary-color));margin-bottom:14px;display:flex;align-items:center;justify-content:center;font-size:3rem;overflow:hidden}.venue-card .card-location{display:flex;align-items:center;gap:4px;color:var(--text-gray);font-size:.85rem;margin-bottom:8px}.venue-card .card-location svg{width:14px;height:14px;color:var(--primary-color)}.venue-card .card-features{display:flex;gap:12px;margin-bottom:12px;flex-wrap:wrap}.venue-card .venue-feature{font-size:.75rem;color:var(--text-gray);display:flex;align-items:center;gap:4px}.venue-price{font-size:1.1rem;font-weight:700;color:var(--primary-color)}.venue-price.free{color:var(--hub-success)}.venue-verified{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;color:var(--hub-info);background:rgb(var(--hub-accent-rgb) / .1);padding:2px 8px;border-radius:4px}.speaker-card{text-align:center;padding:30px 24px}.speaker-card .speaker-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--hub-cyan));margin:0 auto 16px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;color:var(--bg-darker);border:3px solid rgb(var(--hub-accent-rgb) / .2)}.speaker-card .speaker-name{font-size:1.15rem;font-weight:600;margin-bottom:4px}.speaker-card .speaker-tagline{font-size:.85rem;color:var(--text-gray);margin-bottom:12px}.speaker-card .speaker-rating{display:flex;justify-content:center;align-items:center;gap:4px;margin-bottom:12px;color:var(--hub-warning);font-size:.9rem}.speaker-card .speaker-expertise{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:14px}.speaker-card .speaker-badge{display:flex;align-items:center;gap:6px;justify-content:center;margin-bottom:10px;font-size:.8rem}.badge-remote{color:var(--hub-info);background:rgb(var(--hub-accent-rgb) / .1);padding:3px 8px;border-radius:4px}.badge-probono{color:var(--hub-success);background:rgb(var(--hub-accent-rgb) / .1);padding:3px 8px;border-radius:4px}.team-card .team-status{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:4px;font-size:.75rem;font-weight:600}.team-status.recruiting{background:rgb(var(--hub-accent-rgb) / .15);color:var(--hub-success)}.team-status.active{background:rgb(var(--hub-accent-rgb) / .15);color:var(--hub-info)}.team-status.full{background:rgb(var(--hub-accent-rgb) / .15);color:var(--hub-warning)}.team-members-bar{height:6px;background:rgb(var(--hub-accent-rgb) / .1);border-radius:3px;margin:12px 0 8px;overflow:hidden}.team-members-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--hub-cyan));border-radius:3px;transition:width .5s ease}.team-members-text{font-size:.8rem;color:var(--text-gray);margin-bottom:12px}.hub-list{display:flex;flex-direction:column;gap:12px}.board-item{display:flex;align-items:flex-start;gap:16px;padding:20px;background:var(--hub-surface);border:1px solid rgb(var(--hub-accent-rgb) / .08);border-radius:12px;cursor:pointer;transition:all .3s ease}.board-item:hover{border-color:rgb(var(--hub-accent-rgb) / .2);background:var(--hub-surface)}.board-type-icon{width:44px;height:44px;border-radius:10px;background:rgb(var(--hub-accent-rgb) / .1);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}.board-item-content{flex:1;min-width:0}.board-item-title{font-size:1.05rem;font-weight:600;margin-bottom:4px}.board-item-preview{font-size:.85rem;color:var(--text-gray);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px}.board-item-meta{display:flex;gap:16px;font-size:.8rem;color:var(--text-gray)}.btn-hub-create{display:flex;align-items:center;gap:8px;padding:10px 24px;background:var(--primary-color);color:var(--bg-darker);border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease}.btn-hub-create svg{width:18px;height:18px}.btn-hub-create:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 15px rgb(var(--hub-accent-rgb) / .3)}.btn-hub-action{padding:8px 16px;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:1px solid}.btn-hub-action.primary{background:var(--primary-color);color:var(--bg-darker);border-color:var(--primary-color)}.btn-hub-action.primary:hover{background:var(--primary-dark)}.btn-hub-action.secondary{background:0 0;color:var(--primary-color);border-color:rgb(var(--hub-accent-rgb) / .3)}.btn-hub-action.secondary:hover{background:rgb(var(--hub-accent-rgb) / .1)}.hub-loading{text-align:center;padding:60px 20px;grid-column:1/-1}.hub-spinner{width:40px;height:40px;border:3px solid rgb(var(--hub-accent-rgb) / .15);border-top:3px solid var(--primary-color);border-radius:50%;animation:hubSpin .8s linear infinite;margin:0 auto 16px}@keyframes hubSpin{to{transform:rotate(360deg)}}.hub-loading p{color:var(--text-gray);font-size:.9rem}.hub-empty{text-align:center;padding:60px 20px;grid-column:1/-1}.hub-empty svg{width:64px;height:64px;color:rgb(var(--hub-accent-rgb) / .2);margin-bottom:16px}.hub-empty h3{font-size:1.2rem;margin-bottom:8px}.hub-empty p{color:var(--text-gray);font-size:.9rem}.hub-pagination{display:flex;justify-content:center;gap:8px;margin-top:30px}.hub-pagination button{padding:8px 14px;background:var(--hub-surface);border:1px solid rgb(var(--hub-accent-rgb) / .15);border-radius:6px;color:var(--text-gray);cursor:pointer;font-size:.85rem;transition:all .3s ease}.hub-pagination button:hover{color:var(--text-light);border-color:rgb(var(--hub-accent-rgb) / .3)}.hub-pagination button.active{background:rgb(var(--hub-accent-rgb) / .15);color:var(--primary-color);border-color:rgb(var(--hub-accent-rgb) / .3)}.hub-modal{display:none;position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center;padding:20px}.hub-modal.open{display:flex;animation:modalFadeIn .25s ease}@keyframes modalFadeIn{from{opacity:0}to{opacity:1}}.hub-modal-overlay{position:absolute;inset:0;background:rgb(0 0 0 / .7);backdrop-filter:blur(4px)}.hub-modal-content{position:relative;background:var(--bg-darker);border:1px solid rgb(var(--hub-accent-rgb) / .15);border-radius:16px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:var(--hub-shadow)}.hub-modal-lg{max-width:700px}.hub-modal-xl{max-width:900px}.hub-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgb(var(--hub-accent-rgb) / .08)}.hub-modal-header h3{font-size:1.2rem;font-weight:600}.hub-modal-close{width:36px;height:36px;border-radius:50%;border:none;background:rgb(var(--hub-accent-rgb) / .08);color:var(--text-gray);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.hub-modal-close:hover{background:rgb(var(--hub-error-rgb) / .2);color:var(--hub-error)}.hub-modal-body{padding:24px}.hub-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid rgb(var(--hub-accent-rgb) / .08)}.form-row{margin-bottom:16px}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.85rem;color:var(--text-gray);font-weight:500}.form-group input,.form-group select,.form-group textarea{background:var(--hub-surface);border:1px solid rgb(var(--hub-accent-rgb) / .15);border-radius:8px;color:var(--text-light);padding:10px 14px;font-size:.9rem;outline:0;transition:all .3s ease;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:rgb(var(--hub-accent-rgb) / .4);box-shadow:0 0 10px rgb(var(--hub-accent-rgb) / .05)}.form-group select option{background:var(--bg-darker)}.form-group textarea{resize:vertical;min-height:80px}.btn-hub-cancel{padding:10px 20px;background:0 0;border:1px solid rgb(var(--hub-accent-rgb) / .15);border-radius:8px;color:var(--text-gray);cursor:pointer;font-size:.9rem;transition:all .3s ease}.btn-hub-cancel:hover{border-color:rgb(var(--hub-error-rgb) / .3);color:var(--hub-error)}.btn-hub-submit{padding:10px 24px;background:var(--primary-color);color:var(--bg-darker);border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease}.btn-hub-submit:hover{background:var(--primary-dark)}.btn-hub-submit:disabled{opacity:.5;cursor:not-allowed}.hub-messaging{display:grid;grid-template-columns:300px 1fr;height:70vh;border:1px solid rgb(var(--hub-accent-rgb) / .08);border-radius:12px;overflow:hidden}.msg-sidebar{background:var(--hub-elev);border-right:1px solid rgb(var(--hub-accent-rgb) / .08);display:flex;flex-direction:column}.msg-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid rgb(var(--hub-accent-rgb) / .08)}.msg-sidebar-header h3{font-size:1rem}.msg-new-btn{width:32px;height:32px;border-radius:8px;border:none;background:rgb(var(--hub-accent-rgb) / .1);color:var(--primary-color);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.msg-new-btn svg{width:16px;height:16px}.msg-new-btn:hover{background:rgb(var(--hub-accent-rgb) / .2)}.msg-list{flex:1;overflow-y:auto}.msg-item{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;transition:background .2s ease;border-bottom:1px solid rgb(var(--hub-accent-rgb) / .04)}.msg-item:hover{background:rgb(var(--hub-accent-rgb) / .05)}.msg-item.active{background:rgb(var(--hub-accent-rgb) / .1)}.msg-item-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:var(--bg-darker);flex-shrink:0}.msg-item-info{flex:1;min-width:0}.msg-item-name{font-weight:600;font-size:.9rem;margin-bottom:2px}.msg-item-preview{font-size:.8rem;color:var(--text-gray);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-item-badge{width:20px;height:20px;border-radius:50%;background:var(--hub-error);color:#fff;font-size:.7rem;display:flex;align-items:center;justify-content:center;font-weight:700}.msg-empty{padding:40px 20px;text-align:center;color:var(--text-gray);font-size:.9rem}.msg-main{display:flex;flex-direction:column}.msg-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-gray);gap:12px}.msg-placeholder svg{opacity:.2}.msg-chat{display:flex;flex-direction:column;height:100%}.msg-chat-header{padding:14px 20px;border-bottom:1px solid rgb(var(--hub-accent-rgb) / .08);font-weight:600;font-size:1rem}.msg-chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.msg-bubble{max-width:70%;padding:10px 16px;border-radius:16px;font-size:.9rem;line-height:1.5}.msg-bubble.sent{align-self:flex-end;background:rgb(var(--hub-accent-rgb) / .15);color:var(--text-light);border-bottom-right-radius:4px}.msg-bubble.received{align-self:flex-start;background:var(--hub-surface);border-bottom-left-radius:4px}.msg-bubble-sender{font-size:.75rem;color:var(--primary-color);font-weight:600;margin-bottom:2px}.msg-bubble-time{font-size:.7rem;color:var(--text-gray);margin-top:4px;text-align:right}.msg-chat-input{display:flex;gap:8px;padding:14px 20px;border-top:1px solid rgb(var(--hub-accent-rgb) / .08)}.msg-chat-input input{flex:1;background:var(--hub-surface);border:1px solid rgb(var(--hub-accent-rgb) / .15);border-radius:24px;color:var(--text-light);padding:10px 18px;font-size:.9rem;outline:0}.msg-chat-input input:focus{border-color:rgb(var(--hub-accent-rgb) / .4)}.msg-send-btn{width:42px;height:42px;border-radius:50%;border:none;background:var(--primary-color);color:var(--bg-darker);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.msg-send-btn svg{width:18px;height:18px}.msg-send-btn:hover{background:var(--primary-dark);transform:scale(1.05)}.hub-toast-container{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px}.hub-toast{padding:14px 20px;border-radius:10px;font-size:.9rem;color:var(--text-light);min-width:280px;max-width:400px;box-shadow:var(--hub-shadow);animation:toastSlideIn .3s ease;display:flex;align-items:center;gap:10px}.hub-toast.success{background:rgb(var(--hub-accent-rgb) / .9);border:1px solid var(--hub-success)}.hub-toast.error{background:rgb(var(--hub-error-rgb) / .9);border:1px solid var(--hub-error)}.hub-toast.info{background:rgb(var(--hub-accent-rgb) / .9);border:1px solid var(--hub-info)}@keyframes toastSlideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.detail-hero{display:flex;gap:24px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid rgb(var(--hub-accent-rgb) / .08)}.detail-hero-avatar{width:80px;height:80px;border-radius:16px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));display:flex;align-items:center;justify-content:center;font-size:2rem;flex-shrink:0}.detail-hero-info h2{font-size:1.5rem;margin-bottom:4px}.detail-hero-info p{color:var(--text-gray);font-size:.9rem}.detail-section{margin-bottom:24px}.detail-section h4{font-size:1rem;margin-bottom:12px;color:var(--primary-color)}.detail-section p{font-size:.9rem;line-height:1.7;color:var(--text-gray)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.detail-stat{background:var(--hub-surface);border:1px solid rgb(var(--hub-accent-rgb) / .08);border-radius:10px;padding:14px;text-align:center}.detail-stat .stat-value{font-size:1.3rem;font-weight:700;color:var(--primary-color)}.detail-stat .stat-label{font-size:.75rem;color:var(--text-gray);text-transform:uppercase;letter-spacing:.5px}.detail-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}@media (max-width:768px){.hub-hero-title{font-size:2.2rem}.hub-hero-stats{gap:20px;flex-wrap:wrap}.hero-stat-num{font-size:1.5rem}.hub-grid{grid-template-columns:1fr}.speaker-grid,.venue-grid{grid-template-columns:1fr}.hub-messaging{grid-template-columns:1fr;height:auto}.msg-sidebar{max-height:250px}.form-row-2,.form-row-3{grid-template-columns:1fr}.hub-filters{flex-direction:column}.filter-group .filter-input-sm,.filter-group .filter-search,.filter-group select{width:100%}.panel-header{flex-direction:column}.hub-modal-content{max-height:95vh}.hub-tabs{gap:2px}.hub-tab span:not(.tab-count){display:none}.hub-tab{padding:10px 14px}.detail-hero{flex-direction:column;align-items:center;text-align:center}}@media (max-width:480px){.hub-hero{padding:30px 0 20px}.hub-hero-title{font-size:1.8rem}.hub-hero-subtitle{font-size:.95rem}.hub-hero-badge{font-size:.75rem}}.hub-event-context-bar{background:linear-gradient(135deg,rgb(var(--hub-accent-rgb) / .06) 0,var(--hub-elev) 100%);border-bottom:1px solid rgb(var(--hub-accent-rgb) / .2);border-top:1px solid rgb(var(--hub-accent-rgb) / .08);padding:12px 0;position:sticky;top:60px;z-index:90;backdrop-filter:blur(10px);transition:all .3s ease}.event-context-content{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.event-context-label{display:flex;align-items:center;gap:8px;color:rgb(var(--hub-overlay-rgb) / .7);font-size:.85rem;white-space:nowrap}.event-context-label svg{stroke:var(--hub-accent);flex-shrink:0}.hub-event-select{background:rgb(var(--hub-overlay-rgb) / .05);border:1px solid rgb(var(--hub-accent-rgb) / .3);border-radius:8px;color:var(--hub-ink);padding:8px 16px;font-size:.88rem;min-width:280px;max-width:480px;cursor:pointer;transition:all .3s ease;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238BFF22' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.hub-event-select:hover{border-color:var(--hub-accent);background-color:rgb(var(--hub-accent-rgb) / .08)}.hub-event-select:focus{outline:0;border-color:var(--hub-accent);box-shadow:0 0 0 3px rgb(var(--hub-accent-rgb) / .15)}.hub-event-select optgroup,.hub-event-select option{background:var(--hub-bg);color:var(--hub-ink)}.event-context-info{display:flex;align-items:center;gap:8px;font-size:.8rem;animation:fadeIn .3s ease}.event-context-info span{padding:3px 10px;border-radius:12px;background:rgb(var(--hub-overlay-rgb) / .06);color:rgb(var(--hub-overlay-rgb) / .8);white-space:nowrap}.event-context-info .status-published{background:rgb(var(--hub-accent-rgb) / .15);color:var(--hub-accent)}.event-context-info .status-draft{background:rgb(var(--hub-accent-rgb) / .15);color:var(--hub-warning)}.btn-event-context-clear{background:0 0;border:1px solid rgb(var(--hub-error-rgb) / .3);color:var(--hub-error);border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.75rem;transition:all .3s;flex-shrink:0}.btn-event-context-clear:hover{background:rgb(var(--hub-error-rgb) / .15);border-color:var(--hub-error)}.btn-event-action{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,rgb(var(--hub-accent-rgb) / .15),rgb(var(--hub-accent-rgb) / .05));border:1px solid rgb(var(--hub-accent-rgb) / .4);color:var(--hub-accent);padding:8px 16px;border-radius:8px;font-size:.85rem;cursor:pointer;transition:all .3s;font-weight:500}.btn-event-action:hover{background:rgb(var(--hub-accent-rgb) / .25);transform:translateY(-1px);box-shadow:0 4px 12px rgb(var(--hub-accent-rgb) / .2)}.btn-event-action:active{transform:translateY(0)}.btn-event-action.secondary{background:rgb(var(--hub-overlay-rgb) / .05);border-color:rgb(var(--hub-overlay-rgb) / .2);color:rgb(var(--hub-overlay-rgb) / .8)}.btn-event-action.secondary:hover{background:rgb(var(--hub-overlay-rgb) / .1);border-color:rgb(var(--hub-overlay-rgb) / .3)}.event-context-badge{display:none;align-items:center;gap:4px;font-size:.7rem;padding:2px 8px;border-radius:10px;background:rgb(var(--hub-accent-rgb) / .1);color:var(--hub-accent);border:1px solid rgb(var(--hub-accent-rgb) / .2);margin-top:8px;white-space:nowrap}body.has-event-context .event-context-badge{display:inline-flex}body.has-event-context .hub-card{position:relative}body.has-event-context .hub-card::after{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--hub-accent);border-radius:3px 0 0 3px;opacity:0;transition:opacity .3s}body.has-event-context .hub-card:hover::after{opacity:.6}@keyframes fadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.event-context-content{flex-direction:column;align-items:stretch}.hub-event-select{min-width:100%;max-width:100%}.event-context-info{justify-content:center}.event-context-label{justify-content:center}}@media (max-width:480px){.hub-event-context-bar{padding:10px 0}.hub-event-select{font-size:.82rem;padding:7px 12px}}.event-hub-dashboard{margin-top:14px;animation:fadeIn .4s ease}.ehd-summary-row{display:flex;gap:8px;flex-wrap:wrap}.ehd-stat{display:flex;align-items:center;gap:6px;padding:8px 14px;background:rgb(var(--hub-overlay-rgb) / .04);border:1px solid rgb(var(--hub-overlay-rgb) / .08);border-radius:10px;cursor:pointer;transition:all .3s ease;flex:1;min-width:130px}.ehd-stat:hover{background:rgb(var(--hub-accent-rgb) / .08);border-color:rgb(var(--hub-accent-rgb) / .3);transform:translateY(-1px)}.ehd-stat.active{background:rgb(var(--hub-accent-rgb) / .12);border-color:rgb(var(--hub-accent-rgb) / .5)}.ehd-stat-icon{font-size:1.2rem;flex-shrink:0}.ehd-stat-num{font-weight:700;font-size:1.1rem;color:var(--hub-accent)}.ehd-stat-label{font-size:.75rem;color:rgb(var(--hub-overlay-rgb) / .6);white-space:nowrap}.ehd-detail-section{margin-top:12px;background:rgb(var(--hub-overlay-rgb) / .03);border:1px solid rgb(var(--hub-overlay-rgb) / .08);border-radius:12px;overflow:hidden;animation:fadeIn .3s ease}.ehd-section-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:rgb(var(--hub-overlay-rgb) / .03);border-bottom:1px solid rgb(var(--hub-overlay-rgb) / .06)}.ehd-section-header h4{font-size:.95rem;color:var(--hub-ink);margin:0}.ehd-section-close{background:0 0;border:none;color:rgb(var(--hub-overlay-rgb) / .5);cursor:pointer;font-size:1rem;padding:4px 8px;border-radius:4px;transition:all .2s}.ehd-section-close:hover{background:rgb(var(--hub-error-rgb) / .15);color:var(--hub-error)}.ehd-section-body{padding:12px 16px;max-height:350px;overflow-y:auto}.ehd-empty{text-align:center;padding:20px;color:rgb(var(--hub-overlay-rgb) / .4);font-size:.85rem}.ehd-loading{text-align:center;padding:16px;color:rgb(var(--hub-overlay-rgb) / .5);font-size:.85rem}.ehd-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:rgb(var(--hub-overlay-rgb) / .03);border:1px solid rgb(var(--hub-overlay-rgb) / .06);border-radius:8px;margin-bottom:8px;transition:background .2s}.ehd-item:last-child{margin-bottom:0}.ehd-item:hover{background:rgb(var(--hub-overlay-rgb) / .06)}.ehd-item-info{flex:1;min-width:0}.ehd-item-title{font-size:.9rem;color:var(--hub-ink);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ehd-item-meta{display:flex;align-items:center;gap:8px;margin-top:3px;font-size:.75rem;color:rgb(var(--hub-overlay-rgb) / .5)}.ehd-item-status{display:inline-flex;align-items:center;padding:2px 10px;border-radius:12px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.ehd-item-status.status-pending{background:rgb(var(--hub-accent-rgb) / .15);color:var(--hub-warning);border:1px solid rgb(var(--hub-accent-rgb) / .3)}.ehd-item-status.status-accepted{background:rgb(var(--hub-accent-rgb) / .15);color:var(--hub-accent);border:1px solid rgb(var(--hub-accent-rgb) / .3)}.ehd-item-status.status-declined{background:rgb(var(--hub-error-rgb) / .15);color:var(--hub-error);border:1px solid rgb(var(--hub-error-rgb) / .3)}.ehd-item-actions{display:flex;gap:6px;flex-shrink:0}.ehd-btn{padding:5px 12px;border-radius:6px;font-size:.78rem;cursor:pointer;border:none;font-weight:500;transition:all .2s}.ehd-btn-accept{background:rgb(var(--hub-accent-rgb) / .15);color:var(--hub-accent);border:1px solid rgb(var(--hub-accent-rgb) / .3)}.ehd-btn-accept:hover{background:rgb(var(--hub-accent-rgb) / .3)}.ehd-btn-decline{background:rgb(var(--hub-error-rgb) / .1);color:var(--hub-error);border:1px solid rgb(var(--hub-error-rgb) / .2)}.ehd-btn-decline:hover{background:rgb(var(--hub-error-rgb) / .25)}.ehd-smart-match-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ehd-smart-col h5{font-size:.85rem;color:rgb(var(--hub-overlay-rgb) / .8);margin:0 0 10px 0;padding-bottom:6px;border-bottom:1px solid rgb(var(--hub-overlay-rgb) / .06)}.ehd-smart-list{display:flex;flex-direction:column;gap:6px;max-height:250px;overflow-y:auto}.ehd-smart-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:rgb(var(--hub-overlay-rgb) / .03);border:1px solid rgb(var(--hub-overlay-rgb) / .06);border-radius:8px;cursor:pointer;transition:all .2s}.ehd-smart-item:hover{background:rgb(var(--hub-accent-rgb) / .06);border-color:rgb(var(--hub-accent-rgb) / .2)}.ehd-smart-item-icon{font-size:1.3rem;flex-shrink:0}.ehd-smart-item-info{flex:1;min-width:0}.ehd-smart-item-name{font-size:.82rem;color:var(--hub-ink);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ehd-smart-item-detail{font-size:.72rem;color:rgb(var(--hub-overlay-rgb) / .5)}.ehd-smart-item-score{background:rgb(var(--hub-accent-rgb) / .1);color:var(--hub-accent);font-size:.7rem;padding:2px 8px;border-radius:10px;font-weight:700;flex-shrink:0}.ehd-smart-item-btn{padding:4px 10px;background:rgb(var(--hub-accent-rgb) / .12);border:1px solid rgb(var(--hub-accent-rgb) / .3);color:var(--hub-accent);border-radius:6px;font-size:.72rem;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.ehd-smart-item-btn:hover{background:rgb(var(--hub-accent-rgb) / .25)}.event-incoming-panel{margin-top:12px;background:rgb(var(--hub-accent-rgb) / .04);border:1px solid rgb(var(--hub-accent-rgb) / .15);border-radius:12px;overflow:hidden;animation:fadeIn .3s ease}.event-incoming-panel .ehd-section-header{background:rgb(var(--hub-accent-rgb) / .06);border-bottom:1px solid rgb(var(--hub-accent-rgb) / .1)}@media (max-width:768px){.ehd-summary-row{gap:6px}.ehd-stat{min-width:calc(50% - 6px);flex:none}.ehd-smart-match-grid{grid-template-columns:1fr}.ehd-item{flex-direction:column;align-items:flex-start}.ehd-item-actions{width:100%;justify-content:flex-end}}@media (max-width:480px){.ehd-stat{min-width:100%;padding:6px 10px}}@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.hub-card-skeleton{background:rgb(var(--hub-overlay-rgb) / .04);border:1px solid rgb(var(--hub-overlay-rgb) / .06);border-radius:12px;padding:20px;min-height:200px;position:relative;overflow:hidden}.hub-card-skeleton::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 25%,rgb(var(--hub-overlay-rgb) / .04) 50%,transparent 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.hub-card-skeleton .skel-line{height:14px;border-radius:4px;background:rgb(var(--hub-overlay-rgb) / .06);margin-bottom:12px}.hub-card-skeleton .skel-line.skel-title{width:70%;height:18px}.hub-card-skeleton .skel-line.skel-text{width:90%}.hub-card-skeleton .skel-line.skel-short{width:40%}.hub-card-skeleton .skel-circle{width:36px;height:36px;border-radius:50%;background:rgb(var(--hub-overlay-rgb) / .06)}.board-item-skeleton{display:flex;align-items:center;gap:14px;padding:16px;border-bottom:1px solid rgb(var(--hub-overlay-rgb) / .04)}.board-item-skeleton .skel-circle{width:40px;height:40px;border-radius:50%;background:rgb(var(--hub-overlay-rgb) / .06);flex-shrink:0}.board-item-skeleton .skel-lines{flex:1}.board-item-skeleton .skel-lines .skel-line{height:12px;border-radius:4px;background:rgb(var(--hub-overlay-rgb) / .06);margin-bottom:8px}.board-item-skeleton .skel-lines .skel-line:first-child{width:60%;height:16px}.board-item-skeleton .skel-lines .skel-line:last-child{width:80%;margin-bottom:0}.btn-loading{pointer-events:none;opacity:.7;position:relative}.btn-loading .btn-text{opacity:.5}.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgb(var(--hub-overlay-rgb) / .3);border-top-color:var(--hub-ink);border-radius:50%;animation:spin .6s linear infinite;margin-right:6px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.hub-offline-banner{position:fixed;top:0;left:0;right:0;z-index:10000;background:linear-gradient(135deg,var(--hub-error),var(--hub-error));color:var(--hub-ink);text-align:center;padding:10px 16px;font-size:.85rem;font-weight:600;display:none;animation:slideDown .3s ease}.hub-offline-banner.visible{display:block}@keyframes slideDown{from{transform:translateY(-100%)}to{transform:translateY(0)}}.skip-link{position:absolute;left:-9999px;top:auto;z-index:10001;padding:10px 20px;background:var(--primary-color);color:var(--hub-on-accent);font-weight:700;border-radius:0 0 8px 0;font-size:.9rem;text-decoration:none}.skip-link:focus{left:0;top:0}.hub-toast{position:relative;padding-right:36px}.hub-toast.warning{background:rgb(var(--hub-accent-rgb) / .92);border:1px solid var(--hub-warning);color:var(--hub-on-accent)}.hub-toast .toast-close{position:absolute;top:50%;right:8px;transform:translateY(-50%);background:0 0;border:none;color:inherit;font-size:1.1rem;cursor:pointer;opacity:.6;padding:2px 6px;line-height:1}.hub-toast .toast-close:hover{opacity:1}.hub-toast .toast-action{display:inline-block;margin-left:10px;padding:3px 10px;background:rgb(var(--hub-overlay-rgb) / .2);border:1px solid rgb(var(--hub-overlay-rgb) / .3);border-radius:4px;color:inherit;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .2s}.hub-toast .toast-action:hover{background:rgb(var(--hub-overlay-rgb) / .35)}.ehd-detail-section.ehd-animated{max-height:0;overflow:hidden;opacity:0;transition:max-height .4s ease,opacity .3s ease,margin-top .3s ease;margin-top:0!important;display:block!important;border-color:transparent}.ehd-detail-section.ehd-section-open{max-height:600px;opacity:1;margin-top:12px!important;border-color:rgb(var(--hub-overlay-rgb) / .08)}@keyframes cardSlideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.card-animate-in{animation:cardSlideUp .35s ease forwards;opacity:0}.confirm-dialog-content{max-width:440px;margin:0 auto}.confirm-dialog-body{text-align:center;padding:24px 20px}.confirm-dialog-body .confirm-icon{font-size:2.5rem;margin-bottom:12px}.confirm-dialog-body h3{color:var(--hub-ink);font-size:1.15rem;margin:0 0 8px 0}.confirm-dialog-body p{color:rgb(var(--hub-overlay-rgb) / .6);font-size:.88rem;margin:0 0 16px 0;line-height:1.5}.confirm-dialog-body input[type=text],.confirm-dialog-body textarea{width:100%;padding:10px 14px;background:rgb(var(--hub-overlay-rgb) / .06);border:1px solid rgb(var(--hub-overlay-rgb) / .12);border-radius:8px;color:var(--hub-ink);font-size:.88rem;resize:vertical;margin-bottom:4px;font-family:inherit}.confirm-dialog-body input[type=text]:focus,.confirm-dialog-body textarea:focus{outline:0;border-color:rgb(var(--hub-accent-rgb) / .4)}.confirm-dialog-footer{display:flex;gap:10px;justify-content:center;padding:0 20px 20px}.confirm-dialog-footer .btn-confirm{padding:10px 24px;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-size:.88rem;transition:all .2s}.confirm-dialog-footer .btn-confirm.primary{background:var(--primary-color);color:var(--hub-on-accent)}.confirm-dialog-footer .btn-confirm.primary:hover{background:var(--hub-accent)}.confirm-dialog-footer .btn-confirm.danger{background:rgb(var(--hub-error-rgb) / .15);color:var(--hub-error);border:1px solid rgb(var(--hub-error-rgb) / .3)}.confirm-dialog-footer .btn-confirm.danger:hover{background:rgb(var(--hub-error-rgb) / .3)}.confirm-dialog-footer .btn-confirm.cancel{background:rgb(var(--hub-overlay-rgb) / .06);color:rgb(var(--hub-overlay-rgb) / .7);border:1px solid rgb(var(--hub-overlay-rgb) / .1)}.confirm-dialog-footer .btn-confirm.cancel:hover{background:rgb(var(--hub-overlay-rgb) / .12)}.ehd-filter-row{display:flex;gap:8px;padding:8px 16px;align-items:center;border-bottom:1px solid rgb(var(--hub-overlay-rgb) / .04)}.ehd-filter-row input,.ehd-filter-row select{padding:5px 10px;background:rgb(var(--hub-overlay-rgb) / .06);border:1px solid rgb(var(--hub-overlay-rgb) / .1);border-radius:6px;color:var(--hub-ink);font-size:.78rem;flex:1;max-width:200px}.ehd-filter-row input:focus,.ehd-filter-row select:focus{outline:0;border-color:rgb(var(--hub-accent-rgb) / .4)}.ehd-filter-row label{font-size:.75rem;color:rgb(var(--hub-overlay-rgb) / .5);white-space:nowrap}.char-counter{display:block;text-align:right;font-size:.72rem;color:rgb(var(--hub-overlay-rgb) / .4);margin-top:4px}.char-counter.warning{color:var(--hub-warning)}.char-counter.limit{color:var(--hub-error)}.incoming-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--hub-error);color:var(--hub-ink);font-size:.7rem;font-weight:700;border-radius:10px;margin-left:8px;animation:badgePulse 2s ease infinite}@keyframes badgePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}.event-action-hint{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:rgb(var(--hub-overlay-rgb) / .04);border:1px dashed rgb(var(--hub-overlay-rgb) / .15);border-radius:6px;color:rgb(var(--hub-overlay-rgb) / .35);font-size:.72rem;cursor:help;margin-top:6px}@keyframes ehdPulse{0%{box-shadow:0 0 0 0 rgb(var(--hub-accent-rgb) / .4)}70%{box-shadow:0 0 0 6px rgb(var(--hub-accent-rgb) / 0)}100%{box-shadow:0 0 0 0 rgb(var(--hub-accent-rgb) / 0)}}.ehd-stat.updated{animation:ehdPulse .8s ease}@media (max-width:768px){.hub-messaging.msg-show-chat .msg-sidebar{display:none}.hub-messaging.msg-show-chat .msg-main{display:flex!important}.hub-messaging .msg-main{display:none}.msg-back-btn{display:flex;align-items:center;gap:6px;background:0 0;border:none;color:var(--primary-color);font-size:.85rem;cursor:pointer;padding:4px 8px;margin-right:10px}}@media (min-width:769px){.msg-back-btn{display:none}}@media (max-width:480px){.ehd-stat{min-width:calc(33.33% - 6px)!important;flex:none!important;padding:5px 8px!important}.ehd-stat-label{display:none!important}}@media (max-width:768px){.hub-tab{position:relative}.hub-tab:active::after,.hub-tab:focus::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:rgb(0 0 0 / .9);color:var(--hub-ink);padding:4px 10px;border-radius:6px;font-size:.72rem;white-space:nowrap;pointer-events:none;z-index:100}}.btn-hub-action:focus-visible,.btn-hub-submit:focus-visible,.ehd-btn:focus-visible,.ehd-stat:focus-visible,.hub-card:focus-visible,.hub-tab:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.hub-modal:focus-visible{outline:0}.hub-mode-switcher{display:flex;align-items:center;justify-content:center;gap:0;margin:0 auto 1.8rem;position:relative;max-width:500px}.hub-mode-option{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.2rem 1.5rem;cursor:pointer;border:2px solid rgb(var(--hub-accent-rgb) / .08);background:var(--hub-elev);transition:all .5s cubic-bezier(.4, 0, .2, 1);user-select:none;overflow:hidden;z-index:1}.hub-mode-option:first-child{border-radius:20px 0 0 20px;border-right:none}.hub-mode-option:last-child{border-radius:0 20px 20px 0;border-left:none}.hub-mode-option::before{content:'';position:absolute;inset:0;opacity:0;transition:opacity .5s ease;z-index:-1}.hub-mode-option[data-mode=hub]::before{background:radial-gradient(ellipse at center,rgb(var(--hub-accent-rgb) / .12) 0,transparent 70%)}.hub-mode-option[data-mode=flights]::before{background:radial-gradient(ellipse at center,rgb(var(--hub-accent-rgb) / .12) 0,transparent 70%)}.hub-mode-option.active::before{opacity:1}.hub-mode-option.active[data-mode=hub]{border-color:rgb(var(--hub-accent-rgb) / .35);background:rgb(var(--hub-accent-rgb) / .06);box-shadow:0 0 30px rgb(var(--hub-accent-rgb) / .1),inset 0 0 30px rgb(var(--hub-accent-rgb) / .03)}.hub-mode-option.active[data-mode=flights]{border-color:rgb(var(--hub-accent-rgb) / .35);background:rgb(var(--hub-accent-rgb) / .06);box-shadow:0 0 30px rgb(var(--hub-accent-rgb) / .1),inset 0 0 30px rgb(var(--hub-accent-rgb) / .03)}.hub-mode-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;transition:all .5s cubic-bezier(.4, 0, .2, 1);position:relative}.hub-mode-option[data-mode=hub] .hub-mode-icon{background:rgb(var(--hub-accent-rgb) / .08);border:2px solid rgb(var(--hub-accent-rgb) / .15)}.hub-mode-option[data-mode=flights] .hub-mode-icon{background:rgb(var(--hub-accent-rgb) / .08);border:2px solid rgb(var(--hub-accent-rgb) / .15)}.hub-mode-option.active[data-mode=hub] .hub-mode-icon{background:rgb(var(--hub-accent-rgb) / .15);border-color:rgb(var(--hub-accent-rgb) / .4);transform:scale(1.1);box-shadow:0 0 20px rgb(var(--hub-accent-rgb) / .2)}.hub-mode-option.active[data-mode=flights] .hub-mode-icon{background:rgb(var(--hub-accent-rgb) / .15);border-color:rgb(var(--hub-accent-rgb) / .4);transform:scale(1.1);box-shadow:0 0 20px rgb(var(--hub-accent-rgb) / .2)}.hub-mode-icon::after{content:'';position:absolute;width:8px;height:8px;border-radius:50%;opacity:0;transition:opacity .4s}.hub-mode-option.active .hub-mode-icon::after{opacity:1;animation:hubModeOrbit 3s linear infinite}.hub-mode-option.active[data-mode=hub] .hub-mode-icon::after{background:var(--hub-accent);box-shadow:0 0 8px var(--hub-accent)}.hub-mode-option.active[data-mode=flights] .hub-mode-icon::after{background:var(--hub-info);box-shadow:0 0 8px var(--hub-info)}@keyframes hubModeOrbit{0%{transform:rotate(0) translateX(34px) rotate(0)}100%{transform:rotate(360deg) translateX(34px) rotate(-360deg)}}.hub-mode-label{font-size:1rem;font-weight:700;letter-spacing:.5px;transition:color .4s;color:rgb(var(--hub-overlay-rgb) / .4)}.hub-mode-option.active[data-mode=hub] .hub-mode-label{color:var(--hub-accent)}.hub-mode-option.active[data-mode=flights] .hub-mode-label{color:var(--hub-ink);text-shadow:0 0 12px rgb(var(--hub-accent-rgb) / .5)}.hub-mode-sub{font-size:.72rem;color:rgb(var(--hub-overlay-rgb) / .3);transition:color .4s;text-align:center;line-height:1.3}.hub-mode-option.active .hub-mode-sub{color:rgb(var(--hub-overlay-rgb) / .55)}.hub-mode-divider{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:var(--hub-elev);border:2px solid rgb(var(--hub-accent-rgb) / .15);display:flex;align-items:center;justify-content:center;z-index:5;cursor:pointer;transition:all .4s cubic-bezier(.4, 0, .2, 1);box-shadow:0 0 15px rgb(0 0 0 / .5)}.hub-mode-divider:hover{border-color:rgb(var(--hub-accent-rgb) / .4);transform:translate(-50%,-50%) scale(1.1);box-shadow:0 0 20px rgb(var(--hub-accent-rgb) / .15)}.hub-mode-divider svg{width:18px;height:18px;color:rgb(var(--hub-overlay-rgb) / .5);transition:all .4s}.hub-mode-divider:hover svg{color:var(--hub-accent)}.hub-mode-divider.switching svg{animation:hubDividerSpin .5s ease}@keyframes hubDividerSpin{0%{transform:rotate(0)}100%{transform:rotate(180deg)}}.hub-hero-content.mode-switching{opacity:0;transform:translateY(10px);transition:all .3s cubic-bezier(.4, 0, .2, 1)}.hub-hero.flights-mode .hub-hero-badge{background:rgb(var(--hub-accent-rgb) / .12);border-color:rgb(var(--hub-accent-rgb) / .25);color:var(--hub-info)}.hub-hero.flights-mode .gradient-text{background:linear-gradient(135deg,var(--hub-info),var(--hub-info));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hub-hero.flights-mode .hero-stat-num{color:var(--hub-info)}.hub-hero.flights-mode .hub-search-btn{background:linear-gradient(135deg,var(--hub-info),var(--hub-info))}.hub-flights-container{display:none}.hub-flights-embed .search-card{max-width:900px;margin:0 auto}.hf-empty-state{padding:3rem 2rem;text-align:center}.hf-empty-state i[data-lucide],.hf-empty-state svg{width:48px;height:48px;color:rgb(var(--hub-accent-rgb) / .3);margin-bottom:1rem}.hf-empty-state h3{font-size:1.2rem;font-weight:700;margin-bottom:.5rem;color:var(--text-light)}.hf-empty-state p{color:var(--text-gray);font-size:.9rem;margin-bottom:1.5rem}.hf-open-full-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.65rem 1.4rem;border-radius:12px;background:rgb(var(--hub-accent-rgb) / .1);border:1px solid rgb(var(--hub-accent-rgb) / .25);color:var(--hub-info);font-size:.85rem;font-weight:600;text-decoration:none;transition:all .3s;cursor:pointer}.hf-open-full-btn:hover{background:rgb(var(--hub-accent-rgb) / .2);border-color:rgb(var(--hub-accent-rgb) / .4);transform:translateY(-1px)}.hf-open-full-btn i[data-lucide],.hf-open-full-btn svg{width:14px;height:14px}.hub-hero.flights-mode~.hub-event-context-bar{display:none!important}@media (max-width:600px){.hub-mode-switcher{max-width:100%}.hub-mode-option{padding:1rem .75rem}.hub-mode-icon{width:44px;height:44px;font-size:1.3rem}.hub-mode-label{font-size:.85rem}.hub-mode-sub{font-size:.65rem}.hub-mode-divider{width:34px;height:34px}.hub-mode-divider svg{width:14px;height:14px}}
/* css/flights.css */
.flights-hero{padding:2rem 0 1rem;background:linear-gradient(180deg,var(--hub-elev) 0,transparent 100%)}.flights-hero h1{font-size:1.8rem;font-weight:700;margin-bottom:.25rem}.flights-hero h1 i[data-lucide]{width:28px;height:28px;margin-right:.5rem;color:var(--primary-color);vertical-align:-4px}.flights-hero p{color:var(--text-gray);font-size:.95rem}.search-card{background:var(--hub-surface);backdrop-filter:blur(12px);border:1px solid rgb(var(--hub-accent-rgb) / .1);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem}.trip-type-toggle{display:flex;gap:.5rem;margin-bottom:1.25rem}.trip-type-btn{padding:.5rem 1.25rem;border-radius:20px;font-size:.85rem;font-weight:600;color:var(--text-gray);background:var(--hub-elev);border:1px solid rgb(var(--hub-accent-rgb) / .1);cursor:pointer;transition:var(--transition)}.trip-type-btn.active{background:var(--primary-color);color:var(--hub-bg);border-color:var(--primary-color)}.trip-type-btn:hover:not(.active){border-color:rgb(var(--hub-accent-rgb) / .3);color:var(--text-light)}.search-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.search-form-grid.with-return{grid-template-columns:1fr 1fr 1fr 1fr}.search-row-secondary{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:1rem;align-items:end}.flight-input-group{position:relative}.flight-input-group label{display:block;font-size:.75rem;font-weight:600;color:var(--text-gray);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.4rem}.flight-input-group .input-wrapper{position:relative}.flight-input-group .input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--primary-color);pointer-events:none}.flight-input-group input,.flight-input-group select{width:100%;padding:.75rem .75rem .75rem 40px;background:var(--hub-elev);border:1px solid rgb(var(--hub-accent-rgb) / .15);border-radius:10px;color:var(--text-light);font-size:.95rem;font-family:inherit;transition:var(--transition)}.flight-input-group select{padding-left:40px;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23C0C0C0' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.flight-input-group input:focus,.flight-input-group select:focus{outline:0;border-color:var(--primary-color);box-shadow:0 0 0 3px rgb(var(--hub-accent-rgb) / .1)}.flight-input-group input::placeholder{color:rgb(var(--hub-ink-rgb) / .5)}.flight-input-group input[type=date]{color-scheme:dark;cursor:pointer}.flight-input-group input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.7) sepia(1) saturate(3) hue-rotate(80deg);cursor:pointer;opacity:.7;padding-left:4px}.swap-airports-btn{position:absolute;right:-22px;top:50%;transform:translateY(-50%);z-index:5;width:32px;height:32px;border-radius:50%;background:var(--bg-lighter);border:1px solid rgb(var(--hub-accent-rgb) / .2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);color:var(--primary-color)}.swap-airports-btn:hover{background:var(--primary-color);color:var(--hub-bg)}.swap-airports-btn svg{width:16px;height:16px}.search-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 2rem;background:var(--primary-color);color:var(--hub-bg);border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:var(--transition);white-space:nowrap;min-height:46px}.search-btn:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 16px rgb(var(--hub-accent-rgb) / .3)}.search-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.search-btn i[data-lucide]{width:20px;height:20px}.passenger-selector{position:relative}.passenger-display{cursor:pointer}.passenger-dropdown{display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:260px;background:var(--bg-dark);border:1px solid rgb(var(--hub-accent-rgb) / .2);border-radius:12px;padding:1rem;z-index:50;box-shadow:var(--hub-shadow)}.passenger-dropdown.open{display:block}.pax-row{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0}.pax-row+.pax-row{border-top:1px solid rgb(var(--hub-accent-rgb) / .06)}.pax-label{display:flex;flex-direction:column}.pax-label span:first-child{font-size:.9rem;font-weight:600;color:var(--text-light)}.pax-label span:last-child{font-size:.75rem;color:var(--text-gray)}.pax-controls{display:flex;align-items:center;gap:.75rem}.pax-btn{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgb(var(--hub-accent-rgb) / .1);border:1px solid rgb(var(--hub-accent-rgb) / .2);color:var(--primary-color);font-size:1.1rem;font-weight:700;cursor:pointer;transition:var(--transition)}.pax-btn:hover:not(:disabled){background:var(--primary-color);color:var(--hub-bg)}.pax-btn:disabled{opacity:.3;cursor:not-allowed}.pax-count{font-size:1rem;font-weight:700;min-width:20px;text-align:center;color:var(--text-light)}.autocomplete-dropdown{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:320px;overflow-y:auto;background:var(--bg-dark);border:1px solid rgb(var(--hub-accent-rgb) / .2);border-radius:12px;z-index:100;box-shadow:var(--hub-shadow)}.autocomplete-dropdown.open{display:block}.autocomplete-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background .15s ease}.autocomplete-item.highlighted,.autocomplete-item:hover{background:rgb(var(--hub-accent-rgb) / .08)}.autocomplete-item+.autocomplete-item{border-top:1px solid rgb(var(--hub-accent-rgb) / .05)}.ac-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:rgb(var(--hub-accent-rgb) / .08);color:var(--primary-color);flex-shrink:0}.ac-icon i[data-lucide],.ac-icon svg{width:18px;height:18px}.ac-info{flex:1;min-width:0}.ac-name{font-weight:600;font-size:.9rem;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ac-detail{font-size:.78rem;color:var(--text-gray)}.ac-iata{font-size:.85rem;font-weight:700;color:var(--primary-color);flex-shrink:0}.autocomplete-empty,.autocomplete-loading{padding:1rem;text-align:center;color:var(--text-gray);font-size:.85rem}.results-layout{display:grid;grid-template-columns:280px 1fr;gap:1.5rem;padding-bottom:6rem}.filter-sidebar{position:sticky;top:90px;max-height:calc(100vh - 110px);overflow-y:auto}.filter-section{background:var(--hub-surface);border:1px solid rgb(var(--hub-accent-rgb) / .08);border-radius:12px;padding:1rem;margin-bottom:1rem}.filter-section h3{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-gray);margin-bottom:.75rem;display:flex;align-items:center;gap:.4rem}.filter-section h3 i[data-lucide]{width:14px;height:14px;color:var(--primary-color)}.stops-filter{display:flex;flex-direction:column;gap:.4rem}.stop-option{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;border-radius:8px;cursor:pointer;transition:background .15s ease}.stop-option:hover{background:rgb(var(--hub-accent-rgb) / .05)}.stop-option input[type=checkbox]{accent-color:var(--primary-color);width:16px;height:16px;cursor:pointer}.stop-option label{flex:1;font-size:.85rem;color:var(--text-light);cursor:pointer}.stop-option .count{font-size:.75rem;color:var(--text-gray)}.airlines-filter{display:flex;flex-direction:column;gap:.35rem;max-height:200px;overflow-y:auto}.airline-option{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;border-radius:8px;cursor:pointer;transition:background .15s ease}.airline-option:hover{background:rgb(var(--hub-accent-rgb) / .05)}.airline-option input[type=checkbox]{accent-color:var(--primary-color);width:15px;height:15px;cursor:pointer}.airline-option img{width:22px;height:22px;border-radius:3px;object-fit:contain;flex-shrink:0}.airline-option label{flex:1;font-size:.83rem;color:var(--text-light);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.airline-option .count{font-size:.72rem;color:var(--text-gray);flex-shrink:0}.time-filter{display:flex;flex-wrap:wrap;gap:.4rem}.time-chip{padding:.35rem .7rem;border-radius:16px;font-size:.78rem;font-weight:600;background:var(--hub-elev);border:1px solid rgb(var(--hub-accent-rgb) / .1);color:var(--text-gray);cursor:pointer;transition:var(--transition)}.time-chip.active{background:rgb(var(--hub-accent-rgb) / .15);border-color:var(--primary-color);color:var(--primary-color)}.time-chip:hover:not(.active){border-color:rgb(var(--hub-accent-rgb) / .3);color:var(--text-light)}.price-range-filter{padding:.25rem 0}.price-range-labels{display:flex;justify-content:space-between;font-size:.78rem;color:var(--text-gray);margin-bottom:.5rem}.price-range-labels span{font-weight:600}.price-range-filter input[type=range]{width:100%;height:4px;border-radius:2px;background:rgb(var(--hub-accent-rgb) / .15);outline:0;-webkit-appearance:none;appearance:none}.price-range-filter input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--primary-color);cursor:pointer;border:2px solid var(--hub-bg);box-shadow:0 2px 8px rgb(var(--hub-accent-rgb) / .3)}.price-range-filter input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--primary-color);cursor:pointer;border:2px solid var(--hub-bg)}.filter-clear-btn{display:block;width:100%;margin-top:.75rem;padding:.5rem;background:0 0;border:1px solid rgb(var(--hub-accent-rgb) / .15);border-radius:8px;color:var(--text-gray);font-size:.8rem;font-weight:600;cursor:pointer;transition:var(--transition)}.filter-clear-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.results-count{font-size:.9rem;color:var(--text-gray)}.results-count strong{color:var(--primary-color);font-weight:700}.sort-tabs{display:flex;gap:.35rem;background:var(--hub-surface);border:1px solid rgb(var(--hub-accent-rgb) / .08);border-radius:10px;padding:.25rem}.sort-tab{padding:.5rem 1rem;border-radius:8px;font-size:.82rem;font-weight:600;color:var(--text-gray);cursor:pointer;transition:var(--transition);border:none;background:0 0;display:flex;flex-direction:column;align-items:center;gap:2px}.sort-tab .sort-label{font-size:.78rem}.sort-tab .sort-value{font-size:.72rem;opacity:.7}.sort-tab.active{background:var(--primary-color);color:var(--hub-bg)}.sort-tab.active .sort-value{opacity:.8}.sort-tab:hover:not(.active){background:rgb(var(--hub-accent-rgb) / .08);color:var(--text-light)}.flight-card{background:var(--hub-surface);border:1px solid rgb(var(--hub-accent-rgb) / .08);border-radius:14px;padding:1.25rem;margin-bottom:.75rem;transition:var(--transition);display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}.flight-card:hover{border-color:rgb(var(--hub-accent-rgb) / .2);background:var(--hub-surface);transform:translateY(-1px);box-shadow:var(--hub-shadow)}.flight-itinerary{display:flex;flex-direction:column;gap:.75rem}.itinerary-row{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center}.itinerary-airline{display:flex;align-items:center;gap:.6rem;min-width:140px}.airline-logo{width:36px;height:36px;border-radius:6px;object-fit:contain;background:rgb(var(--hub-overlay-rgb) / .05);padding:2px}.airline-logo.fallback{display:flex;align-items:center;justify-content:center;background:rgb(var(--hub-accent-rgb) / .1);color:var(--primary-color);font-weight:700;font-size:.7rem}.airline-name{font-size:.8rem;color:var(--text-gray);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.flight-number{font-size:.72rem;color:rgb(var(--hub-ink-rgb) / .6)}.route-visual{display:flex;align-items:center;gap:.75rem;padding:0 .5rem}.route-time{text-align:center}.route-time .time{font-size:1.15rem;font-weight:700;color:var(--text-light);letter-spacing:-.5px}.route-time .airport{font-size:.75rem;color:var(--text-gray);font-weight:600}.route-line{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;position:relative;min-width:100px}.route-duration{font-size:.72rem;color:var(--text-gray)}.route-bar{width:100%;height:2px;background:rgb(var(--hub-accent-rgb) / .25);position:relative;border-radius:1px}.route-bar::after,.route-bar::before{content:'';position:absolute;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--primary-color)}.route-bar::before{left:0}.route-bar::after{right:0}.route-stops{display:flex;gap:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.route-stop-dot{width:8px;height:8px;border-radius:50%;background:var(--hub-warning);border:2px solid var(--bg-dark)}.route-stops-label{font-size:.7rem;color:var(--hub-warning);font-weight:600}.itinerary-direction-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-gray);opacity:.7;margin-bottom:-.3rem}.flight-price-col{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;min-width:140px;padding-left:1rem;border-left:1px solid rgb(var(--hub-accent-rgb) / .06)}.flight-price{font-size:1.6rem;font-weight:800;color:var(--primary-color);letter-spacing:-1px}.flight-price .currency{font-size:.85rem;font-weight:600}.flight-price-per{font-size:.72rem;color:var(--text-gray)}.flight-badges{display:flex;flex-wrap:wrap;gap:.3rem;justify-content:flex-end}.flight-badge{padding:.2rem .5rem;border-radius:6px;font-size:.68rem;font-weight:600;white-space:nowrap}.badge-direct{background:rgb(var(--hub-accent-rgb) / .12);color:var(--primary-color)}.badge-fare{background:rgb(var(--hub-accent-rgb) / .12);color:var(--hub-accent)}.badge-refundable{background:rgb(var(--hub-accent-rgb) / .12);color:var(--hub-success)}.badge-changeable{background:rgb(var(--hub-accent-rgb) / .12);color:var(--hub-warning)}.badge-co2{background:rgb(var(--hub-accent-rgb) / .12);color:var(--hub-success)}.badge-seats{background:rgb(var(--hub-error-rgb) / .12);color:var(--hub-error)}.baggage-info{display:flex;gap:.6rem;font-size:.72rem;color:var(--text-gray)}.baggage-info i[data-lucide]{width:13px;height:13px;vertical-align:-2px;margin-right:2px}.select-flight-btn{width:100%;padding:.6rem;background:var(--primary-color);color:var(--hub-bg);border:none;border-radius:8px;font-size:.85rem;font-weight:700;cursor:pointer;transition:var(--transition)}.select-flight-btn:hover{background:var(--primary-dark);box-shadow:0 2px 12px rgb(var(--hub-accent-rgb) / .3)}.results-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.results-state i[data-lucide]{width:48px;height:48px;color:var(--primary-color);margin-bottom:1rem;opacity:.6}.results-state h3{font-size:1.1rem;margin-bottom:.5rem}.results-state p{color:var(--text-gray);font-size:.9rem;max-width:400px}.spinner-ring{width:40px;height:40px;border:3px solid rgb(var(--hub-accent-rgb) / .15);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.search-progress{margin-top:1rem;font-size:.82rem;color:var(--text-gray)}.mobile-filter-toggle{display:none;align-items:center;gap:.5rem;padding:.6rem 1rem;background:var(--hub-surface);border:1px solid rgb(var(--hub-accent-rgb) / .1);border-radius:10px;color:var(--text-light);font-size:.85rem;font-weight:600;cursor:pointer;margin-bottom:1rem}.mobile-filter-toggle i[data-lucide]{width:16px;height:16px;color:var(--primary-color)}@media (max-width:1024px){.results-layout{grid-template-columns:1fr}.filter-sidebar{position:static;max-height:none;display:none}.filter-sidebar.mobile-open{display:block}.mobile-filter-toggle{display:flex}.search-form-grid.with-return{grid-template-columns:1fr 1fr}}@media (max-width:768px){.flights-hero h1{font-size:1.4rem}.search-card{padding:1rem}.search-form-grid,.search-form-grid.with-return{grid-template-columns:1fr}.swap-airports-btn{position:static;transform:rotate(90deg);margin:-.25rem auto}.search-row-secondary{grid-template-columns:1fr 1fr}.search-btn{grid-column:1/-1}.flight-card{grid-template-columns:1fr;gap:.75rem}.flight-price-col{flex-direction:row;align-items:center;justify-content:space-between;border-left:none;border-top:1px solid rgb(var(--hub-accent-rgb) / .06);padding-left:0;padding-top:.75rem;min-width:auto}.itinerary-row{grid-template-columns:1fr;gap:.5rem}.itinerary-airline{min-width:auto}.route-visual{padding:0}.sort-tabs{width:100%;overflow-x:auto}}@media (max-width:480px){.trip-type-toggle{flex-wrap:wrap}.search-row-secondary{grid-template-columns:1fr}.flight-price{font-size:1.3rem}.flight-card{padding:.9rem}.itinerary-airline{min-width:0;width:80px;flex-shrink:0}.airline-name{max-width:60px;font-size:.72rem}.route-time .time{font-size:.95rem}.route-time .airport{font-size:.68rem}.route-line{min-width:60px}.route-duration{font-size:.65rem}.flight-badges{justify-content:flex-start}.flight-price-col{flex-wrap:wrap;gap:.4rem}}.fb-overlay{position:fixed;inset:0;z-index:2000;background:rgb(0 0 0 / .75);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:fbFadeIn .25s ease}@keyframes fbFadeIn{from{opacity:0}to{opacity:1}}.fb-panel{background:var(--bg-dark);border:1px solid rgb(var(--hub-accent-rgb) / .15);border-radius:16px;width:100%;max-width:640px;max-height:90vh;overflow-y:auto;box-shadow:var(--hub-shadow);animation:fbSlideUp .3s ease}@keyframes fbSlideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fb-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgb(var(--hub-accent-rgb) / .08)}.fb-header h2{font-size:1.1rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.fb-header h2 svg{width:20px;height:20px;color:var(--primary-color)}.fb-close-btn{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:rgb(var(--hub-overlay-rgb) / .05);border:1px solid rgb(var(--hub-overlay-rgb) / .1);color:var(--text-gray);cursor:pointer;transition:var(--transition);font-size:1.2rem}.fb-close-btn:hover{background:rgb(var(--hub-error-rgb) / .15);color:var(--hub-error);border-color:rgb(var(--hub-error-rgb) / .3)}.fb-steps{display:flex;padding:1rem 1.5rem;gap:.5rem;border-bottom:1px solid rgb(var(--hub-accent-rgb) / .05)}.fb-step-dot{flex:1;display:flex;flex-direction:column;align-items:center;gap:.3rem;opacity:.35;transition:var(--transition)}.fb-step-dot.active{opacity:1}.fb-step-dot.done{opacity:.7}.fb-step-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;background:rgb(var(--hub-accent-rgb) / .1);border:2px solid rgb(var(--hub-accent-rgb) / .2);color:var(--text-gray)}.fb-step-dot.active .fb-step-num{background:var(--primary-color);border-color:var(--primary-color);color:var(--hub-bg)}.fb-step-dot.done .fb-step-num{background:rgb(var(--hub-accent-rgb) / .25);border-color:var(--primary-color);color:var(--primary-color)}.fb-step-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-gray)}.fb-step-dot.active .fb-step-label{color:var(--primary-color)}.fb-body{padding:1.5rem}.fb-step-content{display:none}.fb-step-content.visible{display:block;animation:fbFadeIn .2s ease}.fb-price-card{background:var(--hub-surface);border:1px solid rgb(var(--hub-accent-rgb) / .1);border-radius:12px;padding:1.25rem;margin-bottom:1rem}.fb-price-route{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.fb-price-route img{width:36px;height:36px;border-radius:6px;object-fit:contain}.fb-price-route .route-label{font-weight:700;font-size:1rem}.fb-price-route .route-sub{font-size:.8rem;color:var(--text-gray)}.fb-price-amount{text-align:center;margin:1.25rem 0}.fb-price-amount .amount{font-size:2rem;font-weight:800;color:var(--primary-color)}.fb-price-amount .label{font-size:.8rem;color:var(--text-gray);margin-top:.25rem}.fb-price-status{text-align:center;padding:.75rem;border-radius:8px;font-size:.85rem;font-weight:600}.fb-price-status.loading{background:rgb(var(--hub-accent-rgb) / .05);color:var(--text-gray)}.fb-price-status.success{background:rgb(var(--hub-accent-rgb) / .1);color:var(--hub-success)}.fb-price-status.error{background:rgb(var(--hub-error-rgb) / .1);color:var(--hub-error)}.fb-price-status.warning{background:rgb(var(--hub-accent-rgb) / .1);color:var(--hub-warning)}.fb-pax-form{background:var(--hub-surface);border:1px solid rgb(var(--hub-accent-rgb) / .06);border-radius:12px;padding:1rem;margin-bottom:.75rem}.fb-pax-form h4{font-size:.85rem;font-weight:700;margin-bottom:.75rem;display:flex;align-items:center;gap:.4rem;color:var(--primary-color)}.fb-pax-form h4 .pax-type-badge{font-size:.68rem;padding:.15rem .5rem;border-radius:10px;background:rgb(var(--hub-accent-rgb) / .1);color:var(--primary-color);font-weight:600;text-transform:uppercase}.fb-pax-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.fb-pax-grid .full-width{grid-column:1/-1}.fb-field{display:flex;flex-direction:column;gap:.25rem}.fb-field label{font-size:.72rem;font-weight:600;color:var(--text-gray);text-transform:uppercase;letter-spacing:.3px}.fb-field input,.fb-field select{padding:.55rem .75rem;background:var(--hub-elev);border:1px solid rgb(var(--hub-accent-rgb) / .1);border-radius:8px;color:var(--text-light);font-size:.88rem;font-family:inherit;transition:border-color .2s ease}.fb-field input:focus,.fb-field select:focus{outline:0;border-color:var(--primary-color);box-shadow:0 0 0 2px rgb(var(--hub-accent-rgb) / .08)}.fb-field input.error,.fb-field select.error{border-color:var(--hub-error)}.fb-field select{cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23C0C0C0' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.fb-extras-group{margin-bottom:1rem}.fb-extras-group h4{font-size:.82rem;font-weight:700;margin-bottom:.6rem;display:flex;align-items:center;gap:.4rem;color:var(--text-light)}.fb-extras-group h4 svg{width:16px;height:16px;color:var(--primary-color)}.fb-extras-item{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;background:var(--hub-surface);border:1px solid rgb(var(--hub-accent-rgb) / .06);border-radius:8px;margin-bottom:.4rem}.fb-extras-item .item-info{flex:1;min-width:0}.fb-extras-item .item-name{font-size:.85rem;font-weight:600;color:var(--text-light)}.fb-extras-item .item-detail{font-size:.72rem;color:var(--text-gray)}.fb-extras-item .item-price{font-size:.85rem;font-weight:700;color:var(--primary-color);margin:0 .75rem;white-space:nowrap}.fb-extras-item input[type=checkbox],.fb-extras-item select{background:var(--hub-elev);border:1px solid rgb(var(--hub-accent-rgb) / .15);border-radius:6px;color:var(--text-light);padding:.3rem .5rem;font-size:.82rem;font-family:inherit;cursor:pointer}.fb-extras-item input[type=checkbox]{accent-color:var(--primary-color);width:18px;height:18px}.fb-seat-grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.fb-seat-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .65rem;background:var(--hub-surface);border:1px solid rgb(var(--hub-accent-rgb) / .06);border-radius:8px;font-size:.8rem}.fb-seat-item label{flex:1;font-size:.78rem;color:var(--text-gray)}.fb-seat-item select{max-width:120px;background:var(--hub-elev);border:1px solid rgb(var(--hub-accent-rgb) / .12);border-radius:6px;color:var(--text-light);padding:.3rem .4rem;font-size:.78rem;font-family:inherit}.fb-extras-total{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:rgb(var(--hub-accent-rgb) / .06);border:1px solid rgb(var(--hub-accent-rgb) / .12);border-radius:10px;margin-top:.75rem}.fb-extras-total .total-label{font-size:.85rem;color:var(--text-gray)}.fb-extras-total .total-amount{font-size:1.1rem;font-weight:800;color:var(--primary-color)}.fb-no-extras{text-align:center;padding:2rem 1rem;color:var(--text-gray);font-size:.88rem}.fb-no-extras svg{width:32px;height:32px;margin-bottom:.5rem;opacity:.4}.fb-confirm-section{margin-bottom:1rem}.fb-confirm-section h4{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-gray);margin-bottom:.5rem}.fb-confirm-row{display:flex;justify-content:space-between;padding:.35rem 0;font-size:.88rem}.fb-confirm-row .label{color:var(--text-gray)}.fb-confirm-row .value{font-weight:600;color:var(--text-light)}.fb-confirm-total{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:rgb(var(--hub-accent-rgb) / .08);border:1px solid rgb(var(--hub-accent-rgb) / .15);border-radius:10px;margin:1rem 0}.fb-confirm-total .total-label{font-size:1rem;font-weight:600;color:var(--text-light)}.fb-confirm-total .total-amount{font-size:1.5rem;font-weight:800;color:var(--primary-color)}.fb-result{text-align:center;padding:2rem 1rem}.fb-result .result-icon{font-size:3rem;margin-bottom:1rem}.fb-result h3{font-size:1.2rem;margin-bottom:.5rem}.fb-result .ref-code{display:inline-block;padding:.5rem 1.25rem;background:rgb(var(--hub-accent-rgb) / .08);border:1px solid rgb(var(--hub-accent-rgb) / .15);border-radius:8px;font-size:1.1rem;font-weight:700;color:var(--primary-color);letter-spacing:2px;margin:.75rem 0;font-family:monospace}.fb-result .hp-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;background:rgb(var(--hub-accent-rgb) / .1);border:1px solid rgb(var(--hub-accent-rgb) / .2);border-radius:20px;color:var(--hub-warning);font-size:.85rem;font-weight:700;margin:.5rem .25rem}.fb-result .error-msg{color:var(--hub-error);font-size:.9rem;margin:.5rem 0}.fb-btn-primary{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.8rem;background:var(--primary-color);color:var(--hub-bg);border:none;border-radius:10px;font-size:.95rem;font-weight:700;cursor:pointer;transition:var(--transition);margin-top:.5rem}.fb-btn-primary:hover{background:var(--primary-dark);box-shadow:0 4px 16px rgb(var(--hub-accent-rgb) / .3)}.fb-btn-primary:disabled{opacity:.5;cursor:not-allowed}.fb-btn-secondary{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.7rem;background:0 0;color:var(--text-light);border:1px solid rgb(var(--hub-accent-rgb) / .15);border-radius:10px;font-size:.88rem;font-weight:600;cursor:pointer;transition:var(--transition);margin-top:.5rem}.fb-btn-secondary:hover{border-color:var(--primary-color);color:var(--primary-color)}.fb-spinner{width:20px;height:20px;border:2px solid rgb(var(--hub-accent-rgb) / .2);border-top-color:var(--primary-color);border-radius:50%;animation:spin .7s linear infinite;margin:0 auto}.fb-validation-msg{font-size:.78rem;color:var(--hub-error);margin-top:.5rem;text-align:center}@media (max-width:640px){.fb-panel{max-height:95vh;border-radius:12px 12px 0 0;margin-top:auto}.fb-pax-grid{grid-template-columns:1fr}.fb-seat-grid{grid-template-columns:1fr}.fb-steps{padding:.75rem 1rem}.fb-body{padding:1rem}}.flights-page-tabs{display:flex;gap:.5rem;margin-top:1.25rem;justify-content:center}.flights-page-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.5rem;background:0 0;border:1px solid rgb(var(--hub-accent-rgb) / .15);border-radius:24px;color:var(--text-gray);font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--transition);font-family:inherit;position:relative}.flights-page-tab svg{width:16px;height:16px}.flights-page-tab:hover{border-color:rgb(var(--hub-accent-rgb) / .3);color:var(--text-light)}.flights-page-tab.active{background:var(--primary-color);border-color:var(--primary-color);color:var(--hub-bg)}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:10px;font-size:.7rem;font-weight:800;padding:0 5px;background:rgb(var(--hub-accent-rgb) / .15);color:var(--primary-color)}.flights-page-tab.active .tab-badge{background:var(--hub-elev);color:var(--hub-bg)}.mb-section{padding:1.5rem 0 2rem}.mb-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.25rem}.mb-stat{background:var(--hub-surface);border:1px solid rgb(var(--hub-accent-rgb) / .08);border-radius:12px;padding:1rem;text-align:center}.mb-stat-num{font-size:1.6rem;font-weight:800;color:var(--primary-color);line-height:1;margin-bottom:.25rem}.mb-stat-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-gray)}.mb-tabs{display:flex;gap:.25rem;background:var(--hub-elev);border-radius:12px;padding:.25rem;margin-bottom:1rem}.mb-tab{flex:1;padding:.6rem .5rem;background:0 0;border:none;border-radius:10px;color:var(--text-gray);font-size:.82rem;font-weight:600;cursor:pointer;transition:var(--transition);font-family:inherit}.mb-tab:hover{color:var(--text-light);background:rgb(var(--hub-accent-rgb) / .04)}.mb-tab.active{background:rgb(var(--hub-accent-rgb) / .1);color:var(--primary-color)}.mb-card{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;background:var(--hub-surface);border:1px solid rgb(var(--hub-accent-rgb) / .06);border-radius:14px;padding:1rem 1.25rem;margin-bottom:.6rem;cursor:pointer;transition:var(--transition)}.mb-card:hover{border-color:rgb(var(--hub-accent-rgb) / .18);background:var(--hub-surface);transform:translateY(-1px)}.mb-card-date{text-align:center;min-width:52px}.mb-card-date .day{font-size:1.5rem;font-weight:800;color:var(--primary-color);line-height:1}.mb-card-date .month{font-size:.68rem;font-weight:700;text-transform:uppercase;color:var(--text-gray);letter-spacing:.5px}.mb-card-date .year{font-size:.62rem;color:rgb(var(--hub-ink-rgb) / .5)}.mb-card-route{display:flex;flex-direction:column;gap:.2rem;min-width:0}.mb-card-route .route-main{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;color:var(--text-light)}.mb-card-route .route-main .airline-logo{width:24px;height:24px;border-radius:4px;object-fit:contain}.mb-card-route .route-arrow{color:var(--primary-color);font-weight:400}.mb-card-route .route-sub{font-size:.78rem;color:var(--text-gray);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.mb-card-route .route-sub .pnr{font-family:monospace;font-weight:600;color:rgb(var(--hub-accent-rgb) / .7)}.mb-card-end{text-align:right;min-width:90px}.mb-card-price{font-size:1.1rem;font-weight:800;color:var(--text-light)}.mb-card-status{display:inline-block;padding:.2rem .5rem;border-radius:6px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;margin-top:.2rem}.mb-card-status.status-confirmed,.mb-card-status.status-ticketed{background:rgb(var(--hub-accent-rgb) / .12);color:var(--hub-success)}.mb-card-status.status-awaiting_payment,.mb-card-status.status-confirming,.mb-card-status.status-pending{background:rgb(var(--hub-accent-rgb) / .1);color:var(--hub-warning)}.mb-card-status.status-cancelled,.mb-card-status.status-failed{background:rgb(var(--hub-error-rgb) / .1);color:var(--hub-error)}.mb-card-status.status-refunded{background:rgb(var(--hub-accent-rgb) / .1);color:var(--hub-accent)}.mb-empty{text-align:center;padding:3rem 1rem;color:var(--text-gray)}.mb-empty svg{width:40px;height:40px;margin-bottom:.75rem;opacity:.35}.mb-empty h3{color:var(--text-light);font-size:1.1rem;margin-bottom:.4rem}.mb-empty p{font-size:.88rem;max-width:380px;margin:0 auto}.mb-detail-overlay{position:fixed;inset:0;z-index:2000;background:rgb(0 0 0 / .75);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:fbFadeIn .25s ease}.mb-detail-panel{background:var(--bg-dark);border:1px solid rgb(var(--hub-accent-rgb) / .15);border-radius:16px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--hub-shadow);animation:fbSlideUp .3s ease}.mb-detail-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgb(var(--hub-accent-rgb) / .08)}.mb-detail-header h2{font-size:1.1rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.mb-detail-body{padding:1.5rem}.mb-detail-group{margin-bottom:1.25rem}.mb-detail-group h4{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-gray);margin-bottom:.5rem;display:flex;align-items:center;gap:.4rem}.mb-detail-group h4 svg{width:14px;height:14px;color:var(--primary-color)}.mb-detail-row{display:flex;justify-content:space-between;padding:.3rem 0;font-size:.88rem}.mb-detail-row .label{color:var(--text-gray)}.mb-detail-row .value{font-weight:600;color:var(--text-light)}.mb-detail-row .value.pnr{font-family:monospace;color:var(--primary-color);letter-spacing:1px}.mb-pax-item{display:flex;justify-content:space-between;align-items:center;padding:.4rem .6rem;background:var(--hub-surface);border-radius:8px;margin-bottom:.35rem;font-size:.85rem}.mb-pax-item .pax-name{font-weight:600;color:var(--text-light)}.mb-pax-item .pax-meta{color:var(--text-gray);font-size:.78rem}.mb-timeline{position:relative;padding-left:1.5rem}.mb-timeline::before{content:'';position:absolute;left:5px;top:0;bottom:0;width:2px;background:rgb(var(--hub-accent-rgb) / .1)}.mb-timeline-item{position:relative;padding:.3rem 0;font-size:.82rem}.mb-timeline-item::before{content:'';position:absolute;left:-1.5rem;top:.55rem;width:8px;height:8px;border-radius:50%;background:var(--primary-color);border:2px solid var(--bg-dark)}.mb-timeline-item .tl-time{font-size:.7rem;color:rgb(var(--hub-ink-rgb) / .5)}.mb-timeline-item .tl-event{color:var(--text-gray)}.mb-cancel-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.7rem;background:0 0;color:var(--hub-error);border:1px solid rgb(var(--hub-error-rgb) / .2);border-radius:10px;font-size:.88rem;font-weight:600;cursor:pointer;transition:var(--transition);font-family:inherit;margin-top:.5rem}.mb-cancel-btn:hover{background:rgb(var(--hub-error-rgb) / .1);border-color:rgb(var(--hub-error-rgb) / .4)}.mb-cancel-btn:disabled{opacity:.4;cursor:not-allowed}.mb-detail-footer{padding:1rem 1.5rem;border-top:1px solid rgb(var(--hub-accent-rgb) / .05);display:flex;gap:.5rem}.mb-detail-footer .fb-btn-secondary{margin-top:0}@media (max-width:640px){.flights-page-tabs{gap:.35rem}.flights-page-tab{padding:.5rem 1rem;font-size:.82rem}.mb-stats-row{grid-template-columns:repeat(2,1fr)}.mb-card{grid-template-columns:auto 1fr;gap:.75rem}.mb-card-end{grid-column:1/-1;text-align:left;display:flex;align-items:center;justify-content:space-between;padding-top:.5rem;border-top:1px solid rgb(var(--hub-accent-rgb) / .05)}.mb-detail-panel{border-radius:12px 12px 0 0;margin-top:auto;max-height:95vh}.mb-tabs{overflow-x:auto;flex-wrap:nowrap}.mb-tab{white-space:nowrap;flex:unset;padding:.5rem .8rem}}@media (max-width:420px){.mb-stat{padding:.75rem .5rem}.mb-stat-num{font-size:1.3rem}}.flex-dates-row{display:flex;align-items:center;gap:.65rem;margin-top:.5rem;padding:0 .25rem}.flex-dates-switch{position:relative;display:inline-block;width:38px;height:20px;flex-shrink:0}.flex-dates-switch input{opacity:0;width:0;height:0}.flex-dates-slider{position:absolute;cursor:pointer;inset:0;background:rgb(var(--hub-overlay-rgb) / .08);border-radius:20px;transition:.25s}.flex-dates-slider::before{content:'';position:absolute;width:16px;height:16px;left:2px;bottom:2px;background:var(--text-gray);border-radius:50%;transition:.25s}.flex-dates-switch input:checked+.flex-dates-slider{background:var(--primary-color)}.flex-dates-switch input:checked+.flex-dates-slider::before{transform:translateX(18px);background:var(--bg-dark)}.flex-dates-text{font-size:.82rem;color:var(--text-gray)}.flex-dates-text #flex-dates-label{color:var(--primary-color);font-weight:500;margin-left:.25rem}.recent-searches-container{margin-top:1rem}.recent-searches-label{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--text-gray);margin-bottom:.5rem}.recent-searches-label i,.recent-searches-label svg{width:14px;height:14px}.recent-searches-list{display:flex;flex-wrap:wrap;gap:.4rem}.recent-search-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;background:rgb(var(--hub-overlay-rgb) / .04);border:1px solid rgb(var(--hub-overlay-rgb) / .08);border-radius:20px;color:var(--text-light);font-size:.78rem;cursor:pointer;transition:all .2s;white-space:nowrap}.recent-search-chip:hover{background:rgb(var(--hub-accent-rgb) / .06);border-color:rgb(var(--hub-accent-rgb) / .2)}.recent-search-chip .rs-route{font-weight:600;letter-spacing:.02em}.recent-search-chip .rs-date{color:var(--text-gray);font-size:.72rem}.recent-search-chip.rs-clear{padding:.35rem .55rem;color:var(--text-gray);border-color:transparent;background:0 0}.recent-search-chip.rs-clear:hover{color:var(--hub-error);background:rgb(var(--hub-error-rgb) / .06)}.recent-search-chip.rs-clear i,.recent-search-chip.rs-clear svg{width:13px;height:13px}.flight-card-actions{display:flex;gap:.3rem;margin-top:.5rem;justify-content:center}.fc-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid rgb(var(--hub-overlay-rgb) / .06);background:rgb(var(--hub-overlay-rgb) / .03);color:var(--text-gray);cursor:pointer;transition:all .2s}.fc-action-btn i,.fc-action-btn svg{width:15px;height:15px}.fc-action-btn:hover{background:rgb(var(--hub-accent-rgb) / .08);border-color:rgb(var(--hub-accent-rgb) / .2);color:var(--primary-color)}.fc-action-btn.active{background:rgb(var(--hub-accent-rgb) / .12);border-color:rgb(var(--hub-accent-rgb) / .3);color:var(--primary-color)}.compare-bar{position:fixed;bottom:0;left:0;right:0;z-index:900;display:flex;align-items:center;justify-content:space-between;padding:.65rem 1.5rem;background:var(--hub-elev);backdrop-filter:blur(12px);border-top:1px solid rgb(var(--hub-accent-rgb) / .15);box-shadow:0 -4px 24px rgb(0 0 0 / .4);gap:.75rem}.compare-bar:not(.active){transform:translateY(110%);opacity:0;pointer-events:none}.compare-bar{transition:transform .25s ease,opacity .25s ease}@media (prefers-reduced-motion:reduce){.compare-bar{transition:none}}.compare-bar-left{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;flex:1;min-width:0}.compare-count{font-size:.78rem;color:var(--text-gray);white-space:nowrap}.compare-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;background:rgb(var(--hub-accent-rgb) / .08);border:1px solid rgb(var(--hub-accent-rgb) / .2);border-radius:14px;color:var(--text-light);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.compare-chip:hover{background:rgb(var(--hub-error-rgb) / .1);border-color:rgb(var(--hub-error-rgb) / .3)}.compare-chip-x{font-size:.68rem;color:var(--text-gray);margin-left:.15rem}.compare-bar-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.compare-open-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem 1rem;background:var(--primary-color);color:var(--bg-dark);border:none;border-radius:8px;font-weight:600;font-size:.82rem;cursor:pointer;transition:.2s}.compare-open-btn:hover:not(:disabled){background:var(--hub-accent)}.compare-open-btn:disabled{opacity:.4;cursor:not-allowed}.compare-open-btn i,.compare-open-btn svg{width:15px;height:15px}.compare-clear-btn{padding:.45rem .75rem;background:0 0;border:1px solid rgb(var(--hub-overlay-rgb) / .08);border-radius:8px;color:var(--text-gray);font-size:.78rem;cursor:pointer;transition:.2s}.compare-clear-btn:hover{color:var(--hub-error);border-color:rgb(var(--hub-error-rgb) / .3)}.cmp-overlay{position:fixed;inset:0;z-index:10000;background:rgb(0 0 0 / .7);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .2s}.cmp-panel{background:var(--bg-dark);border:1px solid rgb(var(--hub-overlay-rgb) / .08);border-radius:16px;width:100%;max-width:780px;max-height:90vh;overflow-y:auto;box-shadow:var(--hub-shadow)}.cmp-panel.cmp-cols-3{max-width:960px}.cmp-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid rgb(var(--hub-overlay-rgb) / .06)}.cmp-header h2{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;color:var(--text-light);margin:0}.cmp-header h2 i,.cmp-header h2 svg{width:20px;height:20px;color:var(--primary-color)}.cmp-close{width:32px;height:32px;border-radius:8px;border:1px solid rgb(var(--hub-overlay-rgb) / .06);background:0 0;color:var(--text-gray);font-size:1rem;cursor:pointer;transition:.2s}.cmp-close:hover{background:rgb(var(--hub-error-rgb) / .08);color:var(--hub-error)}.cmp-grid{padding:.75rem 1.25rem 1.25rem}.cmp-row{display:grid;gap:.5rem;padding:.6rem 0;border-bottom:1px solid rgb(var(--hub-overlay-rgb) / .04);align-items:center}.cmp-cols-2 .cmp-row{grid-template-columns:100px 1fr 1fr}.cmp-cols-3 .cmp-row{grid-template-columns:100px 1fr 1fr 1fr}.cmp-label{font-size:.78rem;color:var(--text-gray);font-weight:500}.cmp-cell{font-size:.88rem;color:var(--text-light);text-align:center}.cmp-row-header .cmp-cell{font-weight:600}.cmp-airline-cell{display:flex;align-items:center;justify-content:center;gap:.4rem}.cmp-airline-cell img{width:28px;height:28px;border-radius:4px}.cmp-row-price .cmp-cell{font-size:1.05rem;font-weight:700}.cmp-best-price{color:var(--primary-color)}.cmp-best-score{color:var(--hub-warning)}.cmp-badge-best{display:inline-block;padding:.15rem .4rem;border-radius:6px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;margin-left:.3rem}.cmp-best-price .cmp-badge-best{background:rgb(var(--hub-accent-rgb) / .1);border:1px solid rgb(var(--hub-accent-rgb) / .2);color:var(--primary-color)}.cmp-best-score .cmp-badge-best{background:rgb(var(--hub-accent-rgb) / .1);border:1px solid rgb(var(--hub-accent-rgb) / .2);color:var(--hub-warning)}.cmp-row-actions{border-bottom:none;padding-top:1rem}.cmp-select-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1.25rem;background:var(--primary-color);color:var(--bg-dark);border:none;border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer;text-decoration:none;transition:.2s}.cmp-select-btn:hover{background:var(--hub-accent)}.flight-toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%) translateY(120%);padding:.6rem 1.25rem;background:var(--hub-elev);border:1px solid rgb(var(--hub-accent-rgb) / .25);border-radius:10px;color:var(--text-light);font-size:.85rem;font-weight:500;z-index:11000;pointer-events:none;opacity:0;transition:all .3s cubic-bezier(.22, 1, .36, 1);backdrop-filter:blur(8px);box-shadow:var(--hub-shadow)}.flight-toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.flight-toast.error{border-color:rgb(var(--hub-error-rgb) / .3);color:var(--hub-error)}@media (max-width:768px){.compare-bar{flex-direction:column;padding:.5rem 1rem;gap:.5rem;bottom:64px}.compare-bar-left{justify-content:center}.compare-bar-right{width:100%;justify-content:center}.cmp-panel{max-height:85vh}.cmp-cols-2 .cmp-row{grid-template-columns:80px 1fr 1fr}.cmp-cols-3 .cmp-row{grid-template-columns:80px 1fr 1fr 1fr}.cmp-label{font-size:.72rem}.cmp-cell{font-size:.78rem}.recent-searches-list{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.recent-searches-list::-webkit-scrollbar{display:none}.flight-card-actions{gap:.2rem}.fc-action-btn{width:28px;height:28px}}@media (max-width:480px){.cmp-cols-2 .cmp-row,.cmp-cols-3 .cmp-row{grid-template-columns:60px repeat(auto-fill,1fr)}.cmp-airline-cell{flex-direction:column;gap:.2rem}.cmp-airline-cell span{font-size:.7rem}.flex-dates-row{margin-top:.35rem}}.flight-score-row{display:flex;align-items:center;gap:.4rem;margin:.35rem 0 .25rem;cursor:help}.score-bar{flex:1;height:5px;background:rgb(var(--hub-overlay-rgb) / .08);border-radius:3px;overflow:hidden}.score-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--hub-error) 0,var(--hub-warning) 40%,var(--hub-accent) 75%,var(--hub-success) 100%);transition:width .4s ease}.score-val{font-size:.72rem;font-weight:600;color:var(--primary-color);min-width:22px;text-align:right}.amenities-row{display:flex;align-items:center;gap:.45rem;margin-top:.35rem;flex-wrap:wrap}.amenity-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:5px;background:rgb(var(--hub-accent-rgb) / .08);color:var(--primary-color)}.amenity-icon i,.amenity-icon svg{width:13px;height:13px}.amenity-icon.muted{background:rgb(var(--hub-overlay-rgb) / .04);color:var(--text-gray);opacity:.6}.amenity-text{font-size:.7rem;color:var(--text-gray);font-weight:500;padding:.15rem .4rem;background:rgb(var(--hub-overlay-rgb) / .04);border-radius:4px}.alliance-badge{display:inline-block;font-size:.62rem;font-weight:600;padding:.1rem .35rem;border-radius:3px;vertical-align:middle;margin-left:.3rem;letter-spacing:.02em;white-space:nowrap}.alliance-star_alliance{background:rgb(var(--hub-accent-rgb) / .12);color:var(--hub-warning);border:1px solid rgb(var(--hub-accent-rgb) / .2)}.alliance-oneworld{background:rgb(var(--hub-accent-rgb) / .12);color:var(--hub-accent);border:1px solid rgb(var(--hub-accent-rgb) / .2)}.alliance-skyteam{background:rgb(var(--hub-accent-rgb) / .12);color:var(--hub-accent);border:1px solid rgb(var(--hub-accent-rgb) / .2)}.badge-co2{font-size:.68rem}.badge-co2.co2-low{background:rgb(var(--hub-accent-rgb) / .1);color:var(--hub-success);border-color:rgb(var(--hub-accent-rgb) / .2)}.badge-co2.co2-med{background:rgb(var(--hub-accent-rgb) / .1);color:var(--hub-warning);border-color:rgb(var(--hub-accent-rgb) / .2)}.badge-co2.co2-high{background:rgb(var(--hub-error-rgb) / .1);color:var(--hub-error);border-color:rgb(var(--hub-error-rgb) / .2)}.badge-seats{animation:pulse-badge 2s ease-in-out infinite}.badge-seats.seats-critical{background:rgb(var(--hub-error-rgb) / .15);color:var(--hub-error);border-color:rgb(var(--hub-error-rgb) / .3);font-weight:700}.badge-seats.seats-low{background:rgb(var(--hub-accent-rgb) / .12);color:var(--hub-warning);border-color:rgb(var(--hub-accent-rgb) / .2)}@keyframes pulse-badge{0%,100%{opacity:1}50%{opacity:.7}}.badge-fare{background:rgb(var(--hub-accent-rgb) / .06);color:var(--primary-color);border-color:rgb(var(--hub-accent-rgb) / .15);font-style:italic;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-prefs-btn{position:absolute;top:.6rem;right:.6rem;width:34px;height:34px;border-radius:8px;border:1px solid rgb(var(--hub-accent-rgb) / .15);background:rgb(var(--hub-accent-rgb) / .06);color:var(--text-gray);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:5}.tp-prefs-btn:hover{background:rgb(var(--hub-accent-rgb) / .12);color:var(--primary-color);border-color:rgb(var(--hub-accent-rgb) / .3)}.tp-prefs-btn.has-prefs{color:var(--primary-color);border-color:rgb(var(--hub-accent-rgb) / .3)}.tp-prefs-btn.has-prefs::after{content:'';position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--primary-color)}.tp-prefs-btn i,.tp-prefs-btn svg{width:16px;height:16px}.tp-overlay{position:fixed;inset:0;background:rgb(0 0 0 / .65);backdrop-filter:blur(6px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem}.tp-panel{background:var(--bg-dark,var(--hub-elev));border:1px solid rgb(var(--hub-accent-rgb) / .12);border-radius:16px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:var(--hub-shadow)}.tp-header{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.5rem;border-bottom:1px solid rgb(var(--hub-overlay-rgb) / .06)}.tp-header h2{font-size:1.1rem;font-weight:600;color:var(--hub-ink);display:flex;align-items:center;gap:.5rem;margin:0}.tp-header h2 i,.tp-header h2 svg{width:18px;height:18px;color:var(--primary-color)}.tp-close{width:32px;height:32px;border-radius:8px;border:1px solid rgb(var(--hub-overlay-rgb) / .1);background:0 0;color:var(--text-gray);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.tp-close:hover{background:rgb(var(--hub-error-rgb) / .1);color:var(--hub-error);border-color:rgb(var(--hub-error-rgb) / .2)}.tp-body{padding:1.5rem}.tp-subtitle{font-size:.82rem;color:var(--text-gray);margin:0 0 1.3rem;line-height:1.45}.tp-group{margin-bottom:1.1rem}.tp-label{display:flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;color:var(--text-light,var(--hub-ink));margin-bottom:.4rem}.tp-label i,.tp-label svg{width:14px;height:14px;color:var(--primary-color)}.tp-input{width:100%;padding:.55rem .75rem;border-radius:8px;border:1px solid rgb(var(--hub-overlay-rgb) / .1);background:rgb(var(--hub-overlay-rgb) / .04);color:var(--hub-ink);font-size:.85rem;transition:border-color .2s;outline:0;box-sizing:border-box}.tp-input:focus{border-color:rgb(var(--hub-accent-rgb) / .4)}.tp-input::placeholder{color:rgb(var(--hub-overlay-rgb) / .25)}.tp-select{width:100%;padding:.55rem .75rem;border-radius:8px;border:1px solid rgb(var(--hub-overlay-rgb) / .1);background:rgb(var(--hub-overlay-rgb) / .04);color:var(--hub-ink);font-size:.85rem;cursor:pointer;outline:0;box-sizing:border-box;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='%23C0C0C0'%3E%3Cpath d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem}.tp-select:focus{border-color:rgb(var(--hub-accent-rgb) / .4)}.tp-select option{background:var(--hub-surface);color:var(--hub-ink)}.tp-hint{display:block;font-size:.7rem;color:var(--text-gray);margin-top:.3rem;opacity:.7}.tp-row{display:flex;gap:1rem}.tp-budget-row{display:flex;gap:.5rem}.tp-budget-row .tp-currency{width:110px;flex-shrink:0}.tp-budget-row .tp-input{flex:1}.tp-footer{display:flex;gap:.75rem;padding:1.2rem 1.5rem;border-top:1px solid rgb(var(--hub-overlay-rgb) / .06)}.tp-btn-primary{flex:1;padding:.6rem 1rem;border-radius:8px;border:none;background:var(--primary-color,var(--hub-accent));color:rgb(0 0 0);font-weight:600;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.4rem;transition:opacity .2s}.tp-btn-primary:hover{opacity:.9}.tp-btn-primary:disabled{opacity:.5;cursor:not-allowed}.tp-btn-primary i,.tp-btn-primary svg{width:15px;height:15px}.tp-btn-secondary{padding:.6rem 1rem;border-radius:8px;border:1px solid rgb(var(--hub-overlay-rgb) / .1);background:0 0;color:var(--text-gray);font-size:.85rem;cursor:pointer;transition:all .2s}.tp-btn-secondary:hover{border-color:rgb(var(--hub-overlay-rgb) / .2);color:var(--hub-ink)}.mb-timeline{position:relative;padding-left:1.2rem}.mb-timeline::before{content:'';position:absolute;left:4px;top:0;bottom:0;width:2px;background:rgb(var(--hub-accent-rgb) / .15);border-radius:1px}.mb-timeline-item{position:relative;padding:.5rem 0;padding-left:.5rem}.mb-timeline-item::before{content:'';position:absolute;left:-1.2rem;top:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:var(--primary-color);border:2px solid var(--bg-dark,var(--hub-elev));left:-.45rem}.mb-timeline-item:first-child::before{width:10px;height:10px;background:var(--hub-ink);box-shadow:0 0 0 3px rgb(var(--hub-accent-rgb) / .2)}.tl-time{font-size:.7rem;color:var(--text-gray);margin-bottom:.15rem}.tl-event{font-size:.82rem;color:var(--text-light,var(--hub-ink));font-weight:500;text-transform:capitalize}.tl-details{font-size:.72rem;color:var(--text-gray);margin-top:.15rem;opacity:.8}@media (max-width:768px){.tp-row{flex-direction:column;gap:0}.tp-panel{max-width:100%;border-radius:12px}.tp-body{padding:1rem}.tp-footer{padding:1rem}.tp-budget-row{flex-direction:column;gap:.5rem}.tp-budget-row .tp-currency{width:100%}.alliance-badge{font-size:.58rem;padding:.05rem .25rem}.amenities-row{gap:.3rem}.amenity-icon{width:20px;height:20px}.amenity-icon i,.amenity-icon svg{width:11px;height:11px}}.flight-detail-toggle{display:flex;align-items:center;justify-content:center;gap:.35rem;width:100%;padding:.5rem .75rem;background:rgb(var(--hub-overlay-rgb) / .02);border:1px solid rgb(var(--hub-accent-rgb) / .06);border-radius:8px;color:var(--text-gray);font-size:.78rem;cursor:pointer;transition:all .25s ease;margin-top:.4rem}.flight-detail-toggle:hover{background:rgb(var(--hub-accent-rgb) / .04);color:var(--primary-color);border-color:rgb(var(--hub-accent-rgb) / .15)}.flight-detail-toggle .toggle-chevron{width:14px;height:14px;transition:transform .3s ease}.flight-card.expanded .flight-detail-toggle .toggle-chevron{transform:rotate(180deg)}.flight-card.expanded .flight-detail-toggle{color:var(--primary-color);border-color:rgb(var(--hub-accent-rgb) / .15)}.flight-card.expanded{border-color:rgb(var(--hub-accent-rgb) / .18);align-items:start}.flight-detail-panel{display:none;grid-column:1/-1;background:var(--hub-elev);border:1px solid rgb(var(--hub-accent-rgb) / .08);border-radius:12px;padding:1.25rem;margin-top:.75rem;animation:slideDetailIn .3s ease}.flight-card.expanded .flight-detail-panel{display:block}@keyframes slideDetailIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.fd-section-title{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;color:var(--text-light);margin-bottom:.75rem;padding-bottom:.4rem;border-bottom:1px solid rgb(var(--hub-accent-rgb) / .06)}.fd-section-title i[data-lucide]{width:16px;height:16px;color:var(--primary-color)}.fd-layout{display:grid;grid-template-columns:1fr 280px;gap:1.25rem}@media (max-width:768px){.fd-layout{grid-template-columns:1fr}}.fd-itinerary-block{margin-bottom:1rem}.fd-itinerary-block:last-child{margin-bottom:0}.fd-direction-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--primary-color);margin-bottom:.6rem;display:flex;align-items:center;gap:.4rem}.fd-direction-label i[data-lucide]{width:13px;height:13px}.fd-segment{display:grid;grid-template-columns:auto 1fr;gap:0 1rem;position:relative;padding-left:.25rem}.fd-timeline{display:flex;flex-direction:column;align-items:center;width:20px;position:relative}.fd-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--primary-color);background:var(--bg-dark,var(--hub-bg));z-index:1;flex-shrink:0}.fd-dot.filled{background:var(--primary-color)}.fd-rail{width:2px;flex:1;background:linear-gradient(180deg,var(--primary-color) 0,rgb(var(--hub-accent-rgb) / .15) 100%);min-height:2rem}.fd-seg-content{padding-bottom:.3rem}.fd-seg-airport{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.15rem}.fd-seg-time{font-size:1.1rem;font-weight:700;color:var(--text-light);min-width:42px}.fd-seg-iata{font-size:.95rem;font-weight:700;color:var(--primary-color)}.fd-seg-name{font-size:.78rem;color:var(--text-gray);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.fd-seg-terminal{font-size:.72rem;color:rgb(var(--hub-ink-rgb) / .5);margin-left:.25rem}.fd-seg-date{font-size:.72rem;color:var(--text-gray);margin-bottom:.2rem}.fd-flight-info{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding:.6rem 0;margin:.2rem 0;border-left:2px dashed rgb(var(--hub-accent-rgb) / .1);padding-left:.75rem}.fd-info-chip{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--text-gray);background:rgb(var(--hub-overlay-rgb) / .03);padding:.25rem .5rem;border-radius:6px;border:1px solid rgb(var(--hub-overlay-rgb) / .04)}.fd-info-chip i[data-lucide]{width:12px;height:12px;color:var(--primary-color);opacity:.8}.fd-info-chip .chip-label{color:rgb(var(--hub-ink-rgb) / .5)}.fd-info-chip .chip-value{color:var(--text-light);font-weight:600}.fd-codeshare{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;color:var(--hub-warning);background:rgb(var(--hub-accent-rgb) / .08);border:1px solid rgb(var(--hub-accent-rgb) / .15);padding:.2rem .45rem;border-radius:5px}.fd-codeshare i[data-lucide]{width:11px;height:11px}.fd-layover{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;margin:.3rem 0 .3rem 1.5rem;background:rgb(var(--hub-accent-rgb) / .05);border:1px dashed rgb(var(--hub-accent-rgb) / .2);border-radius:8px;font-size:.75rem;color:var(--hub-warning)}.fd-layover i[data-lucide]{width:14px;height:14px;flex-shrink:0}.fd-layover-duration{font-weight:700}.fd-layover-long{color:var(--hub-error);border-color:rgb(var(--hub-error-rgb) / .2);background:rgb(var(--hub-error-rgb) / .05)}.fd-sidebar{display:flex;flex-direction:column;gap:1rem}.fd-info-card{background:rgb(var(--hub-overlay-rgb) / .02);border:1px solid rgb(var(--hub-accent-rgb) / .06);border-radius:10px;padding:.75rem}.fd-info-card-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-gray);margin-bottom:.5rem;display:flex;align-items:center;gap:.35rem}.fd-info-card-title i[data-lucide]{width:13px;height:13px;color:var(--primary-color)}.fd-price-row{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;padding:.25rem 0;color:var(--text-gray)}.fd-price-row.total{border-top:1px solid rgb(var(--hub-accent-rgb) / .1);margin-top:.3rem;padding-top:.5rem;font-weight:700;color:var(--text-light);font-size:.9rem}.fd-price-row .fd-price-val{font-weight:600;color:var(--text-light)}.fd-price-row.total .fd-price-val{color:var(--primary-color)}.fd-price-row .fd-price-fee-label{font-size:.72rem}.fd-bag-row{display:flex;align-items:center;gap:.5rem;padding:.35rem 0;font-size:.8rem;color:var(--text-gray)}.fd-bag-row:not(:last-child){border-bottom:1px solid rgb(var(--hub-overlay-rgb) / .03)}.fd-bag-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:rgb(var(--hub-accent-rgb) / .06);border-radius:6px;flex-shrink:0}.fd-bag-icon i[data-lucide]{width:14px;height:14px;color:var(--primary-color)}.fd-bag-detail{flex:1}.fd-bag-label{font-weight:600;color:var(--text-light);font-size:.78rem}.fd-bag-sub{font-size:.7rem;color:rgb(var(--hub-ink-rgb) / .5)}.fd-bag-none{color:var(--hub-error)}.fd-expiry{display:flex;align-items:center;gap:.35rem;font-size:.72rem;color:var(--text-gray);padding:.4rem .6rem;background:rgb(var(--hub-accent-rgb) / .05);border:1px solid rgb(var(--hub-accent-rgb) / .12);border-radius:6px}.fd-expiry i[data-lucide]{width:12px;height:12px;color:var(--hub-warning)}.fd-expiry-urgent{color:var(--hub-error);border-color:rgb(var(--hub-error-rgb) / .15);background:rgb(var(--hub-error-rgb) / .05)}.fd-expiry-urgent i[data-lucide]{color:var(--hub-error)}.fd-score-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem}.fd-score-item{text-align:center;padding:.4rem;background:rgb(var(--hub-overlay-rgb) / .02);border-radius:6px;border:1px solid rgb(var(--hub-overlay-rgb) / .03)}.fd-score-value{font-size:1rem;font-weight:700;color:var(--primary-color)}.fd-score-label{font-size:.65rem;color:var(--text-gray);text-transform:uppercase;letter-spacing:.3px;margin-top:.1rem}.fd-score-bar{width:100%;height:3px;background:rgb(var(--hub-overlay-rgb) / .05);border-radius:2px;margin-top:.25rem;overflow:hidden}.fd-score-bar-fill{height:100%;background:var(--primary-color);border-radius:2px;transition:width .5s ease}.fd-co2-bar{display:flex;align-items:center;gap:.5rem;padding:.3rem 0}.fd-co2-track{flex:1;height:6px;background:rgb(var(--hub-overlay-rgb) / .05);border-radius:3px;overflow:hidden}.fd-co2-fill{height:100%;border-radius:3px;transition:width .5s ease}.fd-co2-fill.low{background:var(--hub-success)}.fd-co2-fill.med{background:var(--hub-warning)}.fd-co2-fill.high{background:var(--hub-error)}.fd-co2-val{font-size:.78rem;font-weight:700;color:var(--text-light);min-width:50px;text-align:right}.fd-cabin-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.68rem;padding:.15rem .4rem;border-radius:4px;font-weight:600}.fd-cabin-economy{background:rgb(var(--hub-accent-rgb) / .08);color:var(--primary-color)}.fd-cabin-premium_economy{background:rgb(var(--hub-accent-rgb) / .1);color:var(--hub-accent)}.fd-cabin-business{background:rgb(var(--hub-accent-rgb) / .1);color:var(--hub-warning)}.fd-cabin-first{background:rgb(var(--hub-accent-rgb) / .1);color:var(--hub-accent)}.route-time .airport-name{display:none;font-size:.62rem;color:rgb(var(--hub-ink-rgb) / .5);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flight-card:hover .route-time .airport-name{display:block}.card-cabin-pill{display:inline-flex;align-items:center;gap:.2rem;font-size:.65rem;padding:.1rem .35rem;border-radius:3px;font-weight:600;margin-left:.3rem;vertical-align:middle}.card-cabin-economy{background:rgb(var(--hub-accent-rgb) / .06);color:var(--primary-color)}.card-cabin-premium_economy{background:rgb(var(--hub-accent-rgb) / .08);color:var(--hub-accent)}.card-cabin-business{background:rgb(var(--hub-accent-rgb) / .08);color:var(--hub-warning)}.card-cabin-first{background:rgb(var(--hub-accent-rgb) / .08);color:var(--hub-accent)}.card-aircraft{font-size:.68rem;color:rgb(var(--hub-ink-rgb) / .45);display:flex;align-items:center;gap:.25rem;margin-top:.1rem}.card-aircraft i[data-lucide]{width:10px;height:10px}.route-connection-airports{display:none;position:absolute;bottom:-14px;left:50%;transform:translateX(-50%);font-size:.6rem;color:rgb(var(--hub-accent-rgb) / .7);white-space:nowrap}.flight-card:hover .route-connection-airports{display:block}.airport-city{font-size:.62rem;color:var(--text-gray,rgb(var(--hub-overlay-rgb) / .45));line-height:1.2;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}.flight-score-row{display:flex;align-items:center;gap:.35rem;margin-top:.15rem}.fd-direction-label{display:flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;color:var(--primary-color,var(--hub-accent));margin-bottom:.5rem;padding-bottom:.35rem;border-bottom:1px solid rgb(var(--hub-overlay-rgb) / .06)}.fd-direction-label i[data-lucide]{width:14px;height:14px}.fd-itinerary-block+.fd-itinerary-block{margin-top:1.5rem;padding-top:1rem;border-top:1px dashed rgb(var(--hub-overlay-rgb) / .08)}.fd-seg-date{font-size:.65rem;color:var(--text-gray,rgb(var(--hub-overlay-rgb) / .4));margin-bottom:.15rem;font-weight:500}.fd-seg-terminal{font-size:.62rem;color:rgb(var(--hub-overlay-rgb) / .35);margin-left:.35rem;padding-left:.35rem;border-left:1px solid rgb(var(--hub-overlay-rgb) / .08)}.fd-price-fee-label{font-size:.7rem;color:var(--hub-warning)}.fd-bag-none{color:var(--hub-error)!important}.fd-bag-sub{font-size:.68rem;color:var(--text-gray,rgb(var(--hub-overlay-rgb) / .4));margin-top:.1rem}@media (max-width:640px){.fd-layout{grid-template-columns:1fr}.fd-flight-info{gap:.35rem}.fd-info-chip{font-size:.68rem;padding:.2rem .35rem}.fd-score-grid{grid-template-columns:1fr 1fr 1fr;gap:.35rem}.fd-seg-name{max-width:160px}}.flight-card-toggles{display:flex;gap:.4rem;margin-top:.5rem}.flight-map-toggle{display:flex;align-items:center;gap:.35rem;background:0 0;border:1px solid rgb(var(--hub-accent-rgb) / .06);border-radius:6px;padding:.35rem .65rem;font-size:.72rem;color:var(--text-gray);cursor:pointer;transition:all .2s ease;font-family:inherit}.flight-map-toggle:hover{background:rgb(var(--hub-accent-rgb) / .04);color:var(--hub-accent);border-color:rgb(var(--hub-accent-rgb) / .15)}.flight-card.map-active{border-color:rgb(var(--hub-accent-rgb) / .25)!important;box-shadow:0 0 0 1px rgb(var(--hub-accent-rgb) / .1),0 0 24px rgb(var(--hub-accent-rgb) / .06)!important}.flight-card.map-active .flight-map-toggle{color:var(--hub-accent);border-color:rgb(var(--hub-accent-rgb) / .2);background:rgb(var(--hub-accent-rgb) / .06)}.main-map-section{padding:0 0 .5rem;opacity:0;transform:translateY(-12px);transition:opacity .35s ease,transform .35s ease}.main-map-section.mm-visible{opacity:1;transform:translateY(0)}.main-map-card{background:var(--hub-elev);border:1px solid rgb(var(--hub-accent-rgb) / .1);border-radius:14px;overflow:hidden}.mm-header{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;background:rgb(var(--hub-accent-rgb) / .03);border-bottom:1px solid rgb(var(--hub-accent-rgb) / .08)}.mm-header-left{display:flex;align-items:center;gap:.5rem;color:var(--hub-accent);font-size:.82rem;font-weight:600}.mm-title{color:var(--text-light,var(--hub-ink))}.mm-route-badge{font-size:.72rem;font-weight:700;color:var(--hub-accent);background:rgb(var(--hub-accent-rgb) / .08);border:1px solid rgb(var(--hub-accent-rgb) / .12);border-radius:5px;padding:.15rem .5rem;letter-spacing:.5px}.mm-header-right{display:flex;align-items:center;gap:.75rem}.mm-flight-info{font-size:.75rem;color:var(--text-gray,var(--hub-ink-muted))}.mm-close-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;background:rgb(var(--hub-overlay-rgb) / .04);border:1px solid rgb(var(--hub-overlay-rgb) / .06);color:var(--text-gray);cursor:pointer;transition:all .2s ease}.mm-close-btn:hover{background:rgb(var(--hub-error-rgb) / .08);border-color:rgb(var(--hub-error-rgb) / .2);color:var(--hub-error)}.mm-map-container{width:100%;height:400px;background:var(--hub-bg);position:relative;z-index:1}@media (max-width:768px){.mm-map-container{height:280px}}@media (max-width:480px){.mm-map-container{height:220px}}.mm-airport-strip{display:flex;align-items:center;gap:0;padding:.75rem .75rem;background:var(--hub-elev);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:rgb(var(--hub-accent-rgb) / 0.2) transparent}.mm-airport-strip::-webkit-scrollbar{height:4px}.mm-airport-strip::-webkit-scrollbar-thumb{background:rgb(var(--hub-accent-rgb) / .2);border-radius:2px}.fm-card-connector{display:flex;align-items:center;justify-content:center;color:rgb(var(--hub-accent-rgb) / .35);padding:0 .25rem;flex-shrink:0}.mm-stats-bar{border-top:1px solid rgb(var(--hub-accent-rgb) / .06);background:rgb(var(--hub-accent-rgb) / .02);padding:0}.mm-stats-items{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1.25rem;padding:.55rem 1rem}.mm-stat{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;color:rgb(var(--hub-accent-rgb) / .8)}.mm-stat strong{color:var(--text-light,var(--hub-ink))}.mm-stat i,.mm-stat svg{opacity:.6}.fm-airport-card{flex:1;min-width:180px;background:rgb(var(--hub-overlay-rgb) / .02);border:1px solid rgb(var(--hub-overlay-rgb) / .06);border-radius:10px;padding:.65rem .75rem;scroll-snap-align:start;transition:border-color .2s ease}.fm-airport-card:hover{border-color:rgb(var(--hub-accent-rgb) / .15)}.fm-origin{border-left:3px solid var(--hub-accent)}.fm-destination{border-left:3px solid var(--hub-accent)}.fm-transfer{border-left:3px solid var(--hub-warning)}.fm-ac-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.3rem}.fm-ac-role{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-gray)}.fm-origin .fm-ac-role{color:var(--hub-accent)}.fm-destination .fm-ac-role{color:var(--hub-accent)}.fm-transfer .fm-ac-role{color:var(--hub-warning)}.fm-ac-iata{font-size:1.1rem;font-weight:800;color:var(--text-light);letter-spacing:1px}.fm-ac-name{font-size:.78rem;font-weight:600;color:var(--text-light);margin-bottom:.15rem;line-height:1.3}.fm-ac-city{font-size:.7rem;color:var(--text-gray);margin-bottom:.35rem}.fm-ac-coords{display:flex;align-items:center;gap:.25rem;font-size:.62rem;color:rgb(var(--hub-overlay-rgb) / .3);font-family:'Courier New',monospace;margin-bottom:.2rem}.fm-ac-distance{display:flex;align-items:center;gap:.25rem;font-size:.68rem;color:rgb(var(--hub-accent-rgb) / .7);margin-bottom:.25rem}.fm-ac-flight-info{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.35rem}.fm-ac-chip{display:inline-flex;align-items:center;gap:.2rem;font-size:.65rem;padding:.15rem .4rem;border-radius:4px;background:rgb(var(--hub-overlay-rgb) / .03);border:1px solid rgb(var(--hub-overlay-rgb) / .06);color:var(--text-gray)}.fm-total-distance{display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.5rem;font-size:.75rem;color:rgb(var(--hub-accent-rgb) / .8);border-top:1px solid rgb(var(--hub-accent-rgb) / .06);background:rgb(var(--hub-accent-rgb) / .02);border-radius:0 0 10px 10px;margin:.25rem -.75rem -.75rem}.fm-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;font-size:.78rem;color:var(--text-gray)}.fm-spinner{width:18px;height:18px;border:2px solid rgb(var(--hub-accent-rgb) / .2);border-top-color:var(--hub-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fm-marker{background:0 0!important;border:none!important;display:flex;flex-direction:column;align-items:center}.fm-marker-dot{width:12px;height:12px;border-radius:50%;border:2px solid rgb(var(--hub-overlay-rgb) / .3)}.fm-marker-label{font-size:.72rem;font-weight:800;letter-spacing:.5px;text-shadow:0 1px 3px rgb(0 0 0 / .8);margin-top:2px}.fm-plane-icon{background:0 0!important;border:none!important;text-shadow:0 1px 4px rgb(0 0 0 / .5)}.fm-distance-label{background:0 0!important;border:none!important}.fm-distance-label span{font-size:.62rem;font-weight:700;color:rgb(var(--hub-overlay-rgb) / .5);background:var(--hub-elev);padding:1px 6px;border-radius:3px;white-space:nowrap}.fm-leaflet-popup .leaflet-popup-content-wrapper{background:var(--hub-elev);border:1px solid rgb(var(--hub-accent-rgb) / .15);border-radius:10px;color:var(--text-light,var(--hub-ink));box-shadow:var(--hub-shadow)}.fm-leaflet-popup .leaflet-popup-tip{background:var(--hub-elev);border:1px solid rgb(var(--hub-accent-rgb) / .15)}.fm-leaflet-popup .leaflet-popup-close-button{color:var(--text-gray)}.fm-popup{padding:.15rem 0}.fm-popup-header{display:flex;align-items:center;gap:.35rem;font-size:.95rem;margin-bottom:.2rem}.fm-popup-flag{font-size:1.1rem}.fm-popup-name{font-size:.78rem;color:var(--text-light);line-height:1.3;margin-bottom:.1rem}.fm-popup-city{font-size:.7rem;color:var(--text-gray);margin-bottom:.15rem}.fm-popup-coords{font-size:.6rem;color:rgb(var(--hub-overlay-rgb) / .3);font-family:'Courier New',monospace}.badge-provider{background:rgb(var(--hub-accent-rgb) / .08);color:var(--hub-accent);border:1px solid rgb(var(--hub-accent-rgb) / .12);font-size:.62rem}.badge-multi-source{background:rgb(var(--hub-accent-rgb) / .1);color:var(--hub-warning);border:1px solid rgb(var(--hub-accent-rgb) / .18);font-size:.62rem}.main-map-card .leaflet-control-zoom a{background:var(--hub-elev);color:var(--text-light);border-color:rgb(var(--hub-accent-rgb) / .15)}.main-map-card .leaflet-control-zoom a:hover{background:rgb(var(--hub-accent-rgb) / .1)}.fm-seg-info-label{background:0 0!important;border:none!important}.fm-seg-info-label span{font-size:.58rem;font-weight:500;color:rgb(var(--hub-overlay-rgb) / .35);white-space:nowrap}.mv-map-container .fm-marker-dot{width:14px;height:14px}.mv-map-container .fm-marker-label{font-size:.78rem}.mv-section{position:relative;width:100%;height:calc(100vh - 200px);min-height:500px;border-radius:14px;overflow:hidden;background:var(--hub-bg);border:1px solid rgb(var(--hub-accent-rgb) / .1)}.mv-layout{display:grid;grid-template-columns:280px 1fr;grid-template-rows:1fr auto;height:100%;width:100%}.mv-flight-list{grid-row:1/3;grid-column:1;display:flex;flex-direction:column;background:var(--hub-elev);border-right:1px solid rgb(var(--hub-accent-rgb) / .08);z-index:3;overflow:hidden}.mv-list-header{display:flex;align-items:center;gap:.4rem;padding:.65rem .75rem;background:rgb(var(--hub-accent-rgb) / .03);border-bottom:1px solid rgb(var(--hub-accent-rgb) / .08);flex-shrink:0}.mv-list-title{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;color:var(--hub-accent)}.mv-list-count{font-size:.65rem;background:rgb(var(--hub-accent-rgb) / .12);color:var(--hub-accent);padding:.1rem .45rem;border-radius:10px;font-weight:700}.mv-close-btn{margin-left:auto;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:rgb(var(--hub-overlay-rgb) / .04);border:1px solid rgb(var(--hub-overlay-rgb) / .06);color:var(--text-gray,var(--hub-ink-muted));cursor:pointer;transition:all .2s ease}.mv-close-btn:hover{background:rgb(var(--hub-error-rgb) / .1);border-color:rgb(var(--hub-error-rgb) / .25);color:var(--hub-error)}.mv-list-scroll{flex:1;overflow-y:auto;padding:.4rem;scrollbar-width:thin;scrollbar-color:rgb(var(--hub-accent-rgb) / 0.15) transparent}.mv-list-scroll::-webkit-scrollbar{width:4px}.mv-list-scroll::-webkit-scrollbar-thumb{background:rgb(var(--hub-accent-rgb) / .15);border-radius:2px}.mv-flight-item{display:flex;flex-direction:column;gap:.2rem;padding:.55rem .6rem;border-radius:8px;cursor:pointer;transition:all .2s ease;border:1px solid transparent;margin-bottom:.25rem}.mv-flight-item:hover{background:rgb(var(--hub-accent-rgb) / .04);border-color:rgb(var(--hub-accent-rgb) / .1)}.mv-flight-item.active{background:rgb(var(--hub-accent-rgb) / .08);border-color:rgb(var(--hub-accent-rgb) / .2);box-shadow:inset 3px 0 0 var(--hub-accent)}.mv-fi-top{display:flex;align-items:center;gap:.4rem}.mv-fi-logo{width:28px;height:28px;border-radius:4px;flex-shrink:0}.mv-fi-route{font-size:.82rem;font-weight:700;color:var(--text-light,var(--hub-ink));flex:1;letter-spacing:.3px}.mv-fi-arrow{color:rgb(var(--hub-accent-rgb) / .5);margin:0 .15rem;font-weight:400}.mv-fi-price{font-size:.78rem;font-weight:700;color:var(--hub-accent)}.mv-fi-bottom{display:flex;justify-content:space-between;align-items:center;padding-left:2.2rem}.mv-fi-time{font-size:.68rem;color:var(--text-gray,var(--hub-ink-muted))}.mv-fi-meta{font-size:.62rem;color:rgb(var(--hub-overlay-rgb) / .35)}.mv-fi-multi{color:var(--hub-warning);font-weight:600}.mv-map-area{grid-row:1;grid-column:2;position:relative;z-index:1;overflow:hidden}.mv-map-container{width:100%;height:100%;min-height:300px;background:var(--hub-bg)}.mv-map-container .leaflet-control-zoom a{background:var(--hub-elev)!important;color:var(--text-light,var(--hub-ink))!important;border-color:rgb(var(--hub-accent-rgb) / .12)!important;transition:all .15s ease}.mv-map-container .leaflet-control-zoom a:hover{background:rgb(var(--hub-accent-rgb) / .1)!important}.mv-info-drawer{grid-row:2;grid-column:2;background:var(--hub-elev);border-top:1px solid rgb(var(--hub-accent-rgb) / .1);max-height:80px;transition:max-height .35s cubic-bezier(.4, 0, .2, 1);overflow:hidden;z-index:2}.mv-info-drawer.expanded{max-height:420px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgb(var(--hub-accent-rgb) / 0.15) transparent}.mv-info-drawer.expanded::-webkit-scrollbar{width:4px}.mv-info-drawer.expanded::-webkit-scrollbar-thumb{background:rgb(var(--hub-accent-rgb) / .15);border-radius:2px}.mv-drawer-handle{display:flex;align-items:center;justify-content:center;padding:.45rem 0 .3rem;cursor:pointer;user-select:none}.mv-handle-bar{width:40px;height:4px;border-radius:3px;background:rgb(var(--hub-accent-rgb) / .25);transition:background .2s ease}.mv-drawer-handle:hover .mv-handle-bar{background:rgb(var(--hub-accent-rgb) / .5)}.mv-drawer-content{padding:0 1rem .75rem}.mv-drawer-placeholder{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.5rem 0;font-size:.75rem;color:rgb(var(--hub-overlay-rgb) / .3)}.mv-d-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;padding-bottom:.5rem;border-bottom:1px solid rgb(var(--hub-accent-rgb) / .06);margin-bottom:.5rem}.mv-d-route-summary{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.mv-d-airport{font-size:.82rem;color:var(--text-light,var(--hub-ink))}.mv-d-airport strong{color:var(--hub-accent);letter-spacing:.5px}.mv-d-arrow{color:rgb(var(--hub-accent-rgb) / .4);font-size:.75rem}.mv-d-quick-stats{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.mv-d-qs{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;color:rgb(var(--hub-accent-rgb) / .8)}.mv-d-qs strong{color:var(--text-light,var(--hub-ink))}.mv-d-qs i,.mv-d-qs svg{opacity:.6}.mv-d-tabs{display:flex;gap:0;margin-bottom:.6rem;border-bottom:1px solid rgb(var(--hub-accent-rgb) / .06)}.mv-d-tab{padding:.4rem .85rem;font-size:.7rem;font-weight:600;color:var(--text-gray,var(--hub-ink-muted));background:0 0;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .2s ease}.mv-d-tab:hover{color:var(--text-light,var(--hub-ink))}.mv-d-tab.active{color:var(--hub-accent);border-bottom-color:var(--hub-accent)}.mv-d-panel{display:none}.mv-d-panel.active{display:block}.mv-d-direction{font-size:.72rem;font-weight:700;color:var(--hub-accent);margin:.5rem 0 .35rem;padding:.2rem 0;border-bottom:1px solid rgb(var(--hub-accent-rgb) / .06)}.mv-d-seg{display:flex;gap:.6rem;padding:.35rem 0}.mv-d-seg-timeline{display:flex;flex-direction:column;align-items:center;width:14px;flex-shrink:0;padding-top:.15rem}.mv-d-dot{width:10px;height:10px;border-radius:50%;border:2px solid;flex-shrink:0}.mv-d-dot.dep{border-color:var(--hub-accent);background:rgb(var(--hub-accent-rgb) / .15)}.mv-d-dot.arr{border-color:var(--hub-accent);background:rgb(var(--hub-accent-rgb) / .15)}.mv-d-rail{flex:1;width:2px;min-height:30px;background:linear-gradient(to bottom,rgb(var(--hub-accent-rgb) / .3),rgb(var(--hub-accent-rgb) / .3));margin:2px 0}.mv-d-seg-content{flex:1;min-width:0}.mv-d-seg-point{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.mv-d-seg-time{font-size:.82rem;font-weight:700;color:var(--text-light,var(--hub-ink));min-width:40px}.mv-d-seg-code{font-size:.78rem;font-weight:700;color:var(--hub-accent);letter-spacing:.5px}.mv-d-seg-name{font-size:.68rem;color:var(--text-gray,var(--hub-ink-muted))}.mv-d-seg-flight{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap;padding:.3rem 0 .3rem .15rem}.mv-d-seg-logo{width:22px;height:22px;border-radius:3px}.mv-d-seg-airline{font-size:.68rem;font-weight:600;color:var(--text-light,var(--hub-ink))}.mv-d-chip{display:inline-flex;align-items:center;font-size:.6rem;font-weight:600;padding:.1rem .4rem;border-radius:4px;background:rgb(var(--hub-overlay-rgb) / .04);color:var(--text-gray,var(--hub-ink-muted));border:1px solid rgb(var(--hub-overlay-rgb) / .06);white-space:nowrap}.mv-d-chip.cabin{color:var(--hub-accent);background:rgb(var(--hub-accent-rgb) / .08);border-color:rgb(var(--hub-accent-rgb) / .15)}.mv-d-chip.dur{color:rgb(var(--hub-accent-rgb) / .8);background:rgb(var(--hub-accent-rgb) / .06);border-color:rgb(var(--hub-accent-rgb) / .1)}.mv-d-chip.codeshare{color:var(--hub-warning);background:rgb(var(--hub-accent-rgb) / .06);border-color:rgb(var(--hub-accent-rgb) / .12)}.mv-d-chip.alliance{color:var(--hub-success);background:rgb(var(--hub-accent-rgb) / .06);border-color:rgb(var(--hub-accent-rgb) / .12)}.mv-d-layover{display:flex;align-items:center;gap:.3rem;font-size:.65rem;color:var(--hub-warning);padding:.2rem 0 .2rem 2rem}.mv-d-terminal-change{color:var(--hub-error);font-weight:600}.mv-d-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.mv-d-info-block{background:rgb(var(--hub-overlay-rgb) / .015);border:1px solid rgb(var(--hub-overlay-rgb) / .04);border-radius:8px;padding:.65rem}.mv-d-label{display:flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:700;color:var(--hub-accent);margin-bottom:.45rem;text-transform:uppercase;letter-spacing:.5px}.mv-d-kv{display:flex;justify-content:space-between;align-items:center;font-size:.7rem;padding:.2rem 0;border-bottom:1px solid rgb(var(--hub-overlay-rgb) / .02)}.mv-d-kv>span:first-child{color:var(--text-gray,var(--hub-ink-muted))}.mv-d-kv>span:last-child{color:var(--text-light,var(--hub-ink));font-weight:600}.mv-d-yes{color:var(--hub-success)!important}.mv-d-no{color:var(--hub-error)!important}.mv-d-warn{color:var(--hub-warning)!important;font-weight:700!important}.mv-d-price-row{display:flex;justify-content:space-between;font-size:.7rem;padding:.22rem 0;border-bottom:1px solid rgb(var(--hub-overlay-rgb) / .02)}.mv-d-price-row>span:first-child{color:var(--text-gray,var(--hub-ink-muted))}.mv-d-price-row>span:last-child{color:var(--text-light,var(--hub-ink));font-weight:600}.mv-d-price-row.total{border-top:1px solid rgb(var(--hub-accent-rgb) / .1);border-bottom:none;margin-top:.25rem;padding-top:.35rem;font-size:.82rem}.mv-d-price-row.total>span:last-child{color:var(--hub-accent);font-weight:800}.mv-d-price-row.fee>span:last-child{color:var(--hub-warning)}.mv-d-book-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;margin-top:.5rem;padding:.5rem 1rem;font-size:.75rem;font-weight:700;color:var(--hub-bg-deep);background:linear-gradient(135deg,var(--hub-accent),var(--hub-accent));border:none;border-radius:8px;cursor:pointer;text-decoration:none;transition:all .2s ease}.mv-d-book-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.mv-d-empty{font-size:.68rem;color:rgb(var(--hub-overlay-rgb) / .25);padding:.3rem 0;font-style:italic}.mv-d-empty.warn{color:var(--hub-error)}.mv-d-airports-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}.mv-d-airport-card{background:rgb(var(--hub-overlay-rgb) / .02);border:1px solid rgb(var(--hub-overlay-rgb) / .05);border-radius:8px;padding:.55rem;transition:border-color .2s ease}.mv-d-airport-card:hover{border-color:rgb(var(--hub-accent-rgb) / .15)}.mv-d-airport-card.origin{border-left:3px solid var(--hub-accent)}.mv-d-airport-card.destination{border-left:3px solid var(--hub-accent)}.mv-d-airport-card.transfer{border-left:3px solid var(--hub-warning)}.mv-d-ac-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.2rem}.mv-d-ac-role{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-gray,var(--hub-ink-muted))}.mv-d-ac-iata{font-size:.85rem;font-weight:800;color:var(--hub-accent);letter-spacing:1px}.mv-d-ac-name{font-size:.7rem;color:var(--text-light,var(--hub-ink));margin-bottom:.1rem}.mv-d-ac-city{font-size:.62rem;color:var(--text-gray,var(--hub-ink-muted))}.mv-d-ac-coords{font-size:.55rem;color:rgb(var(--hub-overlay-rgb) / .25);margin-top:.15rem;font-family:'SF Mono','Fira Code',monospace}.mv-d-ac-dist{font-size:.6rem;color:rgb(var(--hub-accent-rgb) / .6);margin-top:.15rem}.mv-d-ac-chips{display:flex;gap:.25rem;flex-wrap:wrap;margin-top:.25rem}.mv-d-total-dist{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.4rem 0;font-size:.72rem;color:rgb(var(--hub-accent-rgb) / .7)}.mv-d-score-main{display:flex;align-items:baseline;gap:.2rem;margin-bottom:.35rem}.mv-d-score-num{font-size:1.5rem;font-weight:800;color:var(--hub-accent);line-height:1}.mv-d-score-main span{font-size:.7rem;color:var(--text-gray,var(--hub-ink-muted))}.mv-d-score-bar{height:6px;border-radius:3px;background:rgb(var(--hub-overlay-rgb) / .06);margin-bottom:.5rem;overflow:hidden}.mv-d-score-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--hub-accent),var(--hub-success));transition:width .5s ease}.mv-d-score-breakdown{display:flex;flex-direction:column;gap:.25rem}.mv-d-score-item{display:flex;align-items:center;gap:.4rem;font-size:.65rem}.mv-d-score-item>span:first-child{width:50px;color:var(--text-gray,var(--hub-ink-muted))}.mv-d-score-item>span:last-child{width:24px;text-align:right;font-weight:700;color:var(--text-light,var(--hub-ink))}.mv-d-score-mini{flex:1;height:4px;background:rgb(var(--hub-overlay-rgb) / .06);border-radius:2px;overflow:hidden}.mv-d-score-mini>div{height:100%;background:var(--hub-accent);border-radius:2px;transition:width .5s ease}.mv-d-co2{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--text-light,var(--hub-ink));margin-bottom:.25rem}.mv-d-co2 i{color:var(--hub-success)}.mv-d-co2-bar{height:6px;border-radius:3px;background:rgb(var(--hub-overlay-rgb) / .06);overflow:hidden;margin-bottom:.2rem}.mv-d-co2-bar>div{height:100%;border-radius:3px}.mv-d-co2-bar.low>div{background:var(--hub-success)}.mv-d-co2-bar.med>div{background:var(--hub-warning)}.mv-d-co2-bar.high>div{background:var(--hub-error)}.mv-d-co2-label{font-size:.6rem;color:var(--text-gray,var(--hub-ink-muted))}.mv-d-airline-pill{display:inline-block;font-size:.62rem;font-weight:600;color:var(--text-light,var(--hub-ink));background:rgb(var(--hub-accent-rgb) / .06);border:1px solid rgb(var(--hub-accent-rgb) / .1);border-radius:4px;padding:.12rem .45rem;margin:.1rem .15rem 0 0}@media (max-width:768px){.mv-section{height:calc(100vh - 120px);border-radius:10px}.mv-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.mv-flight-list{grid-row:1;grid-column:1;max-height:120px;border-right:none;border-bottom:1px solid rgb(var(--hub-accent-rgb) / .08)}.mv-list-scroll{display:flex;overflow-x:auto;overflow-y:hidden;flex-direction:row;padding:.35rem;gap:.35rem}.mv-flight-item{flex-shrink:0;min-width:160px;margin-bottom:0}.mv-map-area{grid-row:2;grid-column:1;min-height:250px}.mv-info-drawer{grid-row:3;grid-column:1}.mv-d-grid-2{grid-template-columns:1fr}.mv-d-airports-grid{grid-template-columns:1fr 1fr}}@media (max-width:480px){.mv-d-airports-grid{grid-template-columns:1fr}.mv-fi-bottom{padding-left:0}}.po-buy-btn{display:inline-flex!important;align-items:center;gap:6px}.po-panel{background:var(--hub-bg-deep);border:1px solid rgb(var(--hub-accent-rgb) / .2);border-radius:12px;margin:-4px 0 12px 0;padding:0;overflow:hidden;animation:poSlideDown .25s ease-out}@keyframes poSlideDown{from{opacity:0;max-height:0;transform:translateY(-8px)}to{opacity:1;max-height:800px;transform:translateY(0)}}.po-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:14px 16px 12px;border-bottom:1px solid rgb(var(--hub-accent-rgb) / .1);position:relative}.po-flight-info{display:flex;align-items:center;gap:10px;flex:1;min-width:200px}.po-route-badge{background:rgb(var(--hub-accent-rgb) / .15);color:var(--hub-accent);font-weight:600;font-size:.82rem;padding:3px 10px;border-radius:6px;white-space:nowrap}.po-flight-detail{color:var(--hub-ink-faint);font-size:.82rem;white-space:nowrap}.po-price-note{color:var(--hub-ink-faint);font-size:.82rem}.po-price-note strong{color:var(--hub-accent)}.po-checked-time{color:var(--hub-ink-muted);font-size:.75rem;margin-left:4px}.po-close-btn{position:absolute;top:10px;right:10px;background:0 0;border:none;color:var(--hub-ink-muted);font-size:1.3rem;cursor:pointer;padding:0 4px;line-height:1;transition:color .15s}.po-close-btn:hover{color:var(--hub-error)}.po-options-list{padding:8px 12px 4px;display:flex;flex-direction:column;gap:4px}.po-option{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;background:var(--hub-surface);border:1px solid transparent;cursor:pointer;text-decoration:none;color:inherit;transition:background .15s,border-color .15s,transform .1s}.po-option:hover{background:rgb(var(--hub-accent-rgb) / .08);border-color:rgb(var(--hub-accent-rgb) / .25);transform:translateX(3px)}.po-option.po-priority{border-color:rgb(var(--hub-accent-rgb) / .2);background:rgb(var(--hub-accent-rgb) / .06)}.po-option-logo{width:36px;height:36px;border-radius:8px;object-fit:contain;flex-shrink:0;background:rgb(var(--hub-overlay-rgb) / .05)}.po-option-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}.po-option-info{flex:1;min-width:0}.po-option-name{color:var(--hub-ink);font-weight:600;font-size:.88rem}.po-option-desc{color:var(--hub-ink-muted);font-size:.78rem;margin-top:1px}.po-option-action{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}.po-option-badge{background:rgb(var(--hub-accent-rgb) / .15);color:var(--hub-accent);font-size:.68rem;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.po-option-price{color:var(--hub-accent);font-weight:600;font-size:.85rem}.po-option-cta{color:var(--hub-ink-faint);font-size:.78rem;white-space:nowrap}.po-option:hover .po-option-cta{color:var(--hub-accent)}.po-deep-hunt{margin:0 12px 8px;padding:10px 14px;background:linear-gradient(135deg,rgb(var(--hub-accent-rgb) / .08) 0,rgb(var(--hub-accent-rgb) / .06) 100%);border:1px solid rgb(var(--hub-accent-rgb) / .2);border-radius:10px;transition:all .3s ease}.po-deep-hunt-header{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--hub-accent)}.po-deep-hunt-icon{font-size:1.1rem;animation:po-agent-pulse 1.5s ease-in-out infinite}@keyframes po-agent-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.po-deep-hunt-label{flex:1;font-weight:500}.po-deep-hunt-progress{font-size:.72rem;color:var(--hub-accent);font-variant-numeric:tabular-nums}.po-deep-hunt-bar{height:3px;background:rgb(var(--hub-accent-rgb) / .15);border-radius:3px;margin-top:8px;overflow:hidden}.po-deep-hunt-bar-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--hub-accent),var(--hub-accent),var(--hub-accent));background-size:200% 100%;border-radius:3px;transition:width .5s ease;animation:po-bar-shimmer 2s linear infinite}@keyframes po-bar-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.po-deep-hunt-bar-done{animation:none;background:var(--hub-accent)}.po-deep-hunt-results{display:flex;flex-direction:column;gap:6px;margin-top:8px}.po-deep-hunt-results:empty{display:none}.po-option.po-deep-link-found{background:linear-gradient(135deg,rgb(var(--hub-accent-rgb) / .12) 0,rgb(var(--hub-accent-rgb) / .08) 100%);border:1px solid rgb(var(--hub-accent-rgb) / .35);animation:po-deep-found-in .4s ease-out}.po-option.po-deep-link-found:hover{background:linear-gradient(135deg,rgb(var(--hub-accent-rgb) / .2) 0,rgb(var(--hub-accent-rgb) / .14) 100%);border-color:rgb(var(--hub-accent-rgb) / .5)}@keyframes po-deep-found-in{from{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.po-deep-badge{display:inline-block;padding:2px 8px;background:linear-gradient(135deg,var(--hub-accent),var(--hub-accent));color:var(--hub-ink);font-size:.68rem;font-weight:600;border-radius:20px;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.po-deep-result-price{font-size:.85rem;font-weight:700;color:var(--hub-success)}.po-deep-hunt.po-deep-hunt-success{border-color:rgb(var(--hub-accent-rgb) / .35);background:linear-gradient(135deg,rgb(var(--hub-accent-rgb) / .08) 0,rgb(var(--hub-accent-rgb) / .04) 100%)}.po-deep-hunt.po-deep-hunt-success .po-deep-hunt-icon{animation:none}.po-deep-hunt.po-deep-hunt-success .po-deep-hunt-label{color:var(--hub-success)}.po-deep-hunt.po-deep-hunt-none{border-color:rgb(var(--hub-ink-rgb) / .15);background:rgb(var(--hub-ink-rgb) / .05);padding:8px 14px}.po-deep-hunt.po-deep-hunt-none .po-deep-hunt-icon{animation:none}.po-deep-hunt.po-deep-hunt-none .po-deep-hunt-label{color:var(--hub-ink-muted);font-size:.78rem}.po-deep-hunt.po-deep-hunt-none .po-deep-hunt-bar{display:none}.po-disclaimer{padding:10px 16px 12px;color:var(--hub-ink-muted);font-size:.72rem;line-height:1.5;border-top:1px solid rgb(var(--hub-accent-rgb) / .06);margin-top:4px}.po-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgb(0 0 0 / .7);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;animation:poFadeIn .2s ease-out}@keyframes poFadeIn{from{opacity:0}to{opacity:1}}.po-overlay-inner{max-width:520px;width:92vw;max-height:85vh;overflow-y:auto}.po-overlay-inner .po-panel{margin:0}.po-overlay-close{display:block;width:100%;margin-top:8px;padding:10px;background:var(--hub-surface);border:1px solid rgb(var(--hub-ink-rgb) / .2);border-radius:8px;color:var(--hub-ink-faint);font-size:.85rem;cursor:pointer;text-align:center;transition:color .15s,background .15s}.po-overlay-close:hover{background:rgb(var(--hub-error-rgb) / .1);color:var(--hub-error);border-color:rgb(var(--hub-error-rgb) / .2)}.po-loading .po-options-list{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px}.po-loading-spinner{width:28px;height:28px;border:3px solid rgb(var(--hub-accent-rgb) / .15);border-top:3px solid var(--hub-accent);border-radius:50%;animation:po-spin .8s linear infinite}@keyframes po-spin{to{transform:rotate(360deg)}}.mv-d-buy-options{display:flex;flex-direction:column;gap:6px;padding:4px 0}.mv-d-buy-options .po-option{border-radius:8px}.mv-d-buy-options .po-option-logo{width:28px;height:28px}.mv-d-buy-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid rgb(var(--hub-ink-rgb) / .15)}.mv-d-buy-price{font-size:1.1rem;font-weight:700;color:var(--hub-accent)}.mv-d-buy-note{font-size:.72rem;color:var(--hub-ink-muted)}.mv-d-buy-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:8px;color:var(--hub-ink-faint);font-size:.82rem}.po-sources-section{padding:10px 14px 8px;margin:0 0 2px;background:rgb(var(--hub-accent-rgb) / .04);border-bottom:1px solid rgb(var(--hub-accent-rgb) / .1)}.po-sources-title{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;color:var(--hub-warning);margin-bottom:8px}.po-sources-icon{font-size:1rem}.po-source-row{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;margin-bottom:3px;font-size:.82rem;transition:background .15s}.po-source-row:hover{background:rgb(var(--hub-overlay-rgb) / .03)}.po-source-row.po-source-best{background:rgb(var(--hub-accent-rgb) / .06);border:1px solid rgb(var(--hub-accent-rgb) / .12)}.po-source-name{color:var(--hub-ink);font-weight:500;min-width:70px}.po-source-price{color:var(--hub-accent);font-weight:600;font-size:.88rem;margin-left:auto}.po-source-best .po-source-price{color:var(--hub-accent)}.po-source-badge{font-size:.62rem;font-weight:700;color:var(--hub-accent);background:rgb(var(--hub-accent-rgb) / .1);padding:1px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.po-source-tag{font-size:.62rem;font-weight:600;color:var(--hub-accent);background:rgb(var(--hub-accent-rgb) / .1);padding:1px 6px;border-radius:4px;white-space:nowrap}.po-source-link{font-size:.75rem;font-weight:600;color:var(--hub-accent);text-decoration:none;white-space:nowrap;padding:2px 8px;border-radius:4px;border:1px solid rgb(var(--hub-accent-rgb) / .2);transition:all .15s}.po-source-link:hover{background:rgb(var(--hub-accent-rgb) / .1);border-color:rgb(var(--hub-accent-rgb) / .4)}@media (max-width:600px){.po-header{flex-direction:column;align-items:flex-start;gap:6px}.po-option{padding:8px 10px;gap:8px}.po-option-icon,.po-option-logo{width:28px;height:28px;font-size:1.1rem}.po-option-name{font-size:.82rem}.po-option-desc{font-size:.72rem}.po-option-badge{font-size:.62rem}}.fc-save-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid rgb(var(--hub-overlay-rgb) / .06);background:rgb(var(--hub-overlay-rgb) / .03);color:var(--text-gray);cursor:pointer;transition:all .2s;font-size:1rem;line-height:1;padding:0}.fc-save-btn:hover{background:rgb(var(--hub-accent-rgb) / .1);border-color:rgb(var(--hub-accent-rgb) / .3);color:var(--hub-warning);transform:scale(1.08)}.fc-save-btn.saved{background:rgb(var(--hub-accent-rgb) / .12);border-color:rgb(var(--hub-accent-rgb) / .3);color:var(--hub-warning)}.fc-save-btn.saved:hover{background:rgb(var(--hub-error-rgb) / .1);border-color:rgb(var(--hub-error-rgb) / .25);color:var(--hub-error)}#watchlist-badge{display:none;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:rgb(var(--hub-accent-rgb) / .18);color:var(--hub-warning);font-size:.65rem;font-weight:700;align-items:center;justify-content:center;margin-left:6px}.wl-section{margin-top:1rem}.wl-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.wl-title{font-size:1.15rem;font-weight:700;color:var(--text-light)}.wl-summary{display:flex;gap:1.2rem;font-size:.78rem;color:var(--text-gray)}.wl-summary strong{color:var(--text-light);font-weight:700}.wl-tabs{display:flex;gap:.4rem;margin-bottom:1rem}.wl-tab{padding:.45rem 1rem;border-radius:10px;border:1px solid rgb(var(--hub-overlay-rgb) / .06);background:0 0;color:var(--text-gray);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s}.wl-tab:hover{background:rgb(var(--hub-accent-rgb) / .06);border-color:rgb(var(--hub-accent-rgb) / .15)}.wl-tab.active{background:rgb(var(--hub-accent-rgb) / .1);color:var(--hub-warning);border-color:rgb(var(--hub-accent-rgb) / .25)}.wl-list{display:flex;flex-direction:column;gap:.5rem}.wl-card{display:flex;flex-direction:column;background:var(--hub-surface);border:1px solid rgb(var(--hub-accent-rgb) / .06);border-radius:14px;padding:1rem 1.25rem;transition:var(--transition)}.wl-main{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center}.wl-body{min-width:0}.wl-line{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem}.wl-port{display:flex;flex-direction:column;line-height:1.15}.wl-port b{font-size:1.05rem;font-weight:800;color:var(--text-light)}.wl-port b sup{font-size:.6em;font-weight:700;color:var(--hub-accent);margin-left:1px}.wl-port span{font-size:.72rem;font-weight:600;letter-spacing:.04em;color:var(--text-gray)}.wl-port-end{text-align:right}.wl-port-end b,.wl-port-end span{text-align:right}.wl-path{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.wl-path-top,.wl-path-via{font-size:.68rem;color:var(--text-gray);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.wl-path-via{color:rgb(var(--hub-accent-rgb) / .75);font-weight:600}.wl-path-line{position:relative;display:flex;align-items:center;justify-content:space-evenly;width:100%;height:1px;background:rgb(var(--hub-ink-rgb) / .18)}.wl-path-line i{width:5px;height:5px;border-radius:50%;background:var(--hub-accent)}.wl-meta{display:flex;align-items:center;gap:.4rem;margin-top:.5rem;font-size:.78rem;color:var(--text-gray);min-width:0}.wl-meta>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wl-saved{font-size:.7rem;color:rgb(var(--hub-ink-rgb) / .45)}.wl-end{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;text-align:right}.wl-price-note{font-size:.64rem;color:rgb(var(--hub-ink-rgb) / .45);margin-top:-.25rem}.wl-more{align-self:flex-start;display:inline-flex;align-items:center;gap:.3rem;margin-top:.6rem;padding:.3rem 0;border:0;background:0 0;font:inherit;font-size:.76rem;font-weight:600;color:var(--hub-accent);cursor:pointer}.wl-more i,.wl-more svg{width:14px;height:14px;transition:transform .2s ease}.wl-more.is-open svg{transform:rotate(180deg)}.wl-details{margin-top:.5rem;padding-top:.75rem;border-top:1px dashed rgb(var(--hub-ink-rgb) / .12)}.wl-leg-head{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-gray);margin-bottom:.4rem}.wl-leg+.wl-leg-head{margin-top:.9rem}.wl-leg{padding:.55rem .7rem;border-radius:10px;background:rgb(var(--hub-ink-rgb) / .03)}.wl-leg+.wl-leg{margin-top:.4rem}.wl-leg-times{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.wl-leg-times>div{display:flex;flex-direction:column;font-size:.78rem;color:var(--text-light);min-width:0}.wl-leg-times b{font-weight:800;margin-right:.3rem}.wl-leg-times span{font-size:.68rem;color:var(--text-gray);overflow:hidden;text-overflow:ellipsis}.wl-leg-facts{margin-top:.35rem;font-size:.7rem;color:var(--text-gray)}.wl-layover{margin:.4rem 0;padding-left:.7rem;font-size:.72rem;color:rgb(var(--hub-accent-rgb) / .85);border-left:2px dotted rgb(var(--hub-accent-rgb) / .4)}@media (max-width:560px){.wl-card{padding:.9rem 1rem}.wl-main{grid-template-columns:auto 1fr;gap:.75rem}.wl-end{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;text-align:left;padding-top:.6rem;border-top:1px solid rgb(var(--hub-ink-rgb) / .07)}.wl-price-note{margin:0}.wl-card-price{margin:0}.wl-card-actions{margin-left:auto}}.wl-card:hover{border-color:rgb(var(--hub-accent-rgb) / .18);background:var(--hub-surface);transform:translateY(-1px)}.wl-card.wl-expired{opacity:.55}.wl-card.wl-expired:hover{opacity:.75}.wl-notes{font-size:.72rem;color:rgb(var(--hub-accent-rgb) / .7);margin-top:.2rem;display:flex;align-items:center;gap:.3rem}.wl-card-price{font-size:1.05rem;font-weight:800;color:var(--text-light);margin-bottom:.3rem}.wl-card-actions{display:flex;gap:.3rem;justify-content:flex-end}.wl-action-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid rgb(var(--hub-overlay-rgb) / .06);background:rgb(var(--hub-overlay-rgb) / .03);color:var(--text-gray);cursor:pointer;transition:all .2s;padding:0}.wl-action-btn i,.wl-action-btn svg{width:14px;height:14px}.wl-action-btn:hover{background:rgb(var(--hub-accent-rgb) / .08);border-color:rgb(var(--hub-accent-rgb) / .2);color:var(--primary-color)}.wl-search-btn:hover{background:rgb(var(--hub-accent-rgb) / .1);border-color:rgb(var(--hub-accent-rgb) / .2);color:var(--hub-accent)}.wl-remove-btn:hover{background:rgb(var(--hub-error-rgb) / .08);border-color:rgb(var(--hub-error-rgb) / .2);color:var(--hub-error)}.wl-note-btn:hover{background:rgb(var(--hub-accent-rgb) / .08);border-color:rgb(var(--hub-accent-rgb) / .2);color:var(--hub-warning)}.wl-loading{text-align:center;padding:3rem 1rem}.wl-empty-state{text-align:center;padding:3rem 1rem}.wl-empty-state i,.wl-empty-state svg{width:48px;height:48px;color:rgb(var(--hub-accent-rgb) / .3);margin-bottom:1rem}.wl-empty-state h3{color:var(--text-light);font-size:1.1rem;margin-bottom:.4rem}.wl-empty-state p{color:var(--text-gray);font-size:.88rem}@media (max-width:600px){.wl-card{grid-template-columns:auto 1fr;gap:.6rem;padding:.8rem 1rem}.wl-card .mb-card-end{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;text-align:left}.wl-header-row{flex-direction:column;align-items:flex-start}.wl-summary{flex-wrap:wrap;gap:.8rem}.wl-card-actions{gap:.2rem}.fc-save-btn{width:28px;height:28px}}
/* css/flights-page.css */
.fp-h1-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.flights-hero{padding:1.5rem 0 .75rem!important;background:var(--hub-bg)}@media (max-width:640px){.flights-hero{padding-top:1rem!important}}.flights-page-tabs{display:inline-flex;gap:.25rem;padding:.25rem;background:rgb(var(--hub-overlay-rgb) / .05);border-radius:100px}.flights-page-tab{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem 1.1rem;border:0;border-radius:100px;background:0 0;font-family:inherit;font-size:.87rem;font-weight:600;color:var(--hub-ink-muted);cursor:pointer;transition:background var(--hub-transition),color var(--hub-transition)}.flights-page-tab:hover{color:var(--hub-ink)}.flights-page-tab.active{background:var(--hub-fill);color:var(--hub-on-fill);font-weight:700}.flights-page-tab:focus-visible{outline:3px solid var(--hub-focus);outline-offset:2px}.search-section{background:var(--hub-bg);padding-top:0}.search-card{background:var(--hub-elev);border:1px solid var(--hub-hairline);border-radius:var(--hub-radius);box-shadow:var(--hub-shadow)}.trip-type-toggle{display:inline-flex;gap:.25rem;padding:.25rem;background:rgb(var(--hub-overlay-rgb) / .05);border-radius:100px}.trip-type-btn{padding:.4rem 1.1rem;border:0;border-radius:100px;background:0 0;font-family:inherit;font-size:.87rem;font-weight:600;color:var(--hub-ink-muted);cursor:pointer}.trip-type-btn.active{background:var(--hub-fill);color:var(--hub-on-fill);font-weight:700}.trip-type-btn:focus-visible{outline:3px solid var(--hub-focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){.flights-page-tab{transition:none}}.search-card .search-btn,.search-card button[type=submit]{background:var(--hub-fill)!important;color:var(--hub-on-fill)!important;border:0!important;font-weight:700}.search-card .search-btn:hover,.search-card button[type=submit]:hover{filter:brightness(1.06)}.cmp-select-btn,.compare-open-btn,.fb-btn-primary,.fb-step-dot.active .fb-step-num,.flex-dates-switch input:checked+.flex-dates-slider,.select-flight-btn,.sort-tab.active{background:var(--hub-fill);color:var(--hub-on-fill);border-color:transparent}.cmp-select-btn:hover,.compare-open-btn:hover,.fb-btn-primary:hover,.select-flight-btn:hover,.sort-tab.active:hover{filter:brightness(1.06);background:var(--hub-fill)}@media (max-width:640px){.flights-page-tabs{display:flex;max-width:100%;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;-webkit-overflow-scrolling:touch}.flights-page-tabs::-webkit-scrollbar{display:none}.flights-page-tab{flex:0 0 auto;white-space:nowrap;min-height:2.75rem}}@media (hover:none) and (pointer:coarse){.search-card .passenger-display,.search-card input,.search-card select{min-height:44px}}.fp-top{background:linear-gradient(170deg,var(--hub-bg-deep) 0,var(--hub-bg) 55%,var(--hub-elev) 100%);padding-bottom:clamp(1.75rem,3.5vw,3rem)}.fp-top .flights-hero,.fp-top .search-section{background:0 0}.fp-top .search-card{box-shadow:0 10px 34px rgb(var(--hub-overlay-rgb) / .1),0 2px 8px rgb(var(--hub-overlay-rgb) / .06)}.flight-card{align-items:start;padding:1rem 1.1rem;gap:1.25rem}.flight-price-col{display:flex;flex-flow:row wrap;justify-content:flex-end;align-items:center;gap:.4rem .55rem;min-width:268px;padding-left:1.1rem}.flight-price-col>.flight-badges{flex:0 0 100%;justify-content:flex-end}.flight-price-col>.flight-price{flex:0 0 auto;order:-2}.flight-price-col>.flight-price-per{order:-1;align-self:flex-end;padding-bottom:.35rem}.flight-price-col>.select-flight-btn{flex:0 1 auto;width:auto;min-width:190px;padding-inline:1.1rem}.flight-card-actions,.flight-card-toggles{margin:0}.flight-itinerary{max-width:640px}@media (max-width:900px){.flight-card{grid-template-columns:1fr;gap:.85rem}.flight-price-col{min-width:0;padding-left:0;border-left:0;border-top:1px solid rgb(var(--hub-accent-rgb) / .08);padding-top:.85rem}.flight-itinerary,.flight-itinerary .itinerary-row,.flight-itinerary .route-visual{min-width:0;max-width:none}.flight-itinerary .itinerary-row{gap:.55rem}}.flight-card .itinerary-airline>*{min-width:0}.flight-card .airline-name{max-width:100%;white-space:normal;overflow-wrap:break-word;text-overflow:clip;line-height:1.35}@media (max-width:480px){.flight-card .itinerary-airline{width:auto;max-width:100%}}.flight-itinerary{max-width:none}.po-panel{scroll-margin-top:16px}@keyframes po-just-opened{0%{box-shadow:0 0 0 0 rgb(var(--hub-accent-rgb) / .55)}100%{box-shadow:0 0 0 10px rgb(var(--hub-accent-rgb) / 0)}}.po-just-opened{animation:po-just-opened .75s ease-out 1}@media (prefers-reduced-motion:reduce){.po-just-opened{animation:none}}.results-column{min-width:0}@media (max-width:720px){.sort-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch}.sort-tabs::-webkit-scrollbar{display:none}.sort-tab{flex:0 0 auto;white-space:nowrap}}.flight-card-toggles{flex-wrap:wrap}.flight-detail-toggle,.flight-map-toggle{white-space:nowrap}.card-aircraft{min-width:0}.card-aircraft i[data-lucide]{flex:0 0 auto}.card-aircraft-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.po-sources-hint{margin:0 0 .5rem;font-size:.72rem;line-height:1.45;color:rgb(var(--hub-ink-rgb) / .55)}.po-source-row{flex-wrap:wrap}.po-source-name{min-width:0}.po-source-facts{display:flex;flex-wrap:wrap;gap:4px;min-width:0}.po-fact{font-size:.66rem;line-height:1.5;padding:.05rem .4rem;border-radius:4px;background:rgb(var(--hub-ink-rgb) / .05);color:rgb(var(--hub-ink-rgb) / .6);white-space:nowrap}.po-source-price{margin-left:auto;font-variant-numeric:tabular-nums}.po-source-row:hover{background:0 0}.po-source-row.po-source-best:hover{background:rgb(var(--hub-accent-rgb) / .06)}@media (max-width:640px){.search-card{padding:.5rem .9rem .9rem}.search-card .search-form-grid,.search-card .search-row-secondary{display:block;gap:0}.search-card .flight-input-group{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:.75rem;padding:.1rem 0;border-bottom:1px solid rgb(var(--hub-ink-rgb) / .08)}.search-card .flight-input-group label{margin:0;font-size:.66rem;letter-spacing:.06em;white-space:nowrap;color:rgb(var(--hub-ink-rgb) / .5)}.search-card .flight-input-group .input-icon{display:none}.search-card .flight-input-group .input-wrapper{min-width:0}.search-card .fdp-trigger,.search-card .flight-input-group input,.search-card .flight-input-group select{padding:0;border:0;background:0 0;border-radius:0;text-align:right;font-weight:700;font-size:.92rem;min-height:2.75rem}.search-card .flight-input-group input:focus,.search-card .flight-input-group select:focus{outline:0;box-shadow:none}.search-card .flight-input-group input::placeholder{font-weight:500}.search-card .autocomplete-dropdown,.search-card .passenger-dropdown{top:calc(100% + 2px)}.search-card .trip-type-toggle{margin-bottom:.35rem}.search-card .trip-type-btn{padding:.5rem .9rem;font-size:.8rem}.search-card .search-form-grid{margin-bottom:0}.search-card .swap-airports-btn{position:absolute;margin:0;right:0;top:auto;bottom:-22px;transform:none;background:var(--hub-surface)}.search-card .swap-airports-btn svg{width:15px;height:15px}#dest-group .input-wrapper input,#origin-group .input-wrapper input{padding-right:2.75rem;text-overflow:ellipsis}.search-card .search-row-secondary .flight-input-group:last-child{border-bottom:0}.search-card .search-btn,.search-card button[type=submit]{width:100%;margin-top:.6rem}}@media (max-width:640px){.fp-top .flights-hero{padding-bottom:.75rem!important}}@media (hover:none) and (pointer:coarse){.filter-clear-btn,.mobile-filter-toggle,.mv-close-btn,.po-buy-btn,.po-close-btn,.recent-search-chip,.select-flight-btn,.sort-tab,.time-chip{min-height:44px}.mv-close-btn,.po-close-btn{min-width:44px}.flight-card-actions{gap:.5rem}.fc-action-btn{width:40px;height:40px}.flight-detail-toggle,.flight-map-toggle{min-height:40px}#airlines-filter input[type=checkbox],.filter-sidebar input[type=checkbox],.stops-filter input[type=checkbox]{width:22px;height:22px;flex:0 0 auto}.airline-option,.stops-filter .filter-option,.stops-filter label{min-height:44px;display:flex;align-items:center;gap:.5rem}}@media (max-width:640px){.flight-card-actions{flex:1 1 100%;justify-content:flex-end;margin-top:0;gap:.5rem}.flight-card-toggles{flex-wrap:nowrap;flex:1 1 100%;justify-content:flex-end}.flight-card .select-flight-btn{flex:1 1 100%;width:100%;min-width:0}}@media (max-width:768px){.mv-flight-list{max-height:124px}.mv-list-header{flex:0 0 auto;padding:.15rem .5rem;font-size:.72rem;gap:.35rem}.mv-list-header .mv-list-title{font-size:.72rem}.mv-close-btn{min-width:40px;min-height:40px}.mv-list-scroll{flex:1 1 auto;min-height:68px;padding:.3rem}.mv-flight-item{min-width:200px}#mv-map-container .leaflet-top.leaflet-left{left:auto;right:0}}@media (max-width:480px){.flights-page-tabs{gap:.15rem;padding:.2rem}.flights-page-tab{padding:.45rem .55rem;font-size:.76rem;gap:.3rem}.flights-page-tab i,.flights-page-tab svg{width:14px;height:14px}}.flight-card .airline-logo{width:44px;height:44px;padding:5px;background:#fff;border:1px solid rgb(var(--hub-ink-rgb) / .08);border-radius:8px;flex:0 0 auto}.flight-card .airline-logo.fallback{display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:var(--hub-accent);background:rgb(var(--hub-accent-rgb) / .06)}.flight-card .flight-detail-toggle,.flight-card .flight-map-toggle,.flight-card .select-flight-btn{justify-content:center}.fc-cur{display:inline-flex;align-items:center;align-self:flex-end;margin-bottom:.3rem;order:-1}.flight-price-col>.flight-price-per{order:0}.fc-cur-sel{appearance:none;-webkit-appearance:none;border:1px solid rgb(var(--hub-ink-rgb) / .12);border-radius:6px;background:0 0;padding:.05rem .85rem .05rem .3rem;font:inherit;font-size:.64rem;font-weight:700;letter-spacing:.02em;color:rgb(var(--hub-ink-rgb) / .6);cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 8px) 55%,calc(100% - 5px) 55%;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.fc-cur-sel:focus-visible{outline:2px solid var(--hub-accent);outline-offset:1px}@media (hover:none) and (pointer:coarse){.fc-cur-sel{min-height:32px}}.fc-cur .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.flight-price .currency-after{margin-left:0}.flight-card .flight-badge{font-size:.66rem;font-style:normal;line-height:1.6;border:1px solid transparent}.flight-card .badge-co2.co2-low,.flight-card .badge-co2.co2-med,.flight-card .badge-fare,.flight-card .badge-multi-source,.flight-card .badge-provider{background:rgb(var(--hub-ink-rgb) / .05);color:rgb(var(--hub-ink-rgb) / .62);border-color:transparent}.flight-card .badge-changeable,.flight-card .badge-direct,.flight-card .badge-refundable{background:rgb(var(--hub-accent-rgb) / .1);color:var(--hub-accent);border-color:rgb(var(--hub-accent-rgb) / .18)}.flight-card .badge-co2.co2-high,.flight-card .badge-seats{background:rgb(var(--hub-warning-rgb) / .12);color:var(--hub-warning);border-color:rgb(var(--hub-warning-rgb) / .2)}.flight-card .badge-seats.seats-critical{background:rgb(var(--hub-error-rgb) / .1);color:var(--hub-error);border-color:rgb(var(--hub-error-rgb) / .2)}.flight-card .badge-fare{max-width:140px;overflow:hidden;text-overflow:ellipsis}.flight-card .flight-score-row{display:inline-flex;align-items:center;gap:.35rem;padding:.1rem .45rem .1rem .35rem;border-radius:6px;background:rgb(var(--hub-accent-rgb) / .08)}.flight-card .score-val{font-size:.72rem;font-weight:800;color:var(--hub-accent)}.fj-overlay{position:fixed;inset:0;z-index:9500;display:flex;align-items:flex-end;justify-content:center;padding:0;background:rgb(var(--hub-overlay-rgb) / 0);transition:background .2s ease}.fj-overlay.is-open{background:rgb(var(--hub-overlay-rgb) / .45)}body.fj-lock{overflow:hidden}.fj-card{position:relative;width:min(420px,100%);max-height:92vh;overflow-y:auto;padding:1.6rem 1.25rem calc(1.1rem + env(safe-area-inset-bottom,0px));background:var(--hub-surface);border-radius:20px 20px 0 0;box-shadow:0 -18px 48px rgb(var(--hub-overlay-rgb) / .22);transform:translateY(14px);opacity:0;transition:transform .22s cubic-bezier(.2, .8, .3, 1),opacity .22s ease}.fj-overlay.is-open .fj-card{transform:translateY(0);opacity:1}.fj-x{position:absolute;top:.5rem;right:.5rem;width:40px;height:40px;border:0;border-radius:10px;background:0 0;font-size:1.5rem;line-height:1;color:rgb(var(--hub-ink-rgb) / .45);cursor:pointer}.fj-x:hover{background:rgb(var(--hub-ink-rgb) / .05)}.fj-head{text-align:center}.fj-mark{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:.7rem;border-radius:15px;background:rgb(var(--hub-accent-rgb) / .1);color:var(--hub-accent)}.fj-mark svg{width:26px;height:26px}.fj-title{margin:0 0 .35rem;font-size:1.28rem;font-weight:800;letter-spacing:-.01em;color:var(--hub-ink)}.fj-lead{margin:0 auto 1.15rem;max-width:34ch;font-size:.88rem;line-height:1.5;color:rgb(var(--hub-ink-rgb) / .62)}.fj-list{margin:0 0 1.3rem;padding:.9rem 1rem;list-style:none;border-radius:14px;background:rgb(var(--hub-accent-rgb) / .05)}.fj-list li{display:flex;align-items:flex-start;gap:.6rem;font-size:.84rem;line-height:1.45;color:var(--hub-ink)}.fj-list li+li{margin-top:.7rem}.fj-list svg{flex:0 0 auto;width:17px;height:17px;margin-top:1px;color:var(--hub-accent)}.fj-actions{display:flex;flex-direction:column;gap:.5rem}.fj-alt,.fj-go{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:12px;font-size:.95rem;font-weight:700;text-decoration:none}.fj-go{background:var(--hub-fill);color:var(--hub-ink);box-shadow:0 6px 18px rgb(var(--hub-accent-rgb) / .22)}.fj-go:hover{filter:brightness(1.05)}.fj-alt{background:0 0;border:1px solid rgb(var(--hub-ink-rgb) / .14);color:var(--hub-ink)}.fj-alt:hover{background:rgb(var(--hub-ink-rgb) / .04)}.fj-later{display:block;width:100%;min-height:40px;margin-top:.55rem;border:0;background:0 0;font:inherit;font-size:.82rem;color:rgb(var(--hub-ink-rgb) / .5);cursor:pointer}.fj-later:hover{color:rgb(var(--hub-ink-rgb) / .75)}@media (min-width:560px){.fj-overlay{align-items:center;padding:1.5rem}.fj-card{border-radius:20px;padding:1.9rem 1.7rem 1.4rem;box-shadow:0 24px 60px rgb(var(--hub-overlay-rgb) / .26);transform:translateY(0) scale(.97)}.fj-overlay.is-open .fj-card{transform:translateY(0) scale(1)}}@media (prefers-reduced-motion:reduce){.fj-card,.fj-overlay{transition:none}}.fsv{position:fixed;left:0;right:0;bottom:0;z-index:9400;display:flex;justify-content:center;padding:0 .75rem calc(.75rem + env(safe-area-inset-bottom,0px));pointer-events:none}.fsv-card{position:relative;width:min(420px,100%);padding:1rem 1.1rem 1.1rem;border:1px solid rgb(var(--hub-accent-rgb) / .18);border-radius:16px;background:var(--hub-surface);box-shadow:0 18px 44px rgb(var(--hub-overlay-rgb) / .26);transform:translateY(16px);opacity:0;transition:transform .22s cubic-bezier(.2, .8, .3, 1),opacity .22s ease;pointer-events:auto}.fsv.is-open .fsv-card{transform:translateY(0);opacity:1}.fsv-x{position:absolute;top:.25rem;right:.3rem;width:36px;height:36px;border:0;border-radius:9px;background:0 0;font-size:1.35rem;line-height:1;color:rgb(var(--hub-ink-rgb) / .45);cursor:pointer}.fsv-x:hover{background:rgb(var(--hub-ink-rgb) / .05)}.fsv-head{display:flex;align-items:flex-start;gap:.7rem;padding-right:2rem}.fsv-mark{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:rgb(var(--hub-accent-rgb) / .1);color:var(--hub-accent)}.fsv-mark svg{width:20px;height:20px}.fsv-title{margin:.1rem 0 .15rem;font-size:1.02rem;font-weight:800;letter-spacing:-.01em;color:var(--hub-ink)}.fsv-sub{margin:0;font-size:.78rem;line-height:1.4;color:rgb(var(--hub-ink-rgb) / .6)}.fsv-list{margin:.85rem 0 .9rem;padding:.75rem .85rem;list-style:none;border-radius:12px;background:rgb(var(--hub-accent-rgb) / .05)}.fsv-list li{display:flex;align-items:flex-start;gap:.55rem;font-size:.8rem;line-height:1.45;color:var(--hub-ink)}.fsv-list li+li{margin-top:.55rem}.fsv-list svg{flex:0 0 auto;width:15px;height:15px;margin-top:2px;color:var(--hub-accent)}.fsv-actions{display:flex;gap:.5rem}.fsv-alt,.fsv-go{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 .75rem;border:0;border-radius:11px;font:inherit;font-size:.85rem;font-weight:700;text-align:center;cursor:pointer}.fsv-go{background:var(--hub-fill);color:var(--hub-ink);box-shadow:0 5px 14px rgb(var(--hub-accent-rgb) / .2)}.fsv-go:hover{filter:brightness(1.05)}.fsv-alt{background:0 0;border:1px solid rgb(var(--hub-ink-rgb) / .14);color:var(--hub-ink)}.fsv-alt:hover{background:rgb(var(--hub-ink-rgb) / .04)}@media (min-width:720px){.fsv{left:auto;right:0;justify-content:flex-end;padding:0 1.25rem 1.25rem}}@media (prefers-reduced-motion:reduce){.fsv-card{transition:none}}.fdp-native{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;padding:0;border:0}.fdp-trigger{width:100%;min-height:2.75rem;padding:.75rem .75rem .75rem 40px;border:1px solid rgb(var(--hub-accent-rgb) / .15);border-radius:10px;background:var(--hub-elev);font:inherit;font-weight:600;font-size:.95rem;color:var(--hub-ink);text-align:left;cursor:pointer}.fdp-trigger:hover{border-color:rgb(var(--hub-accent-rgb) / .35)}.fdp-trigger:focus-visible{outline:2px solid var(--hub-accent);outline-offset:2px;border-radius:6px}.fdp-panel{position:absolute;z-index:60;top:calc(100% + 4px);right:0;width:min(310px,calc(100vw - 2rem));padding:.75rem;background:var(--hub-surface);border:1px solid rgb(var(--hub-ink-rgb) / .1);border-radius:14px;box-shadow:0 16px 40px rgb(var(--hub-overlay-rgb) / .16);animation:fdp-in .16s ease-out}@keyframes fdp-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.fdp-head{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin-bottom:.5rem}.fdp-month{font-size:.86rem;font-weight:700;color:var(--hub-ink);text-transform:capitalize}.fdp-nav{width:34px;height:34px;border:1px solid rgb(var(--hub-ink-rgb) / .12);border-radius:9px;background:0 0;font-size:1.1rem;line-height:1;color:var(--hub-ink);cursor:pointer}.fdp-nav:hover{background:rgb(var(--hub-ink-rgb) / .05)}.fdp-grid,.fdp-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.fdp-weekdays{margin-bottom:.3rem;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:rgb(var(--hub-ink-rgb) / .42);text-align:center}.fdp-day{aspect-ratio:1;min-height:34px;border:0;border-radius:9px;background:0 0;font:inherit;font-size:.8rem;color:var(--hub-ink);cursor:pointer}.fdp-day.is-blank{visibility:hidden}.fdp-day:hover:not(:disabled):not(.is-picked){background:rgb(var(--hub-ink-rgb) / .07)}.fdp-day.is-disabled,.fdp-day:disabled{color:rgb(var(--hub-ink-rgb) / .25);cursor:default}.fdp-day.is-today:not(.is-picked){box-shadow:inset 0 0 0 1px rgb(var(--hub-accent-rgb) / .4)}.fdp-day.is-picked{background:var(--hub-accent);color:#fff;font-weight:700}.fdp-day:focus-visible{outline:2px solid var(--hub-accent);outline-offset:1px}@media (prefers-reduced-motion:reduce){.fdp-panel{animation:none}}a.flights-page-tab{text-decoration:none;color:var(--hub-ink-muted)}a.flights-page-tab:hover{color:var(--hub-ink)}#hub-flights-wrapper.fp-panel .fp-top{padding-bottom:0}.fp-tabs2{display:flex;flex-direction:column;gap:.3rem;align-items:flex-start}.fp-tabs2>.flights-page-tabs{margin-top:0}@media (max-width:640px){.fp-tabs2{gap:.25rem;align-items:stretch}.flights-page-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;padding:.2rem;border-radius:14px}.flights-page-tab{justify-content:center;gap:.25rem;min-height:2.1rem;padding:.3rem .35rem;font-size:.72rem;line-height:1.15;text-align:center;white-space:normal}.flights-page-tab i[data-lucide],.flights-page-tab svg{display:none}.tab-badge{font-size:.6rem;padding:0 .25rem}}@media (max-width:640px){.results-state{padding:1.75rem 1.25rem}.results-state i[data-lucide]{width:34px;height:34px;margin-bottom:.6rem}.results-state h3{font-size:1rem}.results-state p{font-size:.85rem;line-height:1.45}.fp-top{padding-bottom:1.1rem}}
/* css/asia-flights.css */
.af-hero{padding:2.25rem 0 1.25rem}.af-title{margin:0 0 .5rem;font-size:clamp(1.6rem, 3vw, 2.2rem);font-weight:800;letter-spacing:-.02em}.af-sub{margin:0;max-width:68ch;font-size:.95rem;line-height:1.65;color:var(--hub-ink-muted)}.af-section{padding-bottom:3rem}.af-form{padding:1.1rem 1.25rem 1.25rem;border:1px solid var(--hub-hairline);border-radius:16px;background:var(--hub-elev)}.af-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.af-field{display:flex;flex-direction:column;gap:.3rem;flex:1 1 11rem;min-width:0}.af-field-pax{flex:0 0 6rem}.af-field>span{font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--hub-ink-muted)}.af-field input,.af-field select{width:100%;min-height:44px;padding:.5rem .7rem;border:1px solid var(--hub-hairline);border-radius:10px;background:var(--hub-bg,#fff);color:var(--hub-ink);font:inherit;font-size:.92rem}.af-groups{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.5rem}.af-group{padding:.45rem .95rem;border:1px solid var(--hub-hairline);border-radius:999px;background:0 0;color:var(--hub-ink-muted);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer}.af-group.is-on{border-color:rgb(var(--hub-accent-rgb) / .5);background:rgb(var(--hub-accent-rgb) / .12);color:var(--hub-accent-strong)}.af-group-note{margin:0 0 .9rem;max-width:66ch;font-size:.8rem;line-height:1.55;color:var(--hub-ink-muted)}.af-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.4rem;margin-bottom:1rem}.af-chip{display:grid;gap:.1rem;padding:.55rem .75rem;border:1px solid var(--hub-hairline);border-radius:12px;background:var(--hub-bg,#fff);font:inherit;text-align:left;cursor:pointer}.af-chip strong{font-size:.92rem}.af-chip span{font-size:.72rem;color:var(--hub-ink-muted)}.af-chip:hover{border-color:rgb(var(--hub-accent-rgb) / .45)}.af-chip.is-on{border-color:var(--hub-accent);background:rgb(var(--hub-accent-rgb) / .1)}.af-results{margin-top:1.25rem}.af-error,.af-info{margin:0;max-width:62ch;font-size:.9rem;line-height:1.6;color:var(--hub-ink-muted)}.af-error{color:#dc2626}.af-offers{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.af-offer{border:1px solid var(--hub-hairline);border-radius:12px;background:var(--hub-elev);overflow:hidden}.af-offer.is-open{border-color:rgb(var(--hub-accent-rgb) / .5)}.af-offer-row{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:.5rem 1.25rem;padding:.8rem 1rem}.af-airline{display:block;font-size:1rem;font-weight:700}.af-route{font-size:.78rem;color:var(--hub-ink-muted)}.af-offer-when strong{display:block;font-size:.95rem;font-variant-numeric:tabular-nums}.af-offer-when span{font-size:.75rem;color:var(--hub-ink-muted)}.af-offer-price{text-align:right}.af-offer-price strong{display:block;font-size:1.05rem;font-weight:800;font-variant-numeric:tabular-nums}.af-offer-price span{font-size:.7rem;color:var(--hub-ink-muted)}.af-offer-go{border:none;cursor:pointer;font:inherit;padding:.45rem .9rem;border-radius:999px;background:rgb(var(--hub-accent-rgb) / .12);color:var(--hub-accent-strong);font-size:.85rem;font-weight:700;text-decoration:none;white-space:nowrap}.af-offer-go:hover{background:rgb(var(--hub-accent-rgb) / .22)}.af-note{margin:.8rem 0 0;max-width:66ch;font-size:.78rem;line-height:1.55;color:var(--hub-ink-muted)}@media (max-width:720px){.af-offer-row{grid-template-columns:1fr auto;row-gap:.4rem}.af-offer-when{grid-column:1/-1}.af-offer-price{grid-column:1;text-align:left}.af-offer-go{grid-column:2}.af-chips{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr))}}.af-quick-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}.af-quick-label{font-size:.75rem;color:var(--hub-ink-muted);margin-right:.2rem}.af-quick{padding:.28rem .7rem;border:1px solid var(--hub-hairline);border-radius:999px;background:0 0;color:var(--hub-ink-muted);font:inherit;font-size:.8rem;cursor:pointer}.af-quick:hover{border-color:var(--hub-accent);color:var(--hub-accent)}.af-buy{padding:.9rem 1rem 1rem;border-top:1px solid var(--hub-hairline);background:rgb(var(--hub-accent-rgb) / .04)}.af-buy-head{margin:0 0 .6rem;font-size:.8rem;font-weight:700;color:var(--hub-ink)}.af-buy-info{margin:0;font-size:.85rem;color:var(--hub-ink-muted)}.af-buy-list{list-style:none;margin:0 0 .7rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.5rem}.af-buy-item a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.1rem .6rem;padding:.6rem .75rem;border:1px solid var(--hub-hairline);border-radius:10px;background:var(--hub-surface);text-decoration:none;color:var(--hub-ink)}.af-buy-item a:hover{border-color:var(--hub-accent)}.af-buy-item.is-direct a{border-color:rgb(var(--hub-accent-rgb) / .5)}.af-buy-logo{grid-row:1/3;align-self:center;font-size:1.15rem}.af-buy-name{font-weight:700;font-size:.88rem}.af-buy-badge{margin-left:.35rem;padding:.05rem .35rem;border-radius:4px;background:rgb(var(--hub-accent-rgb) / .14);color:var(--hub-accent-strong);font-size:.65rem;font-style:normal;font-weight:700}.af-buy-desc{font-size:.74rem;color:var(--hub-ink-muted)}.af-buy-foot{margin:0;max-width:62ch;font-size:.74rem;line-height:1.5;color:var(--hub-ink-muted)}.af-mapbtn{display:inline-flex;align-items:center;gap:.4rem;min-height:46px;padding:0 .9rem;border:1px solid var(--hub-hairline);border-radius:10px;background:var(--hub-surface);color:var(--hub-ink-muted);font:inherit;font-size:.82rem;font-weight:600;white-space:nowrap;cursor:pointer}.af-mapbtn:hover{border-color:var(--hub-accent);color:var(--hub-accent)}.af-mapa-nakladka{position:fixed;inset:0;z-index:2000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--hub-bg)}@media (min-width:900px){.af-mapa-nakladka{inset:4vh 8vw;border:1px solid var(--hub-hairline);border-radius:16px;overflow:hidden;box-shadow:0 24px 70px rgb(var(--hub-overlay-rgb) / .35)}}.af-mo-pasek{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:.4rem;padding:.6rem .75rem;border-bottom:1px solid var(--hub-hairline);background:var(--hub-surface);padding-top:calc(.6rem + env(safe-area-inset-top))}.af-mo-koniec{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 .4rem;min-width:0;padding:.35rem .6rem;border:1px solid transparent;border-radius:9px;background:0 0;color:var(--hub-ink);font:inherit;text-align:left;cursor:pointer}.af-mo-koniec.is-on{border-color:var(--hub-accent);background:rgb(var(--hub-accent-rgb) / .12)}.af-mo-etykieta{grid-column:1/-1;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--hub-ink-faint)}.af-mo-miejsce{font-size:.92rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.af-mo-kod{font-size:.7rem;font-weight:800;color:var(--hub-ink-muted)}.af-mo-zamien,.af-mo-zamknij{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--hub-hairline);border-radius:50%;background:var(--hub-surface);color:var(--hub-ink-muted);font-size:.95rem;cursor:pointer}.af-mo-zamien:hover,.af-mo-zamknij:hover{border-color:var(--hub-accent);color:var(--hub-accent)}.af-map{min-height:0;background:var(--hub-fill)}.af-map[hidden]{display:none}.af-map-brak{display:grid;place-items:center;padding:2rem 1rem;text-align:center;font-size:.88rem;color:var(--hub-ink-muted)}.af-mo-stopka{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;padding-bottom:calc(.6rem + env(safe-area-inset-bottom));border-top:1px solid var(--hub-hairline);background:var(--hub-surface);font-size:.78rem;color:var(--hub-ink-muted)}.af-mo-gotowe{margin-left:auto;min-height:44px;padding:0 1.4rem;border:0;border-radius:10px;background:var(--hub-accent);color:var(--hub-on-accent);font:inherit;font-weight:700;cursor:pointer}.af-kod{margin-left:.4rem;padding:.05rem .3rem;border-radius:4px;background:var(--hub-fill);font-size:.66rem;font-weight:800;letter-spacing:.05em;color:var(--hub-ink-muted)}.af-mapbtn{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%;min-height:46px;padding:0 .8rem;border:1px solid var(--hub-hairline);border-radius:10px;background:var(--hub-surface);color:var(--hub-ink-muted);font:inherit;font-size:.86rem;font-weight:600;white-space:nowrap;cursor:pointer}.af-mapbtn:hover{border-color:var(--hub-accent);color:var(--hub-accent)}.af-mapbtn-napis{overflow:hidden;text-overflow:ellipsis}.autocomplete-dropdown .ac-code{min-width:2.2rem;font-size:.72rem;font-weight:800;color:var(--hub-ink-muted)}.autocomplete-dropdown .ac-name{flex:1 1 auto;font-weight:600}.autocomplete-dropdown .ac-country{font-size:.78rem;color:var(--hub-ink-faint)}.af-pomoc{margin-top:1rem}#af-root .search-card{box-shadow:0 10px 34px rgb(var(--hub-overlay-rgb) / .1),0 2px 8px rgb(var(--hub-overlay-rgb) / .06)}@media (max-width:640px){#af-root .flight-input-group .input-wrapper input{padding-right:2.75rem;text-overflow:ellipsis}.search-card .af-mapbtn{min-height:2.75rem;border:0;background:0 0;justify-content:flex-end;padding:0}}
/* css/asia-trip.css */
#at-root{--at-odstep:clamp(0.75rem, 2vw, 1.15rem);position:relative}#at-root.at-pracuje{opacity:.6;pointer-events:none}.at-komunikat{min-height:1.2em;font-size:.9rem;color:var(--hub-ink-muted)}.at-komunikat.at-blad{color:var(--hub-error);font-weight:600}.at-ladowanie{padding:2rem 0;color:var(--hub-ink-muted)}.at-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:42px;padding:.55rem 1.1rem;border:1px solid var(--hub-hairline);border-radius:var(--hub-radius,10px);background:var(--hub-surface);color:var(--hub-ink);font:inherit;font-weight:600;cursor:pointer;transition:var(--hub-transition, all .15s ease)}.at-btn:hover{background:var(--hub-fill)}.at-btn-glowny{background:var(--hub-accent);border-color:var(--hub-accent);color:var(--hub-on-accent)}.at-btn-glowny:hover{background:var(--hub-accent-strong)}.at-btn-cichy{background:0 0;border-color:transparent;color:var(--hub-ink-muted)}.at-btn-cichy:hover{color:var(--hub-error);background:0 0}.at-pusto{padding:clamp(1.5rem,5vw,3rem) 0;max-width:52ch}.at-pusto-tytul{font-size:1.2rem;font-weight:700;color:var(--hub-ink);margin:0 0 .5rem}.at-pusto-tekst{color:var(--hub-ink-muted);line-height:1.6;margin:0 0 1.25rem}.at-pasek{margin:.5rem 0 1rem}.at-lista{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.at-karta{display:grid;gap:.25rem;padding:.9rem 1rem;border:1px solid var(--hub-hairline);border-radius:var(--hub-radius,10px);background:var(--hub-surface);cursor:pointer;transition:var(--hub-transition, all .15s ease)}.at-karta:hover{border-color:var(--hub-accent)}.at-karta:focus-visible{outline:2px solid var(--hub-focus);outline-offset:2px}.at-karta-tytul{font-weight:700;color:var(--hub-ink)}.at-karta-trasa{font-size:.92rem;color:var(--hub-ink)}.at-karta-meta{font-size:.84rem;color:var(--hub-ink-muted)}.at-naglowek{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.9rem}.at-wroc{background:0 0;border:none;padding:.3rem 0;color:var(--hub-ink-muted);font:inherit;cursor:pointer}.at-wroc:hover{color:var(--hub-accent)}.at-tytul{flex:1 1 14rem;min-width:0;font-size:1.15rem;font-weight:700;padding:.45rem .6rem;border:1px solid transparent;border-radius:8px;background:0 0;color:var(--hub-ink)}.at-tytul:hover{border-color:var(--hub-hairline)}.at-tytul:focus{border-color:var(--hub-accent);background:var(--hub-surface);outline:0}.at-ustawienia{display:flex;align-items:flex-end;gap:var(--at-odstep);flex-wrap:wrap;padding-bottom:.9rem;margin-bottom:.9rem;border-bottom:1px solid var(--hub-hairline)}.at-pole{display:grid;gap:.25rem;font-size:.82rem;color:var(--hub-ink-muted)}.at-pole input{min-height:40px;padding:.4rem .6rem;border:1px solid var(--hub-hairline);border-radius:8px;background:var(--hub-surface);color:var(--hub-ink);font:inherit}.at-pole input[type=number]{width:5.5rem}.at-podsumowanie{margin-left:auto;font-size:.88rem;font-weight:600;color:var(--hub-ink);padding-bottom:.5rem}.at-plan{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,0.9fr);gap:var(--at-odstep);align-items:start}.at-przystanki{list-style:none;margin:0;padding:0}.at-przystanek{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.75rem;align-items:start;padding:.85rem 0}.at-numer{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--hub-accent);color:var(--hub-on-accent);font-size:.85rem;font-weight:700}.at-tresc{min-width:0}.at-miejsce{font-weight:600;color:var(--hub-ink);display:flex;align-items:baseline;gap:.45rem;flex-wrap:wrap}.at-iata{font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.1rem .35rem;border-radius:4px;background:var(--hub-fill);color:var(--hub-ink-muted)}.at-kraj{font-size:.8rem;font-weight:400;color:var(--hub-ink-faint)}.at-daty{font-size:.86rem;color:var(--hub-ink-muted);margin-top:.15rem}.at-bez-daty{font-style:italic}.at-noce{display:flex;align-items:center;gap:.4rem;margin-top:.45rem}.at-noce-ile{font-size:.84rem;color:var(--hub-ink);min-width:5.5rem}.at-ikona,.at-krok{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--hub-hairline);border-radius:8px;background:var(--hub-surface);color:var(--hub-ink);font-size:1rem;line-height:1;cursor:pointer}.at-ikona:hover,.at-krok:hover{border-color:var(--hub-accent);color:var(--hub-accent)}.at-ikona[disabled]{opacity:.3;cursor:default}.at-ikona[disabled]:hover{border-color:var(--hub-hairline);color:var(--hub-ink)}.at-ikona-usun:hover{border-color:var(--hub-error);color:var(--hub-error)}.at-akcje{display:flex;flex-direction:column;gap:.3rem}.at-odcinek{grid-column:2/-1;margin:.5rem 0 -.3rem;padding-left:.1rem;font-size:.8rem;color:var(--hub-ink-faint);border-left:2px dashed var(--hub-hairline);padding:.35rem 0 .35rem .75rem;margin-left:-2.1rem}.at-mapa-obudowa{position:sticky;top:1rem}.at-mapa{height:clamp(280px,48vh,460px);border-radius:var(--hub-radius,10px);border:1px solid var(--hub-hairline);overflow:hidden;background:var(--hub-fill)}.at-mapa[hidden]{display:none}.at-mapa-brak{padding:1.5rem 1rem;text-align:center;font-size:.88rem;color:var(--hub-ink-muted);border:1px dashed var(--hub-hairline);border-radius:var(--hub-radius,10px)}.at-mapa-brak[hidden]{display:none}.at-pin-obudowa{background:0 0;border:none}.at-pin{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#5a8f3d;color:#fff;font-size:.78rem;font-weight:700;box-shadow:0 1px 4px rgb(0 0 0 / .35)}.at-dodaj{margin-top:1.25rem}.at-dodaj-etykieta{display:block;font-size:.82rem;color:var(--hub-ink-muted);margin-bottom:.3rem}.at-szukaj-obudowa{position:relative;max-width:32rem}.at-szukaj{width:100%;min-height:44px;padding:.55rem .8rem;border:1px solid var(--hub-hairline);border-radius:var(--hub-radius,10px);background:var(--hub-surface);color:var(--hub-ink);font:inherit}.at-szukaj:focus{border-color:var(--hub-accent);outline:0}.at-podpowiedzi{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 4px);list-style:none;margin:0;padding:.25rem;max-height:17rem;overflow-y:auto;border:1px solid var(--hub-hairline);border-radius:var(--hub-radius,10px);background:var(--hub-surface);box-shadow:var(--hub-shadow,0 8px 24px rgb(0 0 0 / .12))}.at-podpowiedzi[hidden]{display:none}.at-podpowiedz{display:flex;align-items:baseline;gap:.5rem;padding:.55rem .6rem;border-radius:8px;cursor:pointer}.at-podpowiedz:hover{background:var(--hub-fill)}.at-p-nazwa{font-weight:600;color:var(--hub-ink)}.at-p-iata{font-size:.72rem;font-weight:700;color:var(--hub-ink-muted)}.at-p-kraj{margin-left:auto;font-size:.8rem;color:var(--hub-ink-faint)}@media (max-width:900px){.at-plan{grid-template-columns:minmax(0,1fr)}.at-mapa-obudowa{position:static;order:-1}}@media (max-width:560px){.at-podsumowanie{margin-left:0;width:100%;padding-bottom:0}.at-przystanek{grid-template-columns:auto minmax(0,1fr)}.at-akcje{grid-column:2;flex-direction:row;margin-top:.4rem}.at-odcinek{margin-left:-1.9rem}}.at-koszt{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;min-height:1.4rem;margin:-.4rem 0 .9rem;font-size:.9rem}.at-koszt-liczba{font-weight:700;color:var(--hub-ink)}.at-koszt-razem{color:var(--hub-ink-muted)}.at-koszt-braki{font-size:.8rem;color:var(--hub-warning)}.at-koszt-brak{font-size:.85rem;color:var(--hub-ink-muted)}.at-odcinek{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.at-leg-trasa{font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--hub-ink-faint)}.at-leg-cena{font-size:.9rem;color:var(--hub-ink)}.at-leg-zrodlo{font-size:.74rem;color:var(--hub-ink-faint)}.at-leg-brak{font-size:.78rem;font-style:italic;color:var(--hub-ink-faint)}.at-leg-btn{margin-left:.3rem;padding:.1rem .5rem;border:1px solid var(--hub-hairline);border-radius:999px;background:0 0;color:var(--hub-ink-muted);font:inherit;font-size:.72rem;cursor:pointer}.at-leg-btn:hover{border-color:var(--hub-accent);color:var(--hub-accent)}.at-wybor{flex-basis:100%;margin:.5rem 0 .2rem;padding:.7rem .8rem;border:1px solid var(--hub-hairline);border-radius:10px;background:var(--hub-surface)}.at-wybor-info{margin:0;font-size:.82rem;color:var(--hub-ink-muted);line-height:1.5}.at-wybor-head{margin:0 0 .35rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--hub-ink-faint)}.at-wybor-head+.at-wybor-lista+.at-wybor-head{margin-top:.7rem}.at-wybor-lista{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}.at-wybor-poz button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.1rem .6rem;width:100%;padding:.45rem .6rem;border:1px solid var(--hub-hairline);border-radius:8px;background:0 0;color:var(--hub-ink);font:inherit;text-align:left;cursor:pointer}.at-wybor-poz button:hover{border-color:var(--hub-accent)}.at-wybor-poz.pasuje button{border-color:rgb(var(--hub-accent-rgb) / .45)}.at-w-linia{font-weight:600;font-size:.86rem}.at-w-linia em{font-style:normal;font-weight:400;color:var(--hub-ink-muted)}.at-w-trasa{grid-column:1;font-size:.74rem;color:var(--hub-ink-faint)}.at-w-cena{grid-row:1/3;align-self:center;font-weight:700;font-size:.9rem}.at-wybor-stopka{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.6rem}.at-wybor-stopka button{padding:.25rem .7rem;border:1px solid var(--hub-hairline);border-radius:999px;background:0 0;color:var(--hub-ink-muted);font:inherit;font-size:.78rem;cursor:pointer}.at-wybor-czysc:hover{border-color:var(--hub-error);color:var(--hub-error)}.at-wybor-zamknij:hover{border-color:var(--hub-accent);color:var(--hub-accent)}.at-wiza{margin:0 0 1rem}.at-wiza-naglowek{margin:0 0 .4rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--hub-ink-faint)}.at-wiza-lista{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}.at-wiza-poz{display:grid;grid-template-columns:2.2rem minmax(0,1fr) auto;align-items:baseline;gap:.1rem .6rem;padding:.5rem .7rem;border:1px solid var(--hub-hairline);border-radius:9px;background:var(--hub-surface)}.at-wiza-poz.zle{border-color:var(--hub-error);background:rgb(var(--hub-error-rgb) / .06)}.at-wiza-poz.stare{border-style:dashed}.at-wiza-kraj{font-size:.72rem;font-weight:800;letter-spacing:.04em;color:var(--hub-ink-muted)}.at-wiza-miasta{font-size:.88rem;color:var(--hub-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.at-wiza-dni{font-size:.9rem;color:var(--hub-ink);white-space:nowrap}.at-wiza-ocena{grid-column:2/-1;font-size:.76rem;color:var(--hub-ink-muted)}.at-wiza-ok{color:var(--hub-success)}.at-wiza-zle{color:var(--hub-error);font-weight:700}.at-wiza-uwaga{color:var(--hub-warning);font-weight:600}.at-wiza-niewiem{font-style:italic;color:var(--hub-ink-faint)}.at-wiza-bezdat{font-style:italic;color:var(--hub-ink-faint)}.at-wiza-zrodlo{margin-left:.4rem;color:var(--hub-accent);text-decoration:underline;text-underline-offset:2px}.at-wiza-stopka{margin:.5rem 0 0;max-width:62ch;font-size:.74rem;line-height:1.5;color:var(--hub-ink-muted)}@media (max-width:560px){.at-wiza-poz{grid-template-columns:2.2rem minmax(0,1fr)}.at-wiza-dni{grid-column:2}}.at-wybor-poz.naziem button{border-color:rgb(var(--hub-accent-rgb) / .3)}.at-w-uwaga{margin:.25rem 0 0;padding-left:.6rem;font-size:.74rem;line-height:1.45;color:var(--hub-ink-muted)}.at-w-zrodlo{margin:.2rem 0 0;padding-left:.6rem;font-size:.72rem;color:var(--hub-ink-faint)}.at-w-zrodlo a{color:var(--hub-accent);text-decoration:underline;text-underline-offset:2px}
/* css/ground.css */
#gr-root{padding-bottom:1rem}.gr-sekcja{margin:0 0 .3rem;font-size:clamp(1.1rem, 2.2vw, 1.4rem);font-weight:800;color:var(--hub-ink)}.gr-wstep{margin:0 0 1rem;max-width:68ch;font-size:.92rem;line-height:1.55;color:var(--hub-ink-muted)}.gr-pola{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem;margin-bottom:1.1rem}.gr-pole{display:grid;gap:.3rem;min-width:0}.gr-pole>span{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--hub-ink-muted)}.gr-pole select{width:100%;min-height:46px;padding:.5rem .7rem;border:1px solid var(--hub-hairline);border-radius:10px;background:var(--hub-surface);color:var(--hub-ink);font:inherit;font-size:1rem}.gr-pole select:focus{border-color:var(--hub-accent);outline:0}.gr-info{margin:0;padding:1rem 0;max-width:64ch;font-size:.9rem;line-height:1.55;color:var(--hub-ink-muted)}.gr-error{margin:0;padding:1rem 0;color:var(--hub-error);font-weight:600}.gr-lista{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.gr-poz{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:.8rem 1rem;border:1px solid var(--hub-hairline);border-radius:12px;background:var(--hub-elev)}.gr-ikona{font-size:1.3rem;line-height:1.2}.gr-naglowek{margin:0;font-size:.98rem;font-weight:700;color:var(--hub-ink)}.gr-dokad{font-weight:600;color:var(--hub-accent-strong)}.gr-operator{font-style:normal;font-weight:400;font-size:.82rem;color:var(--hub-ink-muted)}.gr-fakty{margin:.15rem 0 0;font-size:.85rem;color:var(--hub-ink-muted);font-variant-numeric:tabular-nums}.gr-uwaga{margin:.3rem 0 0;font-size:.8rem;line-height:1.45;color:var(--hub-ink-faint)}.gr-cena{display:grid;gap:.25rem;justify-items:end;text-align:right;white-space:nowrap}.gr-cena strong{font-size:.95rem;font-variant-numeric:tabular-nums}.gr-cena a{padding:.25rem .7rem;border-radius:999px;background:rgb(var(--hub-accent-rgb) / .12);color:var(--hub-accent-strong);font-size:.78rem;font-weight:700;text-decoration:none}.gr-cena a:hover{background:rgb(var(--hub-accent-rgb) / .22)}.gr-stopka{margin:.8rem 0 0;max-width:66ch;font-size:.78rem;line-height:1.55;color:var(--hub-ink-muted)}.gr-sprzedawcy{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--hub-hairline)}.gr-grupa{margin-top:1.2rem}.gr-grupa-tytul{margin:0;font-size:.95rem;font-weight:700;color:var(--hub-ink)}.gr-grupa-opis{margin:.15rem 0 .6rem;max-width:60ch;font-size:.82rem;color:var(--hub-ink-muted)}.gr-sklepy{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.5rem}.gr-sklep a{display:grid;gap:.15rem;height:100%;padding:.7rem .85rem;border:1px solid var(--hub-hairline);border-radius:10px;background:var(--hub-surface);text-decoration:none;color:var(--hub-ink)}.gr-sklep a:hover{border-color:var(--hub-accent)}.gr-sklep-nazwa{font-weight:700;font-size:.9rem}.gr-sklep-srodki{font-size:.74rem;color:var(--hub-ink-muted)}.gr-sklep-uwaga{margin-top:.2rem;font-size:.76rem;line-height:1.45;color:var(--hub-ink-faint)}@media (max-width:640px){.gr-pola{grid-template-columns:minmax(0,1fr);gap:.5rem}.gr-poz{grid-template-columns:auto minmax(0,1fr)}.gr-cena{grid-column:2;grid-auto-flow:column;justify-items:start;align-items:center;gap:.6rem;margin-top:.4rem}.gr-sklepy{grid-template-columns:minmax(0,1fr)}}
/* css/flight-status.css */
.fs-strip{grid-column:1/-1;margin-top:.6rem;padding-top:.6rem;border-top:1px solid rgb(var(--hub-ink-rgb) / .08);font-size:.74rem}.fs-head{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.fs-pill{padding:.1rem .45rem;border-radius:5px;font-size:.68rem;font-weight:700;letter-spacing:.02em}.fs-plan{background:rgb(var(--hub-ink-rgb) / .06);color:rgb(var(--hub-ink-rgb) / .62)}.fs-air{background:rgb(var(--hub-accent-rgb) / .12);color:var(--hub-accent)}.fs-land{background:rgb(var(--hub-accent-rgb) / .08);color:rgb(var(--hub-ink-rgb) / .62)}.fs-off{background:rgb(var(--hub-error-rgb) / .1);color:var(--hub-error)}.fs-unk{background:rgb(var(--hub-ink-rgb) / .05);color:rgb(var(--hub-ink-rgb) / .5)}.fs-late{color:var(--hub-warning);font-weight:700}.fs-early,.fs-ontime{color:var(--hub-accent);font-weight:700}.fs-bar{height:3px;margin:.45rem 0;border-radius:2px;background:rgb(var(--hub-ink-rgb) / .08);overflow:hidden}.fs-bar>span{display:block;height:100%;border-radius:2px;background:var(--hub-accent)}.fs-times{display:flex;justify-content:space-between;gap:.6rem;font-variant-numeric:tabular-nums;color:rgb(var(--hub-ink-rgb) / .7)}.fs-facts{display:flex;flex-wrap:wrap;gap:.35rem .7rem;margin-top:.35rem;color:rgb(var(--hub-ink-rgb) / .6)}.fs-fact b{font-weight:600;color:rgb(var(--hub-ink-rgb) / .45)}
/* css/flight-status-panel.css */
.fsp{position:fixed;inset:0;z-index:9700;display:flex;align-items:flex-end;justify-content:center;background:rgb(var(--hub-overlay-rgb) / 0);transition:background .2s ease}.fsp.is-open{background:rgb(var(--hub-overlay-rgb) / .5)}body.fsp-lock{overflow:hidden}.fsp-card{display:flex;flex-direction:column;width:min(560px,100%);max-height:92vh;background:var(--hub-surface);border-radius:20px 20px 0 0;box-shadow:0 -18px 48px rgb(var(--hub-overlay-rgb) / .26);transform:translateY(16px);opacity:0;transition:transform .22s cubic-bezier(.2, .8, .3, 1),opacity .22s ease}.fsp.is-open .fsp-card{transform:translateY(0);opacity:1}.fsp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1.1rem 1.25rem .85rem;border-bottom:1px solid rgb(var(--hub-ink-rgb) / .08)}.fsp-num{margin:0;font-size:1.2rem;font-weight:800;letter-spacing:.01em;color:var(--hub-ink)}.fsp-date{margin:.1rem 0 0;font-size:.8rem;color:rgb(var(--hub-ink-rgb) / .6)}.fsp-x{flex:0 0 auto;width:38px;height:38px;border:0;border-radius:10px;background:0 0;font-size:1.5rem;line-height:1;color:rgb(var(--hub-ink-rgb) / .45);cursor:pointer}.fsp-x:hover{background:rgb(var(--hub-ink-rgb) / .05)}.fsp-body{overflow-y:auto;padding:1rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom,0px))}.fsp-empty,.fsp-loading{padding:2rem .5rem;text-align:center;color:rgb(var(--hub-ink-rgb) / .6);font-size:.88rem}.fsp-empty p{margin:0 0 .5rem}.fsp-top{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.fsp-pill{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700}.fsp-plan{background:rgb(var(--hub-ink-rgb) / .08);color:rgb(var(--hub-ink-rgb) / .7)}.fsp-air{background:rgb(var(--hub-accent-rgb) / .15);color:var(--hub-accent)}.fsp-land{background:rgba(34,197,94,.15);color:var(--hub-success)}.fsp-off{background:rgb(var(--hub-error-rgb) / .12);color:var(--hub-error)}.fsp-unk{background:rgb(var(--hub-ink-rgb) / .06);color:rgb(var(--hub-ink-rgb) / .55)}.fsp-tag{font-size:.74rem;font-weight:600}.fsp-ok{color:var(--hub-success)}.fsp-late{color:var(--hub-error)}.fsp-early{color:var(--hub-accent)}.fsp-say{margin:.7rem 0 0;font-size:.92rem;line-height:1.5;color:var(--hub-ink)}.fsp-progress{margin-top:.7rem;height:4px;border-radius:3px;background:rgb(var(--hub-ink-rgb) / .1);overflow:hidden}.fsp-progress i{display:block;height:100%;border-radius:3px;background:var(--hub-accent)}.fsp-days{display:flex;gap:.35rem;margin-top:.8rem;overflow-x:auto;scrollbar-width:none}.fsp-days::-webkit-scrollbar{display:none}.fsp-day{flex:0 0 auto;padding:.35rem .7rem;border:1px solid rgb(var(--hub-ink-rgb) / .12);border-radius:999px;background:0 0;font:inherit;font-size:.74rem;font-weight:600;color:rgb(var(--hub-ink-rgb) / .65);white-space:nowrap;cursor:pointer}.fsp-day:hover{background:rgb(var(--hub-ink-rgb) / .04)}.fsp-day.is-on{background:rgb(var(--hub-accent-rgb) / .12);border-color:rgb(var(--hub-accent-rgb) / .35);color:var(--hub-accent)}.fsp-route{display:grid;grid-template-columns:1fr auto 1fr;gap:.75rem;align-items:start;margin-top:1rem;padding:.9rem;border:1px solid rgb(var(--hub-ink-rgb) / .08);border-radius:14px;background:rgb(var(--hub-ink-rgb) / .02)}.fsp-end{min-width:0}.fsp-end+.fsp-arrow+.fsp-end{text-align:right}.fsp-end+.fsp-arrow+.fsp-end .fsp-fields{justify-items:end}.fsp-arrow{align-self:center;color:rgb(var(--hub-ink-rgb) / .3)}.fsp-time{font-size:1.5rem;font-weight:800;line-height:1.1;color:var(--hub-ink)}.fsp-was{display:block;font-size:.68rem;font-weight:500;color:rgb(var(--hub-ink-rgb) / .5)}.fsp-iata{margin-top:.3rem;font-size:.95rem;font-weight:800;letter-spacing:.04em;color:var(--hub-accent)}.fsp-city{font-size:.82rem;color:var(--hub-ink)}.fsp-airport{font-size:.7rem;line-height:1.35;color:rgb(var(--hub-ink-rgb) / .55)}.fsp-fields{display:grid;gap:.3rem;margin:.6rem 0 0}.fsp-fields div{display:flex;gap:.35rem;align-items:baseline}.fsp-fields dt{font-size:.68rem;color:rgb(var(--hub-ink-rgb) / .5)}.fsp-fields dd{margin:0;font-size:.8rem;font-weight:700;color:var(--hub-ink)}.fsp-section{margin-top:1.1rem;padding-top:.9rem;border-top:1px solid rgb(var(--hub-ink-rgb) / .08)}.fsp-section h3{margin:0 0 .5rem;font-size:.8rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:rgb(var(--hub-ink-rgb) / .55)}.fsp-note{margin:0 0 .6rem;font-size:.74rem;line-height:1.5;color:rgb(var(--hub-ink-rgb) / .55)}.fsp-warn{color:var(--hub-error)}.fsp-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem 1rem;margin:0}.fsp-facts div{display:flex;flex-direction:column;min-width:0}.fsp-facts dt{font-size:.68rem;color:rgb(var(--hub-ink-rgb) / .5)}.fsp-facts dd{margin:0;font-size:.85rem;font-weight:600;color:var(--hub-ink)}.fsp-otp-row{display:grid;grid-template-columns:1fr 80px auto;align-items:center;gap:.5rem;margin-bottom:.45rem}.fsp-otp-label{font-size:.78rem;color:var(--hub-ink)}.fsp-otp-bar{height:6px;border-radius:3px;background:rgb(var(--hub-ink-rgb) / .1);overflow:hidden}.fsp-otp-bar i{display:block;height:100%;border-radius:3px;background:var(--hub-accent)}.fsp-otp-num{font-size:.82rem;font-weight:800;color:var(--hub-ink)}.fsp-otp-note{grid-column:1/-1;font-size:.7rem;color:rgb(var(--hub-ink-rgb) / .5)}.fsp-table-wrap{overflow-x:auto}.fsp-table{width:100%;border-collapse:collapse;font-size:.76rem}.fsp-table th{padding:0 .5rem .35rem 0;text-align:left;font-size:.66rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:rgb(var(--hub-ink-rgb) / .45);white-space:nowrap}.fsp-table td{padding:.4rem .5rem .4rem 0;border-top:1px solid rgb(var(--hub-ink-rgb) / .06);color:var(--hub-ink);white-space:nowrap}.fsp-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;margin-top:1.1rem;padding-top:.8rem;border-top:1px solid rgb(var(--hub-ink-rgb) / .08)}.fsp-source{margin:0;font-size:.68rem;line-height:1.5;color:rgb(var(--hub-ink-rgb) / .45)}.fsp-refresh{flex:0 0 auto;padding:.4rem .75rem;border:1px solid rgb(var(--hub-ink-rgb) / .14);border-radius:9px;background:0 0;font:inherit;font-size:.74rem;font-weight:700;color:var(--hub-ink);cursor:pointer;white-space:nowrap}.fsp-refresh:hover{background:rgb(var(--hub-ink-rgb) / .05)}@media (min-width:620px){.fsp{align-items:center;padding:1.5rem}.fsp-card{border-radius:20px;transform:translateY(0) scale(.97)}.fsp.is-open .fsp-card{transform:translateY(0) scale(1)}}@media (max-width:420px){.fsp-route{grid-template-columns:1fr}.fsp-arrow{display:none}.fsp-end+.fsp-arrow+.fsp-end{text-align:left}.fsp-end+.fsp-arrow+.fsp-end .fsp-fields{justify-items:start}.fsp-end+.fsp-arrow+.fsp-end{padding-top:.75rem;border-top:1px solid rgb(var(--hub-ink-rgb) / .08)}}@media (prefers-reduced-motion:reduce){.fsp,.fsp-card{transition:none}}.fs-more{margin-left:auto;border:0;background:0 0;font:inherit;font-size:.72rem;font-weight:700;color:var(--hub-accent);cursor:pointer;padding:0}.fs-more:hover{text-decoration:underline}.fsp-onmap{margin-top:.5rem;padding:0;border:0;background:0 0;font:inherit;font-size:.72rem;font-weight:700;color:var(--hub-accent);cursor:pointer;text-align:inherit}.fsp-onmap:hover{text-decoration:underline}
/* css/airport-map.css */
.am{position:fixed;inset:0;z-index:9800;display:flex;align-items:flex-end;justify-content:center;background:rgb(var(--hub-overlay-rgb) / 0);transition:background .2s ease}.am.is-open{background:rgb(var(--hub-overlay-rgb) / .5)}body.am-lock{overflow:hidden}.am-card{display:flex;flex-direction:column;width:min(600px,100%);max-height:92vh;background:var(--hub-surface);border-radius:20px 20px 0 0;box-shadow:0 -18px 48px rgb(var(--hub-overlay-rgb) / .26);transform:translateY(16px);opacity:0;transition:transform .22s cubic-bezier(.2, .8, .3, 1),opacity .22s ease}.am.is-open .am-card{transform:translateY(0);opacity:1}.am-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1.1rem 1.25rem .85rem;border-bottom:1px solid rgb(var(--hub-ink-rgb) / .08)}.am-title{margin:0;font-size:1.15rem;font-weight:800;color:var(--hub-ink)}.am-sub{margin:.1rem 0 0;font-size:.8rem;color:rgb(var(--hub-ink-rgb) / .6)}.am-x{flex:0 0 auto;width:38px;height:38px;border:0;border-radius:10px;background:0 0;font-size:1.5rem;line-height:1;color:rgb(var(--hub-ink-rgb) / .45);cursor:pointer}.am-x:hover{background:rgb(var(--hub-ink-rgb) / .05)}.am-body{overflow-y:auto;padding:1rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom,0px))}.am-empty,.am-loading{padding:2rem .5rem;text-align:center;color:rgb(var(--hub-ink-rgb) / .6);font-size:.88rem}.am-empty p{margin:0 0 .5rem}.am-ends{display:flex;align-items:center;gap:.6rem}.am-end{flex:1 1 0;min-width:0;padding:.6rem .75rem;border:1px solid rgb(var(--hub-ink-rgb) / .1);border-radius:12px;background:rgb(var(--hub-ink-rgb) / .02)}.am-end-label{display:block;font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;color:rgb(var(--hub-ink-rgb) / .5)}.am-end-gate{display:block;font-size:.95rem;font-weight:800;color:var(--hub-ink)}.am-end-term{display:block;font-size:.72rem;color:rgb(var(--hub-ink-rgb) / .6);overflow:hidden;text-overflow:ellipsis}.am-sep{color:rgb(var(--hub-ink-rgb) / .3)}.am-verdict{margin:.8rem 0 0;font-size:.88rem;line-height:1.55;color:var(--hub-ink)}.am-warn{color:var(--hub-error)}.am-map{height:300px;margin-top:.9rem;border-radius:14px;overflow:hidden;background:rgb(var(--hub-ink-rgb) / .06)}.am-pin span{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:2px solid #fff;font-size:.72rem;font-weight:800;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.35)}.am-pin-a span{background:#2f7d32}.am-pin-b span{background:#b8531f}.am-dot{font-size:13px;line-height:18px;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.5)}.am-legend{display:flex;flex-wrap:wrap;gap:.35rem .8rem;margin-top:.6rem;font-size:.72rem;color:rgb(var(--hub-ink-rgb) / .6)}.am-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.4rem 1rem;margin:.9rem 0 0;padding-top:.8rem;border-top:1px solid rgb(var(--hub-ink-rgb) / .08)}.am-row{display:flex;flex-direction:column;min-width:0}.am-row dt{font-size:.66rem;color:rgb(var(--hub-ink-rgb) / .5)}.am-row dd{margin:0;font-size:.85rem;font-weight:600;color:var(--hub-ink)}.am-source{margin:.8rem 0 0;font-size:.68rem;line-height:1.5;color:rgb(var(--hub-ink-rgb) / .45)}.wl-layover-map{margin-left:.5rem;border:0;background:0 0;font:inherit;font-size:.72rem;font-weight:700;color:var(--hub-accent);cursor:pointer;padding:0}.wl-layover-map:hover{text-decoration:underline}@media (min-width:640px){.am{align-items:center;padding:1.5rem}.am-card{border-radius:20px;transform:translateY(0) scale(.97)}.am.is-open .am-card{transform:translateY(0) scale(1)}.am-map{height:340px}}@media (max-width:420px){.am-ends{flex-direction:column;align-items:stretch}.am-sep{transform:rotate(90deg);align-self:center}}@media (prefers-reduced-motion:reduce){.am,.am-card{transition:none}}.am-terms{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;margin-top:.7rem}.am-terms-label{font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;color:rgb(var(--hub-ink-rgb) / .5)}.am-term{padding:.15rem .5rem;border:1px solid rgb(var(--hub-ink-rgb) / .12);border-radius:999px;font-size:.74rem;color:var(--hub-ink)}.am-leg b{font-weight:700;color:var(--hub-ink)}.wl-port-plan{display:block;margin-top:.2rem;padding:0;border:0;background:0 0;font:inherit;font-size:.68rem;font-weight:700;color:var(--hub-accent);cursor:pointer;text-align:left}.wl-port-plan:hover{text-decoration:underline}