/* ====== Tabla base ====== */
.table.dataTable {
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    border-radius: .5rem;
    overflow: hidden;
}

/* Cabecera más marcada */
.table.dataTable thead th {
    background: #f3f5f7;
    color: #374151;
    font-weight: 700;
    border-bottom: 2px solid #e5e7eb !important;
    vertical-align: middle;
    white-space: nowrap;
    font-size: 0.85rem;
}
.table-responsive .table.dataTable thead th {
    position: sticky;
    top: 0;
    z-index: 5;
}

/* Zebra + hover */
.table.dataTable tbody tr:nth-child(odd) { background: #fafbfc; }
.table.dataTable tbody tr:hover { background: #f0f6ff; }

/* Fila seleccionada */
.table.dataTable tbody tr.selected {
    background: #e7f0ff !important;
}

/* Totales en footer */
.table.dataTable tfoot th,
.table.dataTable tfoot td {
    background: #f9fafb;
    font-weight: 700;
    border-top: 2px solid #e5e7eb;
    font-size: 0.85rem;
}
.table tfoot .total-cell {
    color: #0d6efd;
    font-weight: 700;
}

/* ====== Badges de estado ====== */
.badge-status {
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    font-weight:600;
    border-radius:1rem;
    padding:.25rem .6rem;
    font-size:.78rem;
    line-height:1;
    white-space:nowrap;
}
.badge-status .dot {
    width:.5rem; height:.5rem; border-radius:50%;
    box-shadow:0 0 0 2px rgba(255,255,255,.25) inset;
}

.badge-finalizado { background:#e9f7ef; color:#1e7e34; }
.badge-finalizado .dot{ background:#28a745; }

.badge-pendiente  { background:#fff8e6; color:#9a6b00; }
.badge-pendiente  .dot{ background:#ffc107; }

.badge-observado  { background:#fdf0f0; color:#b02a37; }
.badge-observado  .dot{ background:#dc3545; }

.badge-enproceso  { background:#eaf4ff; color:#0b5ed7; }
.badge-enproceso  .dot{ background:#0d6efd; }

/* Meta bajo el badge */
.estado-wrap {
    display:inline-flex;
    flex-direction:column;
    align-items:flex-start;
    gap:.2rem;
}
.estado-meta {
    color:#6b7280;
    font-size:.78rem;
}

/* ====== Botones de acción redondos ====== */
.btn-accion {
    --size: 34px;
    width: var(--size); height: var(--size);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius: 999px;
    padding: 0;
    line-height: 1;
    border-width: 2px;
    transition: transform .12s ease, box-shadow .12s ease;
}
.btn-accion:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
.btn-accion i { font-size: 14px; }

/* Paletas outline */
.btn-accion.new {
    color:#eef3ff;
    border-color:#b0d4ff;
    background:#0d6efd;
}
.btn-accion.new:hover {
    background:#b0d4ff;
}

.btn-accion.view {
    color: #1e7e34;
    border-color: #a3d9b1;
    background: #e9f7ef;
}
.btn-accion.view:hover { background: #c1eac5; }

.btn-accion.edit {
    color:#b58100; border-color:#ffe69c; background:#fff7e6;
}
.btn-accion.edit:hover { background:#ffefc6; }

.btn-accion.reset {
    color:#0c63e4; border-color:#bfd2ff; background:#eef3ff;
}
.btn-accion.reset:hover { background:#d9e6ff; }

/* ====== Paginación DataTables ====== */
.dataTables_wrapper .dataTables_paginate .paginate_button {
    border-radius: .5rem !important;
    border: 1px solid #e5e7eb !important;
    background: #fff !important;
    color: #111827 !important;
    margin: 0 .15rem;
    padding: .25rem .6rem;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: #0d6efd !important;
    color:#fff !important;
    border-color:#0d6efd !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: #f3f4f6 !important;
}

/* Info y length */
.dataTables_wrapper .dataTables_info {
    color:#6b7280;
    font-size: .85rem;
}
.dataTables_wrapper .dataTables_length select {
    border-radius: .4rem;
}

/* ====== Chips resumen arriba ====== */
.summary-chips .chip {
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    border-radius: 999px;
    padding: .3rem .6rem;
    font-weight:600;
    font-size:.8rem;
    background:#f3f4f6;
    color:#374151;
    margin-right:.4rem;
}
.summary-chips .chip i { font-size: .9rem; }
.summary-chips .chip.finalizado { background:#e9f7ef; color:#1e7e34; }
.summary-chips .chip.pendiente  { background:#fff8e6; color:#9a6b00; }


