/* NHQA login page — split-screen layout */

.auth-shell {
  min-height: 100vh; display: flex; background: var(--brand-white);
}
.auth-aside {
  flex: 1; background: var(--brand-imperial); color: #fff;
  display: flex; flex-direction: column; justify-content: space-between;
  padding: 48px 56px; position: relative; overflow: hidden;
}
.auth-aside::before {
  content: ''; position: absolute; inset: -40% -40% auto auto;
  width: 480px; height: 480px; border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, rgba(33,189,220,.35), transparent 60%);
  pointer-events: none;
}
.auth-aside::after {
  content: ''; position: absolute; inset: auto auto -30% -30%;
  width: 360px; height: 360px; border-radius: 50%;
  background: radial-gradient(circle at 60% 60%, rgba(243,112,10,.28), transparent 60%);
  pointer-events: none;
}
.auth-aside .brand-block      { position: relative; z-index: 1; }
.auth-aside .brand-block img  { max-height: 56px; }
.auth-aside .brand-block .acronym {
  font-size: 2rem; font-weight: 700; letter-spacing: 2px; margin-top: 8px;
}
.auth-aside .brand-block .acronym .accent { color: var(--brand-pumpkin); }
.auth-aside .pitch    { position: relative; z-index: 1; max-width: 480px; }
.auth-aside .pitch h1 { font-size: 2.1rem; font-weight: 700; line-height: 1.2; margin-bottom: 14px; }
.auth-aside .pitch p  { color: rgba(255,255,255,.78); font-size: 1.05rem; }
.auth-aside .footer-line { position: relative; z-index: 1; color: rgba(255,255,255,.5); font-size: .85rem; }

.auth-form {
  flex: 1; display: flex; align-items: center; justify-content: center; padding: 48px 24px;
}
.auth-form .auth-card {
  width: 100%; max-width: 420px;
}
.auth-form h2          { color: var(--brand-imperial); font-weight: 700; margin-bottom: 6px; }
.auth-form .auth-sub   { color: var(--brand-muted); margin-bottom: 24px; }
.auth-form .form-label { font-weight: 600; color: var(--brand-imperial); }
.auth-form .btn-block  { width: 100%; padding: 11px; font-weight: 600; }
.auth-form .auth-meta  { margin-top: 18px; text-align: center; color: var(--brand-muted); font-size: .9rem; }

@media (max-width: 991px) {
  .auth-aside { display: none; }
  .auth-form  { padding: 32px 16px; }
}
