/* ===== TEMA OSCURO UNIFICADO ===== */

/* Variables globales — Black / Prussian / Orange */
:root {
    /* Fondos */
    --dark-bg-darkest: #000000;
    --dark-bg-primary: #000000;
    --dark-bg-secondary: #0a101c;
    --dark-bg-tertiary: #14213d;
    --dark-bg-hover: #1c2f52;

    /* Bordes */
    --dark-border: #1c2f52;
    --dark-border-light: #2a3f63;

    /* Textos */
    --dark-text-primary: #ffffff;
    --dark-text-secondary: #e5e5e5;
    --dark-text-muted: rgba(229, 229, 229, 0.72);
    --dark-text-dim: #6b7280;

    /* Acentos */
    --dark-accent: #fca311;
    --dark-accent-hover: #e8940a;
    --dark-accent-green: #55efc4;
    --dark-accent-on: #000000; /* texto sobre acento naranja */

    /* Legacy compatibility */
    --dark-hover: #1c2f52;
    --dark-card: #14213d;
    --dark-sidebar-hover: #1c2f52;
    --dark-sidebar-active: #243a5c;
}

/* Color scheme para elementos nativos del navegador */
html.dark-theme,
html[data-theme="dark"] {
    color-scheme: dark;
}

/* ===== BODY Y CONTENEDORES PRINCIPALES ===== */
html.dark-theme,
html.dark-theme body,
html[data-theme="dark"],
html[data-theme="dark"] body {
    background-color: var(--dark-bg-primary) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme,
.dark-theme body,
[data-theme="dark"] body {
    background-color: var(--dark-bg-primary) !important;
    color: var(--dark-text-primary) !important;
}

.dark-theme .wrapper,
.dark-theme .main-panel,
.dark-theme .content,
[data-theme="dark"] .wrapper,
[data-theme="dark"] .main-panel,
[data-theme="dark"] .content {
    background-color: var(--dark-bg-primary) !important;
}

/* ===== NAVBAR ===== */
.dark-theme .navbar,
.dark-theme .navbar-default,
.dark-theme nav.navbar,
[data-theme="dark"] .navbar,
[data-theme="dark"] .navbar-default,
[data-theme="dark"] nav.navbar {
    background: var(--dark-bg-secondary) !important;
    border-bottom: 1px solid var(--dark-border) !important;
}

.dark-theme .navbar-brand,
.dark-theme .navbar-nav > li > a,
[data-theme="dark"] .navbar-brand,
[data-theme="dark"] .navbar-nav > li > a {
    color: var(--dark-text-primary) !important;
}

.dark-theme .navbar-nav > li > a:hover,
[data-theme="dark"] .navbar-nav > li > a:hover {
    color: #ffffff !important;
    background-color: var(--dark-bg-hover) !important;
}

.dark-theme .navbar-toggle,
[data-theme="dark"] .navbar-toggle {
    background-color: var(--dark-bg-tertiary) !important;
    border-color: var(--dark-border) !important;
}

.dark-theme .navbar-toggle .icon-bar,
[data-theme="dark"] .navbar-toggle .icon-bar {
    background-color: var(--dark-text-primary) !important;
}

/* ===== SIDEBAR ESCRITORIO Y MÓVIL ===== */
.dark-theme .sidebar,
[data-theme="dark"] .sidebar {
    background: linear-gradient(180deg, #0a101c 0%, #000000 100%) !important;
    color: var(--dark-text-primary) !important;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.3) !important;
}

.dark-theme .sidebar:after,
.dark-theme .sidebar:before,
[data-theme="dark"] .sidebar:after,
[data-theme="dark"] .sidebar:before {
    display: none !important;
}

.dark-theme .sidebar .logo,
[data-theme="dark"] .sidebar .logo {
    padding: 15px !important;
    border-bottom: 1px solid #1c2f52 !important;
    background: rgba(0, 0, 0, 0.2) !important;
}

.dark-theme .sidebar .logo a,
.dark-theme .sidebar .logo .simple-text,
.dark-theme .sidebar .logo p,
[data-theme="dark"] .sidebar .logo a,
[data-theme="dark"] .sidebar .logo .simple-text,
[data-theme="dark"] .sidebar .logo p {
    color: var(--dark-text-primary) !important;
}

/* Items principales del sidebar */
.dark-theme .sidebar .nav li > a,
[data-theme="dark"] .sidebar .nav li > a {
    color: rgba(255, 255, 255, 0.85) !important;
    opacity: 1 !important;
    margin: 5px 10px !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.03) !important;
    padding: 12px 15px !important;
    transition: all 0.25s ease !important;
    border-left: 3px solid transparent !important;
}

.dark-theme .sidebar .nav li > a:hover,
[data-theme="dark"] .sidebar .nav li > a:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
    border-left-color: #fca311 !important;
}

.dark-theme .sidebar .nav li.active > a,
[data-theme="dark"] .sidebar .nav li.active > a {
    background: rgba(252, 163, 17, 0.07) !important;
    color: #ffffff !important;
    border-left-color: #fca311 !important;
}

.dark-theme .sidebar .nav p,
[data-theme="dark"] .sidebar .nav p {
    margin: 0 !important;
    line-height: 30px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--dark-text-primary) !important;
}

.dark-theme .sidebar .nav i,
[data-theme="dark"] .sidebar .nav i {
    font-size: 24px !important;
    float: left !important;
    margin-right: 12px !important;
    line-height: 30px !important;
    width: 30px !important;
    text-align: center !important;
    color: rgba(255, 255, 255, 0.7) !important;
}

.dark-theme .sidebar .nav li.active > a i,
.dark-theme .sidebar .nav li > a:hover i,
[data-theme="dark"] .sidebar .nav li.active > a i,
[data-theme="dark"] .sidebar .nav li > a:hover i {
    color: #ffffff !important;
}

/* Ocultar caret original */
.dark-theme .sidebar .nav .caret,
[data-theme="dark"] .sidebar .nav .caret {
    display: none !important;
}

/* Flechas collapse */
.dark-theme .sidebar .nav [data-toggle="collapse"],
[data-theme="dark"] .sidebar .nav [data-toggle="collapse"] {
    position: relative !important;
}

.dark-theme .sidebar .nav [data-toggle="collapse"]:after,
[data-theme="dark"] .sidebar .nav [data-toggle="collapse"]:after {
    content: "" !important;
    border-style: solid !important;
    border-width: 0 2px 2px 0 !important;
    border-color: rgba(255, 255, 255, 0.7) !important;
    display: inline-block !important;
    padding: 4px !important;
    transform: rotate(45deg) !important;
    transition: transform 0.3s ease !important;
    position: absolute !important;
    right: 20px !important;
    top: 50% !important;
    margin-top: -6px !important;
}

.dark-theme .sidebar .nav [data-toggle="collapse"][aria-expanded="true"]:after,
[data-theme="dark"] .sidebar .nav [data-toggle="collapse"][aria-expanded="true"]:after {
    transform: rotate(-135deg) !important;
    margin-top: -2px !important;
}

/* ===== SUBMENÚS DESPLEGABLES - SISTEMA LIMPIO ===== */
/* Contenedores collapse - Sin estilos visuales, solo estructura */
.dark-theme .sidebar .nav .collapse,
.dark-theme .sidebar .nav .collapsing,
[data-theme="dark"] .sidebar .nav .collapse,
[data-theme="dark"] .sidebar .nav .collapsing {
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
}

