@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600&display=swap");

:root { --g-bg:          #eaecf2;
  --g-bg2:         #f4f5f9;
  --g-bg3:         #eef0f5;
  --g-bg4:         #e2e5ef;
  --g-bg5:         #d5d9e8;
  --g-border:      rgba(0,0,0,.06);
  --g-border2:     rgba(0,0,0,.11);
  --g-accent:      #4f7ef8;
  --g-accent-h:    #3a6df0;
  --g-accent-soft: rgba(79,126,248,.10);
  --g-green:       #0ab889;
  --g-green-soft:  rgba(10,184,137,.10);
  --g-amber:       #d97706;
  --g-amber-soft:  rgba(217,119,6,.10);
  --g-red:         #e53e3e;
  --g-red-soft:    rgba(229,62,62,.10);
  --g-orange:      #dd6b20;
  --g-text:        #1a202c;
  --g-text2:       #4a5568;
  --g-text3:       #a0aec0;
  --g-font:        "Plus Jakarta Sans","Segoe UI","Helvetica Neue",Arial,sans-serif;
  --g-t:           all .15s ease; }


body.theme-dark { --g-bg:          #0f1117;
  --g-bg2:         #161b27;
  --g-bg3:         #1e2535;
  --g-bg4:         #242c3d;
  --g-bg5:         #2e3850;
  --g-border:      rgba(255,255,255,.07);
  --g-border2:     rgba(255,255,255,.14);
  --g-accent:      #3b63c7;
  --g-accent-h:    #6b95fa;
  --g-accent-soft: rgba(79,126,248,.13);
  --g-green:       #0a8f6a;
  --g-green-soft:  rgba(6,214,160,.12);
  --g-amber:       #b07d20;
  --g-amber-soft:  rgba(255,209,102,.12);
  --g-red:         #b83232;
  --g-red-soft:    rgba(255,107,107,.12);
  --g-orange:      #b8560a;
  --g-text:        #e8eaf6;
  --g-text2:       #8892b0;
  --g-text3:       #4a5568; }


body.theme-dark,
body.theme-dark input,
body.theme-dark select,
body.theme-dark textarea,
body.theme-dark button,
body.theme-dark td,
body.theme-dark th,
body.theme-dark h1,
body.theme-dark h2,
body.theme-dark h3,
body.theme-dark h4,
body.theme-dark h5,
body.theme-dark h6,
body.theme-dark p,
body.theme-dark a,
body.theme-dark li,
body.theme-dark legend { font-family: var(--g-font) !important; }


/* Excluir span para no romper FontAwesome (fa fa-*) */


body.theme-dark span:not([class*="fa"]):not([class*="glyphicon"]):not([class*="fal"]):not([class*="far"]):not([class*="fas"]):not([class*="fad"]) { font-family: var(--g-font) !important; }


body.theme-dark label:not([class*="fa"]):not([class*="glyphicon"]) { font-family: var(--g-font) !important; }



/* ================================================================
   2. HEADER
   ================================================================ */


body.theme-dark #header { background:    var(--g-bg2) !important;
  border-bottom: 1px solid var(--g-border) !important;
  box-shadow:    0 1px 3px rgba(0,0,0,.06) !important;
  -webkit-font-smoothing: antialiased !important; }


body.theme-dark #header #logo-group { background:   transparent !important;
  border-right: 1px solid var(--g-border) !important; }


body.theme-dark #header .btn-header>span>a,
body.theme-dark #header .btn-header span a { background:  var(--g-bg3) !important;
  border:      1px solid var(--g-border) !important;
  color:       var(--g-text2) !important;
  box-shadow:  none !important; }


body.theme-dark #header .btn-header>span>a:hover,
body.theme-dark #header .btn-header span a:hover { background: var(--g-bg4) !important; color: var(--g-text) !important; }


body.theme-dark #header .header-search input[type="text"] { background: var(--g-bg3) !important; border: 1px solid var(--g-border2) !important; color: var(--g-text) !important; }


body.theme-dark #header .header-search input::placeholder { color: var(--g-text3) !important; }


body.theme-dark #header .header-search button { background: var(--g-accent) !important; border: none !important; color: #fff !important; }


body.theme-dark #header .dropdown-menu,
body.theme-dark #header ul.dropdown-menu { background: var(--g-bg2) !important; border: 1px solid var(--g-border2) !important; box-shadow: 0 4px 16px rgba(0,0,0,.12) !important; }


body.theme-dark #header .dropdown-menu>li>a { color: var(--g-text2) !important; }


body.theme-dark #header .dropdown-menu>li>a:hover { background: var(--g-bg3) !important; color: var(--g-text) !important; }


body.theme-dark #activity_cont { background: var(--g-bg2) !important; border: 1px solid var(--g-border2) !important; }


body.theme-dark #activity_cont .notification-body li { border-bottom: 1px solid var(--g-border) !important; }


body.theme-dark #activity_cont .notification-body li>a { background: transparent !important; color: var(--g-text2) !important; }


body.theme-dark #activity_cont .notification-body li>a:hover { background: var(--g-bg3) !important; }



/* ================================================================
   3. SIDEBAR
   ================================================================ */


body.theme-dark #left-panel { background:   var(--g-bg2) !important;
  border-right: 1px solid var(--g-border) !important;
  box-shadow:   none !important; }


body.theme-dark #left-panel .login-info { background: var(--g-bg2) !important; border-bottom: 1px solid var(--g-border) !important; }


body.theme-dark #left-panel .login-info a { color: var(--g-text) !important; }


body.theme-dark #left-panel nav ul li>a { color: var(--g-text2) !important; border: none !important; transition: var(--g-t) !important; text-shadow: none !important; -webkit-font-smoothing: antialiased !important; }


body.theme-dark #left-panel nav ul li>a:hover { background: var(--g-bg3) !important; color: var(--g-text) !important; }


body.theme-dark #left-panel nav ul li.active>a,
body.theme-dark #left-panel nav ul li.open>a { background: var(--g-accent-soft) !important; color: var(--g-accent) !important; box-shadow: none !important; }


body.theme-dark #left-panel nav ul li>a i,
body.theme-dark #left-panel nav ul li>a .fa,
body.theme-dark #left-panel nav ul li>a .fas { color: inherit !important; }


body.theme-dark #left-panel nav ul li.active>a .fa,
body.theme-dark #left-panel nav ul li.active>a .fas { color: var(--g-accent) !important; }


body.theme-dark #left-panel nav ul li>a .badge,
body.theme-dark #left-panel nav ul li>a b.badge { background: var(--g-red) !important; color: #fff !important; }


body.theme-dark #left-panel nav ul ul { background: var(--g-bg4) !important; border-left: 2px solid var(--g-accent-soft) !important; }


body.theme-dark #left-panel nav ul ul li>a { color: var(--g-text2) !important; }


body.theme-dark #left-panel nav ul ul li>a:hover { background: var(--g-bg4) !important; color: var(--g-text) !important; }


body.theme-dark #left-panel nav ul ul li.active>a { background: var(--g-accent-soft) !important; color: var(--g-accent) !important; }


body.theme-dark #left-panel nav ul li.nav-title { color: var(--g-text3) !important; }


body.theme-dark #left-panel .minifyme { background: var(--g-bg3) !important; border: 1px solid var(--g-border) !important; }



/* ================================================================
   4. MAIN / RIBBON
   ================================================================ */


body.theme-dark #main { background: var(--g-bg) !important; }


body.theme-dark #ribbon { background: var(--g-bg2) !important; border-bottom: 1px solid var(--g-border) !important; box-shadow: none !important; }


body.theme-dark #ribbon .breadcrumb { background: transparent !important; }


body.theme-dark #ribbon .breadcrumb li { color: var(--g-text3) !important; }


body.theme-dark #ribbon .breadcrumb li a { color: var(--g-text2) !important; }


body.theme-dark #ribbon .breadcrumb li a:hover { color: var(--g-accent) !important; }


body.theme-dark #ribbon .breadcrumb>li+li::before { color: var(--g-text3) !important; }


body.theme-dark #ribbon .breadcrumb .active { color: var(--g-text) !important; }


body.theme-dark #cont-general-tabs-sys { background: var(--g-bg) !important; border: none !important; }


body.theme-dark #cont-main-sys { background: var(--g-bg2) !important; border-top: 1px solid var(--g-border) !important; }


body.theme-dark #cont-tabs-sys { background: var(--g-bg2) !important; border: 1px solid var(--g-border) !important; border-bottom: none !important; }


body.theme-dark #cont-tabs-sys li { background: transparent !important; border: none !important; }


body.theme-dark #cont-tabs-sys li a { background: transparent !important; color: var(--g-text2) !important; border: none !important; text-decoration: none !important; }


body.theme-dark #cont-tabs-sys li a:hover { background: var(--g-bg3) !important; color: var(--g-text) !important; }


body.theme-dark #cont-tabs-sys li.ui-state-active a,
body.theme-dark #cont-tabs-sys li.active a { background: var(--g-bg2) !important; color: var(--g-accent) !important; border-top: 2px solid var(--g-accent) !important; }


body.theme-dark #cont-tabs-sys .ui-icon-close:hover { color: var(--g-red) !important; }



/* ================================================================
   5. JARVISWIDGETS
   ================================================================ */


body.theme-dark .jarviswidget,
body.theme-dark .lv-container { background: var(--g-bg2) !important;
  border:     1px solid var(--g-border) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.05) !important;
  -webkit-box-shadow: 0 2px 8px rgba(0,0,0,.05) !important; }


body.theme-dark .jarviswidget>header,
body.theme-dark .lv-container>header,
body.theme-dark .jarviswidget header[role="heading"] { background: var(--g-bg3) !important; border-bottom: 1px solid var(--g-border) !important; }


body.theme-dark .jarviswidget>header h2,
body.theme-dark .lv-container header h2 { color: var(--g-text) !important; }


body.theme-dark .jarviswidget .widget-icon i,
body.theme-dark .jarviswidget .widget-icon .fa { color: var(--g-accent) !important; }


body.theme-dark .jarviswidget .widget-body,
body.theme-dark .lv-container .widget-body { background: var(--g-bg2) !important; color: var(--g-text) !important; }


body.theme-dark .jarviswidget > div,
body.theme-dark .lv-container > div { background-color: var(--g-bg2) !important; border: 1px solid var(--g-border) !important; }


body.theme-dark .lv-container header,
body.theme-dark .lv-container > header { border-color: var(--g-border) !important;
  background:   var(--g-bg3) !important;
  color:        var(--g-text) !important; }



/* ================================================================
   6. TABLAS
   ================================================================ */


body.theme-dark .table { color: var(--g-text) !important; }


body.theme-dark .table>thead>tr>th { background: var(--g-bg3) !important; border-color: var(--g-border) !important; color: var(--g-text2) !important; border-bottom: 2px solid var(--g-border) !important; }


body.theme-dark .table>tbody>tr>td { border-color: var(--g-border) !important; color: var(--g-text) !important; }


body.theme-dark .table-hover>tbody>tr:hover>td { background: var(--g-bg3) !important; }


body.theme-dark .table-striped>tbody>tr:nth-of-type(odd)>td { background: rgba(0,0,0,.02) !important; }


body.theme-dark .table>tbody>tr.active>td,
body.theme-dark .table>tbody>tr.selected>td { background: var(--g-accent-soft) !important; }


