/* Base styles for the DataTables */
:root {
  /* Default row selection color */
  --dt-row-selected: 237, 33, 39;
  --dt-row-selected-text: 255, 255, 255;
  --dt-row-selected-link: 9, 10, 11;

  /* Default row stripe color */
  --dt-row-stripe: 0, 0, 0;

  /* Default row hover color */
  --dt-row-hover: 0, 0, 0;

  /* Default column ordering color */
  --dt-column-ordering: 0, 0, 0;

  /* Default HTML background color */
  --dt-html-background: white;
}

/* Dark mode styles */
:root.dark {
  --dt-html-background: rgb(33, 37, 41);
}

/* Styles for the control elements */
table.dataTable td.dt-control {
  text-align: center;
  cursor: pointer;
}

/* Styles for the sorting arrows */
table.dataTable thead > tr > th.sorting,
table.dataTable thead > tr > th.sorting_asc,
table.dataTable thead > tr > th.sorting_desc,
table.dataTable thead > tr > th.sorting_asc_disabled,
table.dataTable thead > tr > th.sorting_desc_disabled,
table.dataTable thead > tr > td.sorting,
table.dataTable thead > tr > td.sorting_asc,
table.dataTable thead > tr > td.sorting_desc,
table.dataTable thead > tr > td.sorting_asc_disabled,
table.dataTable thead > tr > td.sorting_desc_disabled {
  cursor: pointer;
  position: relative;
  padding-right: 26px;
}

/* Processing indicator styles */
div.dataTables_processing {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  margin-left: -100px;
  margin-top: -26px;
  text-align: center;
  padding: 2px;
}

/* Loading animation styles */
div.dataTables_processing > div:last-child {
  position: relative;
  width: 80px;
  height: 15px;
  margin: 1em auto;
}
div.dataTables_processing > div:last-child > div {
  position: absolute;
  top: 0;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #ed2127;
  background: rgb(var(--dt-row-selected));
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}

/* Loading animation keyframes */
@keyframes datatables-loader-1 {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes datatables-loader-3 {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}
@keyframes datatables-loader-2 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(24px, 0);
  }
}

/* Table styles */
table.dataTable {
  width: 100%;
  margin: 0 auto;
  clear: both;
  border-collapse: separate;
  border-spacing: 0;
}

/* Header and footer styles */
table.dataTable thead th,
table.dataTable thead td,
table.dataTable tfoot th,
table.dataTable tfoot td {
  text-align: left;
}

/* Body styles */
table.dataTable > thead > tr > th,
table.dataTable > thead > tr > td {
  padding: 10px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.3);
}

/* Styles for the selected row */
table.dataTable tbody tr.selected > * {
  box-shadow: inset 0 0 0 9999px rgba(237, 33, 39, 0.9);
  color: white;
  color: rgb(var(--dt-row-selected-text));
}

/* Styles for the links in the selected row */
table.dataTable tbody tr.selected a {
  color: #090a0b;
  color: rgb(var(--dt-row-selected-link));
}

/* Styles for the table cells */
table.dataTable tbody th,
table.dataTable tbody td {
  padding: 8px 10px;
}

/* Styles for the row border */
table.dataTable.row-border > tbody > tr > th,
table.dataTable.row-border > tbody > tr > td,
table.dataTable.display > tbody > tr > th,
table.dataTable.display > tbody > tr > td {
  border-top: 1px solid rgba(0, 0, 0, 0.15);
}

/* Styles for the cell border */
table.dataTable.cell-border > tbody > tr > th,
table.dataTable.cell-border > tbody > tr > td {
  border-top: 1px solid rgba(0, 0, 0, 0.15);
  border-right: 1px solid rgba
