/**
 * DataTables chrome — design token integration
 * @see docs/ui-redesign/design-system.md §18
 */

body.app-body .dataTables_wrapper {
  font-size: var(--font-size-sm);
  color: var(--color-text-primary);
}

body.app-body .dataTables_wrapper .dataTables_length,
body.app-body .dataTables_wrapper .dataTables_filter,
body.app-body .dataTables_wrapper .dataTables_info,
body.app-body .dataTables_wrapper .dataTables_paginate {
  margin: var(--space-3) 0;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}

body.app-body .dataTables_wrapper .dataTables_length select,
body.app-body .dataTables_wrapper .dataTables_filter input {
  min-height: var(--form-control-height);
  padding: var(--form-control-padding-y) var(--form-control-padding-x);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-surface-card);
  font-family: inherit;
  font-size: var(--font-size-sm);
  color: var(--color-text-primary);
}

body.app-body .dataTables_wrapper .dataTables_filter input:focus {
  border-color: var(--form-control-focus-border-color);
  outline: none;
  box-shadow: var(--form-control-focus-shadow);
}

body.app-body table.dataTable {
  width: 100% !important;
  border-collapse: collapse;
  font-size: var(--font-size-sm);
}

body.app-body table.dataTable thead th,
body.app-body table.dataTable thead td {
  padding: var(--space-2) var(--space-3);
  border-bottom: 1px solid var(--color-border-strong);
  background: var(--color-surface-zebra);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}

body.app-body table.dataTable tbody td {
  padding: var(--space-2) var(--space-3);
  border-bottom: 1px solid var(--color-border);
  vertical-align: top;
}

body.app-body table.dataTable tbody tr:nth-child(even) {
  background: var(--color-surface-zebra);
}

body.app-body table.dataTable tbody tr:hover {
  background: var(--color-surface-page-alt);
}

body.app-body table.dataTable tbody tr.selected,
body.app-body table.dataTable.stripe tbody tr.selected {
  background: rgba(29, 78, 216, 0.06) !important;
}

body.app-body .dataTables_wrapper .dataTables_paginate .paginate_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  min-height: 2.25rem;
  margin: 0 0.125rem;
  padding: 0 var(--space-2);
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-sm);
  background: var(--color-surface-card) !important;
  color: var(--color-text-primary) !important;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  box-shadow: none !important;
}

body.app-body .dataTables_wrapper .dataTables_paginate .paginate_button:hover,
body.app-body .dataTables_wrapper .dataTables_paginate .paginate_button:focus {
  background: var(--color-surface-zebra) !important;
  border-color: var(--color-border-strong) !important;
  color: var(--color-text-primary) !important;
}

body.app-body .dataTables_wrapper .dataTables_paginate .paginate_button.current,
body.app-body .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  background: var(--color-sidebar-active-bg) !important;
  border-color: var(--color-sidebar-active-bg) !important;
  color: var(--color-sidebar-text-active) !important;
}

body.app-body .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
body.app-body .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
  opacity: 0.45;
  cursor: not-allowed;
  background: var(--color-surface-card) !important;
  color: var(--color-text-secondary) !important;
}

body.app-body .dt-buttons .dt-button,
body.app-body .dt-buttons button.dt-button {
  min-height: var(--form-control-height);
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--color-border-strong) !important;
  border-radius: var(--radius-sm);
  background: var(--color-surface-card) !important;
  color: var(--color-text-primary) !important;
  font-family: inherit;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  box-shadow: none !important;
}

body.app-body .dt-buttons .dt-button:hover,
body.app-body .dt-buttons button.dt-button:hover {
  background: var(--color-surface-zebra) !important;
  border-color: var(--color-border-strong) !important;
}

/* DataTables Editor */
body.app-body div.DTE {
  font-family: var(--font-family-sans);
  font-size: var(--font-size-sm);
}

body.app-body div.DTE_Header {
  padding: var(--space-4);
  border-bottom: 1px solid var(--color-border);
  background: var(--color-surface-card);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}

body.app-body div.DTE_Body {
  padding: var(--space-4);
  background: var(--color-surface-card);
}

body.app-body div.DTE_Footer {
  padding: var(--space-3) var(--space-4);
  border-top: 1px solid var(--color-border);
  background: var(--color-surface-zebra);
}

body.app-body div.DTE_Field label {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}

body.app-body div.DTE_Field_Input input,
body.app-body div.DTE_Field_Input select,
body.app-body div.DTE_Field_Input textarea {
  min-height: var(--form-control-height);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  font-family: inherit;
  font-size: var(--font-size-sm);
}

body.app-body div.DTE button,
body.app-body div.DTE .DTE_Form_Buttons button {
  min-height: var(--form-control-height);
  border-radius: var(--radius-sm);
  font-family: inherit;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
}

body.app-body div.DTE button.btn,
body.app-body div.DTE .DTE_Form_Buttons button.btn-primary {
  background: var(--color-brand);
  border-color: var(--color-brand);
  color: var(--color-brand-on);
}

body.app-body .DTE_Processing {
  background: rgba(255, 255, 255, 0.85);
  color: var(--color-text-secondary);
}
