body.supervision-auth-pending > aside,
body.supervision-auth-pending > main,
body.supervision-auth-required > aside,
body.supervision-auth-required > main,
body.supervision-auth-pending > #supervision-logout,
body.supervision-auth-required > #supervision-logout {
  visibility: hidden;
}

.supervision-auth-overlay {
  align-items: center;
  background:
    radial-gradient(circle at 20% 10%, #fff4c9 0, transparent 34%),
    linear-gradient(145deg, #f5f8fa, #eaf2f4);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 24px;
  position: fixed;
  z-index: 5000;
}

.supervision-auth-overlay[hidden] {
  display: none;
}

.supervision-login-card {
  background: #fff;
  border: 1px solid #e0e7eb;
  border-radius: 22px;
  box-shadow: 0 22px 60px #00182d24;
  max-width: 430px;
  padding: 34px;
  width: 100%;
}

.supervision-login-card img {
  display: block;
  margin: 0 auto 18px;
  max-height: 76px;
  max-width: 190px;
}

.supervision-login-card h1 {
  color: #162a35;
  font-size: 27px;
  margin: 0;
  text-align: center;
}

.supervision-login-intro {
  color: #64717a;
  margin: 8px 0 24px;
  text-align: center;
}

.supervision-login-card label {
  color: #263a44;
  display: block;
  font-weight: 700;
  margin: 14px 0 6px;
}

.supervision-login-card input {
  border: 1px solid #cdd8dd;
  border-radius: 11px;
  box-sizing: border-box;
  font: inherit;
  padding: 13px 14px;
  width: 100%;
}

.supervision-login-card input:focus {
  border-color: #07955b;
  box-shadow: 0 0 0 3px #07955b1f;
  outline: none;
}

#supervision-login-submit {
  background: #078c56;
  border: 0;
  border-radius: 11px;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  margin-top: 22px;
  padding: 14px;
  width: 100%;
}

#supervision-login-submit:hover {
  background: #067849;
}

#supervision-login-submit:disabled {
  cursor: wait;
  opacity: .7;
}

#supervision-login-message {
  color: #a02929;
  min-height: 21px;
  margin: 15px 0 0;
  text-align: center;
}

@media (max-width: 520px) {
  .supervision-login-card {
    padding: 25px 20px;
  }
}

