/**
 * animations.css
 * OpsFlow custom animations for smooth UI transitions
 */

/**
 * Fade-in-up animation
 * Used for error states, modals, and other components that need smooth entry
 * Duration: 0.3s with ease-out timing for natural deceleration
 */
@keyframes fade-in-up {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in-up {
    animation: fade-in-up 0.3s ease-out;
}

/**
 * Fade-in animation (no movement)
 * Used for subtle content reveals
 */
@keyframes fade-in {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.animate-fade-in {
    animation: fade-in 0.3s ease-out;
}

/**
 * Slide-down animation
 * Used for dropdowns and expanding content
 */
@keyframes slide-down {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-slide-down {
    animation: slide-down 0.2s ease-out;
}

/**
 * Scale-in animation
 * Used for modals and popups
 */
@keyframes scale-in {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.animate-scale-in {
    animation: scale-in 0.2s ease-out;
}
