/* Tata letak halaman login dan registrasi sekolah. */
.auth-page { min-height: 100vh; min-height: 100svh; padding: 32px 20px; }
.auth-card { margin: auto; }
.auth-card-register { max-width: 560px; }
.auth-card .auth-subtitle { line-height: 1.55; }
.auth-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 12px; }
.auth-form-grid-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.auth-form-grid > * { min-width: 0; }
.npsn-input-row { display: flex; gap: 8px; }
.npsn-input-row .form-control { min-width: 0; flex: 1 1 auto; }
.npsn-input-row .btn { flex: 0 0 auto; justify-content: center; min-height: 44px; }
.auth-card .form-control { min-width: 0; }
.auth-card .alert, .npsn-result { overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .auth-page { padding: 60px 16px 24px; }
  .auth-card { padding: 26px 20px; border-radius: 18px; }
  .auth-card h2 { font-size: 1.55rem; }
  .auth-card .auth-subtitle { font-size: .9rem; margin-bottom: 24px; }
  .auth-card .form-group { margin-bottom: 16px; }
  .auth-card .form-control { min-height: 46px; font-size: 16px; padding: 10px 12px; }
  .auth-card .btn-block { min-height: 48px; padding: 12px 20px; font-size: 1rem; }
  .auth-form-grid-three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .auth-form-grid-three > :last-child { grid-column: 1 / -1; }
}
@media (max-width: 350px) {
  .auth-page { padding-left: 12px; padding-right: 12px; }
  .auth-card { padding: 24px 16px; }
  .auth-form-grid { grid-template-columns: minmax(0, 1fr); }
  .auth-form-grid-three > :last-child { grid-column: auto; }
}
