.remember-checkbox:not(:checked) {
  border: 1px solid #fe7b3f;
  background-color: #fff;
}

.remember-checkbox:checked {
  background-color: #fe7b3f;
  border-color: #fe7b3f;
}

.remember-checkbox:focus {
  box-shadow: none !important;
  outline: none !important;
}
/* Add to your custom-auth.css or auth.css */

.text-danger {
  color: #dc3545 !important;
  font-size: 13px;
  margin-top: 4px;
  display: none !important; /* Hidden by default */
  font-weight: 600 !important;
}

.text-danger.show {
  display: block !important; /* Show when class 'show' is added */
}
.text-danger.show {
  animation: slideDown 0.3s ease-out forwards;
}
/* ===== VALIDATION STYLES ===== */

/* Error state for inputs */
.is-invalid {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25) !important;
}

/* Error state for select2 */
.select2-container--default
  .is-invalid
  + .select2-container
  .select2-selection--single {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25) !important;
}

@keyframes slideDown {
  0% {
    opacity: 0;
    transform: translateY(-5px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Success message styling */
.text-success {
  color: #28a745 !important;
  font-size: 12px;
  margin-top: 4px;
  display: none;
}

.text-success.show {
  display: block !important;
}

/* Bottom margin adjustment for error messages */
.mb-3 {
  margin-bottom: 1.5rem !important;
}

/* Error container spacing */
.text-danger.font-weight-bold {
  min-height: 20px;
}
/* ============================================
   PASSWORD REQUIREMENTS - PROFESSIONAL DESIGN
   ============================================ */

/* Requirement badges */
.requirement {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 500;
  transition: all 0.3s ease;
  background: #f8f9fa;
  color: #6c757d;
  border: 1px solid #e9ecef;
}

/* Requirement - Met (Success) */
.requirement.met {
  background: #d4edda;
  color: #155724;
  border-color: #b7d4b7;
}

/* Requirement - Unmet (Error) */
.requirement.unmet {
  background: #f8d7da;
  color: #721c24;
  border-color: #f5c6cb;
}

/* ============================================
   PASSWORD STRENGTH - PROFESSIONAL DESIGN
   ============================================ */

#passwordStrengthContainer {
  transition: all 0.3s ease;
}

#strengthBadge {
  font-family: "Inter", sans-serif;
  transition: all 0.3s ease;
}

/* Strength: Weak */
.strength-weak #strengthBadge {
  background: #ff6b6b !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(255, 107, 107, 0.25);
}
.strength-weak .progress-bar {
  background: linear-gradient(90deg, #ff6b6b, #ff8a8a) !important;
  width: 25% !important;
}

/* Strength: Medium */
.strength-medium #strengthBadge {
  background: #ffd93d !important;
  color: #2d3436 !important;
  box-shadow: 0 2px 8px rgba(255, 217, 61, 0.25);
}
.strength-medium .progress-bar {
  background: linear-gradient(90deg, #ffd93d, #ffb347) !important;
  width: 60% !important;
}

/* Strength: Strong */
.strength-strong #strengthBadge {
  background: #6bcb77 !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(107, 203, 119, 0.25);
}
.strength-strong .progress-bar {
  background: linear-gradient(90deg, #6bcb77, #2d9b4e) !important;
  width: 100% !important;
}

/* Password Input States */
#password {
  transition:
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

#password.is-invalid {
  border-color: #ff6b6b !important;
  box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.12) !important;
}

#password.is-valid {
  border-color: #6bcb77 !important;
  box-shadow: 0 0 0 3px rgba(107, 203, 119, 0.12) !important;
}

/* Error Message */
#userPass {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #ff6b6b !important;
  padding: 4px 0 0 0;
  animation: slideDown 0.25s ease-out forwards;
}

#userPass.show {
  display: block !important;
}

@keyframes slideDown {
  0% {
    opacity: 0;
    transform: translateY(-4px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

#strengthText {
  font-family: "Inter", sans-serif;
  font-weight: 500;
  transition: color 0.3s ease;
}

.strength-weak #strengthText {
  color: #ff6b6b !important;
}
.strength-medium #strengthText {
  color: #ffb347 !important;
}
.strength-strong #strengthText {
  color: #6bcb77 !important;
}

.progress {
  background: #f1f3f5 !important;
  border-radius: 2px !important;
}
.invalid-feedback {
  display: block !important;
  color: #dc3545;
  font-size: 14px;
  margin-top: 5px;
}
.field-error {
  animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Remove border radius from invalid fields */
.is-invalid:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}
