/**
 * Moove — modo oscuro (capa sobre dark-mode.css del template).
 * Paleta tipo GitHub / shadcn: fondo #0b0e14, cards #161b22, borde #30363d.
 * Variables en moove-tokens.css (html.dark-mode).
 */

/* ── Shell y tipografía ─────────────────────────────────────── */
html.dark-mode body,
html[dir].dark-mode body {
  color: var(--moove-foreground) !important;
  background-color: var(--moove-bg) !important;
}

html[dir].dark-mode .bg-body,
html.dark-mode .bg-body {
  background-color: var(--moove-bg) !important;
}

html[dir].dark-mode .bg-alt,
html.dark-mode .page-content {
  background-color: var(--moove-bg) !important;
}

html.dark-mode .text-body,
html.dark-mode .h1,
html.dark-mode .h2,
html.dark-mode .h3,
html.dark-mode .h4,
html.dark-mode .h5,
html.dark-mode .h6,
html.dark-mode h1,
html.dark-mode h2,
html.dark-mode h3,
html.dark-mode h4,
html.dark-mode h5,
html.dark-mode h6,
html.dark-mode .card-title {
  color: var(--moove-foreground) !important;
}

html.dark-mode .text-muted,
html.dark-mode .text-black-50,
html.dark-mode .text-50,
html.dark-mode .text-70 {
  color: var(--moove-text-muted) !important;
}

html.dark-mode .link-color,
html.dark-mode a:not([class]) {
  color: var(--moove-accent) !important;
}

html.dark-mode .link-color:hover,
html.dark-mode a:not([class]):hover {
  color: var(--moove-accent-hover) !important;
}

/* Accent de marca (#58a6ff) — enlaces en contenido Moove */
html.dark-mode .text-accent,
html.dark-mode a.text-accent,
html.dark-mode .text-accent.material-icons,
html.dark-mode i.text-accent {
  color: var(--moove-accent) !important;
}

html.dark-mode a.text-accent:hover,
html.dark-mode a.text-accent:focus {
  color: var(--moove-accent-foreground) !important;
}

html.dark-mode .moove-page a[href]:not(.moove-btn):not(.btn):not(.dropdown-item):not(.nav-link):not(.navbar-brand):not(.moove-sidebar__brand):not(.moove-header-brand):not(.progression-bar__item):not(.page-link):not(.paginate_button):not(.moove-table__action-toggle):not(.moove-menu__sub a) {
  color: var(--moove-accent) !important;
}

html.dark-mode .moove-page a[href]:not(.moove-btn):not(.btn):not(.dropdown-item):not(.nav-link):not(.navbar-brand):not(.moove-sidebar__brand):not(.moove-header-brand):not(.progression-bar__item):not(.page-link):not(.paginate_button):not(.moove-table__action-toggle):not(.moove-menu__sub a):hover,
html.dark-mode .moove-page a[href]:not(.moove-btn):not(.btn):not(.dropdown-item):not(.nav-link):not(.navbar-brand):not(.moove-sidebar__brand):not(.moove-header-brand):not(.progression-bar__item):not(.page-link):not(.paginate_button):not(.moove-table__action-toggle):not(.moove-menu__sub a):focus {
  color: var(--moove-accent-hover) !important;
}

html.dark-mode .moove-page a[href]:not(.moove-btn):not(.btn):visited {
  color: var(--moove-accent) !important;
}

html.dark-mode .moove-page .moove-table__orden-link,
html.dark-mode .moove-page .moove-table-wrap a[href].moove-table__line,
html.dark-mode .moove-page .moove-docs-table__link,
html.dark-mode .moove-page .moove-docs-table__list-link {
  color: var(--moove-accent) !important;
}

html.dark-mode .moove-page .moove-table__orden-link:hover,
html.dark-mode .moove-page .moove-table__orden-link:focus,
html.dark-mode .moove-page .moove-table-wrap a[href].moove-table__line:hover,
html.dark-mode .moove-page .moove-docs-table__link:hover,
html.dark-mode .moove-page .moove-docs-table__list-link:hover,
html.dark-mode .moove-page .moove-docs-table__list-link:focus {
  color: var(--moove-accent-hover) !important;
}

/* Bordes del template → paleta Moove */
html[dir].dark-mode .border,
html[dir].dark-mode .border-1,
html[dir].dark-mode .border-2,
html[dir].dark-mode .border-3,
html[dir].dark-mode .border-4,
html[dir].dark-mode .border-top,
html[dir].dark-mode .border-bottom,
html[dir=ltr].dark-mode .border-left,
html[dir=ltr].dark-mode .border-right,
html[dir].dark-mode .table td,
html[dir].dark-mode .table th,
html[dir].dark-mode .table thead th,
html[dir].dark-mode .table-bordered,
html[dir].dark-mode .table-bordered td,
html[dir].dark-mode .table-bordered th {
  border-color: var(--moove-border) !important;
}

/* ── Navbar ─────────────────────────────────────────────────── */
html.dark-mode #default-navbar.navbar-light {
  background-color: var(--moove-bg-elevated) !important;
  border-bottom: 1px solid var(--moove-border);
  box-shadow: none !important;
}

html.dark-mode #default-navbar .navbar-text,
html.dark-mode #default-navbar .nav-link,
html.dark-mode #default-navbar .nav-link:hover,
html.dark-mode #default-navbar .nav-link:focus {
  color: var(--moove-foreground) !important;
}

