.toast-container{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:12px;pointer-events:none}
.toast{min-width:300px;max-width:460px;border-radius:12px;padding:14px 16px;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);display:flex;align-items:flex-start;gap:12px;pointer-events:auto;opacity:0;transform:translateX(20px);transition:opacity .2s ease,transform .2s ease;position:relative}
.toast.show{opacity:1;transform:translateX(0)}

/* Paleta e contraste no estilo do exemplo */
.toast-success{background-color:#d1fae5;color:#065f46}
.toast-error{background-color:#fee2e2;color:#7f1d1d}
.toast-info{background-color:#dbeafe;color:#1e3a8a}

.toast-icon{width:24px;height:24px;border-radius:9999px;display:flex;align-items:center;justify-content:center;font-size:14px;flex:0 0 24px}
.toast-success .toast-icon{background:#22c55e;color:#fff}
.toast-error .toast-icon{background:#ef4444;color:#fff}
.toast-info .toast-icon{background:#3b82f6;color:#fff}

.toast-body{display:flex;flex-direction:column;gap:2px}
.toast-title{font-weight:700;opacity:.9}
.toast-message{line-height:1.35}

.toast-close{margin-left:auto;background:transparent;border:none;color:rgba(0,0,0,.35);font-size:18px;cursor:pointer}
.toast-success .toast-close{color:#065f46a6}
.toast-error .toast-close{color:#7f1d1da6}
.toast-info .toast-close{color:#1e3a8aa6}

.toast-progress{position:absolute;left:0;bottom:0;height:4px;width:100%;background:rgba(0,0,0,.1)}
.toast-success .toast-progress{background:#16a34a}
.toast-error .toast-progress{background:#dc2626}
.toast-info .toast-progress{background:#2563eb}

@keyframes toastProgressWidth{from{width:100%}to{width:0%}}

