/* ── Shared Tabulator custom styles ── */

/* Animaciones globales */
.animate-fade-in { animation: fadeIn .3s ease-out forwards; }
@keyframes fadeIn { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
@keyframes modalFadeIn { from { opacity:0; transform:scale(.95); } to { opacity:1; transform:scale(1); } }

/* Base */
.tabulator { border:none; border-radius:1rem; }

/* Responsive: scroll horizontal en pantallas pequeñas */
.tabla-responsive { overflow-x: auto; max-width: 100%; }

/* Responsive collapse: fila con datos ocultos en móvil */
.tabulator-row .tabulator-responsive-collapse {
    padding: 12px 20px;
    border-bottom: 1px solid #F3F4F6;
    font-size: .8125rem;
    line-height: 1.6;
}
.tabulator-row .tabulator-responsive-collapse table {
    width: 100%;
    border-collapse: collapse;
}
.tabulator-row .tabulator-responsive-collapse table td {
    padding: 4px 8px;
    border: none;
    vertical-align: top;
}
.tabulator-row .tabulator-responsive-collapse table td:first-child {
    font-weight: 600;
    color: #6B7280;
    white-space: nowrap;
    width: 100px;
}
.tabulator-row .tabulator-responsive-collapse table td:last-child {
    color: #111827;
}

/* Header */
.tabulator .tabulator-header { background:#F9FAFB; border-bottom:1px solid #E5E7EB; }
.tabulator .tabulator-header .tabulator-col { background:transparent; border-right:none; padding:14px 20px; }
.tabulator .tabulator-col-content { padding:0; }
.tabulator .tabulator-col-title { font-size:.7rem; font-weight:700; color:#9CA3AF; text-transform:uppercase; letter-spacing:.06em; }

/* Cuerpo */
.tabulator .tabulator-tableholder { background:#fff; }

/* Filas */
.tabulator-row { border-bottom:1px solid #F3F4F6; transition:background .15s; }
.tabulator-row.tabulator-row-even { background:transparent; }
.tabulator-row:hover { background:#F9FAFB; }
.tabulator-row .tabulator-cell { padding:14px 20px; border-right:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* Footer */
.tabulator .tabulator-footer { background:#fff; border-top:1px solid #E5E7EB; padding:12px 20px; }
.tabulator .tabulator-page-counter { font-size:.875rem; color:#6B7280; }
.tabulator-paginator { text-align:right; }
.tabulator-page { padding:6px 12px; margin:0 2px; border:1px solid #E5E7EB; border-radius:.5rem; background:#fff; color:#4B5563; font-size:.875rem; font-weight:500; transition:all .15s; }
.tabulator-page:hover { background:#F3F4F6; }
.tabulator-page.active { background:#EFF6FF; color:#2563EB; border-color:#BFDBFE; }
.tabulator-page.disabled { opacity:.4; cursor:not-allowed; }
