input.relay-masked {
  -webkit-text-security: disc;
  text-security: disc;
  font-family: inherit;
  letter-spacing: 0.08em;
}

input.relay-masked::placeholder {
  -webkit-text-security: none;
  text-security: none;
}

input[type="password"] {
  letter-spacing: normal;
  caret-color: auto;
}

/* Same floated label as Auth0 when the field has a value, including after blur. */
.c629135ce.cf48edfdc.ca5c1bb7b > label,
.c629135ce.cf48edfdc:focus-within > label {
  top: -2px !important;
  transform: scale(0.88) translateX(-0.57rem) translateY(-58%) !important;
  background: #fff;
  z-index: 2;
}

button[data-relay-loading="1"] {
  position: relative;
  color: transparent !important;
  pointer-events: none;
  opacity: 1 !important;
}

button[data-relay-loading="1"]::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 18px;
  height: 18px;
  margin: -11px 0 0 -11px;
  border-radius: 50%;
  border: 2px solid rgba(12, 12, 11, 0.25);
  border-top-color: #0c0c0b;
  animation: relay-spin 0.6s linear infinite;
}

@keyframes relay-spin {
  to {
    transform: rotate(360deg);
  }
}
