/* Sign-in-only overrides; do not change shared dashboard styles. */
.login-card { min-width: 0; }
.login-card .kicker { font-size: 12px; }
.login-card > p, .login-card .login-help { color: #52565d; font-size: 14px; line-height: 1.55; }
.login-card label { font-size: 12px; }
.login-card input { font-size: 16px; min-height: 48px; }
.login-card .primary { font-size: 14px; min-height: 48px; }
.login-card button:disabled { opacity: .65; cursor: wait; }
.login-card a { color: #a9121c; text-underline-offset: 3px; }
.login-card .recovery-link, .login-links a { display: flex; align-items: center; min-height: 44px; padding: 8px 0; font-size: 14px; font-weight: 600; line-height: 1.45; }
.login-card .login-help { margin: 8px 0 16px; }
.login-card .login-message { margin: 16px 0; padding: 12px; background: #fff1f2; border-left: 3px solid #a9121c; font-size: 14px; line-height: 1.55; }
.login-links { margin: 16px 0; border-top: 1px solid var(--line); padding-top: 8px; }
.login-card :focus-visible { outline: 3px solid #1b5fa8; outline-offset: 3px; }
.login-card [hidden] { display: none !important; }
@media (max-width: 900px) {
  .login-shell { padding: 24px max(16px, 5vw) 36px; gap: 24px; }
  .login-brand { position: static; width: 180px; justify-self: center; }
}
@media (max-width: 560px) {
  .login-card { padding: 28px 20px; }
  .login-card h1 { font-size: 52px; }
}
