/*
==========================================================
REPORTES AsEp — THEME COMPATIBILITY / FINAL OVERRIDES
----------------------------------------------------------
Esta capa se carga después de los estilos de cada módulo.
Su objetivo es que el modo oscuro use el mismo lenguaje visual
en toda la aplicación y que los componentes heredados que
usan variables antiguas no queden sin color.
==========================================================
*/

/* ==========================================================
   ALIASES DEL DESIGN SYSTEM
========================================================== */

:root{
    --surface-primary: var(--bg-card);
    --surface-secondary: var(--bg-surface);
    --text-primary: var(--color-text);
    --text-secondary: var(--color-text-secondary);
    --text-muted: var(--color-text-muted);
    --background-secondary: var(--bg-surface);

    --bg-hover: var(--bg-card-hover);
    --border-color: var(--border-light);

    --dashboard-text: var(--color-heading);
    --dashboard-text-soft: var(--color-text-muted);
    --dashboard-bg-card: var(--bg-card);
    --dashboard-primary: var(--color-primary);

    --sidebar-bg: var(--bg-sidebar);
    --sidebar-border: var(--border-light);
    --sidebar-text: var(--color-text);
    --sidebar-text-muted: var(--color-text-muted);
    --sidebar-hover: var(--bg-card-hover);
    --sidebar-active-bg: color-mix(in srgb, var(--color-primary) 10%, var(--bg-sidebar));
    --sidebar-active-border: var(--color-primary-border);
    --sidebar-divider: var(--border-light);
    --sidebar-icon-bg: var(--bg-surface);

    --gradient-primary: var(--button-primary-gradient);
    --color-primary-light: #ff9a74;
    --color-danger-light: #ff7b7b;

    --card-glass: var(--glass-background);
    --card-border: var(--border-light);

    --bg-secondary: var(--bg-surface);
    --shadow-color: rgba(0,0,0,.25);

    /* Legacy / dashboard aliases */
    --glass-shadow: var(--shadow-lg);
    --form-input-background: var(--input-bg);
    --donut-open: 120deg;
    --donut-repaired: 220deg;
    --donut-progress: 300deg;
    --donut-finalized: 340deg;
    --status-gradient: conic-gradient(var(--border-light) 0deg 360deg);
    --status-color: var(--color-primary);
}

