.login-page { display: grid; place-items: center; min-height: 100svh; padding: max(28px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left)); background: radial-gradient(ellipse at 15% 10%, #c5ff3d0c, transparent 50%), radial-gradient(ellipse at 85% 90%, #00f0ff08, transparent 45%), var(--bg); }
.login-shell { width: min(100%, 460px); }
.login-brand { display: flex; flex-direction: column; gap: 12px; margin: 0 0 36px 4px; }
.login-tag, .login-eyebrow { font-size: 10px; letter-spacing: .16em; color: #9191a6; }
.login-card { padding: 36px; border: 1px solid var(--border); background: var(--surface); border-radius: 20px; box-shadow: 0 24px 80px #0005; }
.login-card h1 { font-family: system-ui, sans-serif; font-size: clamp(28px, 7vw, 36px); line-height: 1.2; margin-top: 18px; letter-spacing: -.04em; }
.login-card h1 span { color: var(--lime); }
.login-copy { color: #a0a0b5; margin: 14px 0 30px; line-height: 1.65; font-family: system-ui, sans-serif; font-size: 15px; }
.login-card label { display: block; margin: 18px 0 8px; color: #c7c7d4; font-family: system-ui, sans-serif; font-size: 14px; }
.login-card input { width: 100%; min-height: 52px; border: 1px solid var(--border-hot); border-radius: 10px; padding: 14px; background: var(--bg); color: var(--text); font-size: 16px; outline: none; }
.login-card input:focus { border-color: var(--lime); box-shadow: 0 0 0 3px #c5ff3d18; }
.password-field { position: relative; }
.password-field input { padding-right: 100px; }
.password-field button { position: absolute; right: 4px; top: 4px; min-height: 44px; padding: 0 12px; border: 0; color: #a0a0b5; background: transparent; cursor: pointer; }
.login-error { color: #ff8095; font-family: system-ui, sans-serif; min-height: 22px; margin: 14px 0 8px; }
.login-submit { display: flex; justify-content: space-between; width: 100%; padding: 16px 20px; background: var(--lime); border: 0; border-radius: 10px; color: var(--bg); font-size: 16px; font-weight: 700; cursor: pointer; }
.login-submit:disabled { opacity: .6; cursor: wait; }
.login-note { border-top: 1px solid var(--border); padding-top: 22px; margin-top: 28px; font-size: 11px; color: #9191a6; display: flex; align-items: center; gap: 8px; }
.login-dot { width: 6px; height: 6px; background: var(--lime); border-radius: 50%; flex-shrink: 0; }
.login-footer { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; font-size: 10px; color: #9191a6; margin-top: 24px; }
@media (max-width: 480px) { .login-card { padding: 26px 22px; } .login-brand { margin-bottom: 24px; } }

.login-eyebrow, .login-note { font-family: system-ui, sans-serif; }
.login-footer .stat-btn { font-size: 12px; }