/* UL dentro del collapse */
.dark-theme .sidebar .nav .collapse > ul,
.dark-theme .sidebar .nav .collapsing > ul,
[data-theme="dark"] .sidebar .nav .collapse > ul,
[data-theme="dark"] .sidebar .nav .collapsing > ul {
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

/* Items de submenú LI */
.dark-theme .sidebar .nav .collapse li,
.dark-theme .sidebar .nav .collapsing li,
[data-theme="dark"] .sidebar .nav .collapse li,
[data-theme="dark"] .sidebar .nav .collapsing li {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    border: none !important;
}

/* Links de submenú A */
.dark-theme .sidebar .nav .collapse li > a,
.dark-theme .sidebar .nav .collapsing li > a,
[data-theme="dark"] .sidebar .nav .collapse li > a,
[data-theme="dark"] .sidebar .nav .collapsing li > a {
    display: block !important;
    padding: 14px 20px 14px 45px !important;
    margin: 3px 10px !important;
    background: rgba(0, 0, 0, 0.15) !important;
    border-radius: 6px !important;
    border: none !important;
    border-left: none !important;
    color: rgba(255, 255, 255, 0.75) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
    opacity: 1 !important;
    transform: none !important;
}

/* Iconos en submenú - asegurar que no hereden estilos extraños */
.dark-theme .sidebar .nav .collapse li > a i,
.dark-theme .sidebar .nav .collapsing li > a i,
[data-theme="dark"] .sidebar .nav .collapse li > a i,
[data-theme="dark"] .sidebar .nav .collapsing li > a i {
    display: none !important;
}

/* Texto en submenú */
.dark-theme .sidebar .nav .collapse li > a p,
.dark-theme .sidebar .nav .collapsing li > a p,
[data-theme="dark"] .sidebar .nav .collapse li > a p,
[data-theme="dark"] .sidebar .nav .collapsing li > a p {
    margin: 0 !important;
    line-height: 1.4 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.dark-theme .sidebar .nav .collapse li > a:hover,
.dark-theme .sidebar .nav .collapsing li > a:hover,
[data-theme="dark"] .sidebar .nav .collapse li > a:hover,
[data-theme="dark"] .sidebar .nav .collapsing li > a:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
}

.dark-theme .sidebar .nav .collapse li.active > a,
.dark-theme .sidebar .nav .collapsing li.active > a,
[data-theme="dark"] .sidebar .nav .collapse li.active > a,
[data-theme="dark"] .sidebar .nav .collapsing li.active > a {
    background: rgba(252, 163, 17, 0.09) !important;
    color: #ffffff !important;
}

/* Scrollbar del sidebar */
.dark-theme .sidebar .sidebar-wrapper::-webkit-scrollbar {
    width: 8px !important;
}

.dark-theme .sidebar .sidebar-wrapper::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.2) !important;
    border-radius: 10px !important;
    margin: 10px 0 !important;
}

.dark-theme .sidebar .sidebar-wrapper::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.2)) !important;
    border-radius: 10px !important;
    border: 2px solid transparent !important;
    background-clip: padding-box !important;
}

.dark-theme .sidebar .sidebar-wrapper::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.4)) !important;
    background-clip: padding-box !important;
}

/* ===== CARDS Y PANELES ===== */
html.dark-theme .card,
body.dark-theme .card,
.dark-theme .card,
.dark-theme .panel {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

.dark-theme .card-header,
.dark-theme .card .header,
.dark-theme .panel-heading {
    background-color: var(--dark-bg-tertiary) !important;
    border-bottom: 1px solid var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
}

.dark-theme .card-title,
.dark-theme .card .title {
    color: var(--dark-text-primary) !important;
}

.dark-theme .card-category,
.dark-theme .card .category {
    color: var(--dark-text-secondary) !important;
}

.dark-theme .card-body,
.dark-theme .card .content {
    background-color: var(--dark-bg-secondary) !important;
}

/* ===== INFO TILES (Dashboard) ===== */
.dark-theme .info-tiles {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
}

.dark-theme .info-tiles .tiles-heading {
    background-color: rgba(0, 0, 0, 0.2) !important;
    color: var(--dark-text-primary) !important;
}

.dark-theme .info-tiles .tiles-body {
    background-color: transparent !important;
}

.dark-theme .info-tiles .tiles-footer {
    background-color: rgba(0, 0, 0, 0.15) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
}

/* ===== TABLAS ===== */
/* Contenedor de tablas */
.dark-theme .table-responsive {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
    border-radius: 4px !important;
}

.dark-theme table,
.dark-theme .table,
.dark-theme .data-table-staff {
    background-color: var(--dark-bg-secondary) !important;
    color: var(--dark-text-primary) !important;
    margin-bottom: 0 !important;
}

.dark-theme .table thead th,
.dark-theme table thead th,
.dark-theme .data-table-staff thead th {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
    border-color: var(--dark-border) !important;
}

.dark-theme .table tbody tr,
.dark-theme table tbody tr,
.dark-theme .data-table-staff tbody tr {
    background-color: transparent !important;
    border-color: var(--dark-border) !important;
}

.dark-theme .table tbody tr:hover,
.dark-theme table tbody tr:hover,
.dark-theme .data-table-staff tbody tr:hover {
    background-color: var(--dark-hover) !important;
}

.dark-theme .table td,
.dark-theme table td,
.dark-theme .table th,
.dark-theme table th,
.dark-theme .data-table-staff td,
.dark-theme .data-table-staff th {
    color: var(--dark-text-primary) !important;
    border-color: var(--dark-border) !important;
}

/* Badges y labels dentro de tablas oscuras */
.dark-theme .table .badge,
.dark-theme table .badge,
.dark-theme .data-table-staff .badge {
    background: rgba(252, 163, 17, 0.12) !important;
    color: #fca311 !important;
    border: 1px solid rgba(252, 163, 17, 0.35);
}

.dark-theme .table .label,
.dark-theme table .label,
.dark-theme .data-table-staff .label,
[data-theme="dark"] .table .label,
[data-theme="dark"] table .label,
[data-theme="dark"] .data-table-staff .label {
    color: #ffffff !important;
}

.dark-theme .table .label-success,
.dark-theme table .label-success,
.dark-theme .data-table-staff .label-success,
[data-theme="dark"] .table .label-success,
[data-theme="dark"] table .label-success,
[data-theme="dark"] .data-table-staff .label-success {
    background-color: #27ae60 !important;
}

/* DataTables */
.dark-theme .dataTables_wrapper,
[data-theme="dark"] .dataTables_wrapper {
    color: var(--dark-text-primary) !important;
}

.dark-theme .dataTables_filter input,
.dark-theme .dataTables_length select,
[data-theme="dark"] .dataTables_filter input,
[data-theme="dark"] .dataTables_length select {
    background-color: var(--dark-bg-secondary) !important;
    color: var(--dark-text-primary) !important;
    border: 1px solid var(--dark-border) !important;
}

.dark-theme .dataTables_wrapper .dataTables_filter input:focus,
.dark-theme .dataTables_wrapper .dataTables_filter input:active,
[data-theme="dark"] .dataTables_wrapper .dataTables_filter input:focus,
[data-theme="dark"] .dataTables_wrapper .dataTables_filter input:active {
    background-color: var(--dark-bg-secondary) !important;
    color: var(--dark-text-primary) !important;
    border-color: var(--dark-accent) !important;
    box-shadow: 0 0 0 3px rgba(252, 163, 17, 0.10) !important;
    outline: none !important;
}

.dark-theme .dataTables_wrapper .pagination .page-link,
[data-theme="dark"] .dataTables_wrapper .pagination .page-link {
    background-color: var(--dark-bg-tertiary) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
}

.dark-theme .dataTables_wrapper .pagination .page-item.active .page-link,
[data-theme="dark"] .dataTables_wrapper .pagination .page-item.active .page-link {
    background-color: var(--dark-accent) !important;
    border-color: var(--dark-accent) !important;
    color: #000000 !important;
}

.dark-theme .dataTables_info,
.dark-theme .dataTables_paginate,
[data-theme="dark"] .dataTables_info,
[data-theme="dark"] .dataTables_paginate {
    color: var(--dark-text-muted) !important;
}

.dark-theme .paginate_button,
[data-theme="dark"] .paginate_button {
    background: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
    border: 1px solid var(--dark-border) !important;
}

.dark-theme .paginate_button:hover,
[data-theme="dark"] .paginate_button:hover {
    background: var(--dark-bg-hover) !important;
    color: #ffffff !important;
}

.dark-theme .paginate_button.current,
[data-theme="dark"] .paginate_button.current {
    background: var(--dark-accent) !important;
    color: #000000 !important;
    border-color: var(--dark-accent) !important;
}

/* ===== FORMULARIOS ===== */
html.dark-theme input,
html.dark-theme textarea,
html.dark-theme select,
html.dark-theme .form-control,
.dark-theme input,
.dark-theme textarea,
.dark-theme select,
.dark-theme .form-control,
[data-theme="dark"] input,
[data-theme="dark"] textarea,
[data-theme="dark"] select,
[data-theme="dark"] .form-control {
    background-color: var(--dark-bg-secondary) !important;
    color: var(--dark-text-primary) !important;
    border: 1px solid var(--dark-border-light) !important;
    -webkit-text-fill-color: var(--dark-text-primary) !important;
}

html.dark-theme input:focus,
html.dark-theme textarea:focus,
html.dark-theme select:focus,
html.dark-theme .form-control:focus,
.dark-theme input:focus,
.dark-theme textarea:focus,
.dark-theme select:focus,
.dark-theme .form-control:focus,
[data-theme="dark"] input:focus,
[data-theme="dark"] textarea:focus,
[data-theme="dark"] select:focus,
[data-theme="dark"] .form-control:focus {
    background-color: var(--dark-bg-secondary) !important;
    border-color: var(--dark-accent) !important;
    color: var(--dark-text-primary) !important;
    -webkit-text-fill-color: var(--dark-text-primary) !important;
    box-shadow: 0 0 0 3px rgba(252, 163, 17, 0.10) !important;
}

html.dark-theme input::placeholder,
html.dark-theme textarea::placeholder,
html.dark-theme .form-control::placeholder,
[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder,
[data-theme="dark"] .form-control::placeholder {
    color: var(--dark-text-muted) !important;
    -webkit-text-fill-color: var(--dark-text-muted) !important;
    opacity: 1 !important;
}

html.dark-theme input:-webkit-autofill,
html.dark-theme input:-webkit-autofill:hover,
html.dark-theme input:-webkit-autofill:focus,
html.dark-theme textarea:-webkit-autofill,
[data-theme="dark"] input:-webkit-autofill,
[data-theme="dark"] input:-webkit-autofill:hover,
[data-theme="dark"] input:-webkit-autofill:focus,
[data-theme="dark"] textarea:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px var(--dark-bg-secondary) inset !important;
    -webkit-text-fill-color: var(--dark-text-primary) !important;
    box-shadow: 0 0 0 1000px var(--dark-bg-secondary) inset !important;
    caret-color: var(--dark-text-primary) !important;
}

.dark-theme label,
.dark-theme .form-group label,
[data-theme="dark"] label,
[data-theme="dark"] .form-group label {
    color: var(--dark-text-primary) !important;
}

.dark-theme ::placeholder,
[data-theme="dark"] ::placeholder {
    color: var(--dark-text-dim) !important;
}

/* ===== BOTONES ===== */
.dark-theme .btn-default,
[data-theme="dark"] .btn-default {
    background: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-secondary) !important;
    border: 1px solid var(--dark-border-light) !important;
}

