html, body.login-page { min-height: 100%; }
body.login-page { overflow-x: hidden; overflow-y: auto; }
.login-page .login-shell { min-height: 100svh; }
.login-page .login-panel { min-width: 0; padding: 80px 32px 40px; }
.login-page .login-card-wrap { width: 100%; max-width: 460px; min-width: 0; }
.login-page .neon-login-card { min-height: 0; padding: 32px; }
.login-page .input-shell { height: 52px; }
.login-page .input-shell input { width: 100%; min-width: 0; font-size: 16px; }
.login-page .input-eye { border: 0; background: transparent; padding: 0; flex: 0 0 40px; height: 44px; cursor: pointer; }
.login-page .input-eye:focus-visible { outline: 2px solid #24b4de; border-radius: 4px; }
.login-page .login-submit-btn {
    height: 50px; border-radius: 6px; gap: 10px;
    font-size: 15px; font-weight: 600; line-height: 1; letter-spacing: 0;
    background: #176be5; box-shadow: 0 3px 8px rgba(17, 75, 150, .16);
}
.login-page .login-submit-btn span { font: inherit; letter-spacing: 0; }
.login-page .login-submit-btn i { width: 16px; height: 16px; font-size: 14px; border-radius: 0; background: transparent; }
.login-page .login-submit-btn:hover { background: #1259c3; transform: none; filter: none; box-shadow: 0 3px 8px rgba(17, 75, 150, .2); }
.login-page .login-submit-btn:focus-visible { outline: 2px solid #1684b1; outline-offset: 3px; }
.login-page .login-heading-block h1 { font-size: 28px; letter-spacing: 0; }
.login-page .login-heading-block p { line-height: 1.6; }
.login-page .custom-steve-logo span { letter-spacing: 0; }
.login-page .login-heading-block, .login-page .login-field-group { margin-bottom: 24px; }
.login-page .neon-login-card::before, .login-page .login-card-glow,
.login-page .ambient-ring, .login-page .ambient-dots { display: none; }
.login-page .alert { overflow-wrap: anywhere; font-size: 13px; }
.login-theme-control { position: absolute; top: 20px; right: 24px; z-index: 5; }
@media (max-width: 991px) {
    .login-page .neon-login-shell { display: flex; flex-direction: column; background: #050b18; overflow: visible; }
    .login-page .neon-login-shell::before { display: none; }
    .login-page .neon-login-hero { display: none; }
    .login-page .login-panel { flex: 1; width: 100%; min-height: 100svh; padding: 80px 24px 32px; align-items: center; }
    .login-page .neon-login-card { background: transparent; border: 0; border-radius: 0; box-shadow: none; padding: 0; }
    .login-page .neon-login-brand { margin-bottom: 24px; }
    .login-page .login-actions-row { margin: 0 0 24px; }
    .login-page .login-heading-block h1 { font-size: 26px; }
    .login-page .custom-steve-logo .steve-mark { height: 72px; }
    .login-theme-control { right: 20px; top: 16px; }
}
@media (max-height: 600px) {
    .login-page .login-panel { align-items: flex-start; padding-top: 72px; }
    .login-page .neon-login-brand { margin-bottom: 12px; }
    .login-page .custom-steve-logo .steve-mark { height: 60px; }
}
@media (prefers-reduced-motion: reduce) {
    .login-page *, .login-page *::before, .login-page *::after { animation: none !important; transition: none !important; }
}
