/* Form Components */
.form-group {
  @apply mb-6;
}

.form-label {
  @apply block text-sm font-medium text-gray-700 mb-2;
}

.form-input {
  @apply w-full px-4 py-3 border border-gray-300 rounded-lg;
  @apply focus:ring-2 focus:ring-blue-500 focus:border-blue-500;
  @apply transition-colors duration-200;
  @apply placeholder-gray-500;
}

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

.form-input.error {
  @apply border-red-300 focus:ring-red-500 focus:border-red-500;
}

.form-error {
  @apply text-red-600 text-sm mt-1;
}

.btn {
  @apply font-medium py-3 px-6 rounded-lg transition-colors duration-200;
  @apply focus:outline-none focus:ring-2 focus:ring-offset-2;
}

.btn-primary {
  @apply bg-blue-600 hover:bg-blue-700 text-white;
  @apply focus:ring-blue-500;
}

.btn-secondary {
  @apply bg-gray-200 hover:bg-gray-300 text-gray-900;
  @apply focus:ring-gray-500;
}

.btn-full {
  @apply w-full;
}

/* Form sections */
.form-section {
  @apply bg-white rounded-lg shadow-sm border border-gray-200 p-8;
}

.form-header {
  @apply space-y-2 mb-8;
}

.form-title {
  @apply text-2xl font-semibold text-gray-900;
}

.form-subtitle {
  @apply text-gray-600;
}

/* Date input basic styling */
input[type="date"] {
  @apply bg-white;
  height: 48px;
}