.dark-theme .btn-default:hover,
[data-theme="dark"] .btn-default:hover {
    background: var(--dark-bg-hover) !important;
    color: #ffffff !important;
}

.dark-theme .btn-link,
[data-theme="dark"] .btn-link {
    color: var(--dark-text-primary) !important;
}

.dark-theme .btn-link:hover,
[data-theme="dark"] .btn-link:hover {
    color: var(--dark-accent) !important;
}

/* ===== MODALES ===== */
.dark-theme .modal-content,
[data-theme="dark"] .modal-content {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
}

.dark-theme .modal-header,
[data-theme="dark"] .modal-header {
    background-color: var(--dark-bg-tertiary) !important;
    border-bottom: 1px solid var(--dark-border) !important;
}

.dark-theme .modal-title,
[data-theme="dark"] .modal-title {
    color: var(--dark-text-primary) !important;
}

.dark-theme .modal-body,
[data-theme="dark"] .modal-body {
    color: var(--dark-text-primary) !important;
}

.dark-theme .modal-footer,
[data-theme="dark"] .modal-footer {
    background-color: var(--dark-bg-tertiary) !important;
    border-top: 1px solid var(--dark-border) !important;
}

.dark-theme .close,
[data-theme="dark"] .close {
    color: var(--dark-text-primary) !important;
    opacity: 0.8 !important;
}

/* ===== ALERTAS ===== */
.dark-theme .alert,
[data-theme="dark"] .alert {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
}

html.dark-theme .alert-success,
[data-theme="dark"] .alert-success {
    background-color: #1a3d2a !important;
    border-color: #2a6a3e !important;
    color: #b8e0c8 !important;
}

html.dark-theme .alert-success h1,
html.dark-theme .alert-success h2,
html.dark-theme .alert-success h3,
html.dark-theme .alert-success h4,
html.dark-theme .alert-success h5,
html.dark-theme .alert-success h6,
html.dark-theme .alert-success p,
html.dark-theme .alert-success li,
html.dark-theme .alert-success strong,
[data-theme="dark"] .alert-success h1,
[data-theme="dark"] .alert-success h2,
[data-theme="dark"] .alert-success h3,
[data-theme="dark"] .alert-success h4,
[data-theme="dark"] .alert-success h5,
[data-theme="dark"] .alert-success h6,
[data-theme="dark"] .alert-success p,
[data-theme="dark"] .alert-success li,
[data-theme="dark"] .alert-success strong {
    color: #c8efd4 !important;
}

html.dark-theme .alert-info,
[data-theme="dark"] .alert-info {
    background-color: #1a2f3d !important;
    border-color: #2a4a6a !important;
    color: #b8d4e8 !important;
}

html.dark-theme .alert-info h1,
html.dark-theme .alert-info h2,
html.dark-theme .alert-info h3,
html.dark-theme .alert-info h4,
html.dark-theme .alert-info h5,
html.dark-theme .alert-info h6,
html.dark-theme .alert-info p,
html.dark-theme .alert-info li,
html.dark-theme .alert-info strong,
[data-theme="dark"] .alert-info h1,
[data-theme="dark"] .alert-info h2,
[data-theme="dark"] .alert-info h3,
[data-theme="dark"] .alert-info h4,
[data-theme="dark"] .alert-info h5,
[data-theme="dark"] .alert-info h6,
[data-theme="dark"] .alert-info p,
[data-theme="dark"] .alert-info li,
[data-theme="dark"] .alert-info strong {
    color: #c8e4f5 !important;
}

html.dark-theme .alert-warning,
[data-theme="dark"] .alert-warning {
    background-color: #3d341a !important;
    border-color: #6a5a2a !important;
    color: #e8ddb8 !important;
}

html.dark-theme .alert-danger,
[data-theme="dark"] .alert-danger {
    background-color: #3d1a1a !important;
    border-color: #6a2a2a !important;
    color: #e8b8b8 !important;
}

/* ===== DROPDOWN ===== */
.dark-theme .dropdown-menu,
[data-theme="dark"] .dropdown-menu {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
}

.dark-theme .dropdown-item,
.dark-theme .dropdown-menu > li > a,
[data-theme="dark"] .dropdown-item,
[data-theme="dark"] .dropdown-menu > li > a {
    color: var(--dark-text-primary) !important;
}

