/* The artwork keeps its original 941 × 1672 ratio; controls sit in its open right side. */
*{box-sizing:border-box}
html{background:#260008;color-scheme:dark}
body{margin:0;color:#fff;font-family:Arial,sans-serif;background:radial-gradient(ellipse at top,#701322,#260008 75%)}
button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}
.flight-poster{position:relative;isolation:isolate;container-type:inline-size;width:min(100%,600px);aspect-ratio:941/1672;margin-inline:auto}
.flight-background{position:absolute;inset:0 0 auto;aspect-ratio:941/1672;z-index:-1;background-image:url('../images/login-jetworldfly-background.png');background-size:contain;background-repeat:no-repeat;pointer-events:none;user-select:none;-webkit-user-drag:none}
.login-card{position:relative;width:55%;margin-left:41%;padding-top:48%;padding-bottom:0;text-shadow:0 1px 5px #25000980}
.login-heading{margin:0 0 13cqw;padding-left:14%}
.intro{font-size:4cqw;font-style:italic;margin:0 0 1cqw}
h1{font-size:6.2cqw;line-height:1.03;font-style:italic;margin:0;color:#efd184;letter-spacing:-.025em}
.tagline{font-size:2.5cqw;line-height:1.35;margin:2.8cqw 0 0}
.tagline:after{content:'';display:block;width:7cqw;height:2px;background:#edcb7c;margin-top:1.3cqw}
form{display:grid;gap:1.4cqw}
.field{display:flex;align-items:center;min-width:0;height:10cqw;min-height:44px;border-bottom:1px solid #ffffffa6;background:linear-gradient(90deg,#24050920,#16040670);border-radius:8px 8px 0 0}
.field:focus-within{outline:2px solid #edcb7c;outline-offset:2px}
.field-icon{display:flex;flex:0 0 8cqw;justify-content:center}.field-icon svg{width:3.8cqw;height:3.8cqw}
.country-code{display:flex;align-items:center;gap:1.5cqw;font-size:2.4cqw;white-space:nowrap;padding-right:2cqw;border-right:1px solid #ffffff80}
.flag{width:3.8cqw;height:2.7cqw;background:linear-gradient(#f32935 50%,#fff 50%);border-radius:1px}
.field input{width:100%;min-width:0;flex:1;border:0;outline:0;background:transparent;color:#fff;font-size:max(16px,2.3cqw);padding:0 1.8cqw;height:100%}
input::placeholder{color:#f5edeb;opacity:1}
.password-toggle{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;color:#fff;background:none;border:0;cursor:pointer}
.password-toggle svg{width:24px;height:24px}
.login-submit{display:flex;align-items:center;justify-content:center;gap:3cqw;width:100%;min-height:48px;height:10.5cqw;margin-top:1.8cqw;border:1px solid #fa3157;border-radius:3cqw;background:linear-gradient(120deg,#cb2546,#650013 65%,#360009);color:white;font-weight:700;font-size:3.5cqw;cursor:pointer;box-shadow:0 8px 24px #24000930}
.login-submit svg{width:4cqw;height:4cqw}.login-submit:disabled{opacity:.7;cursor:wait}
.spinner{display:none;fill:none;stroke:currentColor;stroke-width:3;stroke-dasharray:40 20;animation:spin 1s linear infinite}.loading .spinner{display:block}.loading .arrow{display:none}
.register-link{text-align:center;font-size:2.4cqw;line-height:1.6;margin:3cqw 0 0}
.register-link a{color:#ffc158;font-weight:700;text-decoration:none;display:inline-block;min-height:44px;align-content:center}
.forgot-password{display:block;margin:0 0 0 auto;min-height:44px;padding:0;background:none;border:0;color:#fff;font-size:2.4cqw;cursor:pointer}
.recovery-help{font-size:14px;background:#36000a;padding:12px;border:1px solid #ceaa61;border-radius:8px}
:focus-visible{outline:2px solid #ffdc89;outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.toast{position:fixed;z-index:10;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:none;align-items:center;gap:12px;width:max-content;max-width:calc(100% - 32px);padding:12px 16px;border:1px solid #dfb567;border-radius:12px;background:#420b17;box-shadow:0 8px 30px #0008;font-size:14px}.toast.show{display:flex}.toast-icon{color:#ffd17d}.toast button{border:0;background:none;color:white;font-size:24px;min-width:44px;min-height:44px}
/* Keep native-size inputs usable on phones while retaining the complete artwork. */
@media(max-width:480px){.login-heading{margin-bottom:9cqw}.login-card{width:60%;margin-left:37%;padding-top:48%}.country-code{font-size:12px;gap:4px;padding-right:5px}.field-icon{flex-basis:22px}.field-icon svg{width:17px;height:17px}.flag{width:16px;height:12px}.field input{padding-inline:6px}.password-toggle{flex-basis:36px;width:36px}.login-submit{font-size:18px}.register-link,.forgot-password{font-size:12px}.register-link{margin-top:10px;line-height:1.2}.register-link a{min-height:30px}.forgot-password{min-height:36px}}
@media(min-width:601px){body{padding:24px}.flight-poster{box-shadow:0 20px 90px #0007;border-radius:12px;overflow:hidden}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
@keyframes spin{to{transform:rotate(360deg)}}

@media(max-width:360px){.login-heading{margin-bottom:3cqw}.register-link{font-size:11px}.register-link a{min-height:28px}.forgot-password{font-size:11px}}
