/* Foreground errors use the browser top layer, independent of page stacking contexts. */
.aiwo-error-notifications {
    position: fixed;
    inset: auto;
    top: max(0.75rem, env(safe-area-inset-top, 0px));
    right: max(0.75rem, env(safe-area-inset-right, 0px));
    box-sizing: border-box;
    width: min(34rem, calc(100vw - 1.5rem - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)));
    max-height: calc(100dvh - 1.5rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
    margin: 0;
    padding: 0.25rem;
    border: 0;
    background: transparent;
    color: var(--color-text);
    overflow: auto;
    overscroll-behavior: contain;
    z-index: 2147483647;
    font: inherit;
}

.aiwo-error-notifications[hidden] { display: none; }
.aiwo-error-notifications::backdrop { background: transparent; pointer-events: none; }
.aiwo-error-notifications-fallback:not([hidden]) { display: block; }

.aiwo-error-notification {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem;
    margin-bottom: 0.5rem;
    border: 1px solid var(--color-danger);
    border-left: 4px solid var(--color-danger);
    border-radius: var(--radius-panel, 0.5rem);
    background: var(--color-surface-raised);
    box-shadow: var(--shadow-panel);
    color: var(--color-text);
}

.aiwo-error-notification-text {
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
    line-height: 1.5;
}

.aiwo-error-notification-actions {
    display: flex;
    flex-shrink: 0;
    flex-direction: column;
    gap: 0.5rem;
}

.aiwo-error-notification-actions button { min-height: 2.75rem; }
.aiwo-error-notification-actions button:focus-visible {
    outline: 2px solid var(--color-accent-text);
    outline-offset: 2px;
}

@media (max-width: 36rem) {
    .aiwo-error-notification { flex-direction: column; }
    .aiwo-error-notification-actions { flex-direction: row; width: 100%; }
    .aiwo-error-notification-actions button { flex: 1; }
}

@media print { .aiwo-error-notifications { display: none !important; } }
