/*************************************************
* w2ui 1.5 — Tema moderno (overrides)
* Se carga DESPUÉS de w2ui-1.5.css y solo reemplaza colores,
* bordes, sombras y radios. No toca alturas/paddings: w2ui
* calcula el layout en JS con esas medidas.
* Para volver al tema original basta con quitar el <link>.
*/
:root {
  --w2-primario: #2563eb;
  --w2-primario-hover: #1d4ed8;
  --w2-primario-activo: #1e40af;
  --w2-primario-suave: #eff6ff;
  --w2-primario-borde: #bfdbfe;
  --w2-seleccion: #dbeafe;
  --w2-seleccion-fila: #bfdbfe;
  --w2-seleccion-linea: #2563eb;
  --w2-hover-fila: #f1f5f9;

  --w2-exito: #16a34a;
  --w2-exito-hover: #15803d;
  --w2-alerta: #f59e0b;
  --w2-alerta-hover: #d97706;
  --w2-peligro: #dc2626;
  --w2-peligro-hover: #b91c1c;

  --w2-fondo: #eef2f6;
  --w2-superficie: #ffffff;
  --w2-superficie-2: #e8edf3;
  --w2-cabecera: #f4f6f9;
  --w2-borde: #d9e0e8;
  --w2-borde-fuerte: #cbd5e1;
  --w2-texto: #0f172a;
  --w2-texto-2: #475569;
  --w2-texto-3: #94a3b8;

  --w2-sb-fondo: #1e293b;
  --w2-sb-hover: #334155;
  --w2-sb-borde: #334155;
  --w2-sb-borde-btn: #475569;
  --w2-sb-texto-2: #64748b;
  --w2-sb-texto: #cbd5e1;
  --w2-sb-texto-fuerte: #f8fafc;
  --w2-sb-icono: #94a3b8;
  --w2-sb-grupo: #64748b;

  /* Toolbar superior: gris claro, independiente del sidebar */
  --w2-tb-fondo: #e2e8f0;
  --w2-tb-borde: #cbd5e1;
  --w2-tb-btn: #ffffff;
  --w2-tb-btn-borde: #cbd5e1;
  --w2-tb-btn-hover: #eff6ff;
  --w2-tb-btn-borde-hover: #2563eb;
  --w2-tb-activo: #2563eb;
  --w2-tb-texto: #0f172a;
  --w2-tb-icono: #2563eb;

  --w2-radio: 6px;
  /* Forms: valor vs. etiqueta */
  --w2-valor: #0b1220;
  --w2-valor-lectura: #1e293b;
  --w2-etiqueta: #64748b;
  --w2-borde-valor: #94a3b8;

  --w2-sombra: 0 1px 2px rgba(15, 23, 42, 0.06), 0 1px 3px rgba(15, 23, 42, 0.08);
  --w2-sombra-popup: 0 20px 40px -8px rgba(15, 23, 42, 0.35);
  --w2-anillo: 0 0 0 3px rgba(37, 99, 235, 0.25);
}

/* ---- Inputs ---- */
input:not([type=button]):not([type=submit]).w2ui-input,
textarea.w2ui-input,
select.w2ui-input {
  border: 1px solid var(--w2-borde-fuerte);
  border-radius: var(--w2-radio);
  color: var(--w2-texto);
  background-color: var(--w2-superficie);
  transition: border-color .15s, box-shadow .15s;
}
input:not([type=button]):not([type=submit]).w2ui-input:focus,
textarea.w2ui-input:focus,
select.w2ui-input:focus,
div.w2ui-input:focus {
  outline: none;
  border-color: var(--w2-primario);
  background-color: var(--w2-superficie);
  box-shadow: var(--w2-anillo);
}
input:not([type=button]):not([type=submit]).w2ui-input:disabled,
textarea.w2ui-input:disabled,
input:not([type=button]):not([type=submit]).w2ui-input[readonly],
textarea.w2ui-input[readonly],
.w2ui-disabled,
.w2ui-readonly {
  background-color: var(--w2-superficie-2) !important;
  color: var(--w2-texto-2) !important;
}
.w2ui-field > label {
  color: var(--w2-texto-2);
}