/* app.css fija #272c33 en .navbar-text-100 — sin esto el perfil no se lee en oscuro */
html.dark-mode #default-navbar .navbar-text-100,
html.dark-mode #default-navbar .navbar-text-70 {
  color: var(--moove-foreground) !important;
}

html.dark-mode #default-navbar .navbar-text-50 {
  color: var(--moove-text-muted) !important;
}

html.dark-mode #default-navbar .nav-link.dropdown-toggle::after {
  border-top-color: var(--moove-foreground);
}

html.dark-mode .moove-header-menu-btn {
  color: var(--moove-foreground);
  border: none !important;
  background: transparent;
}

html.dark-mode #default-navbar .moove-header-menu-btn:hover {
  background: var(--moove-bg-muted);
}

html.dark-mode .moove-header-brand__logo {
  opacity: 0.92;
}

/* ── Cards y paneles ────────────────────────────────────────── */
html[dir].dark-mode .card,
html.dark-mode .moove-table-card,
html.dark-mode .moove-filters-card {
  background-color: var(--moove-card-bg) !important;
  border-color: var(--moove-border) !important;
  box-shadow: none !important;
}

html[dir].dark-mode .card-header,
html[dir].dark-mode .card-footer {
  background-color: transparent !important;
  border-color: var(--moove-border) !important;
}

html[dir].dark-mode .card-body + .card-body {
  border-top-color: var(--moove-border) !important;
}

html[dir].dark-mode .card-form__body {
  background-color: var(--moove-bg-muted) !important;
}

html.dark-mode .moove-page .card:has(.moove-form) {
  background-color: var(--moove-card-bg) !important;
}

/* ── Tablas / listados principales (.moove-page .moove-table-wrap) ── */
html.dark-mode .table,
html.dark-mode .moove-page table.dataTable {
  color: var(--moove-foreground) !important;
}

html.dark-mode .table thead th,
html.dark-mode .moove-page table.dataTable thead th {
  color: var(--moove-text-muted) !important;
  background-color: var(--moove-bg-muted) !important;
}

html.dark-mode .moove-page .moove-table thead th {
  color: var(--moove-text-muted) !important;
  background-color: var(--moove-bg-muted) !important;
  border-bottom-color: var(--moove-border) !important;
  font-weight: 600;
  letter-spacing: 0.06em;
}

html.dark-mode .moove-page .moove-table tbody td,
html.dark-mode .moove-page .moove-table tbody td.moove-table__cell,
html.dark-mode .moove-page table.dataTable tbody td {
  color: var(--moove-foreground) !important;
  border-top-color: var(--moove-border-subtle, var(--moove-border)) !important;
  border-bottom-color: var(--moove-border-subtle, var(--moove-border)) !important;
}

html.dark-mode .moove-page .moove-table tbody tr:hover td,
html.dark-mode .moove-page table.dataTable tbody tr:hover td {
  background-color: var(--moove-bg-muted) !important;
}

/* mydatatables.css pinta #fafafa en la columna ordenada — rompe modo oscuro */
html.dark-mode .moove-page table.dataTable.order-column tbody tr > .sorting_1,
html.dark-mode .moove-page table.dataTable.order-column tbody tr > .sorting_2,
html.dark-mode .moove-page table.dataTable.order-column tbody tr > .sorting_3,
html.dark-mode .moove-page table.dataTable.display tbody tr > .sorting_1,
html.dark-mode .moove-page table.dataTable.display tbody tr > .sorting_2,
html.dark-mode .moove-page table.dataTable.display tbody tr > .sorting_3,
html.dark-mode .moove-page table.dataTable.order-column.hover tbody tr:hover > .sorting_1,
html.dark-mode .moove-page table.dataTable.order-column.hover tbody tr:hover > .sorting_2,
html.dark-mode .moove-page table.dataTable.order-column.hover tbody tr:hover > .sorting_3,
html.dark-mode .moove-page table.dataTable.display tbody tr:hover > .sorting_1,
html.dark-mode .moove-page table.dataTable.display tbody tr:hover > .sorting_2,
html.dark-mode .moove-page table.dataTable.display tbody tr:hover > .sorting_3 {
  background-color: transparent !important;
}

html.dark-mode .moove-page .moove-table--catalog tbody tr:hover > .sorting_1,
html.dark-mode .moove-page .moove-table--catalog tbody tr:hover > .sorting_2,
html.dark-mode .moove-page .moove-table--catalog tbody tr:hover > .sorting_3 {
  background-color: var(--moove-bg-muted) !important;
}

/* moove-tables.css fija #272c33 en primary — sin esto el texto queda invisible (no aplicar a <a>) */
html.dark-mode .moove-page .moove-table__primary,
html.dark-mode .moove-page .moove-table__line.moove-table__primary,
html.dark-mode .moove-page .moove-table tbody .moove-table__primary,
html.dark-mode .moove-page .moove-table tbody .moove-table__line:not(.moove-table__secondary):not(a) {
  color: var(--moove-foreground) !important;
}

html.dark-mode .moove-page .moove-table tbody a.moove-table__line,
html.dark-mode .moove-page .moove-table tbody a.moove-table__orden-link {
  color: var(--moove-accent) !important;
}

html.dark-mode .moove-page .moove-table tbody a.moove-table__line:hover,
html.dark-mode .moove-page .moove-table tbody a.moove-table__line:focus,
html.dark-mode .moove-page .moove-table tbody a.moove-table__orden-link:hover,
html.dark-mode .moove-page .moove-table tbody a.moove-table__orden-link:focus {
  color: var(--moove-accent-hover) !important;
}

