/* Benutzerdefinierte Stile für DataTables */

/* Konsistente Positionierung der Sortierindikatoren - immer nach der Überschrift */
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 {
  flex-direction: row !important; /* Erzwingt horizontale Ausrichtung von links nach rechts */
}

table.dataTable thead > tr > th div.dt-column-header span.dt-column-title,
table.dataTable thead > tr > th div.dt-column-footer span.dt-column-title,
table.dataTable thead > tr > td div.dt-column-header span.dt-column-title,
table.dataTable thead > tr > td div.dt-column-footer span.dt-column-title {
  order: 1 !important; /* Text zuerst */
}

table.dataTable thead > tr > th div.dt-column-header span.dt-column-order,
table.dataTable thead > tr > th div.dt-column-footer span.dt-column-order,
table.dataTable thead > tr > td div.dt-column-header span.dt-column-order,
table.dataTable thead > tr > td div.dt-column-footer span.dt-column-order {
  order: 2 !important; /* Sortierindikator danach */
  margin-left: 5px !important; /* Abstand zwischen Text und Indikator */
}

/* Paginierungsbuttons ohne Zwischenräume */
.dt-paging-button {
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid #dee2e6 !important;
  border-right: none !important;
  color: #0d6efd !important;
  background-color: #fff !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  width: 34px !important;
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  float: left !important;
  margin-left: -1px !important;
}

/* Letzter Button braucht einen rechten Rand */
.dt-paging-button:last-child {
  border-right: 1px solid #dee2e6 !important;
  border-top-right-radius: 0.25rem !important;
  border-bottom-right-radius: 0.25rem !important;
}

/* Erster Button */
.dt-paging-button:first-child {
  border-top-left-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
  margin-left: 0 !important;
}

/* Aktiver Button */
.dt-paging-button.current {
  color: #fff !important;
  background-color: #0d6efd !important;
  border-color: #0d6efd !important;
  z-index: 3 !important;
  position: relative !important;
}

/* Hover-Effekt ohne schwarzen Rahmen */
.dt-paging-button:hover {
  background-color: #e9ecef !important;
  color: #0a58ca !important;
  border-color: #dee2e6 !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Entfernen des Fokus-Outlines */
.dt-paging-button:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* Darkmode Styling für Paginierungsbuttons */
html[data-bs-theme="dark"] .dt-paging-button {
  color: #6c757d !important;
  background-color: #212529 !important;
  border-color: #444 !important;
}

html[data-bs-theme="dark"] .dt-paging-button.current {
  color: #fff !important;
  background-color: #0d6efd !important;
  border-color: #0d6efd !important;
}

html[data-bs-theme="dark"] .dt-paging-button:hover:not(.current):not(.disabled) {
  color: #fff !important;
  background-color: #444 !important;
  border-color: #444 !important;
}

/* Dark Mode Anpassungen für die Card */
html[data-bs-theme="dark"] .card {
  background-color: #212529 !important;
  border-color: #444 !important;
}

html[data-bs-theme="dark"] .card-header {
  background-color: #343a40 !important;
  border-color: #444 !important;
  color: #f8f9fa !important;
}

html[data-bs-theme="dark"] .card-body {
  background-color: #212529 !important;
  color: #f8f9fa !important;
}

html[data-bs-theme="dark"] .table {
  color: #f8f9fa !important;
}

html[data-bs-theme="dark"] .table thead th {
  border-color: #444 !important;
}

html[data-bs-theme="dark"] .table tbody td {
  border-color: #444 !important;
}

html[data-bs-theme="dark"] .table-responsive {
  background-color: #212529 !important;
}

/* Formatierung der Ellipsis */
.dt-paging .ellipsis {
  width: 34px !important;
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #dee2e6 !important;
  border-right: none !important;
  margin-left: -1px !important;
  float: left !important;
  background-color: #fff !important;
}

/* Unerwünschte Elemente neben der Ellipsis ausblenden */
.dt-paging .ellipsis + a {
  display: none !important;
}

/* Letzter Button nach der Ellipsis (Pfeil nach rechts) wieder einblenden */
div.dt-container .dt-paging .dt-paging-button:nth-last-child(2),
div.dt-container .dt-paging .dt-paging-button:last-child {
  display: flex !important;
}

/* Darkmode für Ellipsis */
html[data-bs-theme="dark"] .dt-paging .ellipsis {
  background-color: #212529 !important;
  border-color: #444 !important;
  color: #6c757d !important;
}

/* DataTables Styling */
.dataTables_wrapper .dataTables_length select {
  padding-right: 2rem !important;
}

.dataTables_wrapper .dataTables_filter input {
  margin-left: 0.5rem;
}

/* Allgemeine Anpassungen für Listviews */
.list-view-table {
  width: 100% !important;
}

/* Anpassungen für Buttons in Tabellen */
.table .btn-sm {
  padding: 0.25rem 0.5rem;
}

/* Anpassungen für Badge in Tabellen */
.table .badge {
  font-size: 0.75rem;
  padding: 0.35em 0.65em;
}

/* Linksbündige Ausrichtung aller Tabellenspalten und -überschriften */
table.dataTable thead th,
table.dataTable tbody td,
.table thead th,
.table tbody td {
  text-align: left !important;
}

/* Sortierindikatoren vollständig neu implementieren */

/* Standard DataTables Sortierindikatoren neu positionieren */
table.dataTable thead .sorting:before,
table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:before,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:before,
table.dataTable thead .sorting_desc:after,
table.dataTable thead .sorting_asc_disabled:before,
table.dataTable thead .sorting_asc_disabled:after,
table.dataTable thead .sorting_desc_disabled:before,
table.dataTable thead .sorting_desc_disabled:after {
  position: static !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  display: inline-block !important;
  margin-left: 5px !important;
  opacity: 0.5 !important;
  vertical-align: middle !important;
}

/* Aktive Sortierindikatoren hervorheben */
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:after {
  opacity: 1 !important;
}

/* Allgemeine Anpassungen für Tabellen */
table.dataTable thead th {
  white-space: nowrap !important;
  cursor: pointer !important;
}

/* Sortierindikatoren anpassen */
table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:after {
  font-size: 0.8rem !important;
  color: #0d6efd !important;
}

/* Dark Mode Anpassung für Sortierindikatoren */
html[data-bs-theme="dark"] table.dataTable thead .sorting:after,
html[data-bs-theme="dark"] table.dataTable thead .sorting_asc:after,
html[data-bs-theme="dark"] table.dataTable thead .sorting_desc:after {
  color: #fff !important;
}
