@font-face{font-family:Libre Franklin;src:url(./assets/libre-franklin.ttf) format("truetype");font-display:swap}html{color-scheme:light}@media(prefers-color-scheme:dark){html{color-scheme:dark}}
*{box-sizing:border-box}body{margin:0;background:#f4f6f8;color:#002950;font:16px "Libre Franklin",Arial,sans-serif}header{background:white;border-bottom:1px solid #dce3e9;padding:22px max(28px,calc((100% - 1080px)/2));display:flex;align-items:center;justify-content:space-between}header img{width:52px;height:52px}nav{display:flex;gap:28px;align-items:center;font-size:14px}.active{font-weight:bold;border-bottom:3px solid #f58200;padding-bottom:10px}main{max-width:1040px;margin:52px auto;padding:0 24px}.eyebrow{letter-spacing:2px;font-weight:bold;font-size:12px;display:flex;align-items:center;gap:13px}.eyebrow:before{content:"";width:30px;height:3px;background:#f58200}h1{font-size:42px;letter-spacing:-1.5px;margin:17px 0 12px}p{line-height:1.55;color:#637487;margin:0}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.login{text-align:right;font-size:13px;color:#637487}.login a{display:block;margin-top:9px;color:#002950}.summary{display:flex;justify-content:space-between;align-items:center;margin:28px 0 16px}.summary strong{font-size:19px}.summary span{font-size:13px;color:#596d80}.card{background:white;border:1px solid #dce3e9;margin-bottom:22px;border-radius:8px;overflow:hidden}.cardhead{display:flex;justify-content:space-between;align-items:center;padding:19px 25px;border-bottom:1px solid #e7ebef;background:#fafbfc}.tag{font-size:13px;font-weight:bold;display:flex;align-items:center;gap:8px}.dot{width:8px;height:8px;background:#f58200;border-radius:50%}.reference{font-size:12px;color:#596d80}.route{display:grid;grid-template-columns:1fr 130px 1fr;padding:27px 25px 22px;align-items:center}.code{font-size:32px;font-weight:bold;letter-spacing:-1px}.airport{margin-top:5px;font-size:15px;color:#5f7287}.destination{text-align:right}.arrow{text-align:center;color:#f58200;font-size:31px}.type{display:block;color:#65778a;font-size:12px;margin-top:7px}.info{display:grid;grid-template-columns:1fr 1fr 1fr;padding:0 25px 24px;gap:20px}.label{font-size:12px;color:#596d80;margin-bottom:7px}.value{font-size:15px;font-weight:bold}.status{margin:0 25px 22px;padding:15px 17px;background:#f3f6f9;border-left:3px solid #f58200;font-size:13px;line-height:1.5;color:#586b7f}.status b{color:#002950}.actions{border-top:1px solid #e7ebef;padding:17px 25px;display:flex;align-items:center;justify-content:space-between;font-size:13px}.actions a{color:#002950;text-decoration:none;border-bottom:1px solid #a8b8c7;padding-bottom:3px}.contact{color:#697b8d}.contact strong{color:#002950}.privacy{font-size:12px;padding:8px 2px 25px;color:#596d80}.footer{border-top:1px solid #dce3e9;padding-top:20px;display:flex;justify-content:space-between;color:#596d80;font-size:12px}.mock{background:#fff4e5;color:#9a5c12;font-size:12px;padding:8px 12px;display:inline-block;margin-bottom:20px}@media(max-width:600px){header{padding:15px 20px}nav{gap:15px}nav span:first-child{display:none}main{margin:28px auto;padding:0 16px}h1{font-size:33px}.intro{display:block}.login{text-align:left;margin-top:16px}.login a{display:inline;margin-left:10px}.summary span{display:none}.cardhead{padding:16px}.reference{font-size:10px}.route{padding:23px 16px;grid-template-columns:1fr 60px 1fr}.code{font-size:28px}.airport{font-size:12px}.info{padding:0 16px 20px;gap:12px}.value{font-size:12px}.status{margin:0 16px 17px}.actions{padding:16px;gap:14px;align-items:start;flex-direction:column}.footer span:last-child{display:none}}

button,input{font:inherit}button{padding:12px 20px;border:1px solid #c7d2dd;background:white;color:#002950;cursor:pointer;border-radius:4px}button.primary{background:#f58200;border-color:#f58200;font-weight:bold}button:disabled{opacity:.6;cursor:wait}.access{max-width:540px;padding:28px}.access label{display:block;margin:20px 0 8px}.access input{width:100%;padding:14px;border:1px solid #b8c8d8;border-radius:4px;margin-bottom:18px}.access p{margin-bottom:12px}#notice{padding:14px;margin:16px 0;border-left:3px solid #f58200;background:#fff3e3}select{background:transparent;color:inherit;border:0;padding:8px;font:inherit}button.link{padding:0;border:0;background:transparent;text-decoration:underline}a{color:inherit}@media(prefers-color-scheme:dark){body{background:#101923;color:#e2ecf3}header,.card,button{background:#1c2a36;color:#e2ecf3;border-color:#435362}.cardhead{background:#22323f;border-color:#435362}.status{background:#263744;color:#bfcedb}.status b,.contact strong,.actions a,.login a{color:#e2ecf3}p,.airport,.contact,.label,.login,.privacy,.footer,.reference,.summary span,.type{color:#b0c0ce}.access input{background:#15232e;color:#e2ecf3;border-color:#526575}.actions,.footer{border-color:#435362}button.primary{color:#002950}#notice{background:#332a20;color:#f5dcc0}}
.guest-name{padding:0 25px 20px;display:flex;gap:12px;align-items:baseline}.guest-name strong{font-size:15px}@media(max-width:600px){.guest-name{padding:0 16px 20px}}/* Shared page frame for the guest and pilot dashboards. */
html{min-width:0}body{min-width:0}main,body>footer{width:min(100%,1040px);min-width:0;margin-left:auto;margin-right:auto}main{overflow-wrap:anywhere}#intro{max-width:72ch;margin-bottom:28px}header{gap:20px;flex-wrap:wrap}header>a,header>select{min-width:0}header>a{overflow-wrap:anywhere}body>footer{padding:22px 24px 30px;border-top:1px solid #dce3e9;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 28px;font-size:13px;color:#637487}body>footer a{overflow-wrap:anywhere}.route>div,.info>div,.guest-name>*{min-width:0}.guest-name,.actions{flex-wrap:wrap;gap:12px}.pilot-flight{background:#fff;overflow-wrap:anywhere}.trip-reason{display:block;width:100%;max-width:100%;padding:12px;font:inherit;margin:10px 0}@media(max-width:600px){body>footer{padding:20px 16px 28px}header{gap:12px}#intro{margin-bottom:24px}}@media(prefers-color-scheme:dark){body>footer{color:#b0c0ce;border-color:#435362}.pilot-flight{background:#1c2a36}.trip-reason{background:#15232e;color:#e2ecf3;border:1px solid #526575}}

.account-session{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;margin:0 0 24px;border:1px solid #b8c8d866;border-radius:8px;flex-wrap:wrap}.account-session>div{display:grid;gap:5px;min-width:0}.account-session span{font-size:12px;opacity:.75}.account-session strong{font-size:15px;overflow-wrap:anywhere}.account-session button{flex-shrink:0}

.session-warning{border-left:4px solid #f58200;padding:16px;margin:16px 0;overflow-wrap:anywhere}.session-warning p{margin:0 0 12px}.notification-list article{padding:16px 0;border-bottom:1px solid #bacbd7;overflow-wrap:anywhere}.notification-list p{margin:6px 0}
.session-warning{position:sticky;top:8px;z-index:10;background:#fff;box-shadow:0 2px 10px #0002}@media(prefers-color-scheme:dark){.session-warning{background:#1c2935}}
.trip-stops{display:grid;gap:8px;text-align:center}.trip-stops small{font-size:11px;line-height:1.3}.trip-stops-track{display:flex;position:relative;align-items:center;justify-content:space-evenly;min-height:12px}.trip-stops-track:before{content:"";position:absolute;left:0;right:0;height:2px;background:#b3c4d2}.trip-stops-track i{position:relative;width:10px;height:10px;border-radius:50%;background:#f07800}

#app>.account-session{justify-content:flex-end;border:0;padding:0;margin:0 0 24px;text-align:right}#app>.account-session>div{display:grid;gap:5px}#app>.account-session button{margin-left:12px}

body>header{flex-wrap:wrap;gap:18px}#account-header{margin-left:auto;min-width:0}#account-header .account-session{display:flex;justify-content:flex-end;text-align:right;margin:0;padding:0;border:0;gap:16px}#account-header .account-session>div{display:grid;gap:4px}#account-header .account-session strong{overflow-wrap:anywhere}#account-header button{min-height:44px}@media(max-width:600px){#account-header{flex-basis:100%;width:100%}#account-header .account-session{flex-wrap:nowrap}}

.card.cancelled{background:#f4f6f7;border-color:#d6dde3}.card.cancelled .cardhead{background:#e9edf0}.card.cancelled .tag{color:#536574}.card.cancelled .tag .dot,.card.cancelled .trip-stops-track i{background:#87939d}.card.cancelled .status{border-left:0;background:#e9edf0}.card.cancelled .code{color:#778592;text-decoration:line-through;text-decoration-thickness:1px}.card.cancelled .trip-stops,.card.cancelled .trip-stops small{color:#778592}.card.cancelled .airport,.card.cancelled .value{color:#6c7d8c}@media(prefers-color-scheme:dark){.card.cancelled{background:#1c252e;border-color:#394653}.card.cancelled .cardhead,.card.cancelled .status{background:#26313c}.card.cancelled .tag,.card.cancelled .code,.card.cancelled .airport,.card.cancelled .value,.card.cancelled .trip-stops,.card.cancelled .trip-stops small{color:#a3afba}}

/* Joining a shared flight: one travel summary and one clear access action. */
.join-access{max-width:760px;margin:0 auto 28px}
.join-offer-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;background:#f8fafb;border-bottom:1px solid #e1e8ee}
.join-offer-heading>span{font-size:13px;color:#637487}.join-offer-heading>strong{font-size:18px}
.join-offer-route{padding:22px 28px}.join-offer-route+.join-offer-route{border-top:1px solid #e1e8ee}
.join-route-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:#61778d;margin-bottom:16px}
.join-seats{padding:5px 10px;border-radius:4px;background:#edf3f5;color:#35596e;white-space:nowrap;font-size:12px}
.join-route-airports{display:grid;grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr);align-items:center;gap:18px}
.join-place{display:grid;gap:4px}.join-place strong{font-size:30px;letter-spacing:-.7px}.join-place span{font-size:15px;color:#61778d}.join-place:last-child{text-align:right}
.join-route-line{text-align:center;font-size:27px;color:#8aa1b6}.join-route-times{display:flex;justify-content:space-between;gap:16px;margin-top:12px;color:#61778d;font-size:12px}.join-route-times span:last-child{text-align:right}
.join-access-form{padding:26px 28px 28px;border-top:1px solid #dce3e9;background:#f8fafb}
.join-access-form h2{font-size:20px;margin:0 0 10px}.join-access-form p{font-size:14px;max-width:60ch;margin-bottom:20px}
.join-access-form form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;align-items:stretch}
.join-access-form label{grid-column:1/-1;font-size:14px}.join-access-form input{width:100%;min-width:0;border:1px solid #bacbd9;padding:13px 14px;border-radius:4px;background:white;color:inherit}.join-access-form button{min-height:48px}
@media(max-width:540px){.join-offer-heading,.join-offer-route,.join-access-form{padding:20px}.join-route-meta{font-size:12px;flex-wrap:wrap;gap:8px}.join-route-airports{grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);gap:8px}.join-place strong{font-size:27px}.join-place span{font-size:14px}.join-access-form form{grid-template-columns:1fr}.join-route-times{font-size:11px}}
@media(prefers-color-scheme:dark){.join-offer-heading,.join-access-form{background:#202f3d;border-color:#435362}.join-offer-route+.join-offer-route{border-color:#435362}.join-offer-heading>span,.join-place span,.join-route-meta,.join-route-times{color:#b0c0ce}.join-seats{background:#304351;color:#c4d8e6}.join-access-form input{background:#15232e;border-color:#526575}}

.join-route-price{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:18px;font-size:13px;color:#61778d}.join-route-price strong{font-size:19px;color:#002950}
.join-price-share{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 28px;border-top:1px solid #dce3e9}.join-price-summary>span{display:block;font-size:13px;color:#61778d}.join-price-summary>strong{display:block;font-size:30px;letter-spacing:-.6px;margin:7px 0 12px}.join-price-summary p{font-size:13px;max-width:48ch}.join-price-summary small{display:block;font-size:12px;color:#61778d;margin-top:8px}.join-share-qr{flex:none;display:grid;justify-items:center;gap:8px;text-decoration:none;font-size:12px}.join-share-qr img{padding:5px;background:white;border:1px solid #dce3e9;border-radius:6px}
@media(max-width:540px){.join-price-share{padding:20px;gap:16px;align-items:flex-start}.join-price-summary>strong{font-size:25px}.join-share-qr img{width:88px;height:88px}.join-share-qr{max-width:100px;text-align:center}}
@media(prefers-color-scheme:dark){.join-route-price strong{color:#e2ecf3}.join-route-price,.join-price-summary>span,.join-price-summary small{color:#b0c0ce}.join-price-share{border-color:#435362}}

.join-route-airports{grid-template-columns:minmax(0,1fr) minmax(100px,160px) minmax(0,1fr)}.join-route-line{display:grid;gap:5px}.join-route-line>span{line-height:20px}.join-route-line small{font-size:11px;line-height:1.4;color:#61778d}.join-route-line .join-stop-name{color:#002950;font-size:12px}
@media(max-width:540px){.join-route-airports{grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr)}.join-route-line .join-stop-name{font-size:11px}}
@media(prefers-color-scheme:dark){.join-route-line small,.join-route-line .join-stop-name{color:#b0c0ce}}

.join-flight-segment+.join-flight-segment{margin-top:20px;padding-top:20px;border-top:1px solid #e1e8ee}.join-segment-number{display:block;font-size:11px;color:#61778d;margin-bottom:8px}.join-whole-journey{font-size:12px;margin-top:18px;color:#61778d}
.join-price-share{display:block}.join-share-qr{width:max-content;max-width:100%;margin:24px auto 0;text-align:center}.join-qr-image{display:block;position:relative;width:160px;height:160px}.join-share-qr .join-qr-code{display:block;width:160px;height:160px;padding:6px;background:white}.join-share-qr .join-qr-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:28px;height:28px;padding:3px;background:white;border:0;border-radius:0}
@media(prefers-color-scheme:dark){.join-flight-segment+.join-flight-segment{border-color:#435362}.join-whole-journey,.join-segment-number{color:#b0c0ce}}

.create-flight-toolbar{display:flex;justify-content:flex-end;margin:0 0 24px}.create-flight{padding:28px}.create-flight h2{margin-top:0}.create-flight-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.create-flight label{display:grid;gap:8px}.create-flight input,.create-flight select{width:100%;padding:12px;border:1px solid #b8cbdc;border-radius:5px;background:transparent;color:inherit;font:inherit;box-sizing:border-box}.create-flight fieldset{margin:24px 0;padding:18px;border:1px solid #d7e2eb;border-radius:8px;min-width:0}.create-flight .create-flight-check{display:flex;align-items:center;gap:12px;margin:18px 0}.create-flight-check input{width:20px;height:20px;flex-shrink:0}.create-flight-actions{display:flex;gap:12px;margin-top:24px}.create-flight-summary{border-bottom:1px solid #d7e2eb;padding:14px 0}.create-flight [data-result]{margin-top:24px;padding:20px;background:#819db012;border-radius:8px}.create-flight [hidden]{display:none}@media(max-width:640px){.create-flight{padding:18px}.create-flight-grid{grid-template-columns:1fr}.create-flight-actions{flex-wrap:wrap}}

.schedule-needs-acceptance{outline:2px solid #f58200;outline-offset:4px}.schedule-needs-acceptance button.primary{padding:16px 24px;font-size:18px}

/* Individual flight tiles on the public join page. */
.join-offer-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:24px 28px}
.join-offer-routes .join-offer-route{display:flex;flex-direction:column;min-width:0;margin:0;padding:22px;border:1px solid #d8e2ea;border-radius:10px;background:#fff}
.join-offer-route:has(input:checked){border-color:#f58200;background:#fffaf4}
.join-offer-route:has(input:disabled){opacity:.65}
.join-offer-routes .join-route-meta{flex-wrap:wrap;gap:10px;margin-bottom:20px}
.join-offer-routes .join-route-airports{grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);gap:8px}
.join-offer-routes .join-place strong{font-size:30px}
.join-offer-routes .join-route-price{margin-top:auto;padding-top:18px;border-top:1px solid #d8e2ea;flex-wrap:wrap}
.join-offer-routes .join-route-price strong{font-size:26px;white-space:nowrap}
@media(max-width:700px){.join-offer-routes{grid-template-columns:1fr;padding:18px;gap:16px}.join-offer-routes .join-offer-route{padding:20px}}
@media(prefers-color-scheme:dark){.join-offer-routes .join-offer-route{background:#1c2a37;border-color:#4b6172}.join-offer-route:has(input:checked){border-color:#f58200;background:#362d24}.join-offer-routes .join-route-price{border-color:#4b6172}}

/* Sales tiles: route first, time second, fare at the foot. */
.join-access{box-shadow:0 16px 48px #0029500b}
.join-access .join-offer-heading{background:linear-gradient(115deg,#002950,#135b7c);color:white;padding:24px 28px;border:0}
.join-access .join-offer-heading>span{color:#c6dce9;text-transform:uppercase;letter-spacing:.12em;font-size:11px}
.join-access .join-offer-heading>strong{font-size:22px;letter-spacing:.03em}
.join-offer-routes{background:#f5f8fb}
.join-offer-routes .join-offer-route{box-shadow:0 5px 18px #00295009;border-radius:14px;transition:border-color .15s,box-shadow .15s,transform .15s}
.join-offer-route:hover{box-shadow:0 8px 26px #00295018;transform:translateY(-2px)}
.join-offer-route:has(input:checked){box-shadow:0 0 0 1px #f58200,0 8px 26px #00295012}
.join-offer-routes .join-route-airports{background:linear-gradient(115deg,#002950,#0e526e);margin:0 -22px 8px;padding:24px 22px;color:white}
.join-offer-routes .join-place strong{font-size:34px;letter-spacing:.02em;color:white}
.join-offer-routes .join-place span,.join-offer-routes .join-route-line{color:#d3e4ee}
.join-offer-routes .join-seats{background:#eaf5f1;color:#25614d;border-radius:20px;padding:6px 10px;font-weight:600;font-size:11px}
.join-offer-routes .flight-card-times{margin-top:16px}
.join-offer-routes .flight-card-times small{font-size:11px;line-height:1.5}
.join-offer-routes .join-route-price{background:#f5f8fb;border:0;border-radius:8px;padding:14px;margin-top:auto}
.join-offer-routes .join-route-price strong{font-size:27px;letter-spacing:-.6px}
.join-access>[data-reserve-selection]{min-width:220px;padding:16px 28px;border-radius:8px;font-weight:700;box-shadow:0 4px 12px #f5820025}
@media(max-width:700px){.join-offer-routes .join-route-airports{margin-left:-20px;margin-right:-20px;padding:22px 20px}}
@media(prefers-color-scheme:dark){.join-offer-routes{background:#142330}.join-offer-routes .join-route-price{background:#233748}.join-offer-routes .join-seats{background:#22463c;color:#c9eadf}}
@media(prefers-reduced-motion:reduce){.join-offer-route:hover{transform:none}.join-offer-routes .join-offer-route{transition:none}}

/* Checked-in trips: a distinct long-dashed frame without changing the layout. */
.card.trip-checked-in{border-color:#bad8cf;box-shadow:inset 4px 0 0 #27836c;}
.card.trip-checked-in .tag{background:#e7f3ed;color:#226c58;border-radius:999px;padding:6px 12px;}
.card.trip-checked-in .tag .dot{background:#27836c;}
.card.closed{background:#f4f6f7;border-color:#d6dde3;color:#657583;}
.card.closed .cardhead,.card.closed .status{background:#e9edf0;}
.card.closed .code,.card.closed .value,.card.closed .tag{color:#657583;text-decoration:none;}
.card.closed .dot{background:#8b969e;}
@media(prefers-color-scheme:dark){.card.closed{background:#1c252e;border-color:#394653;color:#a3afba}.card.closed .cardhead,.card.closed .status{background:#26313c}.card.closed .code,.card.closed .value,.card.closed .tag{color:#a3afba}.card.trip-checked-in .tag{background:#203c35;color:#bde4d6}}

.card.closed .status{border-left:0}.card.closed .trip-stops-track i{background:#8b969e}

.join-aircraft-photo{margin:0;background:#eef2f4}
.join-aircraft-photo img{display:block;width:100%;height:clamp(220px,30vw,380px);object-fit:cover}
.join-access:has(.join-aircraft-photo) .join-offer-heading{background:#002950;padding:16px 28px}

.boarding-download-button{display:flex;flex-direction:column;align-items:flex-start;gap:6px;max-width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere}.boarding-download-button strong{font-size:14px;letter-spacing:.04em}.boarding-download-button span{display:block}
