/* ===== TOAST NOTIFICATIONS ===== */
#toast-container {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    max-width: 360px;
}

.toast {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.9rem 1rem;
    border-radius: 10px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.18);
    color: white;
    font-size: 0.9rem;
    line-height: 1.4;
    animation: toastIn 0.3s ease;
    position: relative;
    min-width: 260px;
}

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

@keyframes toastOut {
    from { opacity: 1; transform: translateX(0); }
    to   { opacity: 0; transform: translateX(60px); }
}

.toast.hiding { animation: toastOut 0.3s ease forwards; }

.toast-success { background: linear-gradient(135deg, #1e8449, #27ae60); }
.toast-error   { background: linear-gradient(135deg, #922b21, #e74c3c); }
.toast-info    { background: linear-gradient(135deg, #1a5276, #2980b9); }
.toast-warning { background: linear-gradient(135deg, #9a7d0a, #f39c12); }

.toast-icon { font-size: 1.3rem; flex-shrink: 0; margin-top: 0.05rem; }

.toast-body  { flex: 1; }
.toast-title { font-weight: 700; margin-bottom: 0.2rem; }
.toast-msg   { font-weight: 400; opacity: 0.92; }

.toast-close {
    background: none;
    border: none;
    color: white;
    font-size: 1.1rem;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    opacity: 0.8;
    flex-shrink: 0;
    margin-top: -2px;
}

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