/* Modern DataTables override (global)
   Loaded late (footer) to override any theme / CDN CSS.
*/

.dataTables_wrapper{
  --dt-bg:#ffffff;
  --dt-surface:#f6f8fb;
  --dt-border:#e6eaf0;
  --dt-text:#111827;
  --dt-muted:#6b7280;
  --dt-primary:#2563eb;
  --dt-primary-weak:rgba(37,99,235,.12);
  --dt-row-hover:#f3f6ff;
  --dt-row-alt:#fbfcfe;

  color:var(--dt-text);
  font-size:14px;
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate{margin:10px 0;}

.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select{
  height:34px;
  padding:6px 10px;
  border:1px solid var(--dt-border);
  border-radius:10px;
  background:var(--dt-bg);
  color:var(--dt-text);
  outline:none;
  box-shadow:0 1px 0 rgba(17,24,39,.03);
}

.dataTables_wrapper .dataTables_filter input:focus,
.dataTables_wrapper .dataTables_length select:focus{
  border-color:rgba(37,99,235,.55);
  box-shadow:0 0 0 4px rgba(37,99,235,.12);
}

table.dataTable{
  width:100% !important;
  border-collapse:separate !important;
  border-spacing:0;
  background:var(--dt-bg);
  border:1px solid var(--dt-border);
  border-radius:14px;
  overflow:hidden;
}

table.dataTable thead th{
  background:linear-gradient(180deg,#f8fafc,#eef2f7);
  color:#0f172a;
  font-weight:700;
  border-bottom:1px solid var(--dt-border) !important;
  padding:10px 12px !important;
  white-space:nowrap;
}

table.dataTable tbody td{
  padding:10px 12px !important;
  border-top:1px solid var(--dt-border) !important;
  vertical-align:middle;
}

table.dataTable tbody tr:nth-child(even){background:var(--dt-row-alt);}

table.dataTable tbody tr:hover{background:var(--dt-row-hover) !important;}

table.dataTable tbody tr.selected,
table.dataTable tbody tr.selected:hover{
  background:var(--dt-primary-weak) !important;
  box-shadow:inset 3px 0 0 var(--dt-primary);
}

/* Smaller, cleaner sort icon spacing */
table.dataTable thead th.sorting,
table.dataTable thead th.sorting_asc,
table.dataTable thead th.sorting_desc{padding-right:26px !important;}

/* Pagination */
.dataTables_wrapper .dataTables_paginate .paginate_button{
  border:1px solid var(--dt-border) !important;
  background:var(--dt-bg) !important;
  color:var(--dt-text) !important;
  border-radius:10px;
  padding:6px 10px;
  margin-left:6px;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover{
  background:#eef2ff !important;
  border-color:rgba(37,99,235,.35) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current{
  background:var(--dt-primary) !important;
  color:#fff !important;
  border-color:var(--dt-primary) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled{opacity:.45;}

/* scrollX/Y: DataTables creates separate head/body tables.
   Make them appear as a single card and hide the duplicate thead in the body table. */
.dataTables_wrapper .dataTables_scroll{
  border:1px solid var(--dt-border);
  border-radius:14px;
  overflow:hidden;
  background:var(--dt-bg);
}

.dataTables_wrapper .dataTables_scroll table.dataTable{
  border:0 !important;
  border-radius:0 !important;
}

.dataTables_wrapper .dataTables_scrollBody{border-top:0 !important;}

.dataTables_wrapper .dataTables_scrollBody thead{
  visibility:hidden;
  height:0;
}

.dataTables_wrapper .dataTables_scrollBody thead th{
  padding-top:0 !important;
  padding-bottom:0 !important;
  border:0 !important;
}
