/* Контейнер для уведомлений */
#notification-container {
    pointer-events: none;
}

#notification-container > div {
    pointer-events: auto;
}

/* Анимации для уведомлений */
.notification-enter {
    opacity: 0;
    transform: translateX(100%);
}

.notification-enter-active {
    opacity: 1;
    transform: translateX(0);
    transition: opacity 500ms, transform 500ms;
}

.notification-exit {
    opacity: 1;
}

.notification-exit-active {
    opacity: 0;
    transform: translateX(100%);
    transition: opacity 500ms, transform 500ms;
}

/* Стили для toast уведомлений */
.notification-toast {
    backdrop-filter: blur(10px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.notification-toast:hover {
    transform: translateY(-2px);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

/* Анимация пульсации для важных уведомлений */
@keyframes pulse-notification {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.8;
    }
}

.notification-pulse {
    animation: pulse-notification 2s infinite;
}

/* Стили для кнопки закрытия */
.notification-close-btn {
    border-radius: 50%;
    padding: 2px;
}

.notification-close-btn:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.notification-close-btn:focus {
    outline: 2px solid rgba(255, 255, 255, 0.3);
    outline-offset: 2px;
}

/* Адаптивность для мобильных устройств */
@media (max-width: 640px) {
    #notification-container {
        right: 1rem;
        left: 1rem;
        max-width: none;
    }
    
    .notification-toast {
        margin: 0;
    }
}

/* Темная тема */
@media (prefers-color-scheme: dark) {
    .notification-toast {
        box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.3), 0 10px 10px -5px rgba(0, 0, 0, 0.1);
    }
    
    .notification-toast:hover {
        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    }
} 