* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: 'Lexend', system-ui, sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  /* Tech blue — matches the Auth0 Universal Login page background. */
  background: #22567c;
  color: #2d2d2d;
  padding: 16px;
}
/* White login card, mirroring the Auth0 Universal Login widget. */
.container {
  width: 100%;
  max-width: 400px;
  background: #ffffff;
  border-radius: 5px;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.22);
  padding: 40px 40px 36px;
  text-align: center;
}
.logo {
  width: 56px;
  height: 56px;
  margin-bottom: 1.75rem;
}
.spinner {
  width: 36px;
  height: 36px;
  border: 3px solid rgba(23, 149, 212, 0.18);
  border-top-color: #1795d4;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  margin: 0 auto 1.5rem;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}
/* Honour a user's reduced-motion preference (matches the auth-zero boot overlay). */
@media (prefers-reduced-motion: reduce) {
  .spinner { animation: none; }
}
#status {
  font-size: 18px;
  font-weight: 400;
  color: #1a1a1a;
  line-height: 1.5;
}
#detail {
  font-size: 14px;
  font-weight: 300;
  color: #5b6b76;
  margin: 0.6rem auto 0;
  max-width: 22rem;
  line-height: 1.55;
}
#detail a {
  color: #22567c;
  font-weight: 500;
  text-decoration: underline;
}
#detail .employee-sign-in-guidance {
  text-align: left;
}
#detail .employee-sign-in-guidance p {
  margin: 0;
}
#detail .employee-sign-in-guidance ul {
  margin: 0.75rem 0 0;
  padding-left: 1.25rem;
}
#detail .employee-sign-in-guidance li + li {
  margin-top: 0.75rem;
}
#detail .employee-sign-in-guidance p:last-child {
  margin-top: 1rem;
}
/* Off-screen but available to screen readers — used to append context (e.g.
   "opens in a new tab") to links without showing it visually. */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.error-icon {
  font-size: 34px;
  margin-bottom: 1.25rem;
  /* #c62f2f clears 4.5:1 on white (the lighter #d64545 was ~4.4:1, just under AA). */
  color: #c62f2f;
  display: none;
}
.spinner.hidden, .error-icon.hidden { display: none; }
.error-icon.visible { display: block; }
#status.error { color: #c62f2f; }
#retry {
  display: none;
  margin-top: 1.5rem;
  padding: 0.6rem 2rem;
  /* #136f9e gives white button text ~5.5:1 (the brand #1795d4 was ~3.3:1, an AA
     fail for 15px text). Kept in the EE blue family; the lighter brand blue still
     applies to the Auth0 widget buttons, which are outside these pages. */
  background: #136f9e;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-family: 'Lexend', system-ui, sans-serif;
  font-size: 15px;
  font-weight: 400;
  cursor: pointer;
  transition: background 0.2s;
}
#retry:hover { background: #0d5c84; }
