/* =============================================================
   NeuHábita — Modo Oscuro
   Activar agregando la clase "dark-mode" al <body>:
       document.body.classList.toggle('dark-mode');
   Guardar preferencia: localStorage.setItem('darkMode', '1');
   ============================================================= */

/* ── Variables base ── */
body.dark-mode {
    --dm-bg:           #1a1d23;
    --dm-bg-secondary: #22262e;
    --dm-bg-tertiary:  #2b2f3a;
    --dm-surface:      #2e3340;
    --dm-border:       #3d4454;
    --dm-text:         #d8dce8;
    --dm-text-muted:   #8890a4;
    --dm-text-heading: #eef0f6;
    --dm-link:         #5baddb;
    --dm-link-hover:   #7dc3e8;
    --dm-blue:         #2d7ab3;
    --dm-blue-light:   #3d90cc;
    --dm-green:        #1d8a4b;
    --dm-green-light:  #27a85c;
    --dm-red:          #c0392b;
    --dm-yellow:       #c89b2a;
    --dm-shadow:       rgba(0, 0, 0, 0.5);
}

/* ══════════════════════════════════════════════
   1. LAYOUT GENERAL — AdminLTE wrapper
══════════════════════════════════════════════ */
body.dark-mode,
body.dark-mode .content-wrapper,
body.dark-mode .right-side,
body.dark-mode .wrapper {
    background-color: var(--dm-bg) !important;
    color: var(--dm-text) !important;
}

