body.login.bms-app-login-mode {
  min-height: 100dvh !important;
  padding-top: max(8px, env(safe-area-inset-top, 0px)) !important;
  padding-bottom: max(10px, env(safe-area-inset-bottom, 0px)) !important;
  overscroll-behavior-y: none;
}

body.login.bms-app-login-mode #login {
  animation: bmsAppLoginIn .28s ease-out both;
}

body.login.bms-app-login-mode #loginform {
  transform: translateZ(0);
}

body.login.bms-app-login-mode .bms-app-login-hint {
  width: min(92vw, 430px);
  margin: 0 auto 10px;
  padding: 10px 13px;
  border: 1px solid rgba(111, 45, 189, .12);
  border-radius: 14px;
  background: rgba(111, 45, 189, .07);
  color: #5b21b6;
  text-align: center;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.login.bms-app-login-mode .button-primary.is-bms-loading,
body.login.bms-app-login-mode .button-primary:disabled {
  opacity: .82;
  cursor: progress;
  transform: none !important;
}

body.login.bms-app-login-mode .bms-app-login-progress {
  display: none;
  margin: 10px 0 0;
  color: #667085;
  font-size: 13px;
  text-align: center;
  font-weight: 700;
}

body.login.bms-app-login-mode .bms-app-login-progress.is-visible {
  display: block;
}

@keyframes bmsAppLoginIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
