input, select, textarea {
    transition: all 0.2s ease-in-out;
}

input:focus, select:focus, textarea:focus {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.15);
}

input:disabled,
select:disabled,
button:disabled {
    background-color: #f8fafc;
    color: #94a3b8;
    cursor: not-allowed;
    opacity: 0.7;
    transform: none !important;
}

/* Confirmation Modal */
#confirmationModal {
    animation: modalFadeIn 0.2s ease-out;
}

@keyframes modalFadeIn {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

button:not(:disabled) {
    transition: all 0.2s ease-in-out;
}

button:not(:disabled):hover {
    transform: translateY(-2px);
}

@media (max-width: 768px) {
    .modal-center .bg-white {
        margin: 1rem;
        width: calc(100% - 2rem);
    }
    
    #confirmationModal .bg-white {
        margin: 1rem;
        width: calc(100% - 2rem);
    }
}

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

.fa-spinner {
    animation: spin 1s linear infinite;
}

/* Event type badges */
.event-type-course {
    @apply bg-gradient-to-r from-blue-500 to-blue-600 text-white;
}

.event-type-seminar {
    @apply bg-gradient-to-r from-green-500 to-green-600 text-white;
}

.event-type-workshop {
    @apply bg-gradient-to-r from-purple-500 to-purple-600 text-white;
}

/* Progress bars */
.progress-bar {
    @apply w-full bg-gray-200 rounded-full h-2;
}

.progress-fill {
    @apply bg-sky-600 h-2 rounded-full transition-all duration-300;
}

/* Custom field styling */
.purple-focus:focus {
    @apply ring-2 ring-purple-500 border-purple-500;
}

.green-focus:focus {
    @apply ring-2 ring-green-500 border-green-500;
}

/* Responsive improvements */
@media (max-width: 640px) {
    .event-card {
        @apply mx-2;
    }
}

/* Smooth transitions */
.event-card {
    transition: all 0.3s ease-in-out;
}

.event-card:hover {
    @apply shadow-xl;
    transform: translateY(-4px);
}