@font-face { font-family: 'FlyX Login'; src: url('../fonts/inter-latin-var.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap; }
body.loginbody.fx-login-page {
  --fx-login-header-offset: 94px;
  --fx-login-ink: #202d32;
  --fx-login-muted: #78817f;
  --fx-login-border: #e5e8e2;
  background: #f8f9f5 !important;
  color: var(--fx-login-ink);
  font-family: 'FlyX Login', Inter, Arial, sans-serif;
  padding: 0 !important;
  height: auto;
  min-height: 100vh;
  overflow-y: auto !important;
}
.fx-login-page .fx-auth-wrap,
.fx-login-page .fx-auth-wrap * { box-sizing: border-box; }
.fx-login-page .fx-auth-wrap {
  max-width: 1240px;
  margin: 0 auto;
  padding: calc(var(--fx-login-header-offset) + 40px) 32px 46px;
}
.fx-login-page main#main-content.fx-auth-wrap { padding-top: calc(var(--fx-login-header-offset) + 40px) !important; }
.fx-login-page .fx-auth-shell { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; gap: 68px; }
.fx-login-page .fx-auth-brand { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: space-between; min-height: 648px; padding: 30px; border-radius: 22px; overflow: hidden; background: #304b42; color: #fff; }
.fx-login-page .fx-auth-brand::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, #182d241a 0%, transparent 35%, #172b2766 58%, #142b28e8 100%); }
.fx-login-page .fx-auth-brand > .fx-login-hero { position: absolute; z-index: -2; inset: 0; width: 100% !important; height: 100% !important; max-height: none !important; object-fit: cover; object-position: 57% center; }
.fx-login-page .fx-photo-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.fx-login-page .fx-brand-kicker { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; background: #ffffffeb; color: #354b41; border-radius: 5px; font-size: 8px; line-height: 1.3; font-weight: 700; letter-spacing: 1.2px; }
.fx-login-page .fx-brand-kicker i { font-size: 12px; transform: rotate(-18deg); }
.fx-login-page .fx-photo-coordinate { font-family: Georgia, serif; color: #fff; font-style: italic; font-size: 12px; text-shadow: 0 1px 4px #0006; }
.fx-login-page .fx-photo-note { position: absolute; top: 117px; right: 28px; width: 150px; margin: 0; padding: 5px 5px 9px; border-radius: 3px; background: #fffefa; transform: rotate(5deg); box-shadow: 0 5px 20px #14251f26; }
.fx-login-page .fx-photo-note img { display: block; width: 100%; height: 90px; object-fit: cover; }
.fx-login-page .fx-photo-note figcaption { color: #556157; font: italic 10px/1.4 Georgia, serif; text-align: center; margin-top: 7px; }
.fx-login-page .fx-brand-story { margin-top: 260px; }
.fx-login-page .fx-brand-overline { display: block; margin-bottom: 14px; color: #e1e8d5; font-size: 8px; font-weight: 600; line-height: 1.5; letter-spacing: 1.6px; }
.fx-login-page .fx-brand-title { margin: 0 0 18px; font: 400 clamp(37px, 3.3vw, 47px)/1.12 Georgia, 'Times New Roman', serif; letter-spacing: -1.2px; color: #fff; }
.fx-login-page .fx-brand-sub { margin: 0; max-width: 350px; color: #e0e6df; font-size: 12px; line-height: 1.8; font-weight: 400; }
.fx-login-page .fx-photo-footer { display: flex; align-items: center; gap: 22px; padding-top: 24px; margin-top: 26px; border-top: 1px solid #ffffff30; color: #eef1e9; font-size: 10px; font-weight: 500; }
.fx-login-page .fx-photo-footer span { display: inline-flex; gap: 7px; align-items: center; }
.fx-login-page .fx-photo-footer i { color: #d3dfcc; font-size: 12px; }
.fx-login-page .fx-auth-card { min-width: 0; padding: 19px 0 7px; display: flex; flex-direction: column; }
.fx-login-page .fx-login-eyebrow { display: block; color: #7c8578; font-size: 9px; line-height: 1.4; letter-spacing: 1.6px; font-weight: 650; margin-bottom: 14px; }
.fx-login-page .fx-auth-h1 { margin: 0 0 12px; color: var(--fx-login-ink); font-size: 33px; letter-spacing: -1.3px; line-height: 1.15; font-weight: 650; }
.fx-login-page .fx-auth-h1 > span { color: #ee622b; }
.fx-login-page .fx-auth-lead { margin: 0; color: var(--fx-login-muted); font-size: 12px; font-weight: 400; line-height: 1.75; }
.fx-login-page .fx-login-tabs { display: flex; gap: 5px; margin: 29px 0 28px; padding: 5px; border: 1px solid #e7e9e3; border-radius: 10px; background: #eef0e9; }
.fx-login-page .fx-login-tabs[hidden] { display: none; }
.fx-login-page .fx-login-tabs > button { display: flex; align-items: center; justify-content: center; gap: 8px; flex: 1; padding: 11px 7px; min-height: 42px; border: 1px solid transparent; border-radius: 7px; background: transparent; color: #7e877f; font-family: inherit; font-size: 12px; font-weight: 550; line-height: 1.2; cursor: pointer; }
.fx-login-page .fx-login-tabs > button[aria-selected="true"] { background: #fff; color: #2c4235; border-color: #e2e6dd; box-shadow: 0 2px 4px #1d30200a; }
.fx-login-page .fx-login-tabs i { font-size: 13px; }
.fx-login-page .fx-panel-title { margin: 0 0 9px; color: var(--fx-login-ink); font-size: 18px; line-height: 1.4; letter-spacing: -.4px; font-weight: 600; }
.fx-login-page .fx-customer-copy { max-width: 390px; margin: 0 0 26px; color: var(--fx-login-muted); font-size: 12px; line-height: 1.8; font-weight: 400; }
.fx-login-page .fx-customer-panel,
.fx-login-page .fx-agent-panel { min-width: 0; padding: 0; background: transparent; border: 0; box-shadow: none; }
.fx-login-page .fx-agent-panel { margin-top: 30px; }
.fx-login-page .fx-login-enhanced .fx-agent-panel { margin-top: 0; }
.fx-login-page .fx-customer-panel[hidden],
.fx-login-page .fx-agent-panel[hidden] { display: none; }
.fx-login-page .fx-input-label { display: block; margin: 0 0 8px; font-size: 11px; font-weight: 600; line-height: 1.5; color: #414c45; }
.fx-login-page .fx-field { position: relative; margin-bottom: 16px; }
.fx-login-page .fx-field > i { position: absolute; top: 50%; left: 16px; transform: translateY(-50%); font-size: 15px; color: #9da59e; pointer-events: none; }
.fx-login-page .fx-field input { display: block; width: 100%; min-width: 0; height: 51px; padding: 0 15px 0 43px; border: 1px solid #dfe3db; border-radius: 9px; background: #fff; color: #29382e; font: 400 14px/1.4 'FlyX Login', Inter, Arial, sans-serif; outline: none; box-shadow: 0 1px 2px #23352803; transition: border-color .15s, box-shadow .15s; }
.fx-login-page .fx-field input::placeholder { color: #a3aaa2; }
.fx-login-page .fx-field input:focus { border-color: #9cab91; box-shadow: 0 0 0 3px #6e86591a; }
.fx-login-page .fx-customer-submit,
.fx-login-page .fx-agent-submit { display: flex; width: 100%; min-height: 49px; align-items: center; justify-content: center; gap: 16px; padding: 13px 16px; margin: 2px 0 0; border: 0; border-radius: 9px; background: #ef622b; color: #fff; font-family: inherit; font-size: 12px; font-weight: 650; line-height: 1.4; cursor: pointer; box-shadow: 0 4px 8px #ea622a0d; transition: background .15s; }
.fx-login-page .fx-customer-submit:hover { background: #da5120; }
.fx-login-page .fx-customer-submit i,
.fx-login-page .fx-agent-submit i { font-size: 11px; }
.fx-login-page .fx-agent-submit { background: #2e493b; }
.fx-login-page .fx-agent-submit:hover { background: #213c2e; }
.fx-login-page .fx-code-note { display: flex; justify-content: center; align-items: baseline; gap: 6px; margin: 12px 0 25px; color: #959c92; font-size: 9px; line-height: 1.6; }
.fx-login-page .fx-code-note i { color: #8b9687; }
.fx-login-page .fx-customer-options { color: #828b81; font-size: 11px; line-height: 1.6; text-align: center; }
.fx-login-page .fx-customer-options a { color: #395d46 !important; font-weight: 600; text-decoration: none; margin-left: 4px; }
.fx-login-page .fx-customer-options a:hover { text-decoration: underline; }
.fx-login-page .fx-new-traveller { margin: 25px 0 0; padding: 15px 0 0; border-top: 1px solid var(--fx-login-border); font-size: 10px; color: #8b9488; line-height: 1.8; }
.fx-login-page .fx-new-traveller span { color: #4e5b4b; font-weight: 600; }
.fx-login-page .fx-social-entry { margin-top: 22px !important; padding-top: 20px !important; border-color: var(--fx-login-border) !important; }
.fx-login-page .fx-social-entry a { border-radius: 9px !important; border-color: #dfe3db !important; font-family: inherit !important; font-size: 12px !important; font-weight: 550 !important; color: #43553f !important; }
.fx-login-page .fx-social-entry p { font-size: 10px !important; color: #8b9488 !important; }
.fx-login-page .fx-password-label { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.fx-login-page .fx-forgot { margin: 0 0 8px; padding: 0; background: transparent; border: 0; color: #687d60; font-family: inherit; font-size: 10px; font-weight: 500; cursor: pointer; }
.fx-login-page .fx-password-field input { padding-right: 47px; }
.fx-login-page .fx-password-toggle { display: grid; place-items: center; position: absolute; top: 7px; right: 7px; width: 37px; height: 37px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: #919a8d; font-size: 15px; cursor: pointer; }
.fx-login-page .fx-password-toggle[hidden] { display: none; }
.fx-login-page .fx-password-toggle:hover { background: #f0f3ec; }
.fx-login-page .agent-login-error { margin-bottom: 18px; padding: 12px; background: #fff0eb; border: 1px solid #f3cdc1; border-radius: 8px; color: #ae452a; font-size: 12px; line-height: 1.7; }
.fx-login-page .fx-agent-foot { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; margin-top: 20px; color: #8b9488; font-size: 10px; line-height: 1.8; text-align: center; }
.fx-login-page .fx-agent-foot a { color: #395d46 !important; font-weight: 600; text-decoration: none; }
.fx-login-page .fx-agent-foot a i { transform: rotate(45deg); margin-left: 3px; }
.fx-login-page .fx-login-help { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; column-gap: 7px; row-gap: 4px; padding-top: 30px; margin-top: auto; color: #939b90; font-size: 10px; line-height: 1.8; }
.fx-login-page .fx-login-help > i { color: #87957e; font-size: 13px; }
.fx-login-page .fx-login-help a { color: #4d6544 !important; text-decoration: none; font-weight: 550; }
.fx-login-page .fx-login-help a i { font-size: 9px; margin-left: 3px; }
.fx-login-page .fx-trust { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 28px 0 0; padding: 24px 0 0; border-top: 1px solid #e2e6dc; }
.fx-login-page .fx-trust-card { display: flex; align-items: flex-start; gap: 12px; padding: 0 8px; }
.fx-login-page .fx-trust-icon { display: grid; place-items: center; flex: 0 0 33px; width: 33px; height: 33px; border: 1px solid #dce3d4; border-radius: 50%; color: #789065; background: #f3f6ed; font-size: 14px; }
.fx-login-page .fx-trust-card h3 { margin: 1px 0 5px; color: #4e5e46; font-size: 10px; line-height: 1.4; font-weight: 600; }
.fx-login-page .fx-trust-card p { margin: 0; color: #929b8b; font-size: 9px; line-height: 1.7; }
.fx-login-page .fx-auth-wrap :is(a, button):focus-visible { outline: 3px solid #b48046; outline-offset: 3px; }
.fx-login-page .fx-auth-lead, .fx-login-page .fx-customer-copy { font-size: 14px; }
.fx-login-page .fx-panel-title { font-size: 20px; }
.fx-login-page .fx-input-label { font-size: 12px; }
.fx-login-page .fx-login-tabs > button { font-size: 13px; }
.fx-login-page .fx-customer-submit, .fx-login-page .fx-agent-submit { font-size: 14px; }
.fx-login-page .fx-customer-options { font-size: 12px; }
.fx-login-page .fx-code-note, .fx-login-page .fx-new-traveller, .fx-login-page .fx-login-help, .fx-login-page .fx-agent-foot { font-size: 11px; }
.fx-login-page .fx-trust-card h3 { font-size: 12px; }
.fx-login-page .fx-trust-card p { font-size: 11px; }
.fx-login-page .fx-code-note, .fx-login-page .fx-new-traveller,
.fx-login-page .fx-login-help, .fx-login-page .fx-agent-foot,
.fx-login-page .fx-trust-card p { color: #6c7766; }
.fx-login-page .fx-social-entry p { color: #6c7766 !important; }
.fx-login-page .flightfooter { margin-top: 0 !important; }
@media (max-width: 1100px) {
  .fx-login-page .fx-auth-shell { gap: 40px; }
  .fx-login-page .fx-auth-brand { padding: 26px; }
  .fx-login-page .fx-photo-coordinate { display: none; }
  .fx-login-page .fx-brand-title { font-size: 38px; }
}
@media (max-width: 900px) {
  .fx-login-page .fx-auth-wrap { padding-left: 24px; padding-right: 24px; }
  .fx-login-page .fx-auth-shell { grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); gap: 32px; }
  .fx-login-page .fx-auth-brand { min-height: 630px; padding: 22px; }
  .fx-login-page .fx-brand-title { font-size: 32px; letter-spacing: -.8px; }
  .fx-login-page .fx-brand-sub { font-size: 11px; }
  .fx-login-page .fx-brand-overline { font-size: 7px; }
  .fx-login-page .fx-photo-note { width: 120px; right: 22px; }
  .fx-login-page .fx-photo-note img { height: 75px; }
  .fx-login-page .fx-photo-footer { gap: 12px; }
  .fx-login-page .fx-auth-h1 { font-size: 28px; }
  .fx-login-page .fx-trust { gap: 12px; }
}
@media (max-width: 700px) {
  body.loginbody.fx-login-page { --fx-login-header-offset: 0px; }
  .fx-login-page .fx-auth-wrap { padding: calc(var(--fx-login-header-offset) + 26px) 24px 32px; }
  .fx-login-page main#main-content.fx-auth-wrap { padding-top: calc(var(--fx-login-header-offset) + 26px) !important; }
  .fx-login-page .fx-auth-shell { display: flex; flex-direction: column; gap: 28px; }
  .fx-login-page .fx-auth-card { order: 0; padding: 0; }
  .fx-login-page .fx-auth-brand { order: 1; min-height: 330px; padding: 24px; border-radius: 16px; }
  .fx-login-page .fx-brand-story { margin-top: 100px; }
  .fx-login-page .fx-photo-note { width: 100px; top: 25px; right: 25px; transform: rotate(4deg); }
  .fx-login-page .fx-photo-note img { height: 60px; }
  .fx-login-page .fx-photo-note figcaption { font-size: 8px; }
  .fx-login-page .fx-brand-title { font-size: 34px; }
  .fx-login-page .fx-brand-sub { font-size: 11px; max-width: 275px; }
  .fx-login-page .fx-brand-overline { font-size: 7px; margin-bottom: 10px; }
  .fx-login-page .fx-photo-footer { padding-top: 17px; margin-top: 19px; }
  .fx-login-page .fx-auth-h1 { font-size: 31px; }
  .fx-login-page .fx-login-eyebrow { font-size: 8px; margin-bottom: 12px; }
  .fx-login-page .fx-login-tabs { margin-top: 23px; margin-bottom: 24px; }
  .fx-login-page .fx-panel-title { font-size: 18px; }
  .fx-login-page .fx-field input { font-size: 16px; }
  .fx-login-page .fx-code-note { font-size: 9px; }
  .fx-login-page .fx-login-help { padding-top: 24px; }
  .fx-login-page .fx-trust { grid-template-columns: minmax(0, 1fr); gap: 20px; padding-top: 22px; }
  .fx-login-page .fx-trust-card { padding: 0; }
  .fx-login-page .fx-trust-card h3 { font-size: 11px; }
  .fx-login-page .fx-trust-card p { font-size: 10px; }
}
@media (max-width: 370px) {
  .fx-login-page .fx-auth-wrap { padding-left: 18px; padding-right: 18px; }
  .fx-login-page .fx-brand-kicker { max-width: 135px; font-size: 7px; padding: 7px; letter-spacing: .5px; }
  .fx-login-page .fx-photo-note { width: 85px; right: 19px; }
  .fx-login-page .fx-photo-note img { height: 51px; }
  .fx-login-page .fx-brand-title { font-size: 29px; }
}
@media (max-width: 767px) {
  body.loginbody.fx-login-page { padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px)) !important; }
  body.loginbody .mobile-bottom-nav { position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:2147482500!important;display:flex!important;align-items:flex-start!important;justify-content:space-around!important;gap:3px!important;width:100%!important;min-height:calc(58px + env(safe-area-inset-bottom,0px))!important;margin:0!important;padding:4px 7px calc(5px + env(safe-area-inset-bottom,0px))!important;border:0!important;border-radius:20px 20px 0 0!important;background:#fff!important;box-shadow:0 -10px 28px rgba(15,23,42,.14)!important;overflow:hidden!important; }
  body.loginbody .mobile-bottom-nav .nav-item,body.loginbody .mobile-bottom-nav .fx-more-menu-button { display:flex!important;flex:1 1 0!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important;min-width:0!important;height:52px!important;margin:0!important;padding:2px!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#1b2940!important;font:850 9px/1 Manrope,Poppins,Arial,sans-serif!important;text-decoration:none!important; }
  body.loginbody .mobile-bottom-nav .nav-item>svg,body.loginbody .mobile-bottom-nav .fx-more-menu-button>svg { display:block!important;width:21px!important;height:21px!important;margin:0!important;fill:none!important;stroke:#1b2940!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important; }
  body.loginbody .mobile-bottom-nav .nav-item>span,body.loginbody .mobile-bottom-nav .fx-more-menu-button>span { display:block!important;max-width:100%!important;margin:0!important;padding:0!important;color:#1b2940!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important; }
}
@media (prefers-reduced-motion: reduce) {
  .fx-login-page .fx-field input, .fx-login-page .fx-customer-submit, .fx-login-page .fx-agent-submit { transition: none; }
}
