/* Compact login layout; allow scrolling when the keyboard or zoom reduces space. */
.login-page {
  min-height: 100vh;
  min-height: 100svh;
  padding: 16px 12px;
}
.login-card-attendance { width: min(100%, 420px); }
.login-card-attendance .login-hero {
  min-height: 0;
  padding: 20px 20px 16px;
}
.login-logo-attendance {
  width: 190px;
  max-width: 100%;
  height: 82px;
  margin-bottom: 10px;
}
.login-card-attendance .login-brand-name { font-size: 1.25rem; }
.login-card-attendance .login-module-name { font-size: .875rem; margin-top: 4px; }
.login-card-attendance .login-body { padding: 20px; }
.login-card-attendance .form-label { margin-bottom: 6px; font-size: .9375rem; }
.login-card-attendance .form-control { min-height: 44px; font-size: 16px; }
.login-card-attendance .password-row { grid-template-columns: minmax(0, 1fr) 66px; gap: 8px; }
.login-card-attendance .btn-password-toggle { min-height: 44px; font-size: 1rem; padding: 8px; }
.login-card-attendance .login-submit { min-height: 44px; margin-top: 0; font-size: 1rem; }
.login-card-attendance .login-alerts .alert { padding: 10px 12px; margin-bottom: 16px; font-size: .875rem; }
.login-card-attendance .login-links { flex-direction: row; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; margin-top: 12px; }
.login-card-attendance .login-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; }
@media (max-height: 600px) {
  .login-page { align-items: flex-start; padding-top: 8px; padding-bottom: 8px; }
  .login-card-attendance .login-hero { padding: 12px 16px; }
  .login-logo-attendance { width: 140px; height: 60px; margin-bottom: 6px; }
  .login-card-attendance .login-body { padding: 16px; }
}
