
/* Base: aplica só dentro de tabelas (inclui DataTables) */
table, .lx-table { width: 100%; }
table.lx-table { table-layout: fixed; } /* opcional: melhora o respeito às larguras */

/* Utilitário para corte elegante quando usar table-layout: fixed */
.dt-ellipsis { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ===== Grid 12-col para tabelas ===== */
:root{
  /* facilita ajustes finos se quiser mexer depois */
  --dt-col-1: 8.333333%;
  --dt-col-2: 16.666667%;
  --dt-col-3: 25%;
  --dt-col-4: 33.333333%;
  --dt-col-5: 41.666667%;
  --dt-col-6: 50%;
  --dt-col-7: 58.333333%;
  --dt-col-8: 66.666667%;
  --dt-col-9: 75%;
  --dt-col-10: 83.333333%;
  --dt-col-11: 91.666667%;
  --dt-col-12: 100%;
}

/* XS (default: <768px) */
table.lx-table th[class*="col-xs-"], 
table.lx-table td[class*="col-xs-"] { width: auto !important; } /* padrão fluido */
table.lx-table th.col-xs-1,  table.lx-table td.col-xs-1  { width: var(--dt-col-1)  !important; }
table.lx-table th.col-xs-2,  table.lx-table td.col-xs-2  { width: var(--dt-col-2)  !important; }
table.lx-table th.col-xs-3,  table.lx-table td.col-xs-3  { width: var(--dt-col-3)  !important; }
table.lx-table th.col-xs-4,  table.lx-table td.col-xs-4  { width: var(--dt-col-4)  !important; }
table.lx-table th.col-xs-5,  table.lx-table td.col-xs-5  { width: var(--dt-col-5)  !important; }
table.lx-table th.col-xs-6,  table.lx-table td.col-xs-6  { width: var(--dt-col-6)  !important; }
table.lx-table th.col-xs-7,  table.lx-table td.col-xs-7  { width: var(--dt-col-7)  !important; }
table.lx-table th.col-xs-8,  table.lx-table td.col-xs-8  { width: var(--dt-col-8)  !important; }
table.lx-table th.col-xs-9,  table.lx-table td.col-xs-9  { width: var(--dt-col-9)  !important; }
table.lx-table th.col-xs-10, table.lx-table td.col-xs-10 { width: var(--dt-col-10) !important; }
table.lx-table th.col-xs-11, table.lx-table td.col-xs-11 { width: var(--dt-col-11) !important; }
table.lx-table th.col-xs-12, table.lx-table td.col-xs-12 { width: var(--dt-col-12) !important; }

/* SM (≥768px) — Bootstrap 3 */
@media (min-width: 768px){
  table.lx-table th.col-sm-1,  table.lx-table td.col-sm-1  { width: var(--dt-col-1)  !important; }
  table.lx-table th.col-sm-2,  table.lx-table td.col-sm-2  { width: var(--dt-col-2)  !important; }
  table.lx-table th.col-sm-3,  table.lx-table td.col-sm-3  { width: var(--dt-col-3)  !important; }
  table.lx-table th.col-sm-4,  table.lx-table td.col-sm-4  { width: var(--dt-col-4)  !important; }
  table.lx-table th.col-sm-5,  table.lx-table td.col-sm-5  { width: var(--dt-col-5)  !important; }
  table.lx-table th.col-sm-6,  table.lx-table td.col-sm-6  { width: var(--dt-col-6)  !important; }
  table.lx-table th.col-sm-7,  table.lx-table td.col-sm-7  { width: var(--dt-col-7)  !important; }
  table.lx-table th.col-sm-8,  table.lx-table td.col-sm-8  { width: var(--dt-col-8)  !important; }
  table.lx-table th.col-sm-9,  table.lx-table td.col-sm-9  { width: var(--dt-col-9)  !important; }
  table.lx-table th.col-sm-10, table.lx-table td.col-sm-10 { width: var(--dt-col-10) !important; }
  table.lx-table th.col-sm-11, table.lx-table td.col-sm-11 { width: var(--dt-col-11) !important; }
  table.lx-table th.col-sm-12, table.lx-table td.col-sm-12 { width: var(--dt-col-12) !important; }
}

/* MD (≥992px) */
@media (min-width: 992px){
  table.lx-table th.col-md-1,  table.lx-table td.col-md-1  { width: var(--dt-col-1)  !important; }
  table.lx-table th.col-md-2,  table.lx-table td.col-md-2  { width: var(--dt-col-2)  !important; }
  table.lx-table th.col-md-3,  table.lx-table td.col-md-3  { width: var(--dt-col-3)  !important; }
  table.lx-table th.col-md-4,  table.lx-table td.col-md-4  { width: var(--dt-col-4)  !important; }
  table.lx-table th.col-md-5,  table.lx-table td.col-md-5  { width: var(--dt-col-5)  !important; }
  table.lx-table th.col-md-6,  table.lx-table td.col-md-6  { width: var(--dt-col-6)  !important; }
  table.lx-table th.col-md-7,  table.lx-table td.col-md-7  { width: var(--dt-col-7)  !important; }
  table.lx-table th.col-md-8,  table.lx-table td.col-md-8  { width: var(--dt-col-8)  !important; }
  table.lx-table th.col-md-9,  table.lx-table td.col-md-9  { width: var(--dt-col-9)  !important; }
  table.lx-table th.col-md-10, table.lx-table td.col-md-10 { width: var(--dt-col-10) !important; }
  table.lx-table th.col-md-11, table.lx-table td.col-md-11 { width: var(--dt-col-11) !important; }
  table.lx-table th.col-md-12, table.lx-table td.col-md-12 { width: var(--dt-col-12) !important; }
}

/* LG (≥1200px) */
@media (min-width: 1200px){
  table.lx-table th.col-lg-1,  table.lx-table td.col-lg-1  { width: var(--dt-col-1)  !important; }
  table.lx-table th.col-lg-2,  table.lx-table td.col-lg-2  { width: var(--dt-col-2)  !important; }
  table.lx-table th.col-lg-3,  table.lx-table td.col-lg-3  { width: var(--dt-col-3)  !important; }
  table.lx-table th.col-lg-4,  table.lx-table td.col-lg-4  { width: var(--dt-col-4)  !important; }
  table.lx-table th.col-lg-5,  table.lx-table td.col-lg-5  { width: var(--dt-col-5)  !important; }
  table.lx-table th.col-lg-6,  table.lx-table td.col-lg-6  { width: var(--dt-col-6)  !important; }
  table.lx-table th.col-lg-7,  table.lx-table td.col-lg-7  { width: var(--dt-col-7)  !important; }
  table.lx-table th.col-lg-8,  table.lx-table td.col-lg-8  { width: var(--dt-col-8)  !important; }
  table.lx-table th.col-lg-9,  table.lx-table td.col-lg-9  { width: var(--dt-col-9)  !important; }
  table.lx-table th.col-lg-10, table.lx-table td.col-lg-10 { width: var(--dt-col-10) !important; }
  table.lx-table th.col-lg-11, table.lx-table td.col-lg-11 { width: var(--dt-col-11) !important; }
  table.lx-table th.col-lg-12, table.lx-table td.col-lg-12 { width: var(--dt-col-12) !important; }
}

/* Utilitário "auto" para deixar a coluna fluir pelo conteúdo */
table.lx-table th.col-auto, table.lx-table td.col-auto { width: auto !important; }



/* ============================
   Utilities: esconder colunas
   ============================ */

/* XS: < 768px */
@media (max-width: 767.98px){
  table.lx-table th.hide-xs,
  table.lx-table td.hide-xs { display: none !important; }
}

/* SM: 768px–991.98px */
@media (min-width: 768px) and (max-width: 991.98px){
  table.lx-table th.hide-sm,
  table.lx-table td.hide-sm { display: none !important; }
}

/* MD: 992px–1199.98px */
@media (min-width: 992px) and (max-width: 1199.98px){
  table.lx-table th.hide-md,
  table.lx-table td.hide-md { display: none !important; }
}

/* LG: ≥ 1200px */
@media (min-width: 1200px){
  table.lx-table th.hide-lg,
  table.lx-table td.hide-lg { display: none !important; }
}

/* Impressão */
@media print{
  table.lx-table th.hide-print,
  table.lx-table td.hide-print { display: none !important; }
}

/* (Opcional) Sempre oculto, útil para testes ou flags de permissão */
table.lx-table th.hide-all,
table.lx-table td.hide-all { display: none !important; }


