#toastr-container {
    position: fixed;
    z-index: 99999;
    pointer-events: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
    top: 16px;
    right: 16px;
}

#toastr-container.toast-top-right    { top: 16px;    right: 16px;             bottom: auto; left: auto; }
#toastr-container.toast-top-left     { top: 16px;    left: 16px;              bottom: auto; right: auto; }
#toastr-container.toast-top-center   { top: 16px;    left: 50%; right: auto;  bottom: auto; transform: translateX(-50%); align-items: center; }
#toastr-container.toast-bottom-right { bottom: 16px; right: 16px;             top: auto;    left: auto; }
#toastr-container.toast-bottom-left  { bottom: 16px; left: 16px;              top: auto;    right: auto; }
#toastr-container.toast-bottom-center{ bottom: 16px; left: 50%; right: auto;  top: auto;    transform: translateX(-50%); align-items: center; }

.toastr-toast {
    pointer-events: all;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-width: 280px;
    max-width: 360px;
    padding: 12px 14px;
    border-radius: 8px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 14px;
    color: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
    opacity: 0;
    transform: translateX(40px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    position: relative;
    overflow: hidden;
}

.toastr-toast.show {
    opacity: 1;
    transform: translateX(0);
}

.toastr-toast.hide {
    opacity: 0;
    transform: translateX(40px);
    transition: opacity 1s linear, transform 1s linear;
}

/* Position-aware slide direction */
#toastr-container.toast-top-left .toastr-toast,
#toastr-container.toast-bottom-left .toastr-toast {
    transform: translateX(-40px);
}

#toastr-container.toast-top-left .toastr-toast.show,
#toastr-container.toast-bottom-left .toastr-toast.show {
    transform: translateX(0);
}

#toastr-container.toast-top-left .toastr-toast.hide,
#toastr-container.toast-bottom-left .toastr-toast.hide {
    transform: translateX(-40px);
}

#toastr-container.toast-top-center .toastr-toast {
    transform: translateY(-40px);
}

#toastr-container.toast-top-center .toastr-toast.show {
    transform: translateY(0);
}

#toastr-container.toast-top-center .toastr-toast.hide {
    transform: translateY(-40px);
}

#toastr-container.toast-bottom-center .toastr-toast {
    transform: translateY(40px);
}

#toastr-container.toast-bottom-center .toastr-toast.show {
    transform: translateY(0);
}

#toastr-container.toast-bottom-center .toastr-toast.hide {
    transform: translateY(40px);
}

/* Types */
.toastr-success { background: #3B6D11; }
.toastr-warning { background: #854F0B; }
.toastr-error   { background: #A32D2D; }
.toastr-info    { background: #185FA5; }

/* Icon */
.toastr-icon {
    font-size: 18px;
    flex-shrink: 0;
    margin-top: 1px;
}

/* Body */
.toastr-body {
    flex: 1;
}

.toastr-title {
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 2px;
}

.toastr-message {
    font-size: 13px;
    opacity: 0.9;
    line-height: 1.4;
}

/* Close button */
.toastr-close {
    background: none;
    border: none;
    color: #fff;
    font-size: 18px;
    cursor: pointer;
    padding: 0 0 0 8px;
    opacity: 0.8;
    line-height: 1;
    flex-shrink: 0;
}

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

/* Progress bar */
.toastr-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    width: 100%;
    background: rgba(255, 255, 255, 0.4);
    transform-origin: left;
}