/**
 * DataTables.net 2.x – Official Tailwind CSS base
 * Source: https://cdn.datatables.net/2.3.7/css/dataTables.tailwindcss.css
 */
:root {
  --dt-row-selected: 13, 110, 253;
  --dt-row-selected-text: 255, 255, 255;
  --dt-row-selected-link: 228, 228, 228;
  --dt-row-stripe: 0, 0, 0;
  --dt-row-hover: 0, 0, 0;
  --dt-column-ordering: 0, 0, 0;
  --dt-header-align-items: center;
  --dt-header-vertical-align: middle;
  --dt-html-background: white;
}
:root.dark {
  --dt-html-background: rgb(33, 37, 41);
}

table.dataTable tbody td.dt-control {
  text-align: center;
  cursor: pointer;
}
table.dataTable tbody td.dt-control:before {
  display: inline-block;
  box-sizing: border-box;
  content: "";
  border-top: 5px solid transparent;
  border-left: 10px solid rgba(0, 0, 0, 0.5);
  border-bottom: 5px solid transparent;
  border-right: 0px solid transparent;
}
table.dataTable tbody tr.dt-hasChild td.dt-control:before {
  border-top: 10px solid rgba(0, 0, 0, 0.5);
  border-left: 5px solid transparent;
  border-bottom: 0px solid transparent;
  border-right: 5px solid transparent;
}
table.dataTable tfoot:empty {
  display: none;
}