.dark-theme .dropdown-item:hover,
.dark-theme .dropdown-menu > li > a:hover,
[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-menu > li > a:hover {
    background-color: var(--dark-bg-hover) !important;
    color: #ffffff !important;
}

/* ===== FOOTER ===== */
.dark-theme .footer,
[data-theme="dark"] .footer {
    background-color: var(--dark-bg-secondary) !important;
    border-top: 1px solid var(--dark-border) !important;
}

.dark-theme .footer p,
[data-theme="dark"] .footer p {
    color: var(--dark-text-secondary) !important;
}

/* ===== TABS ===== */
.dark-theme .nav-tabs,
[data-theme="dark"] .nav-tabs {
    border-bottom: 1px solid var(--dark-border) !important;
}

.dark-theme .nav-tabs > li > a,
[data-theme="dark"] .nav-tabs > li > a {
    color: var(--dark-text-primary) !important;
    background-color: var(--dark-bg-secondary) !important;
}

.dark-theme .nav-tabs > li.active > a,
[data-theme="dark"] .nav-tabs > li.active > a {
    background-color: var(--dark-bg-tertiary) !important;
    border: 1px solid var(--dark-border) !important;
    border-bottom-color: transparent !important;
    color: #ffffff !important;
}

.dark-theme .tab-content,
[data-theme="dark"] .tab-content {
    background-color: var(--dark-bg-secondary) !important;
    border: 1px solid var(--dark-border) !important;
    border-top: none !important;
}

/* ===== SCROLLBAR ===== */
.dark-theme ::-webkit-scrollbar,
[data-theme="dark"] ::-webkit-scrollbar {
    width: 10px;
    height: 10px;
    background: var(--dark-bg-primary);
}

.dark-theme ::-webkit-scrollbar-track,
[data-theme="dark"] ::-webkit-scrollbar-track {
    background: var(--dark-bg-secondary);
}

.dark-theme ::-webkit-scrollbar-thumb,
[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: var(--dark-bg-tertiary);
    border-radius: 5px;
}

.dark-theme ::-webkit-scrollbar-thumb:hover,
[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
    background: var(--dark-border);
}

/* ===== TOOLTIPS ===== */
.dark-theme .tooltip-inner,
[data-theme="dark"] .tooltip-inner {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
}

/* ===== ELEMENTOS ADICIONALES ===== */
.dark-theme h1, .dark-theme h2, .dark-theme h3,
.dark-theme h4, .dark-theme h5, .dark-theme h6,
[data-theme="dark"] h1, [data-theme="dark"] h2, [data-theme="dark"] h3,
[data-theme="dark"] h4, [data-theme="dark"] h5, [data-theme="dark"] h6 {
    color: var(--dark-text-primary) !important;
}

.dark-theme p,
[data-theme="dark"] p {
    color: var(--dark-text-primary) !important;
}

.dark-theme strong, .dark-theme b,
[data-theme="dark"] strong, [data-theme="dark"] b {
    color: var(--dark-text-primary) !important;
}

.dark-theme hr,
[data-theme="dark"] hr {
    border-color: var(--dark-border) !important;
}

.dark-theme pre,
[data-theme="dark"] pre {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
    border: 1px solid var(--dark-border) !important;
}

.dark-theme code,
[data-theme="dark"] code {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
}

/* ===== RESPONSIVE - MÓVIL (UNIFICADO CON ESCRITORIO) ===== */
@media (max-width: 991px) {
    /* Sidebar móvil con mismo estilo que escritorio */
    .dark-theme .sidebar.nav-open,
    .dark-theme .wrapper.nav-open .sidebar {
        background: linear-gradient(135deg, var(--dark-bg-secondary) 0%, var(--dark-bg-primary) 100%) !important;
        box-shadow: 2px 0 15px rgba(0, 0, 0, 0.3) !important;
    }
    
    /* Enlaces del sidebar móvil - MISMO ESTILO QUE ESCRITORIO */
    .dark-theme .sidebar .nav li > a {
        color: var(--dark-text-primary) !important;
        opacity: 1 !important;
        background: transparent !important;
        border-radius: 12px !important;
        margin: 8px 15px !important;
        padding: 12px 15px !important;
        border-left: 4px solid transparent !important;
    }
    
    .dark-theme .sidebar .nav li > a:hover {
        background-color: var(--dark-bg-tertiary) !important;
        color: #ffffff !important;
        transform: translateX(5px) !important;
        border-left-color: rgba(255, 255, 255, 0.8) !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
    }
    
    .dark-theme .sidebar .nav li.active > a {
        background-color: var(--dark-bg-tertiary) !important;
        color: #ffffff !important;
        border-left-color: #ffffff !important;
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2) !important;
    }
    
    /* Iconos y texto en móvil */
    .dark-theme .sidebar .nav li > a i {
        filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2)) !important;
        transition: transform 0.3s ease !important;
    }
    
    .dark-theme .sidebar .nav li > a:hover i {
        transform: scale(1.1) !important;
    }
    
    .dark-theme .sidebar .nav p {
        font-weight: 500 !important;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
    }
    
    /* Flecha collapse en móvil */
    .dark-theme .sidebar .nav [data-toggle="collapse"]:after {
        content: "" !important;
        border-style: solid !important;
        border-width: 0 3px 3px 0 !important;
        border-color: rgba(255, 255, 255, 0.9) !important;
        display: inline-block !important;
        padding: 5px !important;
        transform: rotate(45deg) !important;
        transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55) !important;
        position: absolute !important;
        right: 25px !important;
        top: 50% !important;
        margin-top: -8px !important;
        box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3) !important;
    }
    
    .dark-theme .sidebar .nav li.active > a[data-toggle="collapse"]:after,
    .dark-theme .sidebar .nav [data-toggle="collapse"][aria-expanded="true"]:after {
        transform: rotate(-135deg) !important;
        border-color: #fff !important;
        box-shadow: -1px -1px 3px rgba(0, 0, 0, 0.3) !important;
    }
    
    /* Ocultar caret original */
    .dark-theme .sidebar .nav .caret {
        display: none !important;
    }
    
    /* Submenús en móvil */
    .dark-theme .sidebar .nav .collapse,
    .dark-theme .sidebar .nav .collapsing {
        background: rgba(0, 0, 0, 0.25) !important;
        border-radius: 12px !important;
        margin: 8px 12px !important;
        box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.3) !important;
        border-left: 3px solid rgba(255, 255, 255, 0.3) !important;
        backdrop-filter: blur(5px) !important;
    }
    
    .dark-theme .sidebar .nav .collapse li > a,
    .dark-theme .sidebar .nav .collapsing li > a {
        padding: 12px 20px 12px 55px !important;
        background: transparent !important;
        margin: 2px 0 !important;
        border-radius: 8px !important;
        position: relative !important;
        border-left: none !important;
    }
    
    .dark-theme .sidebar .nav .collapse li > a:before,
    .dark-theme .sidebar .nav .collapsing li > a:before {
        content: "•" !important;
        position: absolute !important;
        left: 35px !important;
        color: rgba(255, 255, 255, 0.6) !important;
        font-size: 24px !important;
        line-height: 1 !important;
    }
    
    .dark-theme .sidebar .nav .collapse li > a:hover,
    .dark-theme .sidebar .nav .collapsing li > a:hover {
        background: rgba(255, 255, 255, 0.15) !important;
        padding-left: 60px !important;
    }
    
    .dark-theme .sidebar .nav .collapse li > a:hover:before,
    .dark-theme .sidebar .nav .collapsing li > a:hover:before {
        color: #fff !important;
    }
    
    /* Logo en móvil */
    .dark-theme .sidebar .logo {
        background: rgba(0, 0, 0, 0.3) !important;
        backdrop-filter: blur(10px) !important;
    }
    
    /* Overlay oscuro */
    .dark-theme .overlay {
        background: rgba(0, 0, 0, 0.85) !important;
        backdrop-filter: blur(5px) !important;
    }
    
    /* Scrollbar del sidebar en móvil */
    .dark-theme .sidebar::-webkit-scrollbar {
        width: 8px;
    }
    
    .dark-theme .sidebar::-webkit-scrollbar-track {
        background: rgba(0,0,0,0.3);
    }
    
    .dark-theme .sidebar::-webkit-scrollbar-thumb {
        background: rgba(255,255,255,0.2);
        border-radius: 10px;
    }
    
    .dark-theme .sidebar::-webkit-scrollbar-thumb:hover {
        background: rgba(255,255,255,0.3);
    }
}

