.password-input-wrapper {
  position: relative
}
.toggle-password-vis {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  cursor: pointer;
  color: var(--df-text-secondary);
  transition: color .2s ease
}
.toggle-password-vis:hover {
  color: var(--df-primary)
}
.password-strength-meter {
  height: 8px;
  background-color: #e2e8f0;
  border-radius: 4px;
  margin-top: 8px;
  width: 100%;
  overflow: hidden
}
.strength-bar {
  height: 100%;
  width: 0%;
  border-radius: 4px;
  transition: all .4s cubic-bezier(.4, 0, .2, 1)
}
.strength-text {
  display: block;
  font-size: .85rem;
  margin-top: 5px;
  font-weight: 500;
  text-align: right;
  transition: color .4s ease
}
.strength-bar.medium,
.strength-bar.weak {
  background-color: #dc2626
}
.strength-bar.strong {
  background-color: #f59e0b
}
.strength-bar.very-strong {
  background-color: #16a34a
}
.strength-text.medium,
.strength-text.weak {
  color: #dc2626
}
.strength-text.strong {
  color: #f59e0b
}
.strength-text.very-strong {
  color: #16a34a
}
.df-password-policy {
  background-color: var(--df-bg-main);
  border: 1px solid var(--df-border);
  border-radius: var(--md-radius-sm);
  padding: 1.5rem;
  margin: 2rem 0
}
.df-password-policy h4 {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--df-text-primary);
  padding-bottom: .75rem;
  border-bottom: 1px solid var(--df-border)
}
#df-password-reset-form .df-password-policy ul {
  list-style-type: none!important;
  padding-left: 0;
  margin-bottom: 0
}
.df-password-policy li {
  padding-left: 1.5rem;
  position: relative;
  margin-bottom: .75rem;
  color: var(--df-text-secondary)
}
.df-password-policy li:last-child {
  margin-bottom: 0
}
.df-password-policy li::before {
  content: '\f058';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  color: var(--df-success);
  position: absolute;
  left: 0;
  top: 2px
}
.df-password-policy[data-df-live-policy] li::before {
  content: '\f111';
  font-weight: 400;
  color: #9ca3af
}
.df-password-policy[data-df-live-policy] li.is-met::before {
  content: '\f058';
  font-weight: 900;
  color: var(--df-success,#16a34a)
}
.df-password-policy[data-df-live-policy] li.is-unmet::before {
  content: '\f057';
  font-weight: 900;
  color: #dc2626
}
.df-password-policy[data-df-live-policy] li.is-unmet {
  color: #b91c1c
}