html.dark table.dataTable td.dt-control:before,
:root[data-bs-theme=dark] table.dataTable td.dt-control:before,
:root[data-theme=dark] table.dataTable td.dt-control:before {
  border-left-color: rgba(255, 255, 255, 0.5);
}
html.dark table.dataTable tr.dt-hasChild td.dt-control:before,
:root[data-bs-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before,
:root[data-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before {
  border-top-color: rgba(255, 255, 255, 0.5);
  border-left-color: transparent;
}

div.dt-scroll {
  width: 100%;
}
div.dt-scroll-body thead tr,
div.dt-scroll-body tfoot tr {
  height: 0;
}
div.dt-scroll-body thead tr th, div.dt-scroll-body thead tr td,
div.dt-scroll-body tfoot tr th, div.dt-scroll-body tfoot tr td {
  height: 0 !important;
  padding-top: 0px !important;
  padding-bottom: 0px !important;
  border-top-width: 0px !important;
  border-bottom-width: 0px !important;
}
div.dt-scroll-body thead tr th div.dt-scroll-sizing, div.dt-scroll-body thead tr td div.dt-scroll-sizing,
div.dt-scroll-body tfoot tr th div.dt-scroll-sizing, div.dt-scroll-body tfoot tr td div.dt-scroll-sizing {
  height: 0 !important;
  overflow: hidden !important;
}

table.dataTable thead > tr > th:active,
table.dataTable thead > tr > td:active {
  outline: none;
}
/* Sort icons – KTDataTable style (stacked chevron SVGs) */
table.dataTable thead > tr > th.dt-orderable-asc .dt-column-order, table.dataTable thead > tr > th.dt-orderable-desc .dt-column-order, table.dataTable thead > tr > th.dt-ordering-asc .dt-column-order, table.dataTable thead > tr > th.dt-ordering-desc .dt-column-order,
table.dataTable thead > tr > td.dt-orderable-asc .dt-column-order, table.dataTable thead > tr > td.dt-orderable-desc .dt-column-order, table.dataTable thead > tr > td.dt-ordering-asc .dt-column-order, table.dataTable thead > tr > td.dt-ordering-desc .dt-column-order {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 0.975rem;
  height: 0.975rem;
  gap: 0.125rem;
  line-height: 1;
}
table.dataTable thead > tr > th.dt-orderable-asc .dt-column-order:before, table.dataTable thead > tr > th.dt-orderable-asc .dt-column-order:after, table.dataTable thead > tr > th.dt-orderable-desc .dt-column-order:before, table.dataTable thead > tr > th.dt-orderable-desc .dt-column-order:after, table.dataTable thead > tr > th.dt-ordering-asc .dt-column-order:before, table.dataTable thead > tr > th.dt-ordering-asc .dt-column-order:after, table.dataTable thead > tr > th.dt-ordering-desc .dt-column-order:before, table.dataTable thead > tr > th.dt-ordering-desc .dt-column-order:after,
table.dataTable thead > tr > td.dt-orderable-asc .dt-column-order:before, table.dataTable thead > tr > td.dt-orderable-asc .dt-column-order:after, table.dataTable thead > tr > td.dt-orderable-desc .dt-column-order:before, table.dataTable thead > tr > td.dt-orderable-desc .dt-column-order:after, table.dataTable thead > tr > td.dt-ordering-asc .dt-column-order:before, table.dataTable thead > tr > td.dt-ordering-asc .dt-column-order:after, table.dataTable thead > tr > td.dt-ordering-desc .dt-column-order:before, table.dataTable thead > tr > td.dt-ordering-desc .dt-column-order:after {
  display: inline-block;
  content: '';
  height: 0.25rem;
  width: 0.438rem;
  left: auto;
  right: auto;
  top: auto;
  bottom: auto;
  opacity: 1;
  line-height: inherit;
  font-size: inherit;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
/* Default (unsorted) – both chevrons #78829D */
table.dataTable thead > tr > th.dt-orderable-asc .dt-column-order:before, table.dataTable thead > tr > th.dt-orderable-desc .dt-column-order:before,
table.dataTable thead > tr > th.dt-ordering-asc .dt-column-order:before, table.dataTable thead > tr > th.dt-ordering-desc .dt-column-order:before,
table.dataTable thead > tr > td.dt-orderable-asc .dt-column-order:before, table.dataTable thead > tr > td.dt-orderable-desc .dt-column-order:before,
table.dataTable thead > tr > td.dt-ordering-asc .dt-column-order:before, table.dataTable thead > tr > td.dt-ordering-desc .dt-column-order:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5' fill='none'%3E%3Cpath d='M1.08333 4.83333C0.908333 4.83333 0.791667 4.775 0.675 4.65833C0.441667 4.425 0.441667 4.075 0.675 3.84167L3.59167 0.925C3.825 0.691667 4.175 0.691667 4.40833 0.925L7.325 3.84167C7.55833 4.075 7.55833 4.425 7.325 4.65833C7.09167 4.89167 6.74167 4.89167 6.50833 4.65833L4 2.15L1.49167 4.65833C1.375 4.775 1.25833 4.83333 1.08333 4.83333Z' fill='%2378829D'/%3E%3C/svg%3E");
}
table.dataTable thead > tr > th.dt-orderable-asc .dt-column-order:after, table.dataTable thead > tr > th.dt-orderable-desc .dt-column-order:after,
table.dataTable thead > tr > th.dt-ordering-asc .dt-column-order:after, table.dataTable thead > tr > th.dt-ordering-desc .dt-column-order:after,
table.dataTable thead > tr > td.dt-orderable-asc .dt-column-order:after, table.dataTable thead > tr > td.dt-orderable-desc .dt-column-order:after,
table.dataTable thead > tr > td.dt-ordering-asc .dt-column-order:after, table.dataTable thead > tr > td.dt-ordering-desc .dt-column-order:after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5' fill='none'%3E%3Cpath d='M4 4.24984C3.825 4.24984 3.70833 4.1915 3.59167 4.07484L0.675 1.15817C0.441667 0.924838 0.441667 0.574837 0.675 0.341504C0.908333 0.108171 1.25833 0.108171 1.49167 0.341504L4 2.84984L6.50833 0.341504C6.74167 0.108171 7.09167 0.108171 7.325 0.341504C7.55833 0.574837 7.55833 0.924838 7.325 1.15817L4.40833 4.07484C4.29167 4.1915 4.175 4.24984 4 4.24984Z' fill='%2378829D'/%3E%3C/svg%3E");
}
/* Ascending – up chevron active #4B5675, down muted #C9CEDA */
table.dataTable thead > tr > th[aria-sort='ascending'] .dt-column-order:before,
table.dataTable thead > tr > td[aria-sort='ascending'] .dt-column-order:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5' fill='none'%3E%3Cpath d='M1.08333 4.83333C0.908333 4.83333 0.791667 4.775 0.675 4.65833C0.441667 4.425 0.441667 4.075 0.675 3.84167L3.59167 0.925C3.825 0.691667 4.175 0.691667 4.40833 0.925L7.325 3.84167C7.55833 4.075 7.55833 4.425 7.325 4.65833C7.09167 4.89167 6.74167 4.89167 6.50833 4.65833L4 2.15L1.49167 4.65833C1.375 4.775 1.25833 4.83333 1.08333 4.83333Z' fill='%234B5675'/%3E%3C/svg%3E");
}
table.dataTable thead > tr > th[aria-sort='ascending'] .dt-column-order:after,
table.dataTable thead > tr > td[aria-sort='ascending'] .dt-column-order:after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5' fill='none'%3E%3Cpath d='M4 4.24984C3.825 4.24984 3.70833 4.1915 3.59167 4.07484L0.675 1.15817C0.441667 0.924838 0.441667 0.574837 0.675 0.341504C0.908333 0.108171 1.25833 0.108171 1.49167 0.341504L4 2.84984L6.50833 0.341504C6.74167 0.108171 7.09167 0.108171 7.325 0.341504C7.55833 0.574837 7.55833 0.924838 7.325 1.15817L4.40833 4.07484C4.29167 4.1915 4.175 4.24984 4 4.24984Z' fill='%23C9CEDA'/%3E%3C/svg%3E");
}
/* Descending – up muted #C9CEDA, down chevron active #4B5675 */
table.dataTable thead > tr > th[aria-sort='descending'] .dt-column-order:before,
table.dataTable thead > tr > td[aria-sort='descending'] .dt-column-order:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5' fill='none'%3E%3Cpath d='M1.08333 4.83333C0.908333 4.83333 0.791667 4.775 0.675 4.65833C0.441667 4.425 0.441667 4.075 0.675 3.84167L3.59167 0.925C3.825 0.691667 4.175 0.691667 4.40833 0.925L7.325 3.84167C7.55833 4.075 7.55833 4.425 7.325 4.65833C7.09167 4.89167 6.74167 4.89167 6.50833 4.65833L4 2.15L1.49167 4.65833C1.375 4.775 1.25833 4.83333 1.08333 4.83333Z' fill='%23C9CEDA'/%3E%3C/svg%3E");
}
table.dataTable thead > tr > th[aria-sort='descending'] .dt-column-order:after,
table.dataTable thead > tr > td[aria-sort='descending'] .dt-column-order:after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5' fill='none'%3E%3Cpath d='M4 4.24984C3.825 4.24984 3.70833 4.1915 3.59167 4.07484L0.675 1.15817C0.441667 0.924838 0.441667 0.574837 0.675 0.341504C0.908333 0.108171 1.25833 0.108171 1.49167 0.341504L4 2.84984L6.50833 0.341504C6.74167 0.108171 7.09167 0.108171 7.325 0.341504C7.55833 0.574837 7.55833 0.924838 7.325 1.15817L4.40833 4.07484C4.29167 4.1915 4.175 4.24984 4 4.24984Z' fill='%234B5675'/%3E%3C/svg%3E");
}
table.dataTable thead > tr > th.dt-orderable-asc, table.dataTable thead > tr > th.dt-orderable-desc,
table.dataTable thead > tr > td.dt-orderable-asc, table.dataTable thead > tr > td.dt-orderable-desc {
  cursor: pointer;
}
table.dataTable thead > tr > th.dt-orderable-asc:hover, table.dataTable thead > tr > th.dt-orderable-desc:hover,
table.dataTable thead > tr > td.dt-orderable-asc:hover, table.dataTable thead > tr > td.dt-orderable-desc:hover {
  outline: 2px solid rgba(0, 0, 0, 0.05);
  outline-offset: -2px;
}
table.dataTable thead > tr > th.dt-orderable-none:not(.dt-ordering-asc, .dt-ordering-desc) .dt-column-order:empty, table.dataTable thead > tr > th.sorting_desc_disabled .dt-column-order:after, table.dataTable thead > tr > th.sorting_asc_disabled .dt-column-order:before,
table.dataTable thead > tr > td.dt-orderable-none:not(.dt-ordering-asc, .dt-ordering-desc) .dt-column-order:empty, table.dataTable thead > tr > td.sorting_desc_disabled .dt-column-order:after, table.dataTable thead > tr > td.sorting_asc_disabled .dt-column-order:before {
  display: none;
}
/* Hide sort icon on non-sortable columns (e.g. checkbox, actions) - DataTables may still add dt-ordering-asc */
table.dataTable thead > tr > th.dt-orderable-none .dt-column-order,
table.dataTable thead > tr > td.dt-orderable-none .dt-column-order {
  display: none !important;
}
table.dataTable thead > tr > th div.dt-column-header, table.dataTable thead > tr > th div.dt-column-footer, table.dataTable thead > tr > td div.dt-column-header, table.dataTable thead > tr > td div.dt-column-footer,
table.dataTable tfoot > tr > th div.dt-column-header, table.dataTable tfoot > tr > th div.dt-column-footer, table.dataTable tfoot > tr > td div.dt-column-header, table.dataTable tfoot > tr > td div.dt-column-footer {
  display: flex;
  justify-content: space-between;
  align-items: var(--dt-header-align-items);
  gap: 4px;
}
table.dataTable thead > tr > th div.dt-column-header .dt-column-title, table.dataTable thead > tr > th div.dt-column-footer .dt-column-title, table.dataTable thead > tr > td div.dt-column-header .dt-column-title, table.dataTable thead > tr > td div.dt-column-footer .dt-column-title,
table.dataTable tfoot > tr > th div.dt-column-header .dt-column-title, table.dataTable tfoot > tr > th div.dt-column-footer .dt-column-title, table.dataTable tfoot > tr > td div.dt-column-header .dt-column-title, table.dataTable tfoot > tr > td div.dt-column-footer .dt-column-title {
  flex-grow: 1;
}
table.dataTable thead > tr > th div.dt-column-header .dt-column-title:empty, table.dataTable thead > tr > th div.dt-column-footer .dt-column-title:empty, table.dataTable thead > tr > td div.dt-column-header .dt-column-title:empty, table.dataTable thead > tr > td div.dt-column-footer .dt-column-title:empty,
table.dataTable tfoot > tr > th div.dt-column-header .dt-column-title:empty, table.dataTable tfoot > tr > th div.dt-column-footer .dt-column-title:empty, table.dataTable tfoot > tr > td div.dt-column-header .dt-column-title:empty, table.dataTable tfoot > tr > td div.dt-column-footer .dt-column-title:empty {
  display: none;
}
div.dt-scroll-body > table.dataTable > thead > tr > th, div.dt-scroll-body > table.dataTable > thead > tr > td {
  overflow: hidden;
}
:root.dark table.dataTable thead > tr > th.dt-orderable-asc:hover, :root.dark table.dataTable thead > tr > th.dt-orderable-desc:hover, :root.dark table.dataTable thead > tr > td.dt-orderable-asc:hover, :root.dark table.dataTable thead > tr > td.dt-orderable-desc:hover,
:root[data-bs-theme=dark] table.dataTable thead > tr > th.dt-orderable-asc:hover, :root[data-bs-theme=dark] table.dataTable thead > tr > th.dt-orderable-desc:hover, :root[data-bs-theme=dark] table.dataTable thead > tr > td.dt-orderable-asc:hover, :root[data-bs-theme=dark] table.dataTable thead > tr > td.dt-orderable-desc:hover {
  outline: 2px solid rgba(255, 255, 255, 0.05);
}

