 /* Colores personalizados */
    .bg-danger-mora {
        background: linear-gradient(135deg, #ff3a3a, #ff6b6b);
        color: white;
    }
    
    .bg-success-dia {
        background: linear-gradient(135deg, #28a745, #5cb85c);
        color: white;
    }
    
    .bg-info-clientes {
        background: linear-gradient(135deg, #17a2b8, #5bc0de);
        color: white;
    }
    
    .bg-warning-saldo {
        background: linear-gradient(135deg, #ffc107, #ffd351);
        color: #212529;
    }
    
    .bg-danger-light {
        background-color: rgba(255, 58, 58, 0.1);
        border-left: 4px solid #ff3a3a;
    }
    
    .bg-success-light {
        background-color: rgba(40, 167, 69, 0.1);
        border-left: 4px solid #28a745;
    }
    
    .bg-info-light {
        background-color: rgba(23, 162, 184, 0.1);
        border-left: 4px solid #17a2b8;
    }
    
    .text-danger-dark {
        color: #c82333;
    }
    
    .text-success-dark {
        color: #1e7e34;
    }
    
    .text-info-dark {
        color: #117a8b;
    }
    
    .bg-danger-pulse {
        background-color: #dc3545;
        animation: pulse-danger 2s infinite;
    }
    
    .bg-success-pulse {
        background-color: #28a745;
        animation: pulse-success 2s infinite;
    }
    
    @keyframes pulse-danger {
        0% { box-shadow: 0 0 0 0 rgba(220, 53, 69, 0.7); }
        70% { box-shadow: 0 0 0 10px rgba(220, 53, 69, 0); }
        100% { box-shadow: 0 0 0 0 rgba(220, 53, 69, 0); }
    }
    
    @keyframes pulse-success {
        0% { box-shadow: 0 0 0 0 rgba(40, 167, 69, 0.7); }
        70% { box-shadow: 0 0 0 10px rgba(40, 167, 69, 0); }
        100% { box-shadow: 0 0 0 0 rgba(40, 167, 69, 0); }
    }

    /* Estilos para la tabla */
    #carteraTable {
        font-size: 0.95rem;
        width: 100%;
    }
    
    #carteraTable thead th {
        background-color: #343a40;
        color: white;
        padding: 12px 8px;
    }
    
    #carteraTable tbody tr {
        transition: all 0.2s;
    }
    
    #carteraTable tbody tr:hover {
        transform: scale(1.005);
    }
    
    .badge {
        font-weight: 600;
        padding: 5px 10px;
    }
    
    /* Select2 personalizado */
    .select2-container--default .select2-selection--single {
        height: 38px;
        border-radius: 4px;
    }
    
    /* Responsive */
    @media (max-width: 768px) {
        #carteraTable {
            font-size: 0.85rem;
        }
    }