body.theme-dark .table-bordered,
body.theme-dark .table-bordered>thead>tr>th,
body.theme-dark .table-bordered>tbody>tr>td { border-color: var(--g-border) !important; }



/* ================================================================
   7. FULLGRID
   ================================================================ */


body.theme-dark .fullgrid-dt-toolbar { background: var(--g-bg3) !important; border: 1px solid var(--g-border) !important; border-bottom: none !important; box-shadow: none !important; }


body.theme-dark .fullgrid-dt-toolbar-footer { background: var(--g-bg3) !important; border: 1px solid var(--g-border) !important; border-top: none !important; color: var(--g-text3) !important; box-shadow: none !important; }


body.theme-dark .fullgrid ul.ColVis_collection { background: var(--g-bg2) !important; border: 1px solid var(--g-border2) !important; }


body.theme-dark .fullgrid ul.ColVis_collection li { background: var(--g-bg3) !important; border: 1px solid var(--g-border) !important; color: var(--g-text2) !important; box-shadow: none !important; filter: none !important; }


body.theme-dark .fullgrid ul.ColVis_collection li:hover { background: var(--g-bg4) !important; color: var(--g-text) !important; }


body.theme-dark table.fullgrid thead>tr>th,
body.theme-dark .fullgrid thead th { background: var(--g-bg3) !important; border-color: var(--g-border) !important; color: var(--g-text2) !important; }


body.theme-dark table.fullgrid thead .sorting_asc,
body.theme-dark table.fullgrid thead .sorting_desc { background-color: var(--g-bg4) !important; }


body.theme-dark table.fullgrid tbody>tr>td { background: var(--g-bg2) !important; border-color: var(--g-border) !important; color: var(--g-text) !important; }


body.theme-dark table.fullgrid tbody>tr:hover>td { background: var(--g-bg3) !important; }


body.theme-dark table.fullgrid tr td.sorting_1 { background: var(--g-bg3) !important; }


body.theme-dark table.fullgrid tr td.sorting_2 { background: var(--g-bg4) !important; }


body.theme-dark div.fullgrids_info,
body.theme-dark .fullgrid_info { color: var(--g-text3) !important; font-style: normal !important; }



/* ================================================================
   8. FORMULARIOS
   ================================================================ */


body.theme-dark .form-control,
body.theme-dark input[type="text"],
body.theme-dark input[type="email"],
body.theme-dark input[type="password"],
body.theme-dark input[type="number"],
body.theme-dark input[type="date"],
body.theme-dark input[type="time"],
body.theme-dark input[type="tel"],
body.theme-dark input[type="url"],
body.theme-dark input[type="search"],
body.theme-dark select,
body.theme-dark textarea { background:  var(--g-bg2) !important;
  border:      1px solid var(--g-border2) !important;
  color:       var(--g-text) !important;
  box-shadow:  none !important; }


body.theme-dark .form-control:focus,
body.theme-dark input[type="text"]:focus,
body.theme-dark input[type="email"]:focus,
body.theme-dark input[type="password"]:focus,
body.theme-dark input[type="number"]:focus,
body.theme-dark input[type="date"]:focus,
body.theme-dark input[type="time"]:focus,
body.theme-dark input[type="tel"]:focus,
body.theme-dark select:focus,
body.theme-dark textarea:focus { background:   var(--g-bg2) !important;
  border-color: var(--g-accent) !important;
  box-shadow:   0 0 0 3px var(--g-accent-soft) !important;
  outline:      none !important; }


body.theme-dark .form-control::placeholder,
body.theme-dark input::placeholder,
body.theme-dark textarea::placeholder { color: var(--g-text3) !important; }


body.theme-dark .form-control[disabled],
body.theme-dark .form-control[readonly],
body.theme-dark input[disabled],
body.theme-dark input[readonly] { background: var(--g-bg3) !important; color: var(--g-text3) !important; }


body.theme-dark .form-actions { background: var(--g-bg3) !important; border-top: 1px solid var(--g-border) !important; }


body.theme-dark fieldset { border: 1px solid var(--g-border) !important; }


body.theme-dark legend { color: var(--g-text2) !important; border: none !important; }


body.theme-dark .input-group-addon { background: var(--g-bg3) !important; border: 1px solid var(--g-border2) !important; color: var(--g-text2) !important; }


body.theme-dark input[type="checkbox"],
body.theme-dark input[type="radio"] { accent-color: var(--g-accent) !important; }



/* ================================================================
   9. BOTONES
   ================================================================ */


body.theme-dark .btn { font-family: var(--g-font) !important; font-weight: 500 !important; box-shadow: none !important; transition: var(--g-t) !important; }


body.theme-dark .btn:active { transform: scale(.97) !important; }


body.theme-dark .btn-default { background: var(--g-bg3) !important; border-color: var(--g-border2) !important; color: var(--g-text2) !important; }


body.theme-dark .btn-default:hover { background: var(--g-bg4) !important; color: var(--g-text) !important; }