html.dark-mode .moove-page .moove-table__secondary,
html.dark-mode .moove-page .moove-table__line.moove-table__secondary,
html.dark-mode .moove-page .moove-table-wrap .text-70,
html.dark-mode .moove-page .moove-table-wrap .text-50,
html.dark-mode .moove-page .moove-table-wrap .text-muted {
  color: var(--moove-text-muted) !important;
}

html.dark-mode .moove-page .moove-table-wrap .text-50:only-child,
html.dark-mode .moove-page .moove-table tbody .text-50 {
  color: var(--moove-placeholder) !important;
}

html.dark-mode .moove-page .moove-table thead th,
html.dark-mode .moove-page .moove-table tbody td.moove-table__cell {
  background-color: transparent;
}

html.dark-mode .moove-page .moove-table-card .card-title,
html.dark-mode .moove-page .moove-table-card .card-header {
  color: var(--moove-foreground) !important;
}

html.dark-mode .moove-page .border-bottom-2 h2,
html.dark-mode .moove-page .border-bottom-2 .breadcrumb-item,
html.dark-mode .moove-page .border-bottom-2 .breadcrumb-item.active {
  color: var(--moove-foreground) !important;
}

html.dark-mode .moove-page .border-bottom-2 .breadcrumb-item + .breadcrumb-item::before {
  color: var(--moove-text-muted) !important;
}

/* Controles DataTables legacy (cuando no usa moove-dt-*) */
html.dark-mode .moove-page .moove-table-wrap .dataTables_length label,
html.dark-mode .moove-page .moove-table-wrap .dataTables_filter label {
  color: var(--moove-text-muted) !important;
}

html.dark-mode .moove-page .moove-table-wrap .dataTables_length select,
html.dark-mode .moove-page .moove-table-wrap .dataTables_filter input {
  background-color: var(--moove-input-bg) !important;
  border-color: var(--moove-border) !important;
  color: var(--moove-foreground) !important;
}

html.dark-mode .moove-page .moove-table-wrap .dataTables_filter input::placeholder {
  color: var(--moove-placeholder) !important;
}

html.dark-mode .moove-page .moove-table-wrap .dataTables_length select option {
  background-color: var(--moove-card-bg) !important;
  color: var(--moove-foreground) !important;
}

html.dark-mode .moove-page .moove-table-wrap .dataTables_info {
  color: var(--moove-text-muted) !important;
}

html.dark-mode .moove-page .moove-table__action-toggle {
  color: var(--moove-text-muted) !important;
}

html.dark-mode .moove-page .moove-table__action-toggle:hover,
html.dark-mode .moove-page .moove-table__action-toggle:focus {
  color: var(--moove-foreground) !important;
  background-color: var(--moove-bg-muted) !important;
}

/* Select2 en toolbar de listados (moove-tables.css usa #fff / #272c33) */
html.dark-mode .moove-page .moove-table-wrap .dataTables_length .select2-container--bootstrap4 .select2-selection--single {
  background-color: var(--moove-input-bg) !important;
  border-color: var(--moove-border) !important;
}

html.dark-mode .moove-page .moove-table-wrap .dataTables_length .select2-container--bootstrap4 .select2-selection__rendered {
  color: var(--moove-foreground) !important;
}

html.dark-mode .moove-page .moove-table-wrap .select2-container--bootstrap4 .select2-results__option {
  color: var(--moove-foreground) !important;
}

html.dark-mode .moove-page .moove-table-wrap .select2-container--bootstrap4 .select2-results__option--highlighted[aria-selected] {
  background-color: var(--moove-select-highlight) !important;
  color: var(--moove-foreground) !important;
}

@media (min-width: 992px) {
  html.dark-mode .moove-table-wrap table.moove-table thead th {
    background-color: var(--moove-bg-muted) !important;
  }
}

html.dark-mode .moove-table-wrap .dataTables_wrapper .dataTables_length,
html.dark-mode .moove-table-wrap .dataTables_wrapper .dataTables_filter,
html.dark-mode .moove-table-wrap .dataTables_wrapper .dataTables_info,
html.dark-mode .moove-table-wrap .dataTables_wrapper .dataTables_paginate,
html.dark-mode .moove-dt-search-slot .dataTables_filter,
html.dark-mode .moove-dt-search {
  color: var(--moove-text-muted);
}

