 #toast_container{
    position:fixed;
    bottom:20px;
    right:20px;
    z-index:99999;
    display:flex;
    flex-direction:column;
    gap:12px;
}

.toast-msg{
    min-width:320px;
    max-width:380px;
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:14px 16px;
    border-radius:12px;
    color:#fff;
    backdrop-filter:blur(8px);
    box-shadow:0 10px 30px rgba(0,0,0,.15);
    animation:toastIn .35s ease;
    overflow:hidden;
    position:relative;
}

.toast-msg.success{
    background:linear-gradient(135deg,#28a745,#1f8f3a);
}

.toast-msg.danger{
    background:linear-gradient(135deg,#dc3545,#b02a37);
}

.toast-msg.warning{
    background:linear-gradient(135deg,#ff9800,#f57c00);
}

.toast-msg.info{
    background:linear-gradient(135deg,#2196f3,#1976d2);
}

.toast-icon{
    font-size:22px;
    line-height:1;
}

.toast-text{
    flex:1;
    line-height:1.5;
}

.toast-close{
    cursor:pointer;
    font-size:20px;
    opacity:.8;
}

.toast-close:hover{
    opacity:1;
}

.toast-progress{
    position:absolute;
    left:0;
    bottom:0;
    height:4px;
    width:100%;
    background:rgba(255,255,255,.4);
    animation:progress 4s linear forwards;
}

@keyframes progress{
    from{width:100%;}
    to{width:0;}
}

@keyframes toastIn{
    from{
        transform:translateX(100%);
        opacity:0;
    }
    to{
        transform:translateX(0);
        opacity:1;
    }
}

@keyframes toastOut{
    to{
        transform:translateX(120%);
        opacity:0;
    }
}