.search-form-container{border-radius:var(--r-xl);background:#fff;padding:1.75rem 2rem 1.5rem;box-shadow:0 24px 48px #00000047,0 8px 16px #00000024}.mode-toggle{background:var(--bg);border-radius:var(--r);border:1px solid var(--border);gap:2px;margin-bottom:1.25rem;padding:3px;display:inline-flex}.mode-btn{border-radius:calc(var(--r) - 2px);cursor:pointer;min-height:44px;color:var(--text-2);white-space:nowrap;background:0 0;border:none;padding:.6rem 1.1rem;font-size:.85rem;font-weight:600;transition:background .15s,color .15s,box-shadow .15s}.mode-btn.active{color:var(--primary);box-shadow:var(--shadow);background:#fff}.mode-btn:hover:not(.active){color:var(--text)}.trip-type-toggle{background:var(--bg);border-radius:var(--r);border:1px solid var(--border);gap:2px;margin-bottom:1.5rem;padding:3px;display:inline-flex}.trip-btn{border-radius:calc(var(--r) - 2px);cursor:pointer;min-height:44px;color:var(--text-2);background:0 0;border:none;padding:.55rem 1rem;font-size:.82rem;font-weight:600;transition:background .15s,color .15s,box-shadow .15s}.trip-btn.active{color:var(--primary);box-shadow:var(--shadow);background:#fff}.trip-btn:hover:not(.active){color:var(--text)}.explore-hint{color:var(--text-2);margin:-.5rem 0 1.25rem;font-size:.85rem;line-height:1.5}.field-required{color:var(--red);font-weight:700}.field-error{color:var(--red);margin-top:2px;font-size:.72rem}.select-error{border-color:var(--red)!important;background:var(--red-bg)!important}.submit-hint{color:var(--text-3);text-align:center;margin-top:.3rem;font-size:.72rem;display:block}.search-form{flex-direction:column;gap:1.25rem;display:flex}.form-row-cities{grid-template-columns:1fr auto 1fr;align-items:end}.btn-swap{background:var(--bg);border:1.5px solid var(--border);cursor:pointer;width:36px;min-width:36px;height:36px;color:var(--text-2);border-radius:50%;justify-content:center;align-items:center;margin-bottom:2px;font-size:1.1rem;transition:border-color .15s,color .15s;display:flex}.btn-swap:hover{border-color:var(--primary);color:var(--primary)}.passenger-stepper{border:1.5px solid var(--border);border-radius:var(--r);align-items:center;gap:0;height:44px;display:flex;overflow:hidden}.stepper-btn{background:var(--bg);cursor:pointer;width:44px;height:44px;color:var(--text-2);border:none;flex-shrink:0;font-size:1.25rem;transition:background .15s,color .15s}.stepper-btn:hover:not(:disabled){background:var(--primary);color:#fff}.stepper-btn:disabled{opacity:.35;cursor:not-allowed}.stepper-count{text-align:center;color:var(--text-1);flex:1;font-size:1rem;font-weight:700}.form-group select,.form-group input{border:1.5px solid var(--border);border-radius:var(--r);min-height:44px;color:var(--text);cursor:pointer;appearance:none;background:#fff;outline:none;padding:.65rem .85rem;font-family:inherit;font-size:1rem;transition:border-color .15s,box-shadow .15s}.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M0 0l6 7 6-7z' fill='%2394a3b8'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.form-group select:hover,.form-group select:focus,.form-group input:hover,.form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.form-group select:disabled{background-color:var(--bg);color:var(--text-3);cursor:not-allowed;opacity:.7}.form-group input[type=number]{cursor:text}.direct-only-toggle{color:#cbd5e1;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin:0 0 10px;font-size:.9rem;display:inline-flex}.direct-only-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.direct-only-toggle:hover span{color:#fff}.btn-search{background:var(--primary);color:#fff;border-radius:var(--r);cursor:pointer;letter-spacing:-.01em;border:none;width:100%;min-height:44px;padding:.8rem 2rem;font-size:.95rem;font-weight:700;transition:background .15s,box-shadow .15s,transform .1s}.btn-search:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 14px #6366f161}.btn-search:disabled{opacity:.45;cursor:not-allowed}.quick-filters{border-top:1px solid var(--border-light);flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:1.25rem;padding-top:1.25rem;display:flex}.quick-filters p{color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:.78rem;font-weight:700}.filter-buttons{flex-wrap:wrap;gap:.4rem;display:flex}.badge{border:1.5px solid var(--border);cursor:pointer;min-height:44px;color:var(--text-2);background:#fff;border-radius:20px;align-items:center;padding:.55rem .85rem;font-size:.8rem;font-weight:600;transition:all .15s;display:inline-flex}.badge:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.badge.active{background:var(--primary);color:#fff;border-color:var(--primary)}.badge.clear{color:var(--red);border-color:#fca5a5}.badge.clear:hover{background:var(--red);color:#fff;border-color:var(--red)}.dev-api-toggle{background:var(--orange-bg);border:1px dashed var(--orange);border-radius:var(--r);align-items:center;gap:.4rem;width:fit-content;padding:.4rem .65rem;display:flex}.dev-label{color:var(--amber-text);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700}.dev-api-btn{border-radius:var(--r-sm);color:var(--amber-text);cursor:pointer;background:0 0;border:1px solid #d97706;padding:.18rem .55rem;font-size:.72rem;font-weight:600;transition:all .15s}.dev-api-btn.active{background:var(--orange);color:#fff;border-color:#d97706}.dev-api-btn:hover:not(.active){background:#fef3c7}@media (width<=640px){.search-form-container{border-radius:var(--r-lg);padding:1.25rem}.form-row{grid-template-columns:1fr}.btn-search{align-self:stretch}.btn-swap{margin:0 auto}}.dp-wrap{flex-direction:column;gap:.35rem;display:flex;position:relative}.dp-label{color:var(--text-2);text-transform:uppercase;letter-spacing:.055em;font-size:.75rem;font-weight:700}.dp-trigger{border:1.5px solid var(--border);border-radius:var(--r);cursor:pointer;color:var(--text);text-align:left;background:#fff;outline:none;align-items:center;gap:.5rem;width:100%;padding:.65rem .85rem;font-family:inherit;font-size:.92rem;transition:border-color .15s,box-shadow .15s;display:flex}.dp-trigger:hover,.dp-trigger.dp-open{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.dp-trigger.dp-empty .dp-value{color:var(--text-3)}.dp-icon{opacity:.6;width:15px;height:15px;color:var(--text-2);flex-shrink:0}.dp-value{flex:1}.dp-arrow{color:var(--text-3);flex-shrink:0;font-size:.55rem}.dp-popup{z-index:var(--z-dropdown);background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow-xl);border:1px solid var(--border);min-width:280px;max-width:calc(100vw - 2rem);padding:1rem;animation:.12s dp-in;position:absolute;top:calc(100% + 6px);left:0}.dp-wrap.dp-align-right .dp-popup{left:auto;right:0}@keyframes dp-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.dp-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.dp-month-label{color:var(--text);font-size:.9rem;font-weight:700}.dp-nav{cursor:pointer;color:var(--primary);border-radius:var(--r-sm);background:0 0;border:none;padding:.15rem .45rem;font-size:1.1rem;line-height:1;transition:background .12s}.dp-nav:hover:not(:disabled){background:var(--primary-light)}.dp-nav:disabled{color:var(--border);cursor:default}.dp-grid{flex-direction:column;gap:2px;display:flex}.dp-week-row{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dp-day-name{color:var(--text-3);text-align:center;text-transform:uppercase;letter-spacing:.04em;padding:.2rem 0 .4rem;font-size:.67rem;font-weight:700}.dp-cell{aspect-ratio:1;border-radius:var(--r-sm);cursor:pointer;color:var(--text);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:.82rem;font-weight:500;transition:background .1s,color .1s;display:flex}.dp-cell:not(.dp-empty):not(.dp-disabled):hover{background:var(--primary-light);color:var(--primary);font-weight:700}.dp-cell.dp-empty{cursor:default}.dp-cell.dp-disabled{color:var(--border);cursor:default}.dp-cell.dp-today{color:var(--primary);font-weight:700;position:relative}.dp-cell.dp-today:after{content:"";background:var(--primary);border-radius:50%;width:3px;height:3px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.dp-cell.dp-selected{background:var(--primary);color:#fff;font-weight:700}.dp-cell.dp-selected:hover{background:var(--primary-dark);color:#fff}.dp-cell.dp-focused:not(.dp-selected):not(.dp-disabled){outline:2px solid var(--primary);outline-offset:-2px}.dp-hint{color:var(--text-3);text-align:center;margin:.6rem 0 0;font-size:.67rem;line-height:1.4}.airline-selector{background:var(--bg);border:1px solid var(--border);border-radius:10px;margin-top:1.25rem;padding:1rem 1.1rem}.airline-selector-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.airline-selector-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;display:flex}.airline-selector-badge{background:var(--primary);color:#fff;letter-spacing:0;text-transform:none;border-radius:9999px;padding:.1rem .55rem;font-size:.68rem;font-weight:500}.airline-selector-clear{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;transition:color .15s}.airline-selector-clear:hover{color:var(--primary-dark)}.airline-hint{color:var(--text-3);margin:0 0 .75rem;font-size:.78rem;font-style:italic}.airline-chips{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-wrap:wrap;gap:.4rem;max-height:200px;margin-bottom:.75rem;display:flex;overflow-y:auto}.airline-chip{border:1px solid var(--border);color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#fff;border-radius:9999px;align-items:center;padding:.28rem .65rem;font-size:.78rem;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.airline-chip input[type=checkbox]{display:none}.airline-chip:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.airline-chip.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:500}.airline-load-all{border:1px dashed var(--border);color:var(--text-2);cursor:pointer;background:#fff;border-radius:6px;width:100%;padding:.35rem .8rem;font-size:.75rem;transition:border-color .15s,color .15s,background .15s}.airline-load-all:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.airline-search-wrap{align-items:center;gap:.5rem;display:flex}.airline-search-input{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:6px;outline:none;flex:1;padding:.4rem .65rem;font-size:.8rem;transition:border-color .15s}.airline-search-input::placeholder{color:var(--text-3)}.airline-search-input:focus{border-color:var(--primary)}.airline-collapse{color:var(--text-3);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-size:.75rem;transition:color .15s}.airline-collapse:hover{color:var(--primary)}.flight-card{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);flex-direction:column;gap:0;padding:1.25rem 1.5rem;transition:box-shadow .18s,transform .15s;display:flex}.flight-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.flight-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;display:flex}.airline-info{flex-direction:column;gap:.15rem;display:flex}.airline-info h3{color:var(--text);margin:0;font-size:.95rem;font-weight:700;line-height:1.2}.flight-number{color:var(--text-3);letter-spacing:.03em;font-size:.75rem;font-weight:500}.price-block{flex-direction:column;align-items:flex-end;gap:1px;display:flex}.price{color:var(--primary);letter-spacing:-.02em;font-size:1.6rem;font-weight:800;line-height:1}.price-note{color:var(--text-3);font-size:.68rem;font-weight:400}.itineraries{flex-direction:column;gap:0;display:flex}.itinerary-row{border-bottom:1px solid var(--border-light);flex-direction:column;gap:.5rem;padding:.75rem 0;display:flex;overflow:visible}.itinerary-row:last-child{border-bottom:none}.itinerary-label{text-transform:uppercase;letter-spacing:.07em;color:var(--primary);font-size:.68rem;font-weight:700}.route-line{grid-template-columns:auto 1fr auto;align-items:start;gap:1rem;min-width:0;display:grid}.endpoint{flex-direction:column;align-items:flex-start;gap:.1rem;display:flex}.endpoint.end{align-items:flex-end}.airport-code{color:var(--text);letter-spacing:-.02em;font-size:1.55rem;font-weight:800;line-height:1}.time{color:var(--text-2);font-size:.82rem;font-weight:600}.day-offset{color:var(--orange);margin-left:1px;font-size:.62rem;font-weight:700}.date{color:var(--text-3);font-size:.72rem}.route-middle{flex-direction:column;align-items:center;gap:.4rem;min-width:0;display:flex}.route-path{align-items:center;gap:2px;width:100%;display:flex}.line{background:var(--border);flex:1;align-self:flex-start;height:1.5px;margin-top:3px}.stop-dot{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.stop-dot:before{content:"";background:var(--primary);width:7px;height:7px;box-shadow:0 0 0 1.5px var(--primary);border:2px solid #fff;border-radius:50%;flex-shrink:0;display:block}.stop-code{color:var(--primary);white-space:nowrap;text-align:center;margin-top:3px;font-size:.6rem;font-weight:700;line-height:1;position:static}.route-meta{align-items:center;gap:.45rem;display:flex}.duration{color:var(--text-2);font-size:.78rem;font-weight:500}.segments-detail{flex-wrap:wrap;gap:.3rem;margin-top:.35rem;display:flex}.segment-pill{background:var(--bg);color:var(--text-2);border:1px solid var(--border);white-space:normal;border-radius:20px;padding:3px 10px;font-size:.7rem;line-height:1.4}.flight-footer{border-top:1px solid var(--border-light);justify-content:space-between;align-items:flex-end;gap:1rem;margin-top:.25rem;padding-top:.85rem;display:flex}.aircraft-block{flex-direction:column;gap:.3rem;display:flex}.aircraft-name{color:var(--text-2);font-size:.82rem;font-weight:600}.type-badge{text-transform:capitalize;letter-spacing:.02em;border-radius:20px;width:fit-content;padding:2px 9px;font-size:.68rem;font-weight:700}.type-badge.type-jet{color:#4338ca;background:#eef2ff}.type-badge.type-wide-body{color:#7e22ce;background:#faf5ff}.type-badge.type-turboprop{background:var(--green-bg);color:#065f46}.type-badge.type-regional{background:var(--orange-bg);color:var(--amber-text)}.specs{flex-wrap:wrap;gap:1rem;margin-top:.1rem;display:flex}.spec{flex-direction:column;gap:1px;display:flex}.spec-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;font-size:.67rem}.spec-value{color:var(--text);font-size:.78rem;font-weight:600}.btn-book{background:var(--primary);color:#fff;border-radius:var(--r);cursor:pointer;white-space:nowrap;border:none;align-items:center;padding:.6rem 1.4rem;font-size:.88rem;font-weight:700;text-decoration:none;transition:background .15s,box-shadow .15s,transform .1s;display:inline-flex}.btn-book:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #6366f152}.btn-book:disabled{background:var(--border);color:var(--text-3);cursor:not-allowed;box-shadow:none;transform:none}.btn-book-external{background:var(--navy,#0c1427);gap:.35rem}.btn-book-external:hover{background:var(--navy-2,#152040);box-shadow:0 4px 12px #0c142752}.btn-external-icon{flex-shrink:0;width:11px;height:11px;margin-top:1px}@media (width<=600px){.airport-code{font-size:1.2rem}.price{font-size:1.3rem}.specs{gap:.5rem}.flight-footer{flex-direction:column;align-items:stretch;gap:.75rem}.btn-book{justify-content:center}.route-line{gap:.5rem}.flight-card{padding:1rem}.flight-header{flex-wrap:wrap;gap:.5rem}}@media (width<=400px){.route-line{grid-template-rows:auto auto auto;grid-template-columns:1fr}.route-middle{flex-direction:row;justify-content:center;gap:.5rem;padding:.25rem 0}.route-path{display:none}.endpoint.end{align-items:flex-start}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);padding:max(1rem, var(--safe-top,0px)) max(1rem, var(--safe-right,0px)) max(1rem, var(--safe-bottom,0px)) max(1rem, var(--safe-left,0px));background:#0f172a99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:var(--card);border-radius:var(--r-xl);width:100%;max-width:480px;max-height:90vh;box-shadow:var(--shadow-xl), 0 0 0 1px #ffffff0d;padding:2rem;position:relative;overflow-y:auto}.modal-close{background:var(--bg);border:1px solid var(--border);color:var(--text-2);cursor:pointer;border-radius:var(--r-sm);justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0 9px;font-size:.85rem;font-weight:600;line-height:1;transition:background .15s,color .15s;display:inline-flex;position:absolute;top:1rem;right:1rem}.modal-close:hover{background:var(--border);color:var(--text)}.modal-header{margin-bottom:1.5rem}.modal-header h2{color:var(--text);letter-spacing:-.02em;margin:0 0 .85rem;font-size:1.25rem;font-weight:800}.modal-flight-summary{background:var(--primary-light);border-radius:var(--r);border:1px solid #6366f126;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.modal-route{color:var(--text);letter-spacing:-.01em;font-size:1rem;font-weight:800}.modal-meta{color:var(--text-2);flex:1;font-size:.8rem}.modal-price-block{flex-direction:column;align-items:flex-end;gap:1px;display:flex}.modal-price{color:var(--primary);font-size:1.1rem;font-weight:800;line-height:1.1}.modal-price-note{color:var(--text-3);font-size:.68rem;font-weight:400}.booking-form{flex-direction:column;gap:1rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.form-row-name{grid-template-columns:auto 1fr 1fr}.form-group-title{min-width:82px}.form-group-dob{grid-column:1}.form-group-gender{grid-column:2}.form-group{flex-direction:column;gap:.3rem;display:flex}.form-group label{color:var(--text-2);text-transform:uppercase;letter-spacing:.055em;font-size:.72rem;font-weight:700}.field-hint{color:var(--text-3);text-transform:none;letter-spacing:0;font-weight:400}.form-group input,.form-group select{border:1.5px solid var(--border);border-radius:var(--r);color:var(--text);background:#fff;outline:none;padding:.6rem .8rem;font-family:inherit;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.form-group input.input-error,.form-group select.input-error{border-color:var(--red);background:var(--red-bg)}.field-error{color:var(--red);margin-top:1px;font-size:.72rem;line-height:1.3}.booking-error{background:var(--red-bg);color:#991b1b;border-radius:var(--r);border:1px solid #fecaca;padding:.65rem .9rem;font-size:.85rem}.form-footer{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:1rem;margin-top:.25rem;padding-top:.75rem;display:flex}.total-block{flex-direction:column;gap:1px;display:flex}.total-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;font-weight:700}.total-amount{color:var(--text);font-size:1rem;font-weight:800}.total-note{color:var(--text-3);font-size:.67rem}.form-label-text{color:var(--text-2);text-transform:uppercase;letter-spacing:.055em;font-size:.72rem;font-weight:700}.confirm-details{color:var(--text-2);justify-content:center;gap:1rem;margin-bottom:.5rem;font-size:.85rem;display:flex}.btn-confirm{background:var(--primary);color:#fff;border-radius:var(--r);cursor:pointer;white-space:nowrap;letter-spacing:-.01em;border:none;padding:.68rem 1.6rem;font-size:.92rem;font-weight:700;transition:background .15s,box-shadow .15s,transform .1s}.btn-confirm:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 14px #6366f159}.btn-confirm:disabled{opacity:.5;cursor:not-allowed}.booking-confirmation{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:1rem 0;display:flex}.confirm-icon{color:#fff;background:linear-gradient(135deg,#10b981,#34d399);border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;font-size:1.5rem;font-weight:800;display:flex}.booking-confirmation h2{color:var(--text);letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:800}.booking-ref{background:var(--primary-light);border-radius:var(--r-lg);border:1px solid #6366f126;flex-direction:column;align-items:center;gap:.25rem;padding:.85rem 2.5rem;display:flex}.ref-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.07em;font-size:.7rem;font-weight:700}.ref-code{color:var(--primary);letter-spacing:.12em;font-size:1.9rem;font-weight:800}.confirm-route{color:var(--text);align-items:center;gap:.5rem;font-size:.95rem;font-weight:700;display:flex}.confirm-date{color:var(--text-3);font-size:.8rem;font-weight:400}.confirm-note{color:var(--text-2);max-width:300px;margin:0;font-size:.82rem;line-height:1.55}.btn-close-confirm{background:var(--primary);color:#fff;border-radius:var(--r);cursor:pointer;border:none;margin-top:.5rem;padding:.68rem 2.2rem;font-size:.92rem;font-weight:700;transition:background .15s}.btn-close-confirm:hover{background:var(--primary-dark)}.dob-picker{grid-template-columns:58px 1fr 80px;gap:.4rem;display:grid}.dob-select{border:1.5px solid var(--border);border-radius:var(--r);color:var(--text);cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2394a3b8'/%3E%3C/svg%3E") right 8px center no-repeat;outline:none;padding:.6rem 22px .6rem .35rem;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.dob-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.dob-month{font-size:.8rem}.gender-toggle{border:1.5px solid var(--border);border-radius:var(--r);display:flex;overflow:hidden}.gender-btn{color:var(--text-2);cursor:pointer;background:#fff;border:none;flex:1;padding:.6rem .5rem;font-size:.85rem;font-weight:600;transition:background .15s,color .15s}.gender-btn:first-child{border-right:1.5px solid var(--border)}.gender-btn.active{background:var(--primary);color:#fff}@media (width<=480px){.form-row{grid-template-columns:1fr}.form-row-name{grid-template-columns:auto 1fr}.form-group-title{grid-area:1/1}.form-group-dob,.form-group-gender{grid-column:1}.modal-box{padding:1.5rem 1.25rem}.form-footer{flex-direction:column;align-items:stretch}.btn-confirm{text-align:center}.dob-picker{grid-template-columns:54px 1fr 74px}}.filters-panel{background:var(--card);border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);flex-shrink:0;align-self:flex-start;width:230px;padding:1.25rem;position:sticky;top:1.25rem}.filters-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.filters-title{color:var(--text);text-transform:uppercase;letter-spacing:.06em;font-size:.88rem;font-weight:800}.filters-reset{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;font-weight:600}.filters-reset:hover{text-decoration:underline}.filter-section{border-top:1px solid var(--border-light);padding:.9rem 0 .4rem}.filter-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin:0 0 .55rem;font-size:.7rem;font-weight:700}.filter-check{cursor:pointer;color:var(--text);border-radius:var(--r-sm);align-items:center;gap:.5rem;padding:.28rem 0;font-size:.85rem;transition:color .1s;display:flex}.filter-check:hover{color:var(--primary)}.filter-check input[type=checkbox]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.check-label{flex:1;font-weight:500}.check-count{color:var(--text-3);background:var(--bg);border-radius:10px;padding:0 6px;font-size:.72rem;font-weight:600}.price-slider-wrap{flex-direction:column;gap:.45rem;display:flex}.price-slider{width:100%;accent-color:var(--primary);cursor:pointer;height:4px}.price-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--primary);cursor:pointer;border:2px solid #fff;border-radius:50%;width:28px;height:28px;box-shadow:0 1px 4px #00000040}.price-slider::-moz-range-thumb{background:var(--primary);cursor:pointer;border:2px solid #fff;border-radius:50%;width:28px;height:28px;box-shadow:0 1px 4px #00000040}.price-slider-labels{color:var(--text-3);justify-content:space-between;font-size:.78rem;display:flex}.price-current{color:var(--primary);font-weight:700}.price-current-inline{color:var(--primary);margin-left:.35rem;font-size:.82rem;font-weight:700}.price-range-min,.price-range-max{color:var(--text-3);font-size:.72rem}.time-slots{grid-template-columns:1fr 1fr;gap:.35rem;display:grid}.time-slot-btn{border:1.5px solid var(--border);border-radius:var(--r);cursor:pointer;background:#fff;flex-direction:column;align-items:center;gap:1px;padding:.55rem .25rem;transition:border-color .15s,background .15s;display:flex}.time-slot-btn:hover,.time-slot-btn.active{border-color:var(--primary);background:var(--primary-light)}.ts-icon{font-size:1rem}.ts-label{color:var(--text);font-size:.72rem;font-weight:700}.ts-sub{color:var(--text-3);font-size:.6rem}@media (width<=768px){.filters-panel{width:100%;position:static}}.results-container{margin:0}.results-layout{align-items:flex-start;gap:1.5rem;display:flex}.results-main{flex:1;min-width:0}.results-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.85rem;display:flex}.results-count{color:var(--text-2);font-size:.88rem;font-weight:600}.hidden-count{color:var(--text-3);font-weight:400}.source-badge{border:1.5px solid var(--border);color:var(--text-2);background:var(--card);border-radius:20px;padding:.28rem .8rem;font-size:.75rem;font-weight:600}.source-badge.source-amadeus{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.source-badge.source-duffel{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.source-badge.source-mock{background:var(--orange-bg);color:var(--amber-text);border-color:#fde68a}.sort-bar{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.sort-btn{border:1.5px solid var(--border);background:var(--card);min-height:44px;color:var(--text-2);cursor:pointer;white-space:nowrap;border-radius:20px;padding:.42rem 1rem;font-size:.82rem;font-weight:600;transition:border-color .15s,color .15s,background .15s}.sort-btn:hover:not(.active){border-color:var(--primary);color:var(--primary)}.sort-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.flights-list{flex-direction:column;gap:.75rem;display:flex}.no-results{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);text-align:center;color:var(--text-2);padding:3rem 2rem;font-size:.95rem}.no-results-tips{text-align:left;color:var(--text-3);margin-top:.75rem;font-size:.85rem;line-height:2;list-style:none;display:inline-block}.no-results-tips li:before{content:"→ ";color:var(--primary)}.btn-clear-filters{background:var(--primary-light);color:var(--primary);cursor:pointer;border:none;border-radius:20px;margin-top:.85rem;padding:.45rem 1.2rem;font-size:.85rem;font-weight:700;transition:background .15s;display:inline-block}.btn-clear-filters:hover{background:var(--primary);color:#fff}@media (width<=768px){.results-layout{flex-direction:column-reverse}.results-header{flex-direction:column;align-items:flex-start;gap:.5rem}.sort-btn{padding:.38rem .75rem;font-size:.78rem}}.explore-results{margin:0}.explore-empty{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);text-align:center;color:var(--text-2);padding:3.5rem 1rem;font-size:.95rem;line-height:1.7}.explore-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.explore-summary{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.explore-count{color:var(--text);letter-spacing:-.01em;font-size:1rem;font-weight:800}.explore-aircraft-tag{background:var(--primary-light);color:var(--primary);border:1px solid #6366f133;border-radius:20px;padding:.22rem .75rem;font-size:.8rem;font-weight:600}.explore-from{color:var(--text-2);font-size:.88rem}.explore-sort{gap:.35rem;display:flex}.explore-sort .sort-btn{border:1.5px solid var(--border);background:var(--card);color:var(--text-2);cursor:pointer;white-space:nowrap;border-radius:20px;padding:.38rem .85rem;font-size:.8rem;font-weight:600;transition:all .15s}.explore-sort .sort-btn:hover:not(.active){border-color:var(--primary);color:var(--primary)}.explore-sort .sort-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.destination-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.85rem;display:grid}.destination-card{background:var(--card);border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);flex-direction:column;gap:.7rem;padding:1.1rem 1.2rem;transition:box-shadow .18s,transform .15s;display:flex;position:relative;overflow:hidden}.destination-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.destination-card.cheapest{border-color:var(--primary);border-width:1.5px}.cheapest-tag{background:var(--primary);color:#fff;border-bottom-left-radius:var(--r-sm);text-transform:uppercase;letter-spacing:.06em;padding:3px 10px;font-size:.62rem;font-weight:700;position:absolute;top:0;right:0}.dest-top{align-items:flex-start;gap:.5rem;display:flex}.dest-flag{flex-shrink:0;font-size:1.5rem;line-height:1}.dest-name{flex-direction:column;flex:1;min-width:0;display:flex}.dest-city{color:var(--text);white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;font-size:1rem;font-weight:800;overflow:hidden}.dest-country{color:var(--text-3);font-size:.72rem}.dest-code{color:var(--text-3);align-self:flex-start;margin-top:2px;font-size:.72rem;font-weight:600}.dest-price{align-items:baseline;gap:.3rem;display:flex}.price-label{color:var(--text-3);order:-1;font-size:.72rem}.price-amount{color:var(--primary);letter-spacing:-.02em;font-size:1.65rem;font-weight:800;line-height:1}.dest-flight{border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);flex-direction:column;gap:.28rem;padding:.5rem 0;display:flex}.dest-date{color:var(--text-3);margin-bottom:.15rem;font-size:.7rem;font-weight:600;display:block}.dest-times{color:var(--text);align-items:center;gap:.4rem;font-size:.88rem;font-weight:700;display:flex}.dest-arrow{color:var(--border);font-weight:400}.dest-meta{align-items:center;gap:.4rem;display:flex}.dest-duration{color:var(--text-2);font-size:.78rem}.nonstop-badge{background:var(--green-bg);color:var(--green);border-radius:20px;padding:2px 7px;font-size:.67rem;font-weight:600}.stops-badge{background:var(--orange-bg);color:var(--amber-text);border-radius:20px;padding:2px 7px;font-size:.67rem;font-weight:600}.dest-footer{flex-direction:column;gap:.2rem;display:flex}.dest-airline{color:var(--text-2);font-size:.8rem;font-weight:600}.dest-aircraft{color:var(--text-3);font-size:.72rem}.dest-aircraft.type-wide-body{color:#7e22ce}.dest-aircraft.type-jet{color:#4338ca}.dest-aircraft.type-regional{color:var(--amber-text)}.dest-aircraft.type-turboprop{color:#065f46}.dest-search-btn{background:var(--primary-light);width:100%;color:var(--primary);border:1.5px solid var(--primary);border-radius:var(--r);cursor:pointer;margin-top:.75rem;padding:.5rem .75rem;font-family:inherit;font-size:.82rem;font-weight:700;transition:background .15s,color .15s}.dest-search-btn:hover{background:var(--primary);color:#fff}@media (width<=600px){.destination-grid{grid-template-columns:1fr 1fr}}@media (width<=400px){.destination-grid{grid-template-columns:1fr}}.api-status{align-items:center;display:flex}.status-badges{flex-wrap:wrap;gap:.4rem;display:flex}.api-status .badge{letter-spacing:.02em;white-space:nowrap;cursor:default;-webkit-user-select:none;user-select:none;pointer-events:none;border:1px solid #ffffff26;border-radius:20px;padding:.25rem .65rem;font-size:.72rem;font-weight:600}.api-status .badge.active{color:#6ee7b7;background:#10b9812e;border-color:#10b9814d}.api-status .badge.inactive{color:#ffffff4d;background:#ffffff0f;border-color:#ffffff14}@media (width<=480px){.api-status{display:none}}.skeleton-results{flex-direction:column;gap:1rem;display:flex}.skeleton-message{color:var(--text-2);margin-bottom:.25rem;font-size:.88rem;font-weight:600}.skeleton-list{flex-direction:column;gap:.75rem;display:flex}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex}.skeleton-line,.skeleton-circle,.skeleton-pill{background:linear-gradient(90deg, var(--border) 25%, var(--border-light) 50%, var(--border) 75%);border-radius:var(--r-sm);background-size:600px 100%;animation:1.4s linear infinite shimmer}.skeleton-line{height:14px}.skeleton-circle{border-radius:50%;flex-shrink:0;width:36px;height:36px}.skeleton-pill{border-radius:20px;width:64px;height:22px}.sk-w-20{width:20%}.sk-w-30{width:30%}.sk-w-40{width:40%}.sk-w-full{flex:1}.skeleton-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.skeleton-route{align-items:center;gap:.75rem;display:flex}.skeleton-footer{justify-content:space-between;align-items:center;display:flex}.auth-backdrop{z-index:var(--z-modal);padding:max(1rem, var(--safe-top,0px)) max(1rem, var(--safe-right,0px)) max(1rem, var(--safe-bottom,0px)) max(1rem, var(--safe-left,0px));-webkit-backdrop-filter:blur(6px);background:#0c1427b8;justify-content:center;align-items:center;animation:.18s auth-backdrop-in;display:flex;position:fixed;inset:0}@keyframes auth-backdrop-in{0%{opacity:0}to{opacity:1}}.auth-modal{border-radius:var(--r-xl);background:#fff;width:100%;max-width:420px;animation:.22s cubic-bezier(.34,1.42,.64,1) auth-modal-in;position:relative;overflow:hidden;box-shadow:0 32px 64px #0c142752,0 8px 24px #0c142729}@keyframes auth-modal-in{0%{opacity:0;transform:scale(.92)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.auth-modal-header{background:linear-gradient(160deg,#0c1427 0%,#162244 55%,#0e1c3d 100%);padding:1.5rem 1.75rem 0;position:relative}.auth-modal-header:before{content:"";pointer-events:none;background:radial-gradient(at 15% 80%,#6366f138 0%,#0000 60%),radial-gradient(at 90% 10%,#4f46e524 0%,#0000 50%);position:absolute;inset:0}.auth-modal-brand{z-index:1;align-items:center;gap:.45rem;margin-bottom:1.25rem;display:flex;position:relative}.auth-modal-brand-icon{font-size:1.25rem;line-height:1}.auth-modal-brand-name{color:#fff;letter-spacing:-.025em;font-size:1.05rem;font-weight:800}.auth-modal-close{z-index:2;color:#ffffffd9;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.1rem;line-height:1;transition:background .15s,color .15s;display:flex;position:absolute;top:1rem;right:1rem}.auth-modal-close:hover{color:#fff;background:#ffffff38}.auth-tabs{z-index:1;gap:0;display:flex;position:relative}.auth-tab{color:#ffffff8c;cursor:pointer;letter-spacing:-.01em;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:.75rem 1rem;font-size:.9rem;font-weight:600;transition:color .18s,border-color .18s}.auth-tab.active{color:#fff;border-bottom-color:var(--primary)}.auth-tab:hover:not(.active){color:#fffc}.auth-modal-body{padding:1.75rem}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-field{flex-direction:column;gap:.35rem;display:flex}.auth-field label{color:var(--text-2);text-transform:uppercase;letter-spacing:.055em;font-size:.75rem;font-weight:700}.auth-input-wrap{position:relative}.auth-input-wrap input{border:1.5px solid var(--border);border-radius:var(--r);width:100%;color:var(--text);box-sizing:border-box;background:#fff;outline:none;padding:.65rem .9rem;font-family:inherit;font-size:.92rem;transition:border-color .15s,box-shadow .15s}.auth-input-wrap input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.auth-input-wrap input.input-error{border-color:var(--red);background:var(--red-bg)}.auth-input-wrap input.input-error:focus{box-shadow:0 0 0 3px #ef444426}.auth-input-wrap input[type=password],.auth-input-wrap input[data-pw]{padding-right:2.75rem}.auth-pw-toggle{cursor:pointer;color:var(--text-3);background:0 0;border:none;align-items:center;padding:0;line-height:1;transition:color .15s;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.auth-pw-toggle:hover{color:var(--text-2)}.auth-field-error{color:var(--red);align-items:center;gap:.3rem;margin-top:1px;font-size:.72rem;display:flex}.auth-error-banner{background:var(--red-bg);border:1px solid var(--red);color:var(--red);border-radius:var(--r);align-items:flex-start;gap:.5rem;padding:.6rem .9rem;font-size:.85rem;font-weight:500;display:flex}.auth-error-banner svg{flex-shrink:0;margin-top:1px}.auth-submit{background:var(--primary);color:#fff;border-radius:var(--r);cursor:pointer;letter-spacing:-.01em;border:none;justify-content:center;align-items:center;gap:.5rem;margin-top:.25rem;padding:.8rem 1.5rem;font-size:.95rem;font-weight:700;transition:background .15s,box-shadow .15s,transform .1s,opacity .15s;display:flex}.auth-submit:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 14px #6366f161}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-btn-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.65s linear infinite spin}.auth-success{flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1rem 0;animation:.3s auth-success-in;display:flex}@keyframes auth-success-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.auth-success-icon{background:var(--green-bg);border:2px solid var(--green);width:52px;height:52px;color:var(--green);border-radius:50%;justify-content:center;align-items:center;display:flex}.auth-success-msg{color:var(--text);font-size:.95rem;font-weight:600}.auth-verify-sent{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:1rem 0;animation:.3s auth-success-in;display:flex}.auth-verify-desc{color:var(--text-2);margin:0;font-size:.875rem;line-height:1.55}.auth-verify-resend{color:var(--text-3);margin:.25rem 0 0;font-size:.82rem}.auth-verify-resent{color:var(--green);font-weight:600}.auth-link-btn{color:var(--primary);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .15s}.auth-link-btn:hover:not(:disabled){-webkit-text-decoration-color:var(--primary);text-decoration-color:var(--primary)}.auth-link-btn:disabled{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;color:var(--text-3);margin-top:1rem;font-size:.82rem}.auth-switch button{color:var(--primary);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .15s}.auth-switch button:hover{-webkit-text-decoration-color:var(--primary);text-decoration-color:var(--primary)}@media (width<=480px){.auth-modal{border-radius:var(--r-lg);max-width:100%}.auth-modal-body{padding:1.25rem}}.ac-search-form{flex-direction:column;gap:14px;width:100%;display:flex}.ac-search-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.ac-search-row--route{align-items:flex-end}.ac-search-field{flex-direction:column;flex:180px;min-width:0;display:flex}.ac-search-field--wide{flex:2 240px}.ac-search-field--narrow{flex:0 140px}.ac-search-field--city{flex:220px}.ac-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-bottom:.35rem;font-size:.72rem;font-weight:700}.ac-select,.ac-input{border:1px solid var(--border);height:44px;color:var(--text);box-sizing:border-box;background:#fff;border-radius:8px;outline:none;width:100%;padding:0 12px;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.ac-select:focus,.ac-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.ac-select option,.ac-select optgroup{color:var(--text);background:#fff}.ac-autocomplete{position:relative}.ac-dropdown{border:1px solid var(--border);z-index:100;box-shadow:var(--shadow,0 8px 24px #0000001f);background:#fff;border-radius:8px;max-height:240px;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.ac-dropdown-item{cursor:pointer;align-items:center;gap:8px;padding:8px 12px;transition:background .12s;display:flex}.ac-dropdown-item:hover{background:var(--primary-light)}.ac-dropdown-iata{color:var(--primary);min-width:36px;font-size:.78rem;font-weight:700}.ac-dropdown-name{color:var(--text);flex:1;font-size:.85rem}.ac-dropdown-country{color:var(--text-3);font-size:.75rem}.ac-swap-btn{border:1px solid var(--border);width:44px;height:44px;color:var(--text-2);cursor:pointer;background:#fff;border-radius:8px;flex:0 0 44px;align-self:flex-end;font-size:1.05rem;transition:color .15s,border-color .15s,background .15s}.ac-swap-btn:hover:not(:disabled){color:var(--primary);border-color:var(--primary);background:var(--primary-light)}.ac-swap-btn:disabled{opacity:.45;cursor:not-allowed}.ac-stepper{border:1px solid var(--border);background:#fff;border-radius:8px;align-items:center;height:44px;display:flex;overflow:hidden}.ac-stepper-btn{width:38px;height:100%;color:var(--text-2);cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:1.1rem;transition:background .12s,color .12s}.ac-stepper-btn:hover:not(:disabled){background:var(--primary-light);color:var(--primary)}.ac-stepper-btn:disabled{opacity:.35;cursor:not-allowed}.ac-stepper-count{text-align:center;color:var(--text);flex:1;font-size:.95rem;font-weight:600}.ac-search-actions{gap:10px;margin-top:4px;display:flex}.ac-btn{cursor:pointer;border:none;border-radius:8px;height:44px;padding:0 24px;font-size:.9rem;font-weight:600;transition:background .15s,transform .1s,opacity .15s}.ac-btn:active{transform:scale(.98)}.ac-btn:disabled{opacity:.5;cursor:not-allowed}.ac-btn-primary{background:var(--primary);color:#fff}.ac-btn-primary:hover:not(:disabled){background:var(--primary-dark)}.ac-btn-cancel{color:#d4534a;background:#fff;border:1px solid #f0bfbb}.ac-btn-cancel:hover{background:#fdecea}@media (width<=600px){.ac-search-row--route{gap:8px}.ac-swap-btn{flex:0 0 40px;width:40px}.ac-btn{width:100%}}.app{background:var(--bg);min-height:100vh}.hero{padding:var(--safe-top,0px) 1.5rem 3rem;background:linear-gradient(160deg,#0c1427 0%,#162244 55%,#0e1c3d 100%);position:relative;overflow:visible}.hero:before{content:"";pointer-events:none;background:radial-gradient(at 15% 60%,#6366f12e 0%,#0000 55%),radial-gradient(at 85% 20%,#4f46e51f 0%,#0000 50%);position:absolute;inset:0}.hero:after{content:"";pointer-events:none;background-image:radial-gradient(#ffffff0a 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.nav{z-index:1;justify-content:space-between;align-items:center;max-width:1060px;margin:0 auto;padding:1.4rem 0;display:flex;position:relative}.nav-brand{align-items:center;gap:.45rem;text-decoration:none;display:flex}.nav-right{align-items:center;gap:.75rem;display:flex}.nav-btn{border-radius:var(--r);cursor:pointer;letter-spacing:-.01em;white-space:nowrap;border:none;min-height:44px;padding:.6rem 1.1rem;font-size:.85rem;font-weight:700;transition:background .15s,box-shadow .15s,transform .1s,opacity .15s}.nav-btn-primary{background:var(--primary);color:#fff}.nav-btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 14px #6366f166}.nav-btn-ghost{color:#ffffffd9;background:#ffffff1a;border:1px solid #ffffff2e}.nav-btn-ghost:hover{color:#fff;background:#ffffff2e}.nav-user{align-items:center;gap:.6rem;display:flex}.nav-user-email{color:#ffffffb3;text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:.82rem;overflow:hidden}@media (width<=480px){.nav-user-email{display:none}.nav-right{gap:.4rem}.nav-btn{min-height:40px;padding:.5rem .75rem;font-size:.78rem}}.brand-icon{flex-shrink:0;width:30px;height:30px;display:block}.brand-name{color:#fff;letter-spacing:-.025em;font-size:1.2rem;font-weight:800}.hero-content{z-index:1;max-width:1060px;margin:0 auto;padding:2rem 0;position:relative}.hero-title{color:#fff;letter-spacing:-.03em;margin-bottom:.6rem;font-size:clamp(1.75rem,4vw,2.6rem);font-weight:800;line-height:1.15}.hero-subtitle{color:#ffffffbf;font-size:1rem;font-weight:400}.hero-search{z-index:2;max-width:1060px;margin:0 auto;position:relative}.search-mode-tabs{gap:4px;margin-bottom:12px;display:flex}.search-mode-tab{color:#ffffffa6;cursor:pointer;white-space:nowrap;background:#ffffff12;border:1px solid #fff3;border-radius:20px;padding:7px 18px;font-size:13px;font-weight:500;transition:background .2s,color .2s,border-color .2s}.search-mode-tab:hover{color:#fff;background:#ffffff1f}.search-mode-tab--active{color:#fff;background:#6c8eff40;border-color:#6c8eff80;font-weight:600}.results-section{max-width:1060px;padding:2rem 1.5rem calc(3rem + var(--safe-bottom,0px));margin:0 auto}.verify-banner{border-radius:var(--r);align-items:center;gap:1rem;margin-top:1rem;padding:.75rem 1rem;font-size:.9rem;animation:.25s fade-in;display:flex}.verify-banner span{flex:1}.verify-banner--success{background:var(--green-bg);border:1px solid var(--green);color:var(--green)}.verify-banner--error{background:var(--red-bg);border:1px solid var(--red);color:var(--red)}.verify-banner .error-dismiss{color:inherit}.verify-banner-cta{flex-shrink:0;padding:.35rem .9rem;font-size:.82rem}@keyframes fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.error-banner{background:var(--red-bg);border:1px solid var(--red);color:var(--red);border-radius:var(--r);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.error-dismiss{color:var(--red);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:1.25rem;line-height:1;display:inline-flex}.loading-state{flex-direction:column;align-items:center;gap:1rem;padding:5rem 2rem;display:flex}.loading-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:38px;height:38px;animation:.65s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-message{color:var(--text-2);font-size:.9rem}.no-results-empty{background:var(--card);border-radius:var(--r-lg);text-align:center;color:var(--text-2);box-shadow:var(--shadow-sm);border:1px solid var(--border);padding:3.5rem 2rem;font-size:1rem}.error-boundary{background:var(--red-bg);border:1px solid var(--red);border-radius:var(--r-lg);text-align:center;color:var(--red);padding:2rem}.error-boundary-title{margin-bottom:.75rem;font-size:.95rem;font-weight:600}.error-boundary-retry{background:var(--red);color:#fff;border-radius:var(--r);cursor:pointer;border:none;padding:.45rem 1.2rem;font-size:.85rem;font-weight:600;transition:opacity .15s}.error-boundary-retry:hover{opacity:.85}.landing{color:#e2e8f0;max-width:1100px;margin:0 auto;padding:24px 20px 80px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.landing-breadcrumb{color:#94a3b8;flex-wrap:wrap;gap:8px;margin-bottom:24px;font-size:14px;display:flex}.landing-breadcrumb a{color:#93c5fd;text-decoration:none}.landing-breadcrumb a:hover{text-decoration:underline}.landing-header{margin-bottom:40px}.landing-badge{color:#7dd3fc;text-transform:uppercase;letter-spacing:.4px;background:#38bdf81f;border-radius:999px;margin-bottom:16px;padding:4px 12px;font-size:13px;font-weight:600;display:inline-block}.landing-h1{letter-spacing:-.5px;margin:0 0 16px;font-size:clamp(32px,5vw,48px);font-weight:800;line-height:1.1}.landing-sub{color:#cbd5e1;max-width:780px;margin:0 0 24px;font-size:18px;line-height:1.55}.landing-cta-row{flex-wrap:wrap;gap:12px;display:flex}.landing-cta{color:#0c1427;cursor:pointer;background:linear-gradient(135deg,#38bdf8,#a855f7);border:0;border-radius:10px;padding:14px 24px;font-size:16px;font-weight:700;text-decoration:none;display:inline-block}.landing-cta:hover{transform:translateY(-1px);box-shadow:0 8px 24px #38bdf840}.landing-map{margin-bottom:48px}.landing-map h2{margin:0 0 8px;font-size:24px;font-weight:700}.landing-map-hint{color:#94a3b8;margin:0 0 16px;font-size:15px}.landing-map-frame{background:#0f1a36;border:1px solid #1e2d52;border-radius:12px;min-height:520px;overflow:hidden}.landing-top-routes{margin-bottom:48px}.landing-top-routes h2{margin:0 0 8px;font-size:22px;font-weight:700}.landing-prose{max-width:820px;margin-bottom:40px}.landing-prose h2{margin:0 0 12px;font-size:24px;font-weight:700}.landing-prose h3{color:#e2e8f0;margin:24px 0 8px;font-size:18px;font-weight:700}.landing-prose p{color:#cbd5e1;margin:0 0 12px;font-size:16px;line-height:1.65}.landing-faq{max-width:820px;margin-bottom:48px}.landing-faq h2{margin:0 0 16px;font-size:22px;font-weight:700}.landing-faq-item{background:#ffffff08;border:1px solid #ffffff0f;border-radius:10px;margin-bottom:10px;padding:12px 16px}.landing-faq-item summary{color:#e2e8f0;cursor:pointer;padding-right:24px;font-size:16px;font-weight:600;list-style:none;position:relative}.landing-faq-item summary::-webkit-details-marker{display:none}.landing-faq-item summary:after{content:"+";color:#7dd3fc;font-weight:400;transition:transform .15s;position:absolute;top:0;right:0}.landing-faq-item[open] summary:after{content:"−"}.landing-faq-item p{color:#cbd5e1;margin:12px 0 0;font-size:15px;line-height:1.6}.landing-siblings h2{margin:0 0 16px;font-size:20px;font-weight:700}.landing-siblings-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.landing-siblings-list a{color:#e2e8f0;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:8px;padding:10px 14px;font-size:14px;text-decoration:none;display:block}.landing-siblings-list a:hover{background:#38bdf81a;border-color:#38bdf866}.landing--not-found{text-align:center;padding:80px 20px}.landing--not-found h1{margin-bottom:12px;font-size:32px}.landing--not-found code{background:#ffffff1a;border-radius:4px;padding:2px 6px}*,:before,:after{box-sizing:border-box;touch-action:manipulation;-webkit-tap-highlight-color:transparent;margin:0;padding:0}:root{--primary:#6366f1;--primary-dark:#4f46e5;--primary-light:#eef2ff;--primary-ring:#6366f12e;--navy:#0c1427;--navy-2:#152040;--navy-3:#1e2d52;--bg:#f8fafc;--card:#fff;--border:#e2e8f0;--border-light:#f1f5f9;--text:#0f172a;--text-2:#475569;--text-3:#94a3b8;--green:#10b981;--green-bg:#ecfdf5;--orange:#f59e0b;--orange-bg:#fffbeb;--red:#ef4444;--red-bg:#fef2f2;--r-sm:6px;--r:10px;--r-lg:14px;--r-xl:20px;--shadow-sm:0 1px 2px #0000000d;--shadow:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001f, 0 10px 10px -5px #0000000a;--z-dropdown:200;--z-modal:1000;--amber-text:#92400e;--amber-bg:#fffbeb;--amber-border:#fde68a;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}html,body{-webkit-overflow-scrolling:touch;overscroll-behavior-y:none;width:100%;min-height:100%}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.field-hint{color:var(--text-3);font-size:.7rem;font-weight:400}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif;line-height:1.5}#root{width:100%;min-height:100vh}
