.dt-container {display: flex;flex-direction: column;gap: 16px;width: 100%;}

/* TOOLBAR */
.dt-toolbar {display: flex;align-items: center;gap: 8px;padding: 0;}

.dt-search-input {flex: 1;max-width: 300px;padding: 0 12px;height: 40px;border: var(--base-border);border-radius: var(--br2);color: var(--base-text-color);background: var(--base-background-color);transition: border-color 0.2s ease;}
.dt-search-input::placeholder {color: var(--muted-text-color);}
.dt-search-input:focus {outline: none;border-color: var(--alt-border-color);box-shadow: var(--shadow);}

/* TABLE */
.dt-table-wrapper {overflow-x: auto;border: var(--base-border);border-radius: var(--br2);background: var(--base-background-color);}
.dt-table {width: 100%;border-collapse: collapse;}
.dt-table thead {background: var(--color-0);border-bottom: var(--base-border);}
.dt-table thead th {padding: 12px 16px;text-align: left;font-weight: 600;white-space: nowrap;vertical-align: middle;}
.dt-table thead th.narrow, .dt-table tbody td.narrow {white-space: nowrap;width: 1%;}
.dt-table tbody tr {border-bottom: var(--base-border);transition: background 0.15s ease;}
.dt-table tbody tr:last-child {border-bottom: 0;}
.dt-table tbody tr:hover {background: var(--muted-background-color);}
.dt-table tbody tr.dt-row-alt {background: transparent;}
.dt-table tbody td {padding: 12px 16px;vertical-align: middle; white-space: nowrap;}
.dt-table tbody td:empty::after {content: '—';color: var(--alt-text-color);font-style: italic;}
.dt-table tbody td > div {display: flex;flex-direction: column;gap: 4px;}
.dt-table tbody td .icon {margin: -6px 0}

/* PAGINATION */
.dt-pagination {display: flex;flex-direction: column;gap: 8px;padding: 0;}
.dt-pagination-info {color: var(--muted-text-color);}
.dt-pagination-controls {display: flex;align-items: center;justify-content: start;gap: 4px;flex-wrap: wrap;}

.dt-page-btn {padding: 0;min-width: 32px;height: 32px;border: var(--base-border);border-radius: var(--br2);background: var(--base-background-color);color: var(--base-text-color); font-size: 0.8rem; cursor: pointer;transition: all 0.15s ease;}
.dt-page-btn:hover:not(.dt-page-active) {background: var(--muted-background-color);}
.dt-page-btn:disabled {opacity: 0.5;cursor: not-allowed;}
.dt-page-active {background: var(--alt-background-color);color: var(--alt-text-color);cursor: default;}
.dt-page-ellipsis {color: var(--alt-text-color);padding: 0 4px;}

/* LOADING STATE */
.dt-loading {display: flex;align-items: center;justify-content: start;color: var(--alt-text-color);animation: dt-pulse 1.5s ease-in-out infinite;}

@keyframes dt-pulse {
  0%, 100% {
    opacity: 0.7;
  }
  50% {
    opacity: 1;
  }
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .dt-toolbar {flex-wrap: wrap;}
  .dt-search-input {max-width: 100%;order: 3;flex-basis: 100%;}
  .dt-pagination-controls {gap: 2px;}
}

/* ACCESSIBILITY */
.dt-search-btn:focus-visible,
.dt-sort-btn:focus-visible,
.dt-popup-btn:focus-visible,
.dt-page-btn:focus-visible {
  outline: var(--base-border);
  outline-offset: 2px;
}

/* PRINT STYLES */
@media print {
  .dt-toolbar,
  .dt-pagination,
  .dt-loading {
    display: none !important;
  }

  .dt-table {
    border: none;
  }

  .dt-table thead {
    background: transparent;
  }
}