body.belair-login-recovery-open {
  overflow: hidden !important;
}

#belair-login-recovery {
  position: fixed;
  inset: 0;
  z-index: 2147483640;
  display: grid;
  place-items: center;
  overflow: auto;
  box-sizing: border-box;
  padding:
    calc(20px + env(safe-area-inset-top))
    16px
    calc(20px + env(safe-area-inset-bottom));
  background:
    linear-gradient(
      145deg,
      rgba(16, 61, 45, .97),
      rgba(29, 77, 63, .94)
    );
}

.belair-login-recovery-card {
  width: min(430px, 100%);
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, .23);
  border-radius: 22px;
  background: rgba(255, 255, 255, .98);
  color: #26372f;
  padding: 25px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .33);
}

.belair-login-recovery-logo {
  display: block;
  width: min(250px, 82%);
  max-height: 95px;
  object-fit: contain;
  margin: 0 auto 15px;
}

.belair-login-recovery-icon {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  margin: 0 auto 11px;
  border-radius: 999px;
  background: #e7f1ea;
  font-size: 1.45rem;
}

.belair-login-recovery-card h1 {
  margin: 0;
  color: #1d4d3f;
  text-align: center;
  font-size: 1.42rem;
}

.belair-login-intro {
  margin: 7px 0 20px;
  color: #65756c;
  text-align: center;
  line-height: 1.45;
}

.belair-login-recovery-form {
  display: flex;
  flex-direction: column;
  gap: 13px;
}

.belair-login-recovery-form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: #40544a;
  font-size: .82rem;
  font-weight: 850;
}

.belair-login-recovery-form input {
  width: 100%;
  min-height: 47px;
  box-sizing: border-box;
  border: 1px solid #c9d7ce;
  border-radius: 11px;
  background: #fff;
  color: #26372f;
  padding: 10px 12px;
  font: inherit;
}

.belair-login-recovery-form input:focus {
  border-color: #3d7a60;
  outline: 3px solid rgba(61, 122, 96, .14);
}

.belair-login-recovery-form button {
  min-height: 49px;
  border: 0;
  border-radius: 11px;
  background: #1d4d3f;
  color: #fff;
  padding: 10px 14px;
  cursor: pointer;
  font: inherit;
  font-size: 1rem;
  font-weight: 900;
}

.belair-login-recovery-form button:disabled {
  opacity: .65;
  cursor: wait;
}

.belair-login-message {
  border-radius: 9px;
  background: #e7f2eb;
  color: #285e42;
  padding: 10px 11px;
  text-align: center;
  font-size: .8rem;
  font-weight: 750;
  line-height: 1.4;
}

.belair-login-message.error {
  background: #fff0ef;
  color: #873c36;
}

@media (max-width: 520px) {
  .belair-login-recovery-card {
    padding: 21px 18px;
    border-radius: 18px;
  }
}
