.site-toast-stack {
    position: fixed;
    top: var(--site-toast-top, 12px);
    right: 12px;
    width: min(400px, calc(100vw - 32px));
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 9999;
    pointer-events: none;

    .site-toast {
        position: relative;
        top: auto;
        left: auto;
        transform: translateY(0);
        width: 100%;
        min-width: 280px;
        max-width: 100%;
        margin-bottom: 0;
        border: 1px solid var(--border-color);
        border-radius: 12px;
        background: var(--field-bg);
        box-shadow: 0 8px 26px var(--shadow-modal);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        -webkit-animation: site-toast-enter 0.2s ease-out;
                animation: site-toast-enter 0.2s ease-out;
        pointer-events: auto;
        padding: 0.85rem 2.5rem 0.85rem 0.95rem;
        color: var(--text-color);

        ul {
            margin: 0;
        }

        li {
            display: flex;
            align-items: flex-start;
            gap: 0.55rem;
            line-height: 1.45;
        }

        .site-toast__msg {
            display: inline-block;
            font-weight: 600;
        }

        i {
            margin-top: 0.1rem;
            font-size: 1rem;
        }

        .close {
            position: absolute;
            top: 0.5rem;
            right: 0.5rem;
            width: 1.75rem;
            height: 1.75rem;
            border: 0;
            border-radius: 999px;
            background: transparent;
            color: var(--gray-700);
            opacity: 0.9;
            text-shadow: none;
            padding: 0;
            margin: 0;
            float: none;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            line-height: 1;
            font-size: 1.15rem;
            font-weight: 700;
            z-index: 1;
            transition: background-color 0.15s ease, color 0.15s ease;
        }

        .close:hover,
        .close:focus {
            background: var(--gray-200);
            color: var(--gray-900);
            opacity: 1;
        }

        .close i {
            margin-top: 0;
            font-size: inherit;
        }
    }

    .site-toast--success,
    .alert-success.site-toast {
        border-left: 4px solid var(--success);
        background: color-mix(in srgb, var(--color-light) 86%, var(--success) 14%);

        i {
            color: var(--success);
        }
    }

    .site-toast--warning,
    .alert-warning.site-toast {
        border-left: 4px solid var(--yellow);
        background: color-mix(in srgb, var(--color-light) 86%, var(--yellow) 14%);

        i {
            color: var(--yellow);
        }
    }

    .site-toast--danger,
    .alert-danger.site-toast {
        border-left: 4px solid var(--danger);
        background: color-mix(in srgb, var(--color-light) 86%, var(--danger) 14%);

        i {
            color: var(--danger);
        }
    }

    .site-toast--info,
    .alert-info.site-toast {
        border-left: 4px solid var(--blue);
        background: color-mix(in srgb, var(--color-light) 86%, var(--blue) 14%);

        i {
            color: var(--blue);
        }
    }
}

@-webkit-keyframes site-toast-enter {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes site-toast-enter {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 767.98px) {
    .site-toast-stack {
        left: 12px;
        right: 12px;
        width: auto;
    }
}

