/* =========================================================================
   LOGIN.CSS — sign-in and password-reset pages
   Uses only tokens from tokens.css (no raw colours here).
   ========================================================================= */

/* These pages are standalone: no navbar, no page-header chrome */
body .navbar { display: none; }
main.container { padding-top: 0; padding-bottom: 0; }

.login-wrapper {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--rb-space-6) var(--rb-space-4);
}

/* Retired decorative background */
.login-bg-decor { display: none; }

.login-card {
  width: 100%;
  max-width: 400px;
  background: var(--rb-surface);
  border: 1px solid var(--rb-border);
  border-radius: var(--rb-radius-lg);
  box-shadow: var(--rb-shadow);
}
.login-card .card-body { padding: var(--rb-space-6) !important; } /* beats .p-4/.p-md-5 */

.login-header { margin-bottom: var(--rb-space-5) !important; } /* beats .mb-4 */
.login-header .login-brand {
  font-size: var(--rb-fs-xl);
  font-weight: var(--rb-fw-semibold);
  color: var(--rb-text);
  letter-spacing: -0.01em;
}
.login-header .login-sub {
  margin-top: var(--rb-space-1);
  font-size: var(--rb-fs-base);
  color: var(--rb-text-muted);
}
.login-header .login-sub strong { color: var(--rb-text); font-weight: var(--rb-fw-semibold); }

.login-form .form-switch .form-check-label { margin-left: var(--rb-space-1); font-size: var(--rb-fs-sm); }

.login-btn {
  min-height: 38px;
  font-weight: var(--rb-fw-semibold);
}

.login-help {
  font-size: var(--rb-fs-sm);
  color: var(--rb-primary);
}
.login-help:hover { color: var(--rb-primary-hover); }

.login-footer { opacity: 1 !important; } /* beats .opacity-75 */
.login-footer p { font-size: var(--rb-fs-xs); color: var(--rb-text-subtle) !important; }

@media (max-width: 480px) {
  .login-card .card-body { padding: var(--rb-space-5) !important; }
}
