/* Shared interaction layer: tooltips and floating flash messages */
.flash-toast-stack {
    position: fixed;
    top: 1rem;
    right: 1rem;
    z-index: 2200;
    display: grid;
    gap: 0.75rem;
    width: min(420px, calc(100vw - 2rem));
    pointer-events: none;
}

.flash-toast-stack .alert {
    margin: 0;
    border: 0;
    border-radius: 16px;
    box-shadow: 0 18px 44px rgba(30, 10, 60, 0.18);
    pointer-events: auto;
    animation: flashToastIn 180ms ease-out;
}

.flash-toast-stack .alert.fade-out {
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity 220ms ease, transform 220ms ease;
}

.flash-toast-stack .btn-close {
    box-shadow: none;
}

.tooltip {
    --bs-tooltip-bg: #4c1d95;
    --bs-tooltip-color: #ffffff;
    --bs-tooltip-opacity: 0.96;
    font-size: 0.78rem;
    font-weight: 600;
}

@keyframes flashToastIn {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 575.98px) {
    .flash-toast-stack {
        left: 0.75rem;
        right: 0.75rem;
        top: 0.75rem;
        width: auto;
    }
}
