/* Global feedback toasts for both panel and website */
#feedback-root {
    position: fixed;
    top: 1rem;
    right: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    z-index: 1100;
    max-width: min(28rem, 90vw);
    pointer-events: none;
}

.feedback-toast {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 0.9rem 1rem;
    border: 1px solid;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    animation: feedback-slide-in 150ms ease-out;
    pointer-events: auto;
}

.feedback-toast.info {
    color: #0d4f6f !important;
    background: #e8f4fb !important;
    border-color: #b9dff0 !important;
}

.feedback-toast.success {
    color: #1f6b2b !important;
    background: #e8f5e9 !important;
    border-color: #b9dfbf !important;
}

.feedback-toast.warning {
    color: #7a4a00 !important;
    background: #fff4df !important;
    border-color: #f0d29c !important;
}

.feedback-toast.error {
    color: #8b1e1e !important;
    background: #fdecec !important;
    border-color: #efc2c2 !important;
}

.feedback-text {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.95rem;
    line-height: 1.4;
    text-align: left;
}

.feedback-title {
    font-weight: 700;
    letter-spacing: 0.01em;
    text-align: left;
}

.feedback-close {
    border: none;
    background: transparent;
    color: inherit;
    font-size: 1.1rem;
    cursor: pointer;
    margin-left: auto;
    padding: 0.1rem 0.2rem;
}

.feedback-toast.closing {
    opacity: 0;
    transform: translateY(-6px);
    transition: opacity 120ms ease-out, transform 120ms ease-out;
}

@keyframes feedback-slide-in {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }

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