/* Toast notifications */
#toast-container {
    position: fixed;
    left: 50%;
    bottom: 24px;
    transform: translateX(-50%);
    z-index: 10000;
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: min(560px, calc(100vw - 32px));
    pointer-events: none;
}

.toast {
    pointer-events: auto;
    position: relative;
    padding: 14px 46px 14px 14px;
    border-radius: 14px;
    font-family: var(--font-primary);
    line-height: 1.35;
    box-shadow: 0 14px 40px rgba(0,0,0,0.22);
    background: rgba(20, 20, 20, 0.88);
    color: #fff;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

    opacity: 0;
    transform: translateY(12px);
    transition: opacity 180ms ease, transform 220ms ease;
}

.toast--show {
    opacity: 1;
    transform: translateY(0);
}

.toast--hide {
    opacity: 0;
    transform: translateY(12px);
}

.toast--success {
    background: rgba(28, 110, 74, 0.92);
}

.toast--error {
    background: rgba(146, 45, 45, 0.92);
}

.toast--info {
    background: rgba(36, 68, 92, 0.92);
}

.toast--warning {
    background: rgba(170, 94, 32, 0.92);
}

.toast__close {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    border-radius: 10px;
    border: 0;
    background: rgba(255,255,255,0.12);
    color: #fff;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}

.toast__close:hover {
    background: rgba(255,255,255,0.18);
}

@media (prefers-reduced-motion: reduce) {
    .toast {
        transition: none;
    }
}
