.rf-toasts { position: fixed; inset-block-start: max(18px, env(safe-area-inset-top)); inset-inline-end: max(18px, env(safe-area-inset-right)); z-index: 10000; display: grid; gap: 10px; width: min(390px, calc(100vw - 36px)); pointer-events: none; }
.rf-toast { --toast-color: #0f6b5f; --toast-bg: #f0faf6; display: flex; align-items: flex-start; gap: 12px; padding: 16px; margin: 0; border: 1px solid var(--toast-color); border-inline-start-width: 5px; border-radius: 12px; color: #1f2a23; background: var(--toast-bg); box-shadow: 0 8px 28px rgb(26 49 40 / 16%); font-family: inherit; font-size: .9rem; line-height: 1.6; text-align: start; overflow-wrap: anywhere; pointer-events: auto; animation: rf-toast-in .18s ease-out; }
.rf-toast--error { --toast-color: #a52b34; --toast-bg: #fff3f3; }
.rf-toast--warning { --toast-color: #865518; --toast-bg: #fff8eb; }
.rf-toast--info { --toast-color: #245a85; --toast-bg: #f1f7fc; }
.rf-toast-icon { color: var(--toast-color); font-size: 1.2rem; font-weight: 800; flex: 0 0 24px; text-align: center; }
.rf-toast-copy { flex: 1; min-width: 0; }
.rf-toast-title { display: block; color: var(--toast-color); font-weight: 800; margin-block-end: 3px; }
.rf-toast-message { margin: 0; color: inherit; font-size: inherit; }
.rf-toast-close { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; min-height: 32px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--toast-color); font: inherit; font-size: 1.4rem; cursor: pointer; }
.rf-toast-close:hover { background: rgb(0 0 0 / 6%); }
.rf-toast-close:focus-visible { outline: 2px solid var(--toast-color); outline-offset: 2px; }
@keyframes rf-toast-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .rf-toast { animation: none; } }
@media print { .rf-toasts { display: none; } }