/* Tarjetas responsive en móvil */
@media (max-width: 767px) {
    .dark-theme .row > [class*="col-"] {
        margin-bottom: 15px;
    }
}

/* ===== ANIMACIONES ===== */
/* Desactivar transiciones al cargar para evitar parpadeo */
.dark-theme * {
    transition: none !important;
}

/* Solo activar transiciones en hover para botones y enlaces */
.dark-theme a,
.dark-theme button,
.dark-theme .btn {
    transition: opacity 0.2s ease, transform 0.1s ease !important;
}

/* Aplicar tema oscuro cuando html o body tiene la clase dark-theme */
html.dark-theme,
body.dark-theme {
    background-color: var(--dark-bg-primary) !important;
    color: var(--dark-text-primary);
}

/* Asegurar que el fondo se mantenga durante la carga */
html.dark-theme body,
html.dark-theme .wrapper,
html.dark-theme .main-panel {
    background-color: var(--dark-bg-primary) !important;
}

/* Navbar - Forzar fondo oscuro inmediatamente */
body.dark-theme .navbar-default {
    background-color: var(--dark-bg-secondary) !important;
    border-color: var(--dark-border) !important;
}

body.dark-theme .navbar-default .navbar-brand,
body.dark-theme .navbar-default .navbar-nav > li > a {
    color: var(--dark-text-primary) !important;
}

body.dark-theme .navbar-default .navbar-nav > li > a:hover {
    background-color: var(--dark-hover) !important;
}

body.dark-theme .navbar-toggle {
    background-color: var(--dark-bg-tertiary) !important;
    border-color: var(--dark-border) !important;
}

body.dark-theme .navbar-toggle .icon-bar {
    background-color: var(--dark-text-primary) !important;
}

/* Navbar fixed - Prevenir parpadeo blanco */
body.dark-theme .navbar-fixed,
body.dark-theme nav.navbar {
    background-color: var(--dark-bg-secondary) !important;
    border-color: var(--dark-border) !important;
}

body.dark-theme .navbar-header {
    background-color: transparent !important;
}

body.dark-theme .navbar-collapse {
    background-color: transparent !important;
    border-color: var(--dark-border) !important;
}

body.dark-theme .container-fluid {
    background-color: transparent !important;
}

/* Overlay móvil oscuro */
body.dark-theme .overlay {
    background: rgba(0, 0, 0, 0.85) !important;
}

body.dark-theme .overlay.in {
    background: rgba(0, 0, 0, 0.85) !important;
    backdrop-filter: blur(5px) !important;
}

/* Sidebar - GRIS OSCURO UNIFICADO ESCRITORIO Y MÓVIL */
body.dark-theme .sidebar {
    background: linear-gradient(135deg, var(--dark-bg-secondary) 0%, var(--dark-bg-primary) 100%) !important;
    background-image: linear-gradient(135deg, var(--dark-bg-secondary) 0%, var(--dark-bg-primary) 100%) !important;
}

/* Sidebar móvil - Forzar estilos oscuros */
@media (max-width: 991px) {
    body.dark-theme .wrapper.nav-open .sidebar,
    body.dark-theme .sidebar.nav-open {
        background: linear-gradient(135deg, var(--dark-bg-secondary) 0%, var(--dark-bg-primary) 100%) !important;
        box-shadow: 0 0 40px rgba(0, 0, 0, 0.8) !important;
    }
    
    body.dark-theme .sidebar .nav li > a {
        background: rgba(255, 255, 255, 0.03) !important;
        border-left: 4px solid transparent !important;
    }
    
    body.dark-theme .sidebar .nav li > a:hover {
        background: rgba(255, 255, 255, 0.08) !important;
        border-left-color: rgba(255, 255, 255, 0.3) !important;
    }
    
    body.dark-theme .sidebar .nav li.active > a {
        background: rgba(255, 255, 255, 0.12) !important;
        border-left-color: #ffffff !important;
    }
    
    body.dark-theme .sidebar .nav .collapse,
    body.dark-theme .sidebar .nav .collapsing {
        background: rgba(0, 0, 0, 0.3) !important;
        border-left: 3px solid rgba(255, 255, 255, 0.2) !important;
    }
    
    body.dark-theme .sidebar .logo {
        background: rgba(0, 0, 0, 0.3) !important;
        backdrop-filter: blur(10px) !important;
    }
}

body.dark-theme .sidebar[data-image]:after,
body.dark-theme .sidebar[data-color]:after {
    background: linear-gradient(135deg, rgba(19, 21, 26, 0.95) 0%, rgba(13, 15, 18, 0.95) 100%) !important;
}

body.dark-theme .sidebar .logo {
    background-color: rgba(0, 0, 0, 0.2);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

body.dark-theme .sidebar .logo .simple-text {
    color: #e0e0e0;
}

body.dark-theme .sidebar .nav li > a {
    color: #c0c0c0 !important;
    opacity: 0.9;
}

body.dark-theme .sidebar .nav li > a:hover {
    background-color: var(--dark-sidebar-hover) !important;
    color: #ffffff !important;
    opacity: 1;
}

body.dark-theme .sidebar .nav li.active > a,
body.dark-theme .sidebar .nav li.active > a:hover {
    background-color: var(--dark-sidebar-active) !important;
    color: #ffffff !important;
    opacity: 1;
    box-shadow: 0 2px 8px rgba(80, 80, 80, 0.4);
}

body.dark-theme .sidebar .nav p {
    color: #c0c0c0;
}

body.dark-theme .sidebar .nav i {
    color: #a0a0a0;
}

body.dark-theme .sidebar .nav li.active > a i,
body.dark-theme .sidebar .nav li > a:hover i {
    color: #ffffff;
}

/* Flechas del collapse en sidebar */
body.dark-theme .sidebar .nav a[data-toggle="collapse"]::after {
    color: #a0a0a0;
    border-color: #a0a0a0 !important;
}

body.dark-theme .sidebar .nav li.active > a[data-toggle="collapse"]::after,
body.dark-theme .sidebar .nav a[data-toggle="collapse"]:hover::after {
    color: #ffffff;
    border-color: #ffffff !important;
}

/* Submenús del sidebar */
body.dark-theme .sidebar .nav .collapse li > a {
    background-color: rgba(0, 0, 0, 0.2);
    color: #b0b0b0 !important;
}

body.dark-theme .sidebar .nav .collapse li > a:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: #ffffff !important;
}

/* Cards - Fondo unificado */
body.dark-theme .card {
    background-color: var(--dark-card) !important;
    border: 1px solid var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
}

/* Dashboard cards con gradientes */
body.dark-theme .dashboard-card {
    background-color: var(--dark-card) !important;
    border: 1px solid var(--dark-border) !important;
}

body.dark-theme .dashboard-card::before {
    opacity: 0.8;
}

body.dark-theme .dashboard-card .card-title {
    color: var(--dark-text-secondary) !important;
}

body.dark-theme .dashboard-card .card-label {
    color: var(--dark-text-secondary) !important;
}

/* Wrapper y contenedores principales */
body.dark-theme .wrapper {
    background-color: var(--dark-bg-primary) !important;
}

body.dark-theme .main-panel {
    background-color: var(--dark-bg-primary) !important;
}

body.dark-theme .content {
    background-color: var(--dark-bg-primary) !important;
}

body.dark-theme .card .header {
    background-color: var(--dark-bg-tertiary);
}

body.dark-theme .card .title {
    color: var(--dark-text-primary);
}

body.dark-theme .card .category {
    color: var(--dark-text-secondary);
}

body.dark-theme .card .content {
    background-color: var(--dark-card);
}

/* Main Panel */
body.dark-theme .main-panel {
    background-color: var(--dark-bg-primary);
}

