/* =====================================================
   EmbyUserHub 通用 Toast 通知组件
   引入: <link rel="stylesheet" href="{{ url_for('static', filename='css/toast.css') }}">
   ===================================================== */

.euh-toast-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 10000;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.euh-toast {
    padding: 12px 20px;
    border-radius: 10px;
    border-left: 3px solid;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    font-size: 14px;
    font-weight: 500;
    backdrop-filter: blur(8px);
    max-width: 400px;
    animation: euhToastSlideIn 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.euh-toast.euh-toast-hiding {
    opacity: 0;
    transform: translateX(calc(100% + 20px));
}

.euh-toast-success {
    background-color: rgba(16, 185, 129, 0.1);
    border-left-color: var(--success-color, #10B981);
    color: var(--success-color, #10B981);
}

.euh-toast-error {
    background-color: rgba(244, 63, 94, 0.1);
    border-left-color: var(--error-color, #F43F5E);
    color: var(--error-color, #F43F5E);
}

.euh-toast-warning {
    background-color: rgba(245, 158, 11, 0.1);
    border-left-color: var(--warning-color, #F59E0B);
    color: var(--warning-color, #F59E0B);
}

.euh-toast-info {
    background-color: rgba(6, 182, 212, 0.1);
    border-left-color: var(--info-color, #06b6d4);
    color: var(--info-color, #06b6d4);
}

@keyframes euhToastSlideIn {
    from { transform: translateX(calc(100% + 20px)); opacity: 0; }
    to   { transform: translateX(0); opacity: 1; }
}
