
@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Плавное появление */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Пульсация для кнопок и уведомлений */
@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(50, 115, 220, 0.7);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(50, 115, 220, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(50, 115, 220, 0);
    }
}

/* Мигание для индикаторов */
@keyframes blink {
    0%, 50% { 
        opacity: 1; 
    }
    51%, 100% { 
        opacity: 0.3; 
    }
}

/* Утилитные классы для применения анимаций */
.fade-in {
    animation: fadeIn 0.3s ease-in-out;
}

.slide-down {
    animation: slideDown 0.3s ease-in-out;
}

.is-pulsing {
    animation: pulse 2s infinite;
}

.is-blinking {
    animation: blink 1s infinite;
}

