/* =========================================================
   REDISEÑO PREMIUM PC — catálogo con panel derecho ordenado
   - Sólo escritorio.
   - La página queda estable; el scroll principal está en la lista.
   - Cotización y contacto quedan como columna premium a la derecha.
   ========================================================= */
@media (min-width: 1025px){
  html,
  body:not(.pos-mode){
    height:100%;
  }

  body:not(.pos-mode){
    overflow:hidden !important;
    background:#070707 !important;
  }

  body:not(.pos-mode) .desktop-shop-layout{
    width:min(1480px, calc(100% - 72px)) !important;
    height:calc(100vh - 86px) !important;
    min-height:0 !important;
    margin:0 auto !important;
    padding:34px 0 !important;
    display:grid !important;
    grid-template-columns:minmax(760px, 1fr) 420px !important;
    grid-template-rows:auto 1fr !important;
    grid-template-areas:
      "catalog quote"
      "catalog contact" !important;
    gap:18px 28px !important;
    align-items:start !important;
    overflow:hidden !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .main-content{
    grid-area:catalog !important;
    height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .main-content .section-header{
    margin:0 0 22px !important;
    padding:0 !important;
    flex:0 0 auto !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .section-title{
    font-size:2.35rem !important;
    line-height:1.1 !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .filters-bar{
    margin:0 0 14px !important;
    flex:0 0 auto !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .table-wrap{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    flex:1 1 auto !important;
    overflow:auto !important;
    border:1px solid rgba(65,65,255,.22) !important;
    border-radius:18px !important;
    background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012)) !important;
    box-shadow:0 18px 45px rgba(0,0,0,.34) !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .catalog-table thead{
    position:sticky !important;
    top:0 !important;
    z-index:20 !important;
    box-shadow:0 1px 0 rgba(65,65,255,.55) !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .quote-section{
    grid-area:quote !important;
    position:static !important;
    align-self:start !important;
    width:100% !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .quote-panel,
  body:not(.pos-mode) .desktop-shop-layout .site-footer{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    border:1px solid rgba(65,65,255,.18) !important;
    border-radius:22px !important;
    background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)) !important;
    box-shadow:0 22px 50px rgba(0,0,0,.38) !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .quote-panel{
    padding:18px !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .quote-stats{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:10px !important;
    margin-bottom:14px !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .stat-box{
    min-height:88px !important;
    padding:14px 8px !important;
    border-radius:14px !important;
    background:rgba(0,0,0,.25) !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .stat-label{
    font-size:.56rem !important;
    letter-spacing:1.6px !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .stat-val{
    font-size:1.08rem !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .quote-items{
    min-height:82px !important;
    max-height:145px !important;
    overflow:auto !important;
    margin:0 0 14px !important;
    padding-right:4px !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .quote-empty{
    padding:24px 10px !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .quote-actions{
    display:grid !important;
    grid-template-columns:1fr 56px !important;
    gap:10px !important;
    margin:0 0 10px !important;
  }

  body:not(.pos-mode) .desktop-shop-layout #copyQuoteBtn,
  body:not(.pos-mode) .desktop-shop-layout #clearQuoteBtn{
    height:54px !important;
    border-radius:12px !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .quote-note{
    text-align:left !important;
    font-size:.68rem !important;
    line-height:1.55 !important;
    margin:0 !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .site-footer{
    grid-area:contact !important;
    align-self:start !important;
    padding:22px 20px 18px !important;
    text-align:center !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .footer-inner{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:16px !important;
    max-width:none !important;
    width:100% !important;
    padding:0 0 16px !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    text-align:center !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .footer-brand,
  body:not(.pos-mode) .desktop-shop-layout .footer-contact,
  body:not(.pos-mode) .desktop-shop-layout .footer-brand .logo-text{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    margin:0 !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .footer-brand .logo-main{
    font-size:2rem !important;
    line-height:1 !important;
    letter-spacing:.30em !important;
    text-align:center !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .footer-brand .logo-sub{
    font-size:.78rem !important;
    letter-spacing:.44em !important;
    text-align:center !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .footer-tagline{
    max-width:260px !important;
    margin:8px auto 0 !important;
    text-align:center !important;
    line-height:1.45 !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .footer-heading{
    width:100% !important;
    margin:0 0 10px !important;
    text-align:center !important;
    font-size:1.15rem !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .social-links{
    width:100% !important;
    max-width:260px !important;
    margin:0 auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:9px !important;
    flex-wrap:nowrap !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .social-links a{
    width:100% !important;
    max-width:none !important;
    height:40px !important;
    justify-content:center !important;
    padding:0 16px !important;
    border-radius:10px !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .footer-bottom{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:14px 0 0 !important;
    text-align:center !important;
    font-size:.66rem !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .footer-bottom p{
    text-align:center !important;
    margin:0 auto !important;
  }
}


/* ===== CABECERA PREMIUM CATALOGO PC ===== */
@media (min-width: 1024px){
  .section-header{
      max-width: 100% !important;
      width:100% !important;
      margin: 0 0 2rem 0 !important;
      box-sizing:border-box;
      background: linear-gradient(180deg,#1a1a1a,#141414);
      border: 1px solid #2a2a2a;
      border-radius: 18px;
      padding: 32px 40px;
      box-shadow: 0 10px 35px rgba(0,0,0,.45);
  }

  .section-title{
      margin-bottom: 6px;
  }

  .section-sub{
      color: #b8b0a0;
  }
}

/* ===== FILTROS COMPACTOS EN UNA SOLA FILA - PC ===== */
@media (min-width: 1024px){
  body:not(.pos-mode) .desktop-shop-layout .filters-bar{
    width:100% !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:10px !important;
    overflow:hidden !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .mobile-search-row{
    display:block !important;
    flex:1 1 auto !important;
    min-width:250px !important;
    max-width:none !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .filters-bar .search-input,
  body:not(.pos-mode) .desktop-shop-layout #searchInput{
    width:100% !important;
    min-width:0 !important;
    height:42px !important;
    padding:0 14px !important;
    font-size:.78rem !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .filter-chips{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:7px !important;
    flex:0 0 auto !important;
    min-width:0 !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .chip{
    height:34px !important;
    padding:0 13px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:999px !important;
    font-size:.68rem !important;
    letter-spacing:.55px !important;
    white-space:nowrap !important;
    line-height:1 !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .chip-sex{
    min-width:auto !important;
    padding:0 12px !important;
  }

  body:not(.pos-mode) .desktop-shop-layout #catFilters,
  body:not(.pos-mode) .desktop-shop-layout #sexFilters{
    margin:0 !important;
  }
}


/* =========================================================
   FIX DEFINITIVO: SCROLL COMPLETO SOLO EN MODO ADMINISTRADOR
   ========================================================= */
@media (min-width: 1025px){
  html:has(#admin-section:not(.hidden)),
  body:has(#admin-section:not(.hidden)),
  body.admin-open,
  html.admin-open{
    height:auto !important;
    min-height:100% !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
  }

  body.admin-open .desktop-shop-layout,
  body:has(#admin-section:not(.hidden)) .desktop-shop-layout{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }

  body.admin-open #admin-section,
  body:has(#admin-section:not(.hidden)) #admin-section{
    display:block !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding-bottom:80px !important;
  }

  body.admin-open .admin-dashboard,
  body.admin-open .admin-pane,
  body.admin-open .admin-pane.active,
  body:has(#admin-section:not(.hidden)) .admin-dashboard,
  body:has(#admin-section:not(.hidden)) .admin-pane,
  body:has(#admin-section:not(.hidden)) .admin-pane.active{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }

  body.admin-open .admin-table-wrap,
  body:has(#admin-section:not(.hidden)) .admin-table-wrap{
    max-height:none !important;
  }
}

/* En móvil/tablet también aseguramos scroll normal si se abre admin */
body.admin-open,
html.admin-open{
  overflow-y:auto !important;
}


/* Mantener catálogo dentro de su recuadro */
@media (min-width:1024px){
  .table-wrap{
      height: calc(100vh - 320px) !important;
      max-height: calc(100vh - 320px) !important;
      overflow-y: auto !important;
      overflow-x: hidden !important;
      border-radius: 18px;
  }

  .catalog-table{
      margin-bottom:0 !important;
  }
}

/* =========================================================
   FIX REAL: admin con scroll, pero catálogo SIEMPRE en recuadro
   ========================================================= */
@media (min-width:1025px){
  html:has(#admin-section:not(.hidden)),
  body:has(#admin-section:not(.hidden)),
  html.admin-open,
  body.admin-open{
    height:auto !important;
    min-height:100% !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
  }

  body.admin-open .desktop-shop-layout,
  body:has(#admin-section:not(.hidden)) .desktop-shop-layout{
    width:min(1480px, calc(100% - 72px)) !important;
    height:calc(100vh - 86px) !important;
    min-height:0 !important;
    max-height:calc(100vh - 86px) !important;
    margin:0 auto !important;
    padding:34px 0 !important;
    display:grid !important;
    grid-template-columns:minmax(760px, 1fr) 420px !important;
    grid-template-rows:auto 1fr !important;
    grid-template-areas:
      "catalog quote"
      "catalog contact" !important;
    gap:18px 28px !important;
    align-items:start !important;
    overflow:hidden !important;
  }

  body.admin-open .desktop-shop-layout .main-content,
  body:has(#admin-section:not(.hidden)) .desktop-shop-layout .main-content{
    grid-area:catalog !important;
    height:100% !important;
    min-height:0 !important;
    max-height:100% !important;
    overflow:hidden !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
  }

  body.admin-open .desktop-shop-layout .section-header,
  body.admin-open .desktop-shop-layout .filters-bar,
  body:has(#admin-section:not(.hidden)) .desktop-shop-layout .section-header,
  body:has(#admin-section:not(.hidden)) .desktop-shop-layout .filters-bar{
    flex:0 0 auto !important;
  }

  body.admin-open .desktop-shop-layout .table-wrap,
  body:has(#admin-section:not(.hidden)) .desktop-shop-layout .table-wrap,
  body:not(.pos-mode) .desktop-shop-layout .table-wrap{
    flex:1 1 auto !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    border:1px solid rgba(65,65,255,.22) !important;
    border-radius:18px !important;
  }

  body.admin-open .desktop-shop-layout .catalog-table,
  body:has(#admin-section:not(.hidden)) .desktop-shop-layout .catalog-table{
    margin:0 !important;
  }

  body.admin-open .desktop-shop-layout .catalog-table thead,
  body:has(#admin-section:not(.hidden)) .desktop-shop-layout .catalog-table thead{
    position:sticky !important;
    top:0 !important;
    z-index:30 !important;
  }

  body.admin-open #admin-section,
  body:has(#admin-section:not(.hidden)) #admin-section{
    display:block !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding-bottom:90px !important;
  }
}


/* Corrección final: catálogo público con scroll interno; administrador con scroll normal */
@media (min-width:1024px){
  body.admin-mode, html:has(body.admin-mode){
    overflow-y:auto !important;
    height:auto !important;
  }
  body:not(.admin-mode) .catalog-table-wrap,
  body:not(.admin-mode) .table-wrap,
  body:not(.admin-mode) #catalogTableWrap{
    max-height: calc(100vh - 330px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
}


/* ===== Etiquetas premium de perfumes ===== */
.pf-name-line{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.perfume-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 9px;
  border-radius:999px;
  background:linear-gradient(135deg,#b70f1b,#e22a35);
  color:#fff;
  font-family:inherit;
  font-size:.58rem;
  line-height:1;
  letter-spacing:1px;
  font-weight:800;
  text-transform:uppercase;
  box-shadow:0 0 16px rgba(226,42,53,.28), inset 0 1px 0 rgba(255,255,255,.22);
  border:1px solid rgba(255,255,255,.14);
  white-space:nowrap;
}
.admin-row-badges{margin-top:6px;display:flex;gap:5px;flex-wrap:wrap;}
.admin-row-badges .perfume-badge{font-size:.52rem;padding:3px 7px;}
.old-price{display:block;color:#ff5a67;text-decoration:line-through;text-decoration-thickness:2px;font-size:.72rem;margin-bottom:2px;}
.new-price{display:block;color:#fff;font-weight:800;}
/* Admin: orden numérico + rentabilidad privada */
.admin-order-input{width:58px;min-width:58px;padding:6px 5px;border:1px solid rgba(255,255,255,.18);border-radius:7px;background:#292c33;color:#fff;text-align:center;font:inherit;font-size:.78rem;outline:none;}
.admin-order-input:focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(212,175,55,.12);}
.drag-cell{gap:7px!important;}
.admin-cost-cell{font-weight:700;color:#f2f2f2;}
.profit-positive{color:#68d391!important;font-weight:700;}
.profit-negative{color:#ff6b78!important;font-weight:700;}
.discount-percent{display:inline-block;margin-top:3px;font-size:.65rem;font-weight:800;color:#ff5a67;letter-spacing:.35px;}

.admin-badge-toggles{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.admin-badge-toggle{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  border-radius:14px;
  border:1px solid rgba(65,65,255,.28);
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  color:var(--white-soft);
  cursor:pointer;
  letter-spacing:.8px;
  font-size:.76rem;
  font-weight:700;
  text-transform:uppercase;
  transition:.2s ease;
}
.admin-badge-toggle input{position:absolute;opacity:0;pointer-events:none;}
.admin-badge-toggle:hover{border-color:var(--gold);color:var(--gold-light);transform:translateY(-1px);}
.admin-badge-toggle:has(input:checked){
  background:linear-gradient(135deg,#b70f1b,#dc2632);
  border-color:rgba(255,255,255,.22);
  color:#fff;
  box-shadow:0 0 20px rgba(226,42,53,.22);
}
#pf-discount-wrap{
  border:1px solid rgba(226,42,53,.35);
  border-radius:14px;
  padding:12px;
  background:linear-gradient(180deg,rgba(183,15,27,.10),rgba(255,255,255,.015));
}
@media (max-width:700px){.admin-badge-toggles{grid-template-columns:1fr;}}


/* Etiquetas: en celular debajo de la marca */
.badges-mobile{
  display:none;
}
.badges-desktop{
  display:inline-flex;
  gap:6px;
  flex-wrap:wrap;
  align-items:center;
}
@media (max-width:700px){
  .pf-name-line .badges-desktop{
    display:none !important;
  }
  .badges-mobile{
    display:flex !important;
    gap:5px;
    flex-wrap:wrap;
    margin-top:6px;
  }
  .badges-mobile .perfume-badge{
    font-size:.55rem;
    padding:4px 8px;
    border-radius:999px;
  }
}

/* =========================================================
   PUNTO DE VENTA COMO EN public_html(1)
   - Es un apartado interno, no otra página
   - Al abrirlo solo se ve el POS
   - No hay scroll general, solo scroll interno en listas
   ========================================================= */
html.pos-mode,
body.pos-mode{
  width:100% !important;
  height:100vh !important;
  min-height:100vh !important;
  overflow:hidden !important;
  padding-top:0 !important;
}

/* Ocultar TODO lo que no sea Punto de Venta cuando POS está abierto */
body.pos-mode .site-header,
body.pos-mode .desktop-shop-layout,
body.pos-mode .main-content,
body.pos-mode .quote-section,
body.pos-mode .site-footer,
body.pos-mode #admin-section,
body.pos-mode .admin-section,
body.pos-mode .drawer,
body.pos-mode .drawer-overlay{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Mostrar únicamente el Punto de Venta */
body.pos-mode #pos-section{
  display:block !important;
  visibility:visible !important;
  pointer-events:auto !important;
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  width:100vw !important;
  height:100vh !important;
  min-height:100vh !important;
  max-height:100vh !important;
  max-width:none !important;
  margin:0 !important;
  padding:22px 2.4rem 24px !important;
  overflow:hidden !important;
  background:var(--black) !important;
}

/* Header y pestañas del POS */
body.pos-mode .pos-header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:1rem !important;
  margin:0 0 14px 0 !important;
  padding:0 0 14px 0 !important;
  border-bottom:1px solid var(--black-border) !important;
}
body.pos-mode .pos-nav{
  display:flex !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  margin:0 0 14px 0 !important;
  padding:0 0 12px 0 !important;
  border-bottom:1px solid var(--black-border) !important;
}

/* Área interna del POS */
body.pos-mode .pos-pane{ display:none !important; }
body.pos-mode .pos-pane.active{ display:block !important; }

body.pos-mode #pos-pane-venta.active{
  height:calc(100vh - 150px) !important;
  max-height:calc(100vh - 150px) !important;
  overflow:hidden !important;
}

body.pos-mode #pos-pane-venta.active .pos-layout{
  height:100% !important;
  max-height:100% !important;
  display:grid !important;
  grid-template-columns:minmax(320px,.9fr) minmax(520px,1.4fr) !important;
  gap:1.5rem !important;
  align-items:stretch !important;
}

body.pos-mode #pos-pane-venta.active .pos-search-panel,
body.pos-mode #pos-pane-venta.active .pos-cart-panel{
  height:100% !important;
  max-height:100% !important;
  overflow:hidden !important;
}

body.pos-mode .pos-product-list{
  max-height:calc(100vh - 285px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}

body.pos-mode .pos-cart-items{
  max-height:calc(100vh - 545px) !important;
  min-height:130px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}

/* Ventas / Estadísticas / Más vendidos con scroll interno, no scroll de página */
body.pos-mode #pos-pane-ventas.active,
body.pos-mode #pos-pane-estadisticas.active,
body.pos-mode #pos-pane-mas-vendidos.active{
  height:calc(100vh - 150px) !important;
  max-height:calc(100vh - 150px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-right:8px !important;
  box-sizing:border-box !important;
}

@media (max-width:900px){
  html.pos-mode,
  body.pos-mode{
    overflow-y:auto !important;
    height:auto !important;
  }

  body.pos-mode #pos-section{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding:16px 1rem 24px !important;
  }

  body.pos-mode #pos-pane-venta.active,
  body.pos-mode #pos-pane-venta.active .pos-layout,
  body.pos-mode #pos-pane-venta.active .pos-search-panel,
  body.pos-mode #pos-pane-venta.active .pos-cart-panel{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    grid-template-columns:1fr !important;
  }
}


/* ===== POS: botones superiores junto al logo y sin barra visible ===== */
body.pos-mode #pos-section{
  overflow:hidden !important;
}

body.pos-mode .pos-header{
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  align-items:center !important;
  gap:18px !important;
}

body.pos-mode .pos-header-brand{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:max-content !important;
}

body.pos-mode .pos-header-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  min-width:0 !important;
}

body.pos-mode .pos-header-nav .pos-nav{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
}

body.pos-mode .pos-header-nav .pos-nav-btn{
  height:34px !important;
  padding:0 13px !important;
  border-radius:999px !important;
  font-size:.70rem !important;
  white-space:nowrap !important;
}

body.pos-mode .pos-header-actions{
  justify-self:end !important;
}

/* Ocultar barras de scroll visuales sin quitar el scroll interno */
body.pos-mode,
body.pos-mode *{
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}
body.pos-mode::-webkit-scrollbar,
body.pos-mode *::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}

@media (max-width:1100px){
  body.pos-mode .pos-header{
    grid-template-columns:1fr auto !important;
    gap:12px !important;
  }
  body.pos-mode .pos-header-nav{
    grid-column:1 / -1 !important;
    order:3 !important;
  }
  body.pos-mode .pos-header-nav .pos-nav{
    overflow-x:auto !important;
  }
}

/* =========================================================
   AJUSTE FINAL POS: centrado, navegación superior y sin scroll general
   ========================================================= */
html.pos-mode,
body.pos-mode{
  width:100% !important;
  height:100vh !important;
  min-height:100vh !important;
  max-height:100vh !important;
  overflow:hidden !important;
  padding:0 !important;
}

/* Ocultar la barra general de la derecha */
html.pos-mode::-webkit-scrollbar,
body.pos-mode::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}
html.pos-mode,
body.pos-mode{
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}

/* Solo mostrar el POS */
body.pos-mode .site-header,
body.pos-mode .desktop-shop-layout,
body.pos-mode .main-content,
body.pos-mode .quote-section,
body.pos-mode .site-footer,
body.pos-mode #admin-section,
body.pos-mode .admin-section,
body.pos-mode .drawer,
body.pos-mode .drawer-overlay{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

body.pos-mode #pos-section{
  display:flex !important;
  flex-direction:column !important;
  visibility:visible !important;
  pointer-events:auto !important;
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  width:100vw !important;
  height:100vh !important;
  max-height:100vh !important;
  margin:0 !important;
  padding:22px 2.2rem !important;
  overflow:hidden !important;
  background:var(--black) !important;
}

/* Header superior centrado y ordenado */
body.pos-mode .pos-header{
  flex:0 0 auto !important;
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  align-items:center !important;
  gap:20px !important;
  width:100% !important;
  max-width:1500px !important;
  margin:0 auto 16px !important;
  padding:0 0 14px !important;
  border-bottom:1px solid var(--black-border) !important;
}

body.pos-mode .pos-header-brand{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:max-content !important;
}

body.pos-mode .pos-header-logo{
  width:64px !important;
  height:auto !important;
}

body.pos-mode .pos-header-branding{
  display:flex !important;
  flex-direction:column !important;
}

body.pos-mode .pos-header-brand > div:not(.pos-header-branding){
  display:none !important;
}

/* Botones al lado del logo, no pegados arriba */
body.pos-mode .pos-header-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:0 !important;
}

body.pos-mode .pos-header-nav .pos-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:visible !important;
}

body.pos-mode .pos-header-nav .pos-nav-btn{
  height:36px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  font-size:.70rem !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

body.pos-mode .pos-header-actions{
  justify-self:end !important;
}

/* Contenido centrado en pantalla */
body.pos-mode .pos-pane{
  display:none !important;
}
body.pos-mode .pos-pane.active{
  display:block !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  width:100% !important;
  max-width:1500px !important;
  margin:0 auto !important;
}

body.pos-mode #pos-pane-venta.active{
  height:calc(100vh - 104px) !important;
  max-height:calc(100vh - 104px) !important;
  overflow:hidden !important;
}

/* Dos columnas principales equilibradas */
body.pos-mode #pos-pane-venta.active .pos-layout{
  height:100% !important;
  max-height:100% !important;
  display:grid !important;
  grid-template-columns:minmax(360px, .78fr) minmax(650px, 1.22fr) !important;
  gap:1.3rem !important;
  align-items:stretch !important;
}

/* Panel izquierdo */
body.pos-mode #pos-pane-venta.active .pos-search-panel{
  height:100% !important;
  max-height:100% !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
body.pos-mode .pos-search-box{
  flex:0 0 auto !important;
}
body.pos-mode .pos-product-list{
  flex:1 1 auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}

/* Panel derecho: productos agregados a la izquierda y resumen a la derecha */
body.pos-mode #pos-pane-venta.active .pos-cart-panel{
  height:100% !important;
  max-height:100% !important;
  overflow:hidden !important;
  display:grid !important;
  grid-template-columns:minmax(380px, 1fr) minmax(360px, 440px) !important;
  grid-template-rows:auto 1fr !important;
  column-gap:1.3rem !important;
  row-gap:0 !important;
  align-items:stretch !important;
}

body.pos-mode .pos-cart-head{
  grid-column:1 / 2 !important;
  grid-row:1 !important;
}

body.pos-mode .pos-cart-items{
  grid-column:1 / 2 !important;
  grid-row:2 !important;
  min-height:0 !important;
  max-height:none !important;
  height:100% !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  border-bottom:0 !important;
}

body.pos-mode .pos-cart-summary,
body.pos-mode .pos-cart-footer{
  grid-column:2 / 3 !important;
}

body.pos-mode .pos-cart-summary{
  grid-row:1 / 3 !important;
  align-self:center !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border-top:0 !important;
}

body.pos-mode .pos-cart-footer{
  grid-row:2 !important;
  align-self:end !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

body.pos-mode .pos-cart-actions{
  justify-content:flex-end !important;
}

/* Ventas / Estadísticas / Más vendidos: centrados, con scroll interno invisible */
body.pos-mode #pos-pane-ventas.active,
body.pos-mode #pos-pane-estadisticas.active,
body.pos-mode #pos-pane-mas-vendidos.active{
  height:calc(100vh - 104px) !important;
  max-height:calc(100vh - 104px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}

/* Ocultar barras visuales de scroll dentro del POS, sin quitar el scroll funcional */
body.pos-mode #pos-section,
body.pos-mode #pos-section *{
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}
body.pos-mode #pos-section::-webkit-scrollbar,
body.pos-mode #pos-section *::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}

@media (max-width:1100px){
  body.pos-mode #pos-section{
    position:relative !important;
    height:auto !important;
    max-height:none !important;
    overflow-y:auto !important;
    padding:16px 1rem 24px !important;
  }
  html.pos-mode,
  body.pos-mode{
    height:auto !important;
    overflow-y:auto !important;
  }
  body.pos-mode .pos-header{
    grid-template-columns:1fr auto !important;
  }
  body.pos-mode .pos-header-nav{
    grid-column:1 / -1 !important;
    order:3 !important;
    justify-content:flex-start !important;
    overflow-x:auto !important;
  }
  body.pos-mode #pos-pane-venta.active,
  body.pos-mode #pos-pane-venta.active .pos-layout,
  body.pos-mode #pos-pane-venta.active .pos-cart-panel,
  body.pos-mode #pos-pane-venta.active .pos-search-panel{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    display:block !important;
  }
}


/* =========================================================
   POS PREMIUM REBUILD - layout limpio y funcional
   ========================================================= */
html.pos-mode,
body.pos-mode{
  width:100% !important;
  height:100vh !important;
  min-height:100vh !important;
  max-height:100vh !important;
  overflow:hidden !important;
  padding:0 !important;
  background:#070707 !important;
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}
html.pos-mode::-webkit-scrollbar,
body.pos-mode::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}

/* POS como vista interna completa */
body.pos-mode .site-header,
body.pos-mode .desktop-shop-layout,
body.pos-mode .main-content,
body.pos-mode .quote-section,
body.pos-mode .site-footer,
body.pos-mode #admin-section,
body.pos-mode .admin-section,
body.pos-mode .drawer,
body.pos-mode .drawer-overlay{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

body.pos-mode #pos-section{
  display:flex !important;
  flex-direction:column !important;
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  width:100vw !important;
  height:100vh !important;
  min-height:100vh !important;
  max-height:100vh !important;
  max-width:none !important;
  margin:0 !important;
  padding:24px 36px 28px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 18% 8%, rgba(65,65,255,.08), transparent 24%),
    radial-gradient(circle at 88% 15%, rgba(65,65,255,.055), transparent 26%),
    #070707 !important;
}

/* Header premium */
body.pos-mode .pos-header{
  flex:0 0 74px !important;
  height:74px !important;
  width:100% !important;
  max-width:1540px !important;
  margin:0 auto 20px !important;
  padding:0 20px !important;
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  align-items:center !important;
  gap:24px !important;
  background:linear-gradient(180deg,rgba(22,22,22,.98),rgba(10,10,10,.96)) !important;
  border:1px solid rgba(65,65,255,.18) !important;
  border-radius:20px !important;
  box-shadow:0 18px 42px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

body.pos-mode .pos-header-brand{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  min-width:270px !important;
}
body.pos-mode .pos-header-logo{
  width:62px !important;
  height:62px !important;
  object-fit:contain !important;
}
body.pos-mode .pos-header-branding{
  display:flex !important;
  flex-direction:column !important;
  line-height:1 !important;
}
body.pos-mode .pos-brand-main{
  font-family:'Cormorant Garamond',serif !important;
  font-size:1.85rem !important;
  letter-spacing:.22em !important;
  color:var(--gold) !important;
}
body.pos-mode .pos-brand-sub{
  font-size:.62rem !important;
  letter-spacing:.42em !important;
  color:rgba(255,255,255,.72) !important;
}
body.pos-mode .pos-header-brand > div:not(.pos-header-branding){
  display:none !important;
}

/* Botones superiores */
body.pos-mode .pos-header-nav{
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
body.pos-mode .pos-header-nav .pos-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  flex-wrap:nowrap !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:visible !important;
}
body.pos-mode .pos-header-nav .pos-nav-btn{
  height:38px !important;
  padding:0 16px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  background:rgba(255,255,255,.035) !important;
  color:#f6f1e4 !important;
  font-size:.72rem !important;
  font-weight:800 !important;
  letter-spacing:.45px !important;
  white-space:nowrap !important;
  box-shadow:none !important;
}
body.pos-mode .pos-header-nav .pos-nav-btn.active,
body.pos-mode .pos-header-nav .pos-nav-btn:hover{
  color:#111 !important;
  background:linear-gradient(135deg,#4141ff,#2f2fd9) !important;
  border-color:rgba(65,65,255,.95) !important;
}

body.pos-mode .pos-header-actions{
  justify-self:end !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}
body.pos-mode .pos-back-admin-btn{
  height:40px !important;
  padding:0 18px !important;
  border-radius:12px !important;
  background:rgba(0,0,0,.25) !important;
  border:1px solid rgba(255,255,255,.15) !important;
}
body.pos-mode .pos-hidden-new-sale{
  display:none !important;
}

/* Pestañas */
body.pos-mode .pos-pane{
  display:none !important;
}
body.pos-mode .pos-pane.active{
  flex:1 1 auto !important;
  min-height:0 !important;
  display:block !important;
  width:100% !important;
  max-width:1540px !important;
  margin:0 auto !important;
}

/* Venta actual */
body.pos-mode #pos-pane-venta.active{
  height:calc(100vh - 122px) !important;
  max-height:calc(100vh - 122px) !important;
  overflow:hidden !important;
}
body.pos-mode #pos-pane-venta.active .pos-layout{
  height:100% !important;
  max-height:100% !important;
  min-height:0 !important;
  display:grid !important;
  grid-template-columns:40% 60% !important;
  gap:22px !important;
  align-items:stretch !important;
}

/* Paneles */
body.pos-mode .pos-search-panel,
body.pos-mode .pos-cart-panel,
body.pos-mode .pos-panel-wide{
  background:linear-gradient(180deg,rgba(21,21,21,.96),rgba(11,11,11,.96)) !important;
  border:1px solid rgba(65,65,255,.17) !important;
  border-radius:22px !important;
  box-shadow:0 18px 45px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.035) !important;
}

body.pos-mode #pos-pane-venta.active .pos-search-panel{
  height:100% !important;
  max-height:100% !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  padding:18px !important;
}
body.pos-mode .pos-label{
  flex:0 0 auto !important;
  margin-bottom:10px !important;
  color:var(--gold) !important;
  font-size:.72rem !important;
  letter-spacing:1.8px !important;
}
body.pos-mode .pos-search-box{
  flex:0 0 auto !important;
}
body.pos-mode #posSearchInput{
  height:44px !important;
  border-radius:12px !important;
}
body.pos-mode .pos-product-list{
  flex:1 1 auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin-top:14px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  border-radius:16px !important;
  border:1px solid rgba(255,255,255,.075) !important;
}
body.pos-mode .pos-product-card{
  min-height:86px !important;
  grid-template-columns:74px 1fr 48px !important;
  padding:12px 14px !important;
}

/* Panel derecho: lista izquierda + cobro derecha */
body.pos-mode #pos-pane-venta.active .pos-cart-panel{
  height:100% !important;
  max-height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  padding:18px !important;
  display:grid !important;
  grid-template-columns:minmax(410px,1fr) minmax(370px,430px) !important;
  grid-template-rows:auto 1fr auto !important;
  gap:16px 22px !important;
  align-items:stretch !important;
}

/* Tabla/lista de productos agregados */
body.pos-mode .pos-cart-head{
  grid-column:1 !important;
  grid-row:1 !important;
  display:grid !important;
  grid-template-columns:80px 1.3fr .8fr .75fr .75fr 42px !important;
  align-items:center !important;
  height:44px !important;
  padding:0 14px !important;
  border-radius:14px !important;
  background:rgba(65,65,255,.13) !important;
  color:var(--gold) !important;
  border:0 !important;
}
body.pos-mode .pos-cart-list{
  grid-column:1 !important;
  grid-row:2 / 4 !important;
  min-height:0 !important;
  height:100% !important;
  max-height:none !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  border:1px solid rgba(255,255,255,.075) !important;
  border-radius:16px !important;
  margin:0 !important;
  padding:0 !important;
}
body.pos-mode .pos-empty{
  height:100% !important;
  min-height:260px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:rgba(255,255,255,.55) !important;
}

/* Cobro al lado derecho */
body.pos-mode .pos-summary{
  grid-column:2 !important;
  grid-row:1 / 3 !important;
  align-self:start !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:18px !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  background:rgba(0,0,0,.23) !important;
}
body.pos-mode .pos-summary-row{
  display:grid !important;
  grid-template-columns:145px minmax(0,1fr) !important;
  gap:12px !important;
  align-items:center !important;
  min-height:50px !important;
  padding:8px 0 !important;
  border-bottom:1px solid rgba(255,255,255,.075) !important;
}
body.pos-mode .pos-summary-row > span{
  text-align:right !important;
  font-weight:800 !important;
}
body.pos-mode .pos-discount-wrap,
body.pos-mode .pos-cash-actions{
  display:grid !important;
  grid-template-columns:1fr auto !important;
  gap:8px !important;
}
body.pos-mode .pos-payment-summary-select,
body.pos-mode .pos-cash-input,
body.pos-mode .pos-summary .form-input{
  height:42px !important;
  border-radius:12px !important;
}
body.pos-mode .pos-summary-total{
  display:grid !important;
  grid-template-columns:145px 1fr !important;
  gap:12px !important;
  align-items:center !important;
  padding:18px 0 !important;
}
body.pos-mode .pos-summary-total span{
  text-align:right !important;
  font-size:1.35rem !important;
  font-weight:900 !important;
}
body.pos-mode .pos-summary-total strong{
  text-align:right !important;
  font-size:1.75rem !important;
  color:var(--green) !important;
}

/* Acciones abajo a la derecha */
body.pos-mode .pos-actions,
body.pos-mode .pos-cart-footer{
  grid-column:2 !important;
  grid-row:3 !important;
  align-self:end !important;
  display:flex !important;
  justify-content:flex-end !important;
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}
body.pos-mode #clearPosBtn,
body.pos-mode #finishPosBtn{
  height:48px !important;
  border-radius:12px !important;
  padding:0 22px !important;
  font-weight:900 !important;
}

/* Otras pestañas */
body.pos-mode #pos-pane-ventas.active,
body.pos-mode #pos-pane-estadisticas.active,
body.pos-mode #pos-pane-mas-vendidos.active{
  height:calc(100vh - 122px) !important;
  max-height:calc(100vh - 122px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:0 !important;
}
body.pos-mode #pos-pane-ventas .pos-panel-wide,
body.pos-mode #pos-pane-estadisticas .pos-panel-wide,
body.pos-mode #pos-pane-mas-vendidos .pos-panel-wide{
  min-height:100% !important;
  padding:22px !important;
}

/* Ocultar barras de scroll visuales dentro del POS */
body.pos-mode #pos-section,
body.pos-mode #pos-section *{
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}
body.pos-mode #pos-section::-webkit-scrollbar,
body.pos-mode #pos-section *::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}

/* Responsivo */
@media (max-width:1180px){
  body.pos-mode #pos-section{
    position:relative !important;
    height:auto !important;
    max-height:none !important;
    overflow-y:auto !important;
    padding:16px !important;
  }
  html.pos-mode,
  body.pos-mode{
    height:auto !important;
    overflow-y:auto !important;
  }
  body.pos-mode .pos-header{
    height:auto !important;
    grid-template-columns:1fr auto !important;
    padding:14px !important;
  }
  body.pos-mode .pos-header-nav{
    grid-column:1 / -1 !important;
    order:3 !important;
    justify-content:flex-start !important;
    overflow-x:auto !important;
  }
  body.pos-mode #pos-pane-venta.active,
  body.pos-mode #pos-pane-venta.active .pos-layout,
  body.pos-mode #pos-pane-venta.active .pos-cart-panel,
  body.pos-mode #pos-pane-venta.active .pos-search-panel{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
  body.pos-mode #pos-pane-venta.active .pos-layout,
  body.pos-mode #pos-pane-venta.active .pos-cart-panel{
    display:block !important;
  }
}


/* =========================================================
   POS HARD FIX FINAL: ALINEACIÓN PREMIUM REAL
   ========================================================= */
html.pos-mode,
body.pos-mode{
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
  height:100vh !important;
  max-height:100vh !important;
  overflow:hidden !important;
  background:#070707 !important;
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}

html.pos-mode::-webkit-scrollbar,
body.pos-mode::-webkit-scrollbar{
  display:none !important;
  width:0 !important;
  height:0 !important;
}

/* Al abrir POS, solo se ve POS */
body.pos-mode .site-header,
body.pos-mode .desktop-shop-layout,
body.pos-mode .main-content,
body.pos-mode .quote-section,
body.pos-mode .site-footer,
body.pos-mode #admin-section,
body.pos-mode .admin-section,
body.pos-mode .drawer,
body.pos-mode .drawer-overlay{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Contenedor general POS en grid: header arriba, contenido abajo */
body.pos-mode #pos-section{
  display:grid !important;
  grid-template-rows:76px minmax(0, 1fr) !important;
  row-gap:18px !important;
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  width:100vw !important;
  height:100vh !important;
  max-height:100vh !important;
  min-height:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:24px 38px 28px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 15% 5%, rgba(65,65,255,.08), transparent 24%),
    radial-gradient(circle at 85% 4%, rgba(65,65,255,.06), transparent 26%),
    #070707 !important;
  box-sizing:border-box !important;
}

/* Header alineado */
body.pos-mode #pos-section > .pos-header{
  grid-row:1 !important;
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  max-width:1540px !important;
  height:76px !important;
  min-height:76px !important;
  margin:0 auto !important;
  padding:0 20px !important;
  display:grid !important;
  grid-template-columns:300px minmax(420px, 1fr) 260px !important;
  align-items:center !important;
  gap:18px !important;
  background:linear-gradient(180deg, rgba(18,18,18,.98), rgba(8,8,8,.98)) !important;
  border:1px solid rgba(65,65,255,.22) !important;
  border-radius:20px !important;
  box-shadow:0 16px 36px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.04) !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

body.pos-mode .pos-header-brand{
  grid-column:1 !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:0 !important;
  height:100% !important;
}
body.pos-mode .pos-header-logo{
  width:58px !important;
  height:58px !important;
  object-fit:contain !important;
  flex:0 0 auto !important;
}
body.pos-mode .pos-header-branding{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  line-height:1 !important;
  min-width:0 !important;
}
body.pos-mode .pos-brand-main{
  font-family:'Cormorant Garamond', serif !important;
  font-size:1.8rem !important;
  letter-spacing:.22em !important;
  color:var(--gold) !important;
  white-space:nowrap !important;
}
body.pos-mode .pos-brand-sub{
  font-size:.6rem !important;
  letter-spacing:.42em !important;
  color:rgba(255,255,255,.68) !important;
  white-space:nowrap !important;
}
body.pos-mode .pos-header-brand > div:not(.pos-header-branding){
  display:none !important;
}

/* Navegación arriba, centrada y dentro del header */
body.pos-mode .pos-header-nav{
  grid-column:2 !important;
  width:100% !important;
  min-width:0 !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
body.pos-mode .pos-header-nav .pos-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  flex-wrap:nowrap !important;
  width:auto !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
}
body.pos-mode .pos-header-nav .pos-nav-btn{
  flex:0 0 auto !important;
  height:38px !important;
  min-width:auto !important;
  padding:0 16px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(255,255,255,.035) !important;
  color:#f5efe0 !important;
  font-size:.72rem !important;
  font-weight:800 !important;
  letter-spacing:.35px !important;
  line-height:1 !important;
  white-space:nowrap !important;
  box-shadow:none !important;
}
body.pos-mode .pos-header-nav .pos-nav-btn.active,
body.pos-mode .pos-header-nav .pos-nav-btn:hover{
  background:linear-gradient(135deg,#4141ff,#2f2fd9) !important;
  border-color:#4141ff !important;
  color:#111 !important;
}

/* Botón volver a la derecha */
body.pos-mode .pos-header-actions{
  grid-column:3 !important;
  justify-self:end !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  height:100% !important;
}
body.pos-mode .pos-back-admin-btn{
  height:40px !important;
  padding:0 16px !important;
  border-radius:12px !important;
  white-space:nowrap !important;
  background:rgba(0,0,0,.25) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  color:#fff !important;
}
body.pos-mode .pos-hidden-new-sale{
  display:none !important;
}

/* Pestañas: solo una visible y siempre debajo del header */
body.pos-mode #pos-section > .pos-pane{
  grid-row:2 !important;
  display:none !important;
  width:100% !important;
  max-width:1540px !important;
  min-height:0 !important;
  height:100% !important;
  max-height:100% !important;
  margin:0 auto !important;
  padding:0 !important;
  position:relative !important;
  inset:auto !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
body.pos-mode #pos-section > .pos-pane.active{
  display:block !important;
}

/* Venta actual: layout limpio */
body.pos-mode #pos-pane-venta.active .pos-layout{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:100% !important;
  display:grid !important;
  grid-template-columns:40% minmax(0, 60%) !important;
  gap:22px !important;
  align-items:stretch !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

/* Paneles base */
body.pos-mode .pos-search-panel,
body.pos-mode .pos-cart-panel,
body.pos-mode .pos-panel-wide{
  background:linear-gradient(180deg,rgba(20,20,20,.98),rgba(9,9,9,.98)) !important;
  border:1px solid rgba(65,65,255,.18) !important;
  border-radius:22px !important;
  box-shadow:0 18px 46px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.035) !important;
  box-sizing:border-box !important;
}

/* Panel izquierdo */
body.pos-mode .pos-search-panel{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:100% !important;
  padding:18px !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
body.pos-mode .pos-label{
  flex:0 0 auto !important;
  color:var(--gold) !important;
  font-size:.72rem !important;
  letter-spacing:1.8px !important;
  margin:0 0 10px !important;
}
body.pos-mode .pos-search-box{
  flex:0 0 auto !important;
  margin:0 !important;
}
body.pos-mode #posSearchInput{
  height:44px !important;
  border-radius:12px !important;
}
body.pos-mode .pos-product-list{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  margin:14px 0 0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:16px !important;
  background:rgba(0,0,0,.22) !important;
}
body.pos-mode .pos-product-card{
  min-height:82px !important;
  grid-template-columns:70px minmax(0,1fr) 46px !important;
  padding:11px 13px !important;
}

/* Panel derecho: productos izquierda + cobro derecha */
body.pos-mode .pos-cart-panel{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:100% !important;
  padding:18px !important;
  overflow:hidden !important;
  display:grid !important;
  grid-template-columns:minmax(420px,1fr) minmax(360px,420px) !important;
  grid-template-rows:44px minmax(0,1fr) 56px !important;
  grid-template-areas:
    "head summary"
    "list summary"
    "list actions" !important;
  gap:16px 22px !important;
  align-items:stretch !important;
}

/* Encabezado y lista de carrito */
body.pos-mode .pos-cart-head{
  grid-area:head !important;
  display:grid !important;
  grid-template-columns:80px 1.25fr .75fr .7fr .7fr 38px !important;
  align-items:center !important;
  height:44px !important;
  min-height:44px !important;
  margin:0 !important;
  padding:0 14px !important;
  border:0 !important;
  border-radius:14px !important;
  background:rgba(65,65,255,.13) !important;
  color:var(--gold) !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
body.pos-mode .pos-cart-list{
  grid-area:list !important;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:16px !important;
  background:rgba(0,0,0,.18) !important;
}
body.pos-mode .pos-empty{
  height:100% !important;
  min-height:260px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  color:rgba(255,255,255,.58) !important;
}

/* Resumen de pago */
body.pos-mode .pos-summary{
  grid-area:summary !important;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  align-self:start !important;
  margin:0 !important;
  padding:18px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:18px !important;
  background:rgba(0,0,0,.25) !important;
  box-sizing:border-box !important;
}
body.pos-mode .pos-summary-row{
  display:grid !important;
  grid-template-columns:140px minmax(0,1fr) !important;
  gap:12px !important;
  align-items:center !important;
  min-height:48px !important;
  padding:6px 0 !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  box-sizing:border-box !important;
}
body.pos-mode .pos-summary-row > span{
  text-align:right !important;
  font-size:.82rem !important;
  font-weight:850 !important;
  color:#fff !important;
}
body.pos-mode .pos-discount-wrap,
body.pos-mode .pos-cash-actions{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:8px !important;
  width:100% !important;
}
body.pos-mode .pos-payment-summary-select,
body.pos-mode .pos-cash-input,
body.pos-mode .pos-summary .form-input{
  width:100% !important;
  height:40px !important;
  border-radius:12px !important;
}
body.pos-mode .pos-summary-total{
  display:grid !important;
  grid-template-columns:140px minmax(0,1fr) !important;
  gap:12px !important;
  align-items:center !important;
  padding:16px 0 !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
body.pos-mode .pos-summary-total span{
  text-align:right !important;
  font-size:1.25rem !important;
  font-weight:900 !important;
  color:#fff !important;
}
body.pos-mode .pos-summary-total strong{
  text-align:right !important;
  font-size:1.7rem !important;
  color:var(--green) !important;
}

/* Botones inferiores */
body.pos-mode .pos-actions{
  grid-area:actions !important;
  align-self:end !important;
  justify-self:end !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  width:100% !important;
  height:56px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}
body.pos-mode #clearPosBtn,
body.pos-mode #finishPosBtn{
  height:48px !important;
  border-radius:12px !important;
  padding:0 22px !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

/* Otras pestañas con scroll interno invisible */
body.pos-mode #pos-pane-ventas.active,
body.pos-mode #pos-pane-estadisticas.active,
body.pos-mode #pos-pane-mas-vendidos.active{
  overflow-y:auto !important;
  overflow-x:hidden !important;
}
body.pos-mode #pos-pane-ventas .pos-panel-wide,
body.pos-mode #pos-pane-estadisticas .pos-panel-wide,
body.pos-mode #pos-pane-mas-vendidos .pos-panel-wide{
  min-height:100% !important;
  padding:22px !important;
}

/* Ocultar barras de scroll internas sin desactivar scroll */
body.pos-mode #pos-section,
body.pos-mode #pos-section *{
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}
body.pos-mode #pos-section::-webkit-scrollbar,
body.pos-mode #pos-section *::-webkit-scrollbar{
  display:none !important;
  width:0 !important;
  height:0 !important;
}

/* Responsivo básico */
@media (max-width:1180px){
  html.pos-mode,
  body.pos-mode{
    height:auto !important;
    max-height:none !important;
    overflow-y:auto !important;
  }
  body.pos-mode #pos-section{
    position:relative !important;
    display:block !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding:16px !important;
  }
  body.pos-mode #pos-section > .pos-header{
    height:auto !important;
    min-height:0 !important;
    grid-template-columns:1fr auto !important;
    padding:14px !important;
    margin-bottom:16px !important;
  }
  body.pos-mode .pos-header-nav{
    grid-column:1 / -1 !important;
    order:3 !important;
    justify-content:flex-start !important;
    overflow-x:auto !important;
  }
  body.pos-mode #pos-pane-venta.active .pos-layout,
  body.pos-mode .pos-cart-panel{
    display:block !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
}


/* =========================================================
   POS DISEÑO PREMIUM ADAPTADO A REFERENCIA
   ========================================================= */
html.pos-mode,
body.pos-mode{
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
  height:100vh !important;
  min-height:100vh !important;
  max-height:100vh !important;
  overflow:hidden !important;
  background:#070707 !important;
}

/* Oculta todo excepto POS */
body.pos-mode .site-header,
body.pos-mode .desktop-shop-layout,
body.pos-mode .main-content,
body.pos-mode .quote-section,
body.pos-mode .site-footer,
body.pos-mode #admin-section,
body.pos-mode .admin-section,
body.pos-mode .drawer,
body.pos-mode .drawer-overlay{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Contenedor POS */
body.pos-mode #pos-section{
  display:grid !important;
  grid-template-rows:72px minmax(0, 1fr) !important;
  row-gap:16px !important;
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  width:100vw !important;
  height:100vh !important;
  max-height:100vh !important;
  max-width:none !important;
  margin:0 !important;
  padding:14px 28px 18px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 14% 4%, rgba(65,65,255,.10), transparent 24%),
    radial-gradient(circle at 86% 6%, rgba(65,65,255,.07), transparent 28%),
    #070707 !important;
  box-sizing:border-box !important;
}

/* Header */
body.pos-mode #pos-section > .pos-header{
  grid-row:1 !important;
  width:100% !important;
  max-width:1780px !important;
  height:72px !important;
  margin:0 auto !important;
  padding:0 24px !important;
  display:grid !important;
  grid-template-columns:330px 1fr 250px !important;
  align-items:center !important;
  gap:18px !important;
  background:linear-gradient(180deg,rgba(23,23,23,.98),rgba(9,9,9,.98)) !important;
  border:1px solid rgba(65,65,255,.24) !important;
  border-radius:18px !important;
  box-shadow:0 16px 38px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.04) !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

body.pos-mode .pos-header-brand{
  grid-column:1 !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:0 !important;
}
body.pos-mode .pos-header-logo{
  width:58px !important;
  height:58px !important;
  object-fit:contain !important;
  flex:0 0 auto !important;
}
body.pos-mode .pos-header-branding{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  line-height:1 !important;
}
body.pos-mode .pos-brand-main{
  font-family:'Cormorant Garamond',serif !important;
  color:var(--gold) !important;
  font-size:1.85rem !important;
  letter-spacing:.22em !important;
  white-space:nowrap !important;
}
body.pos-mode .pos-brand-sub{
  color:rgba(255,255,255,.70) !important;
  font-size:.58rem !important;
  letter-spacing:.42em !important;
  white-space:nowrap !important;
}
body.pos-mode .pos-header-brand > div:not(.pos-header-branding){
  display:none !important;
}

body.pos-mode .pos-header-nav{
  grid-column:2 !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:0 !important;
  overflow:hidden !important;
}
body.pos-mode .pos-header-nav .pos-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  flex-wrap:nowrap !important;
  border:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}
body.pos-mode .pos-header-nav .pos-nav-btn{
  height:40px !important;
  padding:0 20px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(255,255,255,.15) !important;
  background:rgba(255,255,255,.035) !important;
  color:#fff !important;
  font-size:.76rem !important;
  font-weight:900 !important;
  letter-spacing:.3px !important;
  white-space:nowrap !important;
}
body.pos-mode .pos-header-nav .pos-nav-btn.active,
body.pos-mode .pos-header-nav .pos-nav-btn:hover{
  color:#111 !important;
  border-color:#4141ff !important;
  background:linear-gradient(135deg,#4141ff,#2f2fd9) !important;
}

body.pos-mode .pos-header-actions{
  grid-column:3 !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
}
body.pos-mode .pos-back-admin-btn{
  height:40px !important;
  padding:0 18px !important;
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:rgba(0,0,0,.22) !important;
  color:#fff !important;
  white-space:nowrap !important;
}
body.pos-mode .pos-hidden-new-sale{display:none !important;}

/* Pestañas */
body.pos-mode #pos-section > .pos-pane{
  grid-row:2 !important;
  display:none !important;
  width:100% !important;
  max-width:1780px !important;
  min-height:0 !important;
  height:100% !important;
  margin:0 auto !important;
  padding:0 !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
body.pos-mode #pos-section > .pos-pane.active{display:block !important;}

/* Layout Venta actual: 3 columnas como referencia */
body.pos-mode #pos-pane-venta.active .pos-layout{
  width:100% !important;
  height:100% !important;
  display:grid !important;
  grid-template-columns:33% 39% 28% !important;
  gap:18px !important;
  align-items:stretch !important;
  overflow:hidden !important;
}

/* Panel visual general */
body.pos-mode .pos-search-panel,
body.pos-mode .pos-cart-panel,
body.pos-mode .pos-panel-wide{
  background:linear-gradient(180deg,rgba(22,22,22,.98),rgba(10,10,10,.98)) !important;
  border:1px solid rgba(65,65,255,.20) !important;
  border-radius:18px !important;
  box-shadow:0 18px 44px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.035) !important;
  box-sizing:border-box !important;
}

/* Panel izquierdo: máximo de productos visibles */
body.pos-mode .pos-search-panel{
  grid-column:1 !important;
  height:100% !important;
  min-height:0 !important;
  padding:16px !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
body.pos-mode .pos-label{
  color:var(--gold) !important;
  font-size:.72rem !important;
  letter-spacing:1.8px !important;
  margin:0 0 10px !important;
  flex:0 0 auto !important;
}
body.pos-mode .pos-search-box{flex:0 0 auto !important;}
body.pos-mode #posSearchInput{
  height:42px !important;
  border-radius:12px !important;
  font-size:.80rem !important;
}
body.pos-mode .pos-product-list{
  flex:1 1 auto !important;
  min-height:0 !important;
  margin-top:12px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:16px !important;
  background:rgba(0,0,0,.22) !important;
}
body.pos-mode .pos-product-card{
  min-height:76px !important;
  grid-template-columns:62px minmax(0,1fr) 42px !important;
  padding:9px 12px !important;
  gap:10px !important;
}
body.pos-mode .pos-product-card img{
  width:48px !important;
  height:58px !important;
  object-fit:contain !important;
}
body.pos-mode .pos-product-name,
body.pos-mode .pos-product-title,
body.pos-mode .pos-product-card strong{
  font-size:.78rem !important;
  line-height:1.15 !important;
}
body.pos-mode .pos-product-meta,
body.pos-mode .pos-product-card small,
body.pos-mode .pos-product-card span{
  font-size:.68rem !important;
  line-height:1.25 !important;
}
body.pos-mode .pos-add-btn,
body.pos-mode .pos-product-card button{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
}

/* El panel derecho original se convierte en 2 columnas internas */
body.pos-mode .pos-cart-panel{
  grid-column:2 / 4 !important;
  height:100% !important;
  min-height:0 !important;
  padding:16px !important;
  display:grid !important;
  grid-template-columns:minmax(520px, 1fr) minmax(350px, 430px) !important;
  grid-template-rows:44px minmax(0,1fr) !important;
  grid-template-areas:
    "head summary"
    "list summary" !important;
  gap:14px 18px !important;
  overflow:hidden !important;
}

/* Tabla de carrito visible completa */
body.pos-mode .pos-cart-head{
  grid-area:head !important;
  height:44px !important;
  min-height:44px !important;
  display:grid !important;
  grid-template-columns:78px minmax(175px,1.25fr) 120px 90px 90px 34px !important;
  align-items:center !important;
  gap:8px !important;
  padding:0 12px !important;
  border-radius:14px !important;
  border:0 !important;
  margin:0 !important;
  background:rgba(65,65,255,.14) !important;
  color:var(--gold) !important;
  font-size:.70rem !important;
  letter-spacing:1.35px !important;
  overflow:hidden !important;
}
body.pos-mode .pos-cart-list{
  grid-area:list !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:16px !important;
  background:rgba(0,0,0,.18) !important;
}

/* Filas del carrito compactas: caben 8-10 */
body.pos-mode .pos-cart-row{
  display:grid !important;
  grid-template-columns:78px minmax(175px,1.25fr) 120px 90px 90px 34px !important;
  align-items:center !important;
  gap:8px !important;
  min-height:70px !important;
  padding:8px 12px !important;
  border-bottom:1px solid rgba(255,255,255,.075) !important;
  overflow:visible !important;
}
body.pos-mode .pos-cart-row input[type="number"],
body.pos-mode .pos-qty-input{
  width:58px !important;
  height:34px !important;
  min-width:58px !important;
  padding:0 8px !important;
  font-size:.78rem !important;
  border-radius:9px !important;
}
body.pos-mode .pos-cart-row img{
  width:36px !important;
  height:46px !important;
  object-fit:contain !important;
}
body.pos-mode .pos-cart-row strong,
body.pos-mode .pos-cart-row .pos-cart-name{
  font-size:.76rem !important;
  line-height:1.15 !important;
  white-space:normal !important;
}
body.pos-mode .pos-cart-row small,
body.pos-mode .pos-cart-row .pos-cart-brand{
  font-size:.64rem !important;
  line-height:1.18 !important;
  white-space:normal !important;
}
body.pos-mode .pos-type-select{
  width:118px !important;
  min-width:118px !important;
  max-width:118px !important;
  height:34px !important;
  font-size:.72rem !important;
  padding:0 8px !important;
  border-radius:9px !important;
}
body.pos-mode .pos-price-input{
  width:82px !important;
  min-width:82px !important;
  height:34px !important;
  font-size:.72rem !important;
}
body.pos-mode .pos-cart-row > strong{
  font-size:.72rem !important;
  white-space:nowrap !important;
}
body.pos-mode .pos-remove-btn{
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  padding:0 !important;
}
body.pos-mode .pos-empty{
  min-height:240px !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  color:rgba(255,255,255,.58) !important;
}

/* Resumen a la derecha, limpio */
body.pos-mode .pos-summary{
  grid-area:summary !important;
  width:100% !important;
  height:100% !important;
  max-height:100% !important;
  align-self:stretch !important;
  margin:0 !important;
  padding:20px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:18px !important;
  background:rgba(0,0,0,.23) !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
}
body.pos-mode .pos-summary-row{
  display:grid !important;
  grid-template-columns:130px minmax(0,1fr) !important;
  gap:10px !important;
  align-items:center !important;
  min-height:48px !important;
  padding:7px 0 !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
body.pos-mode .pos-summary-row > span{
  text-align:right !important;
  font-size:.78rem !important;
  font-weight:900 !important;
  color:#fff !important;
}
body.pos-mode .pos-discount-wrap,
body.pos-mode .pos-cash-actions{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 88px !important;
  gap:8px !important;
}
body.pos-mode .pos-payment-summary-select,
body.pos-mode .pos-summary .form-input,
body.pos-mode .pos-cash-input{
  width:100% !important;
  height:38px !important;
  border-radius:10px !important;
  font-size:.75rem !important;
}
body.pos-mode .pos-summary .btn-gold,
body.pos-mode .pos-action-btn{
  height:38px !important;
  border-radius:10px !important;
  font-size:.72rem !important;
  padding:0 10px !important;
}
body.pos-mode .pos-summary-total{
  display:grid !important;
  grid-template-columns:130px minmax(0,1fr) !important;
  gap:10px !important;
  align-items:center !important;
  padding:26px 0 !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
body.pos-mode .pos-summary-total span{
  text-align:right !important;
  color:#fff !important;
  font-size:1.35rem !important;
  font-weight:950 !important;
}
body.pos-mode .pos-summary-total strong{
  text-align:right !important;
  color:var(--green) !important;
  font-size:1.85rem !important;
  line-height:1 !important;
}
body.pos-mode .pos-actions{
  margin-top:auto !important;
  padding-top:18px !important;
  display:grid !important;
  grid-template-columns:1fr 1.35fr !important;
  gap:10px !important;
}
body.pos-mode #clearPosBtn,
body.pos-mode #finishPosBtn{
  height:46px !important;
  border-radius:11px !important;
  padding:0 14px !important;
  font-size:.76rem !important;
  font-weight:950 !important;
  white-space:nowrap !important;
}

/* Scrollbars visibles SOLO en las cajas */
body.pos-mode .pos-product-list,
body.pos-mode .pos-cart-list,
body.pos-mode #pos-pane-ventas.active,
body.pos-mode #pos-pane-estadisticas.active,
body.pos-mode #pos-pane-mas-vendidos.active{
  scrollbar-width:thin !important;
  scrollbar-color:rgba(255,255,255,.72) rgba(255,255,255,.06) !important;
}
body.pos-mode .pos-product-list::-webkit-scrollbar,
body.pos-mode .pos-cart-list::-webkit-scrollbar,
body.pos-mode #pos-pane-ventas.active::-webkit-scrollbar,
body.pos-mode #pos-pane-estadisticas.active::-webkit-scrollbar,
body.pos-mode #pos-pane-mas-vendidos.active::-webkit-scrollbar{
  width:8px !important;
  height:8px !important;
  display:block !important;
}
body.pos-mode .pos-product-list::-webkit-scrollbar-track,
body.pos-mode .pos-cart-list::-webkit-scrollbar-track{
  background:rgba(255,255,255,.055) !important;
  border-radius:999px !important;
}
body.pos-mode .pos-product-list::-webkit-scrollbar-thumb,
body.pos-mode .pos-cart-list::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.70) !important;
  border-radius:999px !important;
}

/* Otras pestañas */
body.pos-mode #pos-pane-ventas.active,
body.pos-mode #pos-pane-estadisticas.active,
body.pos-mode #pos-pane-mas-vendidos.active{
  height:100% !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}
body.pos-mode #pos-pane-ventas .pos-panel-wide,
body.pos-mode #pos-pane-estadisticas .pos-panel-wide,
body.pos-mode #pos-pane-mas-vendidos .pos-panel-wide{
  min-height:100% !important;
  padding:20px !important;
}

/* Responsivo */
@media (max-width:1180px){
  html.pos-mode,
  body.pos-mode{
    height:auto !important;
    max-height:none !important;
    overflow-y:auto !important;
  }
  body.pos-mode #pos-section{
    position:relative !important;
    display:block !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding:16px !important;
  }
  body.pos-mode #pos-section > .pos-header{
    height:auto !important;
    min-height:0 !important;
    grid-template-columns:1fr auto !important;
    padding:14px !important;
    margin-bottom:16px !important;
  }
  body.pos-mode .pos-header-nav{
    grid-column:1 / -1 !important;
    order:3 !important;
    justify-content:flex-start !important;
    overflow-x:auto !important;
  }
  body.pos-mode #pos-pane-venta.active .pos-layout,
  body.pos-mode .pos-cart-panel{
    display:block !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
}


/* =========================================================
   FIX CARRITO POS: 11 PRODUCTOS VISIBLES + COBRO DERECHA
   ========================================================= */
@media (min-width:1181px){
  html.pos-mode,
  body.pos-mode{
    overflow:hidden !important;
    height:100vh !important;
  }

  body.pos-mode #pos-section{
    grid-template-rows:72px minmax(0,1fr) !important;
    padding:14px 28px 18px !important;
    overflow:hidden !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-layout{
    grid-template-columns:31% 69% !important;
    gap:18px !important;
    height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
  }

  body.pos-mode .pos-cart-panel{
    display:grid !important;
    grid-template-columns:minmax(680px,1fr) minmax(360px,420px) !important;
    grid-template-rows:44px minmax(0,1fr) !important;
    grid-template-areas:
      "head summary"
      "list summary" !important;
    gap:14px 18px !important;
    height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
    padding:16px !important;
  }

  body.pos-mode .pos-cart-head{
    grid-area:head !important;
    display:grid !important;
    grid-template-columns:64px minmax(260px,1.6fr) 150px 90px 90px 30px !important;
    gap:8px !important;
    height:44px !important;
    min-height:44px !important;
    padding:0 10px !important;
    overflow:hidden !important;
  }

  body.pos-mode .pos-cart-list{
    grid-area:list !important;
    height:100% !important;
    max-height:none !important;
    min-height:0 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding:0 !important;
    margin:0 !important;
  }

  body.pos-mode .pos-cart-row{
    display:grid !important;
    grid-template-columns:64px minmax(260px,1.6fr) 150px 90px 90px 30px !important;
    gap:8px !important;
    min-height:62px !important;
    height:62px !important;
    padding:6px 10px !important;
    align-items:center !important;
    overflow:hidden !important;
  }

  body.pos-mode .pos-cart-row input[type="number"],
  body.pos-mode .pos-qty-input{
    width:48px !important;
    min-width:48px !important;
    height:30px !important;
    padding:0 6px !important;
    font-size:.72rem !important;
    border-radius:8px !important;
  }

  body.pos-mode .pos-cart-row img{
    width:30px !important;
    height:42px !important;
    object-fit:contain !important;
  }

  body.pos-mode .pos-cart-row strong,
  body.pos-mode .pos-cart-row .pos-cart-name{
    font-size:.72rem !important;
    line-height:1.1 !important;
    white-space:normal !important;
    overflow:visible !important;
  }

  body.pos-mode .pos-cart-row small,
  body.pos-mode .pos-cart-row .pos-cart-brand{
    font-size:.60rem !important;
    line-height:1.1 !important;
    white-space:normal !important;
    overflow:visible !important;
  }

  body.pos-mode .pos-type-select{
    width:145px !important;
    min-width:145px !important;
    max-width:145px !important;
    height:30px !important;
    font-size:.68rem !important;
    padding:0 8px !important;
    border-radius:8px !important;
  }

  body.pos-mode .pos-price-input{
    width:82px !important;
    min-width:82px !important;
    height:30px !important;
    font-size:.68rem !important;
    padding:0 6px !important;
  }

  body.pos-mode .pos-cart-row > strong{
    font-size:.70rem !important;
    white-space:nowrap !important;
    overflow:visible !important;
  }

  body.pos-mode .pos-remove-btn{
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    padding:0 !important;
  }

  body.pos-mode .pos-summary{
    grid-area:summary !important;
    justify-self:stretch !important;
    align-self:stretch !important;
    width:100% !important;
    max-width:none !important;
    height:100% !important;
    max-height:100% !important;
    margin:0 !important;
    padding:20px !important;
    overflow:hidden !important;
    display:flex !important;
    flex-direction:column !important;
  }

  body.pos-mode .pos-summary-row{
    grid-template-columns:130px minmax(0,1fr) !important;
    min-height:47px !important;
    padding:7px 0 !important;
  }

  body.pos-mode .pos-summary-total{
    grid-template-columns:130px minmax(0,1fr) !important;
    padding:24px 0 !important;
  }

  body.pos-mode .pos-actions{
    margin-top:auto !important;
    display:grid !important;
    grid-template-columns:1fr 1.35fr !important;
    gap:10px !important;
  }

  body.pos-mode #clearPosBtn,
  body.pos-mode #finishPosBtn{
    width:100% !important;
    height:46px !important;
  }

  /* Barras de scroll visibles en cajas internas */
  body.pos-mode .pos-product-list,
  body.pos-mode .pos-cart-list{
    scrollbar-width:thin !important;
    scrollbar-color:rgba(220,220,220,.78) rgba(255,255,255,.06) !important;
  }

  body.pos-mode .pos-product-list::-webkit-scrollbar,
  body.pos-mode .pos-cart-list::-webkit-scrollbar{
    display:block !important;
    width:8px !important;
    height:8px !important;
  }

  body.pos-mode .pos-product-list::-webkit-scrollbar-track,
  body.pos-mode .pos-cart-list::-webkit-scrollbar-track{
    background:rgba(255,255,255,.06) !important;
    border-radius:999px !important;
  }

  body.pos-mode .pos-product-list::-webkit-scrollbar-thumb,
  body.pos-mode .pos-cart-list::-webkit-scrollbar-thumb{
    background:rgba(220,220,220,.78) !important;
    border-radius:999px !important;
    border:1px solid rgba(0,0,0,.25) !important;
  }

  body.pos-mode .pos-product-list::-webkit-scrollbar-thumb:hover,
  body.pos-mode .pos-cart-list::-webkit-scrollbar-thumb:hover{
    background:rgba(255,255,255,.9) !important;
  }
}


/* =========================================================
   FIX DEFINITIVO CARRITO POS - 11 FILAS, RESUMEN DERECHA, SCROLL VISIBLE
   ========================================================= */
@media (min-width:1181px){
  body.pos-mode #pos-section{
    padding:14px 28px 18px !important;
    overflow:hidden !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-layout{
    display:grid !important;
    grid-template-columns:32% 68% !important;
    gap:18px !important;
    height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
  }

  /* El panel derecho ocupa todo el ancho disponible */
  body.pos-mode #pos-pane-venta.active .pos-cart-panel{
    display:grid !important;
    grid-template-columns:minmax(650px, 1fr) minmax(390px, 430px) !important;
    grid-template-rows:40px minmax(0, 1fr) !important;
    grid-template-areas:
      "head summary"
      "list summary" !important;
    column-gap:18px !important;
    row-gap:10px !important;
    height:100% !important;
    min-height:0 !important;
    width:100% !important;
    padding:16px !important;
    overflow:hidden !important;
  }

  /* Encabezado del carrito */
  body.pos-mode #pos-pane-venta.active .pos-cart-head{
    grid-area:head !important;
    display:grid !important;
    grid-template-columns:64px minmax(270px, 1fr) 145px 88px 88px 28px !important;
    gap:8px !important;
    height:40px !important;
    min-height:40px !important;
    padding:0 10px !important;
    border-radius:12px !important;
    overflow:hidden !important;
    align-items:center !important;
  }

  /* Lista del carrito: ocupa todo el alto restante */
  body.pos-mode #pos-pane-venta.active .pos-cart-list,
  body.pos-mode #pos-pane-venta.active #posCartList{
    grid-area:list !important;
    display:block !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:14px !important;
    border:1px solid rgba(255,255,255,.08) !important;
    background:rgba(0,0,0,.18) !important;
  }

  /* Filas compactas: caben aproximadamente 11 en pantalla */
  body.pos-mode #pos-pane-venta.active .pos-cart-row{
    display:grid !important;
    grid-template-columns:64px minmax(270px, 1fr) 145px 88px 88px 28px !important;
    gap:8px !important;
    height:56px !important;
    min-height:56px !important;
    max-height:56px !important;
    padding:5px 10px !important;
    align-items:center !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  /* Cantidad más pequeña */
  body.pos-mode #pos-pane-venta.active .pos-qty-input,
  body.pos-mode #pos-pane-venta.active .pos-cart-row input[type="number"].pos-qty-input{
    width:46px !important;
    min-width:46px !important;
    max-width:46px !important;
    height:28px !important;
    padding:0 6px !important;
    font-size:.70rem !important;
    border-radius:8px !important;
    justify-self:start !important;
  }

  /* Producto completo y legible */
  body.pos-mode #pos-pane-venta.active .pos-cart-product{
    display:grid !important;
    grid-template-columns:40px minmax(0, 1fr) !important;
    gap:8px !important;
    align-items:center !important;
    min-width:0 !important;
    overflow:visible !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-thumb{
    width:32px !important;
    height:42px !important;
    object-fit:contain !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product-info{
    min-width:0 !important;
    overflow:visible !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product-info strong{
    display:block !important;
    font-size:.72rem !important;
    line-height:1.08 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product-info span{
    display:block !important;
    font-size:.62rem !important;
    line-height:1.08 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    margin-top:2px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-type-select{
    width:142px !important;
    min-width:142px !important;
    max-width:142px !important;
    height:30px !important;
    font-size:.68rem !important;
    padding:0 8px !important;
    border-radius:8px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-price-input{
    width:80px !important;
    min-width:80px !important;
    max-width:80px !important;
    height:30px !important;
    font-size:.68rem !important;
    padding:0 6px !important;
    border-radius:8px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-row > strong{
    font-size:.68rem !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-align:left !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-remove-btn{
    width:24px !important;
    min-width:24px !important;
    height:24px !important;
    padding:0 !important;
    font-size:.78rem !important;
  }

  /* Resumen de cobro fijo a la derecha */
  body.pos-mode #pos-pane-venta.active .pos-summary{
    grid-area:summary !important;
    justify-self:stretch !important;
    align-self:stretch !important;
    width:100% !important;
    max-width:none !important;
    height:100% !important;
    max-height:100% !important;
    margin:0 !important;
    padding:20px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    border:1px solid rgba(255,255,255,.08) !important;
    border-radius:16px !important;
    background:rgba(0,0,0,.22) !important;
    display:flex !important;
    flex-direction:column !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-row{
    display:grid !important;
    grid-template-columns:130px minmax(0, 1fr) !important;
    gap:10px !important;
    align-items:center !important;
    min-height:45px !important;
    padding:6px 0 !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-total{
    display:grid !important;
    grid-template-columns:130px minmax(0, 1fr) !important;
    gap:10px !important;
    align-items:center !important;
    padding:22px 0 !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-actions{
    margin-top:auto !important;
    display:grid !important;
    grid-template-columns:1fr 1.35fr !important;
    gap:10px !important;
    width:100% !important;
  }

  body.pos-mode #pos-pane-venta.active #clearPosBtn,
  body.pos-mode #pos-pane-venta.active #finishPosBtn{
    width:100% !important;
    height:46px !important;
    border-radius:11px !important;
  }

  /* Barras de scroll visibles */
  body.pos-mode #pos-pane-venta.active .pos-product-list,
  body.pos-mode #pos-pane-venta.active .pos-cart-list,
  body.pos-mode #pos-pane-venta.active #posCartList,
  body.pos-mode #pos-pane-venta.active .pos-summary{
    scrollbar-width:thin !important;
    scrollbar-color:rgba(220,220,220,.78) rgba(255,255,255,.07) !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-product-list::-webkit-scrollbar,
  body.pos-mode #pos-pane-venta.active .pos-cart-list::-webkit-scrollbar,
  body.pos-mode #pos-pane-venta.active #posCartList::-webkit-scrollbar,
  body.pos-mode #pos-pane-venta.active .pos-summary::-webkit-scrollbar{
    width:8px !important;
    height:8px !important;
    display:block !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-product-list::-webkit-scrollbar-track,
  body.pos-mode #pos-pane-venta.active .pos-cart-list::-webkit-scrollbar-track,
  body.pos-mode #pos-pane-venta.active #posCartList::-webkit-scrollbar-track,
  body.pos-mode #pos-pane-venta.active .pos-summary::-webkit-scrollbar-track{
    background:rgba(255,255,255,.07) !important;
    border-radius:999px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-product-list::-webkit-scrollbar-thumb,
  body.pos-mode #pos-pane-venta.active .pos-cart-list::-webkit-scrollbar-thumb,
  body.pos-mode #pos-pane-venta.active #posCartList::-webkit-scrollbar-thumb,
  body.pos-mode #pos-pane-venta.active .pos-summary::-webkit-scrollbar-thumb{
    background:rgba(220,220,220,.78) !important;
    border-radius:999px !important;
  }
}


/* =========================================================
   FIX FINAL POS: COBRO HASTA LA DERECHA + CARRITO COMPLETO
   ========================================================= */
@media (min-width:1181px){
  html.pos-mode,
  body.pos-mode{
    overflow:hidden !important;
    height:100vh !important;
    max-height:100vh !important;
  }

  body.pos-mode #pos-section{
    padding:14px 28px 18px !important;
    overflow:hidden !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-layout{
    display:grid !important;
    grid-template-columns:31% 69% !important;
    gap:18px !important;
    height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-panel{
    display:grid !important;
    grid-template-columns:minmax(760px, 1fr) 410px !important;
    grid-template-rows:40px minmax(0, 1fr) !important;
    grid-template-areas:
      "head summary"
      "list summary" !important;
    gap:10px 18px !important;
    height:100% !important;
    min-height:0 !important;
    width:100% !important;
    padding:16px !important;
    overflow:hidden !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-head{
    grid-area:head !important;
    display:grid !important;
    grid-template-columns:56px minmax(300px,1fr) 138px 82px 92px 26px !important;
    gap:8px !important;
    height:40px !important;
    min-height:40px !important;
    padding:0 10px !important;
    align-items:center !important;
    border-radius:12px !important;
    overflow:hidden !important;
    white-space:nowrap !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-head span{
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:nowrap !important;
    font-size:.66rem !important;
    letter-spacing:1px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-list,
  body.pos-mode #pos-pane-venta.active #posCartList{
    grid-area:list !important;
    display:block !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    border-radius:14px !important;
    border:1px solid rgba(255,255,255,.08) !important;
    background:rgba(0,0,0,.18) !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-row{
    display:grid !important;
    grid-template-columns:56px minmax(300px,1fr) 138px 82px 92px 26px !important;
    gap:8px !important;
    height:56px !important;
    min-height:56px !important;
    max-height:56px !important;
    padding:5px 10px !important;
    align-items:center !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-qty-input{
    width:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    height:28px !important;
    padding:0 6px !important;
    font-size:.70rem !important;
    border-radius:8px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product{
    display:grid !important;
    grid-template-columns:40px minmax(0,1fr) !important;
    gap:8px !important;
    align-items:center !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-thumb{
    width:30px !important;
    height:42px !important;
    object-fit:contain !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product-info{
    min-width:0 !important;
    overflow:visible !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product-info strong{
    display:block !important;
    font-size:.70rem !important;
    line-height:1.06 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    max-width:none !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product-info span{
    display:block !important;
    font-size:.59rem !important;
    line-height:1.06 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    max-width:none !important;
    margin-top:2px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-type-select{
    width:136px !important;
    min-width:136px !important;
    max-width:136px !important;
    height:30px !important;
    font-size:.66rem !important;
    padding:0 7px !important;
    border-radius:8px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-price-input{
    width:78px !important;
    min-width:78px !important;
    max-width:78px !important;
    height:30px !important;
    font-size:.66rem !important;
    padding:0 6px !important;
    border-radius:8px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-row > strong{
    font-size:.66rem !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-align:left !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-remove-btn{
    width:24px !important;
    min-width:24px !important;
    height:24px !important;
    padding:0 !important;
    font-size:.78rem !important;
  }

  /* Pago pegado al extremo derecho del panel */
  body.pos-mode #pos-pane-venta.active .pos-summary{
    grid-area:summary !important;
    justify-self:end !important;
    align-self:stretch !important;
    width:410px !important;
    max-width:410px !important;
    min-width:410px !important;
    height:100% !important;
    max-height:100% !important;
    margin:0 !important;
    padding:20px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    border:1px solid rgba(255,255,255,.08) !important;
    border-radius:16px !important;
    background:rgba(0,0,0,.22) !important;
    display:flex !important;
    flex-direction:column !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-row{
    display:grid !important;
    grid-template-columns:130px minmax(0,1fr) !important;
    gap:10px !important;
    align-items:center !important;
    min-height:45px !important;
    padding:6px 0 !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-row > span{
    text-align:right !important;
    white-space:normal !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-total{
    display:grid !important;
    grid-template-columns:130px minmax(0,1fr) !important;
    gap:10px !important;
    align-items:center !important;
    padding:22px 0 !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-total strong{
    font-size:1.62rem !important;
    white-space:nowrap !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-discount-wrap,
  body.pos-mode #pos-pane-venta.active .pos-cash-actions{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 86px !important;
    gap:8px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-actions{
    margin-top:auto !important;
    display:grid !important;
    grid-template-columns:1fr 1.35fr !important;
    gap:10px !important;
    width:100% !important;
  }

  body.pos-mode #pos-pane-venta.active #clearPosBtn,
  body.pos-mode #pos-pane-venta.active #finishPosBtn{
    width:100% !important;
    height:46px !important;
    border-radius:11px !important;
  }

  /* Scrollbars visibles, limpios y profesionales */
  body.pos-mode #pos-pane-venta.active .pos-product-list,
  body.pos-mode #pos-pane-venta.active .pos-cart-list,
  body.pos-mode #pos-pane-venta.active #posCartList,
  body.pos-mode #pos-pane-venta.active .pos-summary{
    scrollbar-width:thin !important;
    scrollbar-color:rgba(65,65,255,.8) rgba(255,255,255,.07) !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-product-list::-webkit-scrollbar,
  body.pos-mode #pos-pane-venta.active .pos-cart-list::-webkit-scrollbar,
  body.pos-mode #pos-pane-venta.active #posCartList::-webkit-scrollbar,
  body.pos-mode #pos-pane-venta.active .pos-summary::-webkit-scrollbar{
    width:8px !important;
    height:8px !important;
    display:block !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-product-list::-webkit-scrollbar-track,
  body.pos-mode #pos-pane-venta.active .pos-cart-list::-webkit-scrollbar-track,
  body.pos-mode #pos-pane-venta.active #posCartList::-webkit-scrollbar-track,
  body.pos-mode #pos-pane-venta.active .pos-summary::-webkit-scrollbar-track{
    background:rgba(255,255,255,.07) !important;
    border-radius:999px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-product-list::-webkit-scrollbar-thumb,
  body.pos-mode #pos-pane-venta.active .pos-cart-list::-webkit-scrollbar-thumb,
  body.pos-mode #pos-pane-venta.active #posCartList::-webkit-scrollbar-thumb,
  body.pos-mode #pos-pane-venta.active .pos-summary::-webkit-scrollbar-thumb{
    background:linear-gradient(180deg,#4141ff,#2f2fd9) !important;
    border-radius:999px !important;
  }
}

@media (min-width:1181px) and (max-width:1500px){
  body.pos-mode #pos-pane-venta.active .pos-layout{
    grid-template-columns:30% 70% !important;
  }
  body.pos-mode #pos-pane-venta.active .pos-cart-panel{
    grid-template-columns:minmax(610px,1fr) 390px !important;
  }
  body.pos-mode #pos-pane-venta.active .pos-summary{
    width:390px !important;
    max-width:390px !important;
    min-width:390px !important;
  }
  body.pos-mode #pos-pane-venta.active .pos-cart-head,
  body.pos-mode #pos-pane-venta.active .pos-cart-row{
    grid-template-columns:50px minmax(245px,1fr) 128px 74px 82px 24px !important;
  }
}


/* =========================================================
   FIX POS: evitar corte derecho + nombres como catálogo
   ========================================================= */
@media (min-width:1181px){
  body.pos-mode #pos-section{
    padding:14px 32px 18px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  body.pos-mode #pos-section > .pos-header,
  body.pos-mode #pos-section > .pos-pane{
    max-width:calc(100vw - 64px) !important;
    width:100% !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-layout{
    grid-template-columns:minmax(420px, 31%) minmax(0, 69%) !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-panel{
    grid-template-columns:minmax(0, 1fr) 400px !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    padding-right:18px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary{
    width:400px !important;
    min-width:400px !important;
    max-width:400px !important;
    justify-self:end !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-head,
  body.pos-mode #pos-pane-venta.active .pos-cart-row{
    grid-template-columns:52px minmax(285px,1fr) 132px 76px 86px 26px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-list,
  body.pos-mode #pos-pane-venta.active #posCartList{
    padding-right:4px !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product-info strong{
    color:var(--gold) !important;
    font-size:.76rem !important;
    font-weight:900 !important;
    letter-spacing:.25px !important;
    text-transform:uppercase !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product-info span{
    color:rgba(255,255,255,.68) !important;
    font-size:.60rem !important;
    font-weight:700 !important;
    letter-spacing:.35px !important;
    text-transform:uppercase !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-type-select{
    width:130px !important;
    min-width:130px !important;
    max-width:130px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-price-input{
    width:74px !important;
    min-width:74px !important;
    max-width:74px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-row > strong{
    font-size:.64rem !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-actions{
    max-width:100% !important;
    overflow:hidden !important;
  }
}

@media (min-width:1181px) and (max-width:1500px){
  body.pos-mode #pos-section{
    padding-left:24px !important;
    padding-right:24px !important;
  }

  body.pos-mode #pos-section > .pos-header,
  body.pos-mode #pos-section > .pos-pane{
    max-width:calc(100vw - 48px) !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-layout{
    grid-template-columns:minmax(390px, 30%) minmax(0, 70%) !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-panel{
    grid-template-columns:minmax(0, 1fr) 370px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary{
    width:370px !important;
    min-width:370px !important;
    max-width:370px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-head,
  body.pos-mode #pos-pane-venta.active .pos-cart-row{
    grid-template-columns:46px minmax(230px,1fr) 122px 70px 78px 24px !important;
    gap:7px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-type-select{
    width:120px !important;
    min-width:120px !important;
    max-width:120px !important;
    font-size:.62rem !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-price-input{
    width:68px !important;
    min-width:68px !important;
    max-width:68px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-total strong{
    font-size:1.45rem !important;
  }
}

/* =========================================================
   FIX FINAL POS DERECHA REAL + CARRITO SIN CORTE
   ========================================================= */
@media (min-width:1181px){
  body.pos-mode #pos-section{
    padding:16px 28px 18px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-section > .pos-header,
  body.pos-mode #pos-section > .pos-pane{
    width:100% !important;
    max-width:calc(100vw - 56px) !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-layout{
    width:100% !important;
    max-width:100% !important;
    height:100% !important;
    min-height:0 !important;
    display:grid !important;
    grid-template-columns:minmax(420px,31%) minmax(0,69%) !important;
    gap:18px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-panel{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 390px !important;
    grid-template-rows:44px minmax(0,1fr) 52px !important;
    grid-template-areas:
      "head summary"
      "list summary"
      "list actions" !important;
    gap:14px 16px !important;
    width:100% !important;
    max-width:100% !important;
    height:100% !important;
    min-height:0 !important;
    padding:16px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-head{
    grid-area:head !important;
    width:100% !important;
    min-width:0 !important;
    height:44px !important;
    display:grid !important;
    grid-template-columns:90px minmax(250px,1fr) 128px 72px 82px 24px !important;
    gap:7px !important;
    align-items:center !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  body.pos-mode #pos-pane-venta.active #posCartList,
  body.pos-mode #pos-pane-venta.active .pos-cart-list{
    grid-area:list !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 4px 0 0 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-row{
    width:100% !important;
    min-width:0 !important;
    height:78px !important;
    min-height:78px !important;
    max-height:78px !important;
    display:grid !important;
    grid-template-columns:52px minmax(250px,1fr) 128px 72px 82px 24px !important;
    gap:7px !important;
    align-items:center !important;
    padding:8px 10px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product{
    min-width:0 !important;
    overflow:hidden !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-thumb{
    width:42px !important;
    height:52px !important;
    min-width:42px !important;
    object-fit:contain !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product-info{
    min-width:0 !important;
    overflow:hidden !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product-info strong{
    display:block !important;
    color:var(--gold) !important;
    font-size:.82rem !important;
    font-weight:900 !important;
    line-height:1.08 !important;
    text-transform:uppercase !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:unset !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-product-info span{
    display:block !important;
    color:rgba(255,255,255,.62) !important;
    font-size:.62rem !important;
    font-weight:700 !important;
    line-height:1.1 !important;
    text-transform:uppercase !important;
    margin-top:3px !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:unset !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-qty-input{
    width:46px !important;
    min-width:46px !important;
    max-width:46px !important;
    height:32px !important;
    padding:4px !important;
    text-align:center !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-type-select{
    width:128px !important;
    min-width:128px !important;
    max-width:128px !important;
    height:32px !important;
    padding:4px 8px !important;
    font-size:.62rem !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-price-input{
    width:72px !important;
    min-width:72px !important;
    max-width:72px !important;
    height:32px !important;
    padding:4px !important;
    font-size:.66rem !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-row > strong{
    font-size:.66rem !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-remove-btn{
    width:24px !important;
    min-width:24px !important;
    height:24px !important;
    font-size:1rem !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary{
    grid-area:summary !important;
    justify-self:end !important;
    align-self:stretch !important;
    width:390px !important;
    min-width:390px !important;
    max-width:390px !important;
    height:100% !important;
    max-height:100% !important;
    margin:0 !important;
    padding:18px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
    border-radius:18px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-row,
  body.pos-mode #pos-pane-venta.active .pos-payment-summary-row,
  body.pos-mode #pos-pane-venta.active .pos-cash-row,
  body.pos-mode #pos-pane-venta.active .pos-change-row{
    grid-template-columns:132px minmax(0,1fr) !important;
    gap:10px !important;
    min-height:46px !important;
    padding:7px 0 !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-row > span,
  body.pos-mode #pos-pane-venta.active .pos-payment-summary-row span,
  body.pos-mode #pos-pane-venta.active .pos-cash-row span,
  body.pos-mode #pos-pane-venta.active .pos-change-row span{
    text-align:right !important;
    font-size:.73rem !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-discount-wrap,
  body.pos-mode #pos-pane-venta.active .pos-cash-actions{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 94px !important;
    gap:7px !important;
    width:100% !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-payment-summary-select,
  body.pos-mode #pos-pane-venta.active .pos-cash-input,
  body.pos-mode #pos-pane-venta.active .pos-summary .form-input{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:38px !important;
    font-size:.72rem !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-action-btn,
  body.pos-mode #pos-pane-venta.active #applyDiscountBtn{
    width:94px !important;
    min-width:94px !important;
    max-width:94px !important;
    height:38px !important;
    font-size:.72rem !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-total{
    grid-template-columns:132px minmax(0,1fr) !important;
    gap:10px !important;
    padding:18px 0 !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-total span{
    text-align:right !important;
    font-size:1.35rem !important;
    line-height:1 !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-total strong{
    text-align:right !important;
    font-size:1.75rem !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-actions{
    grid-area:actions !important;
    justify-self:end !important;
    align-self:end !important;
    width:390px !important;
    min-width:390px !important;
    max-width:390px !important;
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:10px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active #clearPosBtn,
  body.pos-mode #pos-pane-venta.active #finishPosBtn{
    height:42px !important;
    min-height:42px !important;
    border-radius:10px !important;
    font-size:.78rem !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active #clearPosBtn{
    width:110px !important;
    min-width:110px !important;
    padding:0 !important;
  }

  body.pos-mode #pos-pane-venta.active #finishPosBtn{
    width:150px !important;
    min-width:150px !important;
    padding:0 !important;
  }
}

@media (min-width:1181px) and (max-width:1500px){
  body.pos-mode #pos-section{
    padding-left:22px !important;
    padding-right:22px !important;
  }

  body.pos-mode #pos-section > .pos-header,
  body.pos-mode #pos-section > .pos-pane{
    max-width:calc(100vw - 44px) !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-layout{
    grid-template-columns:minmax(360px,30%) minmax(0,70%) !important;
    gap:14px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-panel{
    grid-template-columns:minmax(0,1fr) 340px !important;
    gap:12px 12px !important;
    padding:14px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary,
  body.pos-mode #pos-pane-venta.active .pos-actions{
    width:340px !important;
    min-width:340px !important;
    max-width:340px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cart-head,
  body.pos-mode #pos-pane-venta.active .pos-cart-row{
    grid-template-columns:80px minmax(190px,1fr) 116px 62px 68px 22px !important;
    gap:6px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-type-select{
    width:116px !important;
    min-width:116px !important;
    max-width:116px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-price-input{
    width:62px !important;
    min-width:62px !important;
    max-width:62px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-row,
  body.pos-mode #pos-pane-venta.active .pos-payment-summary-row,
  body.pos-mode #pos-pane-venta.active .pos-cash-row,
  body.pos-mode #pos-pane-venta.active .pos-change-row,
  body.pos-mode #pos-pane-venta.active .pos-summary-total{
    grid-template-columns:118px minmax(0,1fr) !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-discount-wrap,
  body.pos-mode #pos-pane-venta.active .pos-cash-actions{
    grid-template-columns:minmax(0,1fr) 84px !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-action-btn,
  body.pos-mode #pos-pane-venta.active #applyDiscountBtn{
    width:84px !important;
    min-width:84px !important;
    max-width:84px !important;
    font-size:.68rem !important;
  }
}


/* FIX DEFINITIVO MODAL FINALIZAR COMPRA */
#finishSaleModal:not(.hidden){
  display:flex !important;
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  align-items:center !important;
  justify-content:center !important;
  pointer-events:auto !important;
}
#finishSaleModal.hidden{
  display:none !important;
}
#finishSaleModal .finish-sale-card{
  position:relative !important;
  z-index:1000000 !important;
}
#finishPosBtn,
#finishWithoutReceiptBtn,
#finishSaleCloseBtn{
  pointer-events:auto !important;
  cursor:pointer !important;
}



/* ================================================================
   V16.13 — CORTE DE CAJA POS
   ================================================================ */
body.pos-mode .pos-cash-register-banner{
  margin:0 22px 10px;padding:9px 13px;border:1px solid rgba(255,255,255,.07);border-radius:11px;
  display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.018);color:rgba(255,255,255,.58);
  font:500 .66rem/1.3 'Montserrat',sans-serif;
}
body.pos-mode .pos-cash-register-banner strong{color:#f1f2f6;font-size:.67rem}.pos-cash-register-dot{width:8px;height:8px;border-radius:50%;background:#777b85;box-shadow:0 0 0 4px rgba(255,255,255,.035)}
body.pos-mode .pos-cash-register-banner.is-open{border-color:rgba(75,210,125,.20);background:rgba(75,210,125,.045);color:#a6dcb8}.pos-cash-register-banner.is-open .pos-cash-register-dot{background:#55ce81;box-shadow:0 0 0 4px rgba(75,210,125,.10)}
body.pos-mode .pos-cash-register-banner.is-closed{border-color:rgba(255,184,76,.16);color:#c9aa7b}.pos-cash-register-banner.is-closed .pos-cash-register-dot{background:#d79b43}
body.pos-mode .pos-cash-register-banner.is-warning{border-color:rgba(239,88,88,.20);color:#e4a1a1}.pos-cash-register-banner.is-warning .pos-cash-register-dot{background:#e15b5b}
body.pos-mode #pos-pane-caja.active{display:block!important;overflow-y:auto!important;overflow-x:hidden!important;height:calc(100vh - 150px)!important;max-height:calc(100vh - 150px)!important;padding:0 22px 32px!important}
body.pos-mode #pos-pane-caja .pos-panel-wide{width:100%!important;max-width:1500px!important;margin:0 auto!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
.cash-register-panel{color:#f2f3f7}.cash-register-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;padding:20px 0 15px;border-bottom:1px solid rgba(255,255,255,.065)}
.cash-register-head .pane-title{margin:3px 0 5px;font-size:1.18rem}.cash-register-head p{margin:0;max-width:780px;color:rgba(255,255,255,.42);font:400 .64rem/1.6 'Montserrat',sans-serif}.cash-register-kicker,.cash-register-section-title>div>span{color:#777cff;font:750 .53rem/1.2 'Montserrat',sans-serif;letter-spacing:.11em}
.cash-register-status-card{margin:15px 0;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 16px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:linear-gradient(135deg,rgba(255,255,255,.025),rgba(255,255,255,.01))}
.cash-register-status-card>div{display:flex;flex-direction:column;gap:4px}.cash-register-status-card span{color:rgba(255,255,255,.37);font:650 .54rem/1.2 'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:.055em}.cash-register-status-card strong{font:750 .88rem/1.2 'Montserrat',sans-serif;color:#f2f3f7}.cash-register-status-card small{color:rgba(255,255,255,.42);font:450 .58rem/1.4 'Montserrat',sans-serif}.cash-register-status-card.is-open{border-color:rgba(72,199,116,.22);background:linear-gradient(135deg,rgba(72,199,116,.065),rgba(255,255,255,.012))}.cash-register-status-card.is-open>div:first-child strong{color:#9fe2b4}.cash-register-status-card.is-warning{border-color:rgba(235,79,79,.22)}
.cash-register-open-box,.cash-register-movement-box,.cash-register-close-box,.cash-register-history-section{border:1px solid rgba(255,255,255,.07);border-radius:15px;background:rgba(255,255,255,.014);padding:16px}.cash-register-open-box{margin-bottom:15px}.cash-register-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:13px}.cash-register-section-title h4{margin:3px 0 0;font:700 .79rem/1.2 'Montserrat',sans-serif;color:#f1f2f6}.cash-register-section-title>small{max-width:520px;text-align:right;color:rgba(255,255,255,.34);font:400 .56rem/1.45 'Montserrat',sans-serif}
.cash-register-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cash-register-form-grid.compact{grid-template-columns:140px 1fr}.cash-register-form-grid label,.cash-register-count-label,.cash-register-close-box>label{display:flex;flex-direction:column;gap:6px;color:rgba(255,255,255,.52);font:600 .58rem/1.2 'Montserrat',sans-serif}.cash-register-form-grid label>span,.cash-register-count-label>span,.cash-register-close-box>label>span{padding-left:2px}.cash-register-wide{grid-column:1/-1}.cash-register-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.cash-register-actions.split{justify-content:flex-start}.cash-register-actions .danger{border-color:rgba(235,79,79,.25)!important;color:#f09a9a!important}
.cash-register-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin:0 0 12px}.cash-register-kpis article{min-height:102px;padding:13px;border:1px solid rgba(255,255,255,.065);border-radius:13px;background:rgba(255,255,255,.014);display:flex;flex-direction:column;justify-content:center;gap:5px}.cash-register-kpis span{color:rgba(255,255,255,.40);font:650 .53rem/1.3 'Montserrat',sans-serif}.cash-register-kpis strong{color:#f2f3f6;font:750 1rem/1.2 'Montserrat',sans-serif}.cash-register-kpis small{color:rgba(255,255,255,.28);font:450 .51rem/1.35 'Montserrat',sans-serif}.cash-register-kpis .is-positive strong{color:#8edca8}.cash-register-kpis .is-negative strong{color:#eda0a0}.cash-register-kpis .is-highlight{border-color:rgba(81,81,255,.24);background:linear-gradient(145deg,rgba(81,81,255,.10),rgba(255,255,255,.014))}.cash-register-kpis .is-highlight strong{color:#b5b7ff;font-size:1.12rem}
.cash-register-live-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:12px;margin-bottom:12px}.cash-register-close-box{display:flex;flex-direction:column;gap:10px}.cash-register-close-box .cash-register-section-title{margin-bottom:2px}.cash-register-difference{padding:11px 12px;border-radius:11px;border:1px solid rgba(255,255,255,.07);background:rgba(0,0,0,.12);display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:center}.cash-register-difference span{color:rgba(255,255,255,.43);font:650 .57rem/1.2 'Montserrat',sans-serif}.cash-register-difference strong{font:800 .95rem/1.2 'Montserrat',sans-serif}.cash-register-difference small{grid-column:1/-1;color:rgba(255,255,255,.32);font:450 .53rem/1.35 'Montserrat',sans-serif}.cash-register-difference.is-ok{border-color:rgba(72,199,116,.24);background:rgba(72,199,116,.045)}.cash-register-difference.is-ok strong{color:#8fe0aa}.cash-register-difference.is-positive{border-color:rgba(255,187,74,.24)}.cash-register-difference.is-positive strong{color:#f0c57e}.cash-register-difference.is-negative{border-color:rgba(235,79,79,.25)}.cash-register-difference.is-negative strong{color:#efa0a0}
.cash-register-history-section{margin-bottom:15px}.cash-register-history-wrap{overflow:auto;border:1px solid rgba(255,255,255,.055);border-radius:11px}.cash-register-history-table{width:100%;min-width:980px;border-collapse:collapse}.cash-register-history-table th{padding:9px 10px;text-align:left;color:rgba(255,255,255,.34);font:700 .50rem/1.2 'Montserrat',sans-serif;letter-spacing:.045em;text-transform:uppercase;background:rgba(255,255,255,.018)}.cash-register-history-table td{padding:10px;border-top:1px solid rgba(255,255,255,.045);color:rgba(255,255,255,.70);font:500 .58rem/1.35 'Montserrat',sans-serif;vertical-align:middle}.cash-register-history-table td>strong:first-child{display:block;color:#d7d8df;font-size:.54rem}.cash-register-history-table td small{display:block;margin-top:3px;color:rgba(255,255,255,.31);font-size:.50rem}.cash-register-history-table tr.is-open{background:rgba(72,199,116,.025)}.cash-register-empty{text-align:center!important;padding:20px!important;color:rgba(255,255,255,.35)!important}.cash-diff.positive{color:#e4bc74}.cash-diff.negative{color:#ef9696}.cash-diff.ok{color:#8ddba6}
@media(max-width:1180px){.cash-register-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.cash-register-live-grid{grid-template-columns:1fr}}
@media(max-width:720px){body.pos-mode .pos-cash-register-banner{margin:0 10px 8px;font-size:.58rem}body.pos-mode #pos-pane-caja.active{padding:0 10px 24px!important;height:calc(100vh - 132px)!important;max-height:calc(100vh - 132px)!important}.cash-register-head{align-items:flex-start}.cash-register-head p{font-size:.58rem}.cash-register-status-card{grid-template-columns:1fr}.cash-register-kpis{grid-template-columns:1fr 1fr}.cash-register-kpis article{min-height:88px}.cash-register-form-grid,.cash-register-form-grid.compact{grid-template-columns:1fr}.cash-register-section-title{flex-direction:column}.cash-register-section-title>small{text-align:left}.cash-register-actions{justify-content:stretch}.cash-register-actions button{flex:1}.cash-register-open-box,.cash-register-movement-box,.cash-register-close-box,.cash-register-history-section{padding:13px}}


/* ==========================================================
   V17.16.5 — DESTINO DE COBRO VISIBLE TAMBIÉN EN POS DEDICADO
   ========================================================== */
.pos-payment-account-row{
  align-items:center;
}
.pos-payment-destination-control{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:5px;
  min-width:0;
  width:100%;
}
.pos-payment-destination-control .pos-payment-summary-select{
  width:100% !important;
  max-width:none !important;
}
.pos-payment-destination-hint,
.pos-mixed-destination-hint,
.pos-mixed-cash-account-hint{
  display:block;
  color:rgba(255,255,255,.58);
  font-size:.61rem;
  font-weight:600;
  line-height:1.35;
}
.pos-payment-destination-hint:empty{display:none;}
.pos-cash-account-target{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  width:100%;
  min-height:38px;
  padding:0 11px;
  border:1px solid rgba(92,96,255,.55);
  border-radius:10px;
  background:rgba(65,65,255,.08);
  color:#fff;
  box-sizing:border-box;
  font-size:.68rem;
  font-weight:800;
  text-align:right;
}
.pos-cash-account-target.hidden{display:none !important;}
.pos-mixed-payment-section{
  margin:10px 0;
  padding:12px;
  border:1px solid rgba(99,102,241,.38);
  border-radius:12px;
  background:rgba(15,23,42,.42);
}
.pos-mixed-payment-head,
.pos-mixed-payment-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.pos-mixed-payment-head>div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.pos-mixed-payment-head strong{font-size:.84rem;}
.pos-mixed-payment-head span,
.pos-mixed-payment-footer{font-size:.70rem;color:#aab2c5;}
.pos-mixed-payment-target,
.pos-mixed-payment-footer strong{color:#fff !important;font-weight:800;white-space:nowrap;}
.pos-mixed-payment-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}
.pos-mixed-payment-grid label{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
}
.pos-mixed-payment-grid label>span{font-size:.68rem;font-weight:700;color:#aab2c5;}
.pos-mixed-payment-grid input,
.pos-mixed-payment-grid select{width:100%;min-width:0;box-sizing:border-box;}
.pos-mixed-account-select{margin-top:1px;font-size:.68rem;}
.pos-mixed-account-select:disabled{opacity:.48;cursor:not-allowed;}
.pos-mixed-payment-footer{margin-top:9px;padding-top:9px;border-top:1px solid rgba(148,163,184,.16);}
#posMixedPaymentStatus.is-ok{color:#86efac;}
#posMixedPaymentStatus.is-error{color:#fda4af;}
@media(max-width:760px){
  .pos-payment-account-row{align-items:flex-start !important;}
  .pos-mixed-payment-grid{grid-template-columns:1fr;}
  .pos-mixed-payment-head,.pos-mixed-payment-footer{align-items:flex-start;}
}
