.round-leg{grid-template-columns:1fr 42px}.round-leg>span{display:none}.booking-mode #search>.section-heading,.booking-mode #search>.search-panel{display:none}.booking-route{grid-column:1 / -1;display:flex;align-items:center;gap:12px;margin-bottom:2px}.booking-route span{border-radius:4px;padding:4px 7px;background:#eef2f7;color:#61708a;font-size:11px;font-weight:800;text-transform:uppercase}.booking-route h1{margin:0;color:#182b4a;font-size:24px}.booking-route i{color:#1862e8;font-style:normal}.booking-service{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;margin-bottom:14px;border:1px solid #bdd1ff;border-radius:8px;background:#fff}.booking-service strong{font-size:14px;color:#1e355a}.booking-service span{font-size:12px;color:#2b61d7}.docs-import{border:0;background:transparent;color:#1d60e8;font-weight:700;cursor:pointer}.docs-import:hover{text-decoration:underline}#docs-modal{width:min(560px,calc(100% - 28px));border:0;border-radius:10px;padding:0;box-shadow:0 20px 60px #102b5960}#docs-modal::backdrop{background:#14213d88}#docs-form{padding:22px}#docs-form h2{margin:0 0 8px;font-size:18px;color:#1d3153}#docs-input{box-sizing:border-box;width:100%;min-height:220px;margin-top:14px;padding:12px;border:1px solid #cfd9e8;border-radius:7px;resize:vertical;font:12px/1.5 ui-monospace,Consolas,monospace}.docs-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}@media(max-width:650px){.booking-route{align-items:flex-start;flex-wrap:wrap}.booking-route h1{font-size:19px}}
#booking-detail-modal{width:min(620px,calc(100% - 28px));border:0;border-radius:12px;padding:0;box-shadow:0 24px 70px #102b5960}#booking-detail-modal::backdrop{background:#14213d88}.booking-detail{position:relative;padding:27px}.booking-detail h2{margin:5px 0 6px;font-size:23px;color:#14294e}.booking-detail h3{margin:0 0 12px;font-size:14px;color:#20385c}.detail-status{display:flex;align-items:center;gap:12px;font-size:12px;color:#708099;margin-bottom:18px}.booking-detail-card{border:1px solid #e3e9f3;border-radius:9px;padding:15px;margin-top:12px;background:#fff}.booking-flight-detail{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-top:1px solid #edf1f6}.booking-flight-detail:first-of-type{border-top:0;padding-top:0}.booking-flight-detail span{display:block;margin-bottom:4px;color:#6c83ac;font-size:10px;font-weight:800;letter-spacing:.08em}.booking-flight-detail strong,.booking-flight-detail small{display:block}.booking-flight-detail strong{font-size:14px;color:#172f57}.booking-flight-detail small,.booking-passenger span,.booking-fare small{color:#77869d;font-size:11px;margin-top:4px}.booking-flight-detail>b{white-space:nowrap;color:#18396d;font-size:13px}.booking-passenger strong,.booking-passenger span{display:block}.booking-fare{display:flex;align-items:center;gap:12px}.booking-fare strong{margin-left:auto;font-size:20px;color:#df7900}.booking-detail-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.booking-disclaimer{margin:13px 0 0;color:#77869d;font-size:11px;line-height:1.5}.fee-summary{margin-top:18px;border:1px solid #e1e8f3;border-radius:9px;padding:6px 15px}.fee-summary>div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid #edf1f5;font-size:13px}.fee-summary>div:first-child{border-top:0}.fee-total strong{font-size:18px;color:#df7900}.booking-warning{padding:11px 13px;border-radius:8px;background:#fff6de;color:#80621b;font-size:12px;line-height:1.45}.change-options{display:grid;gap:9px;margin:18px 0}.change-options label{display:flex;align-items:center;gap:9px;border:1px solid #e2e8f1;border-radius:8px;padding:11px;color:#314967;font-size:13px}.change-options input{width:auto}.change-date{margin-top:13px}.change-date input{margin-top:4px}.no-bookings{text-align:center!important;color:#7c889d;padding:25px!important}@media(max-width:650px){.booking-detail{padding:21px}.booking-flight-detail{align-items:flex-start;flex-direction:column;gap:7px}.booking-detail-actions{flex-wrap:wrap}.booking-detail-actions button{flex:1}}
#booking-detail-modal .booking-close{right:16px;top:13px;width:32px;height:32px;border:0;border-radius:50%;background:#eef3ff;color:#245de2;font-size:24px;line-height:1;display:grid;place-items:center}
.flight-choice-list{display:grid;gap:9px;margin:18px 0}.flight-choice{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:11px;border:1px solid #dce5f1;border-radius:9px;padding:13px 14px;cursor:pointer}.flight-choice:has(input:checked){border-color:#2860e9;background:#f5f8ff}.flight-choice input{width:auto}.flight-choice-copy small,.flight-choice-copy strong,.flight-choice-copy em{display:block}.flight-choice-copy small{margin-bottom:3px;color:#6480ad;font-size:10px;font-weight:800;letter-spacing:.08em}.flight-choice-copy strong{color:#1e385f;font-size:14px}.flight-choice-copy em{margin-top:3px;color:#708099;font-size:11px;font-style:normal}.flight-choice>b{color:#173b72;font-size:13px;white-space:nowrap}.flight-choice>i{border-radius:12px;background:#e8f7ef;color:#157b58;padding:4px 7px;font-size:10px;font-style:normal;font-weight:800}.flight-choice.flown{cursor:not-allowed;opacity:.5;background:#f5f6f8}.flight-choice.flown>i{background:#e9ebee;color:#697586}.change-date-list{display:grid;gap:10px;margin:14px 0}.change-date{display:grid;gap:6px;color:#50617b;font-size:12px;font-weight:700}.change-date input{padding:10px}.selection-hint{margin:14px 0;color:#7a879a;font-size:12px}@media(max-width:650px){.flight-choice{grid-template-columns:auto 1fr}.flight-choice>b,.flight-choice>i{grid-column:2}.flight-choice>i{justify-self:start}}
.passenger-entry{padding:9px 0;border-top:1px solid #edf1f5}.passenger-entry:first-of-type{border-top:0;padding-top:0}.passenger-entry strong,.passenger-entry span,.passenger-summary{display:block}.passenger-entry strong{color:#20385c;font-size:13px}.passenger-entry span,.passenger-summary{margin-top:3px;color:#77869d;font-size:11px}.passenger-summary{margin-top:11px;padding-top:9px;border-top:1px solid #edf1f5;font-weight:700}
.tag.partially{background:#fff2df;color:#aa6500}.tag.flown{background:#eef0f3;color:#637084}
.selection-group{margin-top:18px}.selection-group>h3{margin-bottom:8px!important}.passenger-choice-list{display:grid;gap:8px}.passenger-choice{display:flex;align-items:center;gap:11px;border:1px solid #dce5f1;border-radius:8px;padding:10px 12px;cursor:pointer}.passenger-choice:has(input:checked){border-color:#2860e9;background:#f5f8ff}.passenger-choice input{width:auto}.passenger-choice strong,.passenger-choice small{display:block}.passenger-choice strong{color:#20385c;font-size:13px}.passenger-choice small{margin-top:2px;color:#77869d;font-size:11px}
.calculate-cancel,.calculate-change{display:none!important}
.replacement-list{display:grid;gap:14px;margin-top:18px}.replacement-flight{border:1px solid #dce5f1;border-radius:9px;padding:14px}.replacement-flight>h3{margin:14px 0 8px!important}.replacement-flight>label:first-child{display:grid;gap:6px;color:#50617b;font-size:12px;font-weight:700}.new-flight-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border-top:1px solid #edf1f5;padding:10px 0;cursor:pointer}.new-flight-option input{width:auto}.new-flight-option strong,.new-flight-option small{display:block}.new-flight-option strong{font-size:13px;color:#20385c}.new-flight-option small{margin-top:3px;color:#77869d;font-size:11px}.new-flight-option>b{color:#c87400;font-size:12px}.summary-selection{border:1px solid #e2e8f1;border-radius:9px;padding:13px 15px;margin:17px 0}.summary-selection h3{margin:0 0 8px!important}.summary-selection p{margin:0;color:#405573;font-size:12px}.comparison-list{display:grid;gap:10px;margin:16px 0}.flight-comparison{display:grid;grid-template-columns:1fr 30px 1fr;align-items:center;gap:10px;border:1px solid #dce5f1;border-radius:9px;padding:13px}.flight-comparison small,.flight-comparison strong,.flight-comparison span{display:block}.flight-comparison small{color:#6b83aa;font-size:10px;font-weight:800;letter-spacing:.07em}.flight-comparison strong{margin:4px 0;color:#20385c;font-size:13px}.flight-comparison span{color:#77869d;font-size:11px}.flight-comparison>i{color:#2860e9;font-size:20px;font-style:normal;text-align:center}@media(max-width:650px){.flight-comparison{grid-template-columns:1fr}.flight-comparison>i{transform:rotate(90deg)}}
.replacement-title span,.replacement-title strong,.replacement-title small{display:block}.replacement-title span{color:#647da5;font-size:11px;font-weight:800}.replacement-title strong{margin:4px 0;color:#20385c;font-size:14px}.replacement-title small{color:#77869d;font-size:11px}.availability-date{width:100%;margin-top:12px;border:1px solid #bcd1ff;border-radius:7px;background:#f4f8ff;color:#2259d6;padding:10px 12px;text-align:left;font:700 12px inherit;cursor:pointer}.availability-calendar{margin-top:10px;border:1px solid #dfe7f3;border-radius:8px;padding:11px;background:#fff}.availability-head{display:flex;justify-content:space-between;align-items:center;color:#20385c;font-size:13px}.availability-head button{border:0;background:#eef3ff;color:#2860e9;border-radius:6px;width:26px;height:26px;font-size:18px}.availability-week,.availability-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:9px}.availability-week span{text-align:center;color:#71809a;font-size:9px;font-weight:800}.availability-days button{min-height:48px;border:0;border-radius:6px;background:#f6f8fb;color:#20385c;font:inherit;cursor:pointer}.availability-days button strong,.availability-days button span{display:block}.availability-days button strong{font-size:11px}.availability-days button span{margin-top:3px;color:#c77400;font-size:9px;font-weight:800}.availability-days button.selected{outline:2px solid #2860e9;background:#edf3ff}.availability-days button.unavailable{color:#aab3c1;cursor:not-allowed}.availability-days button.unavailable span{color:#aab3c1}.availability-calendar p{margin:10px 0 0;color:#7c899d;font-size:10px}.flight-comparison em{display:block;margin-top:4px;color:#c77400;font-size:11px;font-style:normal;font-weight:800}
.availability-head{justify-content:space-between}.availability-head .availability-prev,.availability-head .availability-next{display:block;cursor:pointer}.availability-date{display:flex;align-items:center;justify-content:space-between}.availability-date::after{content:'⌄';font-size:17px;line-height:1}.availability-blank{min-height:48px}.availability-days button.available span{color:#159a60;font-size:12px;line-height:1}
.daily-flight-options{display:grid;gap:8px;margin-top:12px}.daily-flight-options h3{margin:0 0 2px!important}.daily-flight-choice{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;border:1px solid #dce5f1;border-radius:8px;padding:10px 11px;cursor:pointer}.daily-flight-choice:has(input:checked){border-color:#2860e9;background:#f5f8ff}.daily-flight-choice input{width:auto}.daily-flight-choice strong,.daily-flight-choice small{display:block}.daily-flight-choice strong{font-size:13px;color:#20385c}.daily-flight-choice small{margin-top:3px;color:#77869d;font-size:11px}.daily-flight-choice>b{color:#c77400;font-size:12px}.pre-calculate-fare{display:flex;justify-content:space-between;border-top:1px solid #e7edf5;padding:11px 3px 0;color:#53647c;font-size:12px}.pre-calculate-fare strong{color:#d77800;font-size:15px}
.availability-days button.today{box-shadow:inset 0 0 0 2px #2860e9}
.availability-days button:disabled{background:#f2f4f7!important;color:#aeb7c5!important;cursor:not-allowed!important;opacity:1}.availability-days button:disabled span{color:#aeb7c5!important;font-size:0}.availability-days button:disabled span::after{content:'–';font-size:12px}
#booking-detail-modal{max-height:90vh;overflow:auto}.flight-detail-right{display:grid;justify-items:end;gap:6px}.segment-status{border-radius:12px;padding:4px 7px;font-size:10px;font-style:normal;font-weight:800}.segment-status.ticketed{background:#e8f7ef;color:#157b58}.segment-status.flown{background:#e9ebee;color:#667386}.flown-flight{background:#f7f8fa}.flown-flight strong,.flown-flight small,.flown-flight>b{color:#8490a2!important}.passenger-document{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin-top:9px;padding:9px 10px;border-radius:7px;background:#f6f8fb;font-size:11px}.passenger-document span{margin:0;color:#77869d}.passenger-document b{color:#314968}.contact-detail strong,.contact-detail span{display:block}.contact-detail span{margin-top:5px;color:#667b9b;font-size:12px}@media(max-width:650px){.passenger-document{grid-template-columns:1fr}.flight-detail-right{justify-items:start}}
.booking-flight-detail .booking-flight-date{margin-top:7px;color:#3e5f94;font-size:12px;font-weight:700}.booking-flight-detail .booking-flight-meta{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin-top:6px;color:#687d9e;font-size:11px}.booking-flight-detail .booking-flight-meta b{color:#254774;font-size:11px}.booking-flight-detail .booking-flight-meta i{font-style:normal}.booking-flight-detail .booking-flight-meta i::before{content:'·';display:inline-block;margin:0 7px;color:#a1aec2}.flown-flight .booking-flight-date,.flown-flight .booking-flight-meta,.flown-flight .booking-flight-meta b{color:#8490a2!important}
.booking-itinerary-leg{display:block!important;padding:14px 0!important}.booking-itinerary-leg>header{display:flex;align-items:center;gap:9px;margin-bottom:11px}.booking-itinerary-leg>header span{margin:0;padding:4px 7px;border-radius:4px;background:#2e63e8;color:#fff;font-size:10px}.booking-itinerary-leg>header strong{font-size:13px;color:#172f57}.booking-leg-timeline{display:grid;grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr);align-items:center;gap:12px;padding-left:8px}.booking-leg-time{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:8px}.booking-leg-time>b{color:#172f57;font-size:16px}.booking-leg-time small{color:#415d88;font-size:12px;line-height:1.35}.booking-leg-line{display:grid;justify-items:center;gap:4px;color:#2d62dd}.booking-leg-line>span{margin:0;color:#2d62dd;font-size:11px;font-weight:700;letter-spacing:0}.booking-leg-line i{position:relative;width:100%;height:1px;background:#9fb8ef}.booking-leg-line i::after{content:'›';position:absolute;right:-1px;top:50%;transform:translateY(-54%);color:#2d62dd;font-size:18px;font-style:normal;line-height:1}.booking-leg-line small{color:#708099;font-size:10px}.booking-itinerary-leg>footer{display:flex;align-items:center;gap:7px;margin:14px 0 0 52px;color:#667b9b;font-size:11px}.booking-itinerary-leg>footer>b{color:#20385c}.booking-itinerary-leg>footer>span::before{content:'·';margin-right:7px;color:#a6b1c2}.booking-itinerary-leg>footer .segment-status{margin-left:auto}.booking-itinerary-logo{width:21px;height:21px;display:grid;place-items:center;flex:0 0 21px;font-style:normal}.booking-itinerary-logo img{display:block;max-width:100%;max-height:100%;object-fit:contain}@media(max-width:650px){.booking-itinerary-leg>header{align-items:flex-start;flex-wrap:wrap}.booking-leg-timeline{grid-template-columns:1fr;gap:9px;padding-left:0}.booking-leg-line{grid-row:auto;grid-template-columns:1fr auto 1fr;width:100%}.booking-leg-line>span{grid-column:2;grid-row:1}.booking-leg-line i{grid-column:1 / -1;grid-row:2}.booking-leg-line small{grid-column:2;grid-row:3}.booking-itinerary-leg>footer{margin-left:0;flex-wrap:wrap}.booking-itinerary-leg>footer .segment-status{margin-left:0}}
.booking-itinerary-leg>header strong{margin:0}.booking-leg-timeline{grid-template-columns:minmax(0,1fr) 48px minmax(110px,.8fr) 48px minmax(0,1fr);gap:8px;padding:0 8px}.booking-leg-airport{min-width:0}.booking-leg-airport small{display:block;color:#415d88;font-size:12px;line-height:1.35}.booking-leg-airport small b{color:#213b67;font-size:12px}.booking-leg-airport.arrival{text-align:left}.booking-leg-time{display:block!important;color:#172f57;font-size:16px;white-space:nowrap}.booking-leg-time.departure{text-align:right}.booking-leg-time.arrival{text-align:left}.booking-itinerary-leg>footer{margin-left:8px;margin-right:8px}.booking-itinerary-leg>footer .segment-status{white-space:nowrap}@media(max-width:650px){.booking-leg-timeline{grid-template-columns:1fr 48px;gap:8px}.booking-leg-airport.departure{grid-column:1;grid-row:1}.booking-leg-time.departure{grid-column:2;grid-row:1}.booking-leg-line{grid-column:1 / -1;grid-row:2}.booking-leg-time.arrival{grid-column:1;grid-row:3}.booking-leg-airport.arrival{grid-column:2;grid-row:3}.booking-leg-airport.arrival small{text-align:right}.booking-itinerary-leg>footer{margin-left:0;margin-right:0}}
.booking-detail-actions button:disabled{border-color:#dfe4eb!important;background:#edf0f4!important;color:#98a3b3!important;cursor:not-allowed}.fully-used-note{margin:13px 0 0;padding:10px 12px;border-radius:7px;background:#f1f3f6;color:#667386;font-size:11px;line-height:1.45}
.booking-fare-breakdown{margin-top:12px;border:1px solid #e3e9f3;border-radius:9px;padding:15px;background:#fff}.booking-fare-breakdown h3{margin:0 0 8px;font-size:14px;color:#20385c}.booking-fare-breakdown>div{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-top:1px solid #edf1f6;color:#61718a;font-size:12px}.booking-fare-breakdown>div>b{color:#213b67}.booking-passenger-fare{align-items:center}.booking-passenger-fare>span{display:grid;gap:3px}.booking-passenger-fare small{display:block;color:#77869d;font-size:11px;line-height:1.35}.booking-passenger-fare>strong{white-space:nowrap;color:#203c69;font-size:13px}.booking-passenger-fare.unpriced>strong{color:#718099;font-size:11px}.booking-fare-breakdown .booking-fare-total{align-items:center;color:#172f57;font-weight:800}.booking-fare-breakdown .booking-fare-total strong{font-size:18px;color:#df7900}.booking-document-actions{display:flex;gap:9px;margin-top:14px}.booking-document-actions button{flex:1}.booking-document-actions .secondary{border-color:#bcd0fa;color:#1e59d1;background:#f8fbff}
@media(max-width:650px){.booking-document-actions{flex-direction:column}}
.booking-fare-breakdown > .booking-fare-group { display: block; padding: 8px 0; border-top: 1px solid #edf1f6; color: #61718a; font-size: 12px; }
.booking-fare-toggle { display: flex; align-items: center; gap: 12px; min-height: 28px; cursor: pointer; list-style: none; }
.booking-fare-toggle::-webkit-details-marker { display: none; }
.booking-fare-toggle > strong { margin-left: auto; color: #203c69; white-space: nowrap; }
.booking-fare-toggle:focus-visible { outline: 2px solid #2e63e8; outline-offset: 3px; border-radius: 3px; }
.booking-fare-chevron { width: 7px; height: 7px; flex: 0 0 7px; margin: 0 4px 4px; border-right: 2px solid #61718a; border-bottom: 2px solid #61718a; transform: rotate(45deg); }
.booking-fare-group[open] > summary .booking-fare-chevron { transform: rotate(225deg); margin-top: 4px; margin-bottom: 0; }
.booking-fare-components { display: grid; gap: 6px; padding: 7px 27px 3px 0; }
.booking-fare-line { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.booking-fare-line > :last-child { white-space: nowrap; text-align: right; }
.booking-fare-line > strong { color: #203c69; }
.booking-fare-detail { color: #61728c; font-weight: 400; }
.booking-itinerary-leg > footer { flex-wrap: nowrap; align-items: center; gap: 7px; overflow-x: auto; }
.booking-itinerary-leg > footer > b,
.booking-itinerary-leg > footer > span,
.booking-itinerary-leg > footer > .segment-status { display: inline-flex; align-items: center; flex-shrink: 0; margin-top: 0; margin-bottom: 0; font-family: inherit; font-size: 11px; font-weight: 600; font-style: normal; letter-spacing: 0; line-height: 21px; white-space: nowrap; }
.booking-itinerary-leg > footer > .segment-status { margin-left: auto; padding-top: 0; padding-bottom: 0; }

/* Booking itinerary: date, paired endpoints, then airline metadata. */
.booking-detail .booking-itinerary-leg { padding: 8px 0 0 !important; }
.booking-detail .booking-itinerary-leg > header { justify-content: space-between; align-items: center; flex-wrap: nowrap; gap: 10px; margin-bottom: 10px; }
.booking-detail .booking-itinerary-leg > header strong { text-align: right; font-size: 12px; }
.booking-detail .booking-leg-timeline { display: grid; grid-template-columns: minmax(0, 1fr) minmax(80px, .65fr) minmax(0, 1fr); grid-template-rows: auto auto; gap: 5px 12px; padding: 0; align-items: start; }
.booking-detail .booking-leg-time.departure { grid-column: 1; grid-row: 1; text-align: left; }
.booking-detail .booking-leg-time.arrival { grid-column: 3; grid-row: 1; text-align: right; }
.booking-detail .booking-leg-time { font-size: 25px; line-height: 1.15; letter-spacing: -.03em; }
.booking-detail .booking-leg-airport.departure { grid-column: 1; grid-row: 2; }
.booking-detail .booking-leg-airport.arrival { grid-column: 3; grid-row: 2; text-align: right; }
.booking-detail .booking-leg-airport small { margin: 0; font-size: 11px; line-height: 1.4; color: #718099; overflow-wrap: anywhere; }
.booking-detail .booking-leg-airport.arrival small { text-align: right; }
.booking-detail .booking-leg-airport small b { display: block; margin-bottom: 3px; color: #20385c; font-size: 15px; letter-spacing: .04em; }
.booking-detail .booking-leg-line { grid-column: 2; grid-row: 1 / 3; display: grid; grid-template-columns: 1fr; align-self: center; width: 100%; gap: 6px; }
.booking-detail .booking-leg-line > span { grid-column: 1; grid-row: 1; }
.booking-detail .booking-leg-line > i { grid-column: 1; grid-row: 2; }
.booking-detail .booking-leg-line > small { grid-column: 1; grid-row: 3; margin: 0; }
.booking-detail .booking-itinerary-leg > footer { margin: 10px 0 0; padding-top: 8px; border-top: 1px solid #edf1f6; }
@media (max-width: 420px) {
  .booking-detail .booking-leg-timeline { grid-template-columns: minmax(0, 1fr) 65px minmax(0, 1fr); column-gap: 10px; }
  .booking-detail .booking-leg-time { font-size: 22px; }
  .booking-detail .booking-itinerary-leg > footer { gap: 5px; }
  .booking-detail .booking-itinerary-leg > footer > span::before { margin-right: 5px; }
}
.booking-table-passengers { display: grid; gap: 5px; min-width: 170px; max-width: 280px; white-space: normal; }
.booking-table-passengers > span { display: block; line-height: 1.4; overflow-wrap: anywhere; }
.booking-table-routes { display: grid; gap: 5px; }
.booking-table-routes > span { display: block; white-space: nowrap; line-height: 1.4; }
