
/* v156 - Recuperación dashboard estable: no pantalla blanca, no parpadeo */
html,body,#app{
  min-height:100%!important;
}
body.route-dashboard-home .dashboard-page,
.dashboard-page{
  opacity:1!important;
  visibility:visible!important;
}
body.route-dashboard-home .dashboard-page .kpis,
.dashboard-page .kpis{
  visibility:visible!important;
  opacity:1!important;
}
body.route-dashboard-home .dashboard-page .kpis:not(.cashier-kpis){
  display:grid!important;
  grid-template-columns:repeat(5,minmax(205px,1fr))!important;
  gap:14px!important;
  width:100%!important;
  overflow:visible!important;
}
body.route-dashboard-home .dashboard-page .kpis:not(.cashier-kpis) .kpi{
  min-height:104px!important;
  padding:14px 16px!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  column-gap:12px!important;
  align-items:center!important;
}
body.route-dashboard-home .dashboard-page .kpis:not(.cashier-kpis) .kpi:nth-child(n+6){
  display:none!important;
}
body.route-dashboard-home .dashboard-page .kpi b{
  font-size:20px!important;
  line-height:1.06!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.route-dashboard-home .dashboard-page .kpi small{
  display:block!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-size:10.5px!important;
  line-height:1.1!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
@media(max-width:1360px){
  body.route-dashboard-home .dashboard-page .kpis:not(.cashier-kpis){
    grid-template-columns:repeat(5,minmax(180px,1fr))!important;
  }
  body.route-dashboard-home .dashboard-page .kpi small{
    font-size:10px!important;
  }
}
@media(max-width:1120px){
  body.route-dashboard-home .dashboard-page .kpis:not(.cashier-kpis){
    grid-template-columns:repeat(3,minmax(190px,1fr))!important;
  }
}
@media(max-width:720px){
  body.route-dashboard-home .dashboard-page .kpis:not(.cashier-kpis){
    grid-template-columns:1fr!important;
  }
}

/* Formulario Nuevo producto dentro del POS con estilo del módulo Productos */
.pos-modal-backdrop .new-product-panel{
  width:min(1120px, calc(100vw - 48px))!important;
  max-width:1120px!important;
  max-height:88vh!important;
  padding:0!important;
  border-radius:22px!important;
  background:#fff!important;
  border:1px solid #dfe7f3!important;
  box-shadow:0 26px 75px rgba(15,23,42,.25)!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.pos-modal-backdrop .new-product-panel > .flex.justify-between,
.pos-modal-backdrop .new-product-panel > div:first-child{
  padding:18px 22px!important;
  border-bottom:1px solid #edf2f7!important;
  background:#fff!important;
  flex:0 0 auto!important;
}
.pos-modal-backdrop .new-product-panel h3{
  margin:0!important;
  font-size:21px!important;
  line-height:1.15!important;
  letter-spacing:-.03em!important;
  font-weight:950!important;
  color:#0f1f44!important;
}
.pos-modal-backdrop .new-product-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  padding:18px 22px 16px!important;
  margin:0!important;
  overflow:auto!important;
  max-height:calc(88vh - 144px)!important;
  align-items:start!important;
}
.pos-modal-backdrop .new-product-grid label,
.pos-modal-backdrop .new-product-grid .cost-field{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  min-width:0!important;
}
.pos-modal-backdrop .new-product-grid label > span,
.pos-modal-backdrop .new-product-grid .cost-field > span{
  color:#6b7a95!important;
  font-size:12px!important;
  line-height:1.15!important;
  font-weight:850!important;
}
.pos-modal-backdrop .new-product-grid .input,
.pos-modal-backdrop .new-product-grid input,
.pos-modal-backdrop .new-product-grid select,
.pos-modal-backdrop .new-product-grid textarea{
  width:100%!important;
  min-height:42px!important;
  border-radius:12px!important;
  border:1px solid #d9e3f1!important;
  background:#fff!important;
  color:#102044!important;
  padding:10px 12px!important;
  box-shadow:none!important;
}
.pos-modal-backdrop .new-product-grid textarea{
  min-height:76px!important;
  resize:vertical!important;
}
.pos-modal-backdrop .new-product-grid .sat-mini-card{
  grid-column:1 / span 2!important;
  border-radius:16px!important;
  border:1px solid #dbe6f5!important;
  background:#f8fbff!important;
  padding:13px 14px!important;
  align-self:stretch!important;
}
.pos-modal-backdrop .new-product-grid .sat-mini-grid{
  display:grid!important;
  grid-template-columns:1fr 1.7fr 1fr 1fr!important;
  gap:8px!important;
  margin-top:11px!important;
}
.pos-modal-backdrop .new-product-grid .sat-mini-grid span{
  min-height:50px!important;
  border-radius:12px!important;
  border:1px solid #dbe6f5!important;
  background:#fff!important;
  padding:8px 10px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.pos-modal-backdrop .new-product-grid .sat-mini-grid small{
  color:#8a97ad!important;
  text-transform:uppercase!important;
  font-size:9px!important;
  line-height:1.1!important;
  font-weight:900!important;
}
.pos-modal-backdrop .new-product-grid .sat-mini-grid b{
  color:#17233f!important;
  font-size:12px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.pos-modal-backdrop .new-product-grid .wide{
  grid-column:1 / -1!important;
}
.pos-modal-backdrop .new-product-footer{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:14px 22px!important;
  border-top:1px solid #edf2f7!important;
  background:#fff!important;
}
.pos-modal-backdrop .new-product-footer .footer-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  margin-left:auto!important;
}
.pos-modal-backdrop .new-product-footer .btn-primary,
.pos-modal-backdrop .new-product-footer .btn-secondary{
  min-height:42px!important;
  border-radius:12px!important;
  padding:0 16px!important;
  font-weight:900!important;
}
@media(max-width:980px){
  .pos-modal-backdrop .new-product-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .pos-modal-backdrop .new-product-grid .sat-mini-card{
    grid-column:1 / -1!important;
  }
}
@media(max-width:680px){
  .pos-modal-backdrop .new-product-panel{
    width:calc(100vw - 20px)!important;
    max-height:94vh!important;
  }
  .pos-modal-backdrop .new-product-grid{
    grid-template-columns:1fr!important;
    max-height:calc(94vh - 150px)!important;
  }
  .pos-modal-backdrop .new-product-grid .sat-mini-grid{
    grid-template-columns:1fr!important;
  }
}
