.toast-wrap {
    position: fixed;
    top: 20px; right: 20px;
    z-index: 1000;
    display: flex; flex-direction: column; gap: 10px;
    max-width: min(360px, calc(100vw - 40px));
    pointer-events: none;
}
.toast {
    pointer-events: auto;
    display: flex; align-items: flex-start; gap: 11px;
    padding: 13px 14px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #e4ebea;
    box-shadow: 0 18px 40px -16px rgba(10, 50, 63, 0.30), 0 4px 10px rgba(10, 50, 63, 0.08);
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 13.5px; color: #232323; line-height: 1.45;
    transform: translateX(120%);
    opacity: 0;
    animation: toastIn 0.45s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes toastIn { to { transform: translateX(0); opacity: 1; } }
.toast.toast--out { animation: toastOut 0.3s ease forwards; }
@keyframes toastOut { to { transform: translateX(120%); opacity: 0; } }

.toast__icon { width: 20px; height: 20px; flex: none; display: grid; place-items: center; border-radius: 50%; margin-top: 1px; }
.toast__icon svg { width: 13px; height: 13px; stroke: #fff; fill: none; stroke-width: 2.4; }
.toast--success .toast__icon { background: #059669; }
.toast--info .toast__icon { background: #007c85; }
.toast--error .toast__icon { background: #e11d48; }

.toast__msg { flex: 1; min-width: 0; padding-top: 1px; }
.toast__msg b { display: block; font-weight: 600; margin-bottom: 1px; }
.toast__close {
    flex: none; border: 0; background: transparent; cursor: pointer;
    color: #94a3b8; font-size: 18px; line-height: 1; padding: 0 2px;
    transition: color 0.2s;
}
.toast__close:hover { color: #232323; }

@media (prefers-reduced-motion: reduce) {
    .toast { animation: none; transform: none; opacity: 1; }
    .toast.toast--out { animation: none; opacity: 0; }
}