/* ---- Valores en forms: el dato manda, la etiqueta acompaña ---- */
.w2ui-form .w2ui-field > label {
  color: var(--w2-etiqueta);
  font-weight: 400;
}
.w2ui-form input:not([type=button]):not([type=submit]):not([type=checkbox]):not([type=radio]).w2ui-input,
.w2ui-form textarea.w2ui-input,
.w2ui-form select.w2ui-input,
.w2ui-form .w2ui-field div.w2ui-input,
.w2ui-form .w2ui-list li > div {
  color: var(--w2-valor);
  font-weight: 500;
  letter-spacing: .1px;
}
/* Con valor: borde un tono más presente que el campo vacío */
.w2ui-form input:not([type=button]):not([type=submit]):not([type=checkbox]):not([type=radio]).w2ui-input:not(:placeholder-shown):not(:focus),
.w2ui-form textarea.w2ui-input:not(:placeholder-shown):not(:focus) {
  border-color: var(--w2-borde-valor);
}
.w2ui-form input.w2ui-input::placeholder,
.w2ui-form textarea.w2ui-input::placeholder {
  color: var(--w2-texto-3);
  font-weight: 400;
}
/* Solo lectura / deshabilitado: el valor se sigue leyendo bien, el fondo indica que no se edita */
.w2ui-form input:not([type=button]):not([type=submit]).w2ui-input:disabled,
.w2ui-form textarea.w2ui-input:disabled,
.w2ui-form input:not([type=button]):not([type=submit]).w2ui-input[readonly],
.w2ui-form textarea.w2ui-input[readonly] {
  color: var(--w2-valor-lectura) !important;
  -webkit-text-fill-color: var(--w2-valor-lectura);
  opacity: 1;
}

/* ---- Botones ---- */
button.w2ui-btn {
  border-radius: var(--w2-radio);
  color: var(--w2-texto);
  border: 1px solid var(--w2-borde-fuerte);
  background-image: none;
  background-color: var(--w2-superficie);
  box-shadow: var(--w2-sombra);
  filter: none;
  cursor: pointer;
  transition: background-color .15s, border-color .15s, box-shadow .15s;
}
button.w2ui-btn:hover {
  border: 1px solid var(--w2-borde-fuerte);
  background-image: none;
  background-color: var(--w2-superficie-2);
  color: var(--w2-texto);
  filter: none;
}
button.w2ui-btn:active,
button.w2ui-btn.clicked {
  border: 1px solid var(--w2-borde-fuerte);
  background-image: none;
  background-color: var(--w2-borde);
  text-shadow: none;
  filter: none;
}
button.w2ui-btn:focus:before {
  border: none;
}
button.w2ui-btn:focus-visible {
  box-shadow: var(--w2-anillo);
}
button.w2ui-btn:disabled {
  border: 1px solid var(--w2-borde) !important;
  background: var(--w2-superficie-2) !important;
  color: var(--w2-texto-3) !important;
  box-shadow: none !important;
}

/* Variantes de color: color plano, sin gradiente */
button.w2ui-btn-blue,   button.w2ui-btn-blue:hover,
button.w2ui-btn-green,  button.w2ui-btn-green:hover,
button.w2ui-btn-orange, button.w2ui-btn-orange:hover,
button.w2ui-btn-red,    button.w2ui-btn-red:hover {
  color: #fff;
  background-image: none;
  text-shadow: none;
  filter: none;
}
button.w2ui-btn-blue                { background-color: var(--w2-primario);        border: 1px solid var(--w2-primario); }
button.w2ui-btn-blue:hover          { background-color: var(--w2-primario-hover);  border: 1px solid var(--w2-primario-hover); }
button.w2ui-btn-blue:active,
button.w2ui-btn-blue.clicked        { background-image: none; background-color: var(--w2-primario-activo); border: 1px solid var(--w2-primario-activo); }