/**
 * Metronic / Tailwind overrides
 */
@layer components {
  .dataTables_wrapper,
  .dt-container {
    font-family: inherit !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0;
    padding-right: 0;
    @apply text-foreground;
  }
  div[id$='_wrapper'] {
    width: 100% !important;
    max-width: 100% !important;
  }
  table.dataTable {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed;
    @apply border border-border;
    border-color: var(--border) !important;
  }
  table.dataTable thead th,
  table.dataTable thead td {
    @apply border-b border-border bg-muted/50 px-4 py-3 text-left text-sm font-medium text-foreground;
  }
  table.dataTable tbody th,
  table.dataTable tbody td {
    @apply border-b border-border px-4 py-3 text-sm text-foreground;
  }
  table.dataTable tbody tr:hover {
    @apply bg-accent/50;
  }
  .dataTables_wrapper .dataTables_length,
  .dt-container .dt-length {
    @apply mb-4;
  }
  .dataTables_wrapper .dataTables_filter,
  .dt-container .dt-search {
    @apply mb-0;
  }
  .dt-layout-row .dt-length,
  .dataTables_wrapper .dt-layout-row .dataTables_length {
    @apply m-0 p-0;
  }
  .dataTables_wrapper .dataTables_length label,
  .dataTables_wrapper .dataTables_filter label,
  .dt-container .dt-length label,
  .dt-container .dt-search label {
    @apply flex flex-wrap items-center gap-2 text-sm text-foreground;
  }
  .dataTables_wrapper .dataTables_length label,
  .dt-container .dt-length label {
    font-size: 0;
  }
  .dataTables_wrapper .dataTables_filter label,
  .dt-container .dt-search label {
    font-size: 0;
  }
  .dataTables_wrapper .dataTables_filter input,
  .dt-container .dt-search input.dt-input {
    font-size: 0.8125rem;
    @apply block rounded-md h-8.5 px-3 leading-normal w-48 max-w-full;
    @apply bg-background border border-input text-foreground shadow-xs shadow-[rgba(0,0,0,0.05)] transition-[color,box-shadow];
    @apply placeholder:text-muted-foreground;
    @apply focus-visible:outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/30;
  }
  .dataTables_wrapper .dataTables_length select,
  .dt-container .dt-length select.dt-input {
    font-size: 0.75rem;
    @apply rounded-md cursor-pointer appearance-none w-16 h-7 ps-2.5 pe-5 text-xs leading-normal;
    @apply bg-background border border-input text-foreground shadow-xs shadow-[rgba(0,0,0,0.05)] transition-[color,box-shadow];
    @apply focus-visible:outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/30;
    background-repeat: no-repeat;
    background-size: 14px 11px;
    background-position: right 0.5rem center;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%239f9fa9' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");
  }
  .dataTables_wrapper .dt-layout-row,
  .dt-container .dt-layout-row {
    @apply flex flex-row flex-wrap items-center gap-x-4 gap-y-2 mt-4 mb-4 px-4;
  }
  .dataTables_wrapper .dt-layout-row .dt-layout-start,
  .dt-container .dt-layout-row .dt-layout-start {
    @apply flex flex-row flex-nowrap items-center gap-x-3;
  }
  .dataTables_wrapper .dt-layout-row .dt-layout-end,
  .dt-container .dt-layout-row .dt-layout-end {
    @apply ml-auto flex flex-row flex-wrap items-center gap-x-2;
  }
  .dataTables_wrapper .dataTables_info,
  .dt-container .dt-info {
    @apply text-xs text-muted-foreground inline-flex items-center;
  }
  .dataTables_wrapper .dataTables_paginate .paginate_button,
  .dt-container .dt-paging .dt-paging-button {
    @apply mx-0.5 inline-flex h-7 min-w-[1.75rem] items-center justify-center rounded-md border border-border bg-background px-2 text-xs font-medium text-foreground;
    cursor: pointer;
    transition: background-color 0.15s, color 0.15s;
  }
  .dataTables_wrapper .dataTables_paginate .paginate_button:not(.disabled):hover,
  .dt-container .dt-paging .dt-paging-button:not(.disabled):hover {
    @apply border-border bg-accent text-accent-foreground;
  }
  .dataTables_wrapper .dataTables_paginate .paginate_button.current,
  .dt-container .dt-paging .dt-paging-button.current {
    @apply border-primary bg-primary text-primary-foreground;
  }
  .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
  .dt-container .dt-paging .dt-paging-button.disabled {
    @apply cursor-not-allowed opacity-50;
  }
  .dataTables_wrapper .dataTables_processing,
  .dt-container .dt-processing {
    @apply flex items-center justify-center gap-2 rounded-md border border-input bg-background px-4 py-4 text-sm text-foreground;
    min-height: 3.5rem;
  }
}
