/* Login page */
.login-page { min-height: 100vh; min-height: 100dvh; display: flex; background: var(--bg); }
.login-wrap { flex: 1; display: flex; align-items: center; justify-content: center; padding: 24px 16px; }
.login-card {
  width: min(400px, 100%); display: flex; flex-direction: column; gap: 16px; padding: 40px 32px 32px;
  background: var(--panel); border: 1px solid var(--line); border-radius: 24px;
}
.login-brand { display: flex; align-items: center; gap: 8px; font-size: 18px; font-weight: 600; color: var(--accent); margin-bottom: 8px; }
.login-logo { width: 32px; height: 32px; }
.login-card h1 { margin: 0; font-size: 32px; font-weight: 600; line-height: 1.25; color: var(--text); }
.login-sub { margin: -8px 0 8px; font-size: 14px; color: var(--text-3); }
.login-card .input-wrap { height: 48px; }
.login-eye { color: var(--text-3); font-size: 13px; padding: 4px 2px; }
.login-eye:hover { color: var(--text); }
.login-error { margin: -4px 0 0; font-size: 13px; color: var(--down); line-height: 1.45; }
.login-card .btn-lg { height: 48px; font-size: 16px; margin-top: 4px; }
.login-foot { margin: 8px 0 0; text-align: center; font-size: 12px; color: var(--text-4); }
@media (max-width: 767px) {
  .login-wrap { align-items: flex-start; padding: 0; }
  .login-card { width: 100%; min-height: 100vh; min-height: 100dvh; border: 0; border-radius: 0; background: var(--bg); padding: 56px 24px 24px; }
  .login-card h1 { font-size: 28px; }
}