button.w2ui-btn-green               { background-color: var(--w2-exito);          border: 1px solid var(--w2-exito); }
button.w2ui-btn-green:hover         { background-color: var(--w2-exito-hover);    border: 1px solid var(--w2-exito-hover); }
button.w2ui-btn-green:active,
button.w2ui-btn-green.clicked       { background-image: none; background-color: #166534; border: 1px solid #166534; }

button.w2ui-btn-orange              { background-color: var(--w2-alerta);         border: 1px solid var(--w2-alerta); }
button.w2ui-btn-orange:hover        { background-color: var(--w2-alerta-hover);   border: 1px solid var(--w2-alerta-hover); }
button.w2ui-btn-orange:active,
button.w2ui-btn-orange.clicked      { background-image: none; background-color: #b45309; border: 1px solid #b45309; }

button.w2ui-btn-red                 { background-color: var(--w2-peligro);        border: 1px solid var(--w2-peligro); }
button.w2ui-btn-red:hover           { background-color: var(--w2-peligro-hover);  border: 1px solid var(--w2-peligro-hover); }
button.w2ui-btn-red:active,
button.w2ui-btn-red.clicked         { background-image: none; background-color: #991b1b; border: 1px solid #991b1b; }

/* ---- Toggle (checkbox w2ui-toggle) ---- */
input[type="checkbox"].w2ui-toggle:checked + div {
  background-color: var(--w2-exito);
}
input[type="checkbox"].w2ui-toggle.blue:checked + div {
  background-color: var(--w2-primario);
}

/* ---- Form ---- */
.w2ui-form {
  border-color: var(--w2-borde);
  background-color: var(--w2-fondo);
}
.w2ui-form .w2ui-form-header {
  border-bottom: 1px solid var(--w2-borde) !important;
  color: var(--w2-texto);
  font-weight: 600;
  background-image: none;
  background-color: var(--w2-cabecera);
  filter: none;
}
.w2ui-form .w2ui-form-toolbar {
  border-bottom: 1px solid var(--w2-borde);
}
/* Tabs del form: bien visibles, tipo botón; la activa en azul sólido */
.w2ui-form .w2ui-tabs {
  background-color: var(--w2-cabecera);
}
.w2ui-form .w2ui-tabs .w2ui-scroll-wrapper .w2ui-tabs-line {
  border-bottom: 2px solid var(--w2-primario);
}
.w2ui-form .w2ui-tabs .w2ui-scroll-wrapper .w2ui-tab {
  margin: 1px 4px -1px 0;
  color: var(--w2-texto);
  font-weight: 500;
  background-color: var(--w2-superficie-2);
  border: 1px solid var(--w2-borde-fuerte);
  border-bottom: 1px solid transparent;
  border-radius: 6px 6px 0 0;
  cursor: pointer;
  transition: background-color .15s, color .15s, border-color .15s;
}
.w2ui-form .w2ui-tabs .w2ui-scroll-wrapper .w2ui-tab:hover {
  color: var(--w2-primario-activo);
  background-color: var(--w2-seleccion);
  border-color: var(--w2-primario);
  border-bottom-color: transparent;
}
.w2ui-form .w2ui-tabs .w2ui-scroll-wrapper .w2ui-tab.active,
.w2ui-form .w2ui-tabs .w2ui-scroll-wrapper .w2ui-tab.active:hover {
  color: #fff;
  font-weight: 700;
  background-color: var(--w2-primario);
  border: 1px solid var(--w2-primario);
  border-bottom: 1px solid var(--w2-primario);
  box-shadow: 0 -2px 6px rgba(37, 99, 235, .25);
  cursor: default;
}
.w2ui-form .w2ui-buttons {
  border-top: 1px solid var(--w2-borde);
  background-color: var(--w2-cabecera);
}

/* ---- Layout / paneles ---- */
.w2ui-layout > div .w2ui-panel .w2ui-panel-title {
  background-image: none;
  background-color: var(--w2-cabecera);
  filter: none;
  border: 1px solid var(--w2-borde);
  border-bottom: 1px solid var(--w2-borde);
  color: var(--w2-texto);
  font-weight: 600;
}
.w2ui-layout > div .w2ui-panel .w2ui-panel-tabs,
.w2ui-layout > div .w2ui-panel .w2ui-panel-toolbar {
  background-color: var(--w2-cabecera);
  border-bottom: 1px solid var(--w2-borde);
}
.w2ui-layout > div .w2ui-panel .w2ui-panel-tabs > .w2ui-tab.active {
  background-color: var(--w2-fondo);
}
.w2ui-layout > div .w2ui-panel .w2ui-panel-content {
  background-color: var(--w2-fondo);
}
.w2ui-layout > div .w2ui-resizer:hover,
.w2ui-layout > div .w2ui-resizer.active {
  background-color: var(--w2-primario-borde);
}

/* ---- Grid ---- */
.w2ui-grid {
  border: 1px solid var(--w2-borde);
  border-radius: var(--w2-radio);
  background-color: var(--w2-superficie);
}
.w2ui-grid .w2ui-grid-header {
  border-bottom: 1px solid var(--w2-borde) !important;
  color: var(--w2-texto);
  font-weight: 600;
  background-image: none;
  background-color: var(--w2-cabecera);
  filter: none;
}
.w2ui-grid .w2ui-grid-toolbar {
  border-bottom: 1px solid var(--w2-borde);
  background-color: var(--w2-cabecera);
  box-shadow: none;
}
.w2ui-grid .w2ui-grid-body table .w2ui-head {
  border-right: 1px solid var(--w2-borde);
  border-bottom: 1px solid var(--w2-borde-fuerte);
  color: var(--w2-texto-2);
  font-weight: 600;
  background-image: none;
  background-color: var(--w2-superficie-2);
  filter: none;
}
.w2ui-grid .w2ui-grid-body table td {
  border-right: 1px solid var(--w2-borde);
}
.w2ui-grid .w2ui-grid-body .w2ui-grid-records table tr.w2ui-odd,
.w2ui-grid .w2ui-grid-body .w2ui-grid-frecords table tr.w2ui-odd,
.w2ui-grid .w2ui-grid-body .w2ui-grid-records table tr.w2ui-odd.w2ui-empty-record:hover,
.w2ui-grid .w2ui-grid-body .w2ui-grid-frecords table tr.w2ui-odd.w2ui-empty-record:hover {
  background-color: var(--w2-superficie);
}
.w2ui-grid .w2ui-grid-body .w2ui-grid-records table tr.w2ui-even,
.w2ui-grid .w2ui-grid-body .w2ui-grid-frecords table tr.w2ui-even,
.w2ui-grid .w2ui-grid-body .w2ui-grid-records table tr.w2ui-even.w2ui-empty-record:hover,
.w2ui-grid .w2ui-grid-body .w2ui-grid-frecords table tr.w2ui-even.w2ui-empty-record:hover {
  background-color: var(--w2-fondo);
}
.w2ui-grid .w2ui-grid-body .w2ui-grid-records table tr.w2ui-odd:hover,
.w2ui-grid .w2ui-grid-body .w2ui-grid-frecords table tr.w2ui-odd:hover,
.w2ui-grid .w2ui-grid-body .w2ui-grid-records table tr.w2ui-odd.w2ui-record-hover,
.w2ui-grid .w2ui-grid-body .w2ui-grid-frecords table tr.w2ui-odd.w2ui-record-hover,
.w2ui-grid .w2ui-grid-body .w2ui-grid-records table tr.w2ui-even:hover,
.w2ui-grid .w2ui-grid-body .w2ui-grid-frecords table tr.w2ui-even:hover,
.w2ui-grid .w2ui-grid-body .w2ui-grid-records table tr.w2ui-even.w2ui-record-hover,
.w2ui-grid .w2ui-grid-body .w2ui-grid-frecords table tr.w2ui-even.w2ui-record-hover {
  background-color: var(--w2-hover-fila);
}
.w2ui-grid .w2ui-grid-body .w2ui-grid-records table tr.w2ui-selected,
.w2ui-grid .w2ui-grid-body .w2ui-grid-frecords table tr.w2ui-selected,
.w2ui-grid .w2ui-grid-body .w2ui-grid-records table tr td.w2ui-selected,
.w2ui-grid .w2ui-grid-body .w2ui-grid-frecords table tr td.w2ui-selected {
  color: var(--w2-texto) !important;
  background-color: var(--w2-seleccion-fila) !important;
}
/* Fila seleccionada: línea azul arriba y abajo en cada celda (inset, no altera la altura) */
.w2ui-grid .w2ui-grid-body .w2ui-grid-records table tr.w2ui-selected > td,
.w2ui-grid .w2ui-grid-body .w2ui-grid-frecords table tr.w2ui-selected > td,
.w2ui-grid .w2ui-grid-body .w2ui-grid-records table tr td.w2ui-selected,
.w2ui-grid .w2ui-grid-body .w2ui-grid-frecords table tr td.w2ui-selected {
  box-shadow: inset 0 1px 0 var(--w2-seleccion-linea), inset 0 -1px 0 var(--w2-seleccion-linea);
}
.w2ui-grid .w2ui-grid-body .w2ui-grid-records table tr.w2ui-selected > td,
.w2ui-grid .w2ui-grid-body .w2ui-grid-frecords table tr.w2ui-selected > td {
  border-right-color: var(--w2-primario-borde);
}
.w2ui-grid .w2ui-grid-body table .w2ui-col-selected,
.w2ui-grid .w2ui-grid-body table .w2ui-row-selected {
  background-color: var(--w2-primario-borde) !important;
}
.w2ui-grid .w2ui-grid-footer {
  color: var(--w2-texto-2);
  background-color: var(--w2-cabecera);
  border-top: 1px solid var(--w2-borde);
  box-shadow: none;
}

/* ---- Toolbar (grids, forms, paneles) ---- */
.w2ui-toolbar {
  background-color: var(--w2-cabecera);
}
/* Botón visible siempre: fondo, borde y sombra */
.w2ui-toolbar table.w2ui-button {
  border-radius: var(--w2-radio);
  border: 1px solid var(--w2-borde-fuerte);
  background-color: var(--w2-superficie);
  box-shadow: var(--w2-sombra);
  transition: background-color .15s, border-color .15s;
}
.w2ui-toolbar table.w2ui-button table {
  border: none;
  background: transparent;
  box-shadow: none;
}
.w2ui-toolbar table.w2ui-button .w2ui-tb-image > span {
  color: var(--w2-primario);
}
.w2ui-toolbar table.w2ui-button .w2ui-tb-text {
  color: var(--w2-texto);
  font-weight: 500;
}
.w2ui-toolbar table.w2ui-button .w2ui-tb-down > div {
  border-top-color: var(--w2-texto-2);
}
.w2ui-toolbar table.w2ui-button.over {
  border: 1px solid var(--w2-primario);
  background-color: var(--w2-primario-suave);
}
.w2ui-toolbar table.w2ui-button.over .w2ui-tb-text {
  color: var(--w2-primario-activo);
}
.w2ui-toolbar table.w2ui-button.down {
  border: 1px solid var(--w2-primario-hover);
  background-color: var(--w2-seleccion);
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .15);
}
.w2ui-toolbar table.w2ui-button.down .w2ui-tb-text {
  color: var(--w2-primario-activo);
}
.w2ui-toolbar table.w2ui-button.checked {
  border: 1px solid var(--w2-primario);
  background-color: var(--w2-primario);
}
.w2ui-toolbar table.w2ui-button.checked .w2ui-tb-text,
.w2ui-toolbar table.w2ui-button.checked .w2ui-tb-image > span {
  color: #fff;
}
.w2ui-toolbar table.w2ui-button.checked .w2ui-tb-down > div {
  border-top-color: #fff;
}
.w2ui-toolbar .disabled table.w2ui-button,
.w2ui-toolbar table.w2ui-button.disabled {
  box-shadow: none;
}
.w2ui-toolbar table.w2ui-button .w2ui-tb-count > span {
  border: none;
  background-color: var(--w2-primario);
  color: #fff;
  box-shadow: none;
  text-shadow: none;
}

/* ---- Toolbar superior principal (gris claro, color propio distinto al sidebar) ---- */
#layout_layout_panel_top,
#layout_layout_panel_top .w2ui-panel-toolbar,
.w2ui-toolbar[name="layout_top_toolbar"] {
  background-color: var(--w2-tb-fondo) !important;
  border-bottom: 1px solid var(--w2-tb-borde) !important;
}
.w2ui-toolbar[name="layout_top_toolbar"] table.w2ui-button {
  border: 1px solid var(--w2-tb-btn-borde);
  background-color: var(--w2-tb-btn);
  box-shadow: var(--w2-sombra);
}
.w2ui-toolbar[name="layout_top_toolbar"] table.w2ui-button .w2ui-tb-text {
  color: var(--w2-tb-texto);
}
.w2ui-toolbar[name="layout_top_toolbar"] table.w2ui-button .w2ui-tb-image > span {
  color: var(--w2-tb-icono);
}
.w2ui-toolbar[name="layout_top_toolbar"] table.w2ui-button .w2ui-tb-down > div {
  border-top-color: var(--w2-tb-texto);
}
.w2ui-toolbar[name="layout_top_toolbar"] table.w2ui-button.over {
  border: 1px solid var(--w2-tb-btn-borde-hover);
  background-color: var(--w2-tb-btn-hover);
}
.w2ui-toolbar[name="layout_top_toolbar"] table.w2ui-button.over .w2ui-tb-text {
  color: var(--w2-primario-activo);
}
.w2ui-toolbar[name="layout_top_toolbar"] table.w2ui-button.down,
.w2ui-toolbar[name="layout_top_toolbar"] table.w2ui-button.checked {
  border: 1px solid var(--w2-tb-activo);
  background-color: var(--w2-tb-activo);
}
.w2ui-toolbar[name="layout_top_toolbar"] table.w2ui-button.down .w2ui-tb-text,
.w2ui-toolbar[name="layout_top_toolbar"] table.w2ui-button.checked .w2ui-tb-text,
.w2ui-toolbar[name="layout_top_toolbar"] table.w2ui-button.down .w2ui-tb-image > span,
.w2ui-toolbar[name="layout_top_toolbar"] table.w2ui-button.checked .w2ui-tb-image > span {
  color: #fff;
}
.w2ui-toolbar[name="layout_top_toolbar"] .w2ui-break {
  background-image: none;
  background-color: var(--w2-tb-btn-borde);
}
.w2ui-toolbar[name="layout_top_toolbar"] td[id^="tb_layout_top_toolbar_item_"] {
  color: var(--w2-tb-texto);
}

/* ---- Tabs ---- */
.w2ui-tabs {
  background-color: var(--w2-cabecera);
}
.w2ui-tabs .w2ui-scroll-wrapper .w2ui-tabs-line {
  border-bottom: 1px solid var(--w2-borde);
}
.w2ui-tabs .w2ui-scroll-wrapper .w2ui-tab {
  color: var(--w2-texto-2);
  border: 1px solid transparent;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  transition: color .15s, border-color .15s;
}
.w2ui-tabs .w2ui-scroll-wrapper .w2ui-tab:hover {
  color: var(--w2-texto);
}
.w2ui-tabs .w2ui-scroll-wrapper .w2ui-tab.active {
  color: var(--w2-primario);
  font-weight: 600;
  background-color: transparent;
  border: 1px solid transparent;
  border-bottom: 2px solid var(--w2-primario);
  margin-bottom: -1px;
}

/* ---- Sidebar (oscuro) ---- */
.w2ui-sidebar {
  background-color: var(--w2-sb-fondo) !important;
}
.w2ui-sidebar .w2ui-sidebar-top > div {
  border: none !important;
  border-bottom: 1px solid var(--w2-sb-borde) !important;
  color: var(--w2-sb-texto-fuerte);
  font-weight: 600;
  letter-spacing: .3px;
}
.w2ui-sidebar .w2ui-sidebar-top .w2ui-flat-left,
.w2ui-sidebar .w2ui-sidebar-top .w2ui-flat-right {
  background-color: transparent;
  filter: invert(1) brightness(1.6);
  opacity: .7;
}
.w2ui-sidebar .w2ui-sidebar-top .w2ui-flat-left:hover,
.w2ui-sidebar .w2ui-sidebar-top .w2ui-flat-right:hover {
  background-color: transparent;
  opacity: 1;
}
.w2ui-sidebar .w2ui-sidebar-body .w2ui-node {
  border-radius: var(--w2-radio);
  color: var(--w2-sb-texto);
}
.w2ui-sidebar .w2ui-sidebar-body .w2ui-node .w2ui-node-text {
  color: var(--w2-sb-texto);
}
.w2ui-sidebar .w2ui-sidebar-body .w2ui-node:hover {
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  background-color: var(--w2-sb-hover);
}
.w2ui-sidebar .w2ui-sidebar-body .w2ui-node:hover .w2ui-node-text {
  color: var(--w2-sb-texto-fuerte);
}
.w2ui-sidebar .w2ui-sidebar-body .w2ui-node .w2ui-node-image > span,
.w2ui-sidebar .w2ui-sidebar-body .w2ui-node-data .w2ui-node-image > span,
.w2ui-sidebar .w2ui-sidebar-body .w2ui-node-flat .w2ui-node-image > span {
  color: var(--w2-sb-icono) !important;
  text-shadow: none;
}
.w2ui-sidebar .w2ui-sidebar-body .w2ui-selected,
.w2ui-sidebar .w2ui-sidebar-body .w2ui-selected:hover {
  background-color: var(--w2-primario);
  border: 1px solid transparent;
}
.w2ui-sidebar .w2ui-sidebar-body .w2ui-selected .w2ui-node-text,
.w2ui-sidebar .w2ui-sidebar-body .w2ui-selected:hover .w2ui-node-text,
.w2ui-sidebar .w2ui-sidebar-body .w2ui-selected .w2ui-node-image > span,
.w2ui-sidebar .w2ui-sidebar-body .w2ui-selected:hover .w2ui-node-image > span {
  color: #fff !important;
  text-shadow: none !important;
}
.w2ui-sidebar .w2ui-sidebar-body.w2ui-focus .w2ui-selected:before {
  border: 1px solid transparent;
}
.w2ui-sidebar .w2ui-sidebar-body .w2ui-disabled .w2ui-node-text,
.w2ui-sidebar .w2ui-sidebar-body .w2ui-disabled:hover .w2ui-node-text,
.w2ui-sidebar .w2ui-sidebar-body .w2ui-disabled .w2ui-node-image > span,
.w2ui-sidebar .w2ui-sidebar-body .w2ui-disabled:hover .w2ui-node-image > span {
  color: var(--w2-sb-texto) !important;
  text-shadow: none !important;
}
.w2ui-sidebar .w2ui-sidebar-body .w2ui-node-group {
  color: var(--w2-sb-grupo);
  font-size: 11px;
  letter-spacing: .6px;
}
.w2ui-sidebar .w2ui-sidebar-body .w2ui-node-data .w2ui-collapsed span:after,
.w2ui-sidebar .w2ui-sidebar-body .w2ui-node-data .w2ui-expanded span:after {
  border-left-color: var(--w2-sb-icono);
}
.w2ui-sidebar .w2ui-sidebar-body .w2ui-node-data .w2ui-node-count {
  border: none;
  background-color: var(--w2-sb-hover);
  color: var(--w2-sb-texto-fuerte);
  box-shadow: none;
  text-shadow: none;
}
.w2ui-sidebar .w2ui-sidebar-body::-webkit-scrollbar { width: 8px; }
.w2ui-sidebar .w2ui-sidebar-body::-webkit-scrollbar-thumb {
  background-color: var(--w2-sb-borde);
  border-radius: 4px;
}
.w2ui-sidebar .w2ui-sidebar-body::-webkit-scrollbar-track { background: transparent; }

/* ---- Popup ---- */
.w2ui-popup {
  border: 1px solid var(--w2-borde);
  border-radius: 10px;
  background-color: var(--w2-superficie);
  box-shadow: var(--w2-sombra-popup);
}
.w2ui-popup .w2ui-popup-title {
  border-radius: 10px 10px 0 0;
  background-image: none;
  background-color: var(--w2-superficie);
  filter: none;
  border-bottom: 1px solid var(--w2-borde);
  color: var(--w2-texto);
  font-weight: 600;
}
.w2ui-popup .w2ui-popup-body {
  color: var(--w2-texto);
  background-color: var(--w2-superficie);
}
.w2ui-popup .w2ui-popup-buttons {
  border-radius: 0 0 10px 10px;
  border-top: 1px solid var(--w2-borde);
  background-color: var(--w2-fondo);
}
.w2ui-popup .w2ui-popup-close:hover,
.w2ui-popup .w2ui-popup-max:hover {
  background-color: var(--w2-superficie-2);
  border: 1px solid var(--w2-borde);
}

/* ---- Mensajes / overlays / lock ---- */
.w2ui-message {
  border-color: var(--w2-borde) !important;
  background-color: var(--w2-superficie) !important;
  box-shadow: var(--w2-sombra-popup) !important;
}
.w2ui-message .w2ui-message-buttons {
  border-top: 1px solid var(--w2-borde);
  background-color: var(--w2-fondo);
}
.w2ui-overlay > div {
  border-radius: var(--w2-radio);
  box-shadow: var(--w2-sombra-popup);
}
.w2ui-lock-msg {
  border-radius: 8px;
}

/*************************************************
* ---- Móvil (WebView / pantallas angostas) ----
* src/index.css trae, en este mismo breakpoint, reglas del tema viejo
* (íconos del toolbar superior en blanco !important y toolbars de panel
* en azul !important). Como este archivo carga ANTES que index.css, se
* neutralizan aquí con selectores más específicos + !important.
*/
@media (max-width: 767px) {
  /* Íconos del toolbar superior: visibles sobre el gris claro */
  #layout_layout_panel_top .w2ui-toolbar[name="layout_top_toolbar"] table.w2ui-button .w2ui-tb-image > span {
    color: var(--w2-tb-icono) !important;
  }
  #layout_layout_panel_top .w2ui-toolbar[name="layout_top_toolbar"] table.w2ui-button.down .w2ui-tb-image > span,
  #layout_layout_panel_top .w2ui-toolbar[name="layout_top_toolbar"] table.w2ui-button.checked .w2ui-tb-image > span {
    color: #fff !important;
  }
  /* Toolbars de panel: mismo gris del tema en vez del azul viejo */
  body .w2ui-layout > div .w2ui-panel .w2ui-panel-toolbar {
    background-color: var(--w2-cabecera) !important;
    color: var(--w2-texto);
  }
}
