/*
  Prisma Suite Web LAB - UI consolidado M074Y
  Base: M074X
  Este archivo reemplaza los ui_*.css sueltos.
  Orden conservado para no cambiar comportamiento visual.
*/


/* ===== ui_layout_fix_M073H.css ===== */
/* M073H: corregir ancho de grilla y ajustar barra lateral.
   Base M073G. Sólo layout/CSS. No toca carga LAB ni scripts. */

/* Visible: volver a mecánica fija de M039, pero con barra algo más ancha que original
   y sin achicar la grilla principal. */
body:not(.ps-sidebar-hidden-global) .app > div:first-child{
  margin-left: 232px !important;
}
body:not(.ps-sidebar-hidden-global) .work.with-action-side{
  display: block !important;
  height: calc(100vh - 45px) !important;
  padding: 6px 6px 6px 240px !important;
  width: 100% !important;
  max-width: 100% !important;
}
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 232px !important;
  height: 100vh !important;
  max-width: 232px !important;
  min-width: 232px !important;
  overflow: auto !important;
}
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .main{
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .main,
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .main .toolbar,
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .main .table-wrap,
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .main .footbar{
  width: 100% !important;
  max-width: 100% !important;
}

/* Aire horizontal suficiente, pero sin exagerar. */
body:not(.ps-sidebar-hidden-global) .action-side{padding: 10px !important;}
body:not(.ps-sidebar-hidden-global) .side-tool-group{padding: 10px !important;}
body:not(.ps-sidebar-hidden-global) .signal-tools .signal-btn{gap: 8px !important;}
body:not(.ps-sidebar-hidden-global) .signal-tools .signal-count{min-width: 28px !important;}

/* Estado oculto: conservar el comportamiento de ocupar todo el ancho. */
body.ps-sidebar-hidden-global .app > div:first-child{
  margin-left: 0 !important;
}
body.ps-sidebar-hidden-global .work.with-action-side{
  padding: 6px !important;
}


/* ===== ui_detalles_M073B.css ===== */
/* M073B · Sólo interfaz: contadores claros y botón pantalla completa.
   No toca carga LAB, endpoints, mappers ni arrays de datos. */
.signal-tools .signal-count{
  background: rgba(255,255,255,.92) !important;
  border-color: rgba(255,255,255,.42) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 1px 5px rgba(0,0,0,.10);
}
.signal-tools .signal-btn.zero .signal-count{color:#991b1b !important;}
.signal-tools .signal-btn.min .signal-count{color:#7f1d1d !important;}
.signal-tools .signal-btn.preventivo .signal-count,
.signal-tools .signal-btn.venc .signal-count{color:#7a4d22 !important;}
.signal-tools .signal-btn.active .signal-count{
  background: rgba(255,255,255,.96) !important;
  border-color: rgba(255,255,255,.55) !important;
}
.ps-top-tools .ps-top-btn.ps-fullscreen-btn{min-width:154px;}
@media(max-width:980px){.ps-top-tools .ps-top-btn.ps-fullscreen-btn{min-width:auto;}}


/* ===== ui_barra_ancha_M073G.css ===== */
/* M073G: barra lateral más ancha SIN tocar tipografías.
   Corrige la prueba anterior: no fuerza botones full-width ni agranda letras.
   Solo CSS/layout. No toca carga LAB, login ni scripts de datos. */

/* Desktop: lateral ancho real y contenido al lado */
.work.with-action-side:not(.ps-sidebar-hidden){
  display: grid !important;
  grid-template-columns: 285px minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-items: stretch !important;
}

/* Si Herramientas está oculto, la grilla vuelve a ocupar todo */
.work.with-action-side.ps-sidebar-hidden{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
}

.work.with-action-side > .action-side{
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100% !important;
  box-sizing: border-box !important;
  overflow: auto !important;
}

.work.with-action-side > .main{
  min-width: 0 !important;
}

/* Anular el modo móvil que estaba mandando la barra arriba en algunas resoluciones/zoom */
@media(max-width:760px){
  .work.with-action-side:not(.ps-sidebar-hidden){
    display: grid !important;
    grid-template-columns: 265px minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    height: calc(100vh - 78px) !important;
  }
  .work.with-action-side > .action-side{
    position: relative !important;
    width: auto !important;
    height: 100% !important;
  }
  .side-brand,
  .side-footer{
    display: flex !important;
  }
}

/* Tipografía normalizada: no aumentar letras */
.action-side .btn,
.action-side .drop > .btn,
.side-footer .btn,
.side-footer .theme-select,
.signal-field select{
  font-size: 13px !important;
  line-height: 1.15 !important;
}
.side-brand-text b{font-size: 14px !important;}
.side-brand-text span{font-size: 11px !important;}
.action-side h4,
.side-footer label,
.signal-field label{font-size: 11px !important;}
.signal-tools .signal-count{font-size: 12px !important;}

/* Más aire horizontal, sin agrandar fuente */
.action-side{padding: 12px !important;}
.side-tool-group{padding: 10px !important;}
.signal-tools .signal-btn{
  min-height: 38px !important;
  gap: 8px !important;
}
.signal-tools .signal-label{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
}
.signal-tools .signal-count{
  flex: 0 0 auto !important;
  min-width: 26px !important;
  text-align: center !important;
  justify-content: center !important;
}


/* ===== ui_minimo_logo_M073I.css ===== */
/* M073I: botón "Asignar Mínimo" + logo lateral más grande.
   Solo visual. No toca datos ni carga LAB. */

/* Botón específico de mínimo */
.action-side .btn[onclick="openMinModal()"]{
  background:#a97712 !important;
  border-color:#8a620e !important;
  color:#fff !important;
}
.action-side .btn[onclick="openMinModal()"]:hover{
  background:#b9871d !important;
  border-color:#9b7118 !important;
}

/* Logo lateral un poco más grande, sin pasarse del ancho actual */
.side-brand{
  gap:10px !important;
}
.side-brand .logo{
  width:46px !important;
  height:46px !important;
  flex:0 0 46px !important;
}
.side-brand .logo .ps-logo-img,
.side-brand .ps-logo-img{
  padding:2px !important;
}
.side-brand-text{
  line-height:1.08 !important;
}
.side-brand-text b{
  font-size:15px !important;
  font-weight:950 !important;
}
.side-brand-text span{
  font-size:12px !important;
  font-weight:800 !important;
}


/* ===== ui_uso_hasta_abajo_M073J.css ===== */
/* M073J: recuperar uso vertical hasta abajo.
   Sólo layout/CSS. No toca carga LAB ni scripts. */

body:not(.ps-sidebar-hidden-global) .work.with-action-side{
  height: calc(100vh - 99px) !important;
  min-height: calc(100vh - 99px) !important;
  max-height: calc(100vh - 99px) !important;
}
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .main{
  height: calc(100vh - 111px) !important;
  min-height: calc(100vh - 111px) !important;
  max-height: calc(100vh - 111px) !important;
  display:flex !important;
  flex-direction:column !important;
}
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .main .table-wrap{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
}
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .main .footbar{
  margin-top:0 !important;
}

/* también cuando la barra está oculta */
body.ps-sidebar-hidden-global .work.with-action-side,
body.ps-sidebar-hidden-global .work.with-action-side > .main{
  min-height:0 !important;
}
body.ps-sidebar-hidden-global .work.with-action-side > .main .table-wrap{
  flex:1 1 auto !important;
  min-height:0 !important;
}


/* ===== ui_uso_vertical_fix_M073K.css ===== */
/* M073K: recuperar uso real de la ventana hasta abajo.
   Sólo CSS/layout. No toca carga LAB ni scripts de datos. */

/* Barra visible: el panel principal queda fijo entre pestañas y borde inferior */
body:not(.ps-sidebar-hidden-global) .view.active > .work.with-action-side > .main{
  position: fixed !important;
  top: 51px !important;
  left: 240px !important;
  right: 6px !important;
  bottom: 6px !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

/* Barra oculta: usar todo el ancho y toda la altura útil */
body.ps-sidebar-hidden-global .view.active > .work.with-action-side > .main{
  position: fixed !important;
  top: 51px !important;
  left: 6px !important;
  right: 6px !important;
  bottom: 6px !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

.view.active > .work.with-action-side > .main .toolbar,
.view.active > .work.with-action-side > .main .footbar{
  flex: 0 0 auto !important;
}
.view.active > .work.with-action-side > .main .table-wrap{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
}

/* El contenedor padre queda como soporte, sin limitar altura. */
.view.active > .work.with-action-side{
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}


/* ===== ui_tools_bottom_M073L.css ===== */
/* M073L: barra de herramientas hasta abajo.
   Solo CSS/layout. No toca carga LAB ni scripts de datos. */

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side{
  top:0 !important;
  bottom:0 !important;
  height:100vh !important;
  max-height:100vh !important;
  overflow:auto !important;
}
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .action-side-inner{
  min-height:100% !important;
  height:auto !important;
  display:flex !important;
  flex-direction:column !important;
}
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-fill{
  flex:1 1 auto !important;
  min-height:18px !important;
}
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-footer{
  margin-top:auto !important;
  flex:0 0 auto !important;
}

/* Evita que un scroll del documento quite altura útil visual. */
html, body, .app{
  height:100% !important;
  max-height:100% !important;
  overflow:hidden !important;
}


/* ===== ui_tipografia_sidebar_M073M.css ===== */
/* M073M: subir tipografía +2pt y llevar la barra lateral hasta abajo.
   Solo visual/layout. No toca carga LAB ni scripts. */

/* Tipografías del lateral: +2pt respecto a la base actual */
.action-side .btn,
.action-side .drop > .btn,
.side-footer .btn,
.side-footer .theme-select,
.signal-field select{
  font-size: 15px !important;
  line-height: 1.18 !important;
}
.side-brand-text b{font-size:16px !important;}
.side-brand-text span{font-size:13px !important;}
.action-side h4,
.side-footer label,
.signal-field label{font-size:13px !important;}
.signal-tools .signal-count{font-size:14px !important;}
.signal-tools .signal-label{font-size:15px !important; line-height:1.15 !important;}

/* Barra lateral realmente hasta abajo */
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side{
  height:100vh !important;
  max-height:100vh !important;
  overflow:auto !important;
}
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .action-side-inner{
  display:flex !important;
  flex-direction:column !important;
  min-height:calc(100vh - 24px) !important;
  height:calc(100vh - 24px) !important;
  box-sizing:border-box !important;
}
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-fill{
  flex:1 1 auto !important;
  min-height:12px !important;
}
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-footer{
  margin-top:auto !important;
  padding-bottom:8px !important;
}


/* ===== ui_4_ajustes_M073N.css ===== */
/* M073N: 4 ajustes finos y cuidadosos.
   1) Tipografía de pestañas más grande.
   2) Tipografía de estados de salida más grande.
   3) Barra lateral extendida hasta abajo.
   4) Logo lateral un poco más grande.
   Solo CSS/layout. No toca carga LAB ni scripts. */

/* 1) Pestañas superiores */
.module-tabs button{
  font-size:15px !important;
  line-height:1.1 !important;
  padding:11px 14px !important;
}

/* 2) Estados de salida (Tramitando, Pedido, etc.) */
.remito-state-filters .remito-state-btn span{
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1.12 !important;
}
.remito-state-filters .remito-state-btn b{
  font-size:14px !important;
  min-width:28px !important;
}

/* 3) Barra lateral realmente hasta abajo */
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side{
  display:flex !important;
  flex-direction:column !important;
  padding-bottom:4px !important;
}
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .action-side-inner{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  min-height:calc(100vh - 20px) !important;
  height:calc(100vh - 20px) !important;
}
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-fill{
  flex:1 1 auto !important;
  min-height:32px !important;
}
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-footer{
  margin-top:auto !important;
  padding-bottom:2px !important;
}

/* 4) Logo lateral más grande sin pasarse del ancho */
.side-brand{
  gap:10px !important;
}
.side-brand .logo,
.side-brand .side-dashboard-logo{
  width:54px !important;
  height:54px !important;
  flex:0 0 54px !important;
}
.side-brand .ps-logo-img{
  padding:1px !important;
}
.side-brand-text b{
  font-size:17px !important;
  line-height:1.05 !important;
}
.side-brand-text span{
  font-size:14px !important;
  line-height:1.05 !important;
}


/* ===== ui_3_puntos_M073O.css ===== */
/* M073O: ajustes puntuales solicitados.
   1) Agrandar SOLO la tipografía de "Prisma Suite / Administración".
   2) Grilla por default al 120%.
   3) Llevar la barra lateral hasta la parte baja de la ventana.
   Solo CSS/layout + default de zoom. */

/* 1) Texto del logo lateral más grande. No tocar tamaño del logo. */
.side-brand-text b{
  font-size:18px !important;
  line-height:1.03 !important;
}
.side-brand-text span{
  font-size:15px !important;
  line-height:1.03 !important;
}

/* 3) Barra lateral hasta abajo de la ventana */
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side{
  position:fixed !important;
  top:0 !important;
  bottom:0 !important;
  left:0 !important;
  height:100vh !important;
  min-height:100vh !important;
  max-height:100vh !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .action-side-inner{
  display:flex !important;
  flex-direction:column !important;
  height:calc(100vh - 20px) !important;
  min-height:calc(100vh - 20px) !important;
  max-height:calc(100vh - 20px) !important;
  flex:1 1 auto !important;
}
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-fill{
  flex:1 1 auto !important;
  min-height:24px !important;
}
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-footer{
  margin-top:auto !important;
  padding-bottom:6px !important;
}


/* ===== ui_barra_sidebar_fix_M073P.css ===== */
/* M073P: 1) agrandar texto de la barra inferior
   2) llevar con cuidado la barra lateral hasta abajo de la ventana.
   Solo visual/layout. */

/* 1) Barra inferior: texto un poco más grande */
.footbar{
  font-size: 15px !important;
  line-height: 1.2 !important;
  padding: 9px 12px !important;
}
.footbar b{
  font-size: 15px !important;
}
.footbar .muted,
.footbar span,
.footbar div{
  font-size: 15px !important;
}

/* 2) Barra lateral: el footer debe quedar abajo de la ventana */
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side{
  height: 100vh !important;
  min-height: 100vh !important;
  max-height: 100vh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  padding-bottom: 10px !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .action-side-inner{
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-fill{
  flex: 1 1 auto !important;
  min-height: 0 !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-footer{
  margin-top: auto !important;
  flex: 0 0 auto !important;
  padding-bottom: 0 !important;
}


/* ===== ui_sidebar_m072m_limpio_M073V.css ===== */
/* M073V: aplicar SOLO la lógica limpia de M072M para la barra lateral.
   Base: M073P, sin arrastrar pruebas 3-zonas/absolute.
   Conserva ancho, tipografías, zoom 120% y avances visuales actuales.
   No toca datos ni carga LAB. */

/* Barra fija a la ventana completa */
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  bottom:0 !important;
  height:100vh !important;
  min-height:100vh !important;
  max-height:100vh !important;
  box-sizing:border-box !important;
  padding:10px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  display:block !important;
}

/* Desactivar cualquier comportamiento absolute/grid/3-zonas anterior */
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .action-side-inner{
  position:static !important;
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  min-height:calc(100vh - 20px) !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-brand{
  position:static !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  flex:0 0 auto !important;
  margin-bottom:2px !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-tool-group{
  position:static !important;
  flex:0 0 auto !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-fill{
  display:block !important;
  flex:1 1 auto !important;
  min-height:8px !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-footer{
  position:static !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  flex:0 0 auto !important;
  margin-top:0 !important;
  padding-top:9px !important;
  padding-bottom:0 !important;
  overflow:visible !important;
  background:transparent !important;
  z-index:auto !important;
}

/* Si por caché quedó una zona central de pruebas, que no afecte el flujo visual */
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-middle-zone{
  display:contents !important;
  position:static !important;
  overflow:visible !important;
}

body.ps-sidebar-hidden-global .work.with-action-side > .action-side{
  display:none !important;
}


/* ===== ui_sidebar_footer_auto_M073W.css ===== */
/* M073W: ajuste final de la barra lateral usando la lógica que funcionaba en M072M.
   Mantiene todos los avances actuales.
   Cambio único: side-fill vuelve a empujar el footer hasta abajo con margin-top:auto.
   No toca carga LAB ni scripts de datos. */

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  bottom:0 !important;
  height:100vh !important;
  min-height:100vh !important;
  max-height:100vh !important;
  box-sizing:border-box !important;
  padding:10px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  display:block !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .action-side-inner{
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  min-height:calc(100vh - 20px) !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-brand{
  flex:0 0 auto !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-tool-group{
  flex:0 0 auto !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-fill{
  display:block !important;
  flex:1 1 auto !important;
  min-height:8px !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-footer{
  position:static !important;
  margin-top:auto !important;
  flex:0 0 auto !important;
  padding-top:9px !important;
  padding-bottom:0 !important;
  overflow:visible !important;
  background:transparent !important;
}


/* ===== ui_sidebar_3_zonas_limpio_M073X.css ===== */
/* M073X: barra lateral en 3 zonas reales, limpia.
   Mantiene ancho, tipografías, zoom 120% y avances visuales.
   Soluciona el recorte: logo arriba, zona central scrolleable, footer fijo abajo. */

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  bottom:0 !important;
  height:100vh !important;
  min-height:100vh !important;
  max-height:100vh !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .action-side-inner{
  height:100% !important;
  min-height:0 !important;
  max-height:100% !important;
  overflow:hidden !important;
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) auto !important;
  grid-template-columns:1fr !important;
  gap:7px !important;
  box-sizing:border-box !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-brand{
  grid-row:1 !important;
  position:static !important;
  flex:none !important;
  margin:0 0 2px 0 !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-middle-zone{
  grid-row:2 !important;
  min-height:0 !important;
  height:100% !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  padding-right:2px !important;
  box-sizing:border-box !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-middle-zone .side-tool-group{
  flex:0 0 auto !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-fill{
  display:none !important;
  flex:0 0 0 !important;
  min-height:0 !important;
  height:0 !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-footer{
  grid-row:3 !important;
  position:static !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  flex:none !important;
  margin-top:0 !important;
  overflow:visible !important;
  background:transparent !important;
  z-index:auto !important;
  box-sizing:border-box !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-middle-zone::-webkit-scrollbar{width:8px;}
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-middle-zone::-webkit-scrollbar-thumb{background:rgba(0,0,0,.22);border-radius:999px;}
body.theme-prisma-oscuro:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-middle-zone::-webkit-scrollbar-thumb,
body.theme-oscuro:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-middle-zone::-webkit-scrollbar-thumb,
body.theme-bordo-profesional:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-middle-zone::-webkit-scrollbar-thumb,
body.theme-azul-noche:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-middle-zone::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);}


/* ===== ui_sidebar_footer_borde_M073Y.css ===== */
/* M073Y: footer lateral realmente pegado al borde inferior de la ventana.
   Mantiene los avances actuales. Solo layout/CSS de barra lateral. */

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  bottom:0 !important;
  height:100dvh !important;
  min-height:100dvh !important;
  max-height:100dvh !important;
  box-sizing:border-box !important;
  padding:10px !important;
  overflow:hidden !important;
  display:block !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .action-side-inner{
  position:relative !important;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:hidden !important;
  display:block !important;
  box-sizing:border-box !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-brand{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  margin:0 !important;
  z-index:3 !important;
  box-sizing:border-box !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-footer{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  margin:0 !important;
  padding-top:9px !important;
  padding-bottom:0 !important;
  z-index:4 !important;
  box-sizing:border-box !important;
  background:var(--side) !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-middle-zone{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:calc(var(--ps-side-brand-h, 64px) + 8px) !important;
  bottom:calc(var(--ps-side-footer-h, 166px) + 10px) !important;
  min-height:0 !important;
  height:auto !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  padding-right:2px !important;
  box-sizing:border-box !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-fill{
  display:none !important;
  flex:0 0 0 !important;
  height:0 !important;
  min-height:0 !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-middle-zone::-webkit-scrollbar{width:8px;}
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side .side-middle-zone::-webkit-scrollbar-thumb{background:rgba(0,0,0,.22);border-radius:999px;}


/* ===== ui_sidebar_viewport_pin_M073Z.css ===== */
/* M073Z: fix final de barra lateral.
   Ancla el bloque inferior al borde real de la ventana y deja la zona central scrolleable.
   Solo layout/interfaz. */

body:not(.ps-sidebar-hidden-global) .view.active .action-side{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  bottom: 0 !important;
  height: 100vh !important;
  min-height: 100vh !important;
  max-height: 100vh !important;
  overflow: hidden !important;
}
body:not(.ps-sidebar-hidden-global) .view.active .action-side .action-side-inner{
  height: 100vh !important;
  min-height: 100vh !important;
  max-height: 100vh !important;
  overflow: hidden !important;
}
body:not(.ps-sidebar-hidden-global) .view.active .action-side .side-brand,
body:not(.ps-sidebar-hidden-global) .view.active .action-side .side-footer,
body:not(.ps-sidebar-hidden-global) .view.active .action-side .side-middle-zone{
  box-sizing: border-box !important;
}
body:not(.ps-sidebar-hidden-global) .view.active .action-side .side-footer{
  background: var(--side) !important;
}


/* ===== ui_sidebar_fondo_estirado_M074A.css ===== */
/* M074A: estirar SOLO el fondo de la barra lateral hasta el borde inferior.
   No mueve los botones ni modifica la lógica de posicionamiento M073Z. */

body:not(.ps-sidebar-hidden-global) .view.active .work.with-action-side > .action-side{
  background: var(--side) !important;
  border-right: 1px solid var(--line) !important;
  border-radius: 0 14px 14px 0 !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.08) !important;
  isolation: isolate !important;
}

/* Capa de fondo independiente para que la barra no quede visualmente cortada
   aunque el contenido interno esté fijado por JS al viewport. */
body:not(.ps-sidebar-hidden-global) .view.active .work.with-action-side > .action-side::before{
  content:"";
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: var(--ps-side-real-w, 232px);
  min-height: 100vh;
  background: var(--side);
  border-right: 1px solid var(--line);
  border-radius: 0 14px 14px 0;
  box-shadow: 0 10px 28px rgba(0,0,0,.08);
  z-index: -1;
  pointer-events: none;
}

body.ps-sidebar-hidden-global .view.active .work.with-action-side > .action-side::before{
  display:none !important;
}


/* ===== ui_sidebar_fondo_unico_M074B.css ===== */
/* M074B: dejar un solo fondo lateral.
   Mantiene la capa larga M074A y elimina el fondo corto del contenedor real.
   No mueve botones ni modifica datos. */

body:not(.ps-sidebar-hidden-global) .view.active .work.with-action-side > .action-side{
  background: transparent !important;
  border-right: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

body:not(.ps-sidebar-hidden-global) .view.active .work.with-action-side > .action-side .action-side-inner{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* El fondo válido queda sólo en la capa estirada hasta abajo. */
body:not(.ps-sidebar-hidden-global) .view.active .work.with-action-side > .action-side::before{
  z-index: -1 !important;
}


/* ===== ui_sidebar_botones_sin_bucle_M074G.css ===== */
/* M074G: botones laterales más anchos sin ensanchar el fondo ni crear bucles.
   Base limpia M074B. La corrección real se hace reduciendo PAD_X en M073Z de 10 a 4.
   Solo visual/layout del lateral. */

/* El fondo vuelve al ancho real de la barra: no pisa pestañas ni grilla. */
body:not(.ps-sidebar-hidden-global) .view.active .work.with-action-side > .action-side::before{
  width: var(--ps-side-real-w, 232px) !important;
}

/* Aprovechar el ancho útil: menos padding interno en cajas laterales. */
body:not(.ps-sidebar-hidden-global) .view.active .action-side .side-tool-group{
  padding-left: 5px !important;
  padding-right: 5px !important;
}

/* El footer mantiene los botones al ancho de su zona, sin salirse del fondo. */
body:not(.ps-sidebar-hidden-global) .view.active .action-side .side-footer{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Botones y controles al 100% del ancho útil real. */
body:not(.ps-sidebar-hidden-global) .view.active .action-side .btn,
body:not(.ps-sidebar-hidden-global) .view.active .action-side .signal-btn,
body:not(.ps-sidebar-hidden-global) .view.active .action-side .remito-state-btn,
body:not(.ps-sidebar-hidden-global) .view.active .action-side .side-filter-clear,
body:not(.ps-sidebar-hidden-global) .view.active .action-side .signal-field select,
body:not(.ps-sidebar-hidden-global) .view.active .action-side .side-theme,
body:not(.ps-sidebar-hidden-global) .view.active .action-side .side-footer .btn,
body:not(.ps-sidebar-hidden-global) .view.active .action-side .side-footer .theme-select{
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Quitar aire lateral adicional de agrupadores internos. */
body:not(.ps-sidebar-hidden-global) .view.active .action-side .signal-tools,
body:not(.ps-sidebar-hidden-global) .view.active .action-side .signal-field,
body:not(.ps-sidebar-hidden-global) .view.active .action-side .side-days-control,
body:not(.ps-sidebar-hidden-global) .view.active .action-side .remito-state-filters{
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}


/* ===== ui_sidebar_grilla_alineadas_M074H.css ===== */
/* M074H: alinear barra lateral y grilla sin superposición ni aire.
   Corrige el ancho con una medida fija estable y deja los botones al ancho útil.
   Solo CSS/layout lateral. */

:root{ --ps-sidebar-final-w: 244px; }

/* Barra fija: ancho final único */
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side,
body:not(.ps-sidebar-hidden-global) .view.active .work.with-action-side > .action-side{
  position: fixed !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: var(--ps-sidebar-final-w) !important;
  min-width: var(--ps-sidebar-final-w) !important;
  max-width: var(--ps-sidebar-final-w) !important;
  box-sizing: border-box !important;
  padding-left: 6px !important;
  padding-right: 6px !important;
  overflow: hidden !important;
  z-index: 80 !important;
}

/* Fondo de la barra: mismo ancho que la barra, sin invadir grilla/pestañas */
body:not(.ps-sidebar-hidden-global) .view.active .work.with-action-side > .action-side::before{
  width: var(--ps-sidebar-final-w) !important;
  max-width: var(--ps-sidebar-final-w) !important;
  min-width: var(--ps-sidebar-final-w) !important;
}

/* Encabezado/pestañas y grilla arrancan justo al lado de la barra, sin aire */
body:not(.ps-sidebar-hidden-global) .app > div:first-child{
  margin-left: var(--ps-sidebar-final-w) !important;
}
body:not(.ps-sidebar-hidden-global) .work.with-action-side,
body:not(.ps-sidebar-hidden-global) .view.active > .work.with-action-side{
  padding-left: var(--ps-sidebar-final-w) !important;
  padding-right: 6px !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
body:not(.ps-sidebar-hidden-global) .work.with-action-side > .main,
body:not(.ps-sidebar-hidden-global) .view.active > .work.with-action-side > .main{
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

/* Botones/campos: aprovechan el ancho útil interno, con aire mínimo */
body:not(.ps-sidebar-hidden-global) .action-side .side-tool-group,
body:not(.ps-sidebar-hidden-global) .action-side .side-footer{
  padding-left: 6px !important;
  padding-right: 6px !important;
}
body:not(.ps-sidebar-hidden-global) .action-side .btn,
body:not(.ps-sidebar-hidden-global) .action-side .signal-btn,
body:not(.ps-sidebar-hidden-global) .action-side .remito-state-btn,
body:not(.ps-sidebar-hidden-global) .action-side .side-filter-clear,
body:not(.ps-sidebar-hidden-global) .action-side .signal-field select,
body:not(.ps-sidebar-hidden-global) .action-side .side-theme,
body:not(.ps-sidebar-hidden-global) .action-side .side-footer .btn,
body:not(.ps-sidebar-hidden-global) .action-side .side-footer .theme-select{
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Evita que scripts viejos cambien la medida visible. */
body:not(.ps-sidebar-hidden-global) .action-side{
  --ps-side-real-w: var(--ps-sidebar-final-w) !important;
}

/* Modo barra oculta: contenido ocupa todo */
body.ps-sidebar-hidden-global .app > div:first-child{margin-left: 0 !important;}
body.ps-sidebar-hidden-global .work.with-action-side,
body.ps-sidebar-hidden-global .view.active > .work.with-action-side{padding-left: 6px !important;}
body.ps-sidebar-hidden-global .work.with-action-side > .action-side{display:none !important;}


/* ===== ui_sidebar_fix_carga_232_M074L.css ===== */
/* M074L: reconstruida desde ZIP completo M074H.
   Corrige el ZIP incompleto anterior y reduce el ancho lateral para que no pise la grilla.
   Sin JS nuevo, sin bucles. */

:root{
  --ps-sidebar-final-w: 232px;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side > .action-side,
body:not(.ps-sidebar-hidden-global) .view.active .work.with-action-side > .action-side{
  left:0 !important;
  width:var(--ps-sidebar-final-w) !important;
  min-width:var(--ps-sidebar-final-w) !important;
  max-width:var(--ps-sidebar-final-w) !important;
  box-sizing:border-box !important;
}

body:not(.ps-sidebar-hidden-global) .view.active .work.with-action-side > .action-side::before{
  left:0 !important;
  width:var(--ps-sidebar-final-w) !important;
  min-width:var(--ps-sidebar-final-w) !important;
  max-width:var(--ps-sidebar-final-w) !important;
}

body:not(.ps-sidebar-hidden-global) .app > div:first-child{
  margin-left:var(--ps-sidebar-final-w) !important;
}

body:not(.ps-sidebar-hidden-global) .work.with-action-side,
body:not(.ps-sidebar-hidden-global) .view.active > .work.with-action-side{
  padding-left:var(--ps-sidebar-final-w) !important;
}

body:not(.ps-sidebar-hidden-global) .action-side .side-tool-group,
body:not(.ps-sidebar-hidden-global) .action-side .side-footer{
  padding-left:5px !important;
  padding-right:5px !important;
}

body:not(.ps-sidebar-hidden-global) .action-side .btn,
body:not(.ps-sidebar-hidden-global) .action-side .signal-btn,
body:not(.ps-sidebar-hidden-global) .action-side .remito-state-btn,
body:not(.ps-sidebar-hidden-global) .action-side .side-filter-clear,
body:not(.ps-sidebar-hidden-global) .action-side .signal-field select,
body:not(.ps-sidebar-hidden-global) .action-side .side-theme,
body:not(.ps-sidebar-hidden-global) .action-side .side-footer .btn,
body:not(.ps-sidebar-hidden-global) .action-side .side-footer .theme-select{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}


/* ===== ui_solo_grilla_dentro_M074U.css ===== */
/* M074U: recuperar barra lateral de M074L y conservar ajuste de grilla dentro de ventana.
   Solo toca el área principal/grilla. No toca la barra lateral, botones ni fondo. */

:root{ --ps-sidebar-final-w: 232px; }

/* Encabezado principal: ocupa solo el espacio disponible a la derecha del lateral */
body:not(.ps-sidebar-hidden-global) .app > div:first-child{
  position: fixed !important;
  top: 0 !important;
  left: var(--ps-sidebar-final-w) !important;
  right: 0 !important;
  width: auto !important;
  max-width: none !important;
  margin-left: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Vista activa dentro del espacio derecho real de la ventana */
body:not(.ps-sidebar-hidden-global) .app > .view.active{
  position: fixed !important;
  top: 45px !important;
  left: var(--ps-sidebar-final-w) !important;
  right: 0 !important;
  bottom: 0 !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* Wrapper del módulo: no calcula con 100vw + lateral */
body:not(.ps-sidebar-hidden-global) .app > .view.active > .work.with-action-side{
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  padding: 6px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Panel principal contenido dentro de ese wrapper */
body:not(.ps-sidebar-hidden-global) .app > .view.active > .work.with-action-side > .main{
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Toolbar y pie contenidos */
body:not(.ps-sidebar-hidden-global) .app > .view.active .toolbar,
body:not(.ps-sidebar-hidden-global) .app > .view.active .footbar{
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Grilla: el desborde horizontal vive dentro de la grilla */
body:not(.ps-sidebar-hidden-global) .app > .view.active .table-wrap{
  flex: 1 1 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
  overflow: auto !important;
}
body:not(.ps-sidebar-hidden-global) .app > .view.active .table-wrap table{
  width: max-content !important;
  min-width: 100% !important;
}

/* Barra oculta: todo el contenido vuelve al ancho completo */
body.ps-sidebar-hidden-global .app > div:first-child{
  left: 0 !important;
  right: 0 !important;
  width: auto !important;
  margin-left: 0 !important;
}
body.ps-sidebar-hidden-global .app > .view.active{
  left: 0 !important;
  right: 0 !important;
}
body.ps-sidebar-hidden-global .app > .view.active > .work.with-action-side{
  padding: 6px !important;
}


/* ===== ui_dropdown_adelante_M074V.css ===== */
/* M074V: ajuste quirúrgico.
   El desplegable de "Vista Columnas" debe verse delante de la grilla.
   No toca barra lateral, grilla, datos ni carga LAB. */

.toolbar,
.toolbar.filter-toolbar,
.main .toolbar{
  position: relative !important;
  z-index: 5000 !important;
  overflow: visible !important;
}

.toolbar .drop,
.toolbar [data-drop],
.filter-toolbar .drop,
.filter-toolbar [data-drop]{
  position: relative !important;
  z-index: 5100 !important;
}

.toolbar .drop-panel,
.filter-toolbar .drop-panel,
.drop.open .drop-panel,
[data-drop].open .drop-panel{
  z-index: 5200 !important;
}

.table-wrap{
  position: relative !important;
  z-index: 1 !important;
}


/* ===== ui_dropdown_fixed_M074W.css ===== */
/* M074W: Vista Columnas siempre delante de la grilla.
   Solo dropdown / z-index. No toca barra lateral ni layout de grilla. */

.drop-panel.ps-floating-dropdown{
  position: fixed !important;
  z-index: 2147483000 !important;
  display: block !important;
  background: var(--panel) !important;
  border: 1px solid var(--line) !important;
  box-shadow: var(--shadow) !important;
  border-radius: 14px !important;
  overflow: auto !important;
  max-height: min(420px, calc(100vh - 90px)) !important;
  pointer-events: auto !important;
}

.toolbar,
.toolbar.filter-toolbar,
.main,
.view.active,
.work.with-action-side{
  overflow: visible !important;
}

.table-wrap,
.table-wrap table,
.table-wrap thead,
.table-wrap th{
  z-index: auto !important;
}


/* ===== ui_sidebar_content_shift_M074X.css ===== */
/* M074X: ajuste quirúrgico del contenido interno del lateral.
   Mueve visualmente los bloques internos 6px a la derecha.
   No toca fondo, ancho de barra, grilla, datos ni carga LAB. */
:root{
  --ps-sidebar-content-shift: 6px;
}

body:not(.ps-sidebar-hidden-global) .action-side .side-brand,
body:not(.ps-sidebar-hidden-global) .action-side .side-tool-group,
body:not(.ps-sidebar-hidden-global) .action-side .side-footer{
  transform: translateX(var(--ps-sidebar-content-shift)) !important;
  transform-origin: left center !important;
}


/* ===== M074Z: ajuste real de aire izquierdo lateral =====
   Importante: no usar transform para mover contenido porque recorta los campos.
   El corrimiento real ahora lo hace JS con PAD_LEFT/PAD_RIGHT. */
:root{
  --ps-sidebar-final-w: 242px !important;
  --ps-sidebar-content-shift: 0px !important;
}

body:not(.ps-sidebar-hidden-global) .action-side .side-brand,
body:not(.ps-sidebar-hidden-global) .action-side .side-tool-group,
body:not(.ps-sidebar-hidden-global) .action-side .side-footer{
  transform: none !important;
}

/* ===== Ajuste final UI normalizada: Filtros rápidos +2px =====
   Solo aumenta texto de la barra de filtros rápidos. No toca datos ni layout general. */
.toolbar.filter-toolbar,
.toolbar.filter-toolbar .btn,
.toolbar.filter-toolbar .drop > .btn,
.toolbar.filter-toolbar input,
.toolbar.filter-toolbar select,
.toolbar.filter-toolbar .grid-zoom-control,
.toolbar.filter-toolbar .grid-zoom-control button,
.toolbar.filter-toolbar .grid-zoom-control select,
.toolbar.filter-toolbar .drop-panel,
.toolbar.filter-toolbar .drop-panel .btn,
.toolbar.filter-toolbar .check-row{
  font-size: 15px !important;
  line-height: 1.18 !important;
}
.toolbar.filter-toolbar::before{
  font-size: 13px !important;
  line-height: 1.18 !important;
}

/* Ajuste final: agrandar solo iconos de pestañas superiores, sin tocar texto ni layout funcional */
.module-tabs .tab-icon{
  width:20px !important;
  height:20px !important;
  flex:0 0 20px !important;
}
.module-tabs .tab-icon svg{
  width:20px !important;
  height:20px !important;
}
