.passwordRules {
  margin: 8px 0 0 0;
  padding-left: 18px;
  font-size: 13px;
  color: #656565;
}

.passwordRules li {
  margin: 4px 0;
}

.passwordRules li.is-valid {
  color: #198754;
}

.passwordRules li.is-invalid {
  color: #dc3545;
}

.fieldHint {
  display: block;
  margin-top: -2px;
  font-size: 12px;
  color: #656565;
}

.rowInputTextArea {
  height: auto;
  padding-top: 12px;
}

.rowInputTextArea textarea {
  width: 100%;
  border: 0;
  outline: 0;
  resize: vertical;
  padding: 0 0 10px 37px;
  font-size: 14px;
  color: #34213a;
  background: transparent;
}

.rowInput[data-password-container] {
  position: relative;
  z-index: 20;
}

.rowInput[data-password-container].raise-stacking {
  z-index: 500;
}


.passwordPopover {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  max-width: 420px;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
  margin-top: 12px;
  z-index: 100;
  pointer-events: none;
}

.passwordPopover::before {
  content: "";
  position: absolute;
  top: -6px;
  left: 20px;
  width: 12px;
  height: 12px;
  background: #4e2e59;
  transform: rotate(45deg);
  border-top: 1px solid #dee2e6;
  border-left: 1px solid #dee2e6;
}


.passwordPopoverHeader {
  background: #4e2e59;
  color: #fff;
  padding: 12px 14px;
  font-size: 13px;
  line-height: 1.35;
  border-radius: 6px 6px 0 0;
}

.passwordPopoverBody {
  padding: 12px 14px 14px 14px;
}

.passwordPopover .passwordRules {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 13px;
  color: #6c757d;
}

.passwordPopover .passwordRules li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 6px 0;
}

.passwordPopover .passwordRules li::before {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid #8d00b9;
  margin-top: 3px;
  flex: 0 0 12px;
}

.passwordPopover .passwordRules li.is-valid {
  color: #34213a;
}

.passwordPopover .passwordRules li.is-valid::before {
  background: #8d00b9;
}

.passwordPopover .passwordRules li.is-invalid::before {
  background: transparent;
}

[data-password-error] {
  display: block;
  margin-top: 10px;
  padding: 10px 15px;
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
  border-radius: 4px;
  font-size: 13px;
}

[data-confirm-password-error] {
  margin-top: 10px;
  padding: 10px 15px;
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
  border-radius: 4px;
  font-size: 13px;
}

[data-auth-root] .rowInput>div {
  height: auto;
  min-height: 48px;
}

[data-auth-root] .field-validation-error {
  position: static;
  height: auto;
  margin-top: 6px;
  padding: 8px 10px;
  border-radius: 4px;
}

[data-auth-root] .field-validation-error::before {
  display: none;
}



@media (max-width: 576px) {
  .passwordPopover {
    max-width: none;
  }
}
