/* ===== АНИМАЦИИ ДЛЯ БОКОВОЙ ПАНЕЛИ ===== */

/* Анимация появления боковой панели */
@keyframes animation-sidebar-slide-in {
    0% {
        transform: translateX(-100%);
        opacity: 0;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Анимация скрытия боковой панели */
@keyframes animation-sidebar-slide-out {
    0% {
        transform: translateX(0);
        opacity: 1;
    }
    100% {
        transform: translateX(-100%);
        opacity: 0;
    }
}

/* ВРЕМЕННО ОТКЛЮЧЕНО - Анимация появления навигационных элементов с задержкой */
/*
@keyframes animation-nav-item-fade-in {
    0% {
        opacity: 0;
        transform: translateX(-20px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}
*/

/* ВРЕМЕННО ОТКЛЮЧЕНО - Анимация для селектора кабинетов */
/*
@keyframes animation-cabinet-selector-fade-in {
    0% {
        opacity: 0;
        transform: translateY(-10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}
*/

/* ВРЕМЕННО ОТКЛЮЧЕНО - Анимация для профиля пользователя */
/*
@keyframes animation-user-profile-fade-in {
    0% {
        opacity: 0;
        transform: translateY(10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}
*/

/* Классы для применения анимаций */
.animation-sidebar-enter {
    animation: animation-sidebar-slide-in 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.animation-sidebar-exit {
    animation: animation-sidebar-slide-out 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

/* ВРЕМЕННО ОТКЛЮЧЕНО - Анимация навигационных элементов */
/*
.animation-nav-items {
    opacity: 0;
    animation: animation-nav-item-fade-in 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.animation-nav-items:nth-child(1) { animation-delay: 0.1s; }
.animation-nav-items:nth-child(2) { animation-delay: 0.15s; }
.animation-nav-items:nth-child(3) { animation-delay: 0.2s; }
.animation-nav-items:nth-child(4) { animation-delay: 0.25s; }
.animation-nav-items:nth-child(5) { animation-delay: 0.3s; }
.animation-nav-items:nth-child(6) { animation-delay: 0.35s; }
.animation-nav-items:nth-child(7) { animation-delay: 0.4s; }
*/




/* ВРЕМЕННО ОТКЛЮЧЕНО - Анимация селектора кабинетов */
/*
.animation-cabinet-selector {
    opacity: 0;
    animation: animation-cabinet-selector-fade-in 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
*/

/* ВРЕМЕННО ОТКЛЮЧЕНО - Анимация профиля пользователя */
/*
.animation-user-profile {
    opacity: 0;
    animation: animation-user-profile-fade-in 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.45s forwards;
}
*/

/* Анимация оверлея */
@keyframes animation-overlay-fade-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animation-overlay-fade-out {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

.animation-overlay-enter {
    animation: animation-overlay-fade-in 0.3s ease forwards;
}

.animation-overlay-exit {
    animation: animation-overlay-fade-out 0.3s ease forwards;
}

/* ===== АНИМАЦИИ ДЛЯ СТРАНИЦЫ ПЕРЕРАСПРЕДЕЛЕНИЙ ===== */

/* Анимация спиннера загрузки */
@keyframes animation-redistribution-spin {
    0% { 
        transform: rotate(0deg); 
    }
    100% { 
        transform: rotate(360deg); 
    }
}

/* Анимация появления деталей заявки */
@keyframes animation-redistribution-fade-in {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Анимация появления карточек заявок */
@keyframes animation-redistribution-card-slide-in {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Классы для применения анимаций перераспределений */
.animation-redistribution-spin {
    animation: animation-redistribution-spin 1s linear infinite;
}

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

.animation-redistribution-card-enter {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.4s ease;
}

.animation-redistribution-card-enter.show {
    opacity: 1;
    transform: translateY(0);
}

/* ===== АНИМАЦИИ ДЛЯ КАРТОЧЕК И БЛОКОВ ===== */

/* Стильная анимация появления карточек */
@keyframes animation-card-fade-in {
    0% {
        opacity: 0;
        transform: translateY(30px) scale(0.95);
        filter: blur(2px);
    }
    50% {
        opacity: 0.7;
        transform: translateY(15px) scale(0.98);
        filter: blur(1px);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

/* Дополнительная анимация для hover эффекта */
@keyframes animation-card-hover {
    0% {
        transform: translateY(0) scale(1);
    }
    100% {
        transform: translateY(-5px) scale(1.02);
    }
}

/* Класс для анимации карточек с задержкой */
.animation-card-enter {
    opacity: 0;
    transform: translateY(30px) scale(0.95);
    filter: blur(2px);
    transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
    will-change: transform, opacity, filter;
}

.animation-card-enter.show {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
}

/* Задержки для последовательного появления с более плавным распределением */
.animation-card-enter:nth-child(1) { transition-delay: 0.05s; }
.animation-card-enter:nth-child(2) { transition-delay: 0.1s; }
.animation-card-enter:nth-child(3) { transition-delay: 0.15s; }
.animation-card-enter:nth-child(4) { transition-delay: 0.2s; }
.animation-card-enter:nth-child(5) { transition-delay: 0.25s; }
.animation-card-enter:nth-child(6) { transition-delay: 0.3s; }
.animation-card-enter:nth-child(7) { transition-delay: 0.35s; }
.animation-card-enter:nth-child(8) { transition-delay: 0.4s; }
.animation-card-enter:nth-child(9) { transition-delay: 0.45s; }
.animation-card-enter:nth-child(10) { transition-delay: 0.5s; }

/* Hover эффект для карточек */
.animation-card-enter.show:hover {
    transform: translateY(-5px) scale(1.02);
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}
