/* =========================================================
   APP TIENDA · LAB VISUAL V5 ACUMULATIVA
   Capa de presentación reversible. No cambia endpoints, BD,
   permisos, cálculos, compras, ventas ni sincronización.
   ========================================================= */
:root{
  --v5-brand:#2563eb;
  --v5-brand-dark:#1d4ed8;
  --v5-ink:#0f172a;
  --v5-text:#172033;
  --v5-muted:#64748b;
  --v5-line:#e2e8f0;
  --v5-soft:#f6f8fb;
  --v5-surface:#fff;
  --v5-green:#15803d;
  --v5-red:#b91c1c;
  --v5-amber:#b45309;
  --v5-radius:16px;
  --v5-shadow:0 6px 22px rgba(15,23,42,.055);
}

body.lab-visual-v5{background:var(--v5-soft);color:var(--v5-text)}
body.lab-visual-v5 .card,
body.lab-visual-v5 .v720-card{border-color:var(--v5-line);border-radius:var(--v5-radius);box-shadow:var(--v5-shadow);background:#fff}
body.lab-visual-v5 button{transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .1s ease,box-shadow .15s ease}
body.lab-visual-v5 button:active{transform:scale(.985)}

/* Regla definitiva: una sola pantalla del sistema a la vez. */
body.lab-visual-v5 .tabpage:not(.active){display:none!important}
body.lab-visual-v5 #home.tabpage.active{display:grid!important}
body.lab-visual-v5 .tabpage.active:not(#home){display:block!important}

/* Distintivo del clon */
.lab-v5-badge{
  display:inline-flex;align-items:center;gap:5px;min-height:23px;padding:4px 8px;
  border-radius:999px;border:1px solid #fdba74;background:#fff7ed;color:#9a3412;
  font-size:.56rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap
}
.lab-v5-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:#f97316;box-shadow:0 0 0 2px #fed7aa}

/* Escritorio */
body.lab-visual-v5 .desktop-sidebar{background:#111827;border-right:1px solid #1f2937;padding:14px 11px}
body.lab-visual-v5 .sidebar-brand{padding:7px 8px 16px;margin-bottom:9px;border-color:#283348}
body.lab-visual-v5 .brand-mark{background:var(--v5-brand);box-shadow:0 7px 18px rgba(37,99,235,.24)}
body.lab-visual-v5 .side-nav{gap:2px}
body.lab-visual-v5 .nav-section{padding:13px 9px 4px;color:#7c899e}
body.lab-visual-v5 .nav-btn{border-radius:10px;padding:9px 10px}
body.lab-visual-v5 .nav-btn.active{background:var(--v5-brand);box-shadow:0 5px 16px rgba(37,99,235,.22)}
body.lab-visual-v5 .content-shell{background:var(--v5-soft)}
body.lab-visual-v5 .topbar{background:rgba(255,255,255,.95);border-color:var(--v5-line);box-shadow:0 1px 10px rgba(15,23,42,.025)}
body.lab-visual-v5 .content-shell main{max-width:1320px}
body.lab-visual-v5 .page-heading h2{color:var(--v5-ink);font-weight:850;letter-spacing:-.025em}
body.lab-visual-v5 .page-heading p{max-width:780px}

/* Inicio del vendedor */
body.lab-visual-v5.role-seller .seller-home-actions{display:none!important}
body.lab-visual-v5.role-seller .home-shift-priority-head>[data-go-tab="cash"]{display:none!important}
body.lab-visual-v5 .home-shift-priority{border:1px solid #dbe3ed;background:#fff}
body.lab-visual-v5 .home-shift-active{background:#f7fcf9;border-color:#ccebd9}
body.lab-visual-v5 .home-shift-empty{background:#fffaf2;border-color:#fed7aa}
body.lab-visual-v5 .lab-v5-seller-summary{padding:15px}
body.lab-visual-v5 .lab-v5-summary-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:10px}
body.lab-visual-v5 .lab-v5-summary-head h3{margin:3px 0 0;font-size:1.04rem;color:var(--v5-ink)}
body.lab-visual-v5 .lab-v5-summary-head>small{font-size:.72rem;color:var(--v5-muted);font-weight:750}
body.lab-visual-v5 .lab-v5-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body.lab-visual-v5 .lab-v5-metric{padding:11px 12px;border:1px solid #e5eaf1;border-radius:13px;background:#f8fafc;min-width:0}
body.lab-visual-v5 .lab-v5-metric span{display:block;font-size:.71rem;color:var(--v5-muted);font-weight:700}
body.lab-visual-v5 .lab-v5-metric strong{display:block;margin-top:4px;font-size:1.03rem;color:var(--v5-ink);font-weight:900;overflow:hidden;text-overflow:ellipsis}
body.lab-visual-v5 .lab-v5-metric small{display:block;margin-top:2px;font-size:.62rem;color:var(--v5-muted)}
body.lab-visual-v5 .lab-v5-expected{grid-column:1/-1;background:#eff6ff;border-color:#bfdbfe}
body.lab-visual-v5 .lab-v5-expected strong{font-size:1.34rem;color:var(--v5-brand-dark)}
body.lab-visual-v5 .lab-v5-expected.is-negative{background:#fff1f2;border-color:#fecdd3}
body.lab-visual-v5 .lab-v5-expected.is-negative strong{color:var(--v5-red)}
body.lab-visual-v5 .lab-v5-pending{width:100%;margin-top:8px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:9px;text-align:left;padding:10px 11px;border:1px solid var(--v5-line);border-radius:12px;background:#fff;color:var(--v5-text)}
body.lab-visual-v5 .lab-v5-pending b,body.lab-visual-v5 .lab-v5-pending small{display:block}
body.lab-visual-v5 .lab-v5-pending b{font-size:.79rem}
body.lab-visual-v5 .lab-v5-pending small{font-size:.65rem;color:var(--v5-muted);margin-top:2px;font-weight:500}
body.lab-visual-v5 .lab-v5-pending strong{display:grid;place-items:center;min-width:29px;height:29px;padding:0 7px;border-radius:999px;background:#eef4ff;color:var(--v5-brand-dark)}
body.lab-visual-v5 .lab-v5-loading{min-height:42px;display:flex;align-items:center;gap:8px;color:var(--v5-muted);font-size:.78rem}
body.lab-visual-v5 .lab-v5-loading:before{content:"";width:14px;height:14px;border:2px solid #cbd5e1;border-top-color:var(--v5-brand);border-radius:50%;animation:v5spin .7s linear infinite}
@keyframes v5spin{to{transform:rotate(360deg)}}

/* Inventario */
body.lab-visual-v5 .inventory-catalog-toolbar{border-color:var(--v5-line);box-shadow:0 5px 18px rgba(15,23,42,.04)}
body.lab-visual-v5 .inventory-search-box{background:#fff}
body.lab-visual-v5 .inventory-category-chip.active{background:var(--v5-brand);border-color:var(--v5-brand);color:#fff}
body.lab-visual-v5 .inventory-catalog-grid{gap:12px}
body.lab-visual-v5 .inventory-product-card{border:1px solid var(--v5-line);border-radius:15px;background:#fff;box-shadow:0 4px 15px rgba(15,23,42,.045);overflow:hidden}
body.lab-visual-v5 .inventory-product-card:hover{border-color:#bfdbfe;box-shadow:0 7px 20px rgba(15,23,42,.07)}
body.lab-visual-v5 .inventory-product-media{background:#f8fafc}
body.lab-visual-v5 .inventory-product-title{font-weight:850;color:var(--v5-text)}
body.lab-visual-v5 .inventory-product-price{font-weight:900;color:var(--v5-ink)}
body.lab-visual-v5 .inventory-stock-badge.stock-low,
body.lab-visual-v5 .inventory-product-stock.stock-low{background:#eef2f7!important;color:#475569!important;border-color:#dbe3ec!important}
body.lab-visual-v5 .inventory-product-card.stock-low{border-color:var(--v5-line)!important}
body.lab-visual-v5 .inventory-product-card.stock-out{border-color:#fecaca!important}
body.lab-visual-v5 .product-detail-dialog .product-detail-shell{border-radius:20px}

/* Ventas */
body.lab-visual-v5 .sales-primary-card{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 10px 24px rgba(37,99,235,.20)}
body.lab-visual-v5 .sales-secondary-card{border-color:var(--v5-line);box-shadow:0 4px 15px rgba(15,23,42,.04)}
body.lab-visual-v5 .pos-search-card,body.lab-visual-v5 .sale-cart-card,body.lab-visual-v5 .sale-summary-card,body.lab-visual-v5 .sales-history-card{border-color:var(--v5-line);box-shadow:0 5px 18px rgba(15,23,42,.045)}
body.lab-visual-v5 .sale-search-item{border-radius:12px}
body.lab-visual-v5 #openPaymentBtn{background:var(--v5-green)}
body.lab-visual-v5 #openPaymentBtn:hover{background:#166534}
body.lab-visual-v5 .pending-sale-row,body.lab-visual-v5 .sales-history-row{border-radius:11px}

/* Gastos */
body.lab-visual-v5 .expense-toolbar{gap:10px}
body.lab-visual-v5 .expense-period{border-color:var(--v5-line);box-shadow:0 4px 15px rgba(15,23,42,.04)}
body.lab-visual-v5 .expense-item{border-color:#edf1f5}
body.lab-visual-v5 #newExpenseBtn{box-shadow:0 7px 17px rgba(37,99,235,.16)}

/* Caja */
body.lab-visual-v5 .cash-current-card,body.lab-visual-v5 .cash-manager-card,body.lab-visual-v5 .cash-history-card,body.lab-visual-v5 .shift-sales-card{box-shadow:0 5px 18px rgba(15,23,42,.04)}
body.lab-visual-v5 .expected-highlight{border-color:#bfdbfe!important;background:#eff6ff!important}
body.lab-visual-v5 .expected-highlight strong{color:var(--v5-brand-dark)!important}
body.lab-visual-v5 .shift-summary-grid>div,body.lab-visual-v5 .manager-daily-grid>div{background:#f8fafc}

/* Compras / Ticket */
body.lab-visual-v5 #purchases .v720-purchases-page{max-width:100%}
body.lab-visual-v5 #purchases .v720-card{border-color:var(--v5-line);box-shadow:0 5px 18px rgba(15,23,42,.04)}
body.lab-visual-v5 #purchases .v720-totalbox{border-top:3px solid var(--v5-brand)}
body.lab-visual-v5 #purchases .v720-confirm:not(:disabled){background:var(--v5-green)}
body.lab-visual-v5 #purchases .v720-result{border-radius:11px}
body.lab-visual-v5 #purchases .v720-item{border-radius:12px}
body.lab-visual-v5 #purchases .v720-history-row,body.lab-visual-v5 #purchases .v720-pending-row{border-bottom-color:#edf1f5}

/* Más */
body.lab-visual-v5 .tool-grid{gap:9px}
body.lab-visual-v5 .tool-card{min-height:70px;border-color:var(--v5-line);box-shadow:0 3px 13px rgba(15,23,42,.035)}
body.lab-visual-v5 .tool-card>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#f1f5f9;font-size:1.05rem;flex:0 0 auto}
body.lab-visual-v5 .lab-v5-tool-section{grid-column:1/-1;margin:9px 2px -1px;color:#64748b;font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900}

/* Historial / administración */
body.lab-visual-v5 .activity-filters,body.lab-visual-v5 .activity-card{box-shadow:0 4px 15px rgba(15,23,42,.04)}
body.lab-visual-v5 .period-chip.active{background:var(--v5-brand);border-color:var(--v5-brand);color:#fff}
body.lab-visual-v5 dialog::backdrop{background:rgba(15,23,42,.48);backdrop-filter:blur(2px)}

/* TABLET */
@media(min-width:781px) and (max-width:1050px){
  body.lab-visual-v5 .content-shell{margin-left:204px}
  body.lab-visual-v5 .desktop-sidebar{width:204px}
  body.lab-visual-v5 .sidebar-brand small{display:none}
  body.lab-visual-v5 .content-shell main{padding:18px}
  body.lab-visual-v5 .inventory-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* MÓVIL */
@media(max-width:780px){
  body.lab-visual-v5{background:#f4f6f9}
  body.lab-visual-v5 .topbar{padding:8px 10px;min-height:48px}
  body.lab-visual-v5 .topbar .header-row{flex-direction:row;align-items:center;gap:7px}
  body.lab-visual-v5 .topbar h1{font-size:.92rem;line-height:1.1}
  body.lab-visual-v5 .topbar .header-actions{width:auto;margin-left:auto;gap:5px}
  body.lab-visual-v5 .user-badge{max-width:43vw;padding:5px 7px;border-radius:9px;font-size:.60rem}
  body.lab-visual-v5 #logoutBtn{width:31px;height:31px;padding:0;border-radius:9px;font-size:0;display:grid;place-items:center}
  body.lab-visual-v5 #logoutBtn:before{content:"↪";font-size:.93rem}
  body.lab-visual-v5 .content-shell main{padding:10px 9px 88px}

  /* La cabecera superior ya nombra el módulo: no repetir título grande dentro. */
  body.lab-visual-v5 .tabpage.active:not(#home)>.page-heading{display:none!important}
  body.lab-visual-v5 #purchases.tabpage.active .page-heading{display:none!important}

  /* Barra inferior: conserva el comportamiento nativo de ocultarse al bajar. */
  body.lab-visual-v5 .mobile-nav{
    left:7px;right:7px;bottom:7px;min-height:59px;padding:4px 5px;gap:2px;
    border-radius:18px;border:1px solid #dbe3ec;background:rgba(255,255,255,.97);
    box-shadow:0 13px 34px rgba(15,23,42,.18);backdrop-filter:blur(16px)
  }
  body.lab-visual-v5 .mobile-nav-btn{min-height:48px;border-radius:12px;padding:5px 2px;color:#7b8798;background:transparent}
  body.lab-visual-v5 .mobile-nav-btn span{font-size:1rem}
  body.lab-visual-v5 .mobile-nav-btn small{font-size:.54rem;letter-spacing:-.01em}
  body.lab-visual-v5 .mobile-nav-btn.active{background:#eef4ff;color:var(--v5-brand-dark)}
  body.lab-visual-v5.role-seller .mobile-nav-btn[data-tab="sales"]{
    position:relative;margin-top:-14px;min-height:55px;border-radius:16px;background:var(--v5-brand);color:#fff;
    box-shadow:0 8px 20px rgba(37,99,235,.30);border:4px solid #f4f6f9
  }
  body.lab-visual-v5.role-seller .mobile-nav-btn[data-tab="sales"].active{background:#1e40af;color:#fff}
  body.lab-visual-v5.role-seller .mobile-nav-btn[data-tab="sales"] small{color:#fff;font-weight:900}

  /* Inicio */
  body.lab-visual-v5 .app-home{gap:8px}
  body.lab-visual-v5 .home-shift-priority{padding:10px;border-radius:14px}
  body.lab-visual-v5 .home-shift-priority-head{display:flex;align-items:center;gap:7px;margin-bottom:6px}
  body.lab-visual-v5 .home-shift-priority-head>div{min-width:0}
  body.lab-visual-v5 .home-shift-priority-head h2{font-size:.98rem;margin:2px 0 0}
  body.lab-visual-v5 .home-shift-priority-head .eyebrow{font-size:.56rem}
  body.lab-visual-v5 .lab-v5-badge{margin-left:auto;font-size:.47rem;min-height:20px;padding:3px 6px}
  body.lab-visual-v5 .home-shift-active,body.lab-visual-v5 .home-shift-empty{padding:9px!important;gap:7px!important;border-radius:11px!important}
  body.lab-visual-v5 .home-shift-copy .shift-status{width:max-content;margin-bottom:2px;padding:3px 7px;font-size:.56rem}
  body.lab-visual-v5 .home-shift-copy>strong{font-size:.88rem!important;line-height:1.12}
  body.lab-visual-v5 .home-shift-copy>small{font-size:.62rem!important;line-height:1.25}
  body.lab-visual-v5 .home-shift-inline-actions{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;width:100%}
  body.lab-visual-v5 .home-shift-inline-actions .big-action{min-height:42px;padding:9px 10px!important;border-radius:10px;font-size:.85rem}
  body.lab-visual-v5 .home-shift-inline-actions .secondary{min-height:32px;padding:6px 9px!important;border-radius:9px;font-size:.68rem;background:#f1f5f9}
  body.lab-visual-v5 .lab-v5-seller-summary{padding:10px;border-radius:14px}
  body.lab-visual-v5 .lab-v5-summary-head{margin-bottom:7px}
  body.lab-visual-v5 .lab-v5-summary-head h3{font-size:.84rem}
  body.lab-visual-v5 .lab-v5-summary-head>small{font-size:.59rem}
  body.lab-visual-v5 .lab-v5-metrics{gap:6px}
  body.lab-visual-v5 .lab-v5-metric{padding:8px 9px;border-radius:10px}
  body.lab-visual-v5 .lab-v5-metric span{font-size:.60rem}
  body.lab-visual-v5 .lab-v5-metric strong{font-size:.86rem;margin-top:3px}
  body.lab-visual-v5 .lab-v5-metric small{font-size:.52rem}
  body.lab-visual-v5 .lab-v5-expected strong{font-size:1.12rem}
  body.lab-visual-v5 .lab-v5-pending{margin-top:7px;padding:8px 9px}

  /* Inventario: 2 columnas, fotografía protagonista */
  body.lab-visual-v5 #inventory .inventory-catalog-toolbar{position:sticky;top:48px;z-index:8;padding:8px;border-radius:13px;margin-bottom:8px;background:rgba(255,255,255,.98)}
  body.lab-visual-v5 .inventory-search-line{gap:6px}
  body.lab-visual-v5 .inventory-search-box{min-height:40px}
  body.lab-visual-v5 #searchProducts{font-size:.75rem}
  body.lab-visual-v5 .inventory-toolbar-btn{min-height:38px;padding:7px 9px;font-size:.69rem}
  body.lab-visual-v5 .inventory-add-btn span{display:none}
  body.lab-visual-v5 .inventory-add-btn{width:40px;padding:0}
  body.lab-visual-v5 .inventory-category-row{margin-top:7px;gap:6px}
  body.lab-visual-v5 .inventory-category-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:1px}
  body.lab-visual-v5 .inventory-category-chips::-webkit-scrollbar{display:none}
  body.lab-visual-v5 .inventory-category-chip{flex:0 0 auto;padding:6px 9px;font-size:.59rem}
  body.lab-visual-v5 .inventory-filter-btn{width:38px;min-width:38px;padding:0;font-size:0}
  body.lab-visual-v5 .inventory-filter-btn:before{content:"☷";font-size:.95rem}
  body.lab-visual-v5 .inventory-catalog-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  body.lab-visual-v5 .inventory-product-card{display:flex!important;flex-direction:column!important;min-height:0!important;border-radius:14px!important}
  body.lab-visual-v5 .inventory-product-media{width:100%!important;height:124px!important;border-right:0!important;border-bottom:1px solid #edf1f6!important;padding:6px!important}
  body.lab-visual-v5 .inventory-product-copy{min-height:104px!important;padding:8px 8px 9px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:3px!important}
  body.lab-visual-v5 .inventory-product-title{font-size:.74rem!important;line-height:1.16!important;-webkit-line-clamp:2!important;min-height:1.72em}
  body.lab-visual-v5 .inventory-product-code{display:none!important}
  body.lab-visual-v5 .inventory-product-stock{font-size:.63rem!important}
  body.lab-visual-v5 .inventory-product-price{font-size:.84rem!important;margin-top:auto}
  body.lab-visual-v5 .inventory-stock-badge{font-size:.55rem!important;padding:3px 5px!important}
  body.lab-visual-v5 .inventory-pagination{margin-top:8px}

  /* Ficha producto como hoja móvil */
  body.lab-visual-v5 .product-detail-dialog{padding:0;max-width:none;width:100vw;height:100dvh;max-height:none;border-radius:0}
  body.lab-visual-v5 .product-detail-dialog .product-detail-shell{min-height:100%;border-radius:0;padding-bottom:24px}
  body.lab-visual-v5 .product-detail-content{grid-template-columns:1fr!important;gap:10px}
  body.lab-visual-v5 .product-detail-visual{max-width:230px;margin:0 auto}
  body.lab-visual-v5 .product-detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}

  /* Ventas landing */
  body.lab-visual-v5 .sales-actions-grid{grid-template-columns:1fr 1fr;gap:7px}
  body.lab-visual-v5 .sales-primary-card,body.lab-visual-v5 .sales-secondary-card{min-height:74px;padding:11px;border-radius:13px;gap:8px}
  body.lab-visual-v5 .sales-card-icon{width:35px;height:35px;font-size:1rem}
  body.lab-visual-v5 .sales-primary-card strong,body.lab-visual-v5 .sales-secondary-card strong{font-size:.78rem}
  body.lab-visual-v5 .sales-primary-card small,body.lab-visual-v5 .sales-secondary-card small{font-size:.57rem;line-height:1.2}
  body.lab-visual-v5 .sales-info-card{display:none!important}
  body.lab-visual-v5 .sales-history-card{padding:10px;margin-top:9px}
  body.lab-visual-v5 .finance-filter-row{gap:7px}
  body.lab-visual-v5 .period-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  body.lab-visual-v5 .period-chip{flex:0 0 auto;font-size:.58rem;padding:6px 8px}
  body.lab-visual-v5 .compact-filter{font-size:.60rem;min-width:96px}
  body.lab-visual-v5 .sales-history-row{padding:9px 8px}

  /* Venta abierta */
  body.lab-visual-v5 #salesWorkspace{padding-bottom:126px}
  body.lab-visual-v5 .sales-workspace-head{margin-bottom:7px}
  body.lab-visual-v5 .sales-workspace-head h2{font-size:.95rem}
  body.lab-visual-v5 .autosave-chip{font-size:.53rem;padding:4px 6px}
  body.lab-visual-v5 .pos-layout{gap:7px}
  body.lab-visual-v5 .pos-search-card,body.lab-visual-v5 .sale-cart-card{padding:9px;border-radius:13px}
  body.lab-visual-v5 .pos-search-row{gap:6px}
  body.lab-visual-v5 #saleProductSearch{min-height:40px;font-size:.74rem}
  body.lab-visual-v5 #saleScanBtn{min-height:40px;padding:7px 9px;font-size:.68rem}
  body.lab-visual-v5 .sale-search-item{padding:7px}
  body.lab-visual-v5 .sale-search-thumb{width:42px!important;height:42px!important}
  body.lab-visual-v5 .sale-cart-item{padding:8px 0}
  body.lab-visual-v5 #salesWorkspace:not([hidden]) .sale-summary-card{border-radius:14px;box-shadow:0 12px 34px rgba(15,23,42,.2)}

  /* Gastos */
  body.lab-visual-v5 .expense-toolbar{display:grid;grid-template-columns:1fr;gap:7px}
  body.lab-visual-v5 #newExpenseBtn{min-height:43px;border-radius:11px;font-size:.80rem}
  body.lab-visual-v5 .expense-period{padding:9px!important;border-radius:13px}
  body.lab-visual-v5 .expense-total-box{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left!important;padding-top:6px;border-top:1px solid #edf1f5}
  body.lab-visual-v5 .expense-total-box strong{font-size:1rem}
  body.lab-visual-v5 #expenses>.card:last-child{padding:10px}
  body.lab-visual-v5 .expense-row,body.lab-visual-v5 .expense-item{padding:9px 0}

  /* Caja */
  body.lab-visual-v5 .cash-layout{grid-template-columns:1fr;gap:7px;margin-bottom:7px}
  body.lab-visual-v5 .cash-current-card,body.lab-visual-v5 .cash-manager-card,body.lab-visual-v5 .cash-history-card,body.lab-visual-v5 .shift-sales-card{padding:10px;border-radius:14px}
  body.lab-visual-v5 .shift-summary-grid,body.lab-visual-v5 .manager-daily-grid{gap:6px;margin-top:8px}
  body.lab-visual-v5 .shift-summary-grid>div,body.lab-visual-v5 .manager-daily-grid>div{padding:8px;border-radius:10px}
  body.lab-visual-v5 .shift-summary-grid span,body.lab-visual-v5 .manager-daily-grid span{font-size:.60rem}
  body.lab-visual-v5 .shift-summary-grid strong,body.lab-visual-v5 .manager-daily-grid strong{font-size:.90rem}
  body.lab-visual-v5 .cash-action-row{gap:6px;margin-top:9px}
  body.lab-visual-v5 .cash-action-row button{min-height:36px;padding:7px 9px;font-size:.67rem}
  body.lab-visual-v5 .shift-sales-head{align-items:center}
  body.lab-visual-v5 .shift-sales-total strong{font-size:.92rem}
  body.lab-visual-v5 .cash-history-row{padding:9px 0}

  /* Compras */
  body.lab-visual-v5 #purchases .v720-purchases-page{display:grid;gap:8px}
  body.lab-visual-v5 #purchases .v720-purchase-grid{grid-template-columns:1fr!important;gap:8px!important;margin:0!important}
  body.lab-visual-v5 #purchases .v720-card{padding:10px!important;border-radius:14px!important}
  body.lab-visual-v5 #purchases .v720-head h3{font-size:.87rem}
  body.lab-visual-v5 #purchases .v720-fields{grid-template-columns:1fr 1fr!important;gap:7px!important}
  body.lab-visual-v5 #purchases .v720-fields label,body.lab-visual-v5 #purchases .v720-new-grid label{font-size:.63rem}
  body.lab-visual-v5 #purchases .v720-fields input,body.lab-visual-v5 #purchases .v720-fields select,body.lab-visual-v5 #purchases .v720-fields textarea{min-height:39px;padding:8px;font-size:.72rem}
  body.lab-visual-v5 #purchases .v720-search-row{display:grid!important;grid-template-columns:1fr auto!important;gap:6px!important}
  body.lab-visual-v5 #purchases #v720Search{grid-column:1/-1;min-height:40px}
  body.lab-visual-v5 #purchases #v720Scan,body.lab-visual-v5 #purchases #v720Unknown{min-height:36px;padding:7px 9px;font-size:.65rem}
  body.lab-visual-v5 #purchases .v720-item{padding:8px!important;gap:6px!important}
  body.lab-visual-v5 #purchases .v720-totalbox{position:static!important;order:2}
  body.lab-visual-v5 #purchases .v720-totalrow{padding:8px 0!important}
  body.lab-visual-v5 #purchases .v720-confirm{min-height:43px}
  body.lab-visual-v5 #purchases .v720-history-row,body.lab-visual-v5 #purchases .v720-pending-row{padding:9px 0!important;gap:7px}

  /* Más */
  body.lab-visual-v5 #more .tool-grid{grid-template-columns:1fr!important;gap:6px}
  body.lab-visual-v5 #more .tool-card{min-height:59px;padding:9px 10px;border-radius:12px}
  body.lab-visual-v5 #more .tool-card>span{width:34px;height:34px;border-radius:10px;font-size:.92rem}
  body.lab-visual-v5 #more .tool-card strong{font-size:.76rem}
  body.lab-visual-v5 #more .tool-card small{font-size:.59rem;margin-top:1px}

  /* Historial */
  body.lab-visual-v5 .activity-filters{padding:9px;gap:8px;margin-bottom:7px}
  body.lab-visual-v5 .activity-summary-grid{gap:6px;margin-bottom:7px}
  body.lab-visual-v5 .activity-summary-grid .summary-card{padding:9px;border-radius:11px}
  body.lab-visual-v5 .activity-summary-grid strong{font-size:1rem}
  body.lab-visual-v5 .activity-card{padding:9px}
  body.lab-visual-v5 .activity-row{padding:8px 0;gap:8px}

  /* Diálogos más aprovechables */
  body.lab-visual-v5 dialog:not(.product-detail-dialog){max-width:calc(100vw - 16px);max-height:calc(100dvh - 20px);margin:auto;border-radius:16px}
  body.lab-visual-v5 .dialogform{padding:13px}
}

@media(max-width:390px){
  body.lab-visual-v5 .content-shell main{padding-left:7px;padding-right:7px}
  body.lab-visual-v5 .inventory-product-media{height:114px!important}
  body.lab-visual-v5 .inventory-product-copy{min-height:99px!important;padding:7px!important}
  body.lab-visual-v5 .inventory-product-title{font-size:.70rem!important}
  body.lab-visual-v5 .lab-v5-metric{padding:7px 8px}
  body.lab-visual-v5 #purchases .v720-fields{grid-template-columns:1fr!important}
  body.lab-visual-v5 .sales-primary-card small,body.lab-visual-v5 .sales-secondary-card small{display:none}
}


/* =========================================================
   V5 · PULIDO BASADO EN REVISION MOVIL REAL
   ========================================================= */

/* Cabecera: más discreta, más área útil */
@media(max-width:780px){
  body.lab-visual-v5 .topbar{min-height:44px;padding:6px 8px}
  body.lab-visual-v5 .topbar h1{font-size:.88rem}
  body.lab-visual-v5 .user-badge{max-width:46vw;padding:4px 7px;font-size:.56rem;background:#f1f5f9;color:#475569;border-color:#e2e8f0}
  body.lab-visual-v5 #logoutBtn{width:30px;height:30px;background:#e9edf3}
  body.lab-visual-v5 .content-shell main{padding-top:8px}
}

/* Inicio: mantener jerarquía aprobada y reducir ruido */
@media(max-width:780px){
  body.lab-visual-v5 .home-shift-priority{box-shadow:0 3px 14px rgba(15,23,42,.04)}
  body.lab-visual-v5 .lab-v5-seller-summary{box-shadow:0 3px 14px rgba(15,23,42,.04)}
  body.lab-visual-v5 .lab-v5-summary-head .eyebrow{font-size:.54rem}
  body.lab-visual-v5 .lab-v5-pending{min-height:43px}
}

/* Inventario: buscador + acciones sin botón azul huérfano */
@media(max-width:780px){
  body.lab-visual-v5 #inventory .inventory-catalog-toolbar{top:44px;padding:7px}
  body.lab-visual-v5 #inventory .inventory-search-line{
    display:grid!important;grid-template-columns:minmax(0,1fr) 42px!important;gap:6px!important
  }
  body.lab-visual-v5 #inventory .inventory-search-box{grid-column:1/-1!important;min-height:42px}
  body.lab-visual-v5 #inventory #cameraBtn{grid-column:1!important;width:100%!important;min-height:39px}
  body.lab-visual-v5 #inventory .inventory-add-btn{
    grid-column:2!important;width:42px!important;min-width:42px!important;min-height:39px!important;
    padding:0!important;font-size:0!important;display:grid;place-items:center;border-radius:10px
  }
  body.lab-visual-v5 #inventory .inventory-add-btn:before{content:"＋";font-size:1.1rem!important;line-height:1;font-weight:900}
  body.lab-visual-v5 #inventory .inventory-add-btn span{display:none!important}
  body.lab-visual-v5 #inventory .inventory-search-line.v5-no-add{grid-template-columns:1fr!important}
  body.lab-visual-v5 #inventory .inventory-search-line.v5-no-add #cameraBtn{grid-column:1/-1!important}
  body.lab-visual-v5 #inventory .inventory-category-row{margin-top:6px}
  body.lab-visual-v5 #inventory .inventory-category-chip{min-height:32px;padding:5px 9px;font-size:.58rem;border-radius:9px}
  body.lab-visual-v5 #inventory .inventory-filter-btn{height:32px;min-height:32px}
  body.lab-visual-v5 #inventory .inventory-catalog-grid{gap:7px!important}
  body.lab-visual-v5 #inventory .inventory-product-card{border-radius:12px!important;box-shadow:0 2px 10px rgba(15,23,42,.045)}
  body.lab-visual-v5 #inventory .inventory-product-media{height:116px!important;padding:5px!important;background:#fff!important}
  body.lab-visual-v5 #inventory .visual-image-box{background:#fff!important}
  body.lab-visual-v5 #inventory .inventory-product-copy{min-height:92px!important;padding:7px 7px 8px!important;gap:2px!important}
  body.lab-visual-v5 #inventory .inventory-product-title{font-size:.72rem!important;line-height:1.13!important;min-height:1.62em}
  body.lab-visual-v5 #inventory .inventory-product-stock{font-size:.59rem!important;line-height:1.15}
  body.lab-visual-v5 #inventory .inventory-product-price{font-size:.82rem!important;margin-top:auto!important}
  body.lab-visual-v5 #inventory .inventory-stock-badge{right:6px!important;top:6px!important;height:21px!important;min-width:23px!important;border-radius:6px!important;font-size:.52rem!important}
  body.lab-visual-v5 #inventory .inventory-card-arrow{display:none!important}
}
@media(max-width:390px){
  body.lab-visual-v5 #inventory .inventory-product-media{height:108px!important}
  body.lab-visual-v5 #inventory .inventory-product-copy{min-height:88px!important}
}

/* Ventas: resumen y listado más tipo POS, menos formulario largo */
@media(max-width:780px){
  body.lab-visual-v5 #salesLanding .sales-actions-grid{margin-bottom:8px}
  body.lab-visual-v5 .sales-primary-card,body.lab-visual-v5 .sales-secondary-card{min-height:70px;padding:9px;border-radius:12px}
  body.lab-visual-v5 .sales-history-card{padding:9px!important;margin-top:8px!important}
  body.lab-visual-v5 .sales-history-card .section-head{
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:end!important;gap:8px!important;margin-bottom:7px
  }
  body.lab-visual-v5 .sales-history-card .section-head h3{font-size:.92rem;margin:0}
  body.lab-visual-v5 .sales-history-card .section-head p{display:none!important}
  body.lab-visual-v5 #salesHistoryTotal{font-size:1rem;white-space:nowrap}
  body.lab-visual-v5 .sales-history-card .finance-filter-row{display:grid!important;grid-template-columns:1fr!important;gap:5px!important}
  body.lab-visual-v5 .sales-history-card .compact-filter{
    display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:8px!important;font-size:.58rem!important
  }
  body.lab-visual-v5 .sales-history-card .compact-filter select{min-height:34px;padding:6px 9px;font-size:.68rem}
  body.lab-visual-v5 .sales-history-card .period-chips{padding-bottom:1px}
  body.lab-visual-v5 .sales-history-card .period-chip{font-size:.56rem;padding:5px 8px;min-height:30px}
  body.lab-visual-v5 .sales-history-list{margin-top:4px}
  body.lab-visual-v5 .sales-history-row{
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;
    padding:8px 2px!important;border-radius:0!important
  }
  body.lab-visual-v5 .sales-history-row span:first-child strong{font-size:.76rem}
  body.lab-visual-v5 .sales-history-row small{font-size:.57rem!important;line-height:1.2;margin-top:2px!important}
  body.lab-visual-v5 .sales-history-row span:last-child{display:block!important;text-align:right!important;white-space:nowrap}
  body.lab-visual-v5 .sales-history-row span:last-child strong{font-size:.82rem}
}

/* Gastos y salidas: menos texto, filtros más compactos */
@media(max-width:780px){
  body.lab-visual-v5 #expenses .expense-toolbar{margin-bottom:7px}
  body.lab-visual-v5 #expenses #newExpenseBtn{min-height:40px;font-size:.74rem}
  body.lab-visual-v5 #v72910MoneyPanel{padding:9px!important;margin:7px 0 9px!important;border-radius:13px!important}
  body.lab-visual-v5 #v72910MoneyPanel>.section-head{display:grid!important;grid-template-columns:minmax(0,1fr) 32px!important;gap:7px!important;align-items:start!important}
  body.lab-visual-v5 #v72910MoneyPanel>.section-head h3{font-size:.9rem;margin:2px 0 0}
  body.lab-visual-v5 #v72910MoneyPanel>.section-head p{font-size:.60rem;line-height:1.3;margin:4px 0 0}
  body.lab-visual-v5 #v72910Refresh{width:32px;height:32px;padding:0!important;font-size:0!important;border-radius:9px}
  body.lab-visual-v5 #v72910Refresh:before{content:"↻";font-size:.95rem}
  body.lab-visual-v5 .v72910-type-chips{gap:5px;margin:8px 0 6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  body.lab-visual-v5 .v72910-type-chips::-webkit-scrollbar{display:none}
  body.lab-visual-v5 .v72910-type-chips .period-chip{font-size:.55rem;padding:5px 7px;min-height:29px}
  body.lab-visual-v5 .v72910-filter-row{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;margin-bottom:7px}
  body.lab-visual-v5 .v72910-filter-row .compact-filter{display:grid!important;grid-template-columns:auto 1fr!important;align-items:center!important;gap:8px!important;font-size:.57rem}
  body.lab-visual-v5 .v72910-filter-row select{min-height:34px;padding:6px 8px;font-size:.67rem}
  body.lab-visual-v5 .v72910-summary-grid{gap:6px!important;margin:8px 0!important}
  body.lab-visual-v5 .v72910-summary-grid .summary-card{min-height:75px!important;padding:8px!important;border-radius:11px!important}
  body.lab-visual-v5 .v72910-summary-grid .summary-card span{font-size:.60rem}
  body.lab-visual-v5 .v72910-summary-grid .summary-card strong{font-size:.94rem!important;margin-top:3px}
  body.lab-visual-v5 .v72910-summary-grid .summary-card small{font-size:.54rem;line-height:1.15}
  body.lab-visual-v5 .v72910-source-summary{display:flex!important;gap:8px!important;padding:7px 0 9px!important;font-size:.62rem}
  body.lab-visual-v5 .v72910-source-summary .muted{flex-basis:100%;font-size:.55rem}
  body.lab-visual-v5 .v72910-list{gap:5px!important;padding-top:7px!important}
  body.lab-visual-v5 .v72910-row{grid-template-columns:32px minmax(0,1fr) auto!important;gap:7px!important;padding:8px!important;border-radius:11px!important}
  body.lab-visual-v5 .v72910-row-icon{width:30px;height:30px;border-radius:9px;font-size:.83rem}
  body.lab-visual-v5 .v72910-row-main{gap:1px}
  body.lab-visual-v5 .v72910-row-title strong{font-size:.68rem}
  body.lab-visual-v5 .v72910-row-title span{font-size:.52rem;padding:2px 5px}
  body.lab-visual-v5 .v72910-row-main>div:not(.v72910-row-title){font-size:.62rem}
  body.lab-visual-v5 .v72910-row-main small{font-size:.52rem;line-height:1.2}
  body.lab-visual-v5 .v72910-accounting{display:none!important}
  body.lab-visual-v5 .v72910-out{grid-column:3!important;grid-row:1!important;align-self:center!important;justify-self:end!important;font-size:.74rem!important}
  body.lab-visual-v5 .v72910-operating-expense-admin{margin-top:8px}
}

/* Más: grupos claros, sin títulos vacíos */
body.lab-visual-v5 .lab-v5-tool-section[hidden]{display:none!important}
@media(max-width:780px){
  body.lab-visual-v5 #more .tool-grid{gap:5px!important}
  body.lab-visual-v5 #more .lab-v5-tool-section{margin:8px 3px 0!important;font-size:.57rem!important}
  body.lab-visual-v5 #more .tool-card{min-height:56px!important;padding:8px 9px!important}
  body.lab-visual-v5 #more .tool-card>span{width:32px!important;height:32px!important;font-size:.86rem!important}
  body.lab-visual-v5 #more .tool-card strong{font-size:.72rem!important}
  body.lab-visual-v5 #more .tool-card small{font-size:.56rem!important}
}

/* Barra inferior aprobada: conservar auto-ocultado, solo pulir lectura */
@media(max-width:780px){
  body.lab-visual-v5 .mobile-nav-btn small{font-size:.56rem;font-weight:760}
  body.lab-visual-v5 .mobile-nav-btn span{font-size:.98rem}
}

/* =========================================================
   V5 · PULIDO GLOBAL + MODO OSCURO + ESCANER COMPACTO
   Basado en revisión móvil real del vendedor.
   ========================================================= */

/* Botón de tema en cabecera */
body.lab-visual-v5 #labV5ThemeToggle{
  width:30px;height:30px;min-width:30px;padding:0;border-radius:9px;
  display:grid;place-items:center;background:#eef2f7;color:#334155;
  border:1px solid #e2e8f0;box-shadow:none;font-size:.86rem
}
body.lab-visual-v5 #labV5ThemeToggle:hover{background:#e2e8f0}

/* Inventario: acciones compactas, sin botón azul huérfano */
@media(max-width:780px){
  body.lab-visual-v5 #inventory .inventory-search-line{
    display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:6px!important
  }
  body.lab-visual-v5 #inventory .inventory-search-box{flex:1 0 100%!important;width:100%!important}
  body.lab-visual-v5 #inventory #cameraBtn{
    flex:0 0 auto!important;width:auto!important;min-width:112px!important;min-height:34px!important;
    padding:7px 12px!important;font-size:.62rem!important;border-radius:9px!important
  }
  body.lab-visual-v5 #inventory .inventory-add-btn{
    flex:0 0 auto!important;width:auto!important;min-width:92px!important;min-height:34px!important;
    padding:7px 11px!important;font-size:.62rem!important;border-radius:9px!important;
    display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important
  }
  body.lab-visual-v5 #inventory .inventory-add-btn:before{content:none!important}
  body.lab-visual-v5 #inventory .inventory-add-btn span{display:inline!important}
  body.lab-visual-v5 #inventory .inventory-search-line.v5-no-add #cameraBtn{width:auto!important;min-width:112px!important}
  body.lab-visual-v5 #inventory .inventory-category-row{margin-top:4px!important}
  body.lab-visual-v5 #inventory .inventory-category-chips{padding-bottom:1px!important}
}

/* Gastos: estado vacío más compacto */
@media(max-width:780px){
  body.lab-visual-v5 #expenses .expense-list-card,
  body.lab-visual-v5 #expenses .expense-history-card{min-height:0!important}
  body.lab-visual-v5 #expenses .empty-pending{min-height:112px!important;padding:14px!important}
  body.lab-visual-v5 #expenses .empty-pending span{font-size:1.35rem!important}
  body.lab-visual-v5 #expenses .empty-pending strong{font-size:.8rem!important}
  body.lab-visual-v5 #expenses .empty-pending small{font-size:.62rem!important}
}

/* Más: no repetir Gastos para vendedor, ya está en barra inferior */
body.lab-visual-v5.role-seller #more .tool-card.v5-redundant-tool{display:none!important}

/* Venta: filas táctiles sin volverlas gigantes */
@media(max-width:780px){
  body.lab-visual-v5 .sales-history-row{min-height:44px!important}
  body.lab-visual-v5 .sales-history-row span:first-child{min-width:0}
  body.lab-visual-v5 .sales-history-row span:first-child small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
}

/* Escáner de compra: modal compacto tipo hoja, no pantalla negra completa */
.v7247-scan-modal{
  background:rgba(15,23,42,.74)!important;
  padding:14px!important;
  justify-content:center!important;
  align-items:center!important;
  backdrop-filter:blur(5px)!important
}
.v7247-scan-head,.v7247-stage,.v7247-status,.v7247-actions{width:min(100%,430px)!important;max-width:430px!important}
.v7247-scan-head{margin:0 auto 8px!important;padding:9px 10px!important;background:#111827!important;border-radius:14px 14px 0 0!important}
.v7247-scan-title{font-size:.92rem!important;line-height:1.2!important}
.v7247-close{padding:7px 10px!important;font-size:.82rem!important}
.v7247-stage{
  flex:0 0 auto!important;height:min(38dvh,300px)!important;min-height:210px!important;max-height:300px!important;
  margin:0 auto!important;border-radius:0!important;background:#050505!important
}
.v7247-guide{left:10%!important;right:10%!important;height:100px!important;border-width:2px!important;border-radius:13px!important}
.v7247-line{left:12%!important;right:12%!important;height:2px!important}
.v7247-status{
  margin:0 auto!important;padding:10px 12px!important;min-height:44px!important;background:#111827!important;
  font-size:.72rem!important;line-height:1.3!important;text-align:left!important
}
.v7247-actions{margin:0 auto!important;padding:0 10px 10px!important;background:#111827!important;border-radius:0 0 14px 14px!important;gap:7px!important}
.v7247-actions button{min-height:40px!important;border-radius:10px!important;font-size:.72rem!important}

/* Videos integrados del inventario/venta también contenidos */
@media(max-width:780px){
  body.lab-visual-v5 .inventory-camera-zone video,
  body.lab-visual-v5 #saleVideo,
  body.lab-visual-v5 #entryVideo,
  body.lab-visual-v5 #newProductVideo{max-height:225px!important;object-fit:cover!important;border-radius:11px!important}
}

/* =========================================================
   MODO OSCURO. Solo presentación; preferencia guardada local.
   ========================================================= */
body.lab-visual-v5.lab-theme-dark{
  --v5-ink:#f8fafc;
  --v5-text:#e5e7eb;
  --v5-muted:#94a3b8;
  --v5-line:#334155;
  --v5-soft:#0b1220;
  --v5-surface:#111827;
  --app-bg:#0b1220;
  --app-surface:#111827;
  --app-border:#334155;
  --app-text:#e5e7eb;
  --app-muted:#94a3b8;
  background:#0b1220!important;color:#e5e7eb!important
}
body.lab-visual-v5.lab-theme-dark .content-shell,
body.lab-visual-v5.lab-theme-dark .content-shell main{background:#0b1220!important}
body.lab-visual-v5.lab-theme-dark .topbar{background:rgba(15,23,42,.96)!important;border-color:#273449!important;color:#f8fafc!important}
body.lab-visual-v5.lab-theme-dark .topbar h1,
body.lab-visual-v5.lab-theme-dark .page-heading h2,
body.lab-visual-v5.lab-theme-dark h1,
body.lab-visual-v5.lab-theme-dark h2,
body.lab-visual-v5.lab-theme-dark h3,
body.lab-visual-v5.lab-theme-dark h4{color:#f8fafc!important}
body.lab-visual-v5.lab-theme-dark .muted,
body.lab-visual-v5.lab-theme-dark small,
body.lab-visual-v5.lab-theme-dark .eyebrow{color:#94a3b8!important}
body.lab-visual-v5.lab-theme-dark .card,
body.lab-visual-v5.lab-theme-dark .v720-card,
body.lab-visual-v5.lab-theme-dark .tool-card,
body.lab-visual-v5.lab-theme-dark .sales-secondary-card,
body.lab-visual-v5.lab-theme-dark .sales-history-card,
body.lab-visual-v5.lab-theme-dark .pos-search-card,
body.lab-visual-v5.lab-theme-dark .sale-cart-card,
body.lab-visual-v5.lab-theme-dark .sale-summary-card,
body.lab-visual-v5.lab-theme-dark .inventory-product-card,
body.lab-visual-v5.lab-theme-dark .product-detail-shell,
body.lab-visual-v5.lab-theme-dark .dialogform,
body.lab-visual-v5.lab-theme-dark dialog,
body.lab-visual-v5.lab-theme-dark .permission-group{
  background:#111827!important;border-color:#334155!important;color:#e5e7eb!important
}
body.lab-visual-v5.lab-theme-dark input,
body.lab-visual-v5.lab-theme-dark select,
body.lab-visual-v5.lab-theme-dark textarea{
  background:#0f172a!important;color:#f8fafc!important;border-color:#3b4a60!important
}
body.lab-visual-v5.lab-theme-dark input::placeholder,
body.lab-visual-v5.lab-theme-dark textarea::placeholder{color:#64748b!important}
body.lab-visual-v5.lab-theme-dark .secondary,
body.lab-visual-v5.lab-theme-dark .inventory-category-chip,
body.lab-visual-v5.lab-theme-dark .period-chip,
body.lab-visual-v5.lab-theme-dark .pick-item{
  background:#1e293b!important;color:#e5e7eb!important;border-color:#334155!important
}
body.lab-visual-v5.lab-theme-dark .inventory-category-chip.active,
body.lab-visual-v5.lab-theme-dark .period-chip.active{background:#2563eb!important;color:#fff!important;border-color:#2563eb!important}
body.lab-visual-v5.lab-theme-dark .inventory-search-box,
body.lab-visual-v5.lab-theme-dark .inventory-search-box input{background:#0f172a!important;color:#f8fafc!important}
body.lab-visual-v5.lab-theme-dark .inventory-product-media{background:#e5e7eb!important;border-color:#334155!important}
body.lab-visual-v5.lab-theme-dark .inventory-product-copy,
body.lab-visual-v5.lab-theme-dark .inventory-product-title,
body.lab-visual-v5.lab-theme-dark .inventory-product-price{color:#f8fafc!important}
body.lab-visual-v5.lab-theme-dark .lab-v5-metric,
body.lab-visual-v5.lab-theme-dark .shift-summary-grid>div,
body.lab-visual-v5.lab-theme-dark .manager-daily-grid>div,
body.lab-visual-v5.lab-theme-dark .product-detail-primary,
body.lab-visual-v5.lab-theme-dark .product-detail-history,
body.lab-visual-v5.lab-theme-dark .optional,
body.lab-visual-v5.lab-theme-dark .stock-panel,
body.lab-visual-v5.lab-theme-dark .expense-smart-box,
body.lab-visual-v5.lab-theme-dark .work-calendar{
  background:#0f172a!important;border-color:#334155!important;color:#e5e7eb!important
}
body.lab-visual-v5.lab-theme-dark .lab-v5-expected{background:#10213e!important;border-color:#244878!important}
body.lab-visual-v5.lab-theme-dark .lab-v5-expected.is-negative{background:#34151b!important;border-color:#6b2733!important}
body.lab-visual-v5.lab-theme-dark .lab-v5-pending{background:#0f172a!important;border-color:#334155!important;color:#e5e7eb!important}
body.lab-visual-v5.lab-theme-dark .lab-v5-pending strong{background:#172554!important;color:#bfdbfe!important}
body.lab-visual-v5.lab-theme-dark .home-shift-priority{background:#111827!important;border-color:#334155!important}
body.lab-visual-v5.lab-theme-dark .home-shift-active{background:#10231a!important;border-color:#24543a!important}
body.lab-visual-v5.lab-theme-dark .home-shift-empty{background:#2a1e0c!important;border-color:#6b4a17!important}
body.lab-visual-v5.lab-theme-dark .sales-history-row,
body.lab-visual-v5.lab-theme-dark .pending-sale-row,
body.lab-visual-v5.lab-theme-dark .expense-item,
body.lab-visual-v5.lab-theme-dark .v72910-row,
body.lab-visual-v5.lab-theme-dark .v720-history-row,
body.lab-visual-v5.lab-theme-dark .v720-pending-row{border-color:#273449!important;color:#e5e7eb!important}
body.lab-visual-v5.lab-theme-dark .v72910-summary-grid .summary-card{background:#0f172a!important;border-color:#334155!important}
body.lab-visual-v5.lab-theme-dark .tool-card>span{background:#1e293b!important}
body.lab-visual-v5.lab-theme-dark .user-badge{background:#1e293b!important;color:#e2e8f0!important;border-color:#334155!important}
body.lab-visual-v5.lab-theme-dark #logoutBtn,
body.lab-visual-v5.lab-theme-dark #labV5ThemeToggle{background:#1e293b!important;color:#e5e7eb!important;border-color:#334155!important}
body.lab-visual-v5.lab-theme-dark .mobile-nav{background:rgba(15,23,42,.97)!important;border-color:#334155!important;box-shadow:0 -10px 30px rgba(0,0,0,.28)!important}
body.lab-visual-v5.lab-theme-dark .mobile-nav-btn{color:#94a3b8!important;background:transparent!important}
body.lab-visual-v5.lab-theme-dark .mobile-nav-btn.active{color:#fff!important;background:#2563eb!important}
body.lab-visual-v5.lab-theme-dark dialog::backdrop{background:rgba(0,0,0,.68)!important}
body.lab-visual-v5.lab-theme-dark .lab-v5-badge{background:#2b1c0e!important;border-color:#7c4a18!important;color:#fdba74!important}

@media(max-width:780px){
  body.lab-visual-v5.lab-theme-dark .content-shell main{background:#0b1220!important}
}

/* =========================================================
   APP TIENDA · V6 · PULIDO VISUAL PREMIUM
   Mantiene V5 y mejora profundidad, dark mode y escáner.
   ========================================================= */

/* Superficies y contornos: menos "caja con borde", más profundidad */
body.lab-visual-v5{
  --v6-bg:#f3f6fa;
  --v6-surface:#ffffff;
  --v6-surface-2:#f8fafc;
  --v6-line:rgba(100,116,139,.20);
  --v6-shadow:0 8px 24px rgba(15,23,42,.055);
  background:linear-gradient(180deg,#f7f9fc 0%,#f2f5f9 100%)!important;
}
body.lab-visual-v5 .content-shell,
body.lab-visual-v5 .content-shell main{background:transparent!important}
body.lab-visual-v5 .card,
body.lab-visual-v5 .tool-card,
body.lab-visual-v5 .sales-secondary-card,
body.lab-visual-v5 .sales-history-card,
body.lab-visual-v5 .pos-search-card,
body.lab-visual-v5 .sale-cart-card,
body.lab-visual-v5 .sale-summary-card,
body.lab-visual-v5 .inventory-product-card,
body.lab-visual-v5 .cash-current-card,
body.lab-visual-v5 .cash-manager-card,
body.lab-visual-v5 .cash-history-card,
body.lab-visual-v5 .shift-sales-card,
body.lab-visual-v5 .v720-card{
  border-color:var(--v6-line)!important;
  box-shadow:var(--v6-shadow)!important;
}
body.lab-visual-v5 .tool-card,
body.lab-visual-v5 .inventory-product-card{transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}
@media(hover:hover){
  body.lab-visual-v5 .tool-card:hover,
  body.lab-visual-v5 .inventory-product-card:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(15,23,42,.085)!important}
}

/* Chips y botones secundarios más refinados */
body.lab-visual-v5 .secondary,
body.lab-visual-v5 .inventory-category-chip,
body.lab-visual-v5 .period-chip{
  border-color:rgba(100,116,139,.20)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}
body.lab-visual-v5 button:not(.danger):focus-visible,
body.lab-visual-v5 input:focus-visible,
body.lab-visual-v5 select:focus-visible,
body.lab-visual-v5 textarea:focus-visible{
  outline:2px solid rgba(37,99,235,.35)!important;
  outline-offset:2px!important;
}

/* Inventario: tarjeta algo más rica sin ocupar más */
@media(max-width:780px){
  body.lab-visual-v5 #inventory .inventory-product-card{
    border-color:rgba(100,116,139,.18)!important;
    box-shadow:0 5px 16px rgba(15,23,42,.07)!important;
    overflow:hidden!important;
  }
  body.lab-visual-v5 #inventory .inventory-product-copy{background:linear-gradient(180deg,#fff,#fbfcfe)!important}
  body.lab-visual-v5 #inventory .inventory-product-price{letter-spacing:-.01em}
  body.lab-visual-v5 #inventory .inventory-product-stock{font-weight:650}
}

/* =========================================================
   ESCÁNER TRANSPARENTE
   La cámara es el fondo. Sin panel negro rectangular.
   ========================================================= */
.v7247-scan-modal{
  background:rgba(9,14,22,.36)!important;
  backdrop-filter:blur(3px)!important;
  -webkit-backdrop-filter:blur(3px)!important;
  justify-content:center!important;
  align-items:center!important;
  gap:10px!important;
  padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))!important;
}
.v7247-scan-head,
.v7247-stage,
.v7247-status,
.v7247-actions{width:min(94vw,390px)!important;max-width:390px!important}
.v7247-scan-head{
  margin:0!important;padding:0 2px!important;background:transparent!important;
  border-radius:0!important;text-shadow:0 1px 10px rgba(0,0,0,.55)
}
.v7247-scan-title{font-size:.88rem!important;font-weight:850!important;color:#fff!important}
.v7247-close{
  width:34px!important;height:34px!important;padding:0!important;display:grid!important;place-items:center!important;
  background:rgba(15,23,42,.58)!important;border:1px solid rgba(255,255,255,.18)!important;
  backdrop-filter:blur(8px)!important;color:#fff!important
}
.v7247-stage{
  flex:0 0 auto!important;height:min(35dvh,245px)!important;min-height:180px!important;max-height:245px!important;
  margin:0!important;border-radius:20px!important;background:transparent!important;
  overflow:hidden!important;box-shadow:none!important;border:0!important
}
.v7247-stage video{
  border-radius:20px!important;background:transparent!important;
  box-shadow:0 10px 32px rgba(0,0,0,.16)!important
}
.v7247-guide{
  left:14%!important;right:14%!important;top:50%!important;height:84px!important;
  border:2px solid rgba(255,255,255,.96)!important;border-radius:14px!important;
  box-shadow:0 0 0 1px rgba(0,0,0,.18),0 0 22px rgba(255,255,255,.12)!important;
  background:transparent!important
}
.v7247-line{
  left:17%!important;right:17%!important;height:2px!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent)!important;
  box-shadow:0 0 10px rgba(255,255,255,.35)!important
}
.v7247-status{
  margin:0!important;padding:8px 11px!important;min-height:0!important;
  background:rgba(15,23,42,.62)!important;border:1px solid rgba(255,255,255,.12)!important;
  border-radius:11px!important;color:#fff!important;font-size:.66rem!important;line-height:1.28!important;
  text-align:center!important;backdrop-filter:blur(9px)!important
}
.v7247-actions{
  margin:0!important;padding:0!important;background:transparent!important;border-radius:0!important;
  gap:8px!important
}
.v7247-actions button{
  min-height:39px!important;border-radius:11px!important;font-size:.70rem!important;
  border:1px solid rgba(255,255,255,.14)!important;box-shadow:0 6px 18px rgba(0,0,0,.14)!important
}
.v7247-manual{background:rgba(30,41,59,.82)!important;backdrop-filter:blur(8px)!important}
.v7247-cancel{background:rgba(185,48,48,.90)!important}
/* Si el navegador no puede abrir la cámara, no mostrar un rectángulo inútil. */
.v7247-scan-modal.v6-camera-error .v7247-stage{display:none!important}
.v7247-scan-modal.v6-camera-error{background:rgba(9,14,22,.56)!important}
.v7247-scan-modal.v6-camera-error .v7247-status{max-width:340px!important}
.v7247-scan-modal.v6-camera-error .v7247-actions{max-width:340px!important}

/* Cámaras internas: sin fondo negro rígido */
body.lab-visual-v5 .inventory-camera-zone,
body.lab-visual-v5 .sale-camera-zone{background:transparent!important;border-color:transparent!important}
body.lab-visual-v5 .inventory-camera-zone video,
body.lab-visual-v5 #saleVideo,
body.lab-visual-v5 #entryVideo,
body.lab-visual-v5 #newProductVideo{background:transparent!important;box-shadow:0 8px 24px rgba(15,23,42,.16)}

/* =========================================================
   DARK MODE V6 · azul-gris, menos negro, más profundidad.
   ========================================================= */
body.lab-visual-v5.lab-theme-dark{
  --v5-ink:#f7f9fc;
  --v5-text:#e8edf4;
  --v5-muted:#a8b3c2;
  --v5-line:#3b485a;
  --v5-soft:#171e29;
  --v5-surface:#202936;
  --app-bg:#171e29;
  --app-surface:#202936;
  --app-border:#3b485a;
  --app-text:#e8edf4;
  --app-muted:#a8b3c2;
  --v6-dark-bg:#171e29;
  --v6-dark-surface:#202936;
  --v6-dark-surface-2:#263140;
  --v6-dark-line:rgba(148,163,184,.24);
  background:linear-gradient(180deg,#1a2230 0%,#151c27 100%)!important;
  color:#e8edf4!important;
}
body.lab-visual-v5.lab-theme-dark .content-shell,
body.lab-visual-v5.lab-theme-dark .content-shell main{background:transparent!important}
body.lab-visual-v5.lab-theme-dark .topbar{
  background:rgba(29,38,51,.94)!important;
  border-color:rgba(148,163,184,.18)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.025),0 8px 20px rgba(0,0,0,.10)!important;
  backdrop-filter:blur(14px)!important
}
body.lab-visual-v5.lab-theme-dark .card,
body.lab-visual-v5.lab-theme-dark .v720-card,
body.lab-visual-v5.lab-theme-dark .tool-card,
body.lab-visual-v5.lab-theme-dark .sales-secondary-card,
body.lab-visual-v5.lab-theme-dark .sales-history-card,
body.lab-visual-v5.lab-theme-dark .pos-search-card,
body.lab-visual-v5.lab-theme-dark .sale-cart-card,
body.lab-visual-v5.lab-theme-dark .sale-summary-card,
body.lab-visual-v5.lab-theme-dark .inventory-product-card,
body.lab-visual-v5.lab-theme-dark .product-detail-shell,
body.lab-visual-v5.lab-theme-dark .dialogform,
body.lab-visual-v5.lab-theme-dark dialog,
body.lab-visual-v5.lab-theme-dark .permission-group,
body.lab-visual-v5.lab-theme-dark .cash-current-card,
body.lab-visual-v5.lab-theme-dark .cash-manager-card,
body.lab-visual-v5.lab-theme-dark .cash-history-card,
body.lab-visual-v5.lab-theme-dark .shift-sales-card{
  background:linear-gradient(180deg,#222c3a 0%,#1f2835 100%)!important;
  border-color:var(--v6-dark-line)!important;
  color:#e8edf4!important;
  box-shadow:0 8px 22px rgba(3,8,16,.18),inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body.lab-visual-v5.lab-theme-dark .tool-card{background:#222c3a!important}
body.lab-visual-v5.lab-theme-dark input,
body.lab-visual-v5.lab-theme-dark select,
body.lab-visual-v5.lab-theme-dark textarea,
body.lab-visual-v5.lab-theme-dark .inventory-search-box,
body.lab-visual-v5.lab-theme-dark .inventory-search-box input{
  background:#192230!important;color:#f2f5f9!important;border-color:rgba(148,163,184,.24)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02)!important
}
body.lab-visual-v5.lab-theme-dark input::placeholder,
body.lab-visual-v5.lab-theme-dark textarea::placeholder{color:#8492a6!important}
body.lab-visual-v5.lab-theme-dark .secondary,
body.lab-visual-v5.lab-theme-dark .inventory-category-chip,
body.lab-visual-v5.lab-theme-dark .period-chip,
body.lab-visual-v5.lab-theme-dark .pick-item{
  background:#2a3545!important;color:#e7ecf3!important;border-color:rgba(148,163,184,.19)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important
}
body.lab-visual-v5.lab-theme-dark .inventory-category-chip.active,
body.lab-visual-v5.lab-theme-dark .period-chip.active{
  background:linear-gradient(180deg,#3478f6,#2867d8)!important;color:#fff!important;border-color:#4d83ea!important;
  box-shadow:0 5px 13px rgba(37,99,235,.22)!important
}
body.lab-visual-v5.lab-theme-dark .lab-v5-metric,
body.lab-visual-v5.lab-theme-dark .shift-summary-grid>div,
body.lab-visual-v5.lab-theme-dark .manager-daily-grid>div,
body.lab-visual-v5.lab-theme-dark .product-detail-primary,
body.lab-visual-v5.lab-theme-dark .product-detail-history,
body.lab-visual-v5.lab-theme-dark .optional,
body.lab-visual-v5.lab-theme-dark .stock-panel,
body.lab-visual-v5.lab-theme-dark .expense-smart-box,
body.lab-visual-v5.lab-theme-dark .work-calendar,
body.lab-visual-v5.lab-theme-dark .v72910-summary-grid .summary-card{
  background:#283343!important;border-color:rgba(148,163,184,.20)!important;color:#e8edf4!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important
}
body.lab-visual-v5.lab-theme-dark .lab-v5-expected{background:#213754!important;border-color:#34577e!important}
body.lab-visual-v5.lab-theme-dark .lab-v5-expected.is-negative{background:#43252c!important;border-color:#74404b!important}
body.lab-visual-v5.lab-theme-dark .lab-v5-pending{background:#263140!important;border-color:rgba(148,163,184,.20)!important;color:#e8edf4!important}
body.lab-visual-v5.lab-theme-dark .lab-v5-pending strong{background:#21365e!important;color:#c9dcff!important}
body.lab-visual-v5.lab-theme-dark .home-shift-priority{background:#202936!important;border-color:rgba(148,163,184,.20)!important}
body.lab-visual-v5.lab-theme-dark .home-shift-active{background:#20362d!important;border-color:#37634f!important}
body.lab-visual-v5.lab-theme-dark .home-shift-empty{background:#3a3020!important;border-color:#6c5933!important}

/* Ventas: eliminar filas blancas en modo oscuro */
body.lab-visual-v5.lab-theme-dark .sales-history-list{background:transparent!important}
body.lab-visual-v5.lab-theme-dark .sales-history-row{
  background:#222c3a!important;color:#e8edf4!important;
  border-bottom-color:rgba(148,163,184,.16)!important
}
body.lab-visual-v5.lab-theme-dark .sales-history-row:hover{background:#273343!important}
body.lab-visual-v5.lab-theme-dark .sales-history-row.cancelled,
body.lab-visual-v5.lab-theme-dark .sales-history-row.is-cancelled{background:#34282e!important}
body.lab-visual-v5.lab-theme-dark .sales-history-row span:last-child strong{color:#f8fafc!important}
body.lab-visual-v5.lab-theme-dark .sales-history-row.cancelled span:last-child strong{color:#d8a8af!important}

/* Gastos/salidas y compras: profundidad consistente */
body.lab-visual-v5.lab-theme-dark .expense-item,
body.lab-visual-v5.lab-theme-dark .v72910-row,
body.lab-visual-v5.lab-theme-dark .v720-history-row,
body.lab-visual-v5.lab-theme-dark .v720-pending-row,
body.lab-visual-v5.lab-theme-dark .pending-sale-row{
  background:#222c3a!important;border-color:rgba(148,163,184,.16)!important;color:#e8edf4!important
}
body.lab-visual-v5.lab-theme-dark .v72910-source-summary{border-color:rgba(148,163,184,.14)!important}

/* Inventario: superficie oscura rica, foto sigue neutra para identificar producto */
body.lab-visual-v5.lab-theme-dark #inventory .inventory-product-card{background:#222c3a!important;border-color:rgba(148,163,184,.21)!important}
body.lab-visual-v5.lab-theme-dark #inventory .inventory-product-copy{background:linear-gradient(180deg,#222c3a,#202936)!important}
body.lab-visual-v5.lab-theme-dark #inventory .inventory-product-media,
body.lab-visual-v5.lab-theme-dark #inventory .visual-image-box{background:#eef2f6!important;border-color:rgba(148,163,184,.18)!important}
body.lab-visual-v5.lab-theme-dark #inventory .inventory-product-stock{color:#49d783!important}
body.lab-visual-v5.lab-theme-dark #inventory .inventory-product-price{color:#fff!important}

/* Navegación inferior: menos borde blanco, más integrada */
body.lab-visual-v5.lab-theme-dark .mobile-nav{
  background:rgba(28,37,50,.95)!important;border-color:rgba(148,163,184,.20)!important;
  box-shadow:0 -10px 28px rgba(3,8,16,.26),inset 0 1px 0 rgba(255,255,255,.025)!important;
  backdrop-filter:blur(16px)!important
}
body.lab-visual-v5.lab-theme-dark .mobile-nav-btn{color:#9daabc!important;background:transparent!important;border:1px solid transparent!important}
body.lab-visual-v5.lab-theme-dark .mobile-nav-btn.active{
  color:#fff!important;background:linear-gradient(180deg,#3377f4,#2866d6)!important;
  border-color:rgba(130,168,255,.32)!important;
  box-shadow:0 7px 16px rgba(37,99,235,.25)!important
}
body.lab-visual-v5.lab-theme-dark.role-seller .mobile-nav-btn[data-tab="sales"]{
  border-color:rgba(130,168,255,.26)!important
}
body.lab-visual-v5.lab-theme-dark.role-seller .mobile-nav-btn[data-tab="sales"].active{
  outline:none!important;border-color:rgba(147,180,255,.42)!important
}
body.lab-visual-v5.lab-theme-dark #logoutBtn,
body.lab-visual-v5.lab-theme-dark #labV5ThemeToggle,
body.lab-visual-v5.lab-theme-dark .user-badge{
  background:#2a3545!important;color:#e7ecf3!important;border-color:rgba(148,163,184,.18)!important
}
body.lab-visual-v5.lab-theme-dark .lab-v5-badge{
  background:rgba(142,82,27,.23)!important;border-color:rgba(234,139,52,.45)!important;color:#ffc27a!important
}

/* Más: tarjetas ligeras, icono separado del contorno */
body.lab-visual-v5.lab-theme-dark #more .tool-card>span{background:#2b3748!important;border:1px solid rgba(148,163,184,.13)!important}

/* Móvil: un poco más de aire sin agrandar la interfaz */
@media(max-width:780px){
  body.lab-visual-v5 .content-shell main{padding-left:8px!important;padding-right:8px!important}
  body.lab-visual-v5 .card{border-radius:15px!important}
  body.lab-visual-v5.lab-theme-dark .content-shell main{background:transparent!important}
  body.lab-visual-v5.lab-theme-dark #salesLanding .sales-history-card{overflow:hidden!important}
}

/* =====================================================================
   V7 · PUNTO DE VENTA OPERATIVO
   Refinamiento del flujo vendedor: búsqueda, ticket, cobro y siguiente venta.
   No modifica endpoints ni reglas de negocio.
   ===================================================================== */
body.lab-visual-v7{
  --v7-pos-accent:#2563eb;
  --v7-pos-accent-2:#1d4ed8;
  --v7-success:#059669;
  --v7-warning:#d97706;
}

/* El área de venta se siente como una herramienta de trabajo, no como formulario. */
body.lab-visual-v7 #salesWorkspace .pos-search-card,
body.lab-visual-v7 #salesWorkspace .sale-cart-card,
body.lab-visual-v7 #salesWorkspace .sale-summary-card{
  border-width:1px;
}
body.lab-visual-v7 #salesWorkspace .sales-workspace-head{
  padding:2px 1px;
}
body.lab-visual-v7 #salesWorkspace .autosave-chip::first-letter{color:var(--v7-success)}

/* Botón de cobro siempre expresa el total actual. */
body.lab-visual-v7 #openPaymentBtn,
body.lab-visual-v7 #confirmSaleBtn{
  font-weight:900;
  letter-spacing:.01em;
}

/* Resultado de búsqueda: superficie táctil más cómoda. */
body.lab-visual-v7 .sale-search-item{
  min-height:62px;
  transition:border-color .15s ease,background .15s ease,transform .12s ease;
}
body.lab-visual-v7 .sale-search-item:active{transform:scale(.992)}
body.lab-visual-v7 .sale-search-item>b{font-size:.92rem;white-space:nowrap}

/* Ticket */
body.lab-visual-v7 .sale-line{
  border-radius:13px;
  padding:10px;
  border:1px solid rgba(148,163,184,.18);
  background:rgba(255,255,255,.62);
}
body.lab-visual-v7 .sale-line+.sale-line{margin-top:2px}
body.lab-visual-v7 .sale-line:last-child{border-bottom:1px solid rgba(148,163,184,.18)}
body.lab-visual-v7 .sale-line-controls button{
  min-width:42px;
  min-height:42px;
  font-size:1.1rem;
  border-radius:11px;
  font-weight:900;
}
body.lab-visual-v7 .sale-qty-input{
  min-height:42px;
  font-weight:850;
  border-radius:10px;
}
body.lab-visual-v7 .sale-remove-link{
  border-radius:8px;
  font-weight:800;
}
body.lab-visual-v7 .stock-negative-hint{
  display:inline-block!important;
  margin-top:5px!important;
  color:#b45309!important;
  font-weight:750;
}

/* Confirmación rápida tras una venta: una sola acción para iniciar la siguiente. */
body.lab-visual-v7 .lab-v7-next-sale{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  margin:0 0 9px;
  padding:10px 11px;
  border:1px solid #a7f3d0;
  border-radius:14px;
  background:linear-gradient(135deg,#ecfdf5,#f0fdf4);
  color:#065f46;
  box-shadow:0 5px 18px rgba(5,150,105,.08);
}
body.lab-visual-v7 .lab-v7-next-sale-icon{
  width:32px;height:32px;border-radius:10px;display:grid;place-items:center;
  background:#d1fae5;font-weight:1000;
}
body.lab-visual-v7 .lab-v7-next-sale strong,
body.lab-visual-v7 .lab-v7-next-sale small{display:block}
body.lab-visual-v7 .lab-v7-next-sale small{opacity:.78;margin-top:1px}
body.lab-visual-v7 .lab-v7-next-sale button{padding:8px 11px;min-height:38px}

/* ===================== COBRO ===================== */
body.lab-visual-v7 #paymentDialog::backdrop{
  background:rgba(15,23,42,.56);
  backdrop-filter:blur(4px);
}
body.lab-visual-v7 #paymentDialog .payment-total{
  border:1px solid #bfdbfe;
  background:linear-gradient(135deg,#eff6ff,#f8fbff);
  padding:15px 16px;
}
body.lab-visual-v7 #paymentDialog .payment-total span{
  font-size:.75rem;text-transform:uppercase;letter-spacing:.055em;font-weight:850;color:#64748b;
}
body.lab-visual-v7 #paymentDialog .payment-total strong{
  font-size:2rem;line-height:1;color:var(--v7-pos-accent-2);
}
body.lab-visual-v7 #paymentDialog .mixed-question{
  border:1px solid rgba(148,163,184,.22);
  border-radius:13px;
  padding:10px 11px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
body.lab-visual-v7 #paymentDialog .segmented-choice{
  display:flex;
  padding:3px;
  border-radius:10px;
  background:#eef2f7;
}
body.lab-visual-v7 #paymentDialog .segmented-choice label{cursor:pointer}
body.lab-visual-v7 #paymentDialog .segmented-choice input{position:absolute;opacity:0;pointer-events:none}
body.lab-visual-v7 #paymentDialog .segmented-choice span{
  display:block;padding:6px 12px;border-radius:8px;font-weight:850;font-size:.78rem;
}
body.lab-visual-v7 #paymentDialog .segmented-choice label:has(input:checked) span{
  background:#fff;color:#1d4ed8;box-shadow:0 1px 5px rgba(15,23,42,.09);
}
body.lab-visual-v7 #paymentDialog .payment-method-card{
  min-height:72px;
  border-width:1px;
  transition:transform .12s ease,border-color .15s ease,background .15s ease;
}
body.lab-visual-v7 #paymentDialog .payment-method-card:active{transform:scale(.985)}
body.lab-visual-v7 #paymentDialog .payment-method-card:has(input:checked){
  border-color:#60a5fa;
  box-shadow:0 0 0 2px rgba(37,99,235,.12);
}
body.lab-visual-v7 #paymentDialog .payment-fields label{font-weight:800}
body.lab-visual-v7 #paymentDialog .payment-fields input{
  min-height:50px;font-size:1.15rem;font-weight:900;
}
body.lab-visual-v7 #paymentDialog .quick-cash{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
body.lab-visual-v7 #paymentDialog .quick-cash button{
  min-height:42px;
  border-radius:10px;
  padding:7px 5px;
  font-weight:850;
}
body.lab-visual-v7 #paymentDialog .lab-v7-exact-cash{
  border-color:#93c5fd!important;
  color:#1d4ed8!important;
  background:#eff6ff!important;
}
body.lab-visual-v7 #paymentDialog .change-box,
body.lab-visual-v7 #paymentDialog .mixed-rest{
  min-height:52px;
  border:1px solid rgba(16,185,129,.18);
}
body.lab-visual-v7 #paymentDialog .change-box strong,
body.lab-visual-v7 #paymentDialog .mixed-rest strong{font-size:1.35rem}
body.lab-visual-v7 #paymentDialog #confirmSaleBtn{min-height:52px;font-size:1rem}

/* ===================== DARK POS ===================== */
body.lab-visual-v7.lab-theme-dark .sale-line{
  background:rgba(24,37,57,.72)!important;
  border-color:rgba(96,125,164,.28)!important;
}
body.lab-visual-v7.lab-theme-dark .stock-negative-hint{color:#fbbf24!important}
body.lab-visual-v7.lab-theme-dark .lab-v7-next-sale{
  background:linear-gradient(135deg,rgba(6,78,59,.52),rgba(6,95,70,.28));
  border-color:rgba(52,211,153,.34);
  color:#d1fae5;
}
body.lab-visual-v7.lab-theme-dark .lab-v7-next-sale-icon{background:rgba(16,185,129,.18)}
body.lab-visual-v7.lab-theme-dark #paymentDialog .payment-total{
  background:linear-gradient(135deg,#172b49,#14243c)!important;
  border-color:#315a91!important;
}
body.lab-visual-v7.lab-theme-dark #paymentDialog .payment-total span{color:#9db2ce!important}
body.lab-visual-v7.lab-theme-dark #paymentDialog .payment-total strong{color:#7db7ff!important}
body.lab-visual-v7.lab-theme-dark #paymentDialog .mixed-question{
  border-color:#2c425f!important;background:#15243a!important;
}
body.lab-visual-v7.lab-theme-dark #paymentDialog .segmented-choice{background:#0f1d31!important}
body.lab-visual-v7.lab-theme-dark #paymentDialog .segmented-choice label:has(input:checked) span{
  background:#253b5b!important;color:#dceaff!important;box-shadow:none!important;
}
body.lab-visual-v7.lab-theme-dark #paymentDialog .lab-v7-exact-cash{
  background:#18365f!important;color:#a8ccff!important;border-color:#315f99!important;
}

/* ===================== MÓVIL: caja real de trabajo ===================== */
@media(max-width:780px){
  body.lab-visual-v7 #salesWorkspace{padding-bottom:142px}
  body.lab-visual-v7 #salesWorkspace .sales-workspace-head{
    position:sticky;
    top:0;
    z-index:17;
    background:rgba(246,248,252,.94);
    backdrop-filter:blur(12px);
    padding:6px 1px 7px;
  }
  body.lab-visual-v7.lab-theme-dark #salesWorkspace .sales-workspace-head{
    background:rgba(14,25,42,.94);
  }
  body.lab-visual-v7 #salesWorkspace .pos-search-card{
    position:sticky;
    top:54px;
    z-index:16;
    box-shadow:0 7px 22px rgba(15,23,42,.10);
  }
  body.lab-visual-v7 #salesWorkspace .pos-search-row{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  body.lab-visual-v7 #salesWorkspace #saleScanBtn{
    width:auto!important;
    min-width:84px;
  }
  body.lab-visual-v7 #salesWorkspace .sale-search-results{
    max-height:45dvh;
    overflow:auto;
    overscroll-behavior:contain;
  }
  body.lab-visual-v7 #salesWorkspace .sale-cart-card{padding:9px}
  body.lab-visual-v7 #salesWorkspace .sale-line{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  body.lab-visual-v7 #salesWorkspace .sale-line-main{align-items:flex-start}
  body.lab-visual-v7 #salesWorkspace .sale-thumb{width:50px!important;height:50px!important}
  body.lab-visual-v7 #salesWorkspace .sale-line-controls{
    width:100%!important;
    grid-template-columns:46px minmax(68px,92px) 46px!important;
    justify-content:start;
  }
  body.lab-visual-v7 #salesWorkspace .sale-line-total{
    min-height:28px;
  }
  body.lab-visual-v7 #salesWorkspace:not([hidden]) .sale-summary-card{
    grid-template-columns:minmax(0,1fr) auto!important;
    padding:9px 10px!important;
    border-radius:17px!important;
  }
  body.lab-visual-v7 #salesWorkspace:not([hidden]) .sale-total-row strong{
    font-size:1.42rem!important;
  }
  body.lab-visual-v7 #salesWorkspace:not([hidden]) #openPaymentBtn{
    min-height:46px!important;
    font-size:.9rem!important;
  }

  /* Cobro como bottom sheet: total y acciones siempre cerca del pulgar. */
  body.lab-visual-v7 #paymentDialog[open]{
    width:min(100%,560px)!important;
    max-width:100%!important;
    max-height:94dvh!important;
    margin:auto auto 0!important;
    border-radius:22px 22px 0 0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  body.lab-visual-v7 #paymentDialog .payment-dialog{
    width:100%!important;
    max-height:94dvh;
    overflow:auto;
    padding:15px 14px calc(16px + env(safe-area-inset-bottom));
  }
  body.lab-visual-v7 #paymentDialog .dialog-title{
    position:sticky;top:-15px;z-index:4;
    margin:-15px -14px 10px;
    padding:13px 14px 9px;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(148,163,184,.15);
  }
  body.lab-visual-v7.lab-theme-dark #paymentDialog .dialog-title{
    background:rgba(18,31,50,.96)!important;
  }
  body.lab-visual-v7 #paymentDialog .payment-methods.two-methods{
    grid-template-columns:1fr 1fr!important;
  }
  body.lab-visual-v7 #paymentDialog .payment-method-card{
    grid-template-columns:auto 1fr!important;
    justify-items:start!important;
    min-height:64px!important;
    padding:10px 12px!important;
  }
  body.lab-visual-v7 #paymentDialog .payment-method-card span{grid-row:1/2!important;font-size:1.25rem!important}
  body.lab-visual-v7 #paymentDialog .payment-method-card strong{align-self:center!important}
  body.lab-visual-v7 #paymentDialog .quick-cash{grid-template-columns:repeat(3,1fr)}
}

@media(max-width:390px){
  body.lab-visual-v7 #paymentDialog .quick-cash{grid-template-columns:repeat(2,1fr)}
  body.lab-visual-v7 .lab-v7-next-sale{grid-template-columns:auto 1fr}
  body.lab-visual-v7 .lab-v7-next-sale button{grid-column:1/-1;width:100%}
}
