.form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.form-input-container {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.form-input {
  width: 100%;
  background: #23242a;
  box-sizing: border-box;
  outline: none;
  border-radius: 2px;
  padding: 12px 16px;
  font-weight: 400;
  font-size: 16px;
  line-height: 135%;
  color: #c5c7ce;
  border: 10px solid transparent;
  border-image-slice: 1;
  border-width: 1px;

}




.form-input-caption {
  font-weight: 400;
  font-size: 14px;
  line-height: 140%;
  color: #c5c7ce;
}

.form-input:focus {
  border: linear-gradient(180deg, #bc75ff 0%, #798fff 100%);
}

.form-border {
  cursor: text;
  position: relative;
  border: 1px solid transparent;

}

.form-border::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 4px;
  padding: 1px;
  background: transparent;
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.form-border-error {
  cursor: text;
  position: relative;
  border: 1px solid transparent;

}

.form-border-error::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 4px;
  padding: 1px;
  background: transparent;
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.form-border-error:focus-within::after {
  background: linear-gradient(180deg, #E94444 100%, #E94444 100%);
}

.form-border:focus-within::after {
  background: linear-gradient(180deg, #798fff -41.07%, #d375ff 100%);
}



input:-webkit-autofill,
input:-webkit-autofill:focus {
  transition: background-color 600000s 0s, color 600000s 0s;
}

.error-caption {
  font-style: normal;
  font-weight: 400;
  font-size: 10px;
  line-height: 130%;
  /* identical to box height, or 13px */
  height: 26px;
  display: none;
  /* Error */
  color: #E94444;
}

.error-caption-active {
  display: inline-block;
}