/* Password strength meter */
.password-strength-meter {
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.strength-bar-track {
  flex: 1;
  height: 6px;
  border-radius: 3px;
  background-color: #e2e4e8;
  overflow: hidden;
}

.strength-bar-fill {
  height: 100%;
  width: 0%;
  border-radius: 3px;
  background-color: transparent;
  transition: width 0.25s ease, background-color 0.25s ease;
}

.strength-bar-fill.very-weak { background-color: #dc3545; }
.strength-bar-fill.weak { background-color: #fd7e14; }
.strength-bar-fill.fair { background-color: #ffc107; }
.strength-bar-fill.good { background-color: #8bc34a; }
.strength-bar-fill.strong { background-color: #28a745; }
.strength-bar-fill.very-strong { background-color: #198754; }

.strength-label {
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  min-width: 90px;
  text-align: right;
  color: #495057;
}

.strength-label.very-weak { color: #dc3545; }
.strength-label.weak { color: #fd7e14; }
.strength-label.fair { color: #b3880a; }
.strength-label.good { color: #689f38; }
.strength-label.strong { color: #28a745; }
.strength-label.very-strong { color: #198754; }

/* Password requirements checklist */
.password-requirements {
  list-style: none;
  padding: 0;
  margin: 8px 0 0 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 10px;
}

.password-requirements .req-item {
  font-size: 12.5px;
  color: #6c757d;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: color 0.2s ease;
}

.password-requirements .req-icon {
  font-size: 13px;
  line-height: 1;
  color: #adb5bd;
  transition: color 0.2s ease;
}

.password-requirements .req-item.valid {
  color: #198754;
  font-weight: 600;
}

.password-requirements .req-item.valid .req-icon {
  color: #198754;
}

.match-indicator {
  display: inline-block;
  margin-top: 6px;
  font-size: 12.5px;
  font-weight: 600;
}

.match-indicator.match {
  color: #198754;
}

.match-indicator.no-match {
  color: #dc3545;
}
