#toast-container {
    position: fixed;
    top: var(--sp-4);
    right: var(--sp-4);
    z-index: 10001;
    display: flex;
    flex-direction: column;
}

#vdr-progress {
    display: none;
    height: 3px;
    background: var(--accent);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    transition: width 0.4s ease;
}

.toast { 
    background: var(--surface); 
    padding: var(--sp-3) var(--sp-4);
    border-radius: var(--radius-control); 
    box-shadow: var(--sh-2); 
    display: flex; 
    align-items: center; 
    gap: var(--sp-3);
    border: 1px solid var(--border);
    animation: slideInRight 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    font-weight: var(--fw-600); 
    min-width: 320px; 
    margin-bottom: var(--sp-2); 
    transition: var(--transition);
}
.toast.fade-out {
    opacity: 0;
    transform: translateY(-20px);
}
.toast-success { background: var(--surface); color: var(--success-text); border-color: var(--success-border); box-shadow: var(--sh-success-card); }
.toast-success svg { color: var(--success-text); filter: drop-shadow(0 0 4px rgba(22, 163, 74, 0.35)); }
.toast-error { background: var(--surface); color: var(--danger-text); border-color: var(--danger-border); box-shadow: var(--sh-danger-card); }
.toast-error svg { color: var(--danger-text); filter: drop-shadow(0 0 4px rgba(239, 68, 68, 0.35)); }
.toast-warning { background: var(--surface); color: var(--warning-text); border-color: var(--warning-border); box-shadow: var(--sh-warning-card); }
.toast-warning svg { color: var(--warning-text); filter: drop-shadow(0 0 4px rgba(245, 158, 11, 0.35)); }
@keyframes slideInRight { from { opacity: 0; transform: translateX(40px); } to { opacity: 1; transform: translateX(0); } }
