.toast-message {
    position: fixed !important;
    right: 24px !important;
    bottom: 24px !important;
    z-index: 10000 !important;
    width: min(390px, calc(100vw - 32px)) !important;
    margin: 0 !important;
    padding: 14px 46px 14px 44px !important;
    border: 1px solid transparent !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 42px rgba(20, 34, 62, .22) !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1.5 !important;
    animation: toast-enter .24s ease-out both !important;
}
.toast-message::before {
    position: absolute;
    left: 16px;
    top: 50%;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    transform: translateY(-50%);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
}
.toast-message.success { color: #146447 !important; background: #f0fbf5 !important; border-color: #b9e7d0 !important; }
.toast-message.success::before { content: "✓"; background: #20a36e; }
.toast-message.error { color: #962e38 !important; background: #fff5f5 !important; border-color: #f0c4c8 !important; }
.toast-message.error::before { content: "!"; background: #d84a56; }
.toast-close {
    position: absolute;
    right: 10px;
    top: 9px;
    width: 28px !important;
    height: 28px;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: currentColor !important;
    font: 20px/28px Arial, sans-serif !important;
    opacity: .58;
    cursor: pointer;
}
.toast-close:hover { opacity: 1; background: rgba(20, 34, 62, .07) !important; }
.toast-message.is-leaving { animation: toast-leave .2s ease-in both !important; }
@keyframes toast-enter { from { opacity: 0; transform: translateY(18px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes toast-leave { to { opacity: 0; transform: translateY(12px) scale(.98); } }
@media (max-width: 600px) {
    .toast-message { right: 16px !important; bottom: 16px !important; }
}
@media (prefers-reduced-motion: reduce) {
    .toast-message,.toast-message.is-leaving { animation-duration: .01ms !important; }
}