body.theme-dark .btn-primary { background: var(--g-accent) !important; border-color: var(--g-accent) !important; color: #fff !important; }


body.theme-dark .btn-primary:hover { background: var(--g-accent-h) !important; border-color: var(--g-accent-h) !important; }


body.theme-dark .btn-success { background: var(--g-green) !important; border-color: var(--g-green) !important; color: #fff !important; }


body.theme-dark .btn-warning { background: var(--g-amber) !important; border-color: var(--g-amber) !important; color: #fff !important; }


body.theme-dark .btn-danger { background: var(--g-red) !important; border-color: var(--g-red) !important; color: #fff !important; }


body.theme-dark .btn-info { background: #38b2e0 !important; border-color: #38b2e0 !important; color: #fff !important; }


body.theme-dark .btn-link { background: transparent !important; border-color: transparent !important; color: var(--g-accent) !important; }


body.theme-dark .btn-orange { background: transparent !important; border-color: var(--g-orange) !important; color: var(--g-orange) !important; }


body.theme-dark .btn-orange:hover { background: var(--g-orange) !important; color: #fff !important; }



/* ================================================================
   10. MODALES
   ================================================================ */


body.theme-dark .modal-content { background: var(--g-bg2) !important; border: 1px solid var(--g-border2) !important; color: var(--g-text) !important; }


body.theme-dark .modal-header { background: var(--g-bg3) !important; border-bottom: 1px solid var(--g-border) !important; }


body.theme-dark .modal-header .modal-title,
body.theme-dark .modal-header h4 { color: var(--g-text) !important; font-weight: 600 !important; }


body.theme-dark .modal-header .close { color: var(--g-text2) !important; opacity: 1 !important; text-shadow: none !important; }


body.theme-dark .modal-header .close:hover { color: var(--g-red) !important; }


body.theme-dark .modal-body { background: var(--g-bg2) !important; color: var(--g-text) !important; }


body.theme-dark .modal-footer { background: var(--g-bg3) !important; border-top: 1px solid var(--g-border) !important; }


body.theme-dark .modal-backdrop.in { opacity: .5 !important; }



/* SmartAdmin smart-form footer (usado por kompra/formNew, etc.) */


body.theme-dark .smart-form,
body.theme-dark form .smart-form { background: var(--g-bg2) !important; border-color: var(--g-border) !important; }


body.theme-dark .smart-form footer,
body.theme-dark .smart-form > footer,
body.theme-dark form .smart-form > footer { background: var(--g-bg3) !important; border-top: 1px solid var(--g-border) !important; color: var(--g-text2) !important; padding: 8px 12px !important; }


body.theme-dark .smart-form footer .lv-requided-require,
body.theme-dark .smart-form > footer .lv-requided-require,
body.theme-dark .smart-form footer .lv-modalrequired { color: var(--g-amber) !important; background: transparent !important; }



/* ================================================================
   11. ALERTS / BADGES / PANELS / MISC
   ================================================================ */


body.theme-dark .alert-success { background: var(--g-green-soft) !important; border-color: var(--g-green) !important; color: var(--g-green) !important; }


body.theme-dark .alert-warning { background: var(--g-amber-soft) !important; border-color: var(--g-amber) !important; color: var(--g-amber) !important; }


body.theme-dark .alert-danger { background: var(--g-red-soft) !important; border-color: var(--g-red) !important; color: var(--g-red) !important; }


body.theme-dark .alert-info { background: var(--g-accent-soft) !important; border-color: var(--g-accent) !important; color: var(--g-accent) !important; }


body.theme-dark .label-default,
body.theme-dark .badge-default { background: var(--g-bg4) !important; color: var(--g-text2) !important; }


body.theme-dark .label-primary,
body.theme-dark .badge-primary { background: var(--g-accent-soft) !important; color: var(--g-accent) !important; }


body.theme-dark .label-success,
body.theme-dark .badge-success { background: var(--g-green-soft) !important; color: var(--g-green) !important; }


body.theme-dark .label-warning,
body.theme-dark .badge-warning { background: var(--g-amber-soft) !important; color: var(--g-amber) !important; }


body.theme-dark .label-danger,
body.theme-dark .badge-danger { background: var(--g-red-soft) !important; color: var(--g-red) !important; }


body.theme-dark .label-info,
body.theme-dark .badge-info { background: var(--g-accent-soft) !important; color: var(--g-accent) !important; }


body.theme-dark .panel { background: var(--g-bg2) !important; border: 1px solid var(--g-border) !important; box-shadow: 0 1px 3px rgba(0,0,0,.06) !important; }


body.theme-dark .panel-default .panel-heading { background: var(--g-bg3) !important; border-bottom: 1px solid var(--g-border) !important; color: var(--g-text) !important; }


body.theme-dark .panel-default .panel-body { background: var(--g-bg2) !important; color: var(--g-text) !important; }


body.theme-dark .panel-default .panel-footer { background: var(--g-bg3) !important; border-top: 1px solid var(--g-border) !important; color: var(--g-text2) !important; }


/* panel-danger/success/warning/info/primary: NO se pisan */


body.theme-dark .well { background: var(--g-bg3) !important; border: 1px solid var(--g-border) !important; box-shadow: none !important; color: var(--g-text2) !important; }


body.theme-dark .list-group-item { background: var(--g-bg2) !important; border-color: var(--g-border) !important; color: var(--g-text) !important; }


body.theme-dark .list-group-item:hover { background: var(--g-bg3) !important; }


body.theme-dark .list-group-item.active { background: var(--g-accent-soft) !important; border-color: var(--g-accent) !important; color: var(--g-accent) !important; }


body.theme-dark .progress { background: var(--g-bg4) !important; box-shadow: none !important; }


body.theme-dark .progress-bar { background: var(--g-accent) !important; box-shadow: none !important; }


body.theme-dark .progress-bar-success { background: var(--g-green) !important; }


body.theme-dark .progress-bar-warning { background: var(--g-amber) !important; }


body.theme-dark .progress-bar-danger { background: var(--g-red) !important; }


body.theme-dark .pagination>li>a,
body.theme-dark .pagination>li>span { background: var(--g-bg2) !important; border: 1px solid var(--g-border) !important; color: var(--g-text2) !important; }


body.theme-dark .pagination>li>a:hover { background: var(--g-bg3) !important; color: var(--g-text) !important; }


body.theme-dark .pagination>.active>a,
body.theme-dark .pagination>.active>span { background: var(--g-accent) !important; border-color: var(--g-accent) !important; color: #fff !important; }


body.theme-dark .pagination>.disabled>a { background: var(--g-bg3) !important; color: var(--g-text3) !important; }


body.theme-dark .dropdown-menu { background: var(--g-bg2) !important; border: 1px solid var(--g-border2) !important; box-shadow: 0 4px 16px rgba(0,0,0,.12) !important; }


body.theme-dark .dropdown-menu>li>a { color: var(--g-text2) !important; }


body.theme-dark .dropdown-menu>li>a:hover { background: var(--g-bg3) !important; color: var(--g-text) !important; }


body.theme-dark .dropdown-menu>.active>a { background: var(--g-accent-soft) !important; color: var(--g-accent) !important; }


body.theme-dark .divider { background: var(--g-border) !important; }


body.theme-dark .nav-tabs { border-bottom: 1px solid var(--g-border) !important; }


body.theme-dark .nav-tabs>li>a { background: transparent !important; border: none !important; border-bottom: 2px solid transparent !important; color: var(--g-text3) !important; }


body.theme-dark .nav-tabs>li>a:hover { background: transparent !important; border-color: transparent transparent var(--g-border2) !important; color: var(--g-text2) !important; }


body.theme-dark .nav-tabs>li.active>a { background: transparent !important; border-color: transparent transparent var(--g-accent) !important; color: var(--g-accent) !important; }


body.theme-dark .tooltip-inner { background: var(--g-bg4) !important; border: 1px solid var(--g-border2) !important; color: var(--g-text) !important; }


body.theme-dark .popover { background: var(--g-bg2) !important; border: 1px solid var(--g-border2) !important; }


body.theme-dark .popover-title { background: var(--g-bg3) !important; border-bottom: 1px solid var(--g-border) !important; color: var(--g-text) !important; }


body.theme-dark .popover-content { color: var(--g-text2) !important; }



/* ================================================================
   12. CHOSEN / TREELST / tAutoComplete / TECLADO
   ================================================================ */


body.theme-dark .chosen-container .chosen-single,
body.theme-dark .chosen-container-single .chosen-single { background: var(--g-bg2) !important; border: 1px solid var(--g-border2) !important; color: var(--g-text) !important; box-shadow: none !important; height: 34px !important; line-height: 32px !important; padding: 0 0 0 10px !important; }


body.theme-dark .chosen-container .chosen-drop { background: var(--g-bg2) !important; border: 1px solid var(--g-border2) !important; box-shadow: 0 4px 16px rgba(0,0,0,.12) !important; }


body.theme-dark .chosen-container .chosen-search input[type="text"] { background: var(--g-bg3) !important; border: 1px solid var(--g-border2) !important; color: var(--g-text) !important; }


body.theme-dark .chosen-container .chosen-results li { color: var(--g-text2) !important; }


body.theme-dark .chosen-container .chosen-results li:hover,
body.theme-dark .chosen-container .chosen-results li.highlighted { background: var(--g-bg3) !important; color: var(--g-text) !important; }


body.theme-dark .chosen-container .chosen-results li.result-selected { background: var(--g-accent-soft) !important; color: var(--g-accent) !important; }


body.theme-dark .chosen-container-multi .chosen-choices { background: var(--g-bg2) !important; border: 1px solid var(--g-border2) !important; box-shadow: none !important; }


body.theme-dark .chosen-container-multi .chosen-choices li.search-choice { background: var(--g-accent-soft) !important; border: 1px solid var(--g-accent) !important; color: var(--g-accent) !important; box-shadow: none !important; }


body.theme-dark .chosen-container-active .chosen-single,
body.theme-dark .chosen-container-active .chosen-choices { border-color: var(--g-accent) !important; box-shadow: 0 0 0 3px var(--g-accent-soft) !important; }


body.theme-dark .treelst-container .chosen-single,
body.theme-dark .treelst-container-single .chosen-single,
body.theme-dark .treelst .chosen-single { background:   var(--g-bg2) !important;
  border:       1px solid var(--g-border2) !important;
  color:        var(--g-text) !important;
  box-shadow:   none !important;
  height:       34px !important;
  line-height:  32px !important;
  padding:      0 0 0 10px !important; }


body.theme-dark .treelst-container-active .chosen-single { border-color: var(--g-accent) !important;
  box-shadow:   0 0 0 3px var(--g-accent-soft) !important; }


body.theme-dark .treelst-container .chosen-single div b,
body.theme-dark .treelst .chosen-single div b { filter: none !important; }


body.theme-dark .treelst-container .chosen-drop,
body.theme-dark .treelst .chosen-drop { background: var(--g-bg2) !important; border: 1px solid var(--g-border2) !important; box-shadow: 0 4px 16px rgba(0,0,0,.12) !important; }


body.theme-dark .treelst-container .chosen-search input[type="text"],
body.theme-dark .treelst .chosen-search input[type="text"] { background: var(--g-bg3) !important; border: 1px solid var(--g-border2) !important; color: var(--g-text) !important; }


body.theme-dark .treelst-container .chosen-results li,
body.theme-dark .treelst .chosen-results li { color: var(--g-text2) !important; }


body.theme-dark .treelst-container .chosen-results li:hover,
body.theme-dark .treelst-container .chosen-results li.highlighted,
body.theme-dark .treelst .chosen-results li:hover,
body.theme-dark .treelst .chosen-results li.highlighted { background: var(--g-bg3) !important; color: var(--g-text) !important; }


body.theme-dark .treelst-container .chosen-results li.result-selected,
body.theme-dark .treelst .chosen-results li.result-selected { background: var(--g-accent-soft) !important; color: var(--g-accent) !important; }


body.theme-dark .treelst-container .chosen-results li.disabled-result,
body.theme-dark .treelst .chosen-results li.disabled-result { color: var(--g-text3) !important; }


body.theme-dark .treelst-container .chosen-single,
body.theme-dark .treelst-container-single .chosen-single,
body.theme-dark .treelst .chosen-single { background: var(--g-bg3) !important; border-color: var(--g-border2) !important; color: var(--g-text) !important; }


body.theme-dark .treelst-container .chosen-single div b,
body.theme-dark .treelst .chosen-single div b { filter: brightness(3) !important; }


body.theme-dark .treelst-container .chosen-drop,
body.theme-dark .treelst .chosen-drop { background: var(--g-bg2) !important; border-color: var(--g-border2) !important; }


body.theme-dark .treelst-container .chosen-results li,
body.theme-dark .treelst .chosen-results li { color: var(--g-text2) !important; }


body.theme-dark .treelst-container .chosen-results li:hover,
body.theme-dark .treelst .chosen-results li:hover { background: var(--g-bg3) !important; color: var(--g-text) !important; }


body.theme-dark .adropdown { background: var(--g-bg2) !important; border: 1px solid var(--g-border2) !important; box-shadow: 0 4px 16px rgba(0,0,0,.12) !important; }


body.theme-dark .adropdown th { background: var(--g-bg3) !important; color: var(--g-text2) !important; }


body.theme-dark .adropdown tr td { color: var(--g-text2) !important; border-bottom: 1px solid var(--g-border) !important; }


/* hover del autocompletar: --g-bg3 sobre --g-bg2 son #eef0f5 vs #f4f5f9 -> 2% de
   diferencia, en pantalla NO SE VE (reportado por el dueÃƒÂ±o). Va el mismo naranja de la
   fila seleccionada, suave, para que se distingan entre sÃƒÂ­. En oscuro el alpha sube:
   el mismo velo sobre el navy casi no se nota (misma razÃƒÂ³n que en datagrid.css). */


body.theme-dark .adropdown tr:hover td { background: rgba(255,152,0,.22) !important; color: var(--g-text) !important; }


body.theme-dark .adropdown .selectedxx td { background: var(--g-accent-soft) !important; color: var(--g-accent) !important; }


body.theme-dark .lv-teclado button,
body.theme-dark .lv-teclado a.button { background: var(--g-bg3) !important; border: 1px solid var(--g-border2) !important; color: var(--g-text) !important; box-shadow: none !important; }


body.theme-dark .lv-teclado .numpad button { background: var(--g-bg3) !important; border-right: 1px solid var(--g-border) !important; border-bottom: 1px solid var(--g-border) !important; color: var(--g-text) !important; }


body.theme-dark .lv-teclado .numpad button:hover { background: var(--g-bg4) !important; }


body.theme-dark .lv-teclado .numpad button:active { background: var(--g-accent) !important; color: #fff !important; }



/* ================================================================
   13. DROPZONE / TAGSINPUT / CLOCKPICKER / JQUERY UI
   ================================================================ */


body.theme-dark .dropzone { background: var(--g-bg3) !important; border: 2px dashed var(--g-border2) !important; color: var(--g-text2) !important; }


body.theme-dark .dropzone:hover { background: var(--g-bg4) !important; border-color: var(--g-accent) !important; }


body.theme-dark .bootstrap-tagsinput { background: var(--g-bg2) !important; border: 1px solid var(--g-border2) !important; box-shadow: none !important; color: var(--g-text) !important; }


body.theme-dark .bootstrap-tagsinput input { background: transparent !important; color: var(--g-text) !important; }


body.theme-dark .bootstrap-tagsinput .tag { background: var(--g-accent-soft) !important; border: 1px solid var(--g-accent) !important; color: var(--g-accent) !important; }


body.theme-dark .bootstrap-tagsinput.focus { border-color: var(--g-accent) !important; box-shadow: 0 0 0 3px var(--g-accent-soft) !important; }


body.theme-dark .clockpicker-plate { background: var(--g-bg3) !important; border: 1px solid var(--g-border2) !important; }


body.theme-dark .clockpicker-tick:hover { background: var(--g-accent-soft) !important; color: var(--g-accent) !important; }


body.theme-dark .clockpicker-canvas-fg,
body.theme-dark .clockpicker-canvas-bg { fill: var(--g-accent) !important; }


body.theme-dark .clockpicker-canvas-bearing { fill: var(--g-accent) !important; }


body.theme-dark .clockpicker-canvas line { stroke: var(--g-accent) !important; }


body.theme-dark .ui-widget { font-family: var(--g-font) !important; }


body.theme-dark .ui-widget-content { background: var(--g-bg2) !important; border: 1px solid var(--g-border2) !important; color: var(--g-text) !important; }


body.theme-dark .ui-widget-header { background: var(--g-bg3) !important; border: 1px solid var(--g-border) !important; color: var(--g-text) !important; }


body.theme-dark .ui-state-default,
body.theme-dark .ui-widget-content .ui-state-default { background: var(--g-bg3) !important; border: 1px solid var(--g-border) !important; color: var(--g-text2) !important; }


body.theme-dark .ui-state-hover,
body.theme-dark .ui-widget-content .ui-state-hover { background: var(--g-bg4) !important; color: var(--g-text) !important; }


body.theme-dark .ui-state-active,
body.theme-dark .ui-widget-content .ui-state-active { background: var(--g-accent) !important; border-color: var(--g-accent) !important; color: #fff !important; }


body.theme-dark .ui-datepicker { background: var(--g-bg2) !important; border: 1px solid var(--g-border2) !important; }


body.theme-dark .ui-datepicker .ui-datepicker-header { background: var(--g-bg3) !important; border: none !important; color: var(--g-text) !important; }


body.theme-dark .ui-datepicker td a { background: transparent !important; border: none !important; color: var(--g-text2) !important; }


body.theme-dark .ui-datepicker td a:hover { background: var(--g-bg3) !important; color: var(--g-text) !important; }


body.theme-dark .ui-datepicker td.ui-datepicker-current-day a { background: var(--g-accent) !important; color: #fff !important; }


body.theme-dark .ui-autocomplete { background: var(--g-bg2) !important; border: 1px solid var(--g-border2) !important; }


body.theme-dark .ui-menu-item,
body.theme-dark .ui-menu .ui-menu-item-wrapper { color: var(--g-text2) !important; }


body.theme-dark .ui-menu-item:hover,
body.theme-dark .ui-menu .ui-state-focus { background: var(--g-bg3) !important; color: var(--g-text) !important; }



/* ================================================================
   14. SMART NOTIFICATION / CHAT
   ================================================================ */


body.theme-dark .divMessageBox { background: rgba(0,0,0,.5) !important; }


body.theme-dark .MessageBoxContainer { background: var(--g-bg2) !important; border: 1px solid var(--g-border2) !important; color: var(--g-text) !important; }


body.theme-dark .MessageBoxButtonSection button { background: var(--g-accent) !important; border: none !important; color: #fff !important; }


body.theme-dark .SmallBox { border-radius: 10px !important; box-shadow: 0 8px 24px rgba(0,0,0,.25) !important; font-family: var(--g-font) !important; }


body.theme-dark .SmallBox:hover { border: 1px solid rgba(255,255,255,.4) !important; }


body.theme-dark .SmallBox span { font-family: var(--g-font) !important; font-weight: 500 !important; }


body.theme-dark .SmallBox p { font-family: var(--g-font) !important; }


body.theme-dark .bigBox { border-radius: 10px !important; box-shadow: 0 8px 24px rgba(0,0,0,.25) !important; font-family: var(--g-font) !important; }


body.theme-dark .bigBox span { font-family: var(--g-font) !important; font-weight: 500 !important; }


body.theme-dark .bigBox p { font-family: var(--g-font) !important; }


body.theme-dark .chat-flotante-window { background: var(--g-bg2) !important; border: 1px solid var(--g-border2) !important; }


body.theme-dark .chat-flotante-btn { background: var(--g-accent) !important; }


body.theme-dark .chat-flotante-header { background: var(--g-bg3) !important; border-bottom: 1px solid var(--g-border) !important; }


body.theme-dark .chat-flotante-messages { background: var(--g-bg) !important; }


body.theme-dark .chat-message.assistant .message-bubble { background: var(--g-bg3) !important; color: var(--g-text) !important; }


body.theme-dark .chat-message.user-chat .message-bubble { background: var(--g-accent) !important; color: #fff !important; }


body.theme-dark .chat-flotante-input-container { background: var(--g-bg3) !important; border-top: 1px solid var(--g-border) !important; }


body.theme-dark .chat-flotante-input { background: var(--g-bg2) !important; border: 1px solid var(--g-border2) !important; color: var(--g-text) !important; }


body.theme-dark .chat-send-btn { background: var(--g-accent) !important; color: #fff !important; border: none !important; }


body.theme-dark .chat-quick-btn { background: var(--g-bg4) !important; border: 1px solid var(--g-border) !important; color: var(--g-text2) !important; }


body.theme-dark .chat-quick-btn:hover { background: var(--g-bg5) !important; color: var(--g-text) !important; }


body.theme-dark .disambiguation-option { background: var(--g-bg3) !important; border: 1px solid var(--g-border) !important; }


body.theme-dark .disambiguation-option:hover { background: var(--g-bg4) !important; border-color: var(--g-accent) !important; }



/* ================================================================
   15. DARK MODE
   ================================================================ */


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


/* COMPAT: la clase la sincroniza footer.phtml sobre <html>. NO usar
   html:has(body.theme-dark) Ã¢â‚¬â€� :has() no existe antes de Firefox 121. */


html.theme-dark { background-color: #0f1117 !important; }


body.theme-dark #header { background: var(--g-bg2) !important; }


body.theme-dark #left-panel { background: var(--g-bg2) !important; }


body.theme-dark #main { background: var(--g-bg) !important; }


body.theme-dark #ribbon { background: var(--g-bg2) !important; }


body.theme-dark #cont-general-tabs-sys { background: var(--g-bg) !important; }


body.theme-dark #cont-main-sys { background: var(--g-bg2) !important; }


body.theme-dark #cont-tabs-sys { background: var(--g-bg2) !important; }


body.theme-dark .jarviswidget { background: var(--g-bg2) !important; border-color: var(--g-border) !important; }


body.theme-dark .lv-container { background: var(--g-bg2) !important; border-color: var(--g-border) !important; }


body.theme-dark .widget-body { background: var(--g-bg2) !important; color: var(--g-text) !important; }


body.theme-dark .jarviswidget > div,
body.theme-dark .lv-container > div { background-color: var(--g-bg2) !important; border: 1px solid var(--g-border) !important; }


body.theme-dark .jarviswidget>header,
body.theme-dark .lv-container>header,
body.theme-dark .jarviswidget header[role="heading"] { background: var(--g-bg3) !important; border-color: var(--g-border) !important; }


body.theme-dark .jarviswidget>header h2,
body.theme-dark .lv-container header h2 { color: var(--g-text) !important; }


body.theme-dark .lv-container header,
body.theme-dark .lv-container > header { border-color: var(--g-border) !important; background: var(--g-bg3) !important; color: var(--g-text) !important; }


body.theme-dark h1,
body.theme-dark h2,
body.theme-dark h3,
body.theme-dark h4,
body.theme-dark h5,
body.theme-dark h6 { color: var(--g-text) !important; }


body.theme-dark .widget-body td,
body.theme-dark .widget-body th,
body.theme-dark .widget-body p,
body.theme-dark .widget-body span,
body.theme-dark .widget-body label { color: var(--g-text) !important; }


body.theme-dark .table>thead>tr>th { background: var(--g-bg3) !important; color: var(--g-text2) !important; border-color: var(--g-border) !important; }


body.theme-dark .table>tbody>tr>td { background: var(--g-bg2) !important; color: var(--g-text) !important; border-color: var(--g-border) !important; }


body.theme-dark .table-hover>tbody>tr:hover>td { background: var(--g-bg3) !important; }


body.theme-dark .adropdown tr:hover td { background: rgba(255,152,0,.30) !important; }


body.theme-dark table.fullgrid tbody>tr>td { background: var(--g-bg2) !important; color: var(--g-text) !important; border-color: var(--g-border) !important; }


body.theme-dark table.fullgrid tbody>tr:hover>td { background: var(--g-bg3) !important; }


body.theme-dark table.fullgrid thead>tr>th { background: var(--g-bg3) !important; color: var(--g-text2) !important; border-color: var(--g-border) !important; }


body.theme-dark .fullgrid-dt-toolbar,
body.theme-dark .fullgrid-dt-toolbar-footer { background: var(--g-bg3) !important; border-color: var(--g-border) !important; }


body.theme-dark [style*="background: #F4F6FA"],
body.theme-dark [style*="background:#F4F6FA"],
body.theme-dark [style*="background: #f4f6fa"],
body.theme-dark [style*="background:#f4f6fa"] { background: var(--g-bg) !important; }


body.theme-dark [style*="background: #fff"],
body.theme-dark [style*="background:#fff"],
body.theme-dark [style*="background-color: #fff"],
body.theme-dark [style*="background-color:#fff"],
body.theme-dark [style*="background: white"],
body.theme-dark [style*="background-color: white"],
body.theme-dark [style*="background: rgb(255, 255, 255)"] { background: var(--g-bg2) !important; }


body.theme-dark .form-control,
body.theme-dark input[type="text"],
body.theme-dark input[type="email"],
body.theme-dark input[type="password"],
body.theme-dark input[type="number"],
body.theme-dark input[type="date"],
body.theme-dark input[type="time"],
body.theme-dark input[type="tel"],
body.theme-dark select,
body.theme-dark textarea { background: var(--g-bg3) !important; border-color: var(--g-border2) !important; color: var(--g-text) !important; }


body.theme-dark label,
body.theme-dark .control-label { color: var(--g-text2) !important; }


body.theme-dark .form-actions { background: var(--g-bg3) !important; border-color: var(--g-border) !important; }


body.theme-dark fieldset { border-color: var(--g-border) !important; }


body.theme-dark legend { color: var(--g-text2) !important; }


body.theme-dark .chosen-container .chosen-single,
body.theme-dark .chosen-container-single .chosen-single { background: var(--g-bg3) !important; border-color: var(--g-border2) !important; color: var(--g-text) !important; }


body.theme-dark .chosen-container .chosen-single div b { filter: brightness(3) !important; }


body.theme-dark .chosen-container .chosen-drop { background: var(--g-bg2) !important; border-color: var(--g-border2) !important; }


body.theme-dark .chosen-container .chosen-results li { color: var(--g-text2) !important; }


body.theme-dark .chosen-container .chosen-results li:hover,
body.theme-dark .chosen-container .chosen-results li.highlighted { background: var(--g-bg3) !important; color: var(--g-text) !important; }


body.theme-dark .chosen-container-multi .chosen-choices { background: var(--g-bg3) !important; border-color: var(--g-border2) !important; }


body.theme-dark .btn-default { background: var(--g-bg3) !important; border-color: var(--g-border2) !important; color: var(--g-text2) !important; }


body.theme-dark .btn-default:hover { background: var(--g-bg4) !important; color: var(--g-text) !important; }


body.theme-dark .btn-dark { background-color: #2d3748 !important; border-color: #2d3748 !important; color: #e2e8f0 !important; }


body.theme-dark .btn-lime { background-color: #2d6e2d !important; border-color: #2d6e2d !important; color: #fff !important; }


body.theme-dark #left-panel nav ul li>a { color: var(--g-text2) !important; }


body.theme-dark #left-panel nav ul li>a:hover { background: var(--g-bg3) !important; color: var(--g-text) !important; }


body.theme-dark #left-panel nav ul li.active>a { background: var(--g-accent-soft) !important; color: var(--g-accent) !important; }


body.theme-dark #left-panel nav ul ul { background: var(--g-bg) !important; }


body.theme-dark #left-panel .login-info { background: var(--g-bg2) !important; border-color: var(--g-border) !important; }


body.theme-dark #left-panel .login-info a { color: var(--g-text) !important; }


body.theme-dark #header .btn-header>span>a,
body.theme-dark #header .btn-header span a { background: var(--g-bg3) !important; border-color: var(--g-border) !important; color: var(--g-text2) !important; }


body.theme-dark #header .header-search input[type="text"] { background: var(--g-bg3) !important; color: var(--g-text) !important; }


body.theme-dark #header .dropdown-menu { background: var(--g-bg2) !important; border-color: var(--g-border2) !important; }


body.theme-dark #header .dropdown-menu>li>a { color: var(--g-text2) !important; }


body.theme-dark #header .dropdown-menu>li>a:hover { background: var(--g-bg3) !important; color: var(--g-text) !important; }


body.theme-dark .dropdown-menu { background: var(--g-bg2) !important; border-color: var(--g-border2) !important; }


body.theme-dark .dropdown-menu>li>a { color: var(--g-text2) !important; }


body.theme-dark .dropdown-menu>li>a:hover { background: var(--g-bg3) !important; color: var(--g-text) !important; }


body.theme-dark #cont-tabs-sys li a { color: var(--g-text2) !important; }


body.theme-dark #cont-tabs-sys li a:hover { background: var(--g-bg3) !important; color: var(--g-text) !important; }


body.theme-dark #cont-tabs-sys li.ui-state-active a,
body.theme-dark #cont-tabs-sys li.active a { background: var(--g-bg) !important; color: var(--g-accent) !important; }


body.theme-dark .modal-content { background: var(--g-bg2) !important; border-color: var(--g-border2) !important; color: var(--g-text) !important; }


body.theme-dark .modal-header { background: var(--g-bg3) !important; border-color: var(--g-border) !important; }


body.theme-dark .modal-header .modal-title,
body.theme-dark .modal-header h4 { color: var(--g-text) !important; }


body.theme-dark .modal-body { background: var(--g-bg2) !important; color: var(--g-text) !important; }


body.theme-dark .modal-footer { background: var(--g-bg3) !important; border-color: var(--g-border) !important; }


body.theme-dark .smart-form { background: var(--g-bg2) !important; border-color: var(--g-border2) !important; }


body.theme-dark .smart-form footer,
body.theme-dark .smart-form > footer { background: var(--g-bg3) !important; border-top-color: var(--g-border) !important; color: var(--g-text2) !important; }


body.theme-dark .smart-form footer .lv-requided-require,
body.theme-dark .smart-form > footer .lv-requided-require { color: var(--g-amber) !important; background: transparent !important; }


body.theme-dark .panel { background: var(--g-bg2) !important; border-color: var(--g-border) !important; }


body.theme-dark .panel-default .panel-heading { background: var(--g-bg3) !important; color: var(--g-text) !important; }


body.theme-dark .panel-default .panel-body { background: var(--g-bg2) !important; color: var(--g-text) !important; }


body.theme-dark .well { background: var(--g-bg3) !important; border-color: var(--g-border) !important; color: var(--g-text2) !important; }


body.theme-dark.smart-style-0,
body.theme-dark.smart-style-1,
body.theme-dark.smart-style-2,
body.theme-dark.smart-style-3,
body.theme-dark.smart-style-4,
body.theme-dark.smart-style-5,
body.theme-dark.smart-style-6 { background: var(--g-bg) !important; }


body.theme-dark.smart-style-0 #header,
body.theme-dark.smart-style-1 #header,
body.theme-dark.smart-style-2 #header,
body.theme-dark.smart-style-3 #header,
body.theme-dark.smart-style-4 #header,
body.theme-dark.smart-style-5 #header,
body.theme-dark.smart-style-6 #header { background: var(--g-bg2) !important; }


body.theme-dark.smart-style-0 #left-panel,
body.theme-dark.smart-style-1 #left-panel,
body.theme-dark.smart-style-2 #left-panel,
body.theme-dark.smart-style-3 #left-panel,
body.theme-dark.smart-style-4 #left-panel,
body.theme-dark.smart-style-5 #left-panel,
body.theme-dark.smart-style-6 #left-panel { background: var(--g-bg2) !important; }



/* ================================================================
   16. MISC
   ================================================================ */


body.theme-dark .lv-tr-bgcolor { background: var(--g-bg3) !important; background-image: none !important; }


body.theme-dark #shortcut { background: var(--g-bg) !important; border-bottom: 1px solid var(--g-border) !important; }


body.theme-dark #preloader { background: var(--g-bg) !important; }


body.theme-dark #status { background: none !important; border-top-color: var(--g-accent) !important; }


body.theme-dark #process-general { background: rgba(15,17,23,.85) !important; }


body.theme-dark .owl-carousel .owl-nav button.owl-prev,
body.theme-dark .owl-carousel .owl-nav button.owl-next { background: var(--g-bg3) !important; border: 1px solid var(--g-border2) !important; color: var(--g-text2) !important; }


body.theme-dark .owl-carousel .owl-dot.active span { background: var(--g-accent) !important; }



/* ================================================================
   17. bg-color-* LIGHT
   ================================================================ */


body.theme-dark .bg-color-purple,
body.theme-dark [class*="bg-color-purple"] { background-color: #7c3aed !important; color: #fff !important; }


body.theme-dark .bg-color-magenta,
body.theme-dark [class*="bg-color-magenta"] { background-color: #db2777 !important; color: #fff !important; }


body.theme-dark .bg-color-blue,
body.theme-dark [class*="bg-color-blue"] { background-color: #2563eb !important; color: #fff !important; }


body.theme-dark .bg-color-blueDark,
body.theme-dark [class*="bg-color-blueDark"] { background-color: #1d4ed8 !important; color: #fff !important; }


body.theme-dark .bg-color-green,
body.theme-dark [class*="bg-color-green"] { background-color: #16a34a !important; color: #fff !important; }


body.theme-dark .bg-color-greenDark,
body.theme-dark [class*="bg-color-greenDark"] { background-color: #15803d !important; color: #fff !important; }


body.theme-dark .bg-color-red,
body.theme-dark [class*="bg-color-red"] { background-color: #dc2626 !important; color: #fff !important; }


body.theme-dark .bg-color-orange,
body.theme-dark [class*="bg-color-orange"] { background-color: #ea580c !important; color: #fff !important; }


body.theme-dark .bg-color-yellow,
body.theme-dark [class*="bg-color-yellow"] { background-color: #ca8a04 !important; color: #fff !important; }


body.theme-dark .bg-color-teal,
body.theme-dark [class*="bg-color-teal"] { background-color: #0d9488 !important; color: #fff !important; }


body.theme-dark .bg-color-pink,
body.theme-dark [class*="bg-color-pink"] { background-color: #ec4899 !important; color: #fff !important; }


body.theme-dark .bg-color-darken,
body.theme-dark [class*="bg-color-darken"] { background-color: #334155 !important; color: #fff !important; }


body.theme-dark .well.bg-color-darken { background-color: #334155 !important; border: none !important; color: #fff !important; box-shadow: none !important; }


body.theme-dark .bg-color-darken *,
body.theme-dark .well.bg-color-darken * { color: #fff !important; }


body.theme-dark [class*="bg-color-"] { color: #fff !important; }


body.theme-dark label[class*="bg-color-"],
body.theme-dark .label[class*="bg-color-"] { border-radius: 6px !important; font-size: 11px !important; font-weight: 600 !important; padding: 3px 8px !important; letter-spacing: .3px !important; }


body.theme-dark .txt-color-white { color: #fff !important; }


body.theme-dark .txt-color-black { color: #1a202c !important; }


body.theme-dark .no-border,
body.theme-dark .well.no-border { border: none !important; box-shadow: none !important; }



/* ================================================================
   18. bg-color-* DARK
   ================================================================ */


body.theme-dark .bg-color-red { background-color: #c0392b !important; }


body.theme-dark .bg-color-magenta { background-color: #a0295a !important; }


body.theme-dark .bg-color-pink { background-color: #a0295a !important; }


body.theme-dark .bg-color-blue { background-color: #2c5f8a !important; }


body.theme-dark .bg-color-blueDark { background-color: #2c4a6e !important; }


body.theme-dark .bg-color-green { background-color: #1e7a3e !important; }


body.theme-dark .bg-color-greenLight { background-color: #2d7a28 !important; }


body.theme-dark .bg-color-greenDark { background-color: #1a5c2a !important; }


body.theme-dark .bg-color-teal { background-color: #0f766e !important; }


body.theme-dark .bg-color-orange { background-color: #b84e0a !important; }


body.theme-dark .bg-color-yellow { background-color: #9a6c10 !important; }


body.theme-dark .bg-color-purple { background-color: #5b3a9e !important; }


body.theme-dark .bg-color-darken,
body.theme-dark .well.bg-color-darken { background-color: #1e293b !important; color: #e2e8f0 !important; }


body.theme-dark .bg-color-blueGrey { background-color: #2a3a4a !important; }


body.theme-dark .panel-danger { border-color: #7f1d1d !important; }


body.theme-dark .panel-danger .panel-heading { background-color: #7f1d1d !important; color: #fecaca !important; }


body.theme-dark .panel-success { border-color: #14532d !important; }


body.theme-dark .panel-success .panel-heading { background-color: #14532d !important; color: #bbf7d0 !important; }


body.theme-dark .panel-warning { border-color: #713f12 !important; }


body.theme-dark .panel-warning .panel-heading { background-color: #713f12 !important; color: #fef08a !important; }


body.theme-dark .panel-info { border-color: #1e3a5f !important; }


body.theme-dark .panel-info .panel-heading { background-color: #1e3a5f !important; color: #bfdbfe !important; }



/* ================================================================
   19. HEADER TEXTS / ACTIVITY
   ================================================================ */


body.theme-dark #header a,
body.theme-dark #header span,
body.theme-dark #header .header-dropdown-list > li > a,
body.theme-dark #header #ulRol > li > a,
body.theme-dark #header #ulLang > li > a { color: var(--g-text) !important; -webkit-font-smoothing: antialiased !important; }


body.theme-dark #header .sp-defaut-rol,
body.theme-dark #header #sp-defaut-local,
body.theme-dark #header span.sp-defaut-rol,
body.theme-dark #header span#sp-defaut-local { color: var(--g-text) !important; font-weight: 500 !important; font-size: 13px !important; }


body.theme-dark #header #ulRol li a { color: var(--g-text) !important; font-weight: 500 !important; }


body.theme-dark #header .ul-rols,
body.theme-dark #header #ul-locales { background: var(--g-bg2) !important; border: 1px solid var(--g-border2) !important; box-shadow: 0 4px 16px rgba(0,0,0,.12) !important; }


body.theme-dark #header .ul-rols > li > a,
body.theme-dark #header #ul-locales > li > a { color: var(--g-text) !important; font-size: 13px !important; }


body.theme-dark #header .ul-rols > li > a:hover,
body.theme-dark #header #ul-locales > li > a:hover { background: var(--g-bg3) !important; color: var(--g-accent) !important; }


body.theme-dark #header a,
body.theme-dark #header span,
body.theme-dark #header .sp-defaut-rol,
body.theme-dark #header #sp-defaut-local,
body.theme-dark #header #ulRol li a { color: var(--g-text) !important; }


body.theme-dark #header .ul-rols,
body.theme-dark #header #ul-locales { background: var(--g-bg2) !important; border-color: var(--g-border2) !important; }


body.theme-dark #header .ul-rols > li > a,
body.theme-dark #header #ul-locales > li > a { color: var(--g-text2) !important; }


body.theme-dark #header .ul-rols > li > a:hover,
body.theme-dark #header #ul-locales > li > a:hover { background: var(--g-bg3) !important; color: var(--g-text) !important; }


body.theme-dark #activity,
body.theme-dark #header #activity,
body.theme-dark #logo-group span#activity { background-color: var(--g-bg3) !important; background-image: none !important;
  border: 1px solid var(--g-border2) !important; color: var(--g-text2) !important; box-shadow: none !important; }


body.theme-dark #activity:hover,
body.theme-dark #header #activity:hover { background-color: var(--g-bg4) !important; cursor: pointer !important; }


body.theme-dark #activity i,
body.theme-dark #activity .fa,
body.theme-dark #header #activity i { color: var(--g-text2) !important; font-size: 16px !important; }


body.theme-dark #activity b.badge,
body.theme-dark #header #b_nots { background: var(--g-accent) !important; color: #fff !important; }


body.theme-dark #activity,
body.theme-dark #header #activity,
body.theme-dark #logo-group span#activity { background-color: var(--g-bg3) !important; background-image: none !important; border-color: var(--g-border) !important; color: var(--g-text2) !important; }


body.theme-dark #activity i,
body.theme-dark #activity .fa { color: var(--g-text2) !important; }



/* ================================================================
   20. NAV-TABS COMPLETO
   ================================================================ */


body.theme-dark .nav-tabs { border-bottom: 1px solid var(--g-border2) !important; background: transparent !important; }


body.theme-dark .nav-tabs > li > a { color: var(--g-text2) !important; border-radius: 0 !important; border-color: transparent !important; background: transparent !important; -webkit-font-smoothing: antialiased !important; }


body.theme-dark .nav-tabs > li > a:hover { background: var(--g-bg3) !important; color: var(--g-text) !important; }


body.theme-dark .nav-tabs > li.active > a,
body.theme-dark .nav-tabs > li.active > a:hover,
body.theme-dark .nav-tabs > li.active > a:focus { background: var(--g-bg2) !important; color: var(--g-accent) !important; border-color: var(--g-border) var(--g-border) transparent !important; box-shadow: 0 -2px 0 var(--g-accent) !important; font-weight: 600 !important; }


body.theme-dark .tab-content { background: transparent !important; }


body.theme-dark .nav-tabs.bordered { background: var(--g-bg2) !important; border: 1px solid var(--g-border2) !important; }


body.theme-dark .nav-tabs.bordered + .tab-content { background: var(--g-bg2) !important; border: 1px solid var(--g-border2) !important; border-top: none !important; }


body.theme-dark .tabs-left > .nav-tabs { float: left !important; margin-right: 16px !important; border-right: 1px solid var(--g-border2) !important; border-bottom: 0 !important; }


body.theme-dark .tabs-left > .nav-tabs .active > a,
body.theme-dark .tabs-left > .nav-tabs .active > a:hover,
body.theme-dark .tabs-left > .nav-tabs .active > a:focus { border-color: var(--g-border2) transparent var(--g-border2) var(--g-border) !important; box-shadow: -2px 0 0 var(--g-accent) !important; }


body.theme-dark .tabs-right > .nav-tabs { float: right !important; margin-left: 16px !important; border-left: 1px solid var(--g-border2) !important; border-bottom: 0 !important; }


body.theme-dark .tabs-right > .nav-tabs .active > a,
body.theme-dark .tabs-right > .nav-tabs .active > a:hover { border-color: var(--g-border2) var(--g-border) var(--g-border2) transparent !important; box-shadow: 2px 0 0 var(--g-accent) !important; }


body.theme-dark .tabs-below > .nav-tabs { border-top: 1px solid var(--g-border2) !important; border-bottom: 0 !important; }


body.theme-dark .tabs-below > .nav-tabs > .active > a { border-color: transparent var(--g-border2) var(--g-border2) !important; box-shadow: 0 2px 0 var(--g-accent) !important; }


body.theme-dark .tabs-pull-right.nav-tabs > li { float: right !important; }


body.theme-dark .nav-pills > li > a { color: var(--g-text2) !important; background: var(--g-bg3) !important; border: 1px solid var(--g-border2) !important; }


body.theme-dark .nav-pills > li > a:hover { background: var(--g-bg4) !important; color: var(--g-text) !important; }


body.theme-dark .nav-pills > li.active > a { background: var(--g-accent) !important; border-color: var(--g-accent) !important; color: #fff !important; }


body.theme-dark .nav-tabs { border-bottom-color: var(--g-border2) !important; }


body.theme-dark .nav-tabs > li > a { color: var(--g-text2) !important; }


body.theme-dark .nav-tabs > li > a:hover { background: var(--g-bg3) !important; color: var(--g-text) !important; }


body.theme-dark .nav-tabs > li.active > a,
body.theme-dark .nav-tabs > li.active > a:hover,
body.theme-dark .nav-tabs > li.active > a:focus { background: var(--g-bg2) !important; color: var(--g-accent) !important; box-shadow: 0 -2px 0 var(--g-accent) !important; }


body.theme-dark .nav-tabs.bordered { background: var(--g-bg2) !important; border-color: var(--g-border2) !important; }


body.theme-dark .nav-tabs.bordered + .tab-content { background: var(--g-bg2) !important; border-color: var(--g-border2) !important; }


body.theme-dark .nav-pills > li > a { color: var(--g-text2) !important; background: var(--g-bg3) !important; border-color: var(--g-border2) !important; }


body.theme-dark .nav-pills > li.active > a { background: var(--g-accent) !important; color: #fff !important; }



/* ================================================================
   21. RESPONSIVE
   ================================================================ */


@media (max-width: 768px) {

  
body.theme-dark #cont-tabs-sys { overflow-x: auto !important; flex-wrap: nowrap !important; }

  
body.theme-dark .table-responsive { overflow-x: auto !important; }

  
body.theme-dark .modal-body { max-height: 65vh !important; overflow-y: auto !important; }


}



/* ================================================================
   DARK MODE Ã¢â‚¬â€� amCharts texto blanco en grÃƒÂ¡ficos
   amCharts usa SVG con elementos <text> y etiquetas
   ================================================================ */


body.theme-dark [id*="chart"] text,
body.theme-dark [id*="Chart"] text,
body.theme-dark [class*="chart"] text,
body.theme-dark [class*="Chart"] text,
body.theme-dark div[id*="chart"] svg text,
body.theme-dark div[id*="Chart"] svg text { fill: #e8eaf6 !important; }



/* amCharts crea divs con prefijo "chartdiv" o similares */


body.theme-dark svg text { fill: #e8eaf6 !important; }


body.theme-dark svg tspan { fill: #e8eaf6 !important; }



/* Ejes y grid lines mÃƒÂ¡s suaves */


body.theme-dark svg line,
body.theme-dark svg path.amcharts-grid-line { stroke: rgba(255,255,255,.1) !important; }



/* FIX DARK: inputs de filtro en fullgrid Ã¢â‚¬â€� borde sutil */


body.theme-dark table.fullgrid input[type="text"],
body.theme-dark table.fullgrid input[type="search"],
body.theme-dark table.fullgrid input,
body.theme-dark .fullgrid-dt-toolbar input[type="text"],
body.theme-dark .fullgrid-dt-toolbar input { background:   var(--g-bg3) !important;
  border:       1px solid var(--g-border) !important;
  color:        var(--g-text) !important;
  box-shadow:   none !important; }



/* FIX DARK: bordes de th/td en fullgrid Ã¢â‚¬â€� eliminar lÃƒÂ­neas blancas */


body.theme-dark table.fullgrid th,
body.theme-dark table.fullgrid td,
body.theme-dark table.fullgrid thead > tr > th,
body.theme-dark table.fullgrid tbody > tr > td { border-color: var(--g-border) !important; }


body.theme-dark table.fullgrid,
body.theme-dark table.fullgrid > thead,
body.theme-dark table.fullgrid > tbody { border-color: var(--g-border) !important; }



/* FIX DARK: th con position:relative en fullgrid Ã¢â‚¬â€� borde blanco de SmartAdmin */


body.theme-dark th[style*="position: relative"],
body.theme-dark th[style*="position:relative"] { border-color: var(--g-border) !important;
  box-shadow: none !important;
  outline: none !important; }



/* FIX DARK: pseudo-elementos en th con position:relative causan borde blanco */


body.theme-dark th[style*="position"]::after,
body.theme-dark th[style*="position"]::before { display: none !important; }


body.theme-dark table.fullgrid th::after,
body.theme-dark table.fullgrid th::before { display: none !important; }



/* FIX DARK: th con position:relative del fullgrid/DataTables
   El resize handle de columnas expone border #CCC de jarviswidget>div */


body.theme-dark table.fullgrid thead tr th[style],
body.theme-dark table.fullgrid thead tr th { border-color: var(--g-border) !important;
  border-right-color: var(--g-border) !important;
  border-left-color: var(--g-border) !important;
  border-bottom-color: var(--g-border2) !important; }


body.theme-dark .jarviswidget > div,
body.theme-dark .lv-container > div { border-right-color: var(--g-border) !important;
  border-bottom-color: var(--g-border) !important;
  border-left-color: var(--g-border) !important; }



/* FIX DARK: th de fila de filtros del fullgrid
   fullgrid.jquery.js asigna position:relative via JS en addTrSearchCols
   Eso expone el border #CCC de jarviswidget>div como lÃƒÂ­nea blanca */


body.theme-dark table.fullgrid thead tr:nth-child(2) th,
body.theme-dark table.fullgrid thead tr:last-child th,
body.theme-dark table.fullgrid thead tr th[style*="position"] { border-color: var(--g-border) !important;
  border-top-color: var(--g-border) !important;
  border-bottom-color: var(--g-border) !important;
  border-left-color: var(--g-border) !important;
  border-right-color: var(--g-border) !important;
  background-color: var(--g-bg3) !important; }



/* FIX DARK: th con position:relative del fullgrid Ã¢â‚¬â€� borde blanco
   El stacking context del th expone el borde de jarviswidget>div (#CCC)
   Se pisa con outline:none y box-shadow:none + border del tema */


body.theme-dark table.fullgrid thead tr th[style*="position: relative"],
body.theme-dark table.fullgrid thead tr th.hasinput { border: 1px solid var(--g-border) !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important; }


/* Pisar tambiÃƒÂ©n el pseudo-elemento que genera el borde */


body.theme-dark table.fullgrid thead tr th[style*="position: relative"]::before,
body.theme-dark table.fullgrid thead tr th[style*="position: relative"]::after,
body.theme-dark table.fullgrid thead tr th.hasinput::before,
body.theme-dark table.fullgrid thead tr th.hasinput::after { border-color: var(--g-border) !important;
  background: transparent !important; }



/* FIX: quitar border-bottom 2px en th del fullgrid en dark */


body.theme-dark .table>thead>tr>th { border-bottom: 1px solid var(--g-border) !important; }



/* FIX: Bootstrap table-bordered border #ddd en dark */


body.theme-dark .table-bordered,
body.theme-dark .table-bordered > thead > tr > th,
body.theme-dark .table-bordered > thead > tr > td,
body.theme-dark .table-bordered > tbody > tr > th,
body.theme-dark .table-bordered > tbody > tr > td,
body.theme-dark .table-bordered > tfoot > tr > th,
body.theme-dark .table-bordered > tfoot > tr > td { border: 1px solid var(--g-border) !important; }


body.theme-dark .table-bordered > thead > tr > th { border-bottom: 1px solid var(--g-border) !important; }



/* FIX: bordes derecho e inferior del jarviswidget>div en dark */


body.theme-dark .jarviswidget > div,
body.theme-dark .lv-container > div { border-right-color:  var(--g-border) !important;
  border-bottom-color: var(--g-border) !important;
  border-left-color:   var(--g-border) !important;
  border-top-color:    var(--g-border) !important; }



/* FIX: jarviswidget>div tiene border-width:1px 1px 2px y colores #CCC hardcodeados */


body.theme-dark .jarviswidget > div { border-width:        1px !important;
  border-style:        solid !important;
  border-color:        var(--g-border) !important;
  border-top:          none !important;
  border-right-color:  var(--g-border) !important;
  border-bottom-color: var(--g-border) !important;
  border-left-color:   var(--g-border) !important; }



/* FIX DARK: lv-container-green y variantes de color custom */


body.theme-dark .lv-container-green { background:   #1a2e1a !important;
  border-color: #2d4a2d !important;
  color:        var(--g-text) !important; }


body.theme-dark .lv-container-green input,
body.theme-dark .lv-container-green select,
body.theme-dark .lv-container-green .form-control { background:   var(--g-bg3) !important;
  border-color: var(--g-border2) !important;
  color:        var(--g-text) !important; }



/* FIX DARK: fondo blanco debajo del contenido cuando es corto */


body.theme-dark #cont-main-sys,
body.theme-dark #cont-main-sys > div,
body.theme-dark #cont-main-sys > .tab-pane,
body.theme-dark #cont-main-sys > .tab-content,
body.theme-dark .tab-content,
body.theme-dark .tab-pane { background-color: var(--g-bg2) !important; }



body.theme-dark #content-sys,
body.theme-dark #cont-general-tabs-sys { background-color: var(--g-bg) !important; }



/* FIX DARK: jQuery UI agrega ui-widget-content con background:#fff
   al #cont-general-tabs-sys */


body.theme-dark #cont-general-tabs-sys.ui-widget-content,
body.theme-dark #cont-general-tabs-sys.ui-widget,
body.theme-dark #cont-general-tabs-sys.ui-tabs { background-color: var(--g-bg) !important; }




/* FIX DARK: lv-breadcrumb Ã¢â‚¬â€� flechas de navegaciÃƒÂ³n */


body.theme-dark .lv-breadcrumb a { background:  #2d3a4a !important;
  color:       var(--g-text2) !important;
  text-shadow: none !important; }


body.theme-dark .lv-breadcrumb a:hover { background:  #3a4a5c !important;
  color:       var(--g-text) !important; }


body.theme-dark .lv-breadcrumb a::before { border-color: #2d3a4a transparent !important; }


body.theme-dark .lv-breadcrumb a:hover::before { border-color: #3a4a5c transparent !important; }


body.theme-dark .lv-breadcrumb a::after { border-left-color: #2d3a4a !important; }


body.theme-dark .lv-breadcrumb a:hover::after { border-left-color: #3a4a5c !important; }


/* ÃƒÅ¡ltimo item (activo) */


body.theme-dark .lv-breadcrumb li:nth-last-child(1) a { background: var(--g-bg4) !important;
  color:      var(--g-text) !important; }


body.theme-dark .lv-breadcrumb li:nth-last-child(1) a::after { border-left-color: var(--g-bg4) !important; }


body.theme-dark .lv-breadcrumb li:nth-last-child(1) a::before { border-color: var(--g-bg4) transparent !important; }


/* Primer item (home icon) mantiene el amarillo pero apagado */


body.theme-dark .lv-breadcrumb li:first-child a { background: #8a6a10 !important; }


body.theme-dark .lv-breadcrumb li:first-child a::before { border-color: #8a6a10 transparent !important; }


body.theme-dark .lv-breadcrumb li:first-child a::after { border-left-color: #8a6a10 !important; }



/* ================================================================
   DARK MODE Ã¢â‚¬â€� SweetAlert2 (swal2-*)
   ================================================================ */


body.theme-dark .swal2-popup { background:  var(--g-bg2) !important;
  color:       var(--g-text) !important;
  border:      1px solid var(--g-border2) !important;
  box-shadow:  0 8px 32px rgba(0,0,0,.5) !important; }


body.theme-dark .swal2-title { color: var(--g-text) !important; }


body.theme-dark .swal2-content,
body.theme-dark .swal2-html-container { color: var(--g-text2) !important; }


body.theme-dark .swal2-footer { border-top-color: var(--g-border) !important; color: var(--g-text3) !important; }


body.theme-dark .swal2-close { color: var(--g-text3) !important; }


body.theme-dark .swal2-close:hover { color: var(--g-red) !important; }



/* Botones SweetAlert2 */


body.theme-dark .swal2-styled.swal2-confirm { background-color: var(--g-btn-success) !important; }


body.theme-dark .swal2-styled.swal2-cancel { background-color: var(--g-bg4) !important; color: var(--g-text) !important; }


body.theme-dark .swal2-styled.swal2-deny { background-color: var(--g-btn-danger) !important; }



/* Iconos */


body.theme-dark .swal2-icon.swal2-warning { border-color: var(--g-amber) !important; color: var(--g-amber) !important; }


body.theme-dark .swal2-icon.swal2-error { border-color: var(--g-red) !important; color: var(--g-red) !important; }


body.theme-dark .swal2-icon.swal2-success { border-color: var(--g-green) !important; color: var(--g-green) !important; }


body.theme-dark .swal2-icon.swal2-info { border-color: #38b2e0 !important; color: #38b2e0 !important; }


body.theme-dark .swal2-icon.swal2-question { border-color: var(--g-text3) !important; color: var(--g-text3) !important; }



/* Input dentro del popup */


body.theme-dark .swal2-input,
body.theme-dark .swal2-textarea,
body.theme-dark .swal2-select { background: var(--g-bg3) !important; border-color: var(--g-border2) !important; color: var(--g-text) !important; }



/* Fondo oscuro del backdrop */


body.theme-dark .swal2-container.swal2-backdrop-show { background: rgba(0,0,0,.7) !important; }



/* ================================================================
   DARK MODE Ã¢â‚¬â€� POS / Pantalla de pago
   ================================================================ */



/* Modal body con background:#FAFAFA inline */


body.theme-dark [style*="background: #FAFAFA"],
body.theme-dark [style*="background:#FAFAFA"],
body.theme-dark [style*="background: #fafafa"],
body.theme-dark [style*="background:#fafafa"] { background-color: var(--g-bg2) !important; }



/* Contenedor de mÃƒÂ©todos de pago y lÃƒÂ­neas */


body.theme-dark .paymentmethods-container { background: var(--g-bg2) !important; }


body.theme-dark .paymentlines { background: var(--g-bg3) !important; border-color: var(--g-border) !important; }


body.theme-dark #d_fpago_add { background: var(--g-bg3) !important; }



/* Bordes inline #e9e9e9 */


body.theme-dark [style*="border-right: 1px solid #e9e9e9"],
body.theme-dark [style*="border-bottom: 1px solid #e9e9e9"],
body.theme-dark [style*="border-top: 1px solid #e9e9e9"] { border-color: var(--g-border) !important; }



/* nav-pills de mÃƒÂ©todos de pago (DEPOSITO, EFECTIVO, PLIN...) */


body.theme-dark #d_forma_pago .nav-pills > li > a,
body.theme-dark .nav-pills > li > a { background:   var(--g-bg3) !important;
  border:       1px solid var(--g-border2) !important;
  color:        var(--g-text2) !important; }


body.theme-dark #d_forma_pago .nav-pills > li.active > a,
body.theme-dark .nav-pills > li.active > a { background:   var(--g-accent) !important;
  border-color: var(--g-accent) !important;
  color:        #fff !important; }



/* Items de pago agregados (TARJETA DE... 2.00, EFECTIVO 122.60) */


body.theme-dark .paymentlines .row,
body.theme-dark #d_fpago_add .row,
body.theme-dark #d_fpago_add > div { background: var(--g-bg3) !important; color: var(--g-text) !important; }



/* Teclado numÃƒÂ©rico */


body.theme-dark .lv-teclado,
body.theme-dark [id*="teclado"],
body.theme-dark [class*="teclado"] { background: var(--g-bg2) !important; border-color: var(--g-border) !important; }



/* ================================================================
   DARK MODE Ã¢â‚¬â€� MÃƒÂ³dulo Habitaciones (Bootstrap Cards + Accordion)
   ================================================================ */


body.theme-dark .card { background:   var(--g-bg2) !important;
  border-color: var(--g-border) !important;
  color:        var(--g-text) !important; }


body.theme-dark .card-header { background:   var(--g-bg3) !important;
  border-color: var(--g-border) !important;
  color:        var(--g-text) !important; }


body.theme-dark .card-header a,
body.theme-dark .card-header .card-title { color: var(--g-text) !important; }


body.theme-dark .card-body { background:   var(--g-bg2) !important;
  color:        var(--g-text) !important; }


/* card-title con color:#000;background:#fff hardcodeado */


body.theme-dark .card-title[style*="background:#fff"],
body.theme-dark .card-title[style*="background: #fff"],
body.theme-dark h5.card-title { background:   #1a202c !important;
  color:        var(--g-text) !important; }


body.theme-dark .card-text { color: var(--g-text2) !important; }


body.theme-dark .collapse { background: var(--g-bg2) !important; }



/* Accordion pisos Ã¢â‚¬â€� header pÃƒÂºrpura (bg-color-purple via SmartAdmin) */


body.theme-dark .card > .card-header[class*="bg-color-purple"],
body.theme-dark .card-header._piso_acco { background: #3b1a6e !important; 
  color: #e9d5ff !important; }



/* badge en el header del piso */


body.theme-dark .badge-dark { background: var(--g-bg4) !important; color: var(--g-text) !important; }


body.theme-dark .badge-secondary { background: var(--g-bg5) !important; color: var(--g-text2) !important; }



/* FIX DARK: paymentline (lÃƒÂ­neas de pago en POS) */


body.theme-dark .paymentline,
body.theme-dark .paymentline.selected { background:   var(--g-bg3) !important;
  border-color: var(--g-border) !important;
  color:        var(--g-text) !important; }


body.theme-dark .paymentline.selected { background:   var(--g-bg4) !important;
  border-left:  3px solid var(--g-accent) !important; }


body.theme-dark .payment-name { color: var(--g-text) !important; }


body.theme-dark .payment-amount { color: var(--g-text2) !important; }


body.theme-dark .paymentlines { background: var(--g-bg2) !important; }



/* ================================================================
   DARK MODE Ã¢â‚¬â€� Recepcion/Ingreso: cards habitaciones + leyenda
   ================================================================ */



/* Cards de habitaciones con color_estado inline */


body.theme-dark .d_dormitorio_,
body.theme-dark .card.d_dormitorio_ { filter: brightness(0.6) saturate(0.8) !important; }


body.theme-dark .card.d_dormitorio_ .card-title,
body.theme-dark .card.d_dormitorio_ h5 { filter: brightness(1.6) !important; color: #fff !important; }


body.theme-dark .card.d_dormitorio_ .card-text { filter: brightness(1.6) !important; color: #fff !important; }



/* Dropdown items dentro de habitaciones */


body.theme-dark .dropdown-item { background: var(--g-bg2) !important; color: var(--g-text2) !important; }


body.theme-dark .dropdown-item:hover { background: var(--g-bg3) !important; color: var(--g-text) !important; }


body.theme-dark .dropdown-menu { background: var(--g-bg2) !important; border-color: var(--g-border2) !important; }



/* Tabla Estado y Tipo (leyenda inferior) */


body.theme-dark #tb_estado,
body.theme-dark #tb_tipo { background: var(--g-bg2) !important; color: var(--g-text) !important; }


body.theme-dark #tb_estado tr,
body.theme-dark #tb_tipo tr { background: var(--g-bg2) !important; color: var(--g-text) !important; }


body.theme-dark #tb_estado td,
body.theme-dark #tb_tipo td { color: var(--g-text) !important; border-color: var(--g-border) !important; }


body.theme-dark .todo-group-title { color: var(--g-text2) !important; }



/* tr_estado selected background naranja Ã¢â‚¬â€� dejar intacto (es funcional) */


body.theme-dark .tr_estado { cursor: pointer !important; }



/* Tab pisos (Piso:1, Piso:2...) */


body.theme-dark #INGA__d_piso .nav-tabs > li > a,
body.theme-dark [id*="d_piso"] .nav-tabs > li > a { color: var(--g-text2) !important; }


body.theme-dark [id*="d_piso"] .nav-tabs > li.active > a { color: var(--g-accent) !important; }



/* FIX DARK: teclado.css define paymentline con background:#e2e2e2
   y paymentline.selected con background:white */


body.theme-dark .paymentline { background:   var(--g-bg3) !important;
  border-color: var(--g-border) !important;
  color:        var(--g-text) !important; }


body.theme-dark .paymentline.selected { background:   var(--g-bg4) !important;
  border-color: var(--g-accent) !important;
  color:        var(--g-text) !important; }


body.theme-dark .paymentlines-container { background:   var(--g-bg2) !important;
  border-color: var(--g-border) !important; }



/* FIX DARK: cards de habitaciones con background inline (color_estado) */


body.theme-dark .card.d_dormitorio_,
body.theme-dark .card.d_servicio_ { background: var(--g-bg3) !important;
  border-color: var(--g-border) !important; }


body.theme-dark .card.d_dormitorio_ .card-title,
body.theme-dark .card.d_servicio_ .card-title { background: var(--g-bg3) !important;
  color: var(--g-text) !important; }


body.theme-dark .card.d_dormitorio_ .card-text,
body.theme-dark .card.d_servicio_ .card-text { color: var(--g-text2) !important; }



/* tr_estado con background:#fff via JS */


body.theme-dark .tr_estado { background: var(--g-bg3) !important; }



/* FIX DARK: tr_estado_h y todo-group-title en recepcion/ingreso */


body.theme-dark .tr_estado_h td,
body.theme-dark .tr_estado_h,
body.theme-dark .todo-group-title { background: var(--g-bg3) !important; 
  color:      var(--g-text2) !important;
  border-color: var(--g-border) !important; }



/* FIX DARK: todo-group-title dentro de table-bordered */


body.theme-dark table .tr_estado_h > td,
body.theme-dark table .tr_estado_h > td > h5,
body.theme-dark table .tr_estado_h > td > .todo-group-title,
body.theme-dark h5.todo-group-title,
body.theme-dark .todo-group-title { background-color: var(--g-bg3) !important;
  color:            var(--g-text2) !important;
  border-color:     var(--g-border) !important; }



/* FIX DARK: inputs readonly con color:#000 hardcodeado inline */


body.theme-dark input[style*="color: #000"],
body.theme-dark input[style*="color:#000"] { color: var(--g-text) !important; }



/* FIX: inputs disabled/readonly con texto poco visible Ã¢â‚¬â€� color azul */


body.theme-dark input[disabled],
body.theme-dark input[readonly],
body.theme-dark input.disabled,
body.theme-dark input.lv-disabled { color: #60a5fa !important;
  opacity: 1 !important; }



/* ================================================================
   LIGHT MODE Ã¢â‚¬â€� fondo general suavizado
   ================================================================ */







/* FIX: lv-disabled y readonly Ã¢â‚¬â€� azul negrita */


body.theme-dark .form-control.lv-disabled,
body.theme-dark input.lv-disabled,
body.theme-dark input.lv-disabled[readonly],
body.theme-dark select.lv-disabled { color: #93c5fd !important; font-weight: 700 !important; opacity: 1 !important; }


body.theme-dark .form-control[readonly],
body.theme-dark input.form-control[readonly] { color: #93c5fd !important; font-weight: 700 !important; opacity: 1 !important; }



/* FIX: labels con contraste */


body.theme-dark .label-success { background-color: #1a7a3c !important; color: #fff !important; font-weight: 600 !important; }


body.theme-dark .label-warning { background-color: #b45309 !important; color: #fff !important; font-weight: 600 !important; }


body.theme-dark .label-danger { background-color: #b91c1c !important; color: #fff !important; font-weight: 600 !important; }


body.theme-dark .label-info { background-color: #0e6fa0 !important; color: #fff !important; font-weight: 600 !important; }


body.theme-dark .label-default { background-color: #4b5563 !important; color: #fff !important; font-weight: 600 !important; }



/* FIX DARK: page-title con txt-color-blueDark */


body.theme-dark .page-title,
body.theme-dark .page-title span,
body.theme-dark h1.txt-color-blueDark,
body.theme-dark .txt-color-blueDark { color: var(--g-text2) !important; }



/* FIX LIGHT: texto en jarviswidget header */


body.theme-dark .jarviswidget > header span,
body.theme-dark .jarviswidget > header .widget-toolbar span,
body.theme-dark .jarviswidget-ctrls span { color: var(--g-text2) !important; }



/* FIX DARK: time.icon (numeraciÃƒÂ³n tipo calendario) */


body.theme-dark time.icon { background-color: var(--g-bg3) !important; box-shadow: 0 1px 0 var(--g-border2), 0 0 0 1px var(--g-border2) !important; }


body.theme-dark time.icon strong { background-color: var(--g-bg4) !important; color: var(--g-text2) !important; box-shadow: none !important; }


body.theme-dark time.icon span,
body.theme-dark time.icon em { color: var(--g-text) !important; }



/* html dark bg (sin :has(): incompatible con navegadores viejos, ver secciÃƒÂ³n 15) */


html.theme-dark { background-color: #0f1117 !important; }



/* FIX DARK: ajax-notifications panel (sesiones/actividad) */


body.theme-dark .ajax-notifications { background: var(--g-bg2) !important; border-color: var(--g-border) !important; }


body.theme-dark .notification-body > li > span { background: var(--g-bg2) !important; }


body.theme-dark .notification-body > li > span:hover { background: var(--g-bg3) !important; }


body.theme-dark .notification-body .unread { background: var(--g-bg3) !important; }


body.theme-dark .notification-body .from { color: var(--g-text) !important; }


body.theme-dark .notification-body time { color: var(--g-accent) !important; }


body.theme-dark .notification-body .subject { color: var(--g-text2) !important; }


body.theme-dark .notification-body .msg-body { color: var(--g-text3) !important; }


body.theme-dark .ajax-dropdown { background: var(--g-bg2) !important; border-color: var(--g-border2) !important; }



/* FIX DARK: treelst chosen-results dropdown */


body.theme-dark .chosen-results,
body.theme-dark .treelst-container .chosen-results,
body.theme-dark .treelst .chosen-results { background: var(--g-bg2) !important; }


body.theme-dark .chosen-results li,
body.theme-dark .treelst-container .chosen-results li,
body.theme-dark .treelst .chosen-results li { color: var(--g-text2) !important; background: var(--g-bg2) !important; }


body.theme-dark .chosen-results li.active-result:hover,
body.theme-dark .treelst-container .chosen-results li.active-result:hover,
body.theme-dark .treelst .chosen-results li.active-result:hover { background: var(--g-bg3) !important; color: var(--g-text) !important; }


body.theme-dark .chosen-results li.highlighted,
body.theme-dark .treelst .chosen-results li.highlighted { background: var(--g-bg3) !important; color: var(--g-text) !important; }


body.theme-dark .plus-icon,
body.theme-dark .minus-icon { filter: invert(1) opacity(0.6) !important; }


body.theme-dark label.selectable_0,
body.theme-dark label.clicktree { color: var(--g-text2) !important; }



/* ================================================================
   DARK: Vista previa voucher/ticket (.voucher_ticket)
   ================================================================ */


body.theme-dark .voucher_ticket { background: var(--g-bg2) !important; }


body.theme-dark .voucher_body { background:    #1a1f2e !important;
  color:         #d4d8e8 !important;
  border:        1px solid var(--g-border2) !important;
  border-radius: 4px !important; }


body.theme-dark .voucher_body b,
body.theme-dark .voucher_body td,
body.theme-dark .voucher_body th,
body.theme-dark .voucher_body div { color: #d4d8e8 !important; }


body.theme-dark .voucher_body hr { border-color: rgba(255,255,255,.15) !important; }


body.theme-dark .voucher_body table,
body.theme-dark .voucher_body table tr,
body.theme-dark .voucher_body table td,
body.theme-dark .voucher_body table th { background: transparent !important; border-color: rgba(255,255,255,.12) !important; color: #d4d8e8 !important; }


body.theme-dark .voucher_body table[border="1"] { border-color: rgba(255,255,255,.15) !important; }


body.theme-dark .voucher_body table[border="1"] td { border-color: rgba(255,255,255,.15) !important; }


body.theme-dark .voucher_ticket .printer { color: #d4d8e8 !important; }


body.theme-dark .voucher_body img { filter: brightness(0.85) !important; }



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


body.theme-dark .dd3-handle { background: var(--g-bg3) !important; }




/* ================================================================
   FIX FINAL: filas blancas en tablas SmartAdmin / Bootstrap / FullGrid
   Solo modo oscuro; sobrescribe table-striped y fondos inline.
   ================================================================ */
body.theme-dark table.table > tbody > tr,
body.theme-dark table.table > tbody > tr > td,
body.theme-dark table.table-striped > tbody > tr:nth-of-type(odd),
body.theme-dark table.table-striped > tbody > tr:nth-of-type(even),
body.theme-dark table.table-striped > tbody > tr:nth-of-type(odd) > td,
body.theme-dark table.table-striped > tbody > tr:nth-of-type(even) > td,
body.theme-dark table.table-hover > tbody > tr > td,
body.theme-dark table.fullgrid > tbody > tr,
body.theme-dark table.fullgrid > tbody > tr > td,
body.theme-dark .dataTable > tbody > tr > td,
body.theme-dark .table > tbody > tr[role="row"] > td {
  background-color: var(--g-bg2) !important;
  color: var(--g-text) !important;
  border-color: var(--g-border) !important;
}

/* Alternancia sutil para distinguir filas */
body.theme-dark table.table-striped > tbody > tr:nth-of-type(odd) > td,
body.theme-dark table.fullgrid.table-striped > tbody > tr:nth-of-type(odd) > td,
body.theme-dark table.dataTable.stripe > tbody > tr.odd > td,
body.theme-dark table.dataTable.display > tbody > tr.odd > td {
  background-color: var(--g-bg3) !important;
}

/* Hover y selección */
body.theme-dark table.table > tbody > tr:hover > td,
body.theme-dark table.fullgrid > tbody > tr:hover > td,
body.theme-dark table.dataTable > tbody > tr:hover > td {
  background-color: var(--g-bg4) !important;
  color: var(--g-text) !important;
}
body.theme-dark table.table > tbody > tr.active > td,
body.theme-dark table.table > tbody > tr.selected > td,
body.theme-dark table.fullgrid > tbody > tr.selected > td,
body.theme-dark table.dataTable > tbody > tr.selected > td {
  background-color: var(--g-accent-soft) !important;
  color: var(--g-text) !important;
}

/* JavaScript a veces asigna fondos blancos inline */
body.theme-dark table td[style*="background: white"],
body.theme-dark table td[style*="background:white"],
body.theme-dark table td[style*="background-color: white"],
body.theme-dark table td[style*="background-color:white"],
body.theme-dark table tr[style*="background: white"],
body.theme-dark table tr[style*="background:white"],
body.theme-dark table tr[style*="background-color: white"],
body.theme-dark table tr[style*="background-color:white"] {
  background-color: var(--g-bg2) !important;
  color: var(--g-text) !important;
}
