.toaster-group {
    
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 9999;
    display: flex;
    flex-direction: column-reverse;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
    width: 300px;
    pointer-events: none;
}

.toast-item {
        cursor: pointer;
    pointer-events: all;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 12px 14px;
    border-radius: 16px;
    border: 2px solid var(--border);
    background: var(--bg);
    color: #fff;
    font-size: .65rem;
    font-weight: normal;
    animation: toast-in .25s ease;
    transition: opacity .3s ease, transform .15s ease;
    position: relative;
    
}

.toast-item.removing {
    
    transform: translateX(30px);
}

.toast-item[data-type="success"] { border-color: #bbf7d0; }
.toast-item[data-type="error"]   { border-color: #fecaca; }
.toast-item[data-type="warning"] { border-color: #de0000; }

.toast-item[data-type="success"] .toast-icon { color: #bbf7d0; }
.toast-item[data-type="error"] .toast-icon   { color: #fecaca; }
.toast-item[data-type="warning"] .toast-icon{ color: #de0000; }

.toast-item[data-type="info"] { 
    
    border-color: var(--border); 
    color: #fff; 
    background: var(--bg); 

}

.toast-item[data-type="info"] .toast-icon { 

    color: #fff; 

}

.toast-item .toast-icon { flex-shrink: 0; width: 18px; height: 18px; }
.toast-item .toast-msg  { flex: 1; }

.toast-close {
    
    background: none; border: none; cursor: pointer;
    color: inherit; opacity: .5; padding: 2px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 4px; transition: opacity .2s;
}

.toast-close:hover { opacity: 1; }

@keyframes toast-in {
    
    from { opacity: 0; transform: translateX(30px); }
    to   { opacity: 1; transform: translateX(0); }
}