/* ── Navbar superior ── */
body.dark-mode .main-header .navbar,
body.dark-mode .main-header .logo {
    background-color: var(--dm-bg-secondary) !important;
    border-bottom-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
body.dark-mode .main-header .navbar .nav > li > a,
body.dark-mode .main-header .logo {
    color: var(--dm-text) !important;
}
body.dark-mode .main-header .navbar .nav > li > a:hover {
    background-color: var(--dm-bg-tertiary) !important;
}

/* ── Skin-blue / skin-green: barra de skin ── */
body.dark-mode.skin-blue .main-header .navbar,
body.dark-mode.skin-green .main-header .navbar,
body.dark-mode.skin-red .main-header .navbar {
    background-color: var(--dm-bg-secondary) !important;
}
body.dark-mode.skin-blue .main-header .logo,
body.dark-mode.skin-green .main-header .logo,
body.dark-mode.skin-red .main-header .logo {
    background-color: var(--dm-bg-tertiary) !important;
    border-bottom-color: var(--dm-border) !important;
}

/* ── Sidebar ── */
body.dark-mode .main-sidebar,
body.dark-mode .left-side {
    background-color: var(--dm-bg-secondary) !important;
}
body.dark-mode .sidebar-menu > li > a,
body.dark-mode .sidebar-menu > li.header {
    color: var(--dm-text-muted) !important;
    border-left-color: transparent !important;
}
body.dark-mode .sidebar-menu > li > a:hover,
body.dark-mode .sidebar-menu > li.active > a {
    background-color: var(--dm-bg-tertiary) !important;
    color: var(--dm-text-heading) !important;
}
body.dark-mode .sidebar-menu > li.active > a {
    border-left-color: var(--dm-blue-light) !important;
}
body.dark-mode .sidebar-menu .treeview-menu {
    background-color: var(--dm-bg) !important;
}
body.dark-mode .sidebar-menu .treeview-menu > li > a {
    color: var(--dm-text-muted) !important;
}
body.dark-mode .sidebar-menu .treeview-menu > li > a:hover,
body.dark-mode .sidebar-menu .treeview-menu > li.active > a {
    color: var(--dm-link) !important;
}
body.dark-mode .user-panel > .info,
body.dark-mode .user-panel > .info > a {
    color: var(--dm-text) !important;
}

/* ── Footer ── */
body.dark-mode .main-footer {
    background-color: var(--dm-bg-secondary) !important;
    border-top-color: var(--dm-border) !important;
    color: var(--dm-text-muted) !important;
}

/* ══════════════════════════════════════════════
   2. BOXES (AdminLTE)
══════════════════════════════════════════════ */
body.dark-mode .box {
    background-color: var(--dm-surface) !important;
    border-top-color: var(--dm-border) !important;
    box-shadow: 0 1px 3px var(--dm-shadow) !important;
}
body.dark-mode .box-header {
    background-color: var(--dm-surface) !important;
    color: var(--dm-text-heading) !important;
    border-bottom-color: var(--dm-border) !important;
}
body.dark-mode .box-body,
body.dark-mode .box-footer {
    background-color: var(--dm-surface) !important;
    color: var(--dm-text) !important;
    border-top-color: var(--dm-border) !important;
}
body.dark-mode .box.box-primary   { border-top-color: var(--dm-blue)  !important; }
body.dark-mode .box.box-success   { border-top-color: var(--dm-green) !important; }
body.dark-mode .box.box-danger    { border-top-color: var(--dm-red)   !important; }
body.dark-mode .box.box-warning   { border-top-color: var(--dm-yellow)!important; }

/* ── Info boxes / small boxes ── */
body.dark-mode .info-box {
    background-color: var(--dm-surface) !important;
    color: var(--dm-text) !important;
    box-shadow: 0 1px 3px var(--dm-shadow) !important;
}
body.dark-mode .small-box {
    color: #fff !important;
}

/* ══════════════════════════════════════════════
   3. TABLAS (Bootstrap + Yii GridView)
══════════════════════════════════════════════ */
body.dark-mode table,
body.dark-mode .table {
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}
body.dark-mode .table > thead > tr > th,
body.dark-mode .table > tbody > tr > th,
body.dark-mode .table > tfoot > tr > th {
    background-color: var(--dm-bg-tertiary) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-heading) !important;
}
/* Fila de filtros de Yii GridView: usa <td> dentro de <thead> */
body.dark-mode .table > thead > tr > td {
    background-color: var(--dm-bg-secondary) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
body.dark-mode .table > tbody > tr > td,
body.dark-mode .table > tfoot > tr > td {
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
body.dark-mode .table-bordered,
body.dark-mode .table-bordered > thead > tr > th,
body.dark-mode .table-bordered > thead > tr > td,
body.dark-mode .table-bordered > tbody > tr > td,
body.dark-mode .table-bordered > tfoot > tr > td {
    border-color: var(--dm-border) !important;
}
body.dark-mode .table-striped > tbody > tr:nth-of-type(odd) {
    background-color: rgba(255,255,255,0.04) !important;
}
body.dark-mode .table-hover > tbody > tr:hover {
    background-color: rgba(93, 173, 219, 0.12) !important;
}
/* GridView highlight personalizado */
body.dark-mode #grillaTramites tbody tr:hover {
    background: rgba(93, 173, 219, 0.15) !important;
}
/* Filas contextuales de Bootstrap (tr.info, tr.danger, etc.) */
body.dark-mode .table > tbody > tr.info > td,
body.dark-mode .table > tbody > tr.info > th {
    background-color: rgba(61, 144, 204, 0.15) !important;
}
body.dark-mode .table > tbody > tr.danger > td,
body.dark-mode .table > tbody > tr.danger > th {
    background-color: rgba(192, 57, 43, 0.15) !important;
}
body.dark-mode .table > tbody > tr.success > td,
body.dark-mode .table > tbody > tr.success > th {
    background-color: rgba(29, 138, 75, 0.15) !important;
}
body.dark-mode .table > tbody > tr.warning > td,
body.dark-mode .table > tbody > tr.warning > th {
    background-color: rgba(200, 155, 42, 0.12) !important;
}
/* Estados de fila: listado de trámites (_listado_tramite.php) */
body.dark-mode tr.tr-estado-resuelto  > td { background-color: rgba(29, 138, 75,  0.18) !important; }
body.dark-mode tr.tr-estado-pendiente > td { background-color: rgba(192, 100, 57, 0.18) !important; }
body.dark-mode tr.tr-estado-orden     > td { background-color: rgba(200, 155, 42, 0.15) !important; }
body.dark-mode tr.tr-estado-inhibido  > td { background-color: rgba(200, 155, 42, 0.10) !important; }
/* Striped override (anula el #f9f9f9 del <style> inline de _listado_tramite) */
body.dark-mode .table-striped > tbody > tr:nth-of-type(odd),
body.dark-mode .table-striped > tbody > tr:nth-of-type(even) {
    background-color: transparent !important;
}
/* Ranking card (indexdashboard) */
body.dark-mode .ranking-card {
    background-color: var(--dm-surface) !important;
    color: var(--dm-text) !important;
    border-color: var(--dm-border) !important;
}

/* ══════════════════════════════════════════════
   4. FORMULARIOS
══════════════════════════════════════════════ */
body.dark-mode .form-control,
body.dark-mode input[type="text"],
body.dark-mode input[type="email"],
body.dark-mode input[type="password"],
body.dark-mode input[type="number"],
body.dark-mode input[type="search"],
body.dark-mode input[type="date"],
body.dark-mode textarea,
body.dark-mode select {
    background-color: var(--dm-bg-tertiary) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
body.dark-mode .form-control:focus,
body.dark-mode input:focus,
body.dark-mode textarea:focus,
body.dark-mode select:focus {
    background-color: var(--dm-bg-tertiary) !important;
    border-color: var(--dm-blue-light) !important;
    color: var(--dm-text-heading) !important;
    box-shadow: 0 0 0 2px rgba(61, 144, 204, 0.3) !important;
}
body.dark-mode .form-control[disabled],
body.dark-mode .form-control[readonly],
body.dark-mode fieldset[disabled] .form-control {
    background-color: var(--dm-bg-secondary) !important;
    color: var(--dm-text-muted) !important;
}
body.dark-mode label,
body.dark-mode .control-label {
    color: var(--dm-text) !important;
}
body.dark-mode .input-group-addon {
    background-color: var(--dm-bg-tertiary) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-muted) !important;
}

/* ── Select2 ── */
body.dark-mode .select2-container--default .select2-selection--single,
body.dark-mode .select2-container--default .select2-selection--multiple {
    background-color: var(--dm-bg-tertiary) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
body.dark-mode .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--dm-text) !important;
}
body.dark-mode .select2-dropdown {
    background-color: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
body.dark-mode .select2-container--default .select2-results__option--highlighted {
    background-color: var(--dm-blue) !important;
}
body.dark-mode .select2-results__option {
    color: var(--dm-text) !important;
}
body.dark-mode .select2-search--dropdown .select2-search__field {
    background-color: var(--dm-bg-tertiary) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
body.dark-mode .select2-selection__placeholder {
    color: var(--dm-text-muted) !important;
}

/* ── jQuery UI Autocomplete (AutocompleteAjax / AutocompleteAjaxTipotram) ── */
body.dark-mode .ui-autocomplete {
    background-color: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.5) !important;
}
body.dark-mode .ui-autocomplete .ui-menu-item > a,
body.dark-mode .ui-autocomplete .ui-menu-item-wrapper {
    color: var(--dm-text) !important;
    background-color: transparent !important;
}
body.dark-mode .ui-autocomplete .ui-state-active,
body.dark-mode .ui-autocomplete .ui-state-focus,
body.dark-mode .ui-autocomplete .ui-state-hover,
body.dark-mode .ui-autocomplete .ui-menu-item > a.ui-state-focus,
body.dark-mode .ui-autocomplete .ui-menu-item > a.ui-state-active {
    background-color: var(--dm-blue) !important;
    border-color: var(--dm-blue-light) !important;
    color: #fff !important;
}

/* ══════════════════════════════════════════════
   5. MODALES (Bootstrap 3)
══════════════════════════════════════════════ */
body.dark-mode .modal-content {
    background-color: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
body.dark-mode .modal-header {
    background-color: var(--dm-blue) !important;
    border-bottom-color: var(--dm-border) !important;
    color: #fff !important;
}
body.dark-mode .modal-body {
    background-color: var(--dm-surface) !important;
    color: var(--dm-text) !important;
}
body.dark-mode .modal-footer {
    background-color: var(--dm-bg-secondary) !important;
    border-top-color: var(--dm-border) !important;
}
body.dark-mode .modal-backdrop {
    background-color: #000 !important;
}
/* Workflow diagram modal */
body.dark-mode .workflow-diagram-modal .modal-content {
    background-color: var(--dm-surface) !important;
}
body.dark-mode .workflow-network-container {
    border-color: var(--dm-border) !important;
    background: var(--dm-bg-tertiary) !important;
}
body.dark-mode .workflow-legend {
    background-color: var(--dm-bg-secondary) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}

/* ══════════════════════════════════════════════
   6. BOTONES
══════════════════════════════════════════════ */
body.dark-mode .btn-default,
body.dark-mode .btn-secondary {
    background-color: var(--dm-bg-tertiary) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
body.dark-mode .btn-default:hover,
body.dark-mode .btn-secondary:hover {
    background-color: var(--dm-surface) !important;
    color: var(--dm-text-heading) !important;
}
body.dark-mode .btn-primary {
    background-color: var(--dm-blue) !important;
    border-color: var(--dm-blue-light) !important;
}
body.dark-mode .btn-primary:hover {
    background-color: var(--dm-blue-light) !important;
}
body.dark-mode .btn-success {
    background-color: var(--dm-green) !important;
    border-color: var(--dm-green-light) !important;
    color: #fff !important;
}
body.dark-mode .btn-success:hover {
    background-color: var(--dm-green-light) !important;
    color: #fff !important;
}
body.dark-mode .btn-danger {
    background-color: var(--dm-red) !important;
}
body.dark-mode .btn-warning {
    background-color: #7a5c10 !important;
    border-color: #9a7220 !important;
    color: #fce99a !important;
}
body.dark-mode .btn-warning:hover {
    background-color: #9a7220 !important;
    color: #fff !important;
}
body.dark-mode .btn-warning[disabled],
body.dark-mode .btn-warning.disabled {
    background-color: #4a3a10 !important;
    color: #a08840 !important;
}
body.dark-mode .btn-info {
    background-color: #1a6a99 !important;
    border-color: #2283be !important;
    color: #fff !important;
}
body.dark-mode .btn-info:hover {
    background-color: #2283be !important;
    color: #fff !important;
}

/* ══════════════════════════════════════════════
   7. ALERTS / PANELS / WELL
══════════════════════════════════════════════ */
body.dark-mode .alert {
    border-color: var(--dm-border) !important;
}
body.dark-mode .alert-info {
    background-color: rgba(45, 122, 179, 0.2) !important;
    color: #8ecae6 !important;
}
body.dark-mode .alert-success {
    background-color: rgba(29, 138, 75, 0.2) !important;
    color: #a0d9b4 !important;
}
body.dark-mode .alert-warning {
    background-color: rgba(200, 155, 42, 0.2) !important;
    color: #d4b96a !important;
}
/* Labels y badges warning: amarillo atenuado para no enceguecer */
body.dark-mode .label-warning,
body.dark-mode .badge-warning {
    background-color: #ad8128 !important;
    color: #fce99a !important;
}
body.dark-mode .label-warning[href]:hover,
body.dark-mode .badge-warning:hover {
    background-color: #c29432 !important;
}
/* Labels y badges info/danger/success: atenuados en modo oscuro */
body.dark-mode .label-info,
body.dark-mode .badge-info {
    background-color: #1a6a99 !important;
    color: #c8e6f8 !important;
}
body.dark-mode .label-danger,
body.dark-mode .badge-danger {
    background-color: #8b2a20 !important;
    color: #f5a3a3 !important;
}
body.dark-mode .label-success,
body.dark-mode .badge-success {
    background-color: #1d6e3e !important;
    color: #a0d9b4 !important;
}
body.dark-mode .label-default,
body.dark-mode .badge-default {
    background-color: var(--dm-bg-tertiary) !important;
    color: var(--dm-text-muted) !important;
}
body.dark-mode .alert-danger {
    background-color: rgba(192, 57, 43, 0.2) !important;
    color: #f5a3a3 !important;
}
body.dark-mode .panel {
    background-color: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
}
body.dark-mode .panel-heading {
    background-color: var(--dm-bg-tertiary) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-heading) !important;
}
body.dark-mode .panel-body {
    background-color: var(--dm-surface) !important;
    color: var(--dm-text) !important;
}
/* Paneles contextuales — diferenciados por color de borde y encabezado */
body.dark-mode .panel-success {
    border-color: #2d6a3f !important;
}
body.dark-mode .panel-success > .panel-heading {
    background-color: rgba(29,138,75,0.18) !important;
    border-color: #2d6a3f !important;
    color: #6dbf8a !important;
}
body.dark-mode .panel-danger {
    border-color: #7a2020 !important;
}
body.dark-mode .panel-danger > .panel-heading {
    background-color: rgba(192,57,43,0.18) !important;
    border-color: #7a2020 !important;
    color: #e88080 !important;
}
body.dark-mode .panel-warning {
    border-color: #7a5a10 !important;
}
body.dark-mode .panel-warning > .panel-heading {
    background-color: rgba(200,155,42,0.18) !important;
    border-color: #7a5a10 !important;
    color: #f0c060 !important;
}
body.dark-mode .well {
    background-color: var(--dm-bg-secondary) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}

/* ══════════════════════════════════════════════
   8. NAVEGACIÓN / TABS / BREADCRUMB
══════════════════════════════════════════════ */
/* Bootstrap dropdown menu */
body.dark-mode .dropdown-menu {
    background-color: var(--dm-bg-secondary) !important;
    border-color: var(--dm-border) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.5) !important;
}
body.dark-mode .dropdown-menu > li > a {
    color: var(--dm-text) !important;
}
body.dark-mode .dropdown-menu > li > a:hover,
body.dark-mode .dropdown-menu > li > a:focus {
    background-color: var(--dm-bg-tertiary) !important;
    color: var(--dm-text-heading) !important;
}
body.dark-mode .dropdown-menu > li.active > a,
body.dark-mode .dropdown-menu > .active > a {
    background-color: var(--dm-blue) !important;
    color: #fff !important;
}
body.dark-mode .dropdown-menu > li.dropdown-header {
    color: var(--dm-text-muted) !important;
}
body.dark-mode .dropdown-menu > li.divider {
    background-color: var(--dm-border) !important;
}
/* Items anidados dentro de .menu (AdminLTE notifications-menu) */
body.dark-mode .dropdown-menu .menu > li > a {
    color: var(--dm-text) !important;
    border-bottom-color: var(--dm-border) !important;
}
body.dark-mode .dropdown-menu .menu > li > a:hover {
    background-color: var(--dm-bg-tertiary) !important;
    color: var(--dm-text-heading) !important;
}
body.dark-mode .dropdown-menu .menu > li {
    border-bottom-color: var(--dm-border) !important;
}
/* Header y footer del dropdown (AdminLTE) */
body.dark-mode .dropdown-menu > li.header,
body.dark-mode .dropdown-menu li.header {
    background-color: var(--dm-bg-tertiary) !important;
    color: var(--dm-text-muted) !important;
    border-bottom-color: var(--dm-border) !important;
}
body.dark-mode .dropdown-menu > li.footer > a,
body.dark-mode .dropdown-menu li.footer > a {
    background-color: var(--dm-bg-tertiary) !important;
    color: var(--dm-link) !important;
    border-top-color: var(--dm-border) !important;
}
body.dark-mode .dropdown-menu > li.footer > a:hover {
    background-color: var(--dm-surface) !important;
    color: var(--dm-text-heading) !important;
}
/* Menú de usuario AdminLTE (.user-menu) */
body.dark-mode .user-menu > .dropdown-menu > li.user-header {
    background-color: var(--dm-blue) !important;
    color: #fff !important;
}
body.dark-mode .user-menu > .dropdown-menu > li.user-header p {
    color: rgba(255,255,255,0.85) !important;
}
body.dark-mode .user-menu > .dropdown-menu > li.user-footer {
    background-color: var(--dm-bg-secondary) !important;
    border-top-color: var(--dm-border) !important;
}
body.dark-mode .user-menu > .dropdown-menu > li.user-body {
    background-color: var(--dm-bg-secondary) !important;
    border-top-color: var(--dm-border) !important;
    border-bottom-color: var(--dm-border) !important;
}
/* Botón Solicitar Prioridad dentro del dropdown */
body.dark-mode .dropdown-menu .btn-primary {
    background-color: var(--dm-blue) !important;
    border-color: var(--dm-blue-light) !important;
    color: #fff !important;
    opacity: 0.85;
}
body.dark-mode .dropdown-menu .btn-primary:hover {
    opacity: 1;
}

body.dark-mode .nav-tabs > li > a {
    color: var(--dm-text-muted) !important;
    border-color: transparent !important;
    background-color: transparent !important;
}
body.dark-mode .nav-tabs > li.active > a,
body.dark-mode .nav-tabs > li.active > a:hover {
    background-color: var(--dm-surface) !important;
    border-color: var(--dm-border) var(--dm-border) transparent !important;
    color: var(--dm-text-heading) !important;
}
body.dark-mode .nav-tabs {
    border-bottom-color: var(--dm-border) !important;
}
body.dark-mode .breadcrumb {
    background-color: var(--dm-bg-secondary) !important;
    color: var(--dm-text-muted) !important;
}
body.dark-mode .breadcrumb > li + li::before {
    color: var(--dm-text-muted) !important;
}
body.dark-mode .breadcrumb > .active {
    color: var(--dm-text) !important;
}
body.dark-mode .pagination > li > a,
body.dark-mode .pagination > li > span {
    background-color: var(--dm-bg-tertiary) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-link) !important;
}
body.dark-mode .pagination > .active > a,
body.dark-mode .pagination > .active > span {
    background-color: var(--dm-blue) !important;
    border-color: var(--dm-blue) !important;
    color: #fff !important;
}

