/* ══════════════════════════════════════
   DATATABLES 2.x — Dark neon override
══════════════════════════════════════ */
.dt-container {
  color: var(--texto-2);
  font-size: 13px;
}

/* ── Layout rows (barra superior/inferior) ── */
.dt-container .dt-layout-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding: 14px 22px;
  border-bottom: 1px solid var(--borde-sutil);
}

/* El row de la tabla no lleva padding ni borde */
.dt-container .dt-layout-row.dt-layout-table {
  padding: 0;
  border: none;
}

/* Row inferior (info + paginación) */
.dt-container .dt-layout-row:last-child {
  border-bottom: none;
  border-top: 1px solid var(--borde-sutil);
}

.dt-container .dt-layout-cell {
  display: flex;
  align-items: center;
}

/* ── Controles: label texto ── */
.dt-container .dt-length,
.dt-container .dt-search,
.dt-container .dt-info {
  color: var(--texto-2);
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* ── Input y Select base ── */
.dt-container .dt-input {
  background: var(--fondo-input) !important;
  border: 1px solid var(--borde-sutil) !important;
  border-radius: var(--radio-pill) !important;
  color: var(--texto) !important;
  padding: 8px 16px !important;
  font-size: 13px !important;
  font-family: var(--fuente) !important;
  outline: none !important;
  transition: var(--trans) !important;
  -webkit-appearance: none;
}

.dt-container .dt-input:focus {
  border-color: var(--acento) !important;
  box-shadow: 0 0 0 3px var(--acento-glow-2) !important;
}

/* ── Select "Mostrar" ── */
.dt-container .dt-length .dt-input {
  cursor: pointer;
  padding-right: 36px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%233d6b88' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
}

.dt-container .dt-length .dt-input option {
  background: var(--fondo-card);
  color: var(--texto);
}

/* ── Input buscador ── */
.dt-container .dt-search .dt-input {
  padding-left: 36px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%233d6b88' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: 12px center !important;
  min-width: 220px;
}

/* ── Info "1–15 de 30" ── */
.dt-container .dt-info {
  color: var(--texto-3);
  font-size: 12px;
}

/* ── Paginación ── */
.dt-container .dt-paging {
  display: flex;
  align-items: center;
  gap: 4px;
}

.dt-container .dt-paging .dt-paging-button {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: var(--radio-pill) !important;
  color: var(--texto) !important;
  padding: 6px 14px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: var(--trans) !important;
  box-shadow: none !important;
  line-height: 1 !important;
}

div.dt-container .dt-paging .dt-paging-button:hover:not(.disabled):not(.current) {
  background: var(--fondo-card-2) !important;
  border-color: rgba(255,255,255,0.25) !important;
  color: #fff !important;
}

div.dt-container .dt-paging .dt-paging-button.current,
div.dt-container .dt-paging .dt-paging-button.current:hover {
  background: var(--acento-glow) !important;
  border-color: var(--acento) !important;
  color: var(--acento) !important;
  font-weight: 700 !important;
  box-shadow: 0 0 12px var(--acento-glow) !important;
}

/* Usar div.dt-container para igualar la especificidad del CSS de DT2 */
div.dt-container .dt-paging .dt-paging-button.disabled,
div.dt-container .dt-paging .dt-paging-button.disabled:hover,
div.dt-container .dt-paging .dt-paging-button.disabled:active {
  color: rgba(255, 255, 255, 0.25) !important;
  cursor: default !important;
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* ── Sorting ── */
.tabla-nucleo thead th.dt-orderable-asc,
.tabla-nucleo thead th.dt-orderable-desc {
  cursor: pointer;
  user-select: none;
}

.tabla-nucleo thead th.dt-ordering-asc  { color: var(--acento) !important; }
.tabla-nucleo thead th.dt-ordering-desc { color: var(--acento) !important; }

/* ══════════════════════════════════════
   SELECT2 — Dark neon override
══════════════════════════════════════ */
.select2-container--default .select2-selection--single {
  background: var(--fondo-input) !important;
  border: 1px solid var(--borde-sutil) !important;
  border-radius: var(--radio-pill) !important;
  height: 32px !important;
  transition: var(--trans);
}

.select2-container--default .select2-selection--single:focus,
.select2-container--default.select2-container--open .select2-selection--single {
  border-color: var(--acento) !important;
  box-shadow: 0 0 0 3px var(--acento-glow-2) !important;
  outline: none;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--texto-2) !important;
  line-height: 30px !important;
  padding-left: 12px !important;
  font-size: 13px;
  font-family: var(--fuente);
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 30px !important;
  right: 8px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: var(--texto-3) transparent transparent !important;
}

.select2-container--default.select2-container--open
.select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent var(--acento) !important;
}

.select2-container--default .select2-selection--single .select2-selection__clear {
  color: var(--texto-3);
  font-size: 16px;
  line-height: 28px;
  margin-right: 8px;
}

/* Dropdown */
.select2-dropdown {
  background: var(--fondo-card) !important;
  border: 1px solid var(--borde) !important;
  border-radius: var(--radio) !important;
  box-shadow: var(--sombra-neon), var(--sombra) !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  background: var(--fondo-input) !important;
  border: 1px solid var(--borde-sutil) !important;
  border-radius: var(--radio-sm) !important;
  color: var(--texto) !important;
  padding: 7px 12px !important;
  font-family: var(--fuente);
  outline: none;
}

.select2-container--default .select2-results__option {
  color: var(--texto-2) !important;
  font-size: 13px;
  padding: 9px 14px !important;
  transition: background 0.1s;
}

.select2-container--default .select2-results__option--highlighted {
  background: var(--acento-glow) !important;
  color: var(--acento) !important;
}

.select2-container--default .select2-results__option[aria-selected="true"] {
  background: var(--acento-glow-2) !important;
  color: var(--acento) !important;
}

.select2-results__message {
  color: var(--texto-3) !important;
  font-size: 13px;
}

.filtros .select2-container { min-width: 120px; }
