.auth-layout{--login-ink:#172033;--login-muted:#667085;--login-border:#d9e0ea;--login-surface:#fff;--login-surface-soft:#f5f7fb;--login-brand:#2457c5;--login-brand-strong:#183f95;--login-brand-ghost:#2457c514;--login-teal:#14b8a6;--login-danger:#b42318;--login-danger-soft:#fef3f2;--login-radius-sm:6px;--login-radius-md:10px;min-width:0;height:100dvh;color:var(--login-ink);background:var(--login-surface-soft);font-family:var(--font-inter), Inter, ui-sans-serif, system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;caret-color:var(--login-brand);grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.auth-layout ::selection{color:var(--login-ink);background:#2457c52e}.auth-visual{background:linear-gradient(160deg,#081020 0%,#0f1d3a 40%,#162a54 100%);flex-direction:column;justify-content:flex-end;min-height:0;padding:56px 48px;display:flex;position:relative;overflow:hidden}.auth-visual-bg{z-index:0;position:absolute;inset:0}.auth-visual,.auth-panel{min-width:0}.auth-visual-content{z-index:1;color:#fff;max-width:520px;animation:.5s ease-out loginFadeInSlide;position:relative}.auth-visual-brand{z-index:2;position:absolute;top:40px;left:48px}.altotrack-wordmark{width:auto;max-width:100%;display:block}.auth-visual-brand svg{width:140px;height:auto}.login-logo svg{width:120px;height:auto}.auth-visual h1{letter-spacing:-.5px;overflow-wrap:break-word;margin:0 0 12px;font-size:clamp(32px,3.5vw,48px);font-weight:700;line-height:1.1}.auth-visual p{color:#ffffffb3;overflow-wrap:break-word;max-width:440px;margin:0 0 32px;font-size:17px;line-height:1.6}.auth-visual-features{gap:14px;max-width:380px;display:grid}.auth-visual-feature{color:#fffc;align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.auth-visual-feature svg{flex-shrink:0;width:18px;height:18px}.avl-route-line{stroke-dasharray:1200;stroke-dashoffset:1200px;animation:4s ease-in-out forwards loginDrawRoute,3s ease-in-out 4s infinite loginPulseRoute}.avl-route-line-secondary{stroke-dasharray:600;stroke-dashoffset:600px;animation:6s ease-in-out 1s forwards loginDrawRoute,4s ease-in-out 7s infinite loginPulseRoute}.avl-route-line-tertiary{stroke-dasharray:400;stroke-dashoffset:400px;animation:8s ease-in-out 2s forwards loginDrawRoute,5s ease-in-out 10s infinite loginPulseRoute}.avl-pulse-dot{transform-origin:50%;animation:2.5s ease-in-out infinite loginPulseDot}.avl-pulse-dot:nth-child(2){animation-delay:.3s}.avl-pulse-dot:nth-child(3){animation-delay:.6s}.avl-pulse-dot:nth-child(4){animation-delay:.9s}.avl-pulse-dot:nth-child(5){animation-delay:1.2s}.avl-pulse-dot:nth-child(6){animation-delay:1.5s}.avl-pulse-dot:nth-child(7){animation-delay:1.8s}.avl-signal-wave{transform-origin:50%;animation:2s ease-in-out infinite loginSignalWave}.avl-signal-wave:nth-child(2){animation-delay:.3s}.avl-signal-wave:nth-child(3){animation-delay:.6s}.avl-glow-dot{animation:2s ease-in-out infinite alternate loginAvlGlow}.avl-truck-move{animation:3s ease-in-out infinite loginTruckMove}.avl-particle{opacity:.6;animation:6s ease-in-out infinite loginParticleFloat}.avl-orbit{transform-origin:50%;animation:10s linear infinite loginOrbitRotate}.avl-scanner{animation:3s ease-in-out infinite loginScannerSweep}.avl-data-stream-2{animation:4s ease-in-out infinite loginDataFade}.avl-data-stream text{animation:2s step-end infinite loginDataBlink}.avl-data-stream text:nth-child(2){animation-delay:.3s}.avl-data-stream text:nth-child(3){animation-delay:.6s}@keyframes loginDrawRoute{to{stroke-dashoffset:0}}@keyframes loginPulseRoute{0%,to{opacity:.4}50%{opacity:1}}@keyframes loginPulseDot{0%,to{r:2;opacity:.3}50%{r:5;opacity:.8}}@keyframes loginSignalWave{0%,to{opacity:.1;transform:scale(1)}50%{opacity:.4;transform:scale(1.3)}}@keyframes loginAvlGlow{0%{opacity:.2;r:3}to{opacity:.7;r:5}}@keyframes loginTruckMove{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes loginParticleFloat{0%,to{opacity:.2;transform:translateY(0)}50%{opacity:.7;transform:translateY(-20px)}}@keyframes loginOrbitRotate{to{transform:rotate(360deg)}}@keyframes loginScannerSweep{0%,to{opacity:.05}50%{opacity:.3}}@keyframes loginDataFade{0%,to{opacity:0}20%,80%{opacity:.15}}@keyframes loginDataBlink{50%{opacity:.3}}@keyframes loginFadeInSlide{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes loginSpin{to{transform:rotate(360deg)}}.auth-visual-dots{z-index:2;gap:8px;display:flex;position:absolute;bottom:32px;left:48px}.auth-visual-dot{cursor:pointer;background:#ffffff4d;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background .3s,transform .2s}.auth-visual-dot.is-active{background:var(--login-teal);transform:scale(1.3)}.auth-visual-dot:focus-visible{outline:2px solid var(--login-teal);outline-offset:3px}.auth-panel{background:var(--login-surface-soft);scrollbar-color:#c5cedb transparent;flex-direction:column;min-width:0;min-height:0;padding:40px;display:flex;overflow:hidden auto}.login-card{gap:0;width:min(100%,420px);min-width:0;max-width:100%;margin:auto;display:grid}.login-logo{margin-bottom:24px}.login-security-badge{color:#315ed2;background:#315ed214;border:1px solid #315ed22e;border-radius:999px;align-items:center;gap:8px;width:fit-content;margin:0 0 18px;padding:8px 14px;display:inline-flex;box-shadow:0 6px 16px #315ed214}.login-security-badge svg{flex-shrink:0;width:16px;height:16px}.login-security-badge span{letter-spacing:0;font-size:13px;font-weight:700;line-height:1}.login-heading{margin-bottom:28px}.login-heading h1{letter-spacing:-.3px;color:var(--login-ink);margin:0 0 6px;font-size:26px;font-weight:700}.login-heading p{color:var(--login-muted);overflow-wrap:break-word;margin:0;font-size:15px;line-height:1.5}.login-form{gap:0;display:grid}.login-field{gap:6px;margin-bottom:18px;display:grid}.login-field-label{color:var(--login-ink);font-size:14px;font-weight:600}.login-input-wrap{align-items:center;display:flex;position:relative}.login-input-icon{width:18px;height:18px;color:var(--login-muted);pointer-events:none;flex-shrink:0;position:absolute;left:14px}.login-field input{border:1px solid var(--login-border);border-radius:var(--login-radius-sm);width:100%;min-width:0;min-height:48px;color:var(--login-ink);background:var(--login-surface);padding:0 14px 0 44px;font-size:15px;transition:border-color .18s,box-shadow .18s,background .18s}.login-field:focus-within .login-field-label{color:var(--login-brand)}.login-field input:focus{border-color:var(--login-brand);box-shadow:0 0 0 3px var(--login-brand-ghost);background:#fff;outline:none}.login-field input::placeholder{color:#a4aebd}.login-field input[aria-invalid=true]{border-color:var(--login-danger)}.login-field input[aria-invalid=true]:focus{box-shadow:0 0 0 3px #b423181f}.login-password-toggle{border-radius:var(--login-radius-sm);width:34px;height:34px;color:var(--login-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:color .16s,background .16s;display:flex;position:absolute;right:8px}.login-password-toggle:hover{color:var(--login-ink);background:var(--login-surface-soft)}.login-password-toggle:focus-visible{outline:2px solid var(--login-brand);outline-offset:1px}.login-password-toggle svg{width:18px;height:18px}.login-field input.login-input-password{padding-right:46px}.login-form-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 18px;display:flex}.login-remember{color:var(--login-muted);cursor:pointer;align-items:center;gap:10px;width:fit-content;margin:0;font-size:14px;font-weight:500;display:flex}.login-remember input{width:16px;height:16px;accent-color:var(--login-brand);margin:0}.login-forgot-link{color:var(--login-brand);font-size:14px;font-weight:600;text-decoration:none}.login-forgot-link:hover{color:var(--login-brand-strong);text-underline-offset:3px;text-decoration:underline}.login-forgot-link:focus-visible{outline:2px solid var(--login-brand);outline-offset:3px;border-radius:var(--login-radius-sm)}.login-field small{color:var(--login-danger);margin-top:2px;font-size:13px;font-weight:600}.login-alert{border-radius:var(--login-radius-sm);background:var(--login-danger-soft);color:var(--login-danger);border:1px solid #b423181f;margin:0 0 16px;padding:12px 14px;font-size:14px;font-weight:600;line-height:1.45}.login-alert-ok{background:var(--login-brand-ghost);color:var(--login-brand-strong);border-color:#2457c529}.login-back{text-align:center;margin-top:18px}.login-back a{color:var(--login-brand);font-size:14px;font-weight:600;text-decoration:none}.login-back a:hover{color:var(--login-brand-strong);text-underline-offset:3px;text-decoration:underline}.login-back a:focus-visible{outline:2px solid var(--login-brand);outline-offset:3px;border-radius:var(--login-radius-sm)}.login-submit{margin-top:4px}.login-submit-btn{border-radius:var(--login-radius-sm);cursor:pointer;color:#fff;background:var(--login-brand);border:1px solid #0000;justify-content:center;align-items:center;gap:10px;width:100%;min-height:48px;padding:0 20px;font-size:15px;font-weight:700;transition:background .18s,transform .12s,box-shadow .18s;display:inline-flex;box-shadow:0 2px 8px #2457c54d}.login-submit-btn:hover:not(:disabled){background:var(--login-brand-strong);transform:translateY(-1px);box-shadow:0 4px 14px #2457c566}.login-submit-btn:active:not(:disabled){transform:translateY(0)}.login-submit-btn:disabled{cursor:not-allowed;opacity:.65;box-shadow:none;transform:none}.login-submit-btn:focus-visible{outline:2px solid var(--login-brand);outline-offset:3px}.login-spinner{border:3px solid #fff6;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite loginSpin}.login-support{border:1px solid var(--login-border);border-radius:var(--login-radius-md);background:var(--login-border);gap:1px;margin-top:28px;display:grid;overflow:hidden}.login-support-item{background:var(--login-surface-soft);color:var(--login-muted);align-items:center;gap:10px;padding:12px 14px;font-size:13px;text-decoration:none;transition:background .16s,color .16s;display:flex}.login-support-item:hover{background:var(--login-surface);color:var(--login-brand)}.login-support-item svg{width:16px;height:16px;color:var(--login-muted);flex-shrink:0;transition:color .16s}.login-support-item:hover svg{color:var(--login-brand)}.login-support-item span{font-weight:500}.login-copyright{text-align:center;color:var(--login-muted);margin-top:20px;font-size:12px}@media (prefers-reduced-motion:reduce){.auth-visual-content,.avl-route-line,.avl-route-line-secondary,.avl-route-line-tertiary,.avl-pulse-dot,.avl-signal-wave,.avl-glow-dot,.avl-truck-move,.avl-particle,.avl-orbit,.avl-scanner,.avl-data-stream-2,.avl-data-stream text{animation:none!important}.avl-particle{opacity:.4}.avl-data-stream{opacity:.12}.login-submit-btn:hover:not(:disabled){transform:none}.login-spinner{border-color:#fff;animation:none}}@media (max-width:1024px){.auth-layout{grid-template-columns:1fr 1.2fr}.auth-visual{padding:40px 32px}.auth-visual-brand{top:28px;left:32px}.auth-visual h1{font-size:30px}.auth-visual p{font-size:15px}.auth-panel{padding:32px 28px}}@media (max-width:820px){.auth-layout{grid-template-columns:1fr;height:auto;min-height:100dvh;overflow:auto}.auth-visual{justify-content:flex-end;min-height:240px;max-height:280px;padding:56px 28px 36px}.auth-visual-brand{top:20px;left:28px}.auth-visual-content{max-width:100%}.auth-visual h1{margin-bottom:6px;font-size:24px}.auth-visual p{max-width:100%;margin-bottom:16px;font-size:14px}.auth-visual-features{display:none}.auth-visual-dots{bottom:16px;left:28px}.auth-panel{padding:24px 20px}}@media (max-width:560px){.auth-visual{min-height:200px;max-height:220px;padding:48px 20px 28px}.auth-visual-brand{top:16px;left:20px}.auth-visual h1{font-size:20px}.auth-visual p{margin-bottom:0;font-size:13px}.auth-visual-dots{gap:6px;bottom:12px;left:20px}.auth-visual-dot{width:6px;height:6px}.auth-panel{padding:20px 16px}}@media (max-width:430px){.auth-visual{min-height:180px;max-height:200px;padding:44px 16px 26px}.auth-visual-brand{top:12px;left:16px}.auth-visual-brand svg{width:140px}.auth-visual h1{font-size:18px}.auth-visual p{margin-bottom:0;font-size:12px}.auth-visual-dots{gap:5px;bottom:10px;left:16px}.auth-visual-dot{width:5px;height:5px}.auth-panel{padding:16px 14px}.login-heading h1{font-size:20px}.login-heading p{font-size:14px}.login-support{margin-top:20px}.login-support-item{padding:10px 12px;font-size:12px}.login-field input,.login-submit-btn{min-height:44px;font-size:14px}}@media (max-width:390px){.auth-visual{min-height:160px;max-height:180px;padding:40px 14px 24px}.auth-visual-brand{top:10px;left:14px}.auth-visual-brand svg{width:120px}.auth-visual h1{font-size:16px}.auth-visual p{display:none}.auth-visual-dots{gap:4px;bottom:8px;left:14px}.auth-panel{padding:14px 12px}.login-heading h1{font-size:18px}.login-support{margin-top:16px}.login-support-item{padding:8px 10px}}