/* ══════════════════════════════════════════════
   9. CARDS — Bandeja de entrada
══════════════════════════════════════════════ */
body.dark-mode .tramites-card {
    background-color: var(--dm-green) !important;
}
body.dark-mode .tickets-card {
    background-color: var(--dm-blue) !important;
}

/* ══════════════════════════════════════════════
   10. TRAMITE — Ticket / Avance
══════════════════════════════════════════════ */
body.dark-mode .bodytramite p {
    border-color: var(--dm-blue) !important;
}
body.dark-mode .file-preview {
    background-color: var(--dm-bg-tertiary) !important;
    border-color: var(--dm-border) !important;
}
body.dark-mode .cargaAvance h2 {
    color: var(--dm-blue-light) !important;
}

/* ══════════════════════════════════════════════
   11. DOCUMENTACIÓN (vista independiente)
══════════════════════════════════════════════ */
body.dark-mode header {
    background-color: var(--dm-bg-secondary) !important;
    color: var(--dm-link) !important;
    box-shadow: 0 5px 5px var(--dm-shadow) !important;
}
body.dark-mode .menu {
    background-color: var(--dm-bg-secondary) !important;
}
body.dark-mode .menu > ul > li > a,
body.dark-mode li > a {
    color: var(--dm-text) !important;
}
body.dark-mode .menu > ul > li:hover {
    background-color: rgba(255,255,255,0.06) !important;
    color: var(--dm-link) !important;
}
body.dark-mode .activo {
    box-shadow: inset .25em 0 0 var(--dm-link) !important;
    background-color: rgba(255,255,255,0.06) !important;
}
body.dark-mode .activo > a {
    color: var(--dm-link) !important;
}
body.dark-mode .documentacion {
    background-color: transparent !important;
    color: var(--dm-text) !important;
}

