/* =================================================================
   TOAST — Positioned notification messages
   ================================================================= */

.toast-container {
    position: fixed;
    bottom: 28px;
    left: 50%;
    transform: translateX(-50%);
    z-index: var(--z-toast);
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-width: 90vw;
}

.toast {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 22px;
    border-radius: var(--radius-sm);
    font-size: 0.9rem;
    font-weight: 600;
    box-shadow: var(--shadow-lg);
    animation: toastIn 0.3s ease-out;
    min-width: 280px;
}

.toast-success {
    background: linear-gradient(135deg, var(--color-success-50) 0%, var(--color-success-100) 100%);
    border: 1px solid rgba(16,185,129,0.25);
    color: var(--color-success-700);
}

.toast-error {
    background: linear-gradient(135deg, var(--color-danger-50) 0%, var(--color-danger-100) 100%);
    border: 1px solid rgba(239,68,68,0.25);
    color: var(--color-danger-700);
}

.toast-warning {
    background: linear-gradient(135deg, var(--color-warning-50) 0%, var(--color-warning-100) 100%);
    border: 1px solid rgba(245,158,11,0.25);
    color: var(--color-warning-700);
}

.toast-close {
    background: none;
    border: none;
    font-size: 1.2rem;
    color: var(--text-muted);
    cursor: pointer;
    padding: 0 4px;
    line-height: 1;
    transition: color 0.2s ease;
    margin-left: auto;
}
.toast-close:hover { color: var(--text); }

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