.entria-toast-stack {
    position: fixed;
    right: max(24px, env(safe-area-inset-right));
    bottom: max(24px, env(safe-area-inset-bottom));
    z-index: 20000;
    display: grid;
    gap: 12px;
    width: min(420px, calc(100vw - 32px));
    pointer-events: none;
}

.entria-toast {
    --toast-accent: var(--entria-accent, #14b8a6);
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 64px;
    padding: 14px 16px;
    border: 1px solid var(--entria-border-soft, #e8eef6);
    border-left: 4px solid var(--toast-accent);
    border-radius: 10px;
    background: var(--entria-surface, #fff);
    color: var(--entria-ink-soft, #213455);
    box-shadow: 0 8px 28px rgba(13, 27, 42, .14);
    pointer-events: auto;
    animation: entria-toast-enter .2s ease-out;
}

.entria-toast.is-error { --toast-accent: #dc2626; }
.entria-toast.is-warning { --toast-accent: #d99021; }
.entria-toast-icon { width: 18px; height: 18px; flex: 0 0 18px; color: var(--toast-accent); }
.entria-toast-message { flex: 1; min-width: 0; overflow-wrap: anywhere; font-size: .9rem; font-weight: 500; line-height: 1.5; }
.entria-toast-close { box-sizing: border-box; display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; margin: 0; padding: 6px; border: 0; border-radius: 6px; background: transparent; color: inherit; cursor: pointer; }
.entria-toast-close svg { width: 18px; height: 18px; }
.entria-toast-close:hover { background: var(--entria-surface-soft, #f8faff); }
.entria-toast-close:focus-visible { outline: 2px solid var(--toast-accent); outline-offset: 2px; }
@keyframes entria-toast-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 600px) { .entria-toast-stack { right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); } }
@media (prefers-reduced-motion: reduce) { .entria-toast { animation: none; } }