/* ══════════════════════════════════════════════
   12. MISCÉLANEO
══════════════════════════════════════════════ */
body.dark-mode hr {
    border-color: var(--dm-border) !important;
}
body.dark-mode a {
    color: var(--dm-link) !important;
}
body.dark-mode a:hover {
    color: var(--dm-link-hover) !important;
}
body.dark-mode .text-muted,
body.dark-mode .hint-block {
    color: var(--dm-text-muted) !important;
}
body.dark-mode .error-summary {
    background: rgba(192, 57, 43, 0.15) !important;
    border-left-color: var(--dm-red) !important;
    color: #f5a3a3 !important;
}
body.dark-mode pre,
body.dark-mode code {
    background-color: var(--dm-bg-tertiary) !important;
    color: #c9d1d9 !important;
    border-color: var(--dm-border) !important;
}
body.dark-mode .callout {
    background-color: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
/* Scrollbar custom (Webkit) */
body.dark-mode ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
body.dark-mode ::-webkit-scrollbar-track {
    background: var(--dm-bg-secondary);
}
body.dark-mode ::-webkit-scrollbar-thumb {
    background-color: var(--dm-border);
    border-radius: 4px;
}
body.dark-mode ::-webkit-scrollbar-thumb:hover {
    background-color: var(--dm-text-muted);
}

/* ══════════════════════════════════════════════
   13. HELPERS DE VISTAS ESPECÍFICAS
══════════════════════════════════════════════ */
/* Highcharts — fondo y textos en modo oscuro */
body.dark-mode .highcharts-background {
    fill: var(--dm-surface) !important;
}
body.dark-mode .highcharts-plot-background {
    fill: transparent !important;
}
body.dark-mode .highcharts-grid-line {
    stroke: var(--dm-border) !important;
}
body.dark-mode .highcharts-axis-line,
body.dark-mode .highcharts-tick {
    stroke: var(--dm-border) !important;
}
body.dark-mode .highcharts-title text,
body.dark-mode .highcharts-subtitle text {
    fill: var(--dm-text-heading) !important;
    color: var(--dm-text-heading) !important;
}
body.dark-mode .highcharts-axis-labels text,
body.dark-mode .highcharts-xaxis-labels text,
body.dark-mode .highcharts-yaxis-labels text {
    fill: var(--dm-text-muted) !important;
    color: var(--dm-text-muted) !important;
}
body.dark-mode .highcharts-legend-item text {
    fill: var(--dm-text) !important;
    color: var(--dm-text) !important;
}
body.dark-mode .highcharts-legend-item-hidden text {
    fill: var(--dm-text-muted) !important;
}
body.dark-mode .highcharts-tooltip-box {
    fill: var(--dm-bg-secondary) !important;
    stroke: var(--dm-border) !important;
}
body.dark-mode .highcharts-tooltip text,
body.dark-mode .highcharts-tooltip span {
    fill: var(--dm-text) !important;
    color: var(--dm-text) !important;
}
body.dark-mode .highcharts-data-label text {
    fill: var(--dm-text) !important;
    color: var(--dm-text) !important;
    text-shadow: none !important;
}
/* Elimina el tspan de contorno que genera efecto borroso en modo oscuro */
body.dark-mode .highcharts-text-outline {
    stroke: none !important;
    fill: none !important;
    stroke-width: 0 !important;
}
body.dark-mode .highcharts-axis text {
    fill: var(--dm-text-muted) !important;
}
/* Títulos de ejes (yAxis/xAxis title) */
body.dark-mode .highcharts-yaxis text,
body.dark-mode .highcharts-xaxis text {
    fill: var(--dm-text-muted) !important;
}
/* Labels ADUS / IPVU (ticketsabm) */
body.dark-mode .label-adus {
    background-color: #8a7220 !important;
    color: #fde8a0 !important;
}
body.dark-mode .label-ipvu {
    background-color: #7a2e1e !important;
    color: #f5b0a0 !important;
}
/* Conteo de usuarios por sector */
body.dark-mode .dm-count-muted {
    color: var(--dm-text-muted) !important;
}
/* Etiqueta de filtro activo */
body.dark-mode .texto-filtro {
    color: #ffa040 !important;
}
/* DatePicker popup */
body.dark-mode .datepicker {
    background-color: var(--dm-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}
body.dark-mode .datepicker table tr td,
body.dark-mode .datepicker table tr th {
    color: var(--dm-text) !important;
}
body.dark-mode .datepicker table tr td:hover,
body.dark-mode .datepicker table tr th:hover {
    background-color: var(--dm-bg-tertiary) !important;
}
body.dark-mode .datepicker table tr td.today {
    background-color: var(--dm-blue) !important;
    color: #fff !important;
}
body.dark-mode .datepicker table tr td.active,
body.dark-mode .datepicker table tr td.active:hover {
    background-color: var(--dm-blue-light) !important;
    color: #fff !important;
}
body.dark-mode .datepicker-dropdown::before {
    border-bottom-color: var(--dm-border) !important;
}
body.dark-mode .datepicker-dropdown::after {
    border-bottom-color: var(--dm-surface) !important;
}

/* Contenedor preview de acción de etapa (fondo inline #f9f9f9) */
body.dark-mode #etapa-preview-accion {
    background: var(--dm-bg-secondary) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}

/* Opciones de revisión documental (radio/checkbox con fondos inline) */
body.dark-mode .revision-documental-opciones label {
    background: var(--dm-bg-secondary) !important;
}
body.dark-mode .revision-documental-opciones label:has(input:checked) {
    background: var(--dm-bg-tertiary) !important;
    box-shadow: 0 0 0 2px currentColor;
}
body.dark-mode .revision-documental-opciones .opcion-aprobado {
    color: #6dbf8a !important;
}
body.dark-mode .revision-documental-opciones .opcion-rechazado {
    color: #e88080 !important;
}
body.dark-mode .revision-documental-opciones .opcion-requerimiento {
    color: #7bc8e0 !important;
}
body.dark-mode .revision-documental-opciones .opcion-warning {
    color: #f0c060 !important;
}

/* ══════════════════════════════════════════════
   14. BOTÓN TOGGLE — incluir en header.php
   (colocar cerca del ícono de usuario)
══════════════════════════════════════════════ */
#btn-dark-mode {
    cursor: pointer;
    font-size: 16px;
    padding: 0 10px;
    line-height: 50px;     /* altura del navbar AdminLTE */
    color: inherit;
    background: transparent;
    border: none;
    transition: color 0.2s;
}
#btn-dark-mode:hover {
    color: #fff;
}
