.login-page { min-height: 100dvh; height: auto; overflow: auto; white-space: normal; }
.login-page .topbar { position: relative; }
.login-main { display: flex; flex-direction: column; align-items: center; justify-content: center; height: auto; min-height: calc(100dvh - var(--topbar-h)); padding: 48px 24px; gap: 28px; }
.login-card { width: 100%; max-width: 420px; padding: 36px; background: var(--panel); border: 1px solid var(--border); border-radius: 24px; box-shadow: 0 8px 36px rgba(0, 0, 0, .04); }
.login-mark { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin: 0 auto 24px; background: var(--soft); border-radius: 18px; }
.login-card h1 { text-align: center; font-size: 26px; font-weight: 600; letter-spacing: -.7px; }
.login-intro { margin-top: 10px; text-align: center; color: var(--muted); font-size: var(--text-sm); line-height: 1.8; }
#login-form { display: flex; flex-direction: column; margin-top: 28px; }
#login-form label { margin-bottom: 8px; font-size: var(--text-sm); font-weight: 500; }
#login-form input { width: 100%; height: 46px; padding: 0 14px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--input); }
#login-form input::placeholder { color: var(--muted); }
#login-form > input { margin-bottom: 20px; }
.login-password { position: relative; }
.login-password input { padding-right: 62px !important; }
.login-password button { position: absolute; top: 5px; right: 6px; height: 36px; }
#login-submit { width: 100%; height: 46px; margin-top: 24px; gap: 10px; border: 0; border-radius: var(--radius-md); background: var(--accent); color: var(--on-accent); font-weight: 600; }
#login-submit:hover { background: var(--accent-hover); }
#login-submit:disabled { opacity: .6; cursor: wait; }
#login-error { margin-top: 14px; padding: 10px 12px; border-radius: var(--radius-sm); background: var(--danger-soft); color: var(--danger); font-size: var(--text-sm); line-height: 1.6; }
.login-help { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--border); text-align: center; color: var(--muted); font-size: var(--text-xs); line-height: 1.7; }
.login-footer { color: var(--muted); font-size: var(--text-xs); }
@media (max-width: 480px) { .login-main { padding: 28px 16px; } .login-card { padding: 28px 24px; } }
