/* Login uses the shared application palette, form controls and card styling. */
.auth-page { margin: 0; }
.auth-header { display: flex; align-items: center; padding: 16px clamp(20px, 5vw, 72px); }
.auth-brand { display: inline-flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; font-size: 1.05rem; font-weight: 700; line-height: 1.35; }
.auth-brand:hover { color: #fff; }
.auth-brand img { flex: 0 0 auto; object-fit: contain; background: #fff; border-radius: 10px; padding: 4px; }
.auth-brand small { display: block; margin-top: 3px; color: #c7d6e8; font-size: .74rem; font-weight: 400; }
.auth-main { min-height: calc(100vh - 76px); display: flex; align-items: center; }
.auth-main > .container { max-width: 460px; margin-block: auto !important; }
.auth-main .auth-card { width: 100%; margin: 0; border-top: 5px solid var(--nbs-blue) !important; }
.auth-intro { text-align: center; margin-bottom: 28px; }
.auth-eyebrow { display: block; margin-bottom: 9px; color: var(--nbs-blue); font-size: .75rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.auth-main .form-title { font-size: clamp(1.35rem, 4vw, 1.65rem); margin-bottom: 14px !important; }
.auth-intro p { margin: 0; color: #596b83; font-size: .9rem; line-height: 1.6; }
.auth-main .form-control { padding: 12px 14px; font-size: 1rem; }
.auth-main .auth-submit { min-height: 48px; border-radius: 11px; font-weight: 650; }
.auth-submit span { margin-left: 8px; }
.auth-submit .form-loading-spinner { margin-left: 0; }
.auth-card-footer { margin-top: 26px; padding-top: 22px; border-top: 1px solid #e4eaf2; text-align: center; }
.auth-card-footer a { color: #245eae; text-decoration: none; font-size: .875rem; font-weight: 600; }
.auth-card-footer a:hover { text-decoration: underline; }
.auth-footer { margin-top: 24px; color: #596b83; font-size: .75rem; text-align: center; line-height: 1.6; }
.auth-error { margin-top: 6px; color: #b42335; font-size: .85rem; }
.auth-page a:focus-visible, .auth-page button:focus-visible { outline: 3px solid #6da8f6; outline-offset: 4px; }
@media (max-width: 575.98px) {
  .auth-header { padding: 14px 20px; }
  .auth-main { min-height: calc(100svh - 72px); padding: 28px 16px !important; }
  .auth-main .auth-card { padding: 28px 22px; }
}