/* Intake Page Styles */

/* Smooth transitions */
.fade-in {
    animation: fadeIn 0.3s ease-in-out;
}

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

/* Form styling */
.form-input {
    @apply w-full px-4 py-2.5 border border-gray-300 rounded-lg text-sm
           focus:outline-none focus:ring-2 focus:ring-brand-500 focus:border-brand-500
           transition-colors;
}

.form-select {
    @apply w-full px-4 py-2.5 border border-gray-300 rounded-lg text-sm bg-white
           focus:outline-none focus:ring-2 focus:ring-brand-500 focus:border-brand-500
           transition-colors appearance-none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");
    background-position: right 0.5rem center;
    background-repeat: no-repeat;
    background-size: 1.5em 1.5em;
    padding-right: 2.5rem;
}

.form-textarea {
    @apply w-full px-4 py-2.5 border border-gray-300 rounded-lg text-sm
           focus:outline-none focus:ring-2 focus:ring-brand-500 focus:border-brand-500
           transition-colors resize-none;
}

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

.form-label .required {
    @apply text-red-500 ml-0.5;
}

/* Step indicator */
.step-dot {
    @apply w-8 h-8 rounded-full flex items-center justify-center text-sm font-medium transition-all;
}

.step-dot.active {
    @apply bg-brand-600 text-white;
}

.step-dot.completed {
    @apply bg-green-500 text-white;
}

.step-dot.pending {
    @apply bg-gray-200 text-gray-500;
}

.step-line {
    @apply h-0.5 flex-1 transition-all;
}

.step-line.completed {
    @apply bg-green-500;
}

.step-line.pending {
    @apply bg-gray-200;
}

/* Submit button */
.btn-primary {
    @apply w-full py-3 px-6 bg-brand-600 text-white font-medium rounded-lg
           hover:bg-brand-700 focus:outline-none focus:ring-2 focus:ring-brand-500 focus:ring-offset-2
           transition-colors disabled:opacity-50 disabled:cursor-not-allowed;
}

/* Loading spinner */
.spinner {
    @apply inline-block w-5 h-5 border-2 border-white border-t-transparent rounded-full;
    animation: spin 0.6s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}
