@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@400;500;600;700&display=swap";.navbar{background:var(--color-primary);height:var(--navbar-height);position:sticky;top:0;z-index:200;box-shadow:0 2px 12px #0b2e4e59}.navbar__inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-4);height:100%;display:flex;align-items:center;gap:var(--space-4)}.navbar__brand{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-on-dark);font-size:var(--font-size-xl);font-weight:800;letter-spacing:-.02em;flex-shrink:0}.navbar__logo{height:26px;width:auto;display:block}.navbar__brand-divider{display:block;width:1px;height:20px;background:#ffffff40;flex-shrink:0}.navbar__brand-icon{color:var(--color-accent)}.navbar__brand-sub{font-size:var(--font-size-xs);font-weight:400;color:#ffffff73;margin-inline-start:var(--space-1)}.navbar__nav{display:flex;align-items:center;gap:var(--space-1);margin-inline-start:var(--space-4)}.navbar__nav-link{color:#ffffffb3;font-size:var(--font-size-sm);font-weight:500;padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);transition:background var(--transition-fast),color var(--transition-fast)}.navbar__nav-link:hover{background:#ffffff1a;color:#fff}.navbar__nav-link.is-active{color:var(--color-accent)}.navbar__actions{display:flex;align-items:center;gap:var(--space-2);margin-inline-start:auto}.navbar__action-btn{display:flex;align-items:center;gap:var(--space-1);color:#ffffffbf;font-size:var(--font-size-sm);font-weight:500;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.navbar__action-btn:hover{background:#ffffff1a;color:#fff}.navbar__signin-btn{border:1.5px solid rgba(255,255,255,.3);color:#fff;font-size:var(--font-size-sm);font-weight:600;padding:6px var(--space-3);border-radius:var(--radius-pill);transition:background var(--transition-fast)}.navbar__signin-btn:hover{background:#ffffff1a}.navbar__register-btn{background:var(--color-accent);color:#fff;font-size:var(--font-size-sm);font-weight:700;padding:6px var(--space-4);border-radius:var(--radius-pill);box-shadow:var(--shadow-btn);transition:background var(--transition-fast)}.navbar__register-btn:hover{background:var(--color-accent-dark)}.navbar__user{display:flex;align-items:center;gap:var(--space-2)}.navbar__user-avatar{width:28px;height:28px;border-radius:50%;background:var(--color-accent);color:#fff;font-size:var(--font-size-xs);font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.navbar__user-name{color:#ffffffd9;font-size:var(--font-size-sm);font-weight:500;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar__logout-btn{border:1.5px solid rgba(255,255,255,.3);color:#fff;font-size:var(--font-size-sm);font-weight:600;padding:5px var(--space-3);border-radius:var(--radius-pill);transition:background var(--transition-fast)}.navbar__logout-btn:hover{background:#ffffff1a}.navbar__mobile-user{display:flex;align-items:center;gap:var(--space-2);flex:1}.navbar__mobile-user .navbar__user-name{flex:1}.navbar__menu-btn{color:#fff;padding:var(--space-1);border-radius:var(--radius-sm);display:none;margin-inline-start:auto;z-index:201;position:relative}.navbar__mobile-drawer{position:absolute;top:var(--navbar-height);left:0;right:0;background:var(--color-primary);border-top:1px solid rgba(255,255,255,.12);box-shadow:0 8px 24px #0b2e4e59;padding:var(--space-3) var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:2px;z-index:200}.navbar__mobile-link{display:block;width:100%;text-align:left;color:#ffffffe6;font-size:var(--font-size-base);font-weight:500;padding:12px var(--space-3);border-radius:var(--radius-sm);text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast)}.navbar__mobile-link:hover,.navbar__mobile-link:focus{background:#ffffff1f;color:#fff}.navbar__mobile-actions{display:flex;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid rgba(255,255,255,.12)}.navbar__mobile-actions .navbar__signin-btn{display:flex;flex:1;justify-content:center}.navbar__overlay{display:none}@media(max-width:767px){.navbar__nav,.navbar__actions{display:none}.navbar__menu-btn{display:flex}.navbar{overflow:visible}.navbar__overlay{display:block;position:fixed;inset:0;background:#0006;z-index:199}}@media(min-width:768px){.navbar__mobile-drawer,.navbar__overlay{display:none!important}}.fsf__container{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-panel);overflow:visible}.fsf__tabs{display:flex;padding:var(--space-4) var(--space-4) 0;gap:var(--space-2);border-bottom:none}.fsf__tab{padding:8px var(--space-4);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-muted);border-radius:var(--radius-pill);background:var(--color-surface-2);transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap}.fsf__tab.is-active{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px #0b2e4e40}.fsf__tab:not(.is-active):hover{background:var(--color-primary-tint);color:var(--color-primary)}.fsf__body{padding:var(--space-5)}.fsf__divider{height:1px;background:var(--color-border);margin:0 var(--space-5) var(--space-5)}.fsf__row{display:flex;flex-direction:column;gap:var(--space-3)}@media(min-width:640px){.fsf__row{flex-direction:row;align-items:flex-end;flex-wrap:wrap}}.fsf__location-pair{display:flex;flex-direction:column;gap:var(--space-3);width:100%}@media(min-width:640px){.fsf__location-pair{flex-direction:row;align-items:flex-end;flex:2}.fsf__location-pair .fsf__field{flex:1}}.fsf__field{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:0;position:relative;width:100%}.fsf__field--location{min-width:0}.fsf__field-label{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.fsf__input-wrap{display:flex;align-items:center;gap:var(--space-2);background:var(--color-surface-2);border-radius:var(--radius-lg);padding:12px var(--space-4);min-height:50px;transition:background var(--transition-fast),box-shadow var(--transition-fast);border:2px solid transparent}.fsf__input-wrap:focus-within{background:var(--color-surface);border-color:var(--color-accent);box-shadow:0 0 0 3px #3dbcb81f}.fsf__text-input,.fsf__date-input{flex:1;min-width:0;border:none;background:transparent;outline:none;font-size:var(--font-size-sm);color:var(--color-text-body);width:100%}.fsf__text-input::placeholder{color:var(--color-text-muted)}.fsf__date-input{cursor:pointer}.fsf__field-icon{color:var(--color-accent);flex-shrink:0}.fsf__chevron-icon{color:var(--color-text-muted);flex-shrink:0;transition:transform var(--transition-fast)}.fsf__chevron-icon.is-open{transform:rotate(180deg)}.fsf__swap-btn{align-self:center;width:36px;height:36px;border:2px solid var(--color-border);border-radius:50%;background:var(--color-surface);color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-base);box-shadow:var(--shadow-xs)}.fsf__swap-btn:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff;transform:rotate(180deg)}.fsf__pax-trigger{cursor:pointer}.fsf__pax-dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:300px;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);z-index:120;box-shadow:var(--shadow-panel)}.fsf__pax-dropdown[dir=rtl]{left:auto;right:0}.fsf__pax-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.fsf__pax-label{font-weight:700;font-size:var(--font-size-sm);color:var(--color-text-heading)}.fsf__pax-sublabel{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.fsf__pax-counter{display:flex;align-items:center;gap:var(--space-3)}.fsf__pax-count-btn{width:32px;height:32px;border:2px solid var(--color-border);border-radius:50%;font-size:var(--font-size-lg);color:var(--color-accent);display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),border-color var(--transition-fast)}.fsf__pax-count-btn:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.fsf__pax-count-value{font-weight:800;font-size:var(--font-size-lg);min-width:20px;text-align:center}.fsf__cabin-section{border-top:1px solid var(--color-border);padding-top:var(--space-4)}.fsf__cabin-title{font-weight:700;font-size:var(--font-size-sm);color:var(--color-text-heading);margin-bottom:var(--space-3)}.fsf__cabin-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.fsf__cabin-option{padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);border:2px solid var(--color-border);font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-muted);text-align:center;transition:all var(--transition-fast)}.fsf__cabin-option:hover{border-color:var(--color-accent);color:var(--color-accent)}.fsf__cabin-option.is-selected{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.fsf__pax-done-btn{margin-top:var(--space-4);width:100%;background:var(--color-accent);color:#fff;font-size:var(--font-size-sm);font-weight:700;padding:10px;border-radius:var(--radius-pill);transition:background var(--transition-fast);box-shadow:var(--shadow-btn)}.fsf__pax-done-btn:hover{background:var(--color-accent-dark)}.fsf__search-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--color-accent);color:var(--color-text-on-accent);font-size:var(--font-size-base);font-weight:800;padding:14px var(--space-6);border-radius:var(--radius-pill);min-height:50px;white-space:nowrap;transition:background var(--transition-fast),box-shadow var(--transition-fast);box-shadow:var(--shadow-btn);width:100%}.fsf__search-btn:hover{background:var(--color-accent-dark);box-shadow:0 6px 20px #3dbcb873}@media(min-width:640px){.fsf__search-btn{width:auto;flex-shrink:0}}.fsf__mc-list{display:flex;flex-direction:column;gap:var(--space-3)}.fsf__mc-segment{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4)}.fsf__mc-segment-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.fsf__mc-segment-label{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent-dark)}.fsf__mc-remove-btn{color:var(--color-danger);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.fsf__mc-remove-btn:hover{background:var(--color-danger-tint)}.fsf__mc-footer{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3);margin-top:var(--space-4)}.fsf__add-flight-btn{display:flex;align-items:center;gap:var(--space-2);border:2px dashed var(--color-accent);color:var(--color-accent);font-size:var(--font-size-sm);font-weight:700;padding:10px var(--space-4);border-radius:var(--radius-pill);transition:background var(--transition-fast)}.fsf__add-flight-btn:hover{background:var(--color-accent-light)}[dir=rtl] .fsf__swap-btn:hover{transform:rotate(-180deg)}[dir=rtl] .fsf__pax-dropdown{left:auto;right:0}.fsf__suggestion-item{transition:background var(--transition-fast)}.fsf__suggestion-item:hover{background:var(--color-surface-2)}.home-page{min-height:100vh}.hero{background:linear-gradient(160deg,var(--color-primary) 0%,#1B4D6B 50%,#2B7A8B 100%);padding-bottom:var(--space-10);position:relative}.page-container{position:relative;z-index:10;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-4)}.hero__inner{max-width:var(--max-width);margin:0 auto;padding:var(--space-10) var(--space-4) var(--space-6)}.hero__overline{font-size:var(--font-size-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-2)}.hero__title{font-size:var(--font-size-3xl);font-weight:800;color:#fff;line-height:1.2;letter-spacing:-.02em;margin-bottom:var(--space-2)}.hero__subtitle{font-size:var(--font-size-base);color:#ffffffa6;max-width:480px;margin-bottom:var(--space-6)}.hero__search-wrap{padding:0 var(--space-4) var(--space-8);max-width:var(--max-width);margin:0 auto}.perks{max-width:var(--max-width);margin:var(--space-8) auto var(--space-6);padding:0 var(--space-4)}.perks__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}@media(min-width:640px){.perks__grid{grid-template-columns:repeat(4,1fr)}}.perks__item{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:var(--space-2);border:1px solid var(--color-border)}.perks__icon-wrap{width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-accent-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center}.perks__title{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-heading)}.perks__desc{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.6}.destinations{max-width:var(--max-width);margin:0 auto var(--space-16);padding:0 var(--space-4)}.destinations__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.destinations__title{font-size:var(--font-size-xl);font-weight:800;color:var(--color-text-heading)}.destinations__view-all{font-size:var(--font-size-sm);font-weight:600;color:var(--color-accent-dark)}.destinations__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}@media(min-width:640px){.destinations__grid{grid-template-columns:repeat(4,1fr)}}.dest-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:3/4;cursor:pointer;box-shadow:var(--shadow-card)}.dest-card__img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.dest-card:hover .dest-card__img{transform:scale(1.06)}.dest-card__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,46,78,.7) 0%,transparent 55%)}.dest-card__info{position:absolute;bottom:0;left:0;padding:var(--space-3);color:#fff}.dest-card__city{font-size:var(--font-size-sm);font-weight:700}.dest-card__code{font-size:var(--font-size-xs);color:#ffffffa6}.search-toggle-container{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);justify-content:center}.search-toggle-btn{padding:10px var(--space-6);border-radius:var(--radius-pill);border:none;background:var(--color-primary-mid);color:#fff9;cursor:pointer;display:flex;align-items:center;gap:var(--space-2);font-weight:600;transition:all var(--transition-fast);font-size:var(--font-size-sm)}.search-toggle-btn:hover{color:#fff;background:var(--color-primary-light)}.search-toggle-btn.is-active{background:var(--color-accent);color:#fff;box-shadow:var(--shadow-btn)}@media(max-width:480px){.search-toggle-btn{padding:8px var(--space-4);font-size:var(--font-size-xs)}}.fsf__suggestion-item:hover{background-color:#f8f9fa}.flight-card{background:var(--color-surface);border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d;margin-bottom:var(--space-4);overflow:hidden;transition:all .22s ease-in-out}.flight-card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;border-color:#cbd5e1}.flight-card__body{padding:24px}.flight-card__layout{display:flex;flex-direction:column;gap:20px}@media(min-width:768px){.flight-card__layout{display:grid;grid-template-columns:140px 1fr 180px;align-items:center;gap:32px}}.flight-card__airline{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px}.flight-card__airline-logo{width:44px;height:44px;border-radius:50%;object-fit:contain;background:#fff;border:1px solid #e2e8f0;padding:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.flight-card__airline-logo--fallback{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:#fff;font-size:14px;font-weight:700}.flight-card__airline-name{font-size:13px;font-weight:700;color:#475569;line-height:1.2}.flight-card__alliance-badge{display:inline-block;margin-top:4px;font-size:10px;font-weight:700;letter-spacing:.04em;padding:2px 6px;border-radius:4px;white-space:nowrap}.flight-card__routes{display:flex;flex-direction:column;gap:16px;flex:1}.flight-card__leg{display:flex;align-items:center;justify-content:space-between;gap:20px}.flight-card__endpoint{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:80px}.flight-card__time{font-size:24px;font-weight:700;color:#0f172a;line-height:1.1}.flight-card__date{font-size:11px;font-weight:600;color:#64748b;margin-top:2px;text-transform:uppercase}.flight-card__airport-code{font-size:12px;font-weight:700;color:#475569;margin-top:1px}.flight-card__duration-wrap{flex:1;display:flex;flex-direction:column;align-items:center;position:relative}.flight-card__duration{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.flight-card__route-line{position:relative;width:100%;height:2px;background-color:#cbd5e1;margin:10px 0}.flight-card__route-line-bar:before,.flight-card__route-line-bar:after{content:"";position:absolute;top:50%;width:6px;height:6px;background-color:#cbd5e1;border-radius:50%;transform:translateY(-50%)}.flight-card__route-line-bar:before{left:0}.flight-card__route-line-bar:after{right:0}.flight-card__stops-badge{font-size:10px;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.5px}.flight-card__return-divider{border-top:1px dashed #e2e8f0;padding-top:16px;margin-top:4px}.flight-card__price-col{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:8px}.flight-card__price-amount-wrap{display:flex;align-items:baseline}.flight-card__price-currency{font-size:14px;font-weight:500;color:#475569;margin-right:4px}.flight-card__price-amount{font-size:26px;font-weight:800;color:#0f172a}.flight-card__price-fare-badge{background-color:#dcfce7;color:#15803d;font-size:11px;font-weight:700;padding:4px 10px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.flight-card__select-btn{background-color:#dc2626;color:#fff;font-size:12px;font-weight:700;padding:10px 20px;border-radius:4px;border:none;cursor:pointer;transition:background-color .2s ease-in-out;display:inline-flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.flight-card__select-btn:hover{background-color:#b91c1c}.flight-card__select-btn.is-compliant{background-color:#16a34a}.flight-card__select-btn.is-compliant:hover{background-color:#15803d}.flight-card__policy-alert{margin-top:16px;padding:10px 14px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;font-size:12px;color:#991b1b;display:flex;align-items:center;gap:8px}.flight-card__footer{border-top:1px solid #f1f5f9;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;background-color:#fff}.flight-card__toggle-btn{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#0b2e4e;cursor:pointer;flex-shrink:0}.flight-card__toggle-btn:hover{color:#2563eb}.flight-card__footer-badges{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;font-size:13px;font-weight:600;color:#0b2e4e}.flight-card__footer-badge-item{display:inline-flex;align-items:center;white-space:nowrap}.flight-card__footer-separator{color:#cbd5e1;font-weight:300}@media(max-width:767px){.flight-card__footer{padding:10px 16px}.flight-card__footer-badges{font-size:12px;gap:6px 10px}.flight-card__footer-separator{display:none}.flight-card__footer-badge-item{background:#f1f5f9;border-radius:4px;padding:3px 8px;font-size:11px}.flight-card__footer-badge-item--carbon,.flight-card__footer-badge-item.is-success{background:#f0fdf4}.flight-card__footer-badge-item.is-danger{background:#fef2f2}}.flight-card__footer-badge-item--carbon{color:#15803d}.is-success{color:#16a34a}.is-danger{color:#dc2626}.flight-card__expanded{border-top:1px solid #e2e8f0;padding:24px;background-color:#fff}.flight-card__tabs-nav{display:flex;border-bottom:2px solid #e2e8f0;margin-bottom:24px;gap:8px}.flight-card__tab-btn{padding:12px 24px;font-size:15px;font-weight:700;color:#2563eb;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;transition:all .2s ease-in-out;margin-bottom:-2px;outline:none}.flight-card__tab-btn.is-active{border-bottom-color:#2563eb}.flight-card__tab-content{padding-top:8px}.flight-card__route-title-header{font-size:18px;font-weight:700;color:#0f172a;display:flex;align-items:center;gap:8px;margin-bottom:24px}.flight-card__leg-details{margin-bottom:32px}.flight-card__leg-details--return{border-top:1.5px dashed #cbd5e1;padding-top:24px;margin-top:24px}.flight-card__leg-label{font-size:14px;font-weight:600;color:#64748b;margin-bottom:20px}.flight-details__leg-container{display:grid;grid-template-columns:1fr;gap:24px;align-items:flex-start;margin-bottom:24px}@media(min-width:768px){.flight-details__leg-container{grid-template-columns:180px 1fr;gap:32px}}.flight-details__airline-title{font-size:14px;font-weight:700;color:#0f172a}.flight-details__flight-number{font-size:12px;color:#475569}.flight-details__equipment{font-size:12px;color:#64748b}.flight-details__rules-btn{font-size:12px;font-weight:600;color:#2563eb;background:none;border:none;padding:0;text-align:left;cursor:pointer;text-decoration:none;margin-top:8px;align-self:flex-start}.flight-details__rules-btn:hover{text-decoration:underline}.flight-details__seats-left{font-size:12px;font-weight:700;color:#dc2626;margin-top:4px}.flight-details__timeline-col{display:flex;flex-direction:column;gap:16px}.flight-details__timeline-row{display:flex;flex-direction:column;gap:20px}@media(min-width:640px){.flight-details__timeline-row{flex-direction:row;align-items:center;justify-content:space-between;gap:24px}}.flight-details__node{display:flex;flex-direction:column;gap:4px;flex:1}.flight-details__time{font-size:32px;font-weight:300;color:#1e293b;line-height:1}.flight-details__date{font-size:12px;color:#64748b}.flight-details__airport{font-size:14px;font-weight:700;color:#0f172a}.flight-details__airport-name{font-size:12px;color:#64748b;line-height:1.3}.flight-details__connector{display:flex;flex-direction:column;align-items:center;gap:4px;flex:.8;text-align:center}.flight-details__connector-dur{font-size:12px;font-weight:600;color:#64748b}.flight-details__connector-line{position:relative;width:100%;height:2px;background-color:#cbd5e1;display:flex;align-items:center;justify-content:center;margin:8px 0;min-width:80px}.flight-details__connector-plane{color:#0b2e4e!important;background:#fff;padding:0 6px;z-index:1}.flight-details__baggage-pill{display:inline-flex;align-items:center;gap:6px;background-color:#f1f5f9;color:#334155;font-size:13px;font-weight:700;padding:6px 12px;border-radius:4px;width:fit-content;margin-top:12px}.flight-card__layover{background:#fffbeb;border:1px solid #fef3c7;padding:8px 16px;font-size:12px;color:#b45309;display:flex;align-items:center;gap:8px;font-weight:600}.flight-card__section-title{font-size:15px;font-weight:700;color:#0f172a;margin-bottom:16px}.flight-card__fare-grid{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:640px){.flight-card__fare-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}.flight-card__fare-brand{border:1px solid #e2e8f0;border-radius:12px;padding:24px;cursor:pointer;transition:all .22s ease-in-out;background-color:#fff;display:flex;flex-direction:column;justify-content:space-between}.flight-card__fare-brand:hover{box-shadow:0 10px 15px -3px #0000000d;border-color:#cbd5e1}.flight-card__fare-brand.is-selected{border:2px solid #2563eb;background-color:#f0f7ff;box-shadow:0 4px 20px #2563eb14}.flight-card__fare-brand-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:8px}.flight-card__fare-name{font-weight:700;font-size:15px;color:#0b2e4e;text-transform:uppercase;letter-spacing:.3px}.flight-card__fare-price{font-weight:800;font-size:16px;color:#0b2e4e}.flight-card__fare-features{display:flex;flex-direction:column;gap:12px;padding:0;margin:0 0 20px;flex-grow:1}.flight-card__fare-feature{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.3px;line-height:1.4}.flight-card__fare-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background-color:#d1fae5;color:#059669;font-size:10px;font-weight:800;flex-shrink:0}.flight-card__fare-rules-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px 16px;font-size:13px;font-weight:600;color:#2563eb;background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;transition:all .2s ease-in-out;outline:none}.flight-card__fare-rules-btn:hover{background-color:#f8fafc;border-color:#94a3b8}.flight-card__fare-brand.is-selected .flight-card__fare-rules-btn{background-color:#fff;border-color:#bfdbfe;color:#2563eb}.flight-card__fare-brand.is-selected .flight-card__fare-rules-btn:hover{background-color:#e0f2fe}@media(max-width:767px){.flight-card__price-col{align-items:center!important;text-align:center!important;margin-top:12px;border-top:1px dashed #e2e8f0;padding-top:16px;width:100%}.flight-card__layout{gap:16px}.flight-card__time{font-size:20px}.flight-card__airport-code{font-size:11px}.flight-card__date{font-size:10px}.flight-card__tabs-nav{display:flex;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:2px solid #e2e8f0;margin-bottom:16px;gap:4px}.flight-card__tabs-nav::-webkit-scrollbar{display:none}.flight-card__tab-btn{font-size:13px;padding:10px 14px;white-space:nowrap;flex-shrink:0}.flight-details__leg-container{gap:16px;margin-bottom:20px}.flight-details__airline-col{border-bottom:1px dashed #cbd5e1;padding-bottom:12px;margin-bottom:4px}.flight-card__route-title-header{font-size:15px;margin-bottom:16px}.flight-card__leg-label{font-size:12px;margin-bottom:12px}.flight-details__timeline-row{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;width:100%}.flight-details__node{flex:1;min-width:0}.flight-details__time{font-size:20px!important;font-weight:500}.flight-details__date{font-size:10px}.flight-details__airport{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flight-details__airport-name{font-size:9px;line-height:1.2}.flight-details__connector{flex:.6;min-width:0}.flight-details__connector-dur{font-size:10px}.flight-details__connector-line{min-width:35px!important;margin:4px 0!important}.flight-details__connector-plane{padding:0 2px!important}.flight-details__baggage-pill{font-size:11px;padding:4px 8px;margin-top:8px}}.fare-rules-backdrop{position:fixed;inset:0;width:100vw;height:100vh;background-color:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.fare-rules-backdrop.is-open{opacity:1;visibility:visible}.fare-rules-slider{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:500px;background:#fff;box-shadow:-4px 0 24px #00000026;z-index:1001;display:flex;flex-direction:column;transform:translate(100%);visibility:hidden;pointer-events:none;transition:transform .4s cubic-bezier(.16,1,.3,1),visibility .4s;border-top-left-radius:16px;border-bottom-left-radius:16px;overflow:hidden}@media(max-width:600px){.fare-rules-slider{max-width:100%;border-radius:0}}.fare-rules-slider.is-open{transform:translate(0);visibility:visible;pointer-events:auto}.fare-rules-slider__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.fare-rules-slider__title{font-size:18px;font-weight:600;color:#0f172a;margin:0;display:flex;align-items:center;gap:8px}.fare-rules-slider__close{background:none;border:none;cursor:pointer;color:#64748b;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.fare-rules-slider__close:hover{background:#e2e8f0;color:#0f172a}.fare-rules-slider__content{flex:1;overflow-y:auto;padding:24px 24px 100px}.fare-rules-slider__content::-webkit-scrollbar{width:6px}.fare-rules-slider__content::-webkit-scrollbar-track{background:transparent}.fare-rules-slider__content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.fare-rules-slider__content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.fare-rules-slider__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#64748b;gap:16px}.spinner{width:32px;height:32px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spinner-spin 1s linear infinite}@keyframes spinner-spin{to{transform:rotate(360deg)}}.fare-rules-slider__tabs{display:flex;gap:8px;margin-bottom:24px;background:#f1f5f9;padding:4px;border-radius:8px}.fare-rules-slider__tab{flex:1;text-align:center;padding:8px 12px;border:none;background:transparent;border-radius:6px;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.fare-rules-slider__tab.is-active{background:#fff;color:#0f172a;box-shadow:0 1px 3px #0000001a}.fare-rules-slider__accordion{margin-bottom:12px;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff;transition:all .3s ease}.fare-rules-slider__accordion:hover{border-color:#cbd5e1;box-shadow:0 4px 6px -1px #0000000d}.fare-rules-slider__accordion-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px;background:none;border:none;cursor:pointer;font-size:14px;font-weight:600;color:#1e293b;text-align:left;transition:background .2s ease}.fare-rules-slider__accordion-header:hover{background:#f8fafc}.fare-rules-slider__accordion-icon{transition:transform .3s cubic-bezier(.16,1,.3,1);color:#64748b}.fare-rules-slider__accordion.is-open .fare-rules-slider__accordion-icon{transform:rotate(180deg)}.fare-rules-slider__accordion-body{padding:0;max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.16,1,.3,1),padding .4s ease;background:#fafafa}.fare-rules-slider__accordion.is-open .fare-rules-slider__accordion-body{padding:16px;max-height:2000px;border-top:1px solid #f1f5f9}.fare-rules-slider__paragraph{font-size:13px;line-height:1.6;color:#475569;margin:0;white-space:pre-wrap;font-family:inherit}.fare-rules-slider__error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#ef4444;text-align:center;gap:12px}.fare-rules-slider__empty{text-align:center;padding:40px 20px;color:#64748b;font-size:14px}.fare-rules-slider__mini-card{border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:16px;background:#fff}.fare-rules-slider__mini-title{font-size:15px;font-weight:600;color:#0f172a;margin-bottom:12px;display:flex;align-items:center;gap:8px}.fare-rules-slider__penalty-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f1f5f9;font-size:13px}.fare-rules-slider__penalty-row:last-child{border-bottom:none;padding-bottom:0}.fare-rules-slider__penalty-type{color:#475569;font-weight:500}.fare-rules-slider__penalty-value{color:#0f172a;font-weight:600}.fare-rules-slider__penalty-value--not-allowed{color:#ef4444}.airport-label{display:flex;flex-direction:column;gap:1px}.airport-label--left{align-items:flex-start;text-align:left}.airport-label--right{align-items:flex-end;text-align:right}.airport-label--center{align-items:center;text-align:center}.airport-label__code{font-size:1.25rem;font-weight:800;color:#0b2e4e;letter-spacing:.03em;line-height:1}.airport-label__city{font-size:.75rem;font-weight:600;color:#334155;line-height:1.2}.airport-label__name{font-size:.65rem;font-weight:400;color:#94a3b8;line-height:1.2;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.airport-label--detail .airport-label__name{max-width:220px;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.4}@media(max-width:480px){.airport-label__code{font-size:1.05rem}.airport-label__name{max-width:100px}}.results-page{min-height:100vh;background:#fff}.results-summary{background:var(--color-primary);color:var(--color-text-on-dark);position:sticky;top:var(--navbar-height);z-index:100;box-shadow:0 2px 8px #0b2e4e33}.results-summary__inner{max-width:var(--max-width);margin:0 auto;padding:10px var(--space-4);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.results-summary__back-btn{display:flex;align-items:center;gap:var(--space-1);color:#fff9;font-size:var(--font-size-sm);font-weight:500;transition:color var(--transition-fast);white-space:nowrap}.results-summary__back-btn:hover{color:#fff}.results-summary__route{font-size:var(--font-size-sm);display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.results-summary__route strong{font-weight:700}.results-summary__route-sep{color:#ffffff59}.results-summary__date{font-size:var(--font-size-xs);color:#fff9}.results-summary__pax{font-size:var(--font-size-xs);color:#fff9;margin-inline-start:auto;white-space:nowrap}.results-body{max-width:var(--max-width);margin:0 auto;padding:var(--space-5) var(--space-4);display:grid;grid-template-columns:1fr;gap:var(--space-5)}@media(min-width:960px){.results-body{grid-template-columns:248px 1fr}}.results-filter{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-5);height:fit-content;max-height:calc(100vh - var(--navbar-height) - 100px);overflow-y:auto;position:sticky;top:calc(var(--navbar-height) + 52px);box-shadow:var(--shadow-card)}.results-filter::-webkit-scrollbar{width:4px}.results-filter::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.results-filter__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.results-filter__title{font-weight:800;font-size:var(--font-size-base);color:var(--color-text-heading)}.results-filter__clear-btn{font-size:var(--font-size-xs);font-weight:700;color:var(--color-accent)}.results-filter__clear-btn:hover{text-decoration:underline}.results-filter__header-actions{display:flex;align-items:center;gap:var(--space-3)}.results-filter__close-btn{display:none;font-size:var(--font-size-sm);font-weight:700;color:#fff;background:var(--color-accent);padding:8px 16px;border-radius:var(--radius-pill);white-space:nowrap;transition:background var(--transition-fast)}.results-filter__close-btn:hover{background:var(--color-primary)}@media(max-width:959px){.results-filter__close-btn{display:inline-flex;align-items:center}}.results-filter__group{border-top:1px solid var(--color-border);padding-top:var(--space-4);margin-top:var(--space-4)}.results-filter__group-title{font-weight:700;font-size:var(--font-size-sm);color:var(--color-text-heading);margin-bottom:var(--space-3)}.results-filter__range{width:100%;accent-color:var(--color-accent)}.results-filter__range-labels{display:flex;justify-content:space-between;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.results-filter__check-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;cursor:pointer}.results-filter__checkbox{width:16px;height:16px;accent-color:var(--color-accent);cursor:pointer}.results-filter__check-label{font-size:var(--font-size-sm);color:var(--color-text-body);flex:1}.results-filter__check-count{font-size:var(--font-size-xs);color:var(--color-primary);background:var(--color-primary-tint);padding:2px 6px;border-radius:var(--radius-sm);min-width:24px;text-align:center;font-weight:600}.rf-section{border-top:1px solid var(--color-border)}.rf-section__hd{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--space-4) 0;font-weight:700;font-size:var(--font-size-sm);color:var(--color-text-heading);background:none;cursor:pointer}.rf-section__hd:hover{color:var(--color-accent)}.rf-section__body{padding-bottom:var(--space-4)}.rf-fn-search{position:relative;margin-bottom:var(--space-3)}.rf-fn-search__icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.rf-fn-search__input{width:100%;padding:8px 10px 8px 30px;border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:#fff;color:var(--color-text-body);outline:none;min-width:0;transition:border-color var(--transition-fast)}.rf-fn-search__input:focus{border-color:var(--color-accent)}.rf-stops{display:flex;flex-direction:column;gap:2px}.rf-stops__item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.rf-stops__item input[type=radio]{accent-color:var(--color-accent);cursor:pointer;flex-shrink:0}.rf-stops__item:hover{background:var(--color-primary-tint)}.rf-stops__item.active{background:var(--color-accent-light)}.rf-stops__label{font-size:var(--font-size-sm);color:var(--color-text-body);flex:1}.rf-stops__count{color:var(--color-text-muted);font-weight:400}.rf-stops__price{font-size:var(--font-size-xs);font-weight:700;color:var(--color-primary);white-space:nowrap}.rf-histogram{display:flex;align-items:flex-end;gap:1px;height:40px;margin:8px 0 4px}.rf-histogram__bar{flex:1;min-width:2px;border-radius:2px 2px 0 0;background:var(--color-accent-light);transition:background var(--transition-fast)}.rf-histogram__bar.active{background:var(--color-accent)}.rf-dual-range{position:relative;height:24px;margin:4px 0}.rf-dual-range__track{position:absolute;top:50%;left:0;right:0;height:4px;background:var(--color-primary-tint);border-radius:2px;transform:translateY(-50%);pointer-events:none}.rf-dual-range__fill{position:absolute;height:100%;background:var(--color-accent);border-radius:2px}.rf-dual-range__input{position:absolute;top:50%;width:100%;height:4px;background:transparent;-webkit-appearance:none;appearance:none;outline:none;transform:translateY(-50%);margin:0;padding:0;pointer-events:none}.rf-dual-range__input::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:all;cursor:grab;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--color-accent);box-shadow:0 1px 4px #0003}.rf-dual-range__input::-moz-range-thumb{pointer-events:all;cursor:grab;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--color-accent);box-shadow:0 1px 4px #0003}.rf-time-block{margin-bottom:var(--space-4)}.rf-time-block:last-child{margin-bottom:0}.rf-time-block__label{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.rf-time-block__label>span:first-child{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-heading)}.rf-time-block__range{font-size:var(--font-size-xs);color:var(--color-text-muted)}.rf-range-val{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-heading);margin-bottom:var(--space-2)}.rf-show-more{margin-top:var(--space-2);font-size:var(--font-size-xs);font-weight:700;color:var(--color-accent);cursor:pointer}.rf-show-more:hover{text-decoration:underline}.results-filter__text-input{width:100%;padding:6px 10px;font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);box-sizing:border-box}.results-filter__text-input:focus{outline:none;border-color:var(--color-accent)}.rf-price-inputs{display:flex;align-items:center;gap:6px;margin-bottom:8px}.rf-price-input{flex:1;padding:4px 8px;font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);min-width:0}.rf-price-input:focus{outline:none;border-color:var(--color-accent)}.results-main{min-width:0}.results-main__toolbar{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.results-main__count{font-weight:800;color:var(--color-text-heading);font-size:var(--font-size-base)}.results-main__count span{font-weight:400;color:var(--color-text-muted)}.results-main__controls{display:flex;align-items:center;gap:var(--space-2)}.results-main__filter-toggle{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:700;color:var(--color-accent);border:1.5px solid var(--color-accent);padding:6px var(--space-3);border-radius:var(--radius-pill);transition:background var(--transition-fast)}.results-main__filter-toggle:hover{background:var(--color-accent-light)}.results-main__sort-select{padding:7px var(--space-3);border:1.5px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-body);font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-family);outline:none;cursor:pointer}.results-main__sort-select:focus{border-color:var(--color-accent)}.results-main__empty{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-12) var(--space-8);text-align:center;box-shadow:var(--shadow-card)}.results-main__empty-icon{font-size:52px;margin-bottom:var(--space-4)}.results-main__empty-title{font-size:var(--font-size-xl);font-weight:800;color:var(--color-text-heading);margin-bottom:var(--space-2)}.results-main__empty-desc{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-6)}@media(min-width:960px){.results-filter{display:block!important}.results-main__filter-toggle{display:none}}@media(max-width:959px){.results-filter{display:none}.results-filter.is-open{display:block;position:fixed;inset:0;z-index:300;overflow-y:auto;border-radius:0;padding-bottom:80px}}.results-filter__overlay{display:none}@media(max-width:959px){.results-filter__overlay{display:block;position:fixed;inset:0;background:#00000073;z-index:299}}.hotel-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-6)}@media(max-width:640px){.hotel-results-grid{grid-template-columns:1fr;gap:var(--space-4)}}.search-loader-container{display:flex;align-items:center;justify-content:center;min-height:70vh;padding:var(--space-6);background:transparent}.search-loader-card{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-panel);border:1px solid var(--color-border);padding:var(--space-8) var(--space-6);max-width:460px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);position:relative;overflow:hidden}.search-loader-card:after{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-accent),var(--color-primary))}.travel-graphic-wrapper{width:120px;height:120px;position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-2)}.animated-flight-graphic{position:relative;width:100px;height:100px;display:flex;align-items:center;justify-content:center}.flight-orbit-track{position:absolute;width:80px;height:80px;border:2px dashed rgba(61,188,184,.25);border-radius:50%;animation:spinOrbit 3.5s linear infinite}.orbiting-dot{position:absolute;top:-4px;left:calc(50% - 4px);width:8px;height:8px;background:var(--color-accent);border-radius:50%;box-shadow:0 0 8px var(--color-accent)}.flight-icon-pulse{position:relative;z-index:2;animation:flightBob 2s ease-in-out infinite}.animated-hotel-graphic{position:relative;width:100px;height:100px;display:flex;align-items:center;justify-content:center}.hotel-radar-ping{position:absolute;width:70px;height:70px;border:2px solid var(--color-accent);border-radius:50%;opacity:0;animation:radarPulse 1.8s cubic-bezier(.1,.8,.3,1) infinite}.hotel-icon-pulse{position:relative;z-index:2;animation:hotelBounce 1.8s ease-in-out infinite}@keyframes spinOrbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes flightBob{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(4deg)}}@keyframes radarPulse{0%{transform:scale(.4);opacity:0}50%{opacity:.5}to{transform:scale(1.3);opacity:0}}@keyframes hotelBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.05)}}.search-details-badge{background:var(--color-primary-tint);color:var(--color-primary);padding:6px var(--space-4);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px}.search-loader-title{font-size:var(--font-size-lg);font-weight:800;color:var(--color-text-heading);margin:0}.premium-progress-bar-container{width:100%;height:8px;background:var(--color-bg);border-radius:var(--radius-pill);overflow:hidden;position:relative}.premium-progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-accent),var(--color-primary));border-radius:var(--radius-pill);transition:width .3s cubic-bezier(.4,0,.2,1);position:relative}.progress-percentage-label{font-size:var(--font-size-xs);font-weight:700;color:var(--color-accent-dark)}.step-message-box{display:flex;align-items:center;justify-content:center;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);min-height:48px;width:100%}.step-message-text{font-size:var(--font-size-sm);color:var(--color-text-body);font-weight:500;text-align:left;line-height:1.3}.pax-page{min-height:100vh;background:#fff}.pax-page__progress{background:var(--color-primary);padding:var(--space-3) var(--space-4)}.pax-page__progress-inner{max-width:var(--max-width);margin:0 auto}.pax-page__body{max-width:var(--max-width);margin:0 auto;padding:var(--space-6) var(--space-4);display:grid;grid-template-columns:1fr;gap:var(--space-5)}@media(min-width:960px){.pax-page__body{grid-template-columns:1fr 288px}}.pax-page__title{font-size:var(--font-size-2xl);font-weight:800;color:var(--color-text-heading);margin-bottom:var(--space-1)}.pax-page__subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-6)}.pax-form__pax-card{background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border);margin-bottom:var(--space-6);overflow:hidden}@media(max-width:479px){.pax-page__body{padding:var(--space-4) var(--space-3)}.pax-page__title{font-size:var(--font-size-xl)}.pax-page__subtitle{margin-bottom:var(--space-4)}}.pax-form__section{padding:var(--space-5);margin-bottom:0}.pax-form__pax-card .pax-form__section+.pax-form__section{border-top:1px solid var(--color-border)}.pax-page__body>.pax-form__section{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:var(--space-5);margin-bottom:var(--space-4)}.pax-form__section-header{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-5)}.pax-form__section-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pax-form__section-icon--passenger{background:var(--color-accent-light);color:var(--color-primary)}.pax-form__section-icon--contact{background:var(--color-success-tint);color:#15803d}.pax-form__section-icon--payment{background:var(--color-primary-tint);color:var(--color-primary)}.pax-form__section-name{font-weight:800;font-size:var(--font-size-base);color:var(--color-text-heading)}.pax-form__section-tag{margin-inline-start:auto}.pax-form__grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width:480px){.pax-form__grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media(min-width:960px){.pax-form__grid{grid-template-columns:minmax(120px,.7fr) 1fr 1fr}}.pax-form__grid--full{grid-template-columns:1fr!important}.pax-form__docs-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width:480px){.pax-form__docs-grid{grid-template-columns:1fr 1fr}}.pax-form__contact-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width:480px){.pax-form__contact-grid{grid-template-columns:1fr 1fr}.pax-form__contact-street{grid-column:1 / -1}}.pax-form__phone-group{display:flex;gap:8px;align-items:flex-end}.pax-form__phone-area{flex:0 0 80px}.pax-form__phone-number{flex:1;min-width:0}.pax-form__submit-btn{width:100%;background:var(--color-accent);color:#fff;font-size:var(--font-size-lg);font-weight:800;padding:var(--space-4);border-radius:var(--radius-pill);transition:background var(--transition-fast),box-shadow var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--space-2);box-shadow:var(--shadow-btn)}.pax-form__submit-btn:hover{background:var(--color-accent-dark);box-shadow:0 6px 20px #3dbcb873}.pax-form__terms{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-5)}.pax-form__terms-checkbox{width:16px;height:16px;accent-color:var(--color-accent);margin-top:2px;flex-shrink:0}.pax-form__terms-text{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.6}.pax-form__terms-link{color:var(--color-accent-dark);text-decoration:underline;cursor:pointer}.pax-form__card-icons{display:flex;gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap}.pax-form__card-icon{padding:4px var(--space-3);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:800;color:var(--color-text-muted)}.pax-form__secure-note{display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-3)}.pax-page__sidebar{width:100%;order:-1}@media(min-width:960px){.pax-page__sidebar{width:auto;order:0}}.booking-summary{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-5);height:fit-content;box-shadow:var(--shadow-card);border:1px solid var(--color-border)}@media(min-width:960px){.booking-summary{position:sticky;top:calc(var(--navbar-height) + var(--space-6))}}.booking-summary__title{font-size:var(--font-size-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-4)}.booking-summary__row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;font-size:var(--font-size-sm)}.booking-summary__row+.booking-summary__row{border-top:1px solid var(--color-bg)}.booking-summary__row-label{color:var(--color-text-muted)}.booking-summary__row-value{font-weight:600;color:var(--color-text-heading)}.booking-summary__total{border-top:2px solid var(--color-border);margin-top:var(--space-3);padding-top:var(--space-3);display:flex;justify-content:space-between;align-items:baseline;font-weight:800}.booking-summary__total-label{font-size:var(--font-size-sm);color:var(--color-text-heading)}.booking-summary__total-amount{font-size:var(--font-size-2xl);color:var(--color-primary)}.booking-summary__promo{font-size:var(--font-size-xs);color:var(--color-success);font-weight:600;margin-top:var(--space-2)}.bsummary__heading{font-size:var(--font-size-lg);font-weight:800;color:var(--color-text-heading);margin-bottom:var(--space-4)}.bsummary__airline-header{display:flex;align-items:center;gap:12px;margin-bottom:var(--space-4)}.bsummary__airline-logo{width:36px;height:36px;border-radius:6px;object-fit:contain;border:1px solid var(--color-border);background:#fff;padding:3px;flex-shrink:0}.bsummary__airline-logo--fallback{display:flex;align-items:center;justify-content:center;background:var(--color-primary-light);color:var(--color-primary);font-weight:800;font-size:var(--font-size-xs)}.bsummary__airline-name{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-heading);line-height:1.3}.bsummary__trip-type{font-size:11px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.bsummary__hotel-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:var(--space-4)}.bsummary__hotel-icon{background:var(--color-primary-light);color:var(--color-primary);padding:8px;border-radius:8px;flex-shrink:0;display:flex}.bsummary__stars{color:#f59e0b;font-size:13px;line-height:1}.bsummary__hotel-addr{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--color-text-muted);margin-top:4px}.bsummary__dates{display:flex;align-items:center;gap:8px;background:var(--color-primary-tint);border:1px solid var(--color-border);border-radius:8px;padding:10px 12px;margin-bottom:6px}.bsummary__date-block{display:flex;flex-direction:column;flex:1}.bsummary__date-block--right{align-items:flex-end}.bsummary__date-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.bsummary__date-val{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-heading);margin-top:2px}.bsummary__date-arrow{color:var(--color-accent);flex-shrink:0}.bsummary__nights{text-align:center;font-size:11px;font-weight:600;color:var(--color-primary);margin-bottom:var(--space-3)}.bsummary__legs{display:flex;flex-direction:column;gap:8px;margin-bottom:var(--space-4)}.bsummary__leg{background:var(--color-primary-tint);border:1px solid var(--color-border);border-radius:8px;padding:10px 12px}.bsummary__leg-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.bsummary__leg-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.bsummary__leg-fn{font-size:11px;font-weight:700;color:var(--color-text-heading)}.bsummary__leg-route{display:flex;align-items:center;justify-content:space-between}.bsummary__leg-point{display:flex;flex-direction:column}.bsummary__leg-point--right{align-items:flex-end}.bsummary__leg-code{font-size:var(--font-size-base);font-weight:800;color:var(--color-text-heading);line-height:1}.bsummary__leg-time{font-size:11px;color:var(--color-text-muted);margin-top:2px}.bsummary__leg-city{font-size:10px;color:var(--color-text-muted);margin-top:1px}.bsummary__leg-arrow{display:flex;flex-direction:column;align-items:center;color:#94a3b8;gap:2px}.bsummary__leg-dur{font-size:10px;font-weight:600;color:var(--color-text-muted);white-space:nowrap}.bsummary__leg-stops{margin-top:6px;font-size:11px;font-weight:600;color:var(--color-primary);text-align:center}.bsummary__room-name{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-heading);margin-bottom:4px}.bsummary__room-meal{font-size:11px;color:var(--color-text-muted)}.bsummary__room-cancel{font-size:11px;color:#f59e0b;font-weight:600;margin-top:3px}.bsummary__room-cancel-date{font-size:11px;color:#16a34a;font-weight:600;margin-top:2px}.bsummary__divider{border:none;border-top:1px dashed var(--color-border);margin:var(--space-3) 0}.bsummary__details{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-3)}.bsummary__row{display:flex;justify-content:space-between;align-items:center}.bsummary__row-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.bsummary__row-value{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-heading)}.bsummary__badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-3)}.bsummary__badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;border-radius:4px;padding:3px 8px;white-space:nowrap}.bsummary__badge--success{background:#f0fdf4;color:#16a34a}.bsummary__badge--danger{background:#fef2f2;color:#dc2626}.bsummary__badge--warn{background:#fff7ed;color:#c2410c}.bsummary__badge--carbon{background:#f0fdf4;color:#15803d}.bsummary__badge--neutral{background:var(--color-primary-tint);color:var(--color-primary)}.bsummary__total{border-top:2px solid var(--color-border);padding-top:var(--space-3);margin-top:var(--space-2);display:flex;justify-content:space-between;align-items:baseline}.bsummary__total-label{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-heading)}.bsummary__total-amount{font-size:var(--font-size-xl);font-weight:800;color:var(--color-primary)}@media(max-width:959px){.bsummary__legs{flex-direction:row;flex-wrap:wrap}.bsummary__leg{flex:1 1 calc(50% - 4px);min-width:140px}.bsummary__badges{gap:4px}.bsummary__badge{font-size:10px;padding:2px 6px}}@media(max-width:479px){.bsummary__leg{flex:1 1 100%}.bsummary__total-amount{font-size:var(--font-size-lg)}.bsummary__dates{flex-direction:column;gap:6px;padding:10px}.bsummary__date-block--right{align-items:flex-start}.bsummary__date-arrow{display:none}.bsummary__leg-route{flex-wrap:wrap;gap:6px}.bsummary__leg-arrow{flex:0 0 100%;flex-direction:row;justify-content:center}.bsummary__leg-point--right{align-items:flex-start}}.policy-violation{border:1.5px solid #f97316;border-radius:12px;padding:20px 24px;margin:24px 0 16px;background:#fff7ed}.policy-violation__header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.policy-violation__icon{color:#c2410c;flex-shrink:0}.policy-violation__title{font-size:var(--font-size-base);font-weight:700;color:#c2410c;margin:0}.policy-violation__desc{font-size:var(--font-size-sm);color:#78350f;margin-bottom:14px;line-height:1.5}.policy-violation__reason-badge{display:flex;align-items:flex-start;gap:8px;background:#fff;border:1px solid #fed7aa;border-radius:8px;padding:10px 14px;margin-bottom:16px;font-size:var(--font-size-sm);font-weight:600;color:#7c2d12}.policy-violation__reason-icon{color:#dc2626;flex-shrink:0;margin-top:1px}.policy-violation__field{margin-bottom:16px}.policy-violation__label{display:block;font-size:var(--font-size-sm);font-weight:600;color:#1e293b;margin-bottom:6px}.policy-violation__required{color:#dc2626;font-weight:400}.policy-violation__textarea{width:100%;padding:10px 14px;border:1.5px solid #cbd5e1;border-radius:8px;font-size:var(--font-size-sm);font-family:inherit;resize:vertical;min-height:80px;outline:none;background:#fff;transition:border-color .15s;box-sizing:border-box}.policy-violation__textarea:focus{border-color:#f97316}.policy-violation__ack{display:flex;align-items:center;gap:10px;font-size:var(--font-size-sm);color:#1e293b;cursor:pointer;-webkit-user-select:none;user-select:none}.policy-violation__checkbox{width:18px;height:18px;flex-shrink:0;accent-color:#7c3aed;cursor:pointer}@media(max-width:767px){.policy-violation{padding:16px;margin:16px 0 12px}.policy-violation__ack{align-items:flex-start;gap:12px}.policy-violation__checkbox{width:20px;height:20px;margin-top:1px}.policy-violation__textarea{min-height:72px}}.confirmation-page{min-height:100vh;background:#fff}.conf__container{max-width:680px;margin:0 auto;padding:var(--space-8) var(--space-4) var(--space-12)}.conf__banner{background:linear-gradient(135deg,var(--color-primary) 0%,#1B6B8B 100%);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6);text-align:center;color:#fff;margin-bottom:var(--space-5);box-shadow:var(--shadow-panel)}.conf__banner-icon{margin-bottom:var(--space-3);color:var(--color-accent)}.conf__banner-title{font-size:var(--font-size-2xl);font-weight:800;margin-bottom:var(--space-1)}.conf__banner-sub{font-size:var(--font-size-sm);color:#ffffffbf;margin-bottom:var(--space-5)}.conf__ref-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-6);margin-top:var(--space-4)}.conf__ref-item{background:#ffffff26;border-radius:var(--radius-lg);padding:var(--space-3) var(--space-6);min-width:140px}.conf__ref-label{font-size:var(--font-size-xs);color:#ffffffb3;margin-bottom:3px}.conf__ref-code{font-family:Courier New,monospace;font-size:var(--font-size-xl);font-weight:900;letter-spacing:.1em;color:var(--color-accent)}.conf__boarding-pass{background:var(--color-surface);border-radius:var(--radius-xl);overflow:hidden;margin-bottom:var(--space-4);box-shadow:var(--shadow-card)}.conf__bp-header{background:var(--color-primary);color:#fff;padding:var(--space-4) var(--space-5);display:flex;align-items:center;justify-content:space-between}.conf__bp-airline{font-size:var(--font-size-sm);font-weight:700;color:#ffffffd9}.conf__bp-flight-num{font-size:var(--font-size-sm);font-weight:400;color:#ffffff8c}.conf__bp-class-badge{background:#ffffff26;padding:3px var(--space-3);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:700}.conf__bp-route{padding:var(--space-5);display:flex;align-items:center;gap:var(--space-4)}.conf__bp-endpoint{text-align:center;min-width:64px}.conf__bp-time{font-size:var(--font-size-3xl);font-weight:800;color:var(--color-text-heading)}.conf__bp-code{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-muted)}.conf__bp-city{font-size:var(--font-size-xs);color:var(--color-text-muted)}.conf__bp-line{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.conf__bp-plane-icon{color:var(--color-accent)}.conf__bp-line-bar{width:100%;height:2px;background:repeating-linear-gradient(90deg,var(--color-accent) 0,var(--color-accent) 6px,transparent 6px,transparent 12px)}.conf__bp-direct{font-size:var(--font-size-xs);color:var(--color-accent-dark);font-weight:700}.conf__bp-tear{border-top:2px dashed var(--color-border);margin:0 var(--space-5);position:relative}.conf__bp-tear:before,.conf__bp-tear:after{content:"";position:absolute;width:20px;height:20px;background:#fff;border-radius:50%;top:-10px}.conf__bp-tear:before{left:-30px}.conf__bp-tear:after{right:-30px}.conf__bp-details{padding:var(--space-4) var(--space-5);display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.conf__bp-detail-label{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:3px}.conf__bp-detail-value{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-heading)}.conf__price-card{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-5);margin-bottom:var(--space-5);box-shadow:var(--shadow-card)}.conf__actions{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media(min-width:480px){.conf__actions{grid-template-columns:1fr 1fr 1fr}}.conf__section-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-heading);margin-bottom:var(--space-4);display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--color-border);padding-bottom:10px}.conf__tickets-card,.conf__itinerary{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-5);box-shadow:var(--shadow-card)}.conf__pax-list{display:flex;flex-direction:column;gap:var(--space-3)}.conf__pax-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--color-primary-tint);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.conf__pax-name{font-weight:700;color:var(--color-text-heading)}.conf__pax-status{font-size:var(--font-size-xs);color:var(--color-success);margin-top:2px}.conf__pax-numbers{text-align:right}.conf__ticket-num{font-family:monospace;font-weight:700;color:var(--color-primary)}.conf__pax-pnr{font-size:var(--font-size-xs);color:var(--color-text-muted)}.conf__route-group{margin-bottom:var(--space-4)}.conf__group-label{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-3)}.conf__seg-row{display:grid;grid-template-columns:60px 40px 60px 1fr;gap:var(--space-4);align-items:center;margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px dashed var(--color-border)}.conf__seg-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.conf__seg-time{font-weight:700;color:var(--color-text-heading)}.conf__seg-code{font-size:var(--font-size-xs);color:var(--color-text-muted)}.conf__seg-connector{display:flex;flex-direction:column;align-items:center;position:relative;height:100%;color:var(--color-accent)}.conf__seg-connector-line{width:2px;flex:1;background:var(--color-border);margin-top:5px}.conf__layover-label{position:absolute;left:50%;top:100%;transform:translate(-50%);background:#fef3c7;color:#92400e;padding:2px 8px;border-radius:var(--radius-pill);font-size:10px;white-space:nowrap;font-weight:700;z-index:2}.conf__seg-airline{font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-heading)}.conf__seg-city{font-size:var(--font-size-xs);color:var(--color-text-muted)}.hotel-card{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);overflow:hidden;transition:transform var(--transition-base),box-shadow var(--transition-base);cursor:pointer;border:1px solid var(--color-border);display:flex;flex-direction:column;height:100%}.hotel-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-panel)}.hotel-card__image-container{height:200px;overflow:hidden;position:relative;background:var(--color-surface-2)}.hotel-card__image{width:100%;height:100%;object-fit:cover}.hotel-card__rating-badge{position:absolute;top:var(--space-3);right:var(--space-3);background:#0b2e4ed9;color:#fff;padding:4px 10px;border-radius:var(--radius-pill);display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);font-weight:700;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hotel-card__content{padding:var(--space-4);display:flex;flex-direction:column;flex:1}.hotel-card__name{margin:0 0 var(--space-2) 0;font-size:18px;font-weight:700;color:#0f172a;line-height:1.2}.hotel-card__location{display:flex;align-items:flex-start;gap:var(--space-1);color:#64748b;font-size:12px;margin-bottom:var(--space-4)}.hotel-card__location-icon{flex-shrink:0;margin-top:2px;color:var(--color-accent)}.hotel-card__details-box{background:#f8fafc;padding:var(--space-3);border-radius:8px;margin-bottom:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.hotel-card__detail-item{display:flex;align-items:center;gap:var(--space-2);font-size:13px;color:#475569;font-weight:500}.hotel-card__detail-icon{color:var(--color-accent)}.hotel-card__policy-tag{font-weight:600;padding:2px 8px;border-radius:var(--radius-sm);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.hotel-card__policy--nonref{color:var(--color-danger);background:var(--color-danger-tint)}.hotel-card__policy--ref{color:var(--color-success);background:var(--color-success-tint)}.hotel-card__footer{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;padding-top:var(--space-4);border-top:1px solid var(--color-border)}.hotel-card__price-label{margin:0;font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.hotel-card__price-value{margin:0;font-size:20px;font-weight:800;color:#0f172a;white-space:nowrap}.hotel-card__select-btn{background:var(--color-accent);color:var(--color-text-on-accent);border:none;padding:8px 16px;border-radius:4px;font-weight:700;cursor:pointer;transition:all var(--transition-fast);box-shadow:none;font-size:12px}.hotel-card__select-btn:hover{background:var(--color-accent-dark);box-shadow:0 4px 12px #3dbcb833}@media(max-width:480px){.hotel-card__image-container{height:180px}.hotel-card__name{font-size:var(--font-size-base)}.hotel-card__price-value{font-size:16px}}.room-offer-card{background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border);overflow:hidden;display:flex;flex-direction:row;transition:all var(--transition-base);box-shadow:var(--shadow-xs)}.room-offer-card:hover{box-shadow:var(--shadow-card);border-color:var(--color-accent-light)}.room-offer-card__image-wrap{width:200px;flex-shrink:0;background:var(--color-surface-2)}.room-offer-card__image-wrap img{width:100%;height:100%;object-fit:cover}.room-offer-card__content{flex:1;padding:var(--space-5);display:flex;justify-content:space-between;gap:var(--space-6)}.room-offer-card__info{flex:1}.room-offer-card__title{font-size:18px;font-weight:700;color:#0f172a;margin:0 0 var(--space-3) 0}.room-offer-card__tags{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4)}.room-offer-card__tag{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);background:var(--color-surface-2);padding:6px 12px;border-radius:var(--radius-pill);font-weight:600}.room-offer-card__tag.is-success{background:var(--color-success-tint);color:var(--color-success)}.room-offer-card__tag.is-danger{background:var(--color-danger-tint);color:var(--color-danger)}.room-offer-card__cancel-deadline{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0 0 var(--space-4) 0}.room-offer-card__policy-banner{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin-top:var(--space-2)}.room-offer-card__policy-banner.is-success{background:var(--color-success-tint);border:1px solid var(--color-success-border);color:var(--color-success-dark)}.room-offer-card__policy-banner.is-danger{background:var(--color-danger-tint);border:1px solid var(--color-danger-border);color:var(--color-danger-dark)}.room-offer-card__policy-text strong{font-weight:700}.room-offer-card__price-col{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:var(--space-4);min-width:180px;border-left:1px solid var(--color-border);padding-left:var(--space-6)}.room-offer-card__price-wrap{display:flex;flex-direction:column;align-items:flex-end}.room-offer-card__price-val{font-size:20px;font-weight:800;color:#0f172a;white-space:nowrap}.room-offer-card__price-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.room-offer-card__select-btn{background:var(--color-accent);color:#fff;border:none;padding:8px 16px;border-radius:4px;font-weight:700;cursor:pointer;transition:all var(--transition-fast);box-shadow:none;font-size:12px;white-space:nowrap}.room-offer-card__select-btn:hover{background:var(--color-accent-dark);box-shadow:0 4px 12px #3dbcb833}@media(max-width:992px){.room-offer-card{flex-direction:column}.room-offer-card__image-wrap{width:100%;height:220px}.room-offer-card__content{flex-direction:column;gap:var(--space-5)}.room-offer-card__price-col{border-left:none;border-top:1px solid var(--color-border);padding:var(--space-5) 0 0 0;align-items:stretch;min-width:0}.room-offer-card__price-wrap{flex-direction:row;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-2)}}.multi-room-top-bar{position:sticky;top:70px;z-index:40;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:16px 24px;display:flex;flex-direction:column;gap:12px;box-shadow:0 4px 6px -1px #0000001a}.room-selection-horizontal{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--color-surface-2);padding:12px 20px;border-radius:12px}.room-selection-horizontal__rooms{display:flex;gap:16px;flex:1;flex-wrap:wrap;min-width:0}.room-selection-horizontal__room-slot{display:flex;flex-direction:column;min-width:130px;max-width:250px;flex:1}.room-selection-horizontal__room-slot.has-divider{border-left:1px solid var(--color-border);padding-left:16px}.room-selection-horizontal__room-label{font-size:13px;color:var(--color-text-muted);font-weight:700}.room-selection-horizontal__room-name{font-size:14px;font-weight:600;color:var(--color-text-heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.room-selection-horizontal__room-price{font-size:14px;color:var(--color-primary);font-weight:800;margin-top:2px}.room-selection-horizontal__room-empty{font-size:14px;color:var(--color-text-muted);font-style:italic;margin-top:2px}.room-selection-horizontal__actions{display:flex;align-items:center;gap:20px;padding-left:20px;border-left:1px dashed var(--color-border);flex-shrink:0}.room-selection-horizontal__total{display:flex;flex-direction:column;align-items:flex-end}.room-selection-horizontal__total-label{font-size:13px;color:var(--color-text-muted);font-weight:700;white-space:nowrap}.room-selection-horizontal__total-value{font-size:20px;color:var(--color-primary);font-weight:900;white-space:nowrap}.room-selection-horizontal__proceed-btn{padding:12px 28px;font-size:15px;border-radius:var(--radius-pill);box-shadow:var(--shadow-btn);white-space:nowrap;flex-shrink:0}@media(max-width:640px){.multi-room-top-bar{padding:12px 16px;top:56px}.room-selection-horizontal{flex-direction:column;align-items:stretch;gap:12px;padding:12px 16px}.room-selection-horizontal__rooms{flex-direction:column;gap:10px;flex-wrap:nowrap}.room-selection-horizontal__room-slot{min-width:0;max-width:100%;flex:unset}.room-selection-horizontal__room-slot.has-divider{border-left:none;border-top:1px solid var(--color-border);padding-left:0;padding-top:10px}.room-selection-horizontal__actions{border-left:none;border-top:1px dashed var(--color-border);padding-left:0;padding-top:12px;flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.room-selection-horizontal__total{align-items:flex-start}.room-selection-horizontal__proceed-btn{padding:11px 20px;font-size:14px}}.room-tabs-container{margin-bottom:var(--space-6);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}.room-tabs{display:flex;gap:var(--space-4);overflow-x:auto;padding-bottom:var(--space-2)}.room-tab-button{display:flex;align-items:center;gap:var(--space-2);padding:12px 24px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);font-weight:700;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.room-tab-button:hover{border-color:var(--color-accent);color:var(--color-accent)}.room-tab-button.is-active{background:var(--color-accent);color:#fff;border-color:var(--color-accent);box-shadow:var(--shadow-btn)}.room-tab-button.is-selected{border-color:var(--color-success, #22c55e)}.room-tab-button.is-selected:not(.is-active){color:var(--color-text-heading);background:var(--color-success-tint, #dcfce7)}.room-tab-icon{color:var(--color-success, #22c55e)}.room-tab-button.is-active .room-tab-icon{color:#fff}.room-offer-card__select-btn.is-selected{background:var(--color-success, #22c55e);color:#fff;box-shadow:0 4px 14px #22c55e66}.room-offer-card__select-btn.is-selected:hover{background:var(--color-success-dark, #16a34a)}.room-selection-sticky{padding-left:var(--space-6);padding-top:var(--space-4)}.room-selection-preview{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-card)}.room-selection-preview__title{font-size:var(--font-size-lg);font-weight:800;color:var(--color-text-heading);margin:0 0 var(--space-5) 0;padding-bottom:var(--space-3);border-bottom:2px dashed var(--color-border)}.room-selection-preview__list{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-5)}.room-selection-preview__item{padding:var(--space-3);border-radius:var(--radius-lg);background:var(--color-surface-2);border:1px solid transparent;transition:all var(--transition-fast)}.room-selection-preview__item.is-empty{opacity:.6;border:1px dashed var(--color-border);background:transparent}.room-selection-preview__item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted)}.room-selection-preview__item-header strong{color:var(--color-text-heading)}.room-selection-preview__item-price{font-weight:700;color:var(--color-primary)}.room-selection-preview__item-name{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-heading)}.room-selection-preview__footer{padding-top:var(--space-4);border-top:1px solid var(--color-border)}.room-selection-preview__total{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-muted)}.room-selection-preview__total strong{font-size:var(--font-size-xl);color:var(--color-primary);font-weight:800}@media(max-width:480px){.room-offer-card__price-val{font-size:16px}}.hotel-cxl-backdrop{position:fixed;inset:0;width:100vw;height:100vh;background-color:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.hotel-cxl-backdrop.is-open{opacity:1;visibility:visible}.hotel-cxl-slider{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:480px;background:#fff;box-shadow:-4px 0 24px #00000026;z-index:1001;display:flex;flex-direction:column;transform:translate(100%);visibility:hidden;pointer-events:none;transition:transform .4s cubic-bezier(.16,1,.3,1),visibility .4s;border-top-left-radius:16px;border-bottom-left-radius:16px;overflow:hidden}@media(max-width:600px){.hotel-cxl-slider{max-width:100%;border-radius:0}}.hotel-cxl-slider.is-open{transform:translate(0);visibility:visible;pointer-events:auto}.hotel-cxl-slider__header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.hotel-cxl-slider__title{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-heading)}.hotel-cxl-slider__title h2{font-size:var(--font-size-md);font-weight:800;margin:0}.hotel-cxl-slider__close{background:var(--color-surface-2);border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);cursor:pointer;transition:background .2s,color .2s}.hotel-cxl-slider__close:hover{background:var(--color-border);color:var(--color-text-heading)}.hotel-cxl-slider__content{flex:1;overflow-y:auto;padding:var(--space-5);background:var(--color-surface-1);display:flex;flex-direction:column;gap:var(--space-5)}.hotel-cxl-slider__state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-text-muted);text-align:center;gap:var(--space-3);padding:var(--space-6)}.hotel-cxl-slider__spinner{width:32px;height:32px;border:3px solid rgba(61,188,184,.2);border-top-color:var(--color-primary);border-radius:50%;animation:cxl-spin 1s linear infinite}@keyframes cxl-spin{to{transform:rotate(360deg)}}.hotel-cxl__alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-sm);line-height:1.5}.hotel-cxl__alert--deadline{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.hotel-cxl__alert strong{display:block;margin-bottom:var(--space-1);font-size:var(--font-size-sm)}.hotel-cxl__alert p{margin:0;color:#b91c1c}.hotel-cxl__section{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.hotel-cxl__section h3{font-size:var(--font-size-sm);font-weight:700;margin:0 0 var(--space-4) 0;color:var(--color-text-heading);display:flex;align-items:center;gap:var(--space-2)}.hotel-cxl__description-html{font-size:var(--font-size-sm);color:var(--color-text-base);line-height:1.6}.hotel-cxl__description-html br{display:block;margin-bottom:var(--space-2);content:""}.hotel-cxl__timeline{display:flex;flex-direction:column;gap:var(--space-3)}.hotel-cxl__timeline-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);background:var(--color-surface-2);border-radius:var(--radius-md);border-left:3px solid var(--color-accent)}.hotel-cxl__timeline-dates{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-base)}.hotel-cxl__timeline-to{color:var(--color-text-muted);font-size:10px;text-transform:uppercase}.hotel-cxl__timeline-charge{display:flex;flex-direction:column;align-items:flex-end}.hotel-cxl__timeline-charge strong{color:#dc2626;font-size:var(--font-size-md)}.hotel-cxl__timeline-hint{font-size:10px;color:var(--color-text-muted)}.hotel-cxl__noshow-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius-md);color:#92400e;font-size:var(--font-size-sm);font-weight:500}:root{--rfq-bg: #ffffff;--rfq-surface: #ffffff;--rfq-primary: #0f172a;--rfq-accent: #2563eb;--rfq-secondary: #64748b;--rfq-border: #e2e8f0;--rfq-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--rfq-radius: .75rem}.page-wrapper{background:#fff;min-height:100vh}.rfq-list-page{padding:2rem 1rem;max-width:1200px;margin:0 auto;font-family:Inter,system-ui,-apple-system,sans-serif}.rfq-list-header{margin-bottom:2rem}.rfq-list-header h1{font-family:Inter,system-ui,-apple-system,sans-serif;font-size:1.75rem;font-weight:700;color:#0f172a;margin-bottom:.5rem}.rfq-list-header p{color:var(--rfq-secondary);font-size:.95rem}.rfq-filters{background:var(--rfq-surface);padding:1.25rem;border-radius:var(--rfq-radius);box-shadow:var(--rfq-shadow);border:1px solid var(--rfq-border);display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;align-items:flex-end}.filter-group{flex:1;min-width:180px;display:flex;flex-direction:column;gap:.4rem}.filter-group label{font-size:.75rem;font-weight:700;color:var(--rfq-secondary);text-transform:uppercase;letter-spacing:.05em}.filter-group input{padding:.5rem .75rem;border:1px solid var(--rfq-border);border-radius:.5rem;font-size:.875rem;outline:none;transition:border-color .2s;background:#fcfcfd}.filter-group input:focus{border-color:var(--rfq-accent);background:#fff}.rfq-search-btn{background:var(--rfq-accent);color:#fff;padding:.5rem 1.25rem;border:none;border-radius:4px;font-weight:700;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem;height:38px}.rfq-search-btn:hover{background:#1d4ed8;box-shadow:0 4px 6px -1px #2563eb33}.rfq-results-list{display:flex;flex-direction:column;gap:.625rem}.rfq-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 6px -1px #0000000d;padding:0 24px;height:68px;display:grid;grid-template-columns:168px 148px 1fr 108px 148px 188px;align-items:center;gap:0;transition:box-shadow .2s ease-in-out,border-color .2s ease-in-out}.rfq-card:hover{box-shadow:0 8px 16px -4px #0000001a;border-color:#cbd5e1}.rfq-col-ref,.rfq-col-pax,.rfq-col-route,.rfq-col-date,.rfq-col-status{padding-right:16px;border-right:1px solid #f1f5f9;height:100%;display:flex;flex-direction:column;justify-content:center}.rfq-col-pax,.rfq-col-route,.rfq-col-date,.rfq-col-status,.rfq-col-action{padding-left:16px}.rfq-card__id{font-weight:700;color:#0f172a;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rfq-card__date{font-size:.775rem;color:var(--rfq-secondary);display:flex;align-items:center;gap:.25rem;margin-top:2px}.rfq-col-pax{font-weight:600;font-size:.875rem;color:#0f172a;display:flex;flex-direction:row;align-items:center;gap:.4rem;overflow:hidden}.rfq-col-pax span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rfq-col-pax svg{flex-shrink:0;color:#94a3b8!important}.rfq-col-route{display:flex;flex-direction:column;justify-content:center;gap:2px;overflow:hidden}.compact-sector-item{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#334155;white-space:nowrap;overflow:hidden}.compact-sector-item strong{font-weight:600}.compact-iata{font-size:.7rem;color:#94a3b8;font-weight:400}.compact-sector-item svg{flex-shrink:0}.compact-sub-sep{color:#94a3b8;font-weight:400}.rfq-col-date{display:flex;flex-direction:row;align-items:center;gap:.35rem;font-size:.85rem;color:#475569;font-weight:500;white-space:nowrap}.rfq-col-date svg{flex-shrink:0;color:#94a3b8!important}.rfq-col-status{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.35rem}.rfq-status{font-weight:700;text-transform:uppercase;font-size:.6rem;letter-spacing:.04em;padding:.2rem .5rem;border-radius:4px;white-space:nowrap}.rfq-col-action{display:flex;align-items:center;justify-content:flex-end;gap:1rem;border-right:none}.rfq-card__amount{display:flex;align-items:baseline;gap:.3rem;flex-wrap:nowrap}.rfq-amount__currency{font-size:.775rem;font-weight:500;color:#64748b;text-transform:uppercase;white-space:nowrap}.rfq-amount__value{font-size:1.2rem;font-weight:800;color:#0f172a;line-height:1;white-space:nowrap}.rfq-view-btn{display:inline-flex;align-items:center;justify-content:center;width:68px;height:30px;background:#3dbcb8;color:#fff;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;text-decoration:none;flex-shrink:0;transition:all .2s ease-in-out}.rfq-view-btn:hover{background:#2fa9a5;box-shadow:0 4px 10px #3dbcb833}.status--quoted{background:#dbeafe;color:#1e40af}.status--booked{background:#dcfce7;color:#166534}.status--on-hold{background:#fef9c3;color:#854d0e}.status--default{background:#f1f5f9;color:#475569}.empty-state{text-align:center;padding:4rem 2rem;background:var(--rfq-surface);border-radius:var(--rfq-radius);color:var(--rfq-secondary);border:1px solid var(--rfq-border)}@media(max-width:960px){.rfq-card{height:auto;padding:12px 20px;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;gap:0}.rfq-col-ref,.rfq-col-pax,.rfq-col-route,.rfq-col-date,.rfq-col-status,.rfq-col-action{height:auto;border-right:none;padding-right:0;padding-left:0;flex-direction:column;justify-content:center}.rfq-col-ref{grid-column:1;grid-row:1;flex-direction:row;align-items:center;gap:.75rem;padding:0 12px 10px 0;border-bottom:1px solid #f1f5f9}.rfq-col-action{grid-column:2;grid-row:1;padding:0 0 10px 12px;border-bottom:1px solid #f1f5f9;justify-content:flex-end}.rfq-col-pax{grid-column:1;grid-row:2;flex-direction:row;align-items:center;padding:10px 12px 10px 0;border-bottom:1px solid #f1f5f9}.rfq-col-date{grid-column:2;grid-row:2;flex-direction:row;align-items:center;padding:10px 0 10px 12px;border-bottom:1px solid #f1f5f9}.rfq-col-route{grid-column:1;grid-row:3;padding:10px 12px 0 0}.rfq-col-status{grid-column:2;grid-row:3;flex-direction:row;flex-wrap:wrap;align-items:center;padding:10px 0 0 12px}}@media(max-width:640px){.rfq-list-page{padding:1.25rem .75rem}.rfq-list-header h1{font-size:1.35rem}.rfq-filters{padding:1rem;gap:.75rem}.filter-group{min-width:100%}.rfq-search-btn{width:100%}.rfq-results-list{gap:.5rem}.rfq-card{grid-template-columns:1fr auto;grid-template-rows:auto auto auto;padding:12px 16px;height:auto;gap:0}.rfq-col-ref,.rfq-col-pax,.rfq-col-route,.rfq-col-date,.rfq-col-status,.rfq-col-action{height:auto;border-right:none;padding:0;flex-direction:row;align-items:center}.rfq-col-ref{grid-column:1;grid-row:1;gap:.5rem;padding-bottom:8px;flex-wrap:wrap;align-items:baseline}.rfq-col-ref .rfq-card__id{font-size:.825rem;font-weight:700}.rfq-col-ref .rfq-card__date{font-size:.725rem;margin-top:0}.rfq-col-status{grid-column:2;grid-row:1;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:4px;padding-bottom:8px;padding-left:8px}.rfq-col-route{grid-column:1 / -1;grid-row:2;flex-direction:column;align-items:flex-start;border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;padding:9px 0;gap:2px}.rfq-col-route .compact-sector-item{font-size:.975rem;font-weight:500}.rfq-col-route .compact-sector-item strong{font-weight:700;color:#0f172a}.rfq-col-route .compact-iata{font-size:.72rem}.rfq-col-date{display:none}.rfq-col-pax{grid-column:1;grid-row:3;gap:.35rem;padding-top:8px;font-size:.85rem}.rfq-col-pax svg{color:#94a3b8!important}.rfq-col-action{grid-column:2;grid-row:3;flex-direction:row;align-items:center;justify-content:flex-end;gap:.6rem;padding-top:8px;padding-left:12px}.rfq-amount__currency{font-size:.7rem}.rfq-amount__value{font-size:1.05rem}.rfq-view-btn{width:60px;height:28px;font-size:10px;border-radius:6px}.rfq-status{font-size:.595rem;padding:.18rem .4rem}}.rfq-segment-timeline{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:8px 0;border-bottom:1px dashed var(--rfq-border)}.rfq-segment-timeline:last-child{border-bottom:none}.rfq-segment-node{display:flex;flex-direction:column;gap:2px}.rfq-node--arr{align-items:flex-end;text-align:right}.rfq-segment-time{font-size:1.15rem;font-weight:700;color:#0f172a;display:flex;align-items:center;gap:4px;line-height:1.1}.rfq-segment-time svg{color:#2563eb!important}.rfq-segment-code--bold{font-size:1.15rem;font-weight:700;color:#0f172a}.rfq-segment-meta{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase}.rfq-segment-date{white-space:nowrap}.rfq-segment-code{font-weight:700;color:#475569}.rfq-segment-connector{flex:1;display:flex;align-items:center;justify-content:center;max-width:60px;position:relative}.rfq-segment-line{position:relative;width:100%;height:2px;background-color:#cbd5e1;display:flex;align-items:center;justify-content:center}.rfq-segment-line:before,.rfq-segment-line:after{content:"";position:absolute;top:50%;width:4px;height:4px;background-color:#cbd5e1;border-radius:50%;transform:translateY(-50%)}.rfq-segment-line:before{left:0}.rfq-segment-line:after{right:0}.rfq-segment-plane{color:#0b2e4e!important;background:#fff;padding:0 4px;z-index:1}.rfq-segment-timeline.hotel-type{align-items:center}.rfq-segment-hotel-title{display:flex;align-items:center;gap:6px;font-size:.95rem;font-weight:700;color:#0f172a}.rfq-segment-hotel-title svg{color:#3dbcb8!important}.rfq-segment-hotel-title .hotel-name{max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rfq-segment-hotel-title .hotel-city{font-size:.8rem;color:#64748b;font-weight:500}@media(max-width:640px){.rfq-segment-timeline{gap:.75rem;padding:8px 0}.rfq-segment-time,.rfq-segment-code--bold{font-size:.95rem}.rfq-segment-connector{max-width:60px}.rfq-segment-hotel-title{font-size:.85rem;flex-wrap:wrap;gap:4px}.rfq-segment-hotel-title .hotel-name{max-width:150px}}:root{--detail-bg: #f8fafc;--detail-card-bg: #ffffff;--detail-primary: #0f172a;--detail-secondary: #64748b;--detail-accent: #2563eb;--detail-accent-hover: #1d4ed8;--detail-success: #10b981;--detail-warning: #f59e0b;--detail-danger: #ef4444;--detail-border: #e2e8f0;--detail-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--detail-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06)}.trip-detail-page{font-family:Inter,sans-serif;background-color:var(--detail-bg);min-height:100vh;padding:2rem 1rem;color:var(--detail-primary)}.detail-container{max-width:1100px;margin:0 auto}.detail-nav{margin-bottom:1.5rem}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--detail-secondary);text-decoration:none;font-weight:500;transition:all .2s;font-size:.875rem}.back-link:hover{color:var(--detail-accent);transform:translate(-4px)}.trip-header{background:#fff;padding:2rem;border-radius:1.25rem;box-shadow:var(--detail-shadow-sm);border:1px solid var(--detail-border);margin-bottom:2rem}.header-main{display:flex;justify-content:space-between;align-items:center;gap:2rem}.trip-title-area{display:flex;align-items:center;gap:1.5rem}.trip-icon{padding:1rem;background:#eff6ff;color:var(--detail-accent);border-radius:1rem}.trip-title-area h1{font-family:Inter,system-ui,-apple-system,sans-serif;font-size:1.75rem;font-weight:700;margin:0;color:var(--detail-primary)}.booking-date{margin:.25rem 0 0;color:var(--detail-secondary);font-weight:500}.booking-actions{display:flex;gap:.75rem}.primary-btn,.secondary-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:.75rem;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s;border:1px solid transparent}.primary-btn{background:var(--detail-accent);color:#fff}.primary-btn:hover{background:var(--detail-accent-hover);box-shadow:0 4px 12px #2563eb33}.secondary-btn{background:#fff;color:var(--detail-primary);border-color:var(--detail-border)}.secondary-btn:hover{background:#f8fafc;border-color:#cbd5e1}.main-grid{display:grid;grid-template-columns:1fr 340px;gap:2rem}.detail-section{background:#fff;padding:1.5rem;border-radius:1.25rem;border:1px solid var(--detail-border);margin-bottom:2rem;box-shadow:var(--detail-shadow-sm)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-title{display:flex;align-items:center;gap:.75rem;color:var(--detail-primary)}.section-title h2{font-size:1.25rem;font-weight:700;margin:0}.count-badge{background:#f1f5f9;color:var(--detail-secondary);padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600}.timeline-container{padding-left:.5rem}.timeline-item{display:flex;gap:1.5rem;position:relative}.timeline-marker{display:flex;flex-direction:column;align-items:center}.marker-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#f8fafc;border:2px solid white;box-shadow:var(--detail-shadow-sm);z-index:1}.marker-icon.flight{color:#8b5cf6;background:#f5f3ff}.marker-icon.hotel{color:#f59e0b;background:#fffbeb}.marker-line{width:2px;flex-grow:1;background:var(--detail-border);margin:4px 0}.timeline-content{flex-grow:1;padding-bottom:2rem}.segment-card{background:#f8fafc;border:1px solid var(--detail-border);border-radius:1rem;padding:1.25rem;transition:transform .2s,box-shadow .2s}.segment-card:hover{transform:translateY(-2px);box-shadow:var(--detail-shadow-sm);background:#fff}.segment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.segment-main h3{font-size:1.125rem;font-weight:700;margin:0 0 .5rem}.seg-nights-badge{display:inline-block;background:#fffbeb;color:#92400e;border:1px solid #fde68a;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:600;margin-top:2px}.status-pill{display:inline-flex;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.025em}.status-success{background:#dcfce7;color:#166534}.status-warning{background:#fef9c3;color:#854d0e}.status-danger{background:#fee2e2;color:#991b1b}.status-neutral{background:#f1f5f9;color:#475569}.segment-date{display:flex;align-items:center;gap:.5rem;color:var(--detail-secondary);font-weight:600;font-size:.875rem}.segment-body{display:flex;flex-wrap:wrap;gap:1.5rem}.segment-meta-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--detail-secondary)}.segment-meta-item strong{color:var(--detail-primary)}.passenger-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.passenger-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8fafc;border:1px solid var(--detail-border);border-radius:1rem}.pax-avatar{width:48px;height:48px;background:#fff;border:1px solid var(--detail-border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--detail-accent)}.pax-details h4{margin:0;font-size:1rem;font-weight:700}.pax-details p{margin:.25rem 0 .5rem;font-size:.875rem;color:var(--detail-secondary)}.pax-contact-mini{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:var(--detail-secondary)}.pax-contact-mini span{display:flex;align-items:center;gap:.4rem}.sidebar-card{background:#fff;padding:1.5rem;border-radius:1.25rem;border:1px solid var(--detail-border);margin-bottom:1.5rem;box-shadow:var(--detail-shadow-sm)}.sidebar-card h3{margin:0 0 1.25rem;font-size:1.125rem;font-weight:700}.summary-list{margin-bottom:1.5rem}.summary-row{display:flex;justify-content:space-between;margin-bottom:.75rem;font-size:.9375rem}.total-price{font-size:1.5rem;font-weight:800;color:var(--detail-accent)}.status-row{padding-top:1rem;margin-top:1rem;border-top:1px solid var(--detail-border);align-items:center}.status-text{font-weight:700;text-transform:uppercase;font-size:.8125rem}.payment-method{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f0f9ff;border-radius:.75rem;color:#0369a1;font-size:.875rem;font-weight:500;margin-bottom:1.25rem}.download-btn{width:100%;padding:.875rem;border-radius:.75rem;border:1px solid var(--detail-accent);background:#fff;color:var(--detail-accent);font-weight:700;cursor:pointer;transition:all .2s}.download-btn:hover{background:#eff6ff}.help-card{background:var(--detail-primary);color:#fff;border:none}.help-card p{color:#94a3b8;line-height:1.5;font-size:.875rem}.help-links{display:flex;flex-direction:column;gap:.75rem;margin-top:1.25rem}.help-links a{display:flex;align-items:center;gap:.75rem;color:#fff;text-decoration:none;font-size:.875rem;font-weight:600}.trip-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(100vh - 80px)}.loader-container{position:relative;margin-bottom:1.5rem}.loader-pulse{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;background:var(--detail-accent);border-radius:50%;opacity:.1;animation:pulse 1.5s infinite ease-in-out}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(.8);opacity:.3}to{transform:translate(-50%,-50%) scale(1.5);opacity:0}}.error-card{text-align:center;padding:4rem 2rem;background:#fff;border-radius:1.5rem;box-shadow:var(--detail-shadow);display:flex;flex-direction:column;align-items:center;gap:1rem}@media(max-width:1024px){.main-grid{grid-template-columns:1fr;gap:1.5rem}.sidebar-column{order:1}.details-column{order:0}.sidebar-card{margin-bottom:1rem}}@media(max-width:768px){.trip-header{padding:1.5rem;margin-bottom:1.5rem}.trip-title-area h1{font-size:1.5rem;word-break:break-word}.passenger-grid{grid-template-columns:1fr!important}.timeline-item{gap:1rem}.marker-icon{width:32px;height:32px;border-radius:8px}.marker-icon svg{width:16px;height:16px}.segment-card{padding:1rem}.segment-body{gap:1rem}.segment-main h3{font-size:1rem;word-break:break-word}}@media(max-width:640px){.trip-detail-page{padding:1rem .5rem}.header-main{flex-direction:column;align-items:flex-start;gap:1.25rem}.trip-title-area{gap:.75rem;width:100%}.trip-icon{padding:.75rem;flex-shrink:0}.booking-actions{width:100%;flex-direction:column;gap:.5rem}.primary-btn,.secondary-btn{width:100%;justify-content:center;padding:.75rem;font-size:.875rem}.section-header{flex-direction:column;align-items:flex-start;gap:.5rem}.segment-header{flex-direction:column;align-items:flex-start;gap:.75rem;width:100%}.status-pill{align-self:flex-start}.segment-meta-item{width:100%;word-break:break-word}.detail-section{padding:1.25rem;margin-bottom:1.5rem}}@media(max-width:480px){.trip-title-area h1{font-size:1.15rem}.timeline-container{padding-left:0}.timeline-item{gap:.5rem}.timeline-marker{width:32px}.marker-line{margin:2px 0}.passenger-card{flex-direction:row;align-items:center;gap:.75rem;padding:1rem}.pax-details{min-width:0;flex:1;overflow:hidden}.pax-details h4{font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pax-contact-mini span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pax-avatar{width:40px;height:40px;flex-shrink:0}.total-price{font-size:1.25rem}.trip-detail-page{padding-bottom:2rem}}.product-summary-strip{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;padding:1rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:.75rem}.product-summary-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.875rem}.prod-type-badge{display:inline-flex;align-items:center;gap:.3rem;background:#0369a1;color:#fff;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600;flex-shrink:0}.prod-summary-name{font-weight:700;color:var(--detail-primary);font-size:.875rem}.prod-summary-item{display:inline-flex;align-items:center;gap:.3rem;color:var(--detail-secondary)}.prod-summary-item strong{color:var(--detail-primary)}.prod-fare{color:var(--detail-secondary);font-weight:500}.prod-fare strong{color:#0369a1;font-size:.9375rem}.prod-fare-breakdown{font-size:.75rem;color:var(--detail-secondary);font-weight:400}@media(max-width:640px){.product-summary-row{gap:.5rem;font-size:.8125rem}.prod-fare-breakdown{display:none}}.seg-timing-row{display:flex;align-items:center;gap:.75rem;width:100%;background:#eff6ff;border-radius:.5rem;padding:.625rem .875rem;margin-bottom:.25rem}.seg-time-block{display:flex;flex-direction:column;align-items:center;min-width:48px}.seg-time-block strong{font-size:1rem;color:var(--detail-primary)}.seg-time-block small{font-size:.7rem;color:var(--detail-secondary);margin-top:2px}.seg-duration-mid{flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;font-size:.75rem;color:var(--detail-secondary);font-weight:500}.seg-baggage{display:flex;flex-wrap:wrap;gap:.5rem}.seg-baggage span{background:#f1f5f9;padding:2px 8px;border-radius:4px;font-size:.75rem;color:var(--detail-primary)}.seg-fare-breakdown{font-size:.75rem;color:var(--detail-secondary);font-weight:400}.seg-services{display:flex;flex-wrap:wrap;gap:.4rem;width:100%;padding-top:.25rem}.seg-service-tag{font-size:.7rem;padding:3px 8px;background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;border-radius:4px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.seg-service-tag.svc-included{background:#f0fdf4;color:#166534;border-color:#bbf7d0}.seg-service-tag.svc-chargeable{background:#fffbeb;color:#92400e;border-color:#fde68a}.seg-service-tag.svc-other{background:#f1f5f9;color:#475569;border-color:#e2e8f0}@media(max-width:640px){.seg-timing-row{gap:.5rem;padding:.5rem .625rem}.seg-time-block strong{font-size:.875rem}.seg-service-tag{font-size:.65rem}}.approver-list{margin-top:1rem}.approver-grid{display:flex;flex-direction:column;gap:1rem}.approver-card-item{background:#f8fafb;border:1px solid #eef2f5;border-radius:12px;padding:1.25rem;transition:all .2s ease}.approver-card-item:hover{border-color:#3dbcb8;background:#fff;box-shadow:0 4px 12px #0000000d}.approver-main{display:flex;gap:1rem;align-items:flex-start}.approver-avatar{width:40px;height:40px;background:#e6f7f6;color:#3dbcb8;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.approver-info{flex:1}.approver-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.approver-header h4{margin:0;font-size:1rem;font-weight:600;color:#1a1a1a}.status-badge-mini{padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:capitalize}.approver-email{color:#64748b;font-size:.875rem;margin-bottom:.5rem}.approver-meta{display:flex;gap:.75rem}.level-tag,.type-tag{font-size:.75rem;font-weight:500;padding:2px 8px;background:#f1f5f9;color:#475569;border-radius:4px}.policy-note{margin-top:1rem;padding:.75rem;background:#fff9eb;border-radius:8px;display:flex;gap:.5rem;align-items:center;color:#92400e;font-size:.8125rem;border:1px solid #fef3c7}.policy-note svg{flex-shrink:0}.no-data-msg{color:#94a3b8;text-align:center;padding:2rem;font-size:.875rem;background:#f8fafb;border-radius:12px;border:1px dashed #e2e8f0}.pax-loading-mini{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2rem;color:#64748b}.action-buttons-mini{display:flex;gap:.5rem}.approve-btn-small,.reject-btn-small{padding:6px 12px;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;border:none;transition:all .2s ease}.approve-btn-small{background:#3dbcb8;color:#fff}.approve-btn-small:hover{background:#2ea3a0}.reject-btn-small{background:#fee2e2;color:#ef4444}.reject-btn-small:hover{background:#fecaca}.remark-field-container{margin-bottom:1rem;background:#fff;padding:.75rem;border-radius:8px;border:1px solid #e2e8f0}.remark-input{width:100%;min-height:80px;border:1px solid #e2e8f0;border-radius:6px;padding:.5rem;font-size:.8125rem;margin-bottom:.5rem;resize:vertical}.remark-actions{display:flex;gap:.5rem}.confirm-reject-btn{flex:1;background:#ef4444;color:#fff;padding:6px;border:none;border-radius:4px;font-size:.75rem;font-weight:600;cursor:pointer}.cancel-remark-btn{padding:6px 12px;background:#f1f5f9;border:none;border-radius:4px;font-size:.75rem;cursor:pointer}.action-response-msg{padding:.75rem;border-radius:6px;font-size:.8125rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.action-response-msg.success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.action-response-msg.err{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}@media(max-width:640px){.approval-card{padding:1rem}.overall-status-sidebar>div:first-child{flex-direction:column;align-items:flex-start!important;gap:.75rem}.action-buttons-mini{width:100%}.approve-btn-small,.reject-btn-small{flex:1;text-align:center;padding:8px 12px}.approver-card-item{padding:.875rem}.approver-main{gap:.75rem}.approver-avatar{width:32px;height:32px}.approver-email{font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.remark-input{font-size:.875rem}}@media(max-width:480px){.approver-meta{flex-wrap:wrap;gap:.4rem}.approval-card .section-header{flex-direction:row;align-items:center}}.flight-details__leg-container{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:flex-start;width:100%}@media(min-width:768px){.flight-details__leg-container{grid-template-columns:180px 1fr;gap:2rem}}.flight-details__airline-col{display:flex;flex-direction:column;gap:4px}.flight-details__airline-title{font-size:.875rem;font-weight:700;color:#0f172a}.flight-details__flight-number{font-size:.75rem;color:#475569}.flight-details__equipment{font-size:.75rem;color:#64748b}.flight-details__timeline-col{display:flex;flex-direction:column;gap:1rem}.flight-details__timeline-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1rem;width:100%}.flight-details__node{display:flex;flex-direction:column;flex:1}.flight-details__time{font-size:1.75rem;font-weight:300;color:#1e293b;line-height:1.1}.flight-details__date{font-size:11px;color:#64748b;margin-top:2px}.flight-details__airport{font-size:13px;font-weight:700;color:#0f172a;margin-top:2px}.flight-details__airport-name{font-size:11px;color:#64748b;margin-top:1px}.flight-details__connector{display:flex;flex-direction:column;align-items:center;gap:2px;flex:.8;text-align:center}.flight-details__connector-dur{font-size:11px;font-weight:600;color:#64748b}.flight-details__connector-line{position:relative;width:100%;height:2px;background-color:#cbd5e1;display:flex;align-items:center;justify-content:center;margin:6px 0;min-width:60px}.flight-details__connector-line:before,.flight-details__connector-line:after{content:"";position:absolute;top:50%;width:5px;height:5px;background-color:#cbd5e1;border-radius:50%;transform:translateY(-50%)}.flight-details__connector-line:before{left:0}.flight-details__connector-line:after{right:0}.flight-details__connector-plane{color:#0b2e4e!important;background:#fff;padding:0 4px;z-index:1}.flight-card__stops-badge{font-size:10px;font-weight:700;color:#475569;text-transform:uppercase}.flight-details__baggage-pill{display:inline-flex;align-items:center;gap:6px;background-color:#f1f5f9;color:#334155;font-size:12px;font-weight:700;padding:4px 8px;border-radius:4px;width:fit-content}.flight-details__baggage-pill svg{color:#2563eb!important}@media(max-width:640px){.flight-details__time{font-size:1.35rem}.flight-details__connector-line{min-width:40px}.flight-details__airport{font-size:11px}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-mid) 60%,var(--color-accent-dark) 100%);padding:var(--space-4)}.login-card{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-panel);padding:var(--space-10);width:100%;max-width:440px}.login-header{text-align:center;margin-bottom:var(--space-8)}.login-brand{display:inline-flex;align-items:center;gap:var(--space-3);background:var(--color-primary);padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);margin-bottom:var(--space-5)}.login-brand__icon{display:flex;align-items:center;justify-content:center;color:var(--color-accent)}.login-brand__text{display:flex;align-items:baseline;gap:var(--space-2)}.login-brand__name{font-size:var(--font-size-xl);font-weight:800;color:var(--color-text-on-dark);letter-spacing:-.02em}.login-brand__sub{font-size:var(--font-size-xs);font-weight:400;color:#ffffff73}.login-header p{color:var(--color-text-muted);font-size:var(--font-size-sm)}.login-error{background-color:var(--color-danger-tint);color:var(--color-danger);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-5);font-size:var(--font-size-sm);border:1px solid rgba(239,68,68,.25);text-align:center;line-height:1.5}.login-form .form-group{margin-bottom:var(--space-5)}.login-form label{display:block;color:var(--color-text-body);font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--space-2)}.login-form input{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-surface-2);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-body);font-size:var(--font-size-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.login-form input:focus{border-color:var(--color-border-focus);background:var(--color-surface);box-shadow:0 0 0 3px #3dbcb826}.login-form input::placeholder{color:var(--color-text-muted)}.login-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--space-4);margin-top:var(--space-3);background:var(--color-accent);color:var(--color-text-on-accent);font-size:var(--font-size-base);font-weight:700;border:none;border-radius:var(--radius-pill);box-shadow:var(--shadow-btn);cursor:pointer;transition:background var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);letter-spacing:.01em}.login-btn:hover:not(:disabled){background:var(--color-accent-dark);box-shadow:0 6px 20px #3dbcb873;transform:translateY(-1px)}.login-btn:active:not(:disabled){transform:scale(.98)}.login-btn:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:480px){.login-container{padding:var(--space-3);align-items:flex-start;padding-top:10vh}.login-card{padding:var(--space-6);border-radius:var(--radius-lg)}.login-header h2{font-size:var(--font-size-xl)}.login-header{margin-bottom:var(--space-6)}.login-form .form-group{margin-bottom:var(--space-4)}.login-btn{padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm)}}
