/* Custom SLDS-Lite Scoped Styles */
.slds-toast-container {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
    padding-top: 20px;
    pointer-events: none;
}

.custom-slds-toast {
    display: flex;
    align-items: center;
    padding: 12px 24px;
    border-radius: 30px; /* The "Pill" shape */
    color: white;
    min-width: 400px;
    margin-bottom: 10px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.4);
    pointer-events: auto;
    
    /* THE SCROLL ANIMATION */
    animation: slideDown 0.5s ease-out forwards;
}

@keyframes slideDown {
    0% {
        transform: translateY(-100%);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Variant Colors */
.toast-success { background-color: #2e844a; }
.toast-error   { background-color: #ea001e; }
.toast-info    { background-color: #0176d3; }
.toast-warning { background-color: #fe9339; } /* SLDS Warning Orange */

.animate-shake {
    animation: shake 0.4s cubic-bezier(.36,.07,.19,.97) both;
}

@keyframes shake {
    10%, 90% { transform: translate3d(-1px, 0, 0); }
    20%, 80% { transform: translate3d(2px, 0, 0); }
    30%, 50%, 70% { transform: translate3d(-4px, 0, 0); }
    40%, 60% { transform: translate3d(4px, 0, 0); }
}