body.dark-theme .main-panel > .content {
    background-color: var(--dark-bg-primary);
}

/* Tables */
body.dark-theme .table {
    background-color: var(--dark-card);
    color: var(--dark-text-primary);
}

body.dark-theme .table > thead > tr > th,
body.dark-theme .table > tbody > tr > th,
body.dark-theme .table > tfoot > tr > th,
body.dark-theme .table > thead > tr > td,
body.dark-theme .table > tbody > tr > td,
body.dark-theme .table > tfoot > tr > td {
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .table > thead > tr > th {
    background-color: var(--dark-bg-tertiary);
}

body.dark-theme .table-hover > tbody > tr:hover {
    background-color: var(--dark-hover);
}

body.dark-theme .table-striped > tbody > tr:nth-of-type(odd) {
    background-color: var(--dark-bg-tertiary);
}

/* Forms */
body.dark-theme .form-control {
    background-color: var(--dark-bg-tertiary);
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .form-control:focus {
    background-color: var(--dark-bg-secondary);
    border-color: #606060;
    color: var(--dark-text-primary);
    box-shadow: none;
}

body.dark-theme select.form-control {
    background-color: var(--dark-bg-tertiary);
    color: var(--dark-text-primary);
}

body.dark-theme textarea.form-control {
    background-color: var(--dark-bg-tertiary);
    color: var(--dark-text-primary);
}

body.dark-theme .form-control::placeholder {
    color: var(--dark-text-secondary);
}

body.dark-theme .form-group label {
    color: var(--dark-text-primary);
}

/* Buttons */
body.dark-theme .btn-default {
    background-color: var(--dark-bg-tertiary);
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .btn-default:hover,
body.dark-theme .btn-default:focus {
    background-color: var(--dark-hover);
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .btn-primary {
    background-color: var(--dark-accent);
    border-color: var(--dark-accent);
    color: #000000;
}

body.dark-theme .btn-primary:hover,
body.dark-theme .btn-primary:focus {
    background-color: var(--dark-accent-hover);
    border-color: var(--dark-accent-hover);
    color: #000000;
}

/* Modal - FORZAR tema oscuro con !important para sobreescribir Bootstrap */
body.dark-theme .modal-content,
html.dark-theme .modal-content {
    background-color: var(--dark-card) !important;
    color: var(--dark-text-primary) !important;
    border-color: var(--dark-border) !important;
}

body.dark-theme .modal-header,
html.dark-theme .modal-header {
    background-color: var(--dark-card) !important;
    border-bottom-color: var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .modal-footer,
html.dark-theme .modal-footer {
    background-color: var(--dark-card) !important;
    border-top-color: var(--dark-border) !important;
}

body.dark-theme .modal-title,
html.dark-theme .modal-title {
    color: var(--dark-text-primary) !important;
}

body.dark-theme .close,
html.dark-theme .close {
    color: var(--dark-text-primary) !important;
    opacity: 0.8;
}

body.dark-theme .close:hover,
html.dark-theme .close:hover {
    color: var(--dark-text-primary) !important;
    opacity: 1;
}

/* Modal body y elementos internos */
body.dark-theme .modal-body,
html.dark-theme .modal-body {
    background-color: var(--dark-card) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .modal-body .card,
html.dark-theme .modal-body .card {
    background-color: var(--dark-bg-secondary) !important;
    border-color: var(--dark-border) !important;
}

body.dark-theme .modal-body .card .content,
html.dark-theme .modal-body .card .content {
    background-color: var(--dark-bg-secondary) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .modal-body h5,
body.dark-theme .modal-body h4,
body.dark-theme .modal-body p,
body.dark-theme .modal-body label,
body.dark-theme .modal-body strong,
html.dark-theme .modal-body h5,
html.dark-theme .modal-body h4,
html.dark-theme .modal-body p,
html.dark-theme .modal-body label,
html.dark-theme .modal-body strong {
    color: var(--dark-text-primary) !important;
}

body.dark-theme .modal-body .text-muted,
html.dark-theme .modal-body .text-muted {
    color: var(--dark-text-secondary) !important;
}

body.dark-theme .modal-body hr,
html.dark-theme .modal-body hr {
    border-top-color: var(--dark-border) !important;
}

/* Dropdown */
body.dark-theme .dropdown-menu {
    background-color: var(--dark-bg-secondary);
    border-color: var(--dark-border);
}

body.dark-theme .dropdown-menu > li > a {
    color: var(--dark-text-primary);
}

body.dark-theme .dropdown-menu > li > a:hover,
body.dark-theme .dropdown-menu > li > a:focus {
    background-color: var(--dark-hover);
    color: #fff;
}

body.dark-theme .dropdown-menu .divider {
    background-color: var(--dark-border);
}

/* Pagination */
body.dark-theme .pagination > li > a,
body.dark-theme .pagination > li > span {
    background-color: var(--dark-bg-tertiary);
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .pagination > li > a:hover,
body.dark-theme .pagination > .active > a,
body.dark-theme .pagination > .active > span {
    background-color: var(--dark-hover);
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
}

/* DataTables */
body.dark-theme .dataTables_wrapper .dataTables_length,
body.dark-theme .dataTables_wrapper .dataTables_filter,
body.dark-theme .dataTables_wrapper .dataTables_info,
body.dark-theme .dataTables_wrapper .dataTables_paginate {
    color: var(--dark-text-primary);
}

body.dark-theme .dataTables_wrapper .dataTables_filter input {
    background-color: var(--dark-bg-tertiary);
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .dataTables_wrapper .dataTables_filter input:focus,
body.dark-theme .dataTables_wrapper .dataTables_filter input:active {
    background-color: var(--dark-bg-tertiary) !important;
    border-color: var(--dark-accent) !important;
    color: var(--dark-text-primary) !important;
    box-shadow: 0 0 0 3px rgba(252, 163, 17, 0.10) !important;
    outline: none !important;
}

body.dark-theme .dataTables_wrapper .pagination .page-link {
    background-color: var(--dark-bg-tertiary) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .dataTables_wrapper .pagination .page-item.active .page-link {
    background-color: #14213d !important;
    border-color: #fca311 !important;
    color: #fca311 !important;
}

body.dark-theme .dataTables_wrapper .dataTables_length select {
    background-color: var(--dark-bg-tertiary);
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .dataTables_wrapper .dataTables_paginate .paginate_button {
    color: #e0e0e0 !important;
    background: transparent !important;
    border: none !important;
    padding: 8px 12px !important;
    margin: 0 !important;
    border-radius: 4px !important;
    transition: all 0.2s ease !important;
}

body.dark-theme .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: rgba(252, 163, 17, 0.07) !important;
    color: #fca311 !important;
    cursor: pointer !important;
}

body.dark-theme .dataTables_wrapper .dataTables_paginate .paginate_button.current,
body.dark-theme .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: #14213d !important;
    color: #fca311 !important;
    border: 1px solid rgba(252, 163, 17, 0.45) !important;
    font-weight: 600 !important;
}

body.dark-theme .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
body.dark-theme .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
    background: transparent !important;
    color: #555555 !important;
    cursor: not-allowed !important;
}

/* Tarjetas Info Tiles - Dashboard */
body.dark-theme .info-tiles {
    background: var(--dark-card);
    border: 1px solid var(--dark-border);
}

body.dark-theme .info-tiles .tiles-heading {
    background-color: rgba(0, 0, 0, 0.2);
    color: var(--dark-text-primary);
}

body.dark-theme .info-tiles .tiles-body {
    background-color: transparent !important;
    color: var(--dark-text-primary);
}

body.dark-theme .info-tiles .tiles-footer {
    background-color: rgba(0, 0, 0, 0.15);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

/* Footer */
body.dark-theme footer {
    background-color: var(--dark-bg-primary) !important;
    border-top: 1px solid var(--dark-border);
}

body.dark-theme footer p {
    color: var(--dark-text-secondary) !important;
}

body.dark-theme footer nav ul li a {
    color: var(--dark-text-primary);
}

/* Main content - eliminar espacio feo antes del footer */
body.dark-theme .main-panel > .content {
    background-color: var(--dark-bg-primary);
    min-height: calc(100vh - 123px);
    padding-bottom: 20px;
}

/* Alerts */
body.dark-theme .alert {
    border-color: var(--dark-border);
}

body.dark-theme .alert-info {
    background-color: var(--dark-bg-secondary);
    border-color: var(--dark-border);
    color: var(--dark-text-secondary);
}

body.dark-theme .alert-success {
    background-color: #1e4d2b;
    border-color: #2a6a3e;
    color: #a8d5b8;
}

body.dark-theme .alert-warning {
    background-color: #5d4e1f;
    border-color: #7d6a2a;
    color: #e0d5a8;
}

body.dark-theme .alert-danger {
    background-color: #5d1f1f;
    border-color: #7d2a2a;
    color: #e0a8a8;
}

/* Panel */
body.dark-theme .panel {
    background-color: var(--dark-card);
    border-color: var(--dark-border);
}

body.dark-theme .panel-default > .panel-heading {
    background-color: var(--dark-bg-tertiary);
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .panel-body {
    background-color: var(--dark-card);
}

/* Labels y Badges */
body.dark-theme .label-default {
    background-color: var(--dark-bg-tertiary);
}

body.dark-theme .badge {
    background-color: var(--dark-bg-tertiary);
}

/* Nav Tabs */
body.dark-theme .nav-tabs {
    border-bottom-color: var(--dark-border);
}

body.dark-theme .nav-tabs > li > a {
    color: var(--dark-text-primary);
}

body.dark-theme .nav-tabs > li > a:hover {
    background-color: var(--dark-hover);
    border-color: var(--dark-border);
}

body.dark-theme .nav-tabs > li.active > a,
body.dark-theme .nav-tabs > li.active > a:hover,
body.dark-theme .nav-tabs > li.active > a:focus {
    background-color: var(--dark-card);
    border-color: var(--dark-border);
    border-bottom-color: transparent;
    color: var(--dark-text-primary);
}

body.dark-theme .tab-content {
    background-color: var(--dark-card);
    border: 1px solid var(--dark-border);
    border-top: none;
}

/* Well */
body.dark-theme .well {
    background-color: var(--dark-bg-tertiary);
    border-color: var(--dark-border);
}

/* Collapse */
body.dark-theme .panel-collapse {
    background-color: var(--dark-card);
}

body.dark-theme .collapse.in {
    background-color: var(--dark-bg-tertiary);
}

/* Breadcrumb */
body.dark-theme .breadcrumb {
    background-color: var(--dark-bg-tertiary);
}

body.dark-theme .breadcrumb > li + li:before {
    color: var(--dark-text-secondary);
}

/* Scrollbar personalizada para el modo oscuro */
body.dark-theme::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

body.dark-theme::-webkit-scrollbar-track {
    background: var(--dark-bg-secondary);
}

body.dark-theme::-webkit-scrollbar-thumb {
    background: var(--dark-border);
    border-radius: 6px;
}

body.dark-theme::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* Botón de cambio de tema */
.theme-toggle a {
    cursor: pointer;
    transition: transform 0.3s ease;
}

.theme-toggle a:hover {
    transform: scale(1.1);
}

.theme-toggle a:hover i {
    color: #fca311;
}

/* Transición suave SOLO al cambiar de tema manualmente, NO al cargar página */
.navbar-default, 
.sidebar, 
.card, 
.table, 
.form-control, 
.modal-content,
.btn,
.panel,
.dropdown-menu {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* Sin transición para html, body y main-panel para evitar parpadeos */
html,
body,
.main-panel,
.wrapper {
    transition: none !important;
}

/* Links */
body.dark-theme a {
    color: #b0b0b0;
}

body.dark-theme a:hover {
    color: #d0d0d0;
}

/* Hr */
body.dark-theme hr {
    border-top-color: var(--dark-border);
}

/* Text muted */
body.dark-theme .text-muted {
    color: var(--dark-text-secondary) !important;
}

/* Ajustes específicos para iconos */
body.dark-theme .sidebar .nav li i {
    color: var(--dark-text-primary);
}

body.dark-theme .sidebar .nav li.active i,
body.dark-theme .sidebar .nav li:hover i {
    color: #fff;
}

/* Stats cards */
body.dark-theme .stats {
    color: var(--dark-text-secondary);
}

/* Collapse arrow indicator */
body.dark-theme .sidebar .nav [data-toggle="collapse"]:after {
    color: var(--dark-text-primary);
}

/* CodeMirror (si se usa) */
body.dark-theme .CodeMirror {
    background-color: var(--dark-bg-tertiary);
    color: var(--dark-text-primary);
    border-color: var(--dark-border);
}

body.dark-theme .CodeMirror-gutters {
    background-color: var(--dark-bg-secondary);
    border-color: var(--dark-border);
}

/* Input groups */
body.dark-theme .input-group-addon {
    background-color: var(--dark-bg-tertiary);
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
}

/* Popover */
body.dark-theme .popover {
    background-color: var(--dark-card);
    border-color: var(--dark-border);
}

body.dark-theme .popover-title {
    background-color: var(--dark-bg-tertiary);
    border-bottom-color: var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .popover-content {
    color: var(--dark-text-primary);
}

/* Tooltip */
body.dark-theme .tooltip-inner {
    background-color: var(--dark-bg-secondary);
    color: var(--dark-text-primary);
}

/* List group */
body.dark-theme .list-group-item {
    background-color: var(--dark-card);
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .list-group-item:hover {
    background-color: var(--dark-hover);
}

/* User Profile Card */
body.dark-theme .card-user {
    background-color: var(--dark-card);
    border: 1px solid var(--dark-border);
}

body.dark-theme .card-user .card-body {
    background-color: var(--dark-card);
}

body.dark-theme .card-user .author {
    color: var(--dark-text-primary);
}

body.dark-theme .card-user .title {
    color: var(--dark-text-primary);
}

body.dark-theme .card-user .description {
    color: var(--dark-text-secondary);
}

body.dark-theme .card-user hr {
    border-color: var(--dark-border);
}

body.dark-theme .card-user .avatar {
    border-color: var(--dark-border) !important;
}

body.dark-theme .card-user .button-container .btn-link {
    color: var(--dark-text-primary);
}

body.dark-theme .card-user .button-container .btn-link:hover {
    color: #d0d0d0;
}

/* Overlay user container */
body.dark-theme .overlay-user-container {
    background-color: transparent;
}

/* Tabbable navigation */
body.dark-theme .tabbable {
    background-color: transparent;
}

body.dark-theme .nav-tabs {
    border-bottom-color: var(--dark-border);
    background-color: var(--dark-card);
    padding: 10px 10px 0;
    border-radius: 4px 4px 0 0;
}

body.dark-theme .nav-tabs > li > a {
    color: var(--dark-text-primary);
    background-color: transparent;
    border: 1px solid transparent;
}

body.dark-theme .nav-tabs > li > a:hover {
    background-color: var(--dark-hover);
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .nav-tabs > li.active > a,
body.dark-theme .nav-tabs > li.active > a:hover,
body.dark-theme .nav-tabs > li.active > a:focus {
    background-color: var(--dark-bg-tertiary);
    border-color: var(--dark-border);
    border-bottom-color: transparent;
    color: var(--dark-text-primary);
}

body.dark-theme .tab-content {
    background-color: var(--dark-card);
    border: 1px solid var(--dark-border);
    border-top: none;
    padding: 20px;
    border-radius: 0 0 4px 4px;
}

body.dark-theme .tab-pane {
    background-color: transparent;
}

/* Form labels en user profile */
body.dark-theme .form-group label {
    color: var(--dark-text-primary);
}

/* Center tag */
body.dark-theme center {
    color: var(--dark-text-primary);
}

/* ===== ESTILOS ADICIONALES PARA UNIFICAR TODO ===== */

/* Todos los headings */
body.dark-theme h1, body.dark-theme h2, body.dark-theme h3, 
body.dark-theme h4, body.dark-theme h5, body.dark-theme h6,
body.dark-theme .h1, body.dark-theme .h2, body.dark-theme .h3,
body.dark-theme .h4, body.dark-theme .h5, body.dark-theme .h6 {
    color: var(--dark-text-primary) !important;
}

/* Párrafos y textos */
body.dark-theme p {
    color: var(--dark-text-primary);
}

/* Strong y bold */
body.dark-theme strong, body.dark-theme b {
    color: var(--dark-text-primary);
}

/* Títulos de secciones */
body.dark-theme .title, body.dark-theme .section-title {
    color: var(--dark-text-primary) !important;
}

/* Subtítulos */
body.dark-theme .subtitle, body.dark-theme .category {
    color: var(--dark-text-secondary) !important;
}

/* Stats y métricas */
body.dark-theme .stats {
    color: var(--dark-text-secondary) !important;
}

/* Iconos generales */
body.dark-theme i {
    color: inherit;
}

/* Rows y containers */
body.dark-theme .row {
    background-color: transparent !important;
}

body.dark-theme .container,
body.dark-theme .container-fluid {
    background-color: transparent !important;
}

/* DataTables elementos adicionales */
body.dark-theme .dataTables_wrapper {
    background-color: transparent !important;
    color: var(--dark-text-primary);
}

body.dark-theme table.dataTable {
    background-color: var(--dark-card) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme table.dataTable thead th {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
    border-color: var(--dark-border) !important;
}

body.dark-theme table.dataTable tbody td {
    background-color: transparent !important;
    color: var(--dark-text-primary) !important;
    border-color: var(--dark-border) !important;
}

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

body.dark-theme table.dataTable tbody tr:hover {
    background-color: var(--dark-hover) !important;
}

/* Botones adicionales */
body.dark-theme .btn {
    border-color: var(--dark-border);
}

body.dark-theme .btn-link {
    color: var(--dark-text-primary);
}

body.dark-theme .btn-link:hover {
    color: #d0d0d0;
}

/* Textarea y selects */
body.dark-theme textarea,
body.dark-theme select,
body.dark-theme input[type="text"],
body.dark-theme input[type="password"],
body.dark-theme input[type="email"],
body.dark-theme input[type="number"],
body.dark-theme input[type="search"] {
    background-color: var(--dark-bg-tertiary) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
}

/* Placeholder color */
body.dark-theme ::placeholder {
    color: var(--dark-text-secondary) !important;
    opacity: 0.7;
}

body.dark-theme ::-webkit-input-placeholder {
    color: var(--dark-text-secondary) !important;
}

body.dark-theme ::-moz-placeholder {
    color: var(--dark-text-secondary) !important;
}

body.dark-theme :-ms-input-placeholder {
    color: var(--dark-text-secondary) !important;
}

/* Dividers */
body.dark-theme hr {
    border-color: var(--dark-border) !important;
}

/* Pre y code */
body.dark-theme pre {
    background-color: var(--dark-bg-tertiary);
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme code {
    background-color: var(--dark-bg-tertiary);
    color: var(--dark-text-primary);
}

/* Scrollbar del sidebar en modo oscuro */
body.dark-theme .sidebar::-webkit-scrollbar {
    width: 8px;
}

body.dark-theme .sidebar::-webkit-scrollbar-track {
    background: rgba(0,0,0,0.3);
}

body.dark-theme .sidebar::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.2);
    border-radius: 10px;
}

body.dark-theme .sidebar::-webkit-scrollbar-thumb:hover {
    background: rgba(255,255,255,0.3);
}

/* Asegurar que no haya fondos blancos inesperados */
body.dark-theme * {
    border-color: var(--dark-border);
}

body.dark-theme *:not(.info-tiles):not(.dashboard-card):not(.btn-primary):not(.btn-success):not(.btn-info):not(.btn-warning):not(.btn-danger):not([class*="bg-"]) {
    background-color: transparent;
}

/* Estilos para tablas en modo oscuro */
html.dark-theme .table,
body.dark-theme .table,
.dark-theme .table,
[data-theme="dark"] .table {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
}

html.dark-theme .table thead,
body.dark-theme .table thead,
.dark-theme .table thead,
[data-theme="dark"] .table thead {
    background-color: var(--dark-bg-secondary) !important;
}

html.dark-theme .table thead th,
body.dark-theme .table thead th,
.dark-theme .table thead th,
[data-theme="dark"] .table thead th {
    background-color: var(--dark-bg-secondary) !important;
    color: var(--dark-text-primary) !important;
    border-color: var(--dark-border) !important;
}

html.dark-theme .table tbody,
body.dark-theme .table tbody,
.dark-theme .table tbody,
[data-theme="dark"] .table tbody {
    background-color: var(--dark-bg-tertiary) !important;
}

html.dark-theme .table tbody tr,
body.dark-theme .table tbody tr,
.dark-theme .table tbody tr,
[data-theme="dark"] .table tbody tr {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
}

html.dark-theme .table tbody td,
body.dark-theme .table tbody td,
.dark-theme .table tbody td,
[data-theme="dark"] .table tbody td {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
    border-color: var(--dark-border) !important;
}

html.dark-theme .table-striped tbody tr:nth-of-type(odd),
body.dark-theme .table-striped tbody tr:nth-of-type(odd),
.dark-theme .table-striped tbody tr:nth-of-type(odd),
[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd) {
    background-color: var(--dark-bg-hover) !important;
}

html.dark-theme .table-striped tbody tr:nth-of-type(odd) td,
body.dark-theme .table-striped tbody tr:nth-of-type(odd) td,
.dark-theme .table-striped tbody tr:nth-of-type(odd) td,
[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd) td {
    background-color: var(--dark-bg-hover) !important;
}

html.dark-theme .table-striped tbody tr:nth-of-type(even),
body.dark-theme .table-striped tbody tr:nth-of-type(even),
.dark-theme .table-striped tbody tr:nth-of-type(even),
[data-theme="dark"] .table-striped tbody tr:nth-of-type(even) {
    background-color: var(--dark-bg-tertiary) !important;
}

html.dark-theme .table-striped tbody tr:nth-of-type(even) td,
body.dark-theme .table-striped tbody tr:nth-of-type(even) td,
.dark-theme .table-striped tbody tr:nth-of-type(even) td,
[data-theme="dark"] .table-striped tbody tr:nth-of-type(even) td {
    background-color: var(--dark-bg-tertiary) !important;
}

/* Media query para móvil - Forzar estilos oscuros */
@media (max-width: 768px) {
    html.dark-theme .table,
    body.dark-theme .table,
    .dark-theme .table,
    [data-theme="dark"] .table {
        background-color: var(--dark-bg-tertiary) !important;
        color: var(--dark-text-primary) !important;
    }
    
    html.dark-theme .table thead th,
    body.dark-theme .table thead th,
    .dark-theme .table thead th,
    [data-theme="dark"] .table thead th {
        background-color: var(--dark-bg-secondary) !important;
        color: var(--dark-text-primary) !important;
    }
    
    html.dark-theme .table tbody,
    body.dark-theme .table tbody,
    .dark-theme .table tbody,
    html.dark-theme .table tbody tr,
    body.dark-theme .table tbody tr,
    .dark-theme .table tbody tr,
    html.dark-theme .table tbody td,
    body.dark-theme .table tbody td,
    .dark-theme .table tbody td,
    [data-theme="dark"] .table tbody,
    [data-theme="dark"] .table tbody tr,
    [data-theme="dark"] .table tbody td {
        background-color: var(--dark-bg-tertiary) !important;
        color: var(--dark-text-primary) !important;
    }
}

