/* Standalone AerSoft sign-in/recovery presentation. No template JavaScript. */
* { box-sizing:border-box; }
html { min-height:100%; background:#122a3d; }
body.aersoft-auth { margin:0; min-height:100vh; min-height:100svh; background:#122a3d; color:#1b3040; font:15px/1.5 Arial,Helvetica,sans-serif; }
.auth-sky { position:fixed; inset:0; overflow:hidden; pointer-events:none; }
.auth-sky::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url('../images/aersoft-auth-clouds-v1.webp') center / cover no-repeat;
    animation: none;
}
.auth-sky::after { content:""; position:absolute; inset:0; background:linear-gradient(135deg,rgba(18,42,61,.5),rgba(18,42,61,.78)); }
/* The oversized layer moves only within its safety margin, then reverses. */
@keyframes auth-cloud-drift { from { transform:translate3d(-2%,0,0) scale(1.02); } to { transform:translate3d(2%,-1%,0) scale(1.05); } }
.auth-layout { position:relative; min-height:100vh; min-height:100svh; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:32px 20px; padding-top:max(32px,env(safe-area-inset-top)); padding-bottom:max(24px,env(safe-area-inset-bottom)); }
.auth-card { width:100%; max-width:440px; background:#fff; border:1px solid #d8e1e7; border-radius:9px; padding:32px 36px 26px; box-shadow:0 16px 50px #07192740; }
.auth-logo { display:block; width:210px; max-width:75%; height:auto; margin:0 auto 24px; }
.auth-card h1 { margin:0 0 6px; font-size:25px; font-weight:600; letter-spacing:-.4px; text-align:center; }
.auth-intro { margin:0 0 26px; color:#617583; font-size:14px; text-align:center; }
.auth-field { margin-bottom:18px; }
.auth-field label { display:block; font-size:13px; font-weight:600; margin-bottom:7px; }
.auth-field input { width:100%; min-height:48px; border:1px solid #bdccd6; border-radius:4px; padding:11px 12px; background:#fff; color:#1b3040; font:inherit; font-size:16px; }
.auth-submit { display:block; width:100%; min-height:48px; margin-top:24px; padding:12px 16px; border:0; border-radius:4px; background:#165c86; color:#fff; font:inherit; font-weight:600; cursor:pointer; }
.auth-submit:hover { background:#124d70; }
.auth-links { border-top:1px solid #e2e9ed; margin-top:24px; padding-top:16px; text-align:center; }
.auth-links a { display:inline-flex; min-height:44px; align-items:center; color:#165c86; text-decoration:none; font-size:14px; }
.auth-links a:hover { text-decoration:underline; }
.auth-message { background:#eef4f8; color:#25485e; border-left:3px solid #165c86; padding:12px 14px; margin-bottom:20px; border-radius:3px; font-size:14px; overflow-wrap:anywhere; }
.auth-footer { max-width:440px; margin-top:20px; color:#e4edf3; text-align:center; font-size:11px; }
:is(input,button,a):focus-visible { outline:3px solid #3296ba; outline-offset:3px; }
@media(max-width:480px) { .auth-layout { padding-left:16px; padding-right:16px; } .auth-card { padding:26px 24px 20px; } .auth-logo { width:180px; margin-bottom:18px; } }
@media(max-height:650px) { .auth-layout { justify-content:flex-start; } .auth-logo { width:140px; margin-bottom:14px; } }
@media(prefers-reduced-motion:reduce) { .auth-sky::before { animation:none; } }