[data-theme="dark"]{
    --surface-primary: #132442;
    --surface-secondary: #0E1D33;
    --text-primary: #F4F7FC;
    --text-secondary: #D8E1F2;
    --text-muted: #A9B6CF;
    --background-secondary: #0E1D33;

    --bg-hover: #19304F;
    --border-color: rgba(255,255,255,.09);

    --dashboard-text: #F7FAFF;
    --dashboard-text-soft: #A9B6CF;
    --dashboard-bg-card: #132442;
    --dashboard-primary: #F25C2A;

    --sidebar-bg: #0C182C;
    --sidebar-border: rgba(255,255,255,.08);
    --sidebar-text: #F4F7FC;
    --sidebar-text-muted: #9EACC4;
    --sidebar-hover: #12253E;
    --sidebar-active-bg: rgba(242,92,42,.10);
    --sidebar-active-border: rgba(242,92,42,.30);
    --sidebar-divider: rgba(255,255,255,.08);
    --sidebar-icon-bg: rgba(255,255,255,.055);

    --color-primary-light: #FF936B;
    --color-danger-light: #FF7777;
    --gradient-primary: linear-gradient(135deg,#FF7748,#F25C2A);

    --card-glass: rgba(19,36,66,.82);
    --card-border: rgba(148,163,184,.16);

    --bg-secondary: #0E1D33;
    --shadow-color: rgba(0,0,0,.32);

    --glass-shadow: 0 18px 42px rgba(0,0,0,.26);
    --form-input-background: #172B47;
    --donut-open: 120deg;
    --donut-repaired: 220deg;
    --donut-progress: 300deg;
    --donut-finalized: 340deg;
    --status-gradient: conic-gradient(
        rgba(255,255,255,.06) 0deg 360deg
    );
    --status-color: var(--color-primary);
}

/* ==========================================================
   DOCUMENT / SCROLLBARS
========================================================== */

html,
body{
    background: var(--bg-main);
    color: var(--color-text);
}

body{
    color-scheme: light;
}

[data-theme="dark"] body{
    color-scheme: dark;
}

::selection{
    background: var(--color-primary-soft);
    color: var(--color-heading);
}

[data-theme="dark"] ::selection{
    color: #fff;
}

html{
    scrollbar-color: var(--scroll-thumb) var(--scroll-track);
}

body,
.dashboard-main,
.dashboard-content,
.table-card-responsive,
.table-responsive,
.modal-body,
.dropdown-menu,
.navbar-dropdown,
.sidebar-menu{
    scrollbar-color: var(--scroll-thumb) var(--scroll-track);
}

body::-webkit-scrollbar,
.dashboard-main::-webkit-scrollbar,
.dashboard-content::-webkit-scrollbar,
.table-card-responsive::-webkit-scrollbar,
.table-responsive::-webkit-scrollbar,
.modal-body::-webkit-scrollbar,
.dropdown-menu::-webkit-scrollbar,
.navbar-dropdown::-webkit-scrollbar,
.sidebar-menu::-webkit-scrollbar{
    width: 9px;
    height: 9px;
}

body::-webkit-scrollbar-track,
.dashboard-main::-webkit-scrollbar-track,
.dashboard-content::-webkit-scrollbar-track,
.table-card-responsive::-webkit-scrollbar-track,
.table-responsive::-webkit-scrollbar-track,
.modal-body::-webkit-scrollbar-track,
.dropdown-menu::-webkit-scrollbar-track,
.navbar-dropdown::-webkit-scrollbar-track,
.sidebar-menu::-webkit-scrollbar-track{
    background: var(--scroll-track);
}

body::-webkit-scrollbar-thumb,
.dashboard-main::-webkit-scrollbar-thumb,
.dashboard-content::-webkit-scrollbar-thumb,
.table-card-responsive::-webkit-scrollbar-thumb,
.table-responsive::-webkit-scrollbar-thumb,
.modal-body::-webkit-scrollbar-thumb,
.dropdown-menu::-webkit-scrollbar-thumb,
.navbar-dropdown::-webkit-scrollbar-thumb,
.sidebar-menu::-webkit-scrollbar-thumb{
    background: var(--scroll-thumb);
    border-radius: 999px;
}

/* ==========================================================
   BASE / BOOTSTRAP NORMALIZATION
========================================================== */

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

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

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

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

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

[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] textarea.form-control,
[data-theme="dark"] input.form-control,
[data-theme="dark"] select.form-select{
    background-color: var(--input-bg) !important;
    border-color: var(--input-border) !important;
    color: var(--color-text) !important;
}

[data-theme="dark"] .form-control::placeholder{
    color: var(--color-placeholder) !important;
    opacity: 1;
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus{
    background-color: var(--input-hover) !important;
    border-color: var(--color-primary) !important;
    color: var(--color-text) !important;
    box-shadow: 0 0 0 3px rgba(242,92,42,.16) !important;
}

[data-theme="dark"] .form-select{
    color-scheme: dark;
}

[data-theme="dark"] option{
    background: #132442;
    color: #F4F7FC;
}

[data-theme="dark"] .input-group-text{
    background: var(--bg-surface) !important;
    border-color: var(--input-border) !important;
    color: var(--color-text-secondary) !important;
}

[data-theme="dark"] .form-check-input{
    background-color: var(--input-bg);
    border-color: var(--border-strong);
}

[data-theme="dark"] .form-check-input:checked{
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

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

[data-theme="dark"] .form-control:disabled,
[data-theme="dark"] .form-select:disabled{
    background-color: #101E31 !important;
    color: var(--color-disabled) !important;
    opacity: 1;
}

[data-theme="dark"] input[type="date"],
[data-theme="dark"] input[type="time"],
[data-theme="dark"] input[type="datetime-local"],
[data-theme="dark"] input[type="month"],
[data-theme="dark"] input[type="number"]{
    color-scheme: dark;
}

/* ==========================================================
   CARDS / SURFACES / LISTS
========================================================== */

[data-theme="dark"] .card,
[data-theme="dark"] .card-body,
[data-theme="dark"] .card-header,
[data-theme="dark"] .card-footer{
    color: var(--color-text);
}

[data-theme="dark"] .card{
    background: var(--bg-card);
    border-color: var(--border-light);
}

[data-theme="dark"] .card-header,
[data-theme="dark"] .card-footer{
    background: var(--bg-surface);
    border-color: var(--border-light);
}

[data-theme="dark"] .list-group-item{
    background: var(--bg-card);
    color: var(--color-text);
    border-color: var(--border-light);
}

[data-theme="dark"] hr{
    border-color: var(--border-light);
    opacity: 1;
}

/* ==========================================================
   DROPDOWNS / MENUS
========================================================== */

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

[data-theme="dark"] .dropdown-item,
[data-theme="dark"] .navbar-dropdown a{
    color: var(--color-text-secondary);
}

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus,
[data-theme="dark"] .navbar-dropdown a:hover{
    background: var(--bg-hover);
    color: var(--color-text);
}

[data-theme="dark"] .dropdown-divider{
    border-color: var(--border-light);
}

/* ==========================================================
   MODALES / POPOVERS / TOOLTIPS
========================================================== */

[data-theme="dark"] .modal-content{
    background: var(--bg-modal) !important;
    border-color: var(--border-light) !important;
    color: var(--color-text) !important;
}

[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-footer{
    background: var(--bg-surface) !important;
    border-color: var(--border-light) !important;
}

[data-theme="dark"] .btn-close{
    filter: none;
}

[data-theme="dark"] .popover{
    background: var(--bg-card);
    border-color: var(--border-light);
}

[data-theme="dark"] .popover-header{
    background: var(--bg-surface);
    border-color: var(--border-light);
    color: var(--color-heading);
}

[data-theme="dark"] .popover-body{
    color: var(--color-text-secondary);
}

[data-theme="dark"] .tooltip-inner{
    background: #F4F7FC;
    color: #13233C;
}

/* ==========================================================
   BOTONES / CONTROLES
========================================================== */

[data-theme="dark"] .btn-outline-secondary{
    color: #C9D5E8 !important;
    border-color: rgba(148,163,184,.28) !important;
    background: transparent !important;
}

[data-theme="dark"] .btn-outline-secondary:hover{
    background: rgba(255,255,255,.06) !important;
    border-color: rgba(148,163,184,.45) !important;
    color: #FFFFFF !important;
}

[data-theme="dark"] .btn-light{
    background: #1A3253 !important;
    border-color: rgba(148,163,184,.18) !important;
    color: #F4F7FC !important;
}

[data-theme="dark"] .btn-light:hover{
    background: #203B60 !important;
}

[data-theme="dark"] .btn-primary{
    color: #fff !important;
}

/* ==========================================================
   TABLAS — SISTEMA GLOBAL
========================================================== */

[data-theme="dark"] .table{
    --bs-table-color: var(--color-text);
    --bs-table-bg: transparent;
    --bs-table-border-color: var(--table-border);
    color: var(--color-text);
}

[data-theme="dark"] .table > :not(caption) > * > *{
    color: inherit;
    background-color: transparent;
    border-bottom-color: var(--table-border);
}

[data-theme="dark"] .table thead th{
    color: var(--color-primary);
    background: var(--table-head-bg);
    border-bottom-color: var(--table-border);
}

[data-theme="dark"] .table tbody td{
    color: var(--color-text-secondary);
    background: var(--bg-card);
    border-bottom-color: var(--table-border);
}

[data-theme="dark"] .table tbody tr:hover td{
    background: var(--table-row-hover);
}

[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > *{
    --bs-table-accent-bg: transparent;
    color: inherit;
}

/* ==========================================================
   TABLAS DE SUBMÓDULOS — CORRIGE LOS VALORES HARD-CODED
========================================================== */

[data-theme="dark"] .submodule-table-page .submodule-table-layout > form{
    background: var(--bg-surface) !important;
    border-color: var(--border-light) !important;
}

[data-theme="dark"] .submodule-table-page .submodule-table-layout > form .form-label{
    color: var(--color-heading) !important;
}

[data-theme="dark"] .submodule-table-page .submodule-table-layout > form .form-control,
[data-theme="dark"] .submodule-table-page .submodule-table-layout > form .form-select{
    background: var(--input-bg) !important;
    color: var(--color-text) !important;
    border-color: var(--input-border) !important;
}

[data-theme="dark"] .submodule-table-page .submodule-table-layout > form .btn-outline-secondary{
    color: #C9D5E8 !important;
    border-color: rgba(148,163,184,.28) !important;
}

[data-theme="dark"] .table-card{
    background: var(--bg-card) !important;
    border-color: var(--border-light) !important;
    box-shadow: var(--shadow-md) !important;
}

[data-theme="dark"] .submodule-table-page .table-card .table{
    color: var(--color-text-secondary) !important;
}

[data-theme="dark"] .submodule-table-page .table-card .table thead th{
    background: var(--table-head-bg) !important;
    color: var(--color-primary) !important;
    border-bottom-color: var(--table-border) !important;
}

[data-theme="dark"] .submodule-table-page .table-card .table tbody tr td,
[data-theme="dark"] .submodule-table-page .table-card .table tbody tr:nth-child(even) td{
    background: var(--bg-card) !important;
    color: var(--color-text-secondary) !important;
    border-bottom-color: var(--table-border) !important;
}

[data-theme="dark"] .submodule-table-page .table-card .table tbody tr:hover td{
    background: var(--table-row-hover) !important;
}

[data-theme="dark"] .submodule-table-page .table-card .table .nro{
    color: var(--color-heading) !important;
}

[data-theme="dark"] .submodule-table-page .table-card .table td:nth-child(7),
[data-theme="dark"] .submodule-table-page .table-card .table td:nth-child(8){
    color: var(--color-text-secondary) !important;
}

[data-theme="dark"] .submodule-table-page .table-card .table td:nth-child(7) .badge,
[data-theme="dark"] .submodule-table-page .table-card .table td:nth-child(8) .badge{
    background: transparent !important;
    color: var(--color-text-secondary) !important;
}

[data-theme="dark"] .submodule-table-page .table-card .table td:last-child .btn,
[data-theme="dark"] .submodule-table-page .table-card .table td:last-child .btn-accion{
    background: var(--bg-surface) !important;
    box-shadow: 0 3px 10px rgba(0,0,0,.18) !important;
}

[data-theme="dark"] .submodule-table-page .table-card .table td:last-child .btn-outline-primary{
    border-color: rgba(242,92,42,.55) !important;
    color: #FF936B !important;
}
[data-theme="dark"] .submodule-table-page .table-card .table td:last-child .btn-outline-primary:hover{
    background: rgba(242,92,42,.10) !important;
    color: #FFB092 !important;
}
[data-theme="dark"] .submodule-table-page .table-card .table td:last-child .btn-outline-secondary{
    border-color: rgba(148,163,184,.26) !important;
    color: #C9D5E8 !important;
}
[data-theme="dark"] .submodule-table-page .table-card .table td:last-child .btn-outline-secondary:hover{
    background: rgba(255,255,255,.06) !important;
    color: #FFFFFF !important;
}
[data-theme="dark"] .submodule-table-page .table-card .table td:last-child .btn-outline-warning{
    border-color: rgba(245,158,11,.44) !important;
    color: #FBBF24 !important;
}
[data-theme="dark"] .submodule-table-page .table-card .table td:last-child .btn-outline-warning:hover{
    background: rgba(245,158,11,.11) !important;
    color: #FFD56A !important;
}
[data-theme="dark"] .submodule-table-page .table-card .table td:last-child .btn-outline-info{
    border-color: rgba(59,130,246,.46) !important;
    color: #79A9FF !important;
}
[data-theme="dark"] .submodule-table-page .table-card .table td:last-child .btn-outline-info:hover{
    background: rgba(59,130,246,.10) !important;
    color: #A9C5FF !important;
}
[data-theme="dark"] .submodule-table-page .table-card .table td:last-child .btn-outline-success{
    border-color: rgba(34,197,94,.46) !important;
    color: #55D984 !important;
}
[data-theme="dark"] .submodule-table-page .table-card .table td:last-child .btn-outline-success:hover{
    background: rgba(34,197,94,.10) !important;
    color: #86E9A8 !important;
}
[data-theme="dark"] .submodule-table-page .table-card .table td:last-child .btn-outline-danger{
    border-color: rgba(239,68,68,.48) !important;
    color: #FF7A7A !important;
}
[data-theme="dark"] .submodule-table-page .table-card .table td:last-child .btn-outline-danger:hover{
    background: rgba(239,68,68,.10) !important;
    color: #FF9A9A !important;
}

/* ==========================================================
   PAGINACIÓN GLOBAL
========================================================== */

[data-theme="dark"] .submodule-table-page .table-card-footer{
    background: var(--bg-surface) !important;
    border-top-color: var(--border-light) !important;
    color: var(--color-text-secondary);
}

[data-theme="dark"] .submodule-table-page .pagination .page-link,
[data-theme="dark"] .submodule-pagination-server .page-link{
    border-color: var(--border-light) !important;
    background: var(--bg-card) !important;
    color: var(--color-text-secondary) !important;
}

[data-theme="dark"] .submodule-table-page .pagination .page-link:hover,
[data-theme="dark"] .submodule-pagination-server .page-link:hover{
    border-color: var(--color-primary) !important;
    background: var(--color-primary-soft) !important;
    color: var(--color-primary-light) !important;
}

[data-theme="dark"] .submodule-table-page .pagination .page-item.active .page-link,
[data-theme="dark"] .submodule-pagination-server .page-item.active .page-link{
    background: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: #fff !important;
}

[data-theme="dark"] .submodule-table-page .pagination .page-item.disabled .page-link,
[data-theme="dark"] .submodule-pagination-server .page-item.disabled .page-link{
    background: transparent !important;
    color: var(--color-disabled) !important;
    opacity: .7;
}

[data-theme="dark"] .submodule-pagination-summary,
[data-theme="dark"] .submodule-pagination-jump label{
    color: var(--color-text-muted) !important;
}

[data-theme="dark"] .submodule-pagination-jump input{
    background: var(--input-bg) !important;
    border-color: var(--input-border) !important;
    color: var(--color-text) !important;
}

[data-theme="dark"] .submodule-pagination-jump button{
    background: var(--color-primary-soft) !important;
    border-color: var(--color-primary-border) !important;
    color: var(--color-primary-light) !important;
}

[data-theme="dark"] .submodule-pagination-jump button:hover{
    background: var(--color-primary) !important;
    color: #fff !important;
}

/* ==========================================================
   REPORTES — OVERRIDE DE PALETA CLARA CON !important
========================================================== */

[data-theme="dark"] .reportes-admin-page .reportes-admin-table,
[data-theme="dark"] .reportes-admin-page .table-section,
[data-theme="dark"] .reportes-admin-page .table-responsive,
[data-theme="dark"] .reportes-admin-page table{
    color: var(--color-text-secondary) !important;
    background: transparent !important;
}

[data-theme="dark"] .reportes-admin-page table thead th{
    background: var(--table-head-bg) !important;
    color: var(--color-primary-light) !important;
    border-bottom-color: var(--table-border) !important;
}

[data-theme="dark"] .reportes-admin-page table tbody tr,
[data-theme="dark"] .reportes-admin-page table tbody tr:nth-child(even){
    background: var(--bg-card) !important;
    color: var(--color-text-secondary) !important;
    border-bottom-color: var(--table-border) !important;
}

[data-theme="dark"] .reportes-admin-page table tbody tr:hover{
    background: var(--table-row-hover) !important;
}

[data-theme="dark"] .reportes-admin-page table td{
    color: var(--color-text-secondary) !important;
    border-bottom-color: var(--table-border) !important;
}

[data-theme="dark"] .reportes-admin-page .reportes-admin-nro,
[data-theme="dark"] .reportes-admin-page .reportes-admin-neutral-status{
    color: var(--color-heading) !important;
}

[data-theme="dark"] .reportes-admin-page .reportes-admin-action{
    background: var(--bg-surface) !important;
    border-color: var(--border-light) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.16) !important;
}

[data-theme="dark"] .reportes-admin-page .reportes-admin-action-view{
    color: #FF936B !important;
    border-color: rgba(242,92,42,.50) !important;
}
[data-theme="dark"] .reportes-admin-page .reportes-admin-action-view:hover{
    color: #FFB092 !important;
    background: rgba(242,92,42,.10) !important;
}
[data-theme="dark"] .reportes-admin-page .reportes-admin-action-neutral{
    color: #C9D5E8 !important;
    border-color: rgba(148,163,184,.28) !important;
}
[data-theme="dark"] .reportes-admin-page .reportes-admin-action-neutral:hover{
    background: rgba(255,255,255,.06) !important;
}
[data-theme="dark"] .reportes-admin-page .reportes-admin-action-edit{
    color: #F7C15A !important;
    border-color: rgba(245,158,11,.44) !important;
}
[data-theme="dark"] .reportes-admin-page .reportes-admin-action-edit:hover{
    background: rgba(245,158,11,.10) !important;
}
[data-theme="dark"] .reportes-admin-page .reportes-admin-action-reassign{
    color: #7AA8FF !important;
    border-color: rgba(59,130,246,.46) !important;
}
[data-theme="dark"] .reportes-admin-page .reportes-admin-action-reassign:hover{
    background: rgba(59,130,246,.10) !important;
}
[data-theme="dark"] .reportes-admin-page .reportes-admin-action-technical,
[data-theme="dark"] .reportes-admin-page .reportes-admin-action-finalize{
    color: #5BDB8D !important;
    border-color: rgba(34,197,94,.46) !important;
}
[data-theme="dark"] .reportes-admin-page .reportes-admin-action-technical:hover,
[data-theme="dark"] .reportes-admin-page .reportes-admin-action-finalize:hover{
    background: rgba(34,197,94,.10) !important;
}
[data-theme="dark"] .reportes-admin-page .reportes-admin-action-reopen{
    color: #FF7F7F !important;
    border-color: rgba(239,68,68,.48) !important;
}
[data-theme="dark"] .reportes-admin-page .reportes-admin-action-reopen:hover{
    background: rgba(239,68,68,.10) !important;
}

/* ==========================================================
   REPORTES — FORMULARIOS, DETALLE, HISTORIAL
========================================================== */

[data-theme="dark"] .reportes-form-context,
[data-theme="dark"] .reportes-form-section{
    background: rgba(255,255,255,.028) !important;
    border-color: rgba(148,163,184,.16) !important;
}

[data-theme="dark"] .reportes-form-context-item,
[data-theme="dark"] .reportes-notes-card,
[data-theme="dark"] .submodule-form-page .card{
    background: var(--bg-card) !important;
    border-color: var(--border-light) !important;
    box-shadow: var(--shadow-sm);
}

[data-theme="dark"] .reportes-notes-card .nota-box{
    background: var(--bg-surface) !important;
    border-color: var(--border-light) !important;
}

[data-theme="dark"] .reportes-form-context-item span,
[data-theme="dark"] .reportes-form-section-header p,
[data-theme="dark"] .reportes-notes-header p,
[data-theme="dark"] .reportes-notes-card .nota-box small{
    color: var(--color-text-muted) !important;
}

[data-theme="dark"] .reportes-form-context-item strong,
[data-theme="dark"] .reportes-form-section-header h5,
[data-theme="dark"] .reportes-notes-header h5,
[data-theme="dark"] .reportes-notes-card .nota-box strong{
    color: var(--color-heading) !important;
}

[data-theme="dark"] .historial-reportes-table thead th{
    background: rgba(255,255,255,.045) !important;
    color: var(--color-primary-light) !important;
    border-bottom-color: var(--table-border) !important;
}

[data-theme="dark"] .historial-reportes-table tbody td{
    background: rgba(15,23,42,.18) !important;
    color: var(--color-text-secondary) !important;
    border-bottom-color: var(--table-border) !important;
}

[data-theme="dark"] .historial-reportes-table tbody tr:hover td{
    background: rgba(255,255,255,.035) !important;
}

[data-theme="dark"] .historial-action-label{
    background: rgba(242,92,42,.08) !important;
    border-color: rgba(242,92,42,.24) !important;
    color: var(--color-text) !important;
}

[data-theme="dark"] .historial-page-link{
    background: var(--bg-card) !important;
    color: var(--color-text-secondary) !important;
    border-color: var(--border-light) !important;
}

[data-theme="dark"] .historial-page-link:hover{
    background: var(--color-primary-soft) !important;
    color: var(--color-primary-light) !important;
}

[data-theme="dark"] .historial-page-link.is-active{
    background: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: #fff !important;
}

/* ==========================================================
   MIS REPORTES
========================================================== */

[data-theme="dark"] .mis-reportes-page .table-card,
[data-theme="dark"] .mis-reportes-page .submodule-table-page .table-card{
    background: var(--bg-card) !important;
    border-color: var(--border-light) !important;
}

[data-theme="dark"] .mis-reportes-page .table thead th{
    background: var(--table-head-bg) !important;
    color: var(--color-primary-light) !important;
}

[data-theme="dark"] .mis-reportes-page .table tbody td{
    background: var(--bg-card) !important;
    color: var(--color-text-secondary) !important;
    border-bottom-color: var(--table-border) !important;
}

[data-theme="dark"] .mis-reportes-page .table tbody tr:hover td{
    background: var(--table-row-hover) !important;
}

/* ==========================================================
   AUDITORÍA
========================================================== */

[data-theme="dark"] .auditoria-view-switch__item{
    background: var(--bg-card) !important;
    border-color: var(--border-light) !important;
    color: var(--color-text-secondary) !important;
}

[data-theme="dark"] .auditoria-view-switch__item:hover,
[data-theme="dark"] .auditoria-view-switch__item.is-active{
    background: var(--color-primary-soft) !important;
    border-color: var(--color-primary-border) !important;
    color: var(--color-primary-light) !important;
}

[data-theme="dark"] .auditoria-retention-note,
[data-theme="dark"] .auditoria-archive-panel{
    background: var(--bg-surface) !important;
    border-color: var(--border-light) !important;
    color: var(--color-text-secondary) !important;
}

[data-theme="dark"] .auditoria-action-label{
    color: var(--color-text) !important;
}

[data-theme="dark"] .auditoria-pagination .page-link,
[data-theme="dark"] .auditoria-pagination .submodule-pagination-jump input{
    background: var(--bg-card) !important;
    border-color: var(--border-light) !important;
    color: var(--color-text-secondary) !important;
}

/* ==========================================================
   BADGES / ESTADOS
========================================================== */

[data-theme="dark"] .badge.bg-success{
    background: var(--color-success-soft) !important;
    color: #5BDB8D !important;
}

[data-theme="dark"] .badge.bg-danger{
    background: var(--color-danger-soft) !important;
    color: #FF7F7F !important;
}

[data-theme="dark"] .badge.bg-warning{
    background: var(--color-warning-soft) !important;
    color: #FFD66E !important;
}

[data-theme="dark"] .badge.bg-info,
[data-theme="dark"] .badge.bg-secondary{
    background: rgba(148,163,184,.12) !important;
    color: #C9D5E8 !important;
}

[data-theme="dark"] .status-success{background: var(--color-success-soft); color:#5BDB8D;}
[data-theme="dark"] .status-info{background: var(--color-info-soft); color:#7AA8FF;}
[data-theme="dark"] .status-warning{background: var(--color-warning-soft); color:#FFD66E;}
[data-theme="dark"] .status-danger{background: var(--color-danger-soft); color:#FF7F7F;}

/* ==========================================================
   FLASH / ALERTS
========================================================== */

[data-theme="dark"] .alert{
    background: var(--bg-card);
    border-color: var(--border-light);
    color: var(--color-text);
}

[data-theme="dark"] .alert-success{
    --bs-alert-color: #9AF1B6;
    --bs-alert-bg: rgba(34,197,94,.10);
    --bs-alert-border-color: rgba(34,197,94,.24);
}

[data-theme="dark"] .alert-warning{
    --bs-alert-color: #FFD66E;
    --bs-alert-bg: rgba(245,158,11,.10);
    --bs-alert-border-color: rgba(245,158,11,.24);
}

[data-theme="dark"] .alert-danger{
    --bs-alert-color: #FF9A9A;
    --bs-alert-bg: rgba(239,68,68,.10);
    --bs-alert-border-color: rgba(239,68,68,.24);
}

[data-theme="dark"] .alert-info{
    --bs-alert-color: #9FC0FF;
    --bs-alert-bg: rgba(59,130,246,.10);
    --bs-alert-border-color: rgba(59,130,246,.24);
}

[data-theme="dark"] #flash-container .alert{
    background: var(--bg-card) !important;
    color: var(--color-text) !important;
}

/* ==========================================================
   NAVBAR / SIDEBAR / HEADER
========================================================== */

[data-theme="dark"] .dashboard-navbar{
    background: var(--bg-navbar) !important;
    border-bottom-color: var(--border-light) !important;
    color: var(--color-text);
}

[data-theme="dark"] .dashboard-sidebar{
    background: var(--sidebar-bg) !important;
    border-right-color: var(--sidebar-border) !important;
}

[data-theme="dark"] .menu-item{
    color: var(--sidebar-text) !important;
}

[data-theme="dark"] .menu-item:hover{
    background: var(--sidebar-hover) !important;
}

[data-theme="dark"] .menu-item.active{
    background: var(--sidebar-active-bg) !important;
    border-color: var(--sidebar-active-border) !important;
}

[data-theme="dark"] .sidebar-logo,
[data-theme="dark"] .menu-icon{
    background: var(--sidebar-icon-bg) !important;
}

[data-theme="dark"] .sidebar-footer{
    border-top-color: var(--sidebar-divider) !important;
}

[data-theme="dark"] .module-title{
    color: var(--color-heading) !important;
}

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

/* ==========================================================
   TOOLBAR / EMPTY STATES
========================================================== */

[data-theme="dark"] .toolbar-title h2,
[data-theme="dark"] .empty-state h3{
    color: var(--color-heading) !important;
}

[data-theme="dark"] .empty-state i{
    color: #8EA1BC !important;
}

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

/* ==========================================================
   BACKGROUND / HERO / FOOTER
========================================================== */

[data-theme="dark"] .app-footer,
[data-theme="dark"] .dashboard-footer{
    background: var(--bg-footer) !important;
    border-color: var(--border-light) !important;
    color: var(--color-text-muted) !important;
}

/* ==========================================================
   NOTIFICACIONES
========================================================== */

[data-theme="dark"] .notification-dropdown{
    background: #0F1F35 !important;
    border-color: rgba(148,163,184,.16) !important;
    box-shadow: 0 24px 54px rgba(0,0,0,.34) !important;
}

[data-theme="dark"] .notification-dropdown-header{
    border-bottom-color: rgba(148,163,184,.12) !important;
}

[data-theme="dark"] .notification-item{
    border-bottom-color: rgba(148,163,184,.10) !important;
}

[data-theme="dark"] .notification-item:hover{
    background: rgba(255,255,255,.045) !important;
}

[data-theme="dark"] .notification-item.is-unread{
    background: rgba(242,92,42,.07) !important;
}

[data-theme="dark"] .notification-item__message{
    color: #CBD7EA !important;
}

/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 768px){
    [data-theme="dark"] .table-responsive{
        border-radius: 14px;
    }

    [data-theme="dark"] .submodule-table-page .table-card .table{
        min-width: 920px;
    }
}

/* ==========================================================
   PRINT
========================================================== */

@media print{
    [data-theme="dark"] *{
        transition: none !important;
    }
}


/* ==========================================================
   SIDEBAR LOGO — TRANSPARENCIA REAL
   theme_compat.css aplicaba un fondo con !important al logo.
========================================================== */

.dashboard-sidebar .sidebar-logo,
[data-theme="dark"] .dashboard-sidebar .sidebar-logo,
[data-theme="light"] .dashboard-sidebar .sidebar-logo{
    background:transparent !important;
    background-color:transparent !important;
    box-shadow:none !important;
    border:0 !important;
    border-radius:0 !important;
    padding:0 !important;
}
