:root {
  --dtfc_background: white;
  --dtfc-thead-cell_background: var(--dtfc_background);
  --dtfc-tbody-cell_background: var(--dtfc_background);
}

:root.dark {
  --dtfc_background: rgb(33, 37, 41);
}

table.dataTable thead tr > .dtfc-fixed-start,
table.dataTable thead tr > .dtfc-fixed-end,
table.dataTable tfoot tr > .dtfc-fixed-start,
table.dataTable tfoot tr > .dtfc-fixed-end {
  top: 0;
  bottom: 0;
  z-index: 3;
  background-color: var(--dtfc-thead-cell_background);
}
table.dataTable tbody tr > .dtfc-fixed-start,
table.dataTable tbody tr > .dtfc-fixed-end {
  z-index: 1;
  background-color: var(--dtfc-tbody-cell_background);
}
table.dataTable tr > .dtfc-fixed-left::after,
table.dataTable tr > .dtfc-fixed-right::after {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 10px;
  transition: box-shadow 0.3s;
  content: "";
  pointer-events: none;
}
table.dataTable tr > .dtfc-fixed-left::after {
  right: 0;
  transform: translateX(100%);
}
table.dataTable tr > .dtfc-fixed-right::after {
  left: 0;
  transform: translateX(-80%);
}
table.dataTable.dtfc-scrolling-left tr > .dtfc-fixed-left::after {
  box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.2);
}
table.dataTable.dtfc-scrolling-right tr > .dtfc-fixed-right::after {
  box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.2);
}
table.dataTable.dtfc-scrolling-right tr > .dtfc-fixed-right + .dtfc-fixed-right::after {
  box-shadow: none;
}

div.dt-scroll,
div.dtfh-floatingparent {
  position: relative;
}
div.dt-scroll div.dtfc-top-blocker,
div.dt-scroll div.dtfc-bottom-blocker,
div.dtfh-floatingparent div.dtfc-top-blocker,
div.dtfh-floatingparent div.dtfc-bottom-blocker {
  position: absolute;
  background-color: var(--dtfc-thead-cell_background);
}

html.dark table.dataTable.dtfc-scrolling-left tbody > tr > .dtfc-fixed-left::after {
  box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.3);
}
html.dark table.dataTable.dtfc-scrolling-right tbody > tr > .dtfc-fixed-right::after {
  box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.3);
}
html.dark table.dataTable.dtfc-scrolling-right tbody > tr > .dtfc-fixed-right + .dtfc-fixed-right::after {
  box-shadow: none;
}

div.dtfc-top-blocker {
  border-bottom: none !important;
  background-color: rgb(246, 246, 246) !important;
  border-top: 1px solid #c5c5c5 !important;
}

table.dataTable thead > tr > *.ui-state-default {
  background: #f6f6f6;
}
table.dataTable thead > tr > .dtfc-fixed-right {
  border-left: 1px solid #c5c5c5;
}

tr.dt-rowReorder-moving td.dtfc-fixed-start,
tr.dt-rowReorder-moving td.dtfc-fixed-end {
  border-top: 2px solid #555 !important;
  border-bottom: 2px solid #555 !important;
}
tr.dt-rowReorder-moving td.dtfc-fixed-start:first-child {
  border-left: 2px solid #555 !important;
}
tr.dt-rowReorder-moving td.dtfc-fixed-end:last-child {
  border-right: 2px solid #555 !important;
}
