/* Custom Form Components */

/* Enhanced Input Fields */
.form-input {
  @apply w-full px-3 py-2 border border-gray-300 rounded-lg;
  @apply focus:ring-2 focus:ring-brand-500 focus:border-brand-500;
  @apply transition-all duration-200;
  @apply dark:bg-gray-800 dark:border-gray-600 dark:text-white;
  @apply dark:focus:ring-brand-400 dark:focus:border-brand-400;
}

.form-input:invalid {
  @apply border-red-400 focus:ring-red-500 focus:border-red-500;
}

/* Form Labels */
.form-label {
  @apply block text-sm font-medium text-gray-700 mb-1;
  @apply dark:text-gray-300;
}

.form-label.required::after {
  content: ' *';
  @apply text-red-500;
}

/* Form Error Messages */
.form-error {
  @apply text-sm text-red-600 mt-1;
  @apply dark:text-red-400;
}

/* Form Groups */
.form-group {
  @apply mb-4;
}

/* Select Dropdowns */
.form-select {
  @apply w-full px-3 py-2 border border-gray-300 rounded-lg;
  @apply focus:ring-2 focus:ring-brand-500 focus:border-brand-500;
  @apply bg-white transition-all duration-200;
  @apply dark:bg-gray-800 dark:border-gray-600 dark:text-white;
}