html.dark-mode .moove-dt-search label.moove-dt-search__field {
  border-color: var(--moove-border);
  background: linear-gradient(145deg, var(--moove-bg-elevated) 0%, var(--moove-bg-muted) 100%);
  box-shadow:
    0 1px 2px rgba(1, 4, 9, 0.35),
    0 6px 18px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

html.dark-mode .moove-dt-search label.moove-dt-search__field:hover {
  border-color: rgba(57, 197, 187, 0.45);
  box-shadow:
    0 2px 8px rgba(1, 4, 9, 0.4),
    0 8px 24px rgba(57, 197, 187, 0.12);
}

html.dark-mode .moove-dt-search label.moove-dt-search__field:focus-within {
  border-color: var(--moove-accent);
  background: linear-gradient(145deg, var(--moove-bg-elevated) 0%, #131a22 100%);
  box-shadow: var(--moove-ring), 0 10px 28px rgba(57, 197, 187, 0.18);
}

html.dark-mode .moove-dt-search label.moove-dt-search__field::before {
  background: linear-gradient(120deg, rgba(57, 197, 187, 0.5), rgba(57, 197, 187, 0.08) 45%, rgba(88, 166, 255, 0.25));
}

html.dark-mode .moove-dt-search__icon {
  background: linear-gradient(145deg, rgba(57, 197, 187, 0.22) 0%, rgba(57, 197, 187, 0.08) 100%);
  color: var(--moove-accent-foreground);
}

html.dark-mode .moove-dt-search label.moove-dt-search__field input {
  color: var(--moove-foreground);
}

html.dark-mode .moove-dt-search label.moove-dt-search__field input::placeholder {
  color: var(--moove-placeholder);
}

html.dark-mode .moove-dt-length label.moove-dt-length__field {
  border-color: var(--moove-border);
  background: linear-gradient(145deg, var(--moove-bg-elevated) 0%, var(--moove-bg-muted) 100%);
  box-shadow:
    0 1px 2px rgba(1, 4, 9, 0.35),
    0 6px 18px rgba(0, 0, 0, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

html.dark-mode .moove-dt-length label.moove-dt-length__field:hover {
  border-color: rgba(57, 197, 187, 0.45);
}

html.dark-mode .moove-dt-length label.moove-dt-length__field:focus-within {
  border-color: var(--moove-accent);
  box-shadow: var(--moove-ring), 0 10px 28px rgba(57, 197, 187, 0.15);
}

html.dark-mode .moove-dt-length__icon {
  background: linear-gradient(145deg, rgba(57, 197, 187, 0.22) 0%, rgba(57, 197, 187, 0.08) 100%);
  color: var(--moove-accent-foreground);
}

html.dark-mode .moove-dt-length__prefix,
html.dark-mode .moove-dt-length__suffix {
  color: var(--moove-text-muted);
}

html.dark-mode .moove-dt-length__select-wrap select {
  background: linear-gradient(145deg, rgba(57, 197, 187, 0.22) 0%, rgba(57, 197, 187, 0.1) 100%) !important;
  color: var(--moove-accent-foreground) !important;
}

html.dark-mode .moove-dt-length .select2-container--bootstrap4 .select2-selection--single {
  background: linear-gradient(145deg, rgba(57, 197, 187, 0.22) 0%, rgba(57, 197, 187, 0.1) 100%) !important;
}

html.dark-mode .moove-dt-length .select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered {
  color: var(--moove-accent-foreground) !important;
}

html.dark-mode .moove-table-wrap .select2-container--bootstrap4 .select2-results__option[aria-selected='true'] {
  background: linear-gradient(90deg, rgba(57, 197, 187, 0.22), rgba(57, 197, 187, 0.08)) !important;
  color: var(--moove-accent-foreground) !important;
}

html.dark-mode .moove-table-wrap {
  --moove-dt-paginate-chip: linear-gradient(145deg, rgba(57, 197, 187, 0.2) 0%, rgba(57, 197, 187, 0.08) 100%);
  --moove-dt-paginate-chip-hover: linear-gradient(145deg, rgba(57, 197, 187, 0.3) 0%, rgba(57, 197, 187, 0.14) 100%);
  --moove-dt-paginate-text: var(--moove-text-muted);
  --moove-dt-paginate-text-hover: var(--moove-foreground);
}

html.dark-mode .moove-table-wrap .dataTables_wrapper .moove-dt-footer,
html.dark-mode .moove-table-wrap .dataTables_wrapper .moove-dt-footer--fancy {
  border-top-color: var(--moove-border);
  background: linear-gradient(180deg, rgba(57, 197, 187, 0.08) 0%, transparent 72%);
}

html.dark-mode .moove-dt-info__inner {
  border-color: var(--moove-border);
  background: linear-gradient(145deg, var(--moove-bg-elevated) 0%, var(--moove-bg-muted) 100%);
  box-shadow:
    0 1px 2px rgba(1, 4, 9, 0.35),
    0 6px 18px rgba(0, 0, 0, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  color: var(--moove-text-muted);
}

html.dark-mode .moove-dt-info__inner::before {
  background: linear-gradient(120deg, rgba(57, 197, 187, 0.45), rgba(57, 197, 187, 0.08) 45%, rgba(88, 166, 255, 0.2));
  opacity: 0.65;
}

html.dark-mode .moove-dt-info__inner:hover {
  border-color: rgba(57, 197, 187, 0.45);
  box-shadow:
    0 2px 8px rgba(1, 4, 9, 0.4),
    0 8px 24px rgba(57, 197, 187, 0.12);
}

html.dark-mode .moove-dt-info__icon {
  background: linear-gradient(145deg, rgba(57, 197, 187, 0.22) 0%, rgba(57, 197, 187, 0.08) 100%);
  color: var(--moove-accent-foreground);
}

html.dark-mode .moove-dt-info__num {
  color: var(--moove-accent-foreground);
  background: var(--moove-dt-paginate-chip);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html.dark-mode .moove-table-wrap .dataTables_wrapper .moove-dt-paginate {
  border-color: var(--moove-border);
  background: linear-gradient(145deg, var(--moove-bg-elevated) 0%, var(--moove-bg-muted) 100%);
  box-shadow:
    0 1px 2px rgba(1, 4, 9, 0.35),
    0 6px 18px rgba(0, 0, 0, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

html.dark-mode .moove-table-wrap .dataTables_wrapper .moove-dt-paginate::before {
  background: linear-gradient(120deg, rgba(57, 197, 187, 0.4), rgba(57, 197, 187, 0.06) 50%, rgba(88, 166, 255, 0.18));
  opacity: 0.55;
}

html.dark-mode .moove-table-wrap .dataTables_wrapper .moove-dt-paginate::after {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237ee8e2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E") center / 1rem no-repeat,
    linear-gradient(145deg, rgba(57, 197, 187, 0.22) 0%, rgba(57, 197, 187, 0.08) 100%);
}

html.dark-mode .moove-table-wrap .dataTables_wrapper .moove-dt-paginate:hover {
  border-color: rgba(57, 197, 187, 0.45);
  box-shadow:
    0 2px 8px rgba(1, 4, 9, 0.4),
    0 8px 24px rgba(57, 197, 187, 0.14);
}

html.dark-mode .moove-table-wrap .dataTables_wrapper .moove-dt-paginate .moove-dt-paginate__page:not(.current) {
  color: var(--moove-accent-foreground) !important;
  background: var(--moove-dt-paginate-chip) !important;
}

html.dark-mode .moove-table-wrap .dataTables_wrapper .moove-dt-paginate .moove-dt-paginate__nav {
  color: var(--moove-accent-foreground) !important;
  background: var(--moove-dt-paginate-chip) !important;
}

html.dark-mode .moove-table-wrap .dataTables_wrapper .moove-dt-paginate .paginate_button:hover:not(.disabled):not(.current) {
  background: var(--moove-dt-paginate-chip-hover) !important;
  color: var(--moove-dt-paginate-text-hover) !important;
}

html.dark-mode .moove-table-wrap .dataTables_wrapper .moove-dt-paginate .paginate_button.current,
html.dark-mode .moove-table-wrap .dataTables_wrapper .moove-dt-paginate .paginate_button.current:hover {
  background: linear-gradient(145deg, rgba(57, 197, 187, 0.55) 0%, rgba(57, 197, 187, 0.28) 100%) !important;
  color: var(--moove-foreground) !important;
  box-shadow: var(--moove-ring), 0 2px 12px rgba(57, 197, 187, 0.22) !important;
}

html.dark-mode .moove-table-wrap .dataTables_wrapper .moove-dt-paginate .paginate_button.disabled,
html.dark-mode .moove-table-wrap .dataTables_wrapper .moove-dt-paginate .paginate_button.disabled:hover {
  color: var(--moove-placeholder) !important;
}

html.dark-mode .moove-table-wrap .dataTables_wrapper .moove-dt-paginate .ellipsis {
  color: var(--moove-accent-foreground);
}

/* ── Formularios ────────────────────────────────────────────── */
html.dark-mode .form-control,
html.dark-mode .custom-select,
html.dark-mode .moove-form .form-control {
  color: var(--moove-foreground) !important;
  background-color: var(--moove-input-bg) !important;
  border-color: var(--moove-border) !important;
}

html.dark-mode .form-control:focus,
html.dark-mode .moove-form .form-control:focus {
  border-color: var(--moove-accent) !important;
  box-shadow: var(--moove-ring) !important;
}

html.dark-mode .form-control:disabled,
html.dark-mode .form-control[readonly],
html.dark-mode .moove-form .form-control[readonly] {
  background-color: var(--moove-input-readonly-bg) !important;
  color: var(--moove-text-muted) !important;
}

html.dark-mode .form-control::placeholder {
  color: var(--moove-placeholder) !important;
}

html.dark-mode .form-label,
html.dark-mode .moove-form .form-label {
  color: var(--moove-text-muted) !important;
}

html.dark-mode .input-group-text {
  background-color: var(--moove-bg-muted) !important;
  border-color: var(--moove-border) !important;
  color: var(--moove-text-muted) !important;
}

/* Select2 (select2-bootstrap4.css fuerza #fff en .select2-selection) */
html.dark-mode .moove-page .select2-container--bootstrap4 .select2-selection,
html.dark-mode .moove-page .select2-container--bootstrap4 .select2-selection--single,
html.dark-mode .moove-page .select2-container--bootstrap4 .select2-selection--multiple {
  background-color: var(--moove-input-bg) !important;
  border-color: var(--moove-border) !important;
  color: var(--moove-foreground) !important;
}

html.dark-mode .moove-page .select2-container--bootstrap4 .select2-selection__rendered,
html.dark-mode .moove-page .select2-container--bootstrap4 .select2-selection__placeholder {
  color: var(--moove-foreground) !important;
}

html.dark-mode .moove-page .select2-container--bootstrap4 .select2-selection__placeholder {
  color: var(--moove-placeholder) !important;
}

html.dark-mode .moove-page .select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow b {
  border-top-color: var(--moove-text-muted) !important;
}

html.dark-mode .select2-container--bootstrap4 .select2-selection__clear:hover {
  background: var(--moove-select-clear-bg-hover) !important;
  border-color: var(--moove-select-clear-border-hover) !important;
  box-shadow: var(--moove-select-clear-shadow-hover) !important;
}

html.dark-mode .moove-page .select2-container--bootstrap4.select2-container--focus .select2-selection,
html.dark-mode .moove-page .select2-container--bootstrap4.select2-container--open .select2-selection {
  border-color: var(--moove-accent) !important;
  box-shadow: var(--moove-ring) !important;
}

html.dark-mode .moove-page .select2-container--bootstrap4.select2-container--disabled .select2-selection {
  background-color: var(--moove-input-readonly-bg) !important;
  border-color: var(--moove-border) !important;
  opacity: 0.85;
}

html.dark-mode .moove-page .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice {
  background-color: var(--moove-bg-muted) !important;
  border-color: var(--moove-border) !important;
  color: var(--moove-foreground) !important;
}

html.dark-mode .moove-page .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice__remove {
  color: var(--moove-text-muted) !important;
}

html.dark-mode .moove-page .select2-container--bootstrap4 .select2-dropdown,
html.dark-mode .select2-container--bootstrap4 .select2-dropdown {
  background-color: var(--moove-card-bg) !important;
  border-color: var(--moove-border) !important;
}

html.dark-mode .moove-page .select2-container--bootstrap4 .select2-search--dropdown .select2-search__field,
html.dark-mode .select2-search--dropdown .select2-search__field {
  background-color: var(--moove-input-bg) !important;
  border-color: var(--moove-border) !important;
  color: var(--moove-foreground) !important;
}

html.dark-mode .moove-page .select2-container--bootstrap4 .select2-results__option,
html.dark-mode .select2-container--bootstrap4 .select2-results__option {
  color: var(--moove-foreground) !important;
}

html.dark-mode .moove-page .select2-container--bootstrap4 .select2-results__option--highlighted,
html.dark-mode .moove-page .select2-container--bootstrap4 .select2-results__option--highlighted[aria-selected],
html.dark-mode .select2-container--bootstrap4 .select2-results__option--highlighted {
  background-color: var(--moove-select-highlight) !important;
  color: var(--moove-foreground) !important;
}

html.dark-mode .moove-page .select2-container--bootstrap4 .select2-results__option[aria-selected="true"],
html.dark-mode .select2-container--bootstrap4 .select2-results__option[aria-selected="true"] {
  background-color: var(--moove-select-selected) !important;
  color: var(--moove-foreground) !important;
}

html.dark-mode .moove-page .select2-container--bootstrap4 .select2-results__group {
  color: var(--moove-text-muted) !important;
}

html.dark-mode .select2-results__message {
  color: var(--moove-text-muted) !important;
}

/* Flatpickr */
html.dark-mode .flatpickr-calendar {
  background: var(--moove-card-bg) !important;
  border-color: var(--moove-border) !important;
  box-shadow: var(--moove-shadow-dropdown) !important;
}

html.dark-mode .flatpickr-day {
  color: var(--moove-foreground);
}

html.dark-mode .flatpickr-day:hover,
html.dark-mode .flatpickr-day:focus {
  background: var(--moove-bg-muted) !important;
  border-color: var(--moove-border) !important;
}

html.dark-mode .flatpickr-months .flatpickr-month,
html.dark-mode .flatpickr-current-month .flatpickr-monthDropdown-months,
html.dark-mode .flatpickr-weekdays {
  background: var(--moove-bg-muted) !important;
  color: var(--moove-foreground) !important;
}

/* ── Modales, dropdowns, popovers ───────────────────────────── */
html.dark-mode .modal-content {
  background-color: var(--moove-card-bg) !important;
  border-color: var(--moove-border) !important;
  color: var(--moove-foreground);
}

html.dark-mode .modal-header,
html.dark-mode .modal-footer {
  border-color: var(--moove-border) !important;
}

html.dark-mode .dropdown-menu {
  background-color: var(--moove-card-bg) !important;
  border-color: var(--moove-border) !important;
  box-shadow: var(--moove-shadow-dropdown) !important;
}

/* app.css fija #272c33 en .dropdown-header */
html.dark-mode .dropdown-header,
html.dark-mode .dropdown-header strong {
  color: var(--moove-text-muted) !important;
}

html.dark-mode .dropdown-item {
  color: var(--moove-foreground);
}

html.dark-mode .dropdown-item:hover,
html.dark-mode .dropdown-item:focus {
  background-color: var(--moove-bg-muted) !important;
  color: var(--moove-foreground);
}

html.dark-mode .dropdown-divider {
  border-top-color: var(--moove-border) !important;
}

html[dir].dark-mode .popover {
  background-color: var(--moove-card-bg) !important;
  border-color: var(--moove-border) !important;
}

/* ── Badges y estados ───────────────────────────────────────── */
html.dark-mode .moove-page .moove-badge--success,
html.dark-mode .moove-page .badge-success {
  background-color: rgba(63, 185, 80, 0.15) !important;
  color: #56d364 !important;
  border-color: rgba(63, 185, 80, 0.35) !important;
}

html.dark-mode .moove-page .moove-badge--warning,
html.dark-mode .moove-page .badge-warning {
  background-color: rgba(227, 179, 65, 0.15) !important;
  color: var(--moove-warning) !important;
  border-color: rgba(227, 179, 65, 0.35) !important;
}

html.dark-mode .moove-page .moove-badge--destructive,
html.dark-mode .moove-page .badge-danger {
  background-color: rgba(248, 81, 73, 0.15) !important;
  color: #ff7b72 !important;
  border-color: rgba(248, 81, 73, 0.35) !important;
}

html.dark-mode .moove-page .moove-badge--muted,
html.dark-mode .moove-page .badge-secondary {
  background-color: var(--moove-bg-muted) !important;
  color: var(--moove-text-muted) !important;
  border-color: var(--moove-border) !important;
}

html.dark-mode .moove-page .moove-badge--info,
html.dark-mode .moove-page .badge-info,
html.dark-mode .moove-page .badge-primary {
  background-color: rgba(88, 166, 255, 0.15) !important;
  color: var(--moove-link) !important;
  border-color: rgba(88, 166, 255, 0.35) !important;
}

/* Filas resumen / totales (estilo referencia) */
html.dark-mode .moove-table tfoot td,
html.dark-mode .moove-table tfoot th,
html.dark-mode .table tfoot td,
html.dark-mode .table tfoot th {
  background-color: var(--moove-bg-muted) !important;
  border-top: 1px solid var(--moove-border) !important;
  font-weight: 600;
}

html.dark-mode .moove-table tfoot .text-warning,
html.dark-mode .moove-table tfoot strong.text-warning {
  color: var(--moove-warning) !important;
}

/* ── Tabs dashboard ─────────────────────────────────────────── */
html.dark-mode .moove-page .dashboard-area-tabs > .card-header {
  background-color: var(--moove-bg-muted) !important;
  border-color: var(--moove-border) !important;
}

html.dark-mode .moove-page .dashboard-area-tabs:not(.dashboard-area-tabs--order) .dashboard-area-tabs__tab,
html[dir].dark-mode .moove-page .dashboard-area-tabs:not(.dashboard-area-tabs--order) .dashboard-area-tabs__tab:not(.active) {
  background-color: transparent !important;
}

/* --order: anula dark-mode.css (carga después de moove-ui) — mismo aspecto activo/inactivo */
html.dark-mode .moove-page .dashboard-area-tabs--order .dashboard-area-tabs__tab:not(.active) {
  background-color: transparent !important;
}

html.dark-mode .moove-page .dashboard-area-tabs--order .dashboard-area-tabs__tab .moove-tabs__stack .moove-tabs__label--lead,
html[dir].dark-mode .moove-page .dashboard-area-tabs--order .dashboard-area-tabs__tab:not(.active) .moove-tabs__stack .moove-tabs__label--lead,
html[dir].dark-mode .moove-page .dashboard-area-tabs--order .dashboard-area-tabs__tab.active .moove-tabs__stack .moove-tabs__label--lead,
html[dir].dark-mode .moove-page .dashboard-area-tabs--order .dashboard-area-tabs__tab:hover .moove-tabs__stack .moove-tabs__label--lead {
  color: var(--moove-foreground) !important;
  font-weight: 600 !important;
}

html.dark-mode .moove-page .dashboard-area-tabs--order .dashboard-area-tabs__tab .moove-tabs__stack .moove-tabs__meta--muted,
html[dir].dark-mode .moove-page .dashboard-area-tabs--order .dashboard-area-tabs__tab:not(.active) .moove-tabs__stack .moove-tabs__meta--muted,
html[dir].dark-mode .moove-page .dashboard-area-tabs--order .dashboard-area-tabs__tab.active .moove-tabs__stack .moove-tabs__meta--muted,
html[dir].dark-mode .moove-page .dashboard-area-tabs--order .dashboard-area-tabs__tab:hover .moove-tabs__stack .moove-tabs__meta--muted {
  color: var(--moove-text-muted) !important;
  font-weight: 400 !important;
}

html.dark-mode .moove-page .dashboard-area-tabs--order .dashboard-area-tabs__tab .moove-tabs__stack .moove-tabs__meta--estado,
html[dir].dark-mode .moove-page .dashboard-area-tabs--order .dashboard-area-tabs__tab:not(.active) .moove-tabs__stack .moove-tabs__meta--estado,
html[dir].dark-mode .moove-page .dashboard-area-tabs--order .dashboard-area-tabs__tab.active .moove-tabs__stack .moove-tabs__meta--estado,
html[dir].dark-mode .moove-page .dashboard-area-tabs--order .dashboard-area-tabs__tab:hover .moove-tabs__stack .moove-tabs__meta--estado {
  color: var(--moove-foreground) !important;
  font-weight: 400 !important;
}

/* app.css / dark-mode.css: .tab:not(.active) * atenúa badges en pestañas inactivas */
html.dark-mode .moove-page .dashboard-area-tabs--order .dashboard-area-tabs__tab:not(.active) .moove-tabs__stack .moove-tabs__meta--estado .badge,
html[dir].dark-mode .moove-page .dashboard-area-tabs--order .dashboard-area-tabs__tab:not(.active) .moove-tabs__stack .moove-tabs__meta--estado .badge {
  opacity: 1 !important;
}

/* ── Paginación ─────────────────────────────────────────────── */
html[dir].dark-mode .page-link {
  background-color: var(--moove-card-bg) !important;
  border-color: var(--moove-border) !important;
  color: var(--moove-text-muted) !important;
}

html[dir].dark-mode .page-link:hover {
  background-color: var(--moove-bg-muted) !important;
  border-color: var(--moove-border) !important;
  color: var(--moove-foreground) !important;
}

/* ── Breadcrumb y separadores ───────────────────────────────── */
html.dark-mode .breadcrumb,
html.dark-mode .page-separator__text {
  color: var(--moove-text-muted) !important;
}

html[dir].dark-mode .page-separator:before,
html[dir].dark-mode .page-separator__bg-bottom,
html[dir].dark-mode .page-separator__bg-top,
html[dir].dark-mode .page-separator__text {
  background-color: var(--moove-bg) !important;
}

/* ── Sidebar (alinear con shell) ────────────────────────────── */
html.dark-mode {
  --moove-sidebar-bg: #0b0e14;
  --moove-sidebar-border: #30363d;
}

html.dark-mode .moove-sidebar {
  box-shadow: none;
  border-right-color: var(--moove-sidebar-border);
}

/* alert-soft-*: estilos unificados en moove-ui.css (fondo neutro) */

/* ── Listados legacy (mydatatables) ─────────────────────────── */
html.dark-mode table.dataTable {
  color: var(--moove-foreground);
}

html.dark-mode table.dataTable thead th {
  background-color: var(--moove-bg-muted) !important;
  color: var(--moove-text-muted) !important;
  border-bottom-color: var(--moove-border) !important;
}

html.dark-mode table.dataTable tbody tr {
  background-color: transparent !important;
}

html.dark-mode table.dataTable.stripe tbody tr.odd,
html.dark-mode table.dataTable.display tbody tr.odd {
  background-color: rgba(22, 27, 34, 0.35) !important;
}

html.dark-mode table.dataTable.hover tbody tr:hover,
html.dark-mode table.dataTable.display tbody tr:hover {
  background-color: var(--moove-bg-muted) !important;
}

/* Tarjetas tipo glosario (título azul, cuerpo muted) */
html.dark-mode .moove-glossary-grid .card,
html.dark-mode .moove-info-card {
  background-color: var(--moove-card-bg) !important;
  border-color: var(--moove-border) !important;
}

html.dark-mode .moove-glossary-grid .card-title,
html.dark-mode .moove-info-card__title {
  color: var(--moove-link) !important;
  font-size: 0.875rem;
  font-weight: 600;
}

html.dark-mode .moove-glossary-grid .card-text,
html.dark-mode .moove-info-card__desc {
  color: var(--moove-text-muted) !important;
  font-size: 0.8125rem;
}

/* ── Timeline / progresión (neworder, ver_orden, paymentorder, etc.) ── */
html[dir].dark-mode .navbar-submenu,
html.dark-mode .navbar-submenu {
  background-color: var(--moove-bg-elevated) !important;
  border-bottom-color: var(--moove-border) !important;
}

html.dark-mode .moove-page .progression-bar {
  background-color: transparent !important;
}

/* app.css: [dir] .progression-bar__item-text { background-color: #fff } */
html[dir].dark-mode .moove-page .progression-bar__item-text,
html[dir].dark-mode .moove-page .progression-bar__item-text.h6,
html.dark-mode .moove-page .progression-bar__item-text,
html.dark-mode .moove-page .progression-bar__item-text.h6 {
  background-color: transparent !important;
}

html.dark-mode .moove-page .progression-bar__item-content {
  background-color: transparent !important;
}

html.dark-mode .moove-page .progression-bar__item,
html.dark-mode .moove-page .progression-bar__item-text {
  color: var(--moove-text-muted) !important;
}

html.dark-mode .moove-page .progression-bar__item--active,
html.dark-mode .moove-page .progression-bar--active-accent .progression-bar__item--active,
html.dark-mode .moove-page .progression-bar--active-accent .progression-bar__item--active .progression-bar__item-text {
  color: var(--moove-foreground) !important;
}

html.dark-mode .moove-page .progression-bar__item--complete,
html.dark-mode .moove-page .progression-bar__item--complete-active,
html.dark-mode .moove-page .progression-bar__item--complete .progression-bar__item-text,
html.dark-mode .moove-page .progression-bar__item--complete-active .progression-bar__item-text {
  color: var(--moove-text-muted) !important;
}

html[dir].dark-mode .moove-page .progression-bar__item-icon,
html.dark-mode .moove-page .progression-bar__item-icon {
  background-color: var(--moove-card-bg) !important;
  border-color: var(--moove-border) !important;
  color: var(--moove-text-muted) !important;
}

html[dir].dark-mode .moove-page .progression-bar--active-accent .progression-bar__item--active .progression-bar__item-icon,
html.dark-mode .moove-page .progression-bar--active-accent .progression-bar__item--active .progression-bar__item-icon {
  background-color: var(--moove-accent) !important;
  border-color: var(--moove-accent) !important;
  color: #0b0e14 !important;
}

html[dir].dark-mode .moove-page .progression-bar__item--complete .progression-bar__item-icon,
html.dark-mode .moove-page .progression-bar__item--complete-active .progression-bar__item-icon {
  border-color: var(--moove-text-muted) !important;
  background-color: var(--moove-bg-muted) !important;
  color: var(--moove-text-muted) !important;
}

html.dark-mode .moove-page .moove-progression-track__bg {
  background: linear-gradient(
    90deg,
    var(--moove-border) 0%,
    var(--moove-bg-muted) 50%,
    var(--moove-border) 100%
  ) !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25) !important;
}

html.dark-mode .moove-page .moove-progression-track__fill {
  box-shadow:
    0 0 12px rgba(57, 197, 187, 0.45),
    0 0 24px rgba(57, 197, 187, 0.2) !important;
}

/* Cabeceras de página (border-bottom-2) */
html.dark-mode .moove-page .border-bottom-2 {
  background-color: var(--moove-bg-elevated) !important;
  border-bottom-color: var(--moove-border) !important;
}

html.dark-mode .moove-page .card-subtitle {
  color: var(--moove-text-muted) !important;
}

/* Filtros / paneles sueltos */
html.dark-mode .moove-page .card-body,
html.dark-mode .moove-filters-card .card-body {
  background-color: transparent !important;
}

html.dark-mode .list-group-item {
  background-color: var(--moove-card-bg) !important;
  border-color: var(--moove-border) !important;
  color: var(--moove-foreground) !important;
}

html.dark-mode .moove-page .page-nav .page-nav__menu a {
  color: var(--moove-text-muted) !important;
}

html[dir].dark-mode .moove-page .page-nav .page-nav__menu a:not(.active):before {
  background-color: var(--moove-bg-muted) !important;
  border-color: var(--moove-border) !important;
}

html.dark-mode .moove-page .page-nav .page-nav__menu a.active {
  color: var(--moove-foreground) !important;
}
