
    :root{
    --main-blue: #175d9c;
    --main-blue-dark: #0f3f67;
    --soft-bg: #f8f9fa;
    --card-bg: #ffffff;
    --text-dark: #333;
    --border: #dee2e6;

    /* paleta gris/neutral para gráficas */
    --gray-900: #1f2937;
    --gray-700: #374151;
    --gray-500: #6b7280;
    --gray-300: #d1d5db;
    --gray-200: #e5e7eb;
}
    .dashboard-container { font-family: inherit; padding: 20px; background-color: var(--soft-bg); color: var(--text-dark); margin: 5px 0 20px 0; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); }
    .dashboard-container h2 { margin:24px 0px; font-size: 26px; color: var(--main-blue); }

    .total-box { background: #fff; border: 1px solid var(--border); padding: 10px 14px; border-radius: 6px; display: inline-block; font-size: 15px; margin-bottom: 15px; box-shadow: 0 2px 5px rgba(0,0,0,0.03); }

    .filter-bar { background: #ffffff; padding: 12px 14px; border-radius: 6px; margin-bottom: 20px; box-shadow: 0 2px 5px rgba(0,0,0,0.02); display: flex; gap: 10px; align-items: flex-end; flex-wrap: nowrap; overflow-x: auto; }
    .filter-group { display: flex; flex-direction: column; gap: 5px; flex: 0 0 auto; }
    .filter-group label { font-size: 13px; font-weight: 600; color: #6c757d; text-transform: uppercase; }
   .filter-group select, .filter-group input {
        padding: 6px 10px;
        border: 1px solid #ced4da;
        border-radius: 4px;
        background-color: #fff;
        font-size: 14px;
        height: 38px;
        box-sizing: border-box;
    }
   .filter-group select, .filter-group input[type="date"] {
        width: 120px;
        min-width: 120px;
    }
    .filter-group input[type="text"] {
        width: 100%;
    }
    .btn-filter { background-color: var(--main-blue); color: #fff; border: none; width: 38px; min-width: 38px; height: 38px; border-radius: 4px; cursor: pointer; font-size: 16px; display: inline-flex; align-items: center; justify-content: center; transition: background 0.2s; }
    .btn-filter:hover { background-color: var(--main-blue-dark); }

    .dashboard-tabs { display: flex; gap: 10px; margin-bottom: 20px; border-bottom: 2px solid #dee2e6; }
    .tab-tag { padding: 10px 20px; background: #e9ecef; border: none; border-radius: 4px 4px 0 0; cursor: pointer; font-weight: 600; color: #495057; font-size: 16px; transition: all 0.2s; margin-bottom: -2px; border-bottom: 2px solid transparent; }
    .tab-tag:hover { color: var(--main-blue); }
    .tab-tag.active { color: var(--main-blue); border-bottom: 3px solid var(--main-blue); font-weight: 700; background: #fff; box-shadow: 0 -2px 5px rgba(0,0,0,0.03); }
    .tab-content { display: none; padding: 20px; background: #fff; border: 1px solid var(--border); border-radius: 0 0 6px 6px; border-top: none; }
    .tab-content.active { display: block; animation: fadeIn 0.3s ease; }

    .btn-action { border: none; padding: 6px 10px; border-radius: 4px; cursor: pointer; color: white; transition: background 0.2s; }
    .btn-action.btn-view { background: #175d9c; }
    .btn-action.btn-view:hover { background: #0f3f67; }
    .btn-action.btn-print { background: #175d9c; }
    .btn-action.btn-print:hover { background: #0f3f67; }

    @media print {
        body { background: #fff !important; }
        #wpadminbar, .filter-bar, .dashboard-tabs, #tab-graficas, #tab-detalle, .dashboard-container h2 { display: none !important; }
        #tab-vista-individual { display: block !important; border: none !important; padding: 0 !important; }
        .dashboard-container { box-shadow: none !important; margin: 0 !important; padding: 0 !important; background: transparent !important; }
        .print-container { width: 100%; border: none !important; padding: 0 !important; margin: 0 !important; }
        .print-table td { border: 1px solid #000 !important; }
    }

    .charts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
    @media (max-width: 768px) { .charts-grid { grid-template-columns: 1fr; } }
    .chart-box { background: #ffffff; padding: 20px; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.05); max-height: 400px; }
    .chart-box h3 { margin-top: 0; font-size: 16px; color: #333; border-bottom: 1px solid #eee; padding-bottom: 10px; font-weight: 600; }

    .table-responsive { background: #fff; padding: 20px; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.05); overflow-x: auto; }
    .dataTables_wrapper .dt-buttons { float: left; margin-bottom: 15px; gap: 5px; display: flex; }
    .dataTables_wrapper .dataTables_filter { float: right; text-align: right; margin-bottom: 15px; display: flex; align-items: center; }
    .dataTables_wrapper::after { content: ""; clear: both; display: table; }

    .data-table { width: 100% !important; border-collapse: collapse; font-size: 14px; text-align: left; }
    .data-table th { background-color: var(--main-blue) !important; color: white !important; padding: 10px; font-weight: 600; text-align: center; vertical-align: middle; }
    .data-table td { padding: 8px 10px; border-bottom: 1px solid #dee2e6; vertical-align: middle; }

    /* Alineaciones solicitadas */
    .data-table td:nth-child(1), /* N° SOL */
    .data-table td:nth-child(2), /* Clasificación - Origen */
    .data-table td:nth-child(3), /* Estatus */
    .data-table td:nth-child(5), /* Ubicación */
    .data-table td:nth-child(6)  /* Descripción */ {
        text-align: center;
    }
    
    .data-table td:nth-child(8) { /* Acciones */
        text-align: center;
    }
    .data-table td:nth-child(8) div {
        justify-content: center; /* Centra los botones internamente */
    }

    .dt-button { padding: 6px 16px !important; border-radius: 4px !important; font-size: 14px !important; font-weight: bold !important; color: white !important; border: none !important; cursor: pointer; margin: 0 !important; }
    .dt-button.buttons-excel { background: var(--main-blue) !important; }
    .dt-button.buttons-pdf { background: #7a8288 !important; }
    .dt-button:hover { opacity: 0.9; }

    .badge { padding: 4px 6px; border-radius: 4px; font-size: 12px; font-weight: bold; text-transform: uppercase; display: inline-block; }
    .badge.anon { background: #ffe8cc; color: #ff9800; }
    .badge.nomin { background: #d4f8fc; color: var(--main-blue); }
    .badge.origen { background: #e0f2fe; color: #0284c7; }
    .badge.clasificacion { background: #e0e7ff; color: #4338ca; }
    .db-alert-danger { background-color: #f8d7da; color: #721c24; padding: 15px; border: 1px solid #f5c6cb; border-radius: 4px; margin-bottom: 20px; }

