/* Complementos a certgate.css: solo lo que en el original venía de librerías (sonner). */
.toaster { position: fixed; top: 24px; right: 24px; z-index: 999999; display: flex; flex-direction: column; gap: 8px; width: 356px; max-width: calc(100vw - 32px); list-style: none; margin: 0; padding: 0; pointer-events: none; }
.toast { pointer-events: auto; display: flex; align-items: center; gap: 6px; padding: 16px; border-radius: 8px; background: #fff; color: #171717; border: 1px solid #ededed; box-shadow: 0 4px 12px #0000001a; font-size: 13px; line-height: 1.5; font-family: var(--font-ibm-plex-sans), system-ui, sans-serif; animation: toast-in .3s ease; }
.toast-icon { display: flex; flex-shrink: 0; }
.toast[data-type="success"] .toast-icon { color: #171717; }
.toast[data-type="error"] .toast-icon { color: #171717; }
.toast-out { opacity: 0; transform: translateY(-8px); transition: all .3s ease; }
@keyframes toast-in { from { opacity: 0; transform: translateY(-100%); } to { opacity: 1; transform: none; } }
