/* CSV Table Widget – external CSS (no inline <style>) */

/* Layout des contrôles */
.csv-table-wrap { margin: 1rem 0; }
.csv-controls { display:flex; gap:.75rem; align-items:center; justify-content:space-between; flex-wrap:wrap; margin:.5rem 0; }
.csv-controls .csv-search { padding:.5rem .75rem; max-width:320px; width:100%; }
.csv-controls .csv-pagination { display:flex; align-items:center; gap:.35rem; }
.csv-controls .csv-download { text-decoration:none; padding:.5rem .75rem; border:1px solid #ddd; border-radius:.5rem; }

/* Table */
.csv-table-scroll { overflow:auto; }
.csv-table { width:100%; border-collapse:collapse; font-size:14px; }
.csv-table thead th { position:sticky; top:0; background:#fafafa; border-bottom:2px solid #eee; text-align:left; padding:.5rem .6rem; white-space:nowrap; }
.csv-table tbody td { border-bottom:1px solid #f0f0f0; padding:.5rem .6rem; }

/* Sorting cursor */
.csv-table thead th { cursor:pointer; }
.csv-table thead th.no-sort { cursor:default; }

/* Mobile responsive hide by class (generated by JS from data-hide) */
@media (max-width:768px){
  .csv-table-wrap.hide-col-1  table thead th:nth-child(1),
  .csv-table-wrap.hide-col-1  table tbody td:nth-child(1){display:none;}
  .csv-table-wrap.hide-col-2  table thead th:nth-child(2),
  .csv-table-wrap.hide-col-2  table tbody td:nth-child(2){display:none;}
  .csv-table-wrap.hide-col-3  table thead th:nth-child(3),
  .csv-table-wrap.hide-col-3  table tbody td:nth-child(3){display:none;}
  .csv-table-wrap.hide-col-4  table thead th:nth-child(4),
  .csv-table-wrap.hide-col-4  table tbody td:nth-child(4){display:none;}
  .csv-table-wrap.hide-col-5  table thead th:nth-child(5),
  .csv-table-wrap.hide-col-5  table tbody td:nth-child(5){display:none;}
  .csv-table-wrap.hide-col-6  table thead th:nth-child(6),
  .csv-table-wrap.hide-col-6  table tbody td:nth-child(6){display:none;}
  .csv-table-wrap.hide-col-7  table thead th:nth-child(7),
  .csv-table-wrap.hide-col-7  table tbody td:nth-child(7){display:none;}
  .csv-table-wrap.hide-col-8  table thead th:nth-child(8),
  .csv-table-wrap.hide-col-8  table tbody td:nth-child(8){display:none;}
  .csv-table-wrap.hide-col-9  table thead th:nth-child(9),
  .csv-table-wrap.hide-col-9  table tbody td:nth-child(9){display:none;}
  .csv-table-wrap.hide-col-10 table thead th:nth-child(10),
  .csv-table-wrap.hide-col-10 table tbody td:nth-child(10){display:none;}
  .csv-table-wrap.hide-col-11 table thead th:nth-child(11),
  .csv-table-wrap.hide-col-11 table tbody td:nth-child(11){display:none;}
  .csv-table-wrap.hide-col-12 table thead th:nth-child(12),
  .csv-table-wrap.hide-col-12 table tbody td:nth-child(12){display:none;}
  .csv-table-wrap.hide-col-13 table thead th:nth-child(13),
  .csv-table-wrap.hide-col-13 table tbody td:nth-child(13){display:none;}
  .csv-table-wrap.hide-col-14 table thead th:nth-child(14),
  .csv-table-wrap.hide-col-14 table tbody td:nth-child(14){display:none;}
  .csv-table-wrap.hide-col-15 table thead th:nth-child(15),
  .csv-table-wrap.hide-col-15 table tbody td:nth-child(15){display:none;}
  .csv-table-wrap.hide-col-16 table thead th:nth-child(16),
  .csv-table-wrap.hide-col-16 table tbody td:nth-child(16){display:none;}
  .csv-table-wrap.hide-col-17 table thead th:nth-child(17),
  .csv-table-wrap.hide-col-17 table tbody td:nth-child(17){display:none;}
  .csv-table-wrap.hide-col-18 table thead th:nth-child(18),
  .csv-table-wrap.hide-col-18 table tbody td:nth-child(18){display:none;}
  .csv-table-wrap.hide-col-19 table thead th:nth-child(19),
  .csv-table-wrap.hide-col-19 table tbody td:nth-child(19){display:none;}
  .csv-table-wrap.hide-col-20 table thead th:nth-child(20),
  .csv-table-wrap.hide-col-20 table tbody td:nth-child(20){display:none;}
}
