/* Shared action feedback, based on the Form Builder banner. */
.lp-feedback-region {
    position: fixed;
    top: max(20px, env(safe-area-inset-top));
    right: max(20px, env(safe-area-inset-right));
    z-index: 11000;
    width: min(600px, calc(100vw - 40px));
    pointer-events: none;
}
.lp-feedback {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    box-sizing: border-box;
    width: 100%;
    min-height: 52px;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    padding: 12px 12px 12px 16px;
    border: 0;
    border-radius: 8px;
    background: #d1ecf1;
    color: #0c5460;
    box-shadow: 0 4px 12px rgb(0 0 0 / 15%);
    font: 14px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    pointer-events: auto;
    overflow-wrap: anywhere;
    animation: lp-feedback-enter .2s ease-out;
}
/* Pale semantic surfaces remain readable in either application theme. */
.lp-feedback--success { background: #d4edda; color: #155724; }
.lp-feedback--warning { background: #fff3cd; color: #856404; }
.lp-feedback--error { background: #f8d7da; color: #721c24; }
.lp-feedback__icon { flex: none; font-size: 17px; }
.lp-feedback__content { flex: 1; min-width: 0; }
.lp-feedback__message { display: block; font-weight: 600; }
.lp-feedback__details { margin-top: 8px; font-size: 13px; white-space: pre-line; }
.lp-feedback__close {
    display: grid;
    place-items: center;
    flex: none;
    width: 44px;
    height: 44px;
    margin: -8px -8px -8px 0;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: inherit;
    font: 24px/1 sans-serif;
    cursor: pointer;
}
.lp-feedback__close:hover { background: rgb(0 0 0 / 6%); }
.lp-feedback__close:focus-visible { outline: 2px solid currentColor; outline-offset: -4px; }
/* Marked server flash messages are consumed by the shared banner renderer. */
[data-lp-feedback] { display: none !important; }
@keyframes lp-feedback-enter {
    from { opacity: 0; transform: translateX(12px); }
    to { opacity: 1; transform: translateX(0); }
}
@media (max-width: 575.98px) {
    .lp-feedback-region { top: max(12px, env(safe-area-inset-top)); right: 12px; width: calc(100vw - 24px); }
}
@media (prefers-reduced-motion: reduce) {
    .lp-feedback { animation: none; }
}
