
:root{
  --g:#0aa640;
  --gd:#0a5b3a;
  --g2:#eafff1;
  --bg:#eef3f7;
  --p:#ffffff;
  --line:#d7e0e8;
  --t:#162238;
  --m:#6f7e90;
  --red:#d93b3b;
  --amber:#e6a326;
  --blue:#2f7de1;
  --shadow:0 8px 26px rgba(20,32,48,.08);
  --r:14px;
}
*{box-sizing:border-box}
html,body{
  margin:0;width:100%;height:100%;overflow:hidden;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--bg);color:var(--t)
}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}

/* APP SHELL */
.app{
  height:100dvh;
  display:grid;
  grid-template-rows:64px 48px minmax(0,1fr) 32px;
  overflow:hidden;
}
.top{
  background:linear-gradient(90deg,#0b6542,#083e32);
  color:#fff;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:14px;
  padding:0 15px;
}
.brand{font-weight:1000;font-size:22px;white-space:nowrap}
.brand span{color:#29e77c}
.topStore,.topUser{font-size:12px}
.topStore{text-align:center}
.topUser{text-align:right}
.nav{
  background:#fff;border-bottom:1px solid var(--line);
  display:flex;gap:5px;align-items:center;padding:5px 9px;overflow:hidden
}
.nav button{
  border:1px solid transparent;background:#fff;color:var(--t);
  border-radius:8px;padding:7px 11px;font-size:12px;font-weight:900;white-space:nowrap
}
.nav button.active{background:var(--g2);border-color:#bfe9ce;color:#087833}
.footer{
  background:#f8fafb;border-top:1px solid var(--line);
  padding:0 12px;display:flex;justify-content:space-between;align-items:center;
  font-size:10px;color:#58687a;white-space:nowrap;overflow:hidden
}
.footer span{overflow:hidden;text-overflow:ellipsis}

/* GENERIC */
.view{display:none;min-height:0;height:100%;overflow:hidden}
.view.active{display:block}
.card{
  background:var(--p);border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--shadow);min-width:0;min-height:0
}
.btn{
  min-height:40px;border:1px solid var(--line);background:#fff;color:var(--t);
  border-radius:9px;padding:8px 12px;font-weight:900
}
.btn.primary{background:var(--g);border-color:var(--g);color:#fff}
.btn.danger{background:#ffe8e8;border-color:#f3b8b8;color:#a91f1f}
.btn.warn{background:#fff5df;border-color:#efd393;color:#8c6008}
.input,select,textarea{
  width:100%;min-height:40px;border:1px solid var(--line);border-radius:9px;
  background:#fff;color:var(--t);padding:8px 10px;outline:none
}
.field{display:grid;gap:4px}
.field label{font-size:11px;color:var(--m);font-weight:800}
.badge{
  display:inline-flex;align-items:center;justify-content:center;
  padding:4px 7px;border-radius:999px;font-size:10px;font-weight:900;background:#edf2f6
}
.badge.ok{background:#ddf8e7;color:#0c7233}
.badge.warn{background:#fff1c9;color:#8a5d00}
.badge.danger{background:#ffe3e3;color:#a92424}
.sectionTitle{margin:0;font-size:18px}
.subtle{color:var(--m);font-size:11px}
.pager{
  display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:6px
}
.pager button{
  height:32px;border:1px solid var(--line);background:#fff;border-radius:7px;font-weight:900
}
.pager span{text-align:center;font-size:10px;color:var(--m)}
.toast{
  position:fixed;left:50%;bottom:42px;transform:translateX(-50%);
  z-index:9999;background:#13232d;color:#fff;padding:9px 13px;border-radius:8px;
  opacity:0;pointer-events:none;transition:.18s
}
.toast.show{opacity:1}

/* CAJA DESKTOP */
.posWrap{
  height:100%;padding:9px;
  display:grid;grid-template-columns:175px minmax(0,1fr) 410px;gap:9px;overflow:hidden
}
.sideCats{
  padding:8px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px
}
.scanBtn{
  border:1px solid #65d18d;background:#f1fff6;color:#0e6832;
  border-radius:10px;padding:12px;font-weight:1000
}
.catList{display:grid;align-content:start;gap:4px;overflow:hidden}
.cat{
  border:0;background:#fff;text-align:left;padding:9px;border-radius:8px;font-weight:900;font-size:12px
}
.cat.active{background:var(--g);color:#fff}
.catalog{
  min-height:0;display:grid;grid-template-rows:45px minmax(0,1fr) 30px;gap:6px;overflow:hidden
}
.searchRow{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:6px}
.searchRow input{border:1px solid var(--line);border-radius:9px;padding:0 12px}
.searchRow button{border:1px solid var(--line);background:#fff;border-radius:9px}
.productGrid{
  min-height:0;display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  grid-template-rows:repeat(4,minmax(0,1fr));
  gap:6px;overflow:hidden
}
.prod{
  background:#fff;border:1px solid var(--line);border-radius:10px;padding:7px;
  display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:4px;min-height:0;min-width:0
}
.prod:hover{border-color:#55c27f}
.prodVisual{
  min-height:0;background:#f8fafb;border-radius:7px;display:grid;place-items:center;overflow:hidden
}
.bottle{
  width:34px;height:70px;border-radius:6px 6px 13px 13px;
  background:linear-gradient(#d58b34,#7b3f10);position:relative
}
.bottle:before{
  content:"";position:absolute;width:15px;height:17px;left:9px;top:-11px;border-radius:3px;background:#30363a
}
.prod strong{
  font-size:11px;line-height:1.15;min-height:25px;overflow:hidden;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical
}
.prodMeta{display:flex;align-items:center;justify-content:space-between;gap:4px}
.prodPrice{font-size:15px;font-weight:1000}
.prodStock{font-size:9px;background:#dcf8e6;color:#0b7333;padding:3px 5px;border-radius:6px;white-space:nowrap}

.ticket{
  padding:9px;display:grid;grid-template-rows:auto auto minmax(0,1fr) 30px auto;gap:6px;overflow:hidden
}
.ticketActions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ticketActions button{
  border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 5px;font-size:10px;font-weight:900
}
.ticketHead{
  border-left:4px solid var(--g);padding-left:8px;display:flex;justify-content:space-between;gap:8px
}
.ticketHead h3{margin:0;font-size:16px}
.cartArea{min-height:0;display:grid;grid-template-rows:28px minmax(0,1fr);overflow:hidden}
.cartHeader,.cartRow{
  display:grid;grid-template-columns:minmax(0,1.45fr) 76px 58px 65px 27px;
  gap:4px;align-items:center
}
.cartHeader{
  font-size:9px;color:#556476;border-bottom:1px solid var(--line);padding-bottom:4px
}
.cartList{min-height:0;display:grid;align-content:start;overflow:hidden}
.cartRow{
  padding:5px 0;border-bottom:1px solid #edf1f4;font-size:10px;min-width:0;overflow:hidden
}
.cartRow strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qtyBox{
  display:grid;grid-template-columns:22px 28px 22px;border:1px solid var(--line);
  border-radius:6px;overflow:hidden;text-align:center
}
.qtyBox button{border:0;background:#f2f5f7;height:24px}
.deleteLine{
  width:27px;height:25px;border:0;border-radius:6px;background:#ffe5e5;color:#b62020;font-weight:1000
}
.ticketTotals{
  display:grid;gap:4px;border-top:1px solid var(--line);padding-top:5px
}
.sumLine{display:flex;justify-content:space-between;gap:6px;font-size:11px}
.bigTotal{
  display:flex;justify-content:space-between;align-items:center;
  background:#dffff0;border-radius:8px;padding:7px 9px;font-size:17px;font-weight:1000
}
.bigTotal strong{font-size:27px}
.payRow{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.payRow button{
  border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 4px;font-size:10px;font-weight:900
}
.payRow button.active{background:var(--g);color:#fff;border-color:var(--g)}
.receiveRow{display:grid;grid-template-columns:68px minmax(0,1fr);gap:5px;align-items:center;font-size:10px}
.receiveRow input{height:31px;border:1px solid var(--line);border-radius:8px;padding:5px 7px}
.chargeDesktop{
  border:0;background:var(--g);color:#fff;border-radius:8px;padding:10px;font-size:15px;font-weight:1000
}

/* MOBILE POS BAR */
.mobileCheckoutBar{display:none}


/* BODEGA */
.moduleWrap{
  height:100%;padding:9px;display:grid;grid-template-columns:1fr 1.35fr;gap:9px;overflow:hidden
}
.panel{padding:12px;min-height:0;overflow:hidden}
.formGrid{display:grid;align-content:start;gap:8px}
.tableWrap{display:grid;grid-template-rows:auto minmax(0,1fr) 32px;gap:8px;min-height:0}
.tableList{display:grid;align-content:start;gap:5px;min-height:0;overflow:hidden}
.tr{
  display:grid;grid-template-columns:minmax(0,1.5fr) .8fr .55fr .75fr;
  gap:6px;align-items:center;background:#f8fafb;border:1px solid var(--line);
  border-radius:8px;padding:7px;font-size:10px;min-width:0
}
.tr strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* DELIVERY */
.deliveryWrap{
  height:100%;padding:9px;
  display:grid;grid-template-columns:.8fr 1.2fr;gap:9px;overflow:hidden
}
.deliveryListPanel{
  padding:12px;display:grid;grid-template-rows:auto minmax(0,1fr) 32px;gap:8px;overflow:hidden
}
.deliveryDetailPanel{
  padding:12px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:8px;overflow:hidden
}
.orderCard{
  border:1px solid var(--line);border-radius:9px;padding:8px;background:#f9fbfc;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;font-size:10px
}
.mapBox{min-height:0;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#e9eef2}
#deliveryMap{width:100%;height:100%}
.deliveryStatus{
  display:flex;gap:5px;flex-wrap:wrap
}
.deliveryItems{display:grid;gap:5px}
.deliveryItem{
  display:flex;justify-content:space-between;gap:6px;background:#f8fafb;border:1px solid var(--line);
  border-radius:8px;padding:7px;font-size:10px
}


/* ADMIN */
.adminWrap{
  height:100%;padding:9px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;overflow:hidden
}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px}
.kpi small{display:block;color:var(--m);font-size:10px;margin-bottom:4px}
.kpi strong{font-size:20px}
.adminGrid{min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.adminBox{padding:12px;min-height:0;overflow:hidden}
.adminBox h3{margin:0 0 8px;font-size:15px}

/* CONFIG */
.configWrap{
  height:100%;padding:9px;display:grid;grid-template-columns:1fr 1fr;gap:9px
}

/* CHECKOUT MODAL */
.saleModal{
  position:fixed;inset:0;background:rgba(7,15,22,.7);z-index:500;
  display:none;place-items:center;padding:12px
}
.saleModal.active{display:grid}
.saleModalBox{
  width:min(840px,100%);max-height:94dvh;background:#fff;border:1px solid var(--line);
  border-radius:14px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden
}
.saleModalHead{
  padding:12px 14px;border-bottom:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;gap:8px
}
.saleModalBody{
  min-height:0;padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:10px;overflow:hidden
}
.saleForm,.saleSummary{display:grid;align-content:start;gap:7px;min-height:0}
.saleSummaryList{display:grid;align-content:start;gap:5px;min-height:0;overflow:hidden}
.saleSummaryRow{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;
  padding:7px;background:#f8fafb;border:1px solid var(--line);border-radius:7px;font-size:10px
}
.modalTotal{
  background:#e0ffeb;border:1px solid #bce7ca;border-radius:8px;
  padding:8px;display:flex;justify-content:space-between;align-items:center;font-weight:1000
}
.modalTotal strong{font-size:24px}
.saleModalFoot{
  padding:10px 12px;border-top:1px solid var(--line);
  display:grid;grid-template-columns:1fr 1fr;gap:7px
}

/* MOBILE */
@media(max-width:700px){
  .app{grid-template-rows:56px 46px minmax(0,1fr) 26px}
  .top{padding:0 8px;grid-template-columns:auto 1fr auto}
  .brand{font-size:17px}
  .topStore{display:none}
  .topUser{font-size:10px}
  .nav{padding:4px;gap:2px}
  .nav button{
    flex:1;min-width:0;padding:6px 3px;font-size:9px;
    overflow:hidden;text-overflow:ellipsis
  }
  .footer{padding:0 7px;font-size:8px}

  .posWrap{
    grid-template-columns:1fr;
    grid-template-rows:48px minmax(0,1fr);
    gap:5px;padding:6px 6px 66px
  }
  .sideCats{
    grid-row:1;padding:4px;display:grid;grid-template-columns:84px minmax(0,1fr);grid-template-rows:1fr;gap:4px
  }
  .scanBtn{padding:4px;font-size:10px}
  .catList{display:flex;align-items:center;gap:3px;overflow:hidden}
  .cat{flex:0 0 auto;padding:6px 7px;font-size:9px;white-space:nowrap}
  .catalog{
    grid-row:2;grid-template-rows:38px minmax(0,1fr) 28px;gap:4px
  }
  .searchRow{grid-template-columns:minmax(0,1fr) 38px;gap:4px}
  .searchRow input{font-size:12px;padding:0 9px}
  .productGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(3,minmax(0,1fr));
    gap:4px
  }
  .prod{padding:5px}
  .bottle{width:28px;height:54px}
  .bottle:before{width:12px;height:13px;left:8px;top:-9px}
  .prod strong{font-size:9px;min-height:21px}
  .prodPrice{font-size:12px}
  .prodStock{font-size:8px;padding:2px 4px}
  .ticket{display:none}

  .mobileCheckoutBar{
    display:grid;position:fixed;left:6px;right:6px;bottom:30px;z-index:120;
    grid-template-columns:minmax(0,1fr) auto auto;gap:5px;align-items:center;
    background:#fff;border:1px solid var(--line);border-radius:12px;
    padding:6px;box-shadow:0 10px 28px rgba(0,0,0,.16)
  }
  .mobileCheckoutBar .mtotal{min-width:0}
  .mobileCheckoutBar small{display:block;color:var(--m);font-size:9px}
  .mobileCheckoutBar strong{font-size:18px}
  .mobileCheckoutBar button{
    min-height:42px;border:0;border-radius:9px;font-weight:1000;padding:0 12px
  }
  .mobileCartBtn{background:#eef4f7;color:var(--t)}
  .mobilePayBtn{background:var(--g);color:#fff}

  .moduleWrap,.deliveryWrap,.configWrap{
    grid-template-columns:1fr;grid-template-rows:1fr 1fr;padding:6px;gap:6px
  }
  .deliveryDetailPanel{grid-template-rows:auto auto minmax(0,1fr) auto}
  .adminWrap{padding:6px}
  .kpis{grid-template-columns:1fr 1fr;gap:5px}
  .kpi{padding:7px}
  .kpi strong{font-size:16px}
  .adminGrid{grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:6px}
  .saleModalBody{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}
  .saleSummaryList{max-height:150px}
}

/* MOBILE CART DRAWER */
.mobileCartDrawer{
  display:none;position:fixed;inset:102px 6px 76px;z-index:300;
  background:#fff;border:1px solid var(--line);border-radius:12px;
  box-shadow:0 16px 36px rgba(0,0,0,.2);padding:8px;
  grid-template-rows:auto minmax(0,1fr) auto;gap:6px
}
.mobileCartDrawer.active{display:grid}
.mobileCartRows{display:grid;align-content:start;gap:5px;min-height:0;overflow:hidden}
.mobileCartRow{
  display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:5px;align-items:center;
  border:1px solid var(--line);border-radius:8px;padding:7px;font-size:10px
}

.toggle{
  width:42px;height:24px;border-radius:999px;background:#cbd5dd;border:0;position:relative;padding:0
}
.toggle:after{
  content:"";position:absolute;width:18px;height:18px;top:3px;left:3px;border-radius:50%;background:#fff;transition:.18s
}
.toggle.on{background:var(--g)}
.toggle.on:after{left:21px}
.catalogRow{
  display:grid;grid-template-columns:minmax(0,1.5fr) .65fr .6fr .75fr auto;
  gap:6px;align-items:center;background:#f8fafb;border:1px solid var(--line);
  border-radius:8px;padding:7px;font-size:10px
}
.promoCard{
  border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff;
  display:grid;gap:5px
}
.promoCard.active{border-color:#7bd49b;background:#f1fff6}
.previewProduct{
  border:1px solid var(--line);border-radius:10px;padding:8px;background:#fff;
  display:grid;gap:5px;min-width:0
}
.previewProduct strong{
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px
}
.previewPromo{
  border-radius:10px;padding:10px;background:#e8fff0;border:1px solid #bde8ca;
  min-width:0
}
@media(max-width:700px){
  .catalogRow{grid-template-columns:minmax(0,1fr) .55fr auto;font-size:9px}
  .catalogRow>:nth-child(2),.catalogRow>:nth-child(4){display:none}
  #previewProducts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #promoPreview{grid-template-columns:1fr!important}
}


/* CUSTOMER DELIVERY APP */
.customerApp{
  display:none;
  height:100dvh;
  grid-template-rows:60px minmax(0,1fr);
  background:#f3f7fa;
  overflow:hidden;
}
.customerApp.active{display:grid}
.customerTop{
  background:linear-gradient(90deg,#0b6542,#083e32);
  color:#fff;padding:0 14px;
  display:flex;justify-content:space-between;align-items:center;gap:10px
}
.customerTop strong{font-size:18px}
.customerMain{
  min-height:0;overflow:hidden;padding:8px;
  display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:8px
}
.customerCatalog{
  min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) 32px;gap:7px
}
.customerPromoGrid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.customerCategories{display:flex;gap:5px;overflow:hidden}
.customerProducts{
  min-height:0;display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:repeat(3,minmax(0,1fr));
  gap:7px;overflow:hidden
}
.customerProduct{
  border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px;
  display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:5px;min-width:0
}
.customerProduct .prodVisual{min-height:0}
.customerProduct strong{
  font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.customerCart{
  padding:10px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:7px;overflow:hidden
}
.customerCartRows{display:grid;align-content:start;gap:5px;min-height:0;overflow:hidden}
.customerCartRow{
  display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:5px;align-items:center;
  padding:7px;border:1px solid var(--line);border-radius:8px;background:#f9fbfc;font-size:10px
}
.customerStep{display:none;height:100%;min-height:0;overflow:hidden}
.customerStep.active{display:block}
.customerFormPage{
  height:100%;padding:10px;
  display:grid;grid-template-columns:1fr 1fr;gap:10px;overflow:hidden
}
.customerFormCard{padding:12px;display:grid;align-content:start;gap:8px}
.customerConfirm{
  height:100%;padding:10px;display:grid;place-items:center
}
.customerConfirmCard{width:min(680px,100%);padding:18px;display:grid;gap:10px;text-align:center}
.customerTracking{
  height:100%;padding:8px;
  display:grid;grid-template-columns:340px minmax(0,1fr);gap:8px
}
.customerTrackInfo{padding:12px;display:grid;align-content:start;gap:8px}
.customerTrackMap{min-height:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
#customerDeliveryMap{width:100%;height:100%}
.trackHero{
  padding:12px;border-radius:10px;background:#e8fff0;border:1px solid #bde9ca
}
.trackHero strong{font-size:20px}
.trackStages{display:grid;gap:6px}
.trackStage{
  padding:8px;border-radius:8px;border:1px solid var(--line);background:#f8fafb;font-size:11px
}
.trackStage.on{background:#e7fff0;border-color:#9bd9b2;color:#0a6e31;font-weight:900}
.customerActions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
@media(max-width:700px){
  .customerApp{grid-template-rows:56px minmax(0,1fr)}
  .customerMain{
    grid-template-columns:1fr;
    grid-template-rows:minmax(0,1fr) 76px;
    padding:6px;gap:5px
  }
  .customerCatalog{
    grid-template-rows:auto auto minmax(0,1fr) 28px;
    gap:5px
  }
  .customerPromoGrid{grid-template-columns:1fr}
  .customerProducts{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(3,minmax(0,1fr));
    gap:5px
  }
  .customerCart{
    grid-row:2;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:1fr;
    align-items:center;
    padding:6px
  }
  .customerCartRows{display:none}
  .customerCart>div:first-child{min-width:0}
  .customerCart .bigTotal{padding:5px 8px}
  .customerCart .bigTotal strong{font-size:20px}
  .customerFormPage{
    grid-template-columns:1fr;
    grid-template-rows:1fr 1fr;
    padding:6px;gap:6px
  }
  .customerTracking{
    grid-template-columns:1fr;
    grid-template-rows:220px minmax(0,1fr);
    padding:6px;gap:6px
  }
  .customerTrackInfo{grid-row:2}
  .customerTrackMap{grid-row:1}
}

@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.55}}

.integratedDeliveryShell{
  display:none;position:fixed;inset:0;z-index:5000;background:#0d1014;
}
.integratedDeliveryShell.active{display:block}
.integratedDeliveryShell iframe{
  width:100%;height:100%;border:0;background:#0d1014;display:block
}


/* V7 RETAIL / MINIMARKET UX */
:root{
  --ink:#152238;
  --ink-soft:#4f5f72;
  --surface:#ffffff;
  --surface-soft:#f7f9fb;
  --surface-accent:#eafff1;
}
body,.app,.view,.card,.panel,.adminBox,.kpi,.ticket,.sideCats,.customerApp{
  color:var(--ink);
}
.card,.panel,.adminBox,.kpi,.ticket,.sideCats{
  background:var(--surface);
}
.subtle,.field label,.footer,.prodStock,.cartHeader{
  color:var(--ink-soft)!important;
}
button,input,select,textarea{color:var(--ink)}
input::placeholder,textarea::placeholder{color:#8a96a6}
.moduleTitleRow{
  display:flex;justify-content:space-between;align-items:center;gap:8px
}
.moduleTitleRow .actionsInline{
  display:flex;gap:6px;flex-wrap:wrap
}
.segmentTabs{
  display:flex;gap:5px;flex-wrap:wrap
}
.segmentTabs button{
  border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 10px;font-weight:900;font-size:10px
}
.segmentTabs button.active{
  background:var(--g);color:#fff;border-color:var(--g)
}
.catalogMasterWrap{
  height:100%;padding:9px;
  display:grid;grid-template-columns:320px minmax(0,1fr);gap:9px;overflow:hidden
}
.catalogSidebar{
  padding:12px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:8px;overflow:hidden
}
.categoryManager{
  min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:7px
}
.categoryListAdmin{
  min-height:0;display:grid;align-content:start;gap:5px;overflow:hidden
}
.categoryAdminRow{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;
  padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:#f9fbfc;font-size:10px
}
.catalogContent{
  min-height:0;display:grid;grid-template-rows:auto 42px minmax(0,1fr) 32px;gap:7px;padding:12px;overflow:hidden
}
.catalogToolbar{
  display:grid;grid-template-columns:minmax(0,1fr) 170px auto;gap:6px
}
.catalogProductRows{
  min-height:0;display:grid;align-content:start;gap:5px;overflow:hidden
}
.catalogProductRow{
  display:grid;grid-template-columns:1.35fr .8fr .75fr .75fr .65fr .65fr auto;
  gap:6px;align-items:center;
  padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:#f9fbfc;font-size:10px;min-width:0
}
.catalogProductRow strong,.catalogProductRow span{
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.catalogProductRow .priceCell{font-weight:900}
.productModalGrid{
  min-height:0;padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:10px;overflow:hidden
}
.productFormCard{
  padding:12px;display:grid;align-content:start;gap:7px
}
.inventoryModeGrid{
  display:grid;grid-template-columns:1fr 1fr;gap:7px
}
.inventoryActionCard{
  border:1px solid var(--line);border-radius:10px;padding:10px;background:#f8fafb;display:grid;gap:7px
}
.kardexList{
  min-height:0;display:grid;align-content:start;gap:5px;overflow:hidden
}
.kardexRow{
  display:grid;grid-template-columns:1fr .9fr .55fr .8fr;
  gap:6px;align-items:center;padding:7px;border:1px solid var(--line);border-radius:8px;background:#f8fafb;font-size:10px
}
.quickScanBox{
  border:1px dashed #9ccfb0;background:#f1fff6;border-radius:10px;padding:10px;display:grid;gap:6px
}
.quickScanBox strong{color:#0d6f33}
@media(max-width:900px){
  .catalogMasterWrap{grid-template-columns:1fr;grid-template-rows:260px minmax(0,1fr);padding:6px;gap:6px}
  .catalogToolbar{grid-template-columns:minmax(0,1fr) 110px}
  .catalogToolbar .btn.primary{grid-column:1/-1}
  .catalogProductRow{
    grid-template-columns:1.4fr .7fr .65fr .65fr auto
  }
  .catalogProductRow>:nth-child(2),.catalogProductRow>:nth-child(6){display:none}
}
@media(max-width:700px){
  .catalogMasterWrap{grid-template-rows:220px minmax(0,1fr)}
  .productModalGrid{grid-template-columns:1fr;grid-template-rows:auto auto}
  .catalogProductRow{
    grid-template-columns:minmax(0,1.5fr) .7fr .65fr auto
  }
  .catalogProductRow>:nth-child(2),.catalogProductRow>:nth-child(5),.catalogProductRow>:nth-child(6){display:none}
  .inventoryModeGrid{grid-template-columns:1fr}
}


/* V8 CAJA: catálogo compacto por filas */
.productGrid{
  min-height:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:minmax(62px,1fr);
  gap:5px;
  overflow:hidden;
}
.prod{
  background:#fff;
  border:1px solid var(--line);
  border-radius:9px;
  padding:5px 8px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto auto;
  grid-template-rows:1fr;
  gap:8px;
  align-items:center;
  min-height:0;
  min-width:0;
  text-align:left;
}
.prod:hover{border-color:#55c27f;background:#fbfffc}
.prodVisual{
  width:38px;
  height:48px;
  min-height:0;
  background:#f5f7f9;
  border-radius:7px;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.prod .bottle{
  width:18px;
  height:34px;
  border-radius:4px 4px 7px 7px;
}
.prod .bottle:before{
  width:8px;
  height:8px;
  left:5px;
  top:-6px;
  border-radius:2px;
}
.prodInfo{
  min-width:0;
  display:grid;
  align-content:center;
  gap:2px;
}
.prodInfo strong{
  min-height:0;
  font-size:11px;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  display:block;
}
.prodSub{
  font-size:9px;
  color:#6c7a8b;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.prodPrice{
  font-size:16px;
  font-weight:1000;
  min-width:58px;
  text-align:right;
  color:#132238;
}
.prodStock{
  font-size:9px;
  background:#dcf8e6;
  color:#0b7333!important;
  padding:4px 6px;
  border-radius:7px;
  white-space:nowrap;
}
@media(max-width:700px){
  .productGrid{
    grid-template-columns:1fr;
    grid-auto-rows:minmax(58px,1fr);
    gap:4px;
  }
  .prod{
    grid-template-columns:38px minmax(0,1fr) 62px 54px;
    padding:4px 6px;
    gap:6px;
  }
  .prodVisual{width:34px;height:42px}
  .prod .bottle{width:15px;height:29px}
  .prod .bottle:before{width:7px;height:7px;left:4px;top:-5px}
  .prodInfo strong{font-size:10px}
  .prodSub{font-size:8px}
  .prodPrice{font-size:14px;min-width:0}
  .prodStock{font-size:8px;padding:3px 5px}
}


/* V9 CAJA JERÁRQUICA: Categoría > Subcategoría > Producto */
.posWrap{
  grid-template-columns:minmax(0,1fr) 410px !important;
}
.sideCats{display:none!important}
.catalog{
  grid-column:1;
  min-height:0;
  display:grid!important;
  grid-template-rows:44px minmax(0,1fr) 30px!important;
  gap:6px!important;
}
.salesTopTools{
  display:grid;
  grid-template-columns:150px minmax(0,1fr) 42px;
  gap:6px;
}
.salesTopTools .scanBtn{height:44px;padding:0 10px}
.salesTopTools input{
  width:100%;height:44px;border:1px solid var(--line);border-radius:10px;padding:0 12px;
  background:#fff;color:var(--ink);outline:none
}
.salesTopTools .searchBtn{
  height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:18px
}
.salesAccordion{
  min-height:0;
  display:grid;
  align-content:start;
  gap:5px;
  overflow:hidden;
}
.saleCategoryBlock{
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}
.saleCategoryHead{
  width:100%;
  min-height:42px;
  border:0;
  background:#f7faf8;
  padding:7px 10px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  gap:8px;
  align-items:center;
  text-align:left;
  color:var(--ink);
}
.saleCategoryHead.open{
  background:#eafff1;
  border-bottom:1px solid #c9ecd5;
}
.saleCategoryHead .chev{
  width:22px;text-align:center;font-size:13px;color:#0b7333;font-weight:1000
}
.saleCategoryHead strong{
  font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.saleCategoryHead .count{
  font-size:9px;color:#657486;background:#eef2f5;border-radius:99px;padding:3px 7px
}
.saleCategoryBody{
  padding:5px;
  display:grid;
  gap:4px;
  background:#fff;
}
.saleSubBlock{
  border:1px solid #e5eaee;
  border-radius:8px;
  overflow:hidden;
}
.saleSubHead{
  width:100%;min-height:34px;border:0;background:#fbfcfd;
  padding:5px 8px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  gap:7px;align-items:center;text-align:left;color:var(--ink)
}
.saleSubHead.open{background:#f2fff6}
.saleSubHead strong{font-size:10px}
.saleSubProducts{
  padding:4px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
}
.saleProdRow{
  min-height:50px;border:1px solid var(--line);border-radius:8px;background:#fff;
  display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;
  gap:6px;align-items:center;padding:4px 6px;text-align:left;color:var(--ink)
}
.saleProdThumb{
  width:28px;height:38px;border-radius:6px;background:#f4f6f8;display:grid;place-items:center
}
.saleProdThumb .bottle{
  width:13px;height:25px;border-radius:3px 3px 5px 5px
}
.saleProdThumb .bottle:before{width:6px;height:6px;left:3.5px;top:-4px}
.saleProdText{min-width:0}
.saleProdText strong{
  display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.saleProdText span{
  display:block;font-size:8px;color:#748194;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.saleProdPrice{font-size:13px;font-weight:1000;white-space:nowrap}
.saleProdStock{font-size:8px;padding:3px 5px;border-radius:6px;background:#dcf8e6;color:#0b7333}
.salesEmpty{
  border:1px dashed var(--line);border-radius:10px;padding:18px;text-align:center;color:var(--ink-soft)
}
@media(max-width:700px){
  .posWrap{
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(0,1fr)!important;
    gap:5px!important;
    padding:6px 6px 66px!important
  }
  .catalog{
    grid-row:1!important;
    grid-template-rows:40px minmax(0,1fr) 28px!important;
    gap:4px!important
  }
  .salesTopTools{grid-template-columns:90px minmax(0,1fr) 38px;gap:4px}
  .salesTopTools .scanBtn,.salesTopTools input,.salesTopTools .searchBtn{height:40px}
  .salesTopTools .scanBtn{font-size:9px;padding:0 5px}
  .salesTopTools input{font-size:11px;padding:0 8px}
  .saleCategoryHead{min-height:38px;padding:5px 7px}
  .saleCategoryHead strong{font-size:11px}
  .saleCategoryBody{padding:4px}
  .saleSubHead{min-height:31px;padding:4px 7px}
  .saleSubProducts{grid-template-columns:1fr;gap:3px}
  .saleProdRow{min-height:45px;grid-template-columns:28px minmax(0,1fr) 58px 48px;gap:5px;padding:3px 5px}
  .saleProdThumb{width:25px;height:34px}
  .saleProdThumb .bottle{width:11px;height:22px}
  .saleProdText strong{font-size:9.5px}
  .saleProdText span{font-size:7.5px}
  .saleProdPrice{font-size:12px}
  .saleProdStock{font-size:7.5px}
}


/* V10: CATÁLOGO MAESTRO FUNCIONAL Y SIN SOBREMONTES */
.catalogMobileTabs{display:none}
.catalogMasterWrap{
  height:100%;min-height:0;padding:8px;
  display:grid;grid-template-columns:300px minmax(0,1fr);gap:8px;overflow:hidden
}
.catalogSidebar,.catalogContent{
  min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff
}
.catalogSidebar{
  padding:10px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:7px
}
.catalogContent{
  padding:10px;display:grid;grid-template-rows:auto 40px minmax(0,1fr) 30px;gap:7px
}
.categoryManager{min-height:0;display:grid;grid-template-rows:34px minmax(0,1fr);gap:5px}
.categoryListAdmin{min-height:0;overflow:hidden;display:grid;align-content:start;gap:4px}
.categoryAdminRow{
  min-height:38px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:5px;align-items:center;
  padding:5px 7px;border:1px solid var(--line);border-radius:8px;background:#f8fafb
}
.categoryAdminRow strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.categoryAdminRow .count{font-size:8px;color:#667587;background:#edf2f5;border-radius:99px;padding:3px 6px}
.iconMiniBtn{width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:7px;background:#fff}
.catalogToolbar{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:5px}
.catalogToolbar input,.catalogToolbar select,.catalogToolbar button{min-height:40px}
.catalogProductRows{min-height:0;overflow:hidden;display:grid;align-content:start;gap:4px}
.catalogProductRow{
  min-height:43px;display:grid;
  grid-template-columns:minmax(0,1.5fr) .7fr .8fr .62fr .62fr .58fr auto;
  gap:5px;align-items:center;padding:5px 7px;border:1px solid var(--line);border-radius:8px;
  background:#f9fbfc;font-size:9px
}
.catalogProductRow strong,.catalogProductRow span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catalogProductRow .productMain strong{display:block;font-size:10px}
.catalogProductRow .productMain small{display:block;color:#788697;font-size:8px;margin-top:2px}
.storageStatus{display:flex;align-items:center;gap:5px;font-size:8px;color:#647285;white-space:nowrap}
.storageDot{width:8px;height:8px;border-radius:50%;background:#12a84a;box-shadow:0 0 0 3px rgba(18,168,74,.10)}
.storageDot.error{background:#d83b3b}
.catalogHelp{
  font-size:8px!important;line-height:1.25!important;margin:0!important;padding:6px 7px;
  background:#f7faf8;border-radius:7px;color:#617083!important
}
.catalogHeaderActions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:900px){
  #view-catalog.active{display:grid;grid-template-rows:48px minmax(0,1fr)}
  .catalogMobileTabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:6px 6px 0}
  .catalogMobileTabs button{
    min-height:36px;border:1px solid var(--line);border-radius:9px;background:#fff;font-weight:900
  }
  .catalogMobileTabs button.active{background:var(--g);color:#fff;border-color:var(--g)}
  .catalogMasterWrap{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);padding:6px}
  .catalogMasterWrap .catalogSidebar{display:none}
  .catalogMasterWrap .catalogContent{display:grid}
  .catalogMasterWrap.show-categories .catalogSidebar{display:grid}
  .catalogMasterWrap.show-categories .catalogContent{display:none}
  .catalogSidebar{padding:9px;grid-template-rows:auto auto minmax(0,1fr) auto}
  .catalogContent{padding:8px;grid-template-rows:auto 40px minmax(0,1fr) 28px}
  .catalogToolbar{grid-template-columns:minmax(0,1fr) 120px}
  .catalogToolbar .btn.primary{display:none}
  .catalogProductRow{grid-template-columns:minmax(0,1.45fr) .65fr .65fr auto}
  .catalogProductRow>:nth-child(2),.catalogProductRow>:nth-child(3),.catalogProductRow>:nth-child(6){display:none}
}
@media(max-width:700px){
  .catalogMobileTabs{padding:5px 5px 0}
  .catalogMasterWrap{padding:5px}
  .catalogContent{padding:7px}
  .catalogToolbar{grid-template-columns:minmax(0,1fr) 105px}
  .catalogProductRow{min-height:47px;grid-template-columns:minmax(0,1fr) 62px 46px;padding:5px 6px}
  .catalogProductRow>:nth-child(2),.catalogProductRow>:nth-child(3),
  .catalogProductRow>:nth-child(4),.catalogProductRow>:nth-child(6){display:none}
  .catalogProductRow .priceCell{font-size:11px;text-align:right}
  .catalogProductRow .btn{min-height:30px!important;padding:3px 6px!important;font-size:8px!important}
}


/* V12 — CATÁLOGO JERÁRQUICO ESTABLE */
.catalogModeBar{
  padding:7px 8px 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
}
.catalogModeBar button{
  min-height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;
  color:var(--ink);font-weight:1000
}
.catalogModeBar button.active{background:var(--g);color:#fff;border-color:var(--g)}
#view-catalog.active{
  display:grid;
  grid-template-rows:50px minmax(0,1fr);
  min-height:0;
  overflow:hidden;
}
.catalogUnifiedWrap{min-height:0;padding:7px 8px 8px;overflow:hidden}
.catalogUnifiedPanel{
  display:none;height:100%;min-height:0;overflow:hidden;
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px
}
.catalogUnifiedPanel.active{display:grid}
#catalogCategoriesPanel{
  grid-template-rows:auto 40px minmax(0,1fr) auto;
  gap:7px
}
#catalogPromosPanel{
  grid-template-rows:auto minmax(0,1fr);gap:7px
}
.catalogUnifiedHead{
  display:flex;justify-content:space-between;gap:8px;align-items:center;min-width:0
}
.catalogUtilityRow{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.45fr);gap:5px
}
.categoryFlowList{
  min-height:0;overflow:auto;display:grid;align-content:start;gap:5px;padding-right:2px
}
.categoryFlowCard{
  border:1px solid var(--line);border-radius:10px;background:#f9fbfc;overflow:hidden
}
.categoryFlowHead{
  min-height:42px;width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;gap:7px;border:0;background:#f9fbfc;padding:6px 8px;text-align:left;color:var(--ink)
}
.categoryFlowHead.open{background:#eafff1;border-bottom:1px solid #ccebd7}
.categoryFlowHead strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.categoryFlowHead .count{font-size:8px;background:#edf2f5;padding:3px 6px;border-radius:99px;color:#647285}
.categoryFlowBody{padding:5px;display:grid;gap:4px;background:#fff}
.categoryProductRow{
  min-height:44px;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;
  gap:6px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:5px 7px;background:#fff
}
.categoryProductRow .main{min-width:0}
.categoryProductRow .main strong{
  display:block;font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.categoryProductRow .main small{
  display:block;color:#748194;font-size:7.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.categoryProductRow .price{font-weight:1000;font-size:11px}
.categoryProductRow .stock{font-size:8px;background:#dcf8e6;color:#0b7333;padding:3px 5px;border-radius:6px}
.categoryAddProduct{
  min-height:34px;border:1px dashed #70c98e;background:#f1fff6;border-radius:8px;
  color:#087232;font-weight:1000
}
.inlineProductBuilder{
  display:none;border:1px solid #b9dfc6;background:#f8fff9;border-radius:10px;padding:8px;
  max-height:42vh;overflow:auto
}
.inlineProductBuilder.active{display:block}
.builderEmpty{padding:12px;text-align:center;color:var(--ink-soft);font-size:9px}
.builderGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.builderField{display:grid;gap:3px}
.builderField label{font-size:8px;color:#657486}
.builderField input,.builderField select{min-height:34px}
.attributeRows{display:grid;gap:4px;margin-top:6px}
.attributeRow{
  display:grid;grid-template-columns:120px minmax(0,1fr) 30px;gap:4px;align-items:center
}
.variantRows{display:grid;gap:4px;margin-top:6px}
.variantEditorRow{
  display:grid;grid-template-columns:minmax(0,1.3fr) 120px 70px 70px 60px;gap:4px;align-items:center;
  border:1px solid var(--line);background:#fff;border-radius:8px;padding:4px
}
.variantEditorRow strong{font-size:8.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.variantEditorRow input{min-height:31px;min-width:0}
.promoUnifiedGrid{min-height:0;display:grid;grid-template-columns:260px minmax(0,1fr);gap:7px}
.promoUnifiedList{min-height:0;overflow:auto;display:grid;align-content:start;gap:5px}
.promoListCard{
  border:1px solid var(--line);border-radius:9px;background:#f8fafb;padding:7px;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:center;text-align:left
}
.promoListCard.active{border-color:#76cd94;background:#f0fff5}
.promoUnifiedEditor{min-height:0;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:8px}
.promoEditorGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.promoPicker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:6px}
.promoPick{
  border:1px solid var(--line);border-radius:8px;padding:5px;
  display:grid;grid-template-columns:22px minmax(0,1fr) 54px;gap:4px;align-items:center;font-size:8.5px
}
.promoPick input[type=number]{width:50px;min-height:30px}
.promoTierGuide{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:6px}
.promoTierGuide div{background:#f4f7f8;border-radius:7px;padding:5px;text-align:center;font-size:7.5px}
@media(max-width:800px){
  .catalogUnifiedHead{align-items:flex-start}
  .catalogUtilityRow{grid-template-columns:1fr}
  #catalogCategoriesPanel{grid-template-rows:auto 76px minmax(0,1fr) auto}
  .builderGrid{grid-template-columns:1fr 1fr}
  .promoUnifiedGrid{grid-template-columns:1fr;grid-template-rows:150px minmax(0,1fr)}
  .promoEditorGrid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .catalogModeBar{padding:5px 6px 0}
  .catalogModeBar button{min-height:40px}
  .catalogUnifiedWrap{padding:5px 6px 6px}
  .catalogUnifiedPanel{padding:7px}
  .catalogUnifiedHead .sectionTitle{font-size:17px}
  .catalogUnifiedHead .subtle{font-size:8px}
  .catalogHeaderActions{gap:4px}
  .catalogHeaderActions .storageStatus{display:none}
  .catalogHeaderActions .btn{min-height:34px;padding:5px 8px;font-size:9px}
  .categoryProductRow{grid-template-columns:minmax(0,1fr) 60px 46px}
  .categoryProductRow .stock{display:none}
  .builderGrid{grid-template-columns:1fr 1fr}
  .attributeRow{grid-template-columns:88px minmax(0,1fr) 28px}
  .variantEditorRow{grid-template-columns:minmax(0,1fr) 94px 60px 60px}
  .variantEditorRow .variantStockInput{display:none}
  .promoEditorGrid{grid-template-columns:1fr 1fr}
  .promoPicker{grid-template-columns:1fr}
}


/* V13 compactación */
.categoryFlowHead{grid-template-columns:auto minmax(0,1fr) auto auto auto!important}
.categoryDeleteBtn{width:28px;height:28px;padding:0;border:1px solid #efcaca;border-radius:7px;background:#fff5f5;color:#b42323;font-weight:1000}
.saleTree{min-height:0;overflow:auto;display:grid;align-content:start;gap:5px}
.saleCategory,.saleProductGroup{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}
.saleCategoryHead,.saleProductHead{width:100%;border:0;text-align:left;color:var(--ink);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;align-items:center;padding:6px 8px}
.saleCategoryHead{min-height:42px;background:#f8fafb}.saleCategoryHead.open{background:#eafff1}
.saleProductHead{min-height:37px;background:#fff}.saleCategoryBody,.saleVariantList{padding:4px;display:grid;gap:3px}
.saleVariantList{background:#f8fafb}
.saleVariantRow{min-height:38px;display:grid;grid-template-columns:minmax(0,1fr) 62px 52px auto;gap:5px;align-items:center;padding:4px 6px;border:1px solid var(--line);border-radius:7px;background:#fff}
.saleVariantRow strong{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saleVariantRow small{font-size:7px;color:#748194}
.salePrice{font-size:11px;font-weight:1000;text-align:right}.saleStock{font-size:7px;color:#667587;text-align:center}
.saleAddBtn{min-height:30px;border:0;border-radius:7px;background:var(--g);color:#fff;padding:4px 8px;font-size:8px;font-weight:1000}
@media(max-width:700px){.saleVariantRow{grid-template-columns:minmax(0,1fr) 58px auto}.saleStock{display:none}.categoryFlowHead{grid-template-columns:auto minmax(0,1fr) auto auto!important}.categoryFlowHead .subtle{display:none}}

.categoryFlowHead{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:5px!important;
  padding:4px!important;
  align-items:center!important;
}
.categoryFlowToggle{
  min-height:36px;border:0;background:transparent;color:var(--ink);
  display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:7px;align-items:center;
  width:100%;text-align:left;padding:3px 5px
}
.categoryFlowToggle strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:700px){
  .categoryFlowToggle{grid-template-columns:auto minmax(0,1fr) auto}
  .categoryFlowToggle .subtle{display:none}
}

/* V15 — AUDITORÍA DE CAJA */
#view-pos.active{min-height:0;overflow:hidden}
.catalog{grid-template-rows:auto auto auto minmax(0,1fr) auto!important}
.cashierSessionBar{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;align-items:center;
  padding:7px;border:1px solid var(--line);border-radius:11px;background:#fff
}
.newOrderBtn{
  min-height:42px;border:0;border-radius:9px;background:var(--g);color:#fff;
  padding:7px 13px;font-size:10px;font-weight:1000
}
.newOrderBtn.active{background:#173f2b}
.orderSessionState{min-width:0;display:grid;gap:1px}
.orderSessionState strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.orderSessionState small{font-size:7.5px;color:#718093}
.deliveryQueueBtn{
  min-height:38px;border:1px solid #b8dfc5;border-radius:9px;background:#effbf3;color:#0a7133;
  padding:5px 9px;font-size:9px;font-weight:1000
}
.deliveryQueueBtn span{display:inline-grid;place-items:center;min-width:19px;height:19px;border-radius:99px;background:#0d8f43;color:#fff}
.cashierDeliveryPanel{
  display:none;min-height:0;max-height:210px;overflow:hidden;border:1px solid #b9dfc6;
  border-radius:10px;background:#f8fff9;padding:6px
}
.cashierDeliveryPanel.active{display:grid;grid-template-rows:auto minmax(0,1fr);gap:5px}
.cashierDeliveryHead{display:flex;justify-content:space-between;gap:6px;align-items:center}
.cashierDeliveryHead div{display:grid}.cashierDeliveryHead strong{font-size:10px}.cashierDeliveryHead small{font-size:7.5px;color:#718093}
.cashierDeliveryList{min-height:0;overflow:auto;display:grid;align-content:start;gap:4px}
.cashierDeliveryRow{
  min-height:40px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:5px 6px;
  display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:5px;align-items:center
}
.cashierDeliveryRow .info{min-width:0}
.cashierDeliveryRow .info strong{display:block;font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cashierDeliveryRow .info small{display:block;font-size:7px;color:#718093;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cashierDeliveryRow .status{font-size:7px;font-weight:900;padding:3px 5px;border-radius:99px;background:#fff1c9;color:#7b5600}
.cashierDeliveryRow .action{min-height:29px;border:0;border-radius:7px;background:var(--g);color:#fff;font-size:7.5px;font-weight:1000;padding:4px 7px}
.cashierLocked{opacity:.48;pointer-events:none;filter:grayscale(.25)}
@media(max-width:700px){
  .cashierSessionBar{grid-template-columns:1fr auto}
  .orderSessionState{grid-column:1/-1;grid-row:2}
  .newOrderBtn{min-height:40px}
  .cashierDeliveryPanel{max-height:180px}
}


/* V16 — Caja compacta y jerarquía completa */
.saleTree{
  min-height:0;overflow:auto;display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;align-content:start;padding:2px
}
.saleCategory{
  border:1px solid var(--line);border-radius:10px;background:#fff;
  overflow:hidden;min-width:0
}
.saleCategory.open{grid-column:1/-1}
.saleCategoryHead{
  width:100%;min-height:46px;border:0;background:#f8fafb;
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  gap:6px;align-items:center;padding:6px 8px;text-align:left;color:var(--ink)
}
.saleCategoryHead.open{background:#eafff1;border-bottom:1px solid #cdebd7}
.saleCategoryHead strong{
  font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.saleCategoryHead .catCount{
  font-size:7px;padding:3px 6px;border-radius:99px;background:#edf2f5;color:#687688
}
.saleCategoryBody{padding:5px;background:#fff;display:grid;gap:4px}
.saleSubcategory{
  border:1px solid var(--line);border-radius:8px;background:#fbfcfd;overflow:hidden
}
.saleSubcategoryHead{
  width:100%;min-height:35px;border:0;background:#fbfcfd;
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  gap:6px;align-items:center;padding:5px 7px;text-align:left;color:var(--ink)
}
.saleSubcategoryHead.open{background:#f2f8f4}
.saleSubcategoryHead strong{
  font-size:8.8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.saleSubcategoryBody{padding:4px;display:grid;gap:4px}
.saleProductGroup{
  border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden
}
.saleProductHead{
  width:100%;min-height:35px;border:0;background:#fff;
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  gap:6px;align-items:center;padding:5px 7px;text-align:left;color:var(--ink)
}
.saleProductHead strong{
  font-size:8.7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.saleVariantList{padding:4px;background:#f8fafb;display:grid;gap:3px}
.saleVariantRow{
  min-height:38px;display:grid;
  grid-template-columns:minmax(0,1fr) 62px 52px auto;
  gap:5px;align-items:center;padding:4px 6px;
  border:1px solid var(--line);border-radius:7px;background:#fff
}
.saleVariantRow strong{
  display:block;font-size:8.7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.saleVariantRow small{
  display:block;font-size:7px;color:#748194;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.salePrice{font-size:10px;font-weight:1000;text-align:right}
.saleStock{font-size:7px;color:#667587;text-align:center}
.saleAddBtn{
  min-height:30px;border:0;border-radius:7px;background:var(--g);color:#fff;
  padding:4px 8px;font-size:8px;font-weight:1000
}
.saleEmptyCompact{
  grid-column:1/-1;padding:14px;text-align:center;color:var(--ink-soft);font-size:9px
}
@media(max-width:950px){
  .saleTree{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .saleTree{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .saleCategoryHead{min-height:43px;padding:5px 6px}
  .saleCategoryHead strong{font-size:9px}
  .saleVariantRow{grid-template-columns:minmax(0,1fr) 58px auto}
  .saleStock{display:none}
}


/* V17 — Caja: desplegables simplificados */
.saleCategoryBody{padding:5px;display:grid;gap:4px}
.saleDirectProducts{display:grid;gap:4px}
.saleProductGroup.compact{border:0;background:transparent}
.saleProductDirectRow{
  min-height:40px;display:grid;
  grid-template-columns:minmax(0,1fr) 64px 52px auto;
  gap:5px;align-items:center;padding:5px 7px;
  border:1px solid var(--line);border-radius:8px;background:#fff
}
.saleProductDirectRow strong{
  display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.saleProductDirectRow small{
  display:block;font-size:7px;color:#748194;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.saleSubcategoryHead{min-height:34px}
.saleProductHead{min-height:34px}
@media(max-width:700px){
  .saleProductDirectRow{grid-template-columns:minmax(0,1fr) 58px auto}
  .saleProductDirectRow .saleStock{display:none}
}


/* V19 — Caja: eliminado únicamente el paginador obsoleto de productos */
#view-pos .catalog{
  grid-template-rows:auto auto auto minmax(0,1fr)!important;
}
#view-pos #salesAccordion{
  min-height:0!important;
  align-content:start!important;
}

/* V20 — ALERTA DELIVERY PRIORITARIA EN CAJA */
.deliveryAlertBanner{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;gap:8px;min-height:48px;padding:7px 9px;
  border:1px solid #d8e2dc;border-radius:11px;background:#f8faf9;color:#536273;
  cursor:pointer;transition:.15s ease;user-select:none
}
.deliveryAlertBanner.new{
  background:#fff1f1;border-color:#ff9d9d;color:#8f1111;
  box-shadow:0 0 0 2px rgba(220,45,45,.05)
}
.deliveryAlertBanner.new .deliveryAlertIcon{
  background:#d82121;color:#fff
}
.deliveryAlertBanner.new .deliveryAlertCount{
  background:#d82121;color:#fff;animation:deliveryPulse 1s infinite
}
.deliveryAlertBanner.preparing{
  background:#fff8df;border-color:#e7c65f;color:#775700
}
.deliveryAlertBanner.ready{
  background:#ecfff2;border-color:#79c994;color:#096b31
}
.deliveryAlertIcon{
  width:32px;height:32px;border-radius:9px;background:#e9efeb;
  display:grid;place-items:center;font-size:16px
}
.deliveryAlertText{min-width:0;display:grid;gap:1px}
.deliveryAlertText strong{
  font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.deliveryAlertText small{
  font-size:7.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.deliveryAlertCount{
  min-width:28px;height:28px;padding:0 6px;border-radius:99px;
  display:grid;place-items:center;background:#dfe6e1;color:#556273;
  font-size:10px;font-weight:1000
}
@keyframes deliveryPulse{
  0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(216,33,33,.35)}
  50%{transform:scale(1.08);box-shadow:0 0 0 7px rgba(216,33,33,0)}
}
@media(max-width:700px){
  .deliveryAlertBanner{min-height:44px;padding:6px 7px}
  .deliveryAlertText strong{font-size:9px}
  .deliveryAlertText small{font-size:7px}
}


/* V21 — CAJA: interfaz visual priorizada para atención rápida */
#view-pos .posWrap{
  grid-template-columns:minmax(0,1fr) 430px!important;
  gap:10px!important;
}
#view-pos .catalog{
  background:#f7f9f8;
  border:1px solid #e1e8e3;
  border-radius:14px;
  padding:8px;
}
#view-pos .ticket{
  padding:9px!important;
  border:1px solid #dce5df;
  border-radius:14px!important;
  box-shadow:0 8px 24px rgba(20,45,31,.07);
  grid-template-rows:auto auto auto minmax(0,1fr) 30px auto!important;
}
.customerTotalDisplay{
  min-height:88px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:11px 14px;
  border-radius:12px;
  background:linear-gradient(135deg,#0f6b39,#15944e);
  color:#fff;
  box-shadow:0 5px 14px rgba(15,107,57,.16);
}
.customerTotalDisplay div{display:grid;gap:3px}
.customerTotalDisplay small{
  font-size:10px;font-weight:1000;letter-spacing:.08em;opacity:.86
}
.customerTotalDisplay span{
  font-size:9px;opacity:.78
}
.customerTotalDisplay strong{
  font-size:clamp(32px,3.2vw,46px);
  line-height:1;font-weight:1000;letter-spacing:-.04em;
  white-space:nowrap
}
#view-pos .ticketActions{
  display:flex!important;
  justify-content:flex-end;
  gap:5px!important
}
#view-pos .ticketActions button{
  padding:5px 8px!important;
  font-size:9px!important;
  background:#f7f9f8!important
}
#view-pos .ticketHead{
  border-left:0!important;
  padding:2px 1px 5px!important;
  border-bottom:1px solid #e5ebe7;
}
#view-pos .ticketHead h3{
  font-size:13px!important;
  color:#26352c
}
#view-pos .cartHeader{
  background:#f4f7f5;
  border-radius:6px;
  padding:5px 4px!important;
  border-bottom:0!important;
  font-weight:900
}
#view-pos .cartRow{
  padding:7px 3px!important;
}
#view-pos .ticketTotals{
  padding-top:7px!important;
  gap:5px!important
}
#view-pos .bigTotal{
  padding:6px 9px!important;
  font-size:12px!important;
  background:#edf8f1!important;
  border:1px solid #cce8d7
}
#view-pos .bigTotal strong{font-size:20px!important}
#view-pos .chargeDesktop{
  min-height:46px;
  border-radius:10px!important;
  font-size:16px!important;
  box-shadow:0 4px 10px rgba(18,130,68,.15)
}
#view-pos .payRow button{
  min-height:36px;
}
#view-pos .salesTopTools{
  background:#fff;
  padding:5px;
  border:1px solid #e0e7e2;
  border-radius:10px
}
#view-pos .cashierSessionBar{
  background:#fff;
  padding:5px;
  border:1px solid #e0e7e2;
  border-radius:10px
}
#view-pos .saleCategoryHead{
  min-height:40px;
}
@media(max-width:1050px){
  #view-pos .posWrap{grid-template-columns:minmax(0,1fr) 390px!important}
  .customerTotalDisplay strong{font-size:34px}
}
@media(max-width:760px){
  #view-pos .posWrap{grid-template-columns:1fr!important}
  #view-pos .ticket{display:none!important}
}


/* V22 — BODEGA OPERATIVA */
.warehouseShell{height:100%;min-height:0;padding:8px;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:7px;overflow:hidden}
.warehouseTop{display:flex;align-items:center;justify-content:space-between;gap:10px}
.warehouseTopActions{display:flex;gap:6px}
.warehouseKpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.warehouseKpi{min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;display:grid;gap:1px}
.warehouseKpi small{font-size:7px;font-weight:1000;letter-spacing:.08em;color:#68768a}
.warehouseKpi strong{font-size:19px;line-height:1.1;color:#17251d}
.warehouseKpi span{font-size:7.5px;color:#7a8798;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.warehouseKpi.warn{background:#fffaf0;border-color:#ecd9a3}
.warehouseKpi.danger{background:#fff4f4;border-color:#efb3b3}
.warehouseKpi.movement{background:#eefaf2;border-color:#b7dec5}
.warehouseKpi.movement strong{color:#0b7139}
.warehouseModes{display:flex;gap:4px;padding:3px;border:1px solid var(--line);border-radius:10px;background:#f5f8f6}
.warehouseModeBtn{border:0;background:transparent;color:#526072;border-radius:7px;padding:7px 11px;font-size:9px;font-weight:900;cursor:pointer}
.warehouseModeBtn.active{background:#fff;color:#0d6f3a;box-shadow:0 1px 5px rgba(20,40,30,.08)}
.warehouseBody{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:7px}
.warehouseMainPanel{min-height:0;padding:8px!important;overflow:hidden}
.warehousePane{display:none;height:100%;min-height:0}
.warehousePane.active{display:grid}
#warehouseInventoryPane{grid-template-rows:auto auto minmax(0,1fr) auto;gap:6px}
.warehouseToolbar{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:5px}
.warehouseInventoryHead,.warehouseInventoryRow{
 display:grid;grid-template-columns:minmax(0,1.6fr) .8fr .8fr .45fr .55fr;gap:6px;align-items:center
}
.warehouseInventoryHead{padding:0 8px;font-size:7px;font-weight:1000;color:#788596;text-transform:uppercase}
.warehouseInventoryList{min-height:0;overflow:auto;display:grid;align-content:start;gap:4px}
.warehouseInventoryRow{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#fbfcfb;font-size:9px}
.warehouseInventoryRow strong,.warehouseInventoryRow span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.warehouseStock{font-size:13px!important;font-weight:1000}
.warehouseActionHero{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:11px;border-radius:10px;margin-bottom:8px}
.warehouseActionHero div{display:grid;gap:2px}
.warehouseActionHero strong{font-size:13px}
.warehouseActionHero span{font-size:8px}
.warehouseActionHero.inbound{background:#effaf3;border:1px solid #b9dfc6;color:#116635}
.warehouseActionHero.outbound{background:#fff3f3;border:1px solid #efbcbc;color:#8c2424}
.warehouseActionHero.count{background:#f2f6ff;border:1px solid #c7d4ee;color:#294c8e}
.warehouseActionForm{max-width:720px;display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:start}
.warehouseActionForm .warehouseSubmit{grid-column:1/-1;min-height:40px}
.whScanner{font-weight:800;letter-spacing:.02em}
.warehouseCountScanner{display:grid;grid-template-columns:minmax(0,1fr) 90px auto;gap:6px}
.warehouseCountHead,.warehouseCountRow{display:grid;grid-template-columns:minmax(0,1.7fr) .55fr .55fr .55fr;gap:6px;align-items:center}
.warehouseCountHead{font-size:7px;font-weight:1000;color:#788596;padding:0 8px}
.warehouseCountList{min-height:0;overflow:auto;display:grid;align-content:start;gap:4px}
.warehouseCountRow{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#fbfcfb;font-size:9px}
.warehouseCountDiff.plus{color:#067238;font-weight:1000}.warehouseCountDiff.minus{color:#b32222;font-weight:1000}
#warehouseCountPane{grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:6px}
.warehouseCountFooter{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:4px}
.warehouseReportGrid{display:grid;grid-template-columns:1fr 1fr;gap:7px;min-height:0}
#warehouseReportPane{grid-template-rows:minmax(0,1fr) minmax(0,.85fr);gap:7px}
.warehouseReportCard{min-height:0;border:1px solid var(--line);border-radius:10px;background:#fbfcfb;padding:8px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:5px}
.warehouseReportTitle{display:flex;justify-content:space-between;gap:8px;align-items:center}
.warehouseReportTitle strong{font-size:10px}.warehouseReportTitle span{font-size:9px;font-weight:900;color:#0b7139}
.warehouseReportList,.warehouseMovementList{min-height:0;overflow:auto;display:grid;align-content:start;gap:4px}
.warehouseReportRow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;padding:5px;border-bottom:1px solid #edf1ee;font-size:8px}
.warehouseReportRow strong,.warehouseReportRow span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.warehouseSidePanel{min-height:0;padding:9px!important;display:grid;align-content:start;gap:8px;overflow:auto}
.warehouseRule{padding:8px;border-radius:9px;background:#f2f7f4;border:1px solid #d6e5da;display:grid;gap:3px}
.warehouseRule strong{font-size:9px;color:#145d36}.warehouseRule span{font-size:7.5px;line-height:1.35;color:#627064}
.warehouseMiniAlerts{display:grid;gap:5px}.warehouseMiniAlerts>strong{font-size:9px}
.warehouseMiniAlert{display:flex;justify-content:space-between;gap:6px;padding:5px 6px;border-radius:7px;background:#fff5f5;border:1px solid #f0cccc;font-size:7.5px}
@media(max-width:1000px){
 .warehouseKpis{grid-template-columns:repeat(3,1fr)}
 .warehouseBody{grid-template-columns:minmax(0,1fr) 210px}
}
@media(max-width:760px){
 .warehouseShell{overflow:auto;height:auto}
 .warehouseKpis{grid-template-columns:repeat(2,1fr)}
 .warehouseModes{overflow:auto}
 .warehouseModeBtn{white-space:nowrap}
 .warehouseBody{grid-template-columns:1fr}
 .warehouseSidePanel{display:none!important}
 .warehouseActionForm{grid-template-columns:1fr}
 .warehouseReportGrid{grid-template-columns:1fr}
 .warehouseInventoryHead,.warehouseInventoryRow{grid-template-columns:minmax(0,1.5fr) .55fr .6fr}
 .warehouseInventoryHead>:nth-child(2),.warehouseInventoryHead>:nth-child(3),
 .warehouseInventoryRow>:nth-child(2),.warehouseInventoryRow>:nth-child(3){display:none}
}


/* V24 — ADMINISTRACIÓN / DASHBOARD EJECUTIVO */
.adminShell{height:100%;min-height:0;padding:8px;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:7px;overflow:hidden}
.adminHeader{display:flex;justify-content:space-between;align-items:center;gap:10px}
.adminPeriod{display:flex;gap:3px;padding:3px;border:1px solid var(--line);background:#f4f7f5;border-radius:9px}
.adminPeriodBtn{border:0;background:transparent;border-radius:6px;padding:6px 10px;font-size:8px;font-weight:900;color:#637083;cursor:pointer}
.adminPeriodBtn.active{background:#fff;color:#0b7139;box-shadow:0 1px 5px rgba(20,40,30,.08)}
.adminKpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.adminKpi{min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:#fff;display:grid;gap:2px}
.adminKpi small{font-size:7px;font-weight:1000;letter-spacing:.08em;color:#6d798a}
.adminKpi strong{font-size:20px;line-height:1.05;color:#1c2922;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adminKpi span{font-size:7.5px;color:#7a8797}
.adminKpi.primary{background:#eff9f2;border-color:#b8ddc4}.adminKpi.primary strong{color:#0b7139}
.adminKpi.profit{background:#f5f8ff;border-color:#cbd7ee}.adminKpi.profit strong{color:#294f91}
.adminKpi.delivery{background:#fff7ec;border-color:#ead3a9}.adminKpi.delivery strong{color:#8a5b08}
.adminGrid{min-height:0;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr) minmax(0,.82fr);gap:7px}
.adminPanel{min-height:0;padding:9px!important;display:grid;grid-template-rows:auto minmax(0,1fr);gap:7px;overflow:hidden}
.adminPanelHead{display:flex;justify-content:space-between;align-items:center;gap:8px}
.adminPanelHead>div{display:grid;gap:1px}.adminPanelHead strong{font-size:10px}.adminPanelHead span{font-size:7.5px;color:#7b8797}
.adminPanelHead>strong{font-size:13px;color:#0b7139}
.adminBarChart{min-height:0;display:flex;align-items:end;gap:5px;padding:8px 3px 2px;border-bottom:1px solid #e6ece8}
.adminBarCol{height:100%;flex:1;min-width:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:3px;align-items:end;text-align:center}
.adminBarTrack{height:100%;display:flex;align-items:end;justify-content:center}
.adminBar{width:min(28px,70%);min-height:3px;background:#16834a;border-radius:5px 5px 2px 2px}
.adminBarCol small{font-size:6.5px;color:#788596;white-space:nowrap}
.adminChannels{display:grid;align-content:center;gap:8px}
.adminChannelRow{display:grid;grid-template-columns:80px minmax(0,1fr) 52px;gap:6px;align-items:center;font-size:8px}
.adminChannelTrack{height:8px;border-radius:99px;background:#edf1ee;overflow:hidden}
.adminChannelFill{height:100%;background:#16834a;border-radius:99px}
.adminRankList,.adminAlertList,.adminRecentSales{min-height:0;overflow:auto;display:grid;align-content:start;gap:4px}
.adminRankRow{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:6px;align-items:center;padding:5px 6px;border:1px solid #edf1ee;border-radius:7px;font-size:8px}
.adminRankNo{width:20px;height:20px;border-radius:6px;background:#eef6f1;display:grid;place-items:center;font-weight:1000;color:#0b7139}
.adminAlert{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;align-items:center;padding:6px;border-radius:8px;font-size:8px}
.adminAlert.warn{background:#fff9ea;border:1px solid #ead9a5}.adminAlert.danger{background:#fff1f1;border:1px solid #efbcbc}.adminAlert.info{background:#f1f6ff;border:1px solid #cbd8ee}
.adminAlert strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adminAlert span{font-size:7px;color:#6d7886}
.adminRecentPanel{grid-column:1/-1}
.adminRecentHead,.adminRecentRow{display:grid;grid-template-columns:minmax(0,1fr) .65fr .65fr .6fr;gap:7px;align-items:center}
.adminRecentHead{padding:0 6px;font-size:6.5px;font-weight:1000;color:#788596;text-transform:uppercase}
.adminRecentSales{gap:2px}.adminRecentRow{padding:4px 6px;border-bottom:1px solid #edf1ee;font-size:8px}
.adminRecentRow strong:last-child{text-align:right;color:#0b7139}
@media(max-width:1000px){.adminKpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){
 .adminShell{height:auto;overflow:auto}
 .adminKpis{grid-template-columns:repeat(2,1fr)}
 .adminGrid{grid-template-columns:1fr;grid-template-rows:repeat(5,minmax(220px,auto))}
 .adminRecentPanel{grid-column:auto}
}


/* V25 — ADMINISTRACIÓN HISTÓRICA / CONTABLE */
.adminShell{height:100%;min-height:0;padding:8px;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:7px;overflow:hidden}
.adminHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.adminDateControls{display:flex;align-items:flex-end;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.adminDateRange{display:flex;gap:5px}
.adminDateRange label{display:grid;gap:2px;font-size:7px;font-weight:900;color:#6f7a89}
.adminDateRange input{height:30px;border:1px solid var(--line);border-radius:7px;padding:0 7px;font-size:8px;background:#fff}
.adminPeriod{display:flex;gap:3px;padding:3px;border:1px solid var(--line);background:#f4f7f5;border-radius:9px}
.adminPeriodBtn{border:0;background:transparent;border-radius:6px;padding:6px 9px;font-size:8px;font-weight:900;color:#637083;cursor:pointer}
.adminPeriodBtn.active{background:#fff;color:#0b7139;box-shadow:0 1px 5px rgba(20,40,30,.08)}
.adminTabs{display:flex;gap:4px;overflow:auto;padding:3px;border:1px solid var(--line);border-radius:10px;background:#f5f8f6}
.adminTab{border:0;background:transparent;border-radius:7px;padding:7px 11px;font-size:8px;font-weight:900;color:#607083;white-space:nowrap;cursor:pointer}
.adminTab.active{background:#fff;color:#0b7139;box-shadow:0 1px 5px rgba(20,40,30,.08)}
.adminContent{min-height:0;overflow:hidden}
.adminPane{display:none;height:100%;min-height:0}.adminPane.active{display:block}
.adminKpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:7px}
.adminKpi{min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:#fff;display:grid;gap:2px}
.adminKpi small{font-size:7px;font-weight:1000;letter-spacing:.08em;color:#6d798a}
.adminKpi strong{font-size:20px;line-height:1.05;color:#1c2922;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adminKpi span{font-size:7.5px;color:#7a8797}
.adminKpi.primary{background:#eff9f2;border-color:#b8ddc4}.adminKpi.primary strong{color:#0b7139}
.adminKpi.profit{background:#f5f8ff;border-color:#cbd7ee}.adminKpi.profit strong{color:#294f91}
.adminKpi.delivery{background:#fff7ec;border-color:#ead3a9}.adminKpi.delivery strong{color:#8a5b08}
.adminGrid{height:calc(100% - 83px);min-height:0;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr) minmax(0,.82fr);gap:7px}
.adminPanel,.adminTableCard,.adminCashCard{min-height:0;padding:9px!important;display:grid;grid-template-rows:auto minmax(0,1fr);gap:7px;overflow:hidden}
.adminPanelHead{display:flex;justify-content:space-between;align-items:center;gap:8px}
.adminPanelHead>div{display:grid;gap:1px}.adminPanelHead strong{font-size:10px}.adminPanelHead span{font-size:7.5px;color:#7b8797}
.adminPanelHead>strong{font-size:13px;color:#0b7139}
.adminSearch{max-width:280px;height:30px!important}
.adminBarChart{min-height:0;display:flex;align-items:end;gap:5px;padding:8px 3px 2px;border-bottom:1px solid #e6ece8}
.adminBarCol{height:100%;flex:1;min-width:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:3px;align-items:end;text-align:center}
.adminBarTrack{height:100%;display:flex;align-items:end;justify-content:center}.adminBar{width:min(28px,70%);min-height:3px;background:#16834a;border-radius:5px 5px 2px 2px}
.adminBarCol small{font-size:6.5px;color:#788596}
.adminChannels{display:grid;align-content:center;gap:8px}.adminChannelRow{display:grid;grid-template-columns:80px minmax(0,1fr) 52px;gap:6px;align-items:center;font-size:8px}
.adminChannelTrack{height:8px;border-radius:99px;background:#edf1ee;overflow:hidden}.adminChannelFill{height:100%;background:#16834a;border-radius:99px}
.adminRankList,.adminAlertList,.adminRecentSales,.adminHistoryList,.adminCashHistory,.adminAuditList{min-height:0;overflow:auto;display:grid;align-content:start;gap:4px}
.adminRankRow{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:6px;align-items:center;padding:5px 6px;border:1px solid #edf1ee;border-radius:7px;font-size:8px}
.adminRankNo{width:20px;height:20px;border-radius:6px;background:#eef6f1;display:grid;place-items:center;font-weight:1000;color:#0b7139}
.adminAlert{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;align-items:center;padding:6px;border-radius:8px;font-size:8px}
.adminAlert.warn{background:#fff9ea;border:1px solid #ead9a5}.adminAlert.danger{background:#fff1f1;border:1px solid #efbcbc}.adminAlert.info{background:#f1f6ff;border:1px solid #cbd8ee}
.adminRecentPanel{grid-column:1/-1}.adminRecentHead,.adminRecentRow{display:grid;grid-template-columns:minmax(0,1fr) 1fr .7fr .65fr;gap:7px;align-items:center}
.adminRecentHead{padding:0 6px;font-size:6.5px;font-weight:1000;color:#788596;text-transform:uppercase}.adminRecentRow{padding:4px 6px;border-bottom:1px solid #edf1ee;font-size:8px}
.adminRecentRow strong:last-child{text-align:right;color:#0b7139}
.adminTableCard{height:100%}
.adminHistoryHead,.adminHistoryRow{display:grid;grid-template-columns:1fr 1fr .65fr .65fr .8fr .55fr .65fr;gap:6px;align-items:center}
.adminHistoryHead,.adminCashHistoryHead,.adminAuditHead{padding:0 6px;font-size:6.5px;font-weight:1000;color:#788596;text-transform:uppercase}
.adminHistoryRow{padding:6px;border-bottom:1px solid #edf1ee;font-size:8px}.adminHistoryRow strong:last-child{text-align:right;color:#0b7139}
.adminDailyGrid{height:100%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:7px}
.adminDailySummary{min-height:0;overflow:auto;display:grid;align-content:start;gap:5px}
.adminDailyRow{display:grid;grid-template-columns:1fr .7fr .7fr .7fr;gap:6px;padding:6px;border-bottom:1px solid #edf1ee;font-size:8px}
.adminCashGrid{height:100%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto minmax(0,1fr);gap:7px}
.adminCashHistoryCard{grid-column:1/-1}
.adminCashState{padding:9px;border-radius:9px;background:#f3f7f4;border:1px solid #dce7df;font-size:9px}
.adminCashForm{display:grid;grid-template-columns:1fr 1fr;gap:7px;align-content:start}
.adminCashButtons{grid-column:1/-1;display:flex;gap:6px}
.adminCashSummary{display:grid;gap:5px;align-content:start}.adminCashSummaryRow{display:flex;justify-content:space-between;gap:8px;padding:6px;border-bottom:1px solid #edf1ee;font-size:8px}
.adminCashHistoryHead,.adminCashHistoryRow{display:grid;grid-template-columns:1.15fr 1.15fr .7fr .8fr .7fr .7fr;gap:6px;align-items:center}
.adminCashHistoryRow{padding:6px;border-bottom:1px solid #edf1ee;font-size:8px}
.adminAuditHead,.adminAuditRow{display:grid;grid-template-columns:1.1fr .8fr 1.5fr .8fr;gap:6px;align-items:center}
.adminAuditRow{padding:6px;border-bottom:1px solid #edf1ee;font-size:8px}
@media(max-width:1000px){.adminKpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){
 .adminShell{height:auto;overflow:auto}.adminHeader{display:grid}
 .adminDateControls{justify-content:flex-start}.adminDateRange{width:100%}
 .adminDateRange label{flex:1}.adminDateRange input{width:100%}
 .adminKpis{grid-template-columns:repeat(2,1fr)}
 .adminGrid,.adminDailyGrid,.adminCashGrid{height:auto;grid-template-columns:1fr;grid-template-rows:none}
 .adminRecentPanel,.adminCashHistoryCard{grid-column:auto}
 .adminTableCard{min-height:420px}
}


/* V26 — ARQUEO PDF */
.adminCashExportActions{display:flex;gap:5px}
.adminCashPdfBtn{padding:4px 7px!important;font-size:7px!important}
.adminCashHistoryRow button{justify-self:end}
@media(max-width:760px){
  .adminCashExportActions{width:100%}
  .adminCashExportActions .btn{width:100%}
}


/* V27 — CATÁLOGO SIMPLE */
.catalogSimpleShell{height:100%;min-height:0;padding:8px;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:7px;overflow:hidden}
.catalogSimpleHead{display:flex;justify-content:space-between;align-items:center;gap:10px}
.catalogSimpleHeadActions{display:flex;gap:5px;align-items:center}
.catalogSimpleModes{width:max-content}
.catalogSimpleTools{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.6fr) 130px;gap:6px}
.catalogHelpBar{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:6px;border-radius:9px;background:#f2f7f4;border:1px solid #dce9df;font-size:7.5px;color:#526257}
.catalogHelpBar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalogHelpBar strong{color:#0b7139}
#catalogCategoriesPanel{grid-template-rows:auto auto minmax(0,1fr);gap:7px}
.categoryFlowList{min-height:0;overflow:auto;display:grid;align-content:start;gap:6px}
.categoryFlowCard{border:1px solid var(--line);border-radius:11px;background:#fff;overflow:hidden}
.categoryFlowHead{display:flex;align-items:center;gap:5px;padding:5px}
.categoryFlowToggle{min-width:0;flex:1;border:0;background:transparent;display:grid;grid-template-columns:18px minmax(0,1fr) auto auto;gap:6px;align-items:center;text-align:left;padding:6px;cursor:pointer}
.categoryFlowToggle strong{font-size:10px}.categoryFlowToggle .count{font-size:7.5px;background:#edf4ef;padding:3px 6px;border-radius:99px}
.categoryFlowBody{padding:0 7px 7px;display:grid;gap:5px}
.catalogFamilyCard{border:1px solid #e5ebe7;border-radius:9px;background:#fbfcfb;padding:7px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}
.catalogFamilyMain{min-width:0;display:grid;gap:3px}.catalogFamilyTitle{display:flex;gap:6px;align-items:center;min-width:0}
.catalogFamilyTitle strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catalogFamilyMeta{font-size:7.5px;color:#738075;display:flex;gap:7px;flex-wrap:wrap}
.catalogVariantChips{display:flex;gap:4px;flex-wrap:wrap}.catalogVariantChip{font-size:7px;padding:3px 5px;border-radius:6px;background:#eef3f0;color:#53635a}
.catalogFamilyActions{display:flex;gap:4px;align-items:center}.catalogFamilyActions .btn{min-height:28px;padding:3px 7px;font-size:7.5px}
.catalogInactive{opacity:.55}.catalogInactiveBadge{font-size:7px;padding:3px 5px;border-radius:99px;background:#eee;color:#666}
.categoryAddProduct{border:1px dashed #a8cdb5;background:#f3fbf6;color:#126638;border-radius:8px;padding:7px;font-size:8px;font-weight:900;cursor:pointer}
.catalogEditModal{width:min(760px,100%)!important}.catalogEditGrid{padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.catalogVisibilityBox{grid-column:1/-1;border:1px solid #dfe8e2;border-radius:9px;padding:8px;display:flex;gap:12px;align-items:center;font-size:8px}
.catalogVisibilityBox label{display:flex;align-items:center;gap:5px}.catalogEditFoot{display:flex;align-items:center}
.catalogWizardBox{width:min(850px,100%)!important}.catalogWizardSteps{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:8px 12px 0}
.catalogWizardStep{padding:6px;border-radius:8px;background:#f3f5f4;color:#7d8881;display:flex;align-items:center;gap:6px;font-size:8px;font-weight:900}
.catalogWizardStep b{width:20px;height:20px;border-radius:99px;background:#dfe5e1;display:grid;place-items:center}
.catalogWizardStep.active{background:#eaf8ef;color:#0b7139}.catalogWizardStep.active b{background:#0b7139;color:#fff}
.catalogWizardBody{padding:12px;min-height:330px;max-height:62vh;overflow:auto}
.catalogWizardPane{display:none}.catalogWizardPane.active{display:block}
.catalogWizardQuestion{font-size:14px;font-weight:1000;margin-bottom:10px;color:#1c2922}
.catalogWizardGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.catalogVariantQuestion{margin-top:12px;border:1px solid #dce8df;border-radius:10px;padding:10px;display:flex;justify-content:space-between;align-items:center;gap:10px;background:#f8fbf9}
.catalogVariantQuestion>div:first-child{display:grid;gap:2px}.catalogVariantQuestion strong{font-size:9px}.catalogVariantQuestion span{font-size:7.5px;color:#758077}
.catalogYesNo{display:flex;gap:4px}.catalogYesNo button{border:1px solid #cfd9d2;background:#fff;border-radius:7px;padding:7px 13px;font-size:8px;font-weight:900}
.catalogYesNo button.active{background:#0b7139;color:#fff;border-color:#0b7139}
.catalogVariantHint{font-size:8px;padding:8px;border-radius:8px;background:#f4f7f5;margin-bottom:7px}
.catalogAttributeRows,.catalogVariantRows{display:grid;gap:5px;margin-bottom:7px}
.catalogAttributeRow{display:grid;grid-template-columns:150px minmax(0,1fr) 30px;gap:5px}
.catalogAttributeRow button{border:0;border-radius:7px;background:#ffecec;color:#a22;font-weight:900}
.catalogVariantGenerate{display:flex;align-items:center;gap:8px;margin:9px 0}
.catalogVariantRow{display:grid;grid-template-columns:minmax(120px,1.2fr) 1fr .65fr .65fr .55fr;gap:5px;align-items:center;padding:6px;border:1px solid #e4eae6;border-radius:8px}
.catalogVariantRow strong{font-size:8px}.catalogVariantRow .input{min-width:0}
.catalogWizardDone{text-align:center;display:grid;justify-items:center;gap:7px;padding:20px}.catalogDoneIcon{width:50px;height:50px;border-radius:99px;background:#dcf6e5;color:#0b7139;display:grid;place-items:center;font-size:24px;font-weight:1000}
.catalogWizardDone>strong{font-size:15px}.catalogReviewList{width:min(620px,100%);display:grid;gap:5px;margin-top:5px;text-align:left}
.catalogReviewRow{display:flex;justify-content:space-between;gap:8px;padding:7px;border-bottom:1px solid #e9eeeb;font-size:8px}
@media(max-width:760px){
 .catalogSimpleShell{height:auto;overflow:auto}.catalogSimpleHead{display:grid}.catalogSimpleHeadActions{flex-wrap:wrap}
 .catalogSimpleTools{grid-template-columns:1fr}.catalogHelpBar{grid-template-columns:1fr 1fr}
 .catalogFamilyCard{grid-template-columns:1fr}.catalogFamilyActions{justify-content:flex-end}
 .catalogEditGrid,.catalogWizardGrid{grid-template-columns:1fr}.catalogVisibilityBox{grid-column:auto;flex-wrap:wrap}
 .catalogAttributeRow{grid-template-columns:110px minmax(0,1fr) 30px}
 .catalogVariantRow{grid-template-columns:1fr 1fr}.catalogVariantRow strong{grid-column:1/-1}
}


.catalogRecoveryNote{padding:7px 9px;border:1px solid #b8dfc5;background:#effaf3;color:#176437;border-radius:9px;font-size:8px;font-weight:800}


/* V30 — CATÁLOGO RECONSTRUIDO / AISLADO DE CSS LEGACY */
#view-catalog.active{display:block!important;height:100%!important;min-height:0!important;overflow:hidden!important}
#view-catalog .catalogSimpleShell{height:100%!important;min-height:0!important;width:100%!important;padding:8px!important;display:grid!important;grid-template-rows:auto auto minmax(0,1fr)!important;gap:7px!important;overflow:hidden!important}
#view-catalog .catalogSimpleHead{min-height:0!important}
#view-catalog .catalogModeBar{padding:0!important}
#view-catalog .catalogUnifiedWrap{min-height:0!important;height:100%!important;padding:0!important;overflow:hidden!important}
#view-catalog .catalogUnifiedPanel{height:100%!important;min-height:0!important}
#view-catalog #catalogCategoriesPanel.active{display:grid!important;grid-template-rows:auto auto minmax(0,1fr)!important;gap:7px!important}
#view-catalog .categoryFlowList{min-height:0!important;overflow:auto!important;-webkit-overflow-scrolling:touch}
@media(max-width:760px){
  #view-catalog.active{overflow:auto!important}
  #view-catalog .catalogSimpleShell{height:auto!important;min-height:100%!important;overflow:visible!important;grid-template-rows:auto auto auto!important}
  #view-catalog .catalogSimpleHead{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  #view-catalog .catalogSimpleHeadActions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
  #view-catalog .catalogSimpleHeadActions .storageStatus{grid-column:1/-1}
  #view-catalog .catalogSimpleHeadActions .btn{width:100%!important;min-height:40px!important}
  #view-catalog .catalogSimpleModes{width:100%!important;grid-template-columns:1fr 1fr!important}
  #view-catalog .catalogUnifiedWrap{height:auto!important;overflow:visible!important}
  #view-catalog .catalogUnifiedPanel{height:auto!important;overflow:visible!important}
  #view-catalog #catalogCategoriesPanel.active{grid-template-rows:auto auto auto!important}
  #view-catalog .categoryFlowList{overflow:visible!important}
  #view-catalog .catalogSimpleTools{grid-template-columns:1fr!important}
  #view-catalog .catalogHelpBar{grid-template-columns:1fr 1fr!important}
}


/* V31 — CATÁLOGO: CATEGORÍA > PRODUCTO > CÓDIGO > VARIANTES */
.catalogWizardSteps{grid-template-columns:repeat(4,1fr)!important}
.catalogCategoryLocked{
  padding:10px;border:1px solid #cde5d5;background:#f3fbf6;border-radius:10px;
  display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center
}
.catalogCategoryLocked span{font-size:8px;color:#68786e;font-weight:800}
.catalogCategoryLocked strong{font-size:13px;color:#0b7139}
.catalogCategoryLocked small{grid-column:1/-1;color:#7b887e;font-size:7.5px}
.catalogBarcodeCard{
  border:2px solid #9ed9b1;background:#f1fff6;border-radius:12px;padding:12px;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.8fr);gap:12px;align-items:center
}
.catalogBarcodeCard>div:first-child{display:grid;gap:4px}
.catalogBarcodeCard strong{font-size:11px;color:#126437}
.catalogBarcodeCard span{font-size:8px;color:#627269;line-height:1.35}
.catalogBarcodeInput{font-size:15px!important;font-weight:900!important;letter-spacing:.04em}
.catalogBarcodeOk{grid-column:2;color:#68776e;font-size:8px;font-weight:800}
.catalogBarcodeOk.ok{color:#0b7139}
.catalogBarcodeOk.error{color:#b32626}
.catalogBarcodeCard.variant{grid-template-columns:36px minmax(0,1fr);border-color:#bfd6ed;background:#f5f9ff}
.catalogBarcodeIcon{font-size:24px;color:#315e99}
.catalogBarcodeExample{margin-top:8px;padding:9px;border:1px solid #e1e7e3;border-radius:9px;display:grid;gap:4px;font-size:8px}
.catalogBarcodeExample span{color:#78857c}.catalogBarcodeExample strong{font-size:8px}
.catalogSimpleReady{border:1px solid #b9dfc6;background:#f1fff6;border-radius:12px;padding:18px;display:grid;justify-items:center;gap:5px;text-align:center}
.catalogSimpleReady strong{font-size:13px;color:#0b7139}.catalogSimpleReady span{font-size:16px;font-weight:1000}.catalogSimpleReady small{color:#718078}
.catalogVariantColumns{
  display:grid;grid-template-columns:minmax(120px,1.2fr) 1fr .65fr .65fr .55fr;
  gap:5px;padding:0 6px 4px;font-size:7px;font-weight:900;color:#748177
}
.catalogScannerTip{font-size:8px;padding:8px;border-radius:8px;background:#f2f6f3;color:#5e6e64}
@media(max-width:760px){
  .catalogWizardSteps{grid-template-columns:repeat(4,minmax(72px,1fr))!important;overflow:auto}
  .catalogWizardStep{padding:5px!important}.catalogWizardStep span{font-size:7px}
  .catalogBarcodeCard{grid-template-columns:1fr}
  .catalogBarcodeOk{grid-column:auto}
  .catalogVariantColumns{display:none}
}


/* V32 — CATÁLOGO GENERAL */
.catalogV32Shell{height:100%;min-height:0;padding:9px;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:9px;overflow:hidden}
.catalogV32Head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.catalogV32TopActions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.catalogV32Action{min-height:92px;border:1px solid var(--line);border-radius:15px;background:#fff;padding:14px;display:grid;grid-template-columns:50px minmax(0,1fr);gap:10px;align-items:center;text-align:left;color:var(--ink);box-shadow:0 4px 14px rgba(20,32,48,.04)}
.catalogV32Action.active{border-color:#8fd6aa;background:#f1fff6}
.catalogV32Action strong{display:block;font-size:17px}.catalogV32Action small{display:block;margin-top:4px;color:#728075;font-size:9px}
.catalogActionIcon{width:44px;height:44px;border-radius:12px;background:#eff8f2;color:#0b7139;display:grid;place-items:center;font-size:22px;font-weight:1000}
.catalogV32Inventory{border:1px solid #8bd3a6;background:#f0fff5;border-radius:15px;padding:13px 16px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;color:var(--ink)}
.catalogV32Inventory.active{box-shadow:0 0 0 2px rgba(10,166,64,.12) inset}
.catalogV32Inventory strong{display:block;font-size:16px}.catalogV32Inventory small{display:block;margin-top:3px;color:#6c7d71;font-size:9px}.catalogV32Inventory b{font-size:28px}
.catalogInventoryIcon{width:42px;height:42px;border-radius:11px;background:#daf7e4;color:#0b7139;display:grid;place-items:center;font-size:21px}
.catalogV32Pane{display:none;min-height:0;overflow:hidden}.catalogV32Pane.active{display:grid;grid-template-rows:minmax(0,.95fr) minmax(0,1.15fr);gap:9px}
#catalogInventoryPane.active,#catalogPromosPane.active{grid-template-rows:minmax(0,1fr)}
.catalogV32Panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:11px;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;overflow:hidden}
.catalogV32PanelHead{display:flex;justify-content:space-between;align-items:center;gap:9px}.catalogV32PanelHead>div{display:grid;gap:2px}.catalogV32PanelHead strong{font-size:15px}.catalogV32PanelHead span{font-size:9px;color:#708078}.catalogV32PanelHead .input{max-width:310px}
.catalogV32CategoryGrid{min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-content:start}
.catalogV32CategoryCard{border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px;display:grid;grid-template-columns:38px minmax(0,1fr);gap:8px;align-items:center;text-align:left;cursor:pointer}
.catalogV32CategoryCard.active{border-color:#70cf92;background:#effdf4}.catalogV32CategoryIcon{width:34px;height:34px;border-radius:10px;background:#f4f8f5;color:#0b7139;display:grid;place-items:center;font-size:18px}
.catalogV32CategoryCard strong{display:block;font-size:10px}.catalogV32CategoryCard span{display:block;font-size:8px;color:#748278;margin-top:2px}
.catalogV32ProductsPanel{grid-template-rows:auto auto minmax(0,1fr)}
.catalogV32ProductHead,.catalogV32ProductRow{display:grid;grid-template-columns:minmax(0,1.4fr) 1fr .6fr .6fr .9fr;gap:7px;align-items:center}
.catalogV32ProductHead{padding:0 7px;font-size:7px;font-weight:1000;color:#788596;text-transform:uppercase}
.catalogV32ProductList{min-height:0;overflow:auto;display:grid;align-content:start;gap:4px}
.catalogV32ProductRow{padding:7px;border:1px solid #edf1ee;border-radius:8px;font-size:8px;background:#fbfcfb}
.catalogV32ProductMain{min-width:0}.catalogV32ProductMain strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px}.catalogV32ProductMain small{color:#748278;font-size:7px}
.catalogV32ProductActions{display:flex;gap:4px;justify-content:flex-end}.catalogV32ProductActions .btn{min-height:28px;padding:4px 7px;font-size:7px}
.catalogStatusBadge{display:inline-flex;padding:3px 6px;border-radius:99px;font-size:7px;font-weight:900;background:#dcf8e6;color:#0b7333}.catalogStatusBadge.off{background:#eee;color:#666}
.catalogV32InventoryHead,.catalogV32InventoryRow{display:grid;grid-template-columns:minmax(0,1.4fr) .8fr .9fr .55fr .55fr .8fr;gap:7px;align-items:center}
.catalogV32InventoryHead{padding:0 7px;font-size:7px;font-weight:1000;color:#788596;text-transform:uppercase}
.catalogV32InventoryList{min-height:0;overflow:auto;display:grid;align-content:start;gap:4px}.catalogV32InventoryRow{padding:7px;border:1px solid #edf1ee;border-radius:8px;background:#fbfcfb;font-size:8px}
@media(max-width:760px){
 .catalogV32Shell{height:auto;overflow:auto;padding:8px}
 .catalogV32Head{display:grid}
 .catalogV32TopActions{grid-template-columns:1fr 1fr}
 .catalogV32Action{min-height:118px;grid-template-columns:1fr;justify-items:center;text-align:center;padding:12px}
 .catalogV32Action strong{font-size:14px}.catalogV32Action small{font-size:8px}
 .catalogV32Inventory{padding:12px}
 .catalogV32Pane.active{display:grid;grid-template-rows:auto auto;overflow:visible}
 .catalogV32Panel{overflow:visible}
 .catalogV32CategoryGrid{grid-template-columns:1fr 1fr;overflow:visible}
 .catalogV32PanelHead{align-items:flex-start;flex-wrap:wrap}.catalogV32PanelHead .input{max-width:none;width:100%}
 .catalogV32ProductHead,.catalogV32ProductRow{grid-template-columns:minmax(0,1fr) .85fr .55fr .7fr}
 .catalogV32ProductHead>:nth-child(3),.catalogV32ProductRow>:nth-child(3){display:none}
 .catalogV32InventoryHead,.catalogV32InventoryRow{grid-template-columns:minmax(0,1fr) .8fr .75fr .7fr}
 .catalogV32InventoryHead>:nth-child(2),.catalogV32InventoryRow>:nth-child(2),
 .catalogV32InventoryHead>:nth-child(4),.catalogV32InventoryRow>:nth-child(4){display:none}
}


/* V33 — CATÁLOGO COMPACTO / DESPLEGABLE */
.catalogV33Shell{height:100%;min-height:0;padding:9px;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:8px;overflow:hidden}
.catalogV33Head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.catalogV33Actions{display:flex;gap:6px;flex-wrap:wrap}
.catalogV33Pane{display:none;min-height:0;overflow:hidden}.catalogV33Pane.active{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:7px}
#catalogInventoryPane.active,#catalogPromosPane.active{grid-template-rows:auto minmax(0,1fr)}
.catalogV33Toolbar{display:flex;gap:7px;align-items:center;justify-content:space-between}
.catalogV33Toolbar .input{max-width:420px}
.catalogV33Help{font-size:8px;color:#5f6f64;background:#f3f8f5;border:1px solid #dce8df;border-radius:8px;padding:7px 9px}
.catalogV33Accordion{min-height:0;overflow:auto;display:grid;align-content:start;gap:6px}
.catalogV33Category{border:1px solid var(--line);border-radius:11px;background:#fff;overflow:hidden}
.catalogV33CategoryHead{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;padding:6px}
.catalogV33CategoryToggle{border:0;background:transparent;display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:7px;align-items:center;text-align:left;padding:6px;min-width:0}
.catalogV33CategoryToggle strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catalogV33CategoryToggle span{font-size:8px;color:#728078}
.catalogV33Chevron{font-size:13px;color:#0b7139!important;font-weight:1000}
.catalogV33CategoryActions{display:flex;gap:4px}
.catalogV33CategoryActions .btn{min-height:30px;padding:4px 8px;font-size:7.5px}
.catalogV33CategoryBody{padding:0 8px 8px;display:grid;gap:5px}
.catalogV33AddProduct{border:1px dashed #93cfa8;background:#f2fff6;color:#0b7139;border-radius:8px;padding:7px;font-size:8px;font-weight:900}
.catalogV33Product{border:1px solid #e8edea;border-radius:8px;background:#fbfcfb;overflow:hidden}
.catalogV33ProductHead{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;padding:6px}
.catalogV33ProductToggle{border:0;background:transparent;display:grid;grid-template-columns:18px minmax(0,1fr) auto auto;gap:6px;align-items:center;text-align:left;padding:5px;min-width:0}
.catalogV33ProductToggle strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catalogV33ProductToggle span{font-size:7.5px;color:#748077}
.catalogV33ProductActions{display:flex;gap:4px}
.catalogV33ProductActions .btn{min-height:28px;padding:3px 7px;font-size:7px}
.catalogV33Variants{padding:0 8px 8px;display:grid;gap:4px}
.catalogV33VariantRow{display:grid;grid-template-columns:minmax(0,1fr) 1fr .6fr .6fr;gap:6px;align-items:center;padding:6px;border:1px solid #edf1ee;border-radius:7px;background:#fff;font-size:7.5px}
.catalogV33VariantRow strong{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catalogV33InventoryList{min-height:0;overflow:auto;display:grid;align-content:start;gap:5px}
.catalogV33InventoryRow{display:grid;grid-template-columns:minmax(0,1.3fr) .75fr 1fr .55fr .8fr;gap:6px;align-items:center;padding:7px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:8px}
.catalogV33InventoryRow .btn{min-height:28px;padding:3px 7px;font-size:7px}
.catalogV33NoPhoto{display:none!important}
@media(max-width:760px){
  .catalogV33Shell{height:auto;overflow:auto;padding:7px}
  .catalogV33Head{display:grid}
  .catalogV33Actions{display:grid;grid-template-columns:1fr 1fr}
  .catalogV33Actions .btn:first-child{grid-column:1/-1}
  .catalogV33Pane.active{overflow:visible}
  .catalogV33Toolbar{display:grid}.catalogV33Toolbar .input{max-width:none}
  .catalogV33Accordion,.catalogV33InventoryList{overflow:visible}
  .catalogV33CategoryHead{grid-template-columns:minmax(0,1fr) auto}
  .catalogV33CategoryActions{flex-wrap:wrap;justify-content:flex-end}
  .catalogV33ProductHead{grid-template-columns:minmax(0,1fr) auto}
  .catalogV33ProductActions{flex-wrap:wrap;justify-content:flex-end}
  .catalogV33VariantRow{grid-template-columns:minmax(0,1fr) 1fr .6fr}
  .catalogV33VariantRow>:nth-child(4){display:none}
  .catalogV33InventoryRow{grid-template-columns:minmax(0,1fr) .9fr .7fr}
  .catalogV33InventoryRow>:nth-child(2),.catalogV33InventoryRow>:nth-child(4){display:none}
}


.catalogV34DeleteNote{
  font-size:8px;color:#7a3b3b;background:#fff4f4;border:1px solid #efc9c9;
  border-radius:8px;padding:7px 9px
}


/* V35 — CATÁLOGO CLARO Y JERÁRQUICO */
.catalogV35Shell{
  height:100%; min-height:0; padding:9px;
  display:grid; grid-template-rows:auto auto minmax(0,1fr);
  gap:8px; overflow:hidden;
}
.catalogV35Head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.catalogV35Top{display:flex;gap:7px;flex-wrap:wrap}
.catalogV35Main,.catalogV35Promos{display:none;min-height:0;overflow:hidden}
.catalogV35Main.active{
  display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:7px
}
.catalogV35Promos.active{
  display:grid;grid-template-rows:auto minmax(0,1fr);gap:7px
}
.catalogV35SectionHead{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
}
.catalogV35SectionHead>div{display:grid;gap:2px}
.catalogV35SectionHead strong{font-size:14px}
.catalogV35SectionHead span{font-size:8px;color:#6d7b72}
.catalogV35SectionHead .input{max-width:390px}
.catalogV35Guide{
  font-size:8px;color:#5f6d64;background:#f3f8f5;
  border:1px solid #dbe8df;border-radius:8px;padding:7px 9px
}
.catalogV35Categories{
  min-height:0;overflow:auto;display:grid;align-content:start;gap:6px
}
.catalogV35Category{
  border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden
}
.catalogV35CategoryHead{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;
  align-items:center;padding:6px
}
.catalogV35CategoryToggle{
  border:0;background:transparent;display:grid;
  grid-template-columns:20px minmax(0,1fr) auto;
  gap:7px;align-items:center;text-align:left;padding:6px;min-width:0
}
.catalogV35CategoryToggle strong{
  font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.catalogV35CategoryToggle small{font-size:8px;color:#748078}
.catalogV35Chevron{font-size:13px;color:#0b7139;font-weight:1000}
.catalogV35CategoryActions{display:flex;gap:4px}
.catalogV35CategoryActions .btn{min-height:29px;padding:4px 8px;font-size:7.5px}
.catalogV35CategoryBody{padding:0 8px 8px;display:grid;gap:5px}
.catalogV35Empty{
  border:1px dashed #cbd7cf;border-radius:8px;padding:11px;text-align:center;
  color:#6e7b72;font-size:8px
}
.catalogV35Product{
  border:1px solid #e7ece9;border-radius:8px;background:#fbfcfb;overflow:hidden
}
.catalogV35ProductHead{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;padding:6px
}
.catalogV35ProductToggle{
  border:0;background:transparent;display:grid;
  grid-template-columns:18px minmax(0,1fr) auto auto;
  gap:6px;align-items:center;text-align:left;padding:5px;min-width:0
}
.catalogV35ProductToggle strong{
  font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.catalogV35ProductToggle span{font-size:7.5px;color:#728078}
.catalogV35ProductActions{display:flex;gap:4px}
.catalogV35ProductActions .btn{min-height:27px;padding:3px 7px;font-size:7px}
.catalogV35Variants{padding:0 8px 8px;display:grid;gap:4px}
.catalogV35Variant{
  display:grid;grid-template-columns:minmax(0,1fr) 1fr .65fr .55fr;
  gap:6px;align-items:center;padding:6px;border:1px solid #edf1ee;
  border-radius:7px;background:#fff;font-size:7.5px
}
.catalogV35Variant strong{
  font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.catalogV35DeleteNote{
  margin-top:2px;font-size:7.5px;color:#7a3b3b;background:#fff5f5;
  border:1px solid #efd0d0;border-radius:7px;padding:6px 8px
}
@media(max-width:760px){
  .catalogV35Shell{height:auto;overflow:auto;padding:7px}
  .catalogV35Head{display:grid}
  .catalogV35Top{display:grid;grid-template-columns:1fr 1fr}
  .catalogV35Main.active,.catalogV35Promos.active{overflow:visible}
  .catalogV35SectionHead{display:grid}
  .catalogV35SectionHead .input{max-width:none;width:100%}
  .catalogV35Categories{overflow:visible}
  .catalogV35CategoryHead{grid-template-columns:minmax(0,1fr) auto}
  .catalogV35CategoryActions,.catalogV35ProductActions{flex-wrap:wrap;justify-content:flex-end}
  .catalogV35ProductToggle{grid-template-columns:18px minmax(0,1fr) auto}
  .catalogV35ProductToggle>span:last-child{display:none}
  .catalogV35Variant{grid-template-columns:minmax(0,1fr) 1fr .65fr}
  .catalogV35Variant>:nth-child(4){display:none}
}


/* V36 — Constructor jerárquico de variantes */
.catalogAttributeRow{display:grid!important;grid-template-columns:minmax(135px,.65fr) minmax(260px,1.6fr) 32px!important;gap:6px!important;align-items:center}
.catalogAttributeRow::before{display:none!important}.catalogAttributeRow input:first-child{font-weight:900;background:#f5faf6}.catalogVariantHint{line-height:1.45}
.catalogHierarchyPreview{margin-top:8px;border:1px solid #dce8df;border-radius:9px;background:#f8fbf9;padding:8px;display:grid;gap:4px;font-size:8px}.catalogHierarchyPreview strong{color:#0b7139}
@media(max-width:760px){.catalogAttributeRow{grid-template-columns:1fr 1fr 30px!important}}
.saleFamilyV36{border:1px solid #e1e9e4;border-radius:10px;background:#fff;overflow:hidden;margin-bottom:5px}.saleFamilyHeadV36{width:100%;border:0;background:#fff;padding:8px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:7px;align-items:center;text-align:left}.saleFamilyHeadV36 strong{font-size:10px}.saleFamilyHeadV36 small{font-size:7.5px;color:#718078}.saleFamilyBodyV36{padding:0 8px 8px;display:grid;gap:6px}.saleLevelTitleV36{font-size:7px;font-weight:1000;color:#718078;text-transform:uppercase}.saleChoiceGridV36{display:flex;gap:5px;flex-wrap:wrap}.saleChoiceV36{border:1px solid #cddbd1;background:#fff;border-radius:8px;padding:7px 9px;font-size:8px;font-weight:900;color:#243329}.saleChoiceV36.active{border-color:#69c988;background:#edfdf3;color:#0b7139}.saleSkuV36{border:1px solid #dfe8e2;border-radius:8px;background:#fbfcfb;padding:7px;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:6px;align-items:center}.saleSkuV36 strong{font-size:8.5px}.saleSkuV36 small{font-size:7px;color:#728078}.saleSkuPriceV36{font-weight:1000;font-size:8px}.saleSkuStockV36{font-size:7px;color:#65746a}@media(max-width:760px){.saleSkuV36{grid-template-columns:minmax(0,1fr) auto auto}.saleSkuStockV36{display:none}}


/* V37 — PROMOCIONES DELIVERY */
.promoPriceSummary{
  margin-top:8px;border:1px solid #dce8df;border-radius:10px;background:#f8fbf9;
  padding:9px;display:grid;gap:6px
}
.promoPriceLine{display:flex;justify-content:space-between;gap:10px;font-size:8px}
.promoPriceLine strong{font-size:9px}
.promoPriceLine.final{border-top:1px solid #dce8df;padding-top:7px;color:#0b7139}
.promoDiscountTools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:end}
.promoQuickDiscounts{display:flex;gap:4px;flex-wrap:wrap}
.promoQuickDiscounts button{min-height:28px;padding:4px 8px;font-size:7px}
.promoPickV37{
  display:grid;grid-template-columns:22px minmax(0,1fr) 76px 62px 58px;
  gap:6px;align-items:center;padding:6px;border:1px solid #e7ece9;border-radius:8px;background:#fff
}
.promoPickV37 .promoName{min-width:0}
.promoPickV37 .promoName strong{display:block;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.promoPickV37 .promoName small{display:block;font-size:7px;color:#728078;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.promoPriceCell{font-size:7.5px;text-align:right}
.promoPriceCell small{display:block;color:#7a887f;font-size:6.5px}
.promoQty{width:58px!important}
.promoTableHeadV37{
  display:grid;grid-template-columns:22px minmax(0,1fr) 76px 62px 58px;
  gap:6px;padding:0 6px;font-size:6.5px;font-weight:1000;color:#748078;text-transform:uppercase
}
@media(max-width:760px){
  .promoPickV37,.promoTableHeadV37{grid-template-columns:22px minmax(0,1fr) 68px 52px}
  .promoPickV37>:nth-child(4),.promoTableHeadV37>:nth-child(4){display:none}
  .promoQty{width:50px!important}
}


/* V38 — DELIVERY STORE EXPERIENCE */
.deliveryStoreShell{
  min-height:100%;background:#f5f7f5;color:#172119;
  display:grid;grid-template-rows:auto auto minmax(0,1fr) auto
}
.deliveryStoreTop{
  position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);
  backdrop-filter:blur(10px);border-bottom:1px solid #e6ece8;padding:10px
}
.deliveryBrandRow{display:flex;align-items:center;justify-content:space-between;gap:10px}
.deliveryBrand{
  display:flex;align-items:center;gap:9px;font-weight:1000;font-size:15px
}
.deliveryBrandMark{
  width:34px;height:34px;border-radius:12px;background:#0b7139;color:#fff;
  display:grid;place-items:center;font-weight:1000
}
.deliveryCartMini{
  border:1px solid #d9e6dd;background:#fff;border-radius:12px;padding:8px 10px;
  display:flex;align-items:center;gap:7px;font-size:8px;font-weight:900
}
.deliverySearch{
  margin-top:8px;width:100%;border:1px solid #d9e4dc;border-radius:12px;
  padding:10px 12px;background:#fff;font-size:9px;outline:none
}
.deliveryPromoRail{
  display:flex;gap:8px;overflow:auto;padding:10px;scrollbar-width:none
}
.deliveryPromoRail::-webkit-scrollbar{display:none}
.deliveryPromoCard{
  flex:0 0 min(78vw,310px);border-radius:16px;padding:13px;
  background:linear-gradient(135deg,#0b7139,#175b35);color:#fff;
  display:grid;gap:7px;box-shadow:0 8px 22px rgba(10,62,33,.14)
}
.deliveryPromoCard .badge{
  justify-self:start;background:rgba(255,255,255,.17);border-radius:999px;
  padding:4px 8px;font-size:7px;font-weight:1000
}
.deliveryPromoCard strong{font-size:15px;line-height:1.1}
.deliveryPromoMeta{font-size:8px;opacity:.9}
.deliveryPromoPrice{display:flex;align-items:end;gap:8px}
.deliveryPromoPrice .old{text-decoration:line-through;opacity:.72;font-size:8px}
.deliveryPromoPrice .new{font-size:18px;font-weight:1000}
.deliveryPromoActions{display:flex;justify-content:flex-end}
.deliveryPromoActions button{
  border:0;background:#fff;color:#0b7139;border-radius:10px;padding:8px 11px;
  font-size:8px;font-weight:1000
}
.deliveryCategoryRail{
  display:flex;gap:6px;overflow:auto;padding:0 10px 10px;scrollbar-width:none
}
.deliveryCategoryRail::-webkit-scrollbar{display:none}
.deliveryCategoryChip{
  flex:0 0 auto;border:1px solid #dce8df;background:#fff;border-radius:999px;
  padding:8px 11px;font-size:8px;font-weight:900;color:#4f5f54
}
.deliveryCategoryChip.active{background:#0b7139;border-color:#0b7139;color:#fff}
.deliveryStoreMain{padding:0 10px 100px;min-height:0}
.deliveryStoreSectionHead{
  display:flex;justify-content:space-between;align-items:end;gap:10px;margin:5px 0 8px
}
.deliveryStoreSectionHead strong{font-size:13px}
.deliveryStoreSectionHead span{font-size:7.5px;color:#768279}
.deliveryProductGrid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px
}
.deliveryProductCard{
  border:1px solid #e2e9e4;background:#fff;border-radius:14px;padding:10px;
  display:grid;gap:7px;min-width:0
}
.deliveryProductCard strong{
  font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.deliveryProductSub{font-size:7.5px;color:#738078;min-height:20px}
.deliveryProductPrice{font-size:12px;font-weight:1000}
.deliveryProductCard button{
  border:0;background:#0b7139;color:#fff;border-radius:10px;padding:8px;
  font-size:8px;font-weight:1000
}
.deliveryVariantBox{
  border:1px solid #dfe9e2;background:#fbfcfb;border-radius:11px;padding:8px;
  display:grid;gap:7px
}
.deliveryVariantLevel{display:grid;gap:5px}
.deliveryVariantLevel>span{font-size:7px;font-weight:1000;color:#6d7c72;text-transform:uppercase}
.deliveryVariantChoices{display:flex;gap:5px;flex-wrap:wrap}
.deliveryVariantChoice{
  border:1px solid #d4e1d8;background:#fff;border-radius:9px;padding:7px 8px;
  font-size:7.5px;font-weight:900;color:#415047
}
.deliveryVariantChoice.active{background:#edfdf3;border-color:#6bc98a;color:#0b7139}
.deliverySelectedSku{
  border-top:1px solid #e3e9e5;padding-top:7px;display:flex;justify-content:space-between;gap:7px;align-items:center
}
.deliveryCartBar{
  position:fixed;left:0;right:0;bottom:0;z-index:30;padding:9px 10px;
  background:linear-gradient(to top,rgba(245,247,245,1),rgba(245,247,245,.92),rgba(245,247,245,0))
}
.deliveryCartBarInner{
  max-width:720px;margin:0 auto;background:#15251a;color:#fff;border-radius:14px;
  padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:10px;
  box-shadow:0 8px 24px rgba(0,0,0,.17)
}
.deliveryCartBarInner button{
  border:0;background:#fff;color:#0b7139;border-radius:10px;padding:9px 12px;
  font-size:8px;font-weight:1000
}
.deliveryCartDrawer{
  position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.35);display:none;align-items:end
}
.deliveryCartDrawer.active{display:flex}
.deliveryCartPanel{
  width:100%;max-height:82vh;background:#fff;border-radius:18px 18px 0 0;
  padding:12px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px
}
.deliveryCartItems{overflow:auto;display:grid;align-content:start;gap:6px}
.deliveryCartItem{
  border:1px solid #e3e9e5;border-radius:10px;padding:8px;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px
}
.deliveryCartItem strong{font-size:8.5px}
.deliveryCartItem small{font-size:7px;color:#758079}
.deliveryQtyControls{display:flex;gap:4px;align-items:center}
.deliveryQtyControls button{
  border:1px solid #dce6df;background:#fff;border-radius:8px;width:28px;height:28px;font-weight:1000
}
.deliveryCartSummary{
  border-top:1px solid #e1e8e3;padding-top:8px;display:grid;gap:6px
}
.deliveryCartSummaryLine{display:flex;justify-content:space-between;font-size:8px}
.deliveryCheckoutBtn{
  width:100%;border:0;background:#0b7139;color:#fff;border-radius:11px;padding:11px;
  font-size:9px;font-weight:1000
}
@media(min-width:760px){
  .deliveryStoreShell{max-width:1180px;margin:0 auto;background:#f5f7f5}
  .deliveryPromoCard{flex-basis:360px}
  .deliveryProductGrid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .deliveryStoreMain{padding-left:16px;padding-right:16px}
  .deliveryCategoryRail,.deliveryPromoRail{padding-left:16px;padding-right:16px}
}


/* V39 — Delivery cliente real */
#customer-step-shop{overflow:auto!important;background:#f5f7f5}
#customerStoreRoot{background:#f5f7f5}
.customerApp.v39store{
  grid-template-rows:0 minmax(0,1fr)!important;
  background:#f5f7f5
}
.customerApp.v39store>.customerTop{display:none!important}
.deliveryStoreShell.v39customer{min-height:100dvh}
.v39PromoEmpty{
  margin:10px;border:1px dashed #d9e4dc;border-radius:12px;padding:12px;
  text-align:center;font-size:8px;color:#728078;background:#fff
}
.v39PromoCard{
  flex:0 0 min(82vw,330px);
}
.v39PromoDiscount{
  font-size:7.5px;font-weight:1000;background:#fff;color:#0b7139;
  border-radius:999px;padding:4px 7px
}
.v39CartPromo{
  border:1px solid #cfe7d7;background:#f1fff5
}
.v39CartType{font-size:6.5px;font-weight:1000;text-transform:uppercase;color:#0b7139}
.v39StoreTitle{display:grid;gap:1px}
.v39StoreTitle strong{font-size:14px}
.v39StoreTitle small{font-size:7.5px;color:#718078;font-weight:700}
.v39ProductCardButton{width:100%}
.v39SoldOut{opacity:.5}


/* V40 — recuperación visible del módulo Delivery */
.v40DeliveryError{
  min-height:55vh;display:grid;place-items:center;align-content:center;gap:8px;
  padding:20px;text-align:center;background:#f5f7f5;color:#26332a
}
.v40DeliveryError strong{font-size:14px}
.v40DeliveryError span{font-size:8px;color:#728078;max-width:420px}
.v40DeliveryError button{
  border:0;background:#0b7139;color:#fff;border-radius:10px;padding:9px 12px;
  font-size:8px;font-weight:1000
}


/* V42 — Delivery siempre visible al abrir desde Apps */
#customerApp.v42ForcedOpen{
  display:grid!important;
  position:fixed!important;
  inset:0!important;
  z-index:99999!important;
  width:100vw!important;
  height:100dvh!important;
}


/* V43 — DEMO DELIVERY ROBUSTO */
#deliveryDemoOverlayV43{
  position:fixed;inset:0;z-index:120000;background:#f4f7f5;display:none;
  width:100vw;height:100dvh;overflow:auto;color:#152238
}
#deliveryDemoOverlayV43.active{display:block!important}
.v43Store{
  min-height:100%;max-width:1180px;margin:0 auto;background:#f4f7f5;
  padding-bottom:92px
}
.v43Top{
  position:sticky;top:0;z-index:10;background:#ffffffee;backdrop-filter:blur(10px);
  border-bottom:1px solid #e0e8e3;padding:10px 12px
}
.v43TopRow{display:flex;justify-content:space-between;align-items:center;gap:8px}
.v43Brand{display:grid;gap:1px}
.v43Brand strong{font-size:16px;color:#0b7139}
.v43Brand small{font-size:8px;color:#6d7b72}
.v43Close,.v43CartBtn{
  border:0;border-radius:11px;padding:9px 11px;font-size:8px;font-weight:1000
}
.v43Close{background:#eef3ef;color:#34443a}
.v43CartBtn{background:#0b7139;color:white}
.v43Search{
  margin-top:8px;width:100%;box-sizing:border-box;border:1px solid #d8e4dc;
  border-radius:12px;padding:10px 12px;background:#fff;font-size:9px;outline:none
}
.v43Promos{
  display:flex;gap:8px;overflow:auto;padding:10px 12px 4px;scrollbar-width:none
}
.v43Promos::-webkit-scrollbar{display:none}
.v43Promo{
  flex:0 0 min(82vw,340px);background:linear-gradient(135deg,#0b7139,#174f33);
  color:#fff;border-radius:17px;padding:13px;box-shadow:0 8px 22px #0b713920;
  display:grid;gap:7px
}
.v43PromoHead{display:flex;justify-content:space-between;gap:6px;align-items:center}
.v43Badge,.v43Discount{
  display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;
  font-size:7px;font-weight:1000
}
.v43Badge{background:#ffffff20}.v43Discount{background:#fff;color:#0b7139}
.v43Promo strong{font-size:15px}
.v43PromoSub{font-size:8px;opacity:.9}
.v43PromoPrice{display:flex;gap:8px;align-items:end}
.v43Old{text-decoration:line-through;opacity:.68;font-size:8px}
.v43New{font-size:19px;font-weight:1000}
.v43Promo button{
  border:0;border-radius:10px;padding:8px;background:#fff;color:#0b7139;
  font-size:8px;font-weight:1000;justify-self:end
}
.v43Cats{
  display:flex;gap:6px;overflow:auto;padding:8px 12px;scrollbar-width:none
}
.v43Cats::-webkit-scrollbar{display:none}
.v43Cat{
  flex:0 0 auto;border:1px solid #d7e2da;background:#fff;color:#536157;
  border-radius:999px;padding:8px 11px;font-size:8px;font-weight:900
}
.v43Cat.active{background:#0b7139;color:#fff;border-color:#0b7139}
.v43Main{padding:0 12px}
.v43SectionHead{display:flex;justify-content:space-between;align-items:end;margin:5px 0 8px}
.v43SectionHead strong{font-size:13px}.v43SectionHead span{font-size:7.5px;color:#728078}
.v43Grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.v43Card{
  border:1px solid #e0e7e2;background:#fff;border-radius:14px;padding:10px;
  display:grid;gap:7px;min-width:0
}
.v43Card strong{font-size:10px}
.v43Sub{font-size:7.5px;color:#738078;min-height:18px}
.v43Price{font-size:12px;font-weight:1000}
.v43Card button{
  border:0;border-radius:9px;padding:8px;background:#0b7139;color:#fff;
  font-size:8px;font-weight:1000
}
.v43Variants{display:grid;gap:6px;border-top:1px solid #e8ece9;padding-top:7px}
.v43Level{display:grid;gap:4px}
.v43Level label{font-size:6.8px;font-weight:1000;text-transform:uppercase;color:#6f7d74}
.v43Choices{display:flex;gap:4px;flex-wrap:wrap}
.v43Choice{
  border:1px solid #d7e1da!important;background:#fff!important;color:#405048!important;
  padding:6px 7px!important
}
.v43Choice.active{background:#edfdf3!important;color:#0b7139!important;border-color:#72c890!important}
.v43Sku{
  display:flex;justify-content:space-between;gap:7px;align-items:center;
  background:#f8fbf9;border-radius:9px;padding:7px
}
.v43Sku small{display:block;font-size:6.5px;color:#718078}
.v43Bar{
  position:fixed;left:0;right:0;bottom:0;z-index:120010;padding:9px 10px;
  background:linear-gradient(to top,#f4f7f5 55%,transparent)
}
.v43BarIn{
  max-width:720px;margin:auto;background:#15251a;color:#fff;border-radius:14px;
  padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:10px;
  box-shadow:0 8px 22px #0003
}
.v43BarIn button{border:0;border-radius:10px;background:#fff;color:#0b7139;padding:9px 11px;font-size:8px;font-weight:1000}
.v43Drawer{
  position:fixed;inset:0;z-index:120020;background:#0005;display:none;align-items:end
}
.v43Drawer.active{display:flex}
.v43Panel{
  width:100%;max-height:82vh;background:#fff;border-radius:18px 18px 0 0;
  padding:12px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px
}
.v43PanelHead{display:flex;justify-content:space-between;align-items:center}
.v43PanelHead strong{font-size:12px}
.v43PanelHead button{border:0;border-radius:9px;padding:7px 9px}
.v43CartRows{display:grid;align-content:start;gap:6px;overflow:auto}
.v43CartRow{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;border:1px solid #e0e7e2;
  border-radius:10px;padding:8px
}
.v43CartRow strong{font-size:8.5px}.v43CartRow small{font-size:7px;color:#718078}
.v43Qty{display:flex;gap:4px;align-items:center}
.v43Qty button{width:28px;height:28px;border:1px solid #dbe4dd;background:#fff;border-radius:8px}
.v43Total{display:flex;justify-content:space-between;border-top:1px solid #e0e7e2;padding-top:8px;font-size:9px}
.v43Continue{width:100%;border:0;border-radius:11px;padding:11px;background:#0b7139;color:#fff;font-size:9px;font-weight:1000}
.v43Empty{padding:28px 14px;text-align:center;color:#738078;font-size:8px;background:#fff;border-radius:12px}
@media(min-width:760px){
  .v43Grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .v43Promos,.v43Cats,.v43Main,.v43Top{padding-left:16px;padding-right:16px}
}


/* V44 — NOQIRA DELIVERY / TIENDA ONLINE MOBILE-FIRST */
#deliveryDemoOverlayV43{
  background:#f7f8f6;
  color:#19251d;
}
.v43Store{
  background:#f7f8f6;
  padding-bottom:104px;
}
.v44Header{
  position:sticky;top:0;z-index:30;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(14px);
  border-bottom:1px solid #e7ece8;
}
.v44HeaderTop{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;gap:10px;
  padding:10px 12px 6px;
}
.v44BrandBlock{display:grid;gap:1px;min-width:0}
.v44BrandBlock strong{
  font-size:15px;font-weight:1000;letter-spacing:-.3px;color:#0b7139;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.v44BrandBlock small{font-size:7px;color:#748178;font-weight:700}
.v44HeaderActions{display:flex;align-items:center;gap:6px}
.v44HeaderBtn{
  border:1px solid #dce6df;background:#fff;color:#26362c;
  min-height:36px;border-radius:12px;padding:7px 10px;font-size:8px;font-weight:1000
}
.v44HeaderBtn.cart{
  background:#0b7139;color:#fff;border-color:#0b7139
}
.v44Location{
  display:flex;align-items:center;gap:6px;
  margin:0 12px 7px;padding:8px 10px;
  background:#f3f8f4;border:1px solid #dce9df;border-radius:12px;
  font-size:7.5px;color:#536158
}
.v44Location strong{color:#1d2a22}
.v44SearchWrap{padding:0 12px 10px}
.v44SearchBox{
  display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:7px;
  border:1px solid #d8e3db;background:#fff;border-radius:14px;padding:0 11px;
  box-shadow:0 4px 14px rgba(16,63,35,.04)
}
.v44SearchBox span{font-size:14px;opacity:.55}
.v44SearchBox input{
  border:0;background:transparent;outline:0;width:100%;padding:11px 0;font-size:9px
}

.v44Hero{
  margin:10px 12px 6px;
  min-height:148px;border-radius:20px;padding:16px;
  background:
    radial-gradient(circle at 85% 20%,rgba(255,255,255,.16),transparent 25%),
    linear-gradient(135deg,#0b7139 0%,#0e5c33 58%,#153d2b 100%);
  color:#fff;display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:10px;
  overflow:hidden;box-shadow:0 10px 28px rgba(11,113,57,.18)
}
.v44HeroCopy{display:grid;align-content:center;gap:6px}
.v44HeroBadge{
  justify-self:start;background:rgba(255,255,255,.16);border-radius:999px;
  padding:4px 7px;font-size:6.5px;font-weight:1000
}
.v44Hero h2{margin:0;font-size:20px;line-height:1.03;letter-spacing:-.5px}
.v44Hero p{margin:0;font-size:8px;line-height:1.35;opacity:.88}
.v44Hero button{
  justify-self:start;border:0;background:#fff;color:#0b7139;
  border-radius:10px;padding:8px 10px;font-size:7.5px;font-weight:1000
}
.v44HeroVisual{
  position:relative;display:grid;place-items:center
}
.v44Bottle{
  width:46px;height:104px;border-radius:13px 13px 10px 10px;
  background:linear-gradient(180deg,#eac176,#b47623 45%,#8c561c);
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.12),0 14px 22px rgba(0,0,0,.2);
  position:relative;transform:rotate(7deg)
}
.v44Bottle:before{
  content:"";position:absolute;top:-17px;left:12px;width:22px;height:22px;
  border-radius:6px 6px 2px 2px;background:#29352e
}
.v44Bottle:after{
  content:"N";position:absolute;left:8px;right:8px;top:42px;height:25px;
  border-radius:5px;background:#fff;color:#0b7139;display:grid;place-items:center;
  font-weight:1000;font-size:13px
}

.v44Section{padding:10px 12px 0}
.v44SectionHead{
  display:flex;justify-content:space-between;align-items:end;gap:10px;margin-bottom:8px
}
.v44SectionHead h3{margin:0;font-size:13px;letter-spacing:-.2px}
.v44SectionHead p{margin:2px 0 0;font-size:7px;color:#748078}
.v44SectionHead button{
  border:0;background:transparent;color:#0b7139;font-size:7px;font-weight:1000;padding:0
}

.v44CategoryGrid{
  display:grid;grid-auto-flow:column;grid-auto-columns:88px;gap:7px;
  overflow:auto;padding:1px 0 3px;scrollbar-width:none
}
.v44CategoryGrid::-webkit-scrollbar{display:none}
.v44CategoryCard{
  min-height:88px;border:1px solid #e0e8e2;background:#fff;border-radius:15px;
  padding:8px;display:grid;justify-items:center;align-content:center;gap:5px;
  font-size:7.5px;font-weight:900;color:#324238
}
.v44CategoryCard.active{border-color:#69c688;background:#effcf3;color:#0b7139}
.v44CategoryIcon{
  width:42px;height:42px;border-radius:13px;
  background:linear-gradient(145deg,#f3f7f4,#e7efe9);
  display:grid;place-items:center;font-size:20px
}
.v44CategoryCard.active .v44CategoryIcon{background:#dff6e6}

.v44PromoRail{
  display:grid;grid-auto-flow:column;grid-auto-columns:min(84vw,330px);gap:8px;
  overflow:auto;scrollbar-width:none;padding-bottom:3px
}
.v44PromoRail::-webkit-scrollbar{display:none}
.v44PromoCard{
  border:1px solid #e0e8e2;background:#fff;border-radius:17px;overflow:hidden;
  display:grid;grid-template-columns:104px minmax(0,1fr);
  min-height:135px;box-shadow:0 5px 18px rgba(15,52,29,.05)
}
.v44PromoVisual{
  background:
    radial-gradient(circle at 30% 30%,rgba(255,255,255,.18),transparent 22%),
    linear-gradient(145deg,#143d2b,#0b7139);
  display:grid;place-items:center;min-height:135px
}
.v44PromoVisual.hasImage{
  background-size:cover;background-position:center
}
.v44PromoBottle{
  width:36px;height:82px;border-radius:10px;background:linear-gradient(#dfb561,#9f6422);
  position:relative;box-shadow:0 8px 16px rgba(0,0,0,.18)
}
.v44PromoBottle:before{
  content:"";position:absolute;top:-13px;left:9px;width:18px;height:18px;background:#2f3832;border-radius:4px
}
.v44PromoContent{padding:10px;display:grid;align-content:center;gap:5px;min-width:0}
.v44PromoTags{display:flex;gap:4px;flex-wrap:wrap}
.v44PromoTag{
  background:#eef9f1;color:#0b7139;border-radius:999px;padding:3px 6px;
  font-size:6px;font-weight:1000
}
.v44PromoTitle{font-size:11px;font-weight:1000;line-height:1.08}
.v44PromoSub{font-size:7px;color:#6f7d74;line-height:1.25}
.v44PromoPrice{display:flex;align-items:end;gap:6px}
.v44PromoOld{text-decoration:line-through;color:#8a958d;font-size:7px}
.v44PromoNew{font-size:14px;font-weight:1000;color:#13231a}
.v44PromoAdd{
  justify-self:start;border:0;background:#0b7139;color:#fff;border-radius:9px;
  padding:7px 9px;font-size:7px;font-weight:1000
}

.v44ProductsGrid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px
}
.v44ProductCard{
  border:1px solid #e1e8e3;background:#fff;border-radius:16px;
  overflow:hidden;display:grid;grid-template-rows:100px auto;
  min-width:0;box-shadow:0 4px 15px rgba(14,55,30,.04)
}
.v44ProductVisual{
  background:linear-gradient(155deg,#f3f7f4,#e9efeb);
  display:grid;place-items:center;position:relative
}
.v44MiniBottle{
  width:31px;height:67px;border-radius:9px;
  background:linear-gradient(#d9a94d,#a76b22);position:relative;box-shadow:0 7px 12px rgba(0,0,0,.12)
}
.v44MiniBottle:before{
  content:"";position:absolute;top:-11px;left:8px;width:15px;height:15px;background:#303832;border-radius:4px
}
.v44ProductBadge{
  position:absolute;top:7px;left:7px;background:#fff;border-radius:999px;padding:3px 6px;
  font-size:5.8px;font-weight:1000;color:#0b7139;border:1px solid #dfebe2
}
.v44ProductBody{padding:9px;display:grid;gap:5px}
.v44ProductBody strong{
  font-size:9px;line-height:1.1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}
.v44ProductMeta{font-size:6.8px;color:#738078;min-height:16px}
.v44ProductBottom{display:flex;justify-content:space-between;align-items:center;gap:6px}
.v44ProductPrice{font-size:11px;font-weight:1000}
.v44ProductBtn{
  border:0;background:#0b7139;color:#fff;border-radius:9px;padding:7px 8px;
  font-size:7px;font-weight:1000
}
.v44VariantArea{
  grid-column:1/-1;border-top:1px solid #e8ede9;padding-top:6px;display:grid;gap:5px
}
.v44VariantLevel{display:grid;gap:4px}
.v44VariantLevel label{font-size:6px;font-weight:1000;color:#718078;text-transform:uppercase}
.v44VariantChoices{display:flex;gap:4px;flex-wrap:wrap}
.v44VariantChoice{
  border:1px solid #d9e3dc;background:#fff;color:#34433a;border-radius:8px;
  padding:5px 6px;font-size:6.5px;font-weight:900
}
.v44VariantChoice.active{background:#eefcf2;border-color:#72c98f;color:#0b7139}
.v44SelectedSku{
  display:flex;justify-content:space-between;align-items:center;gap:6px;
  background:#f7faf8;border-radius:9px;padding:6px
}
.v44SelectedSku small{display:block;font-size:6px;color:#738078}

.v44StickyCart{
  position:fixed;left:0;right:0;bottom:0;z-index:120010;padding:10px 12px;
  background:linear-gradient(to top,#f7f8f6 62%,transparent)
}
.v44StickyInner{
  max-width:720px;margin:auto;background:#13261a;color:#fff;border-radius:15px;
  padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:10px;
  box-shadow:0 10px 24px rgba(0,0,0,.2)
}
.v44StickyInner strong{font-size:9px}
.v44StickyInner small{display:block;font-size:6.8px;opacity:.7}
.v44StickyInner button{
  border:0;background:#fff;color:#0b7139;border-radius:10px;padding:9px 11px;
  font-size:8px;font-weight:1000
}

.v44Empty{
  border:1px dashed #dce5df;background:#fff;border-radius:14px;padding:22px 12px;
  text-align:center;color:#738078;font-size:8px
}

@media(min-width:760px){
  .v44HeaderTop,.v44SearchWrap,.v44Location,.v44Section,.v44Hero{max-width:1120px;margin-left:auto;margin-right:auto}
  .v44Hero{grid-template-columns:minmax(0,1fr) 180px}
  .v44ProductsGrid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .v44CategoryGrid{grid-auto-columns:100px}
  .v44PromoRail{grid-auto-columns:360px}
  .v44ProductCard{grid-template-rows:130px auto}
}


/* V45 — DELIVERY MOBILE CON CATEGORÍAS LATERALES */
.v45Body{display:grid;grid-template-columns:76px minmax(0,1fr);min-height:calc(100dvh - 145px);align-items:start}
.v45Sidebar{position:sticky;top:145px;height:calc(100dvh - 145px);overflow:auto;border-right:1px solid #e5ebe7;background:#fff;padding:8px 6px 96px;scrollbar-width:none;z-index:15}
.v45Sidebar::-webkit-scrollbar{display:none}
.v45SideBtn{width:100%;border:0;background:transparent;border-radius:12px;padding:7px 3px;display:grid;justify-items:center;gap:4px;color:#536158;font-size:6.5px;font-weight:900;line-height:1.05;min-height:58px}
.v45SideBtn.active{background:#eaf9ef;color:#0b7139;box-shadow:inset 0 0 0 1px #bfe6cb}
.v45SideIcon{width:34px;height:34px;border-radius:10px;background:#f2f6f3;display:grid;place-items:center;font-size:16px}
.v45SideBtn.active .v45SideIcon{background:#d9f3e1}
.v45Content{min-width:0;padding:8px 9px 96px}
.v45Title{display:flex;justify-content:space-between;align-items:end;gap:8px;margin:1px 0 8px}
.v45Title h3{margin:0;font-size:12px;line-height:1.05}
.v45Title p{margin:2px 0 0;font-size:6.5px;color:#748078}
.v45PromoGrid{display:grid;gap:8px}
.v45PromoCard{border:1px solid #e0e8e2;background:#fff;border-radius:15px;overflow:hidden;display:grid;grid-template-columns:84px minmax(0,1fr);min-height:116px}
.v45PromoVisual{background:linear-gradient(145deg,#123f2b,#0b7139);display:grid;place-items:center;min-height:116px;background-size:cover;background-position:center}
.v45PromoContent{padding:9px;display:grid;align-content:center;gap:4px;min-width:0}
.v45PromoTitle{font-size:9.5px;font-weight:1000;line-height:1.05}
.v45PromoSub{font-size:6.5px;color:#6f7d74;line-height:1.2}
.v45PromoPrice{display:flex;align-items:end;gap:5px}
.v45PromoPrice .old{text-decoration:line-through;color:#8d978f;font-size:6.5px}
.v45PromoPrice .new{font-size:12px;font-weight:1000}
.v45PromoContent button{justify-self:start;border:0;background:#0b7139;color:#fff;border-radius:8px;padding:6px 8px;font-size:6.5px;font-weight:1000}
.v45ProductsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.v45ProductsGrid .v44ProductCard{grid-template-rows:82px auto}
.v45ProductsGrid .v44ProductBody{padding:7px;gap:4px}
.v45ProductsGrid .v44ProductBody strong{font-size:8px}
.v45ProductsGrid .v44ProductMeta{font-size:6px;min-height:14px}
.v45ProductsGrid .v44ProductPrice{font-size:9.5px}
.v45ProductsGrid .v44ProductBtn{padding:6px 7px;font-size:6px}
.v45ProductsGrid .v44MiniBottle{width:27px;height:58px}
.v45ProductsGrid .v44MiniBottle:before{top:-9px;left:7px;width:13px;height:13px}
.v45ProductsGrid .v44ProductBadge{top:5px;left:5px;font-size:5.2px}
.v45Empty{border:1px dashed #dce5df;background:#fff;border-radius:12px;padding:18px 10px;text-align:center;color:#738078;font-size:7px}
.v45CartRemove{color:#a62d2d!important;border-color:#efcaca!important}
.v45CompactHeader .v44Location{margin-bottom:5px}
.v45CompactHeader .v44SearchWrap{padding-bottom:7px}
@media(max-width:380px){
  .v45Body{grid-template-columns:68px minmax(0,1fr)}
  .v45SideBtn{font-size:6px;min-height:55px}
  .v45SideIcon{width:31px;height:31px;font-size:14px}
  .v45ProductsGrid{gap:5px}
  .v45Content{padding-left:6px;padding-right:6px}
}
@media(min-width:760px){
  .v45Body{grid-template-columns:112px minmax(0,1fr);max-width:1120px;margin:0 auto}
  .v45Content{padding:12px 14px 100px}
  .v45ProductsGrid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .v45PromoGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* V46 — banner rotativo de promociones */
.v46HeroWrap{
  padding:8px 9px 4px;
  background:#f7f8f6;
}
.v46Hero{
  position:relative;
  min-height:132px;
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(135deg,#0b7139,#123c2a);
  color:#fff;
  box-shadow:0 8px 22px rgba(11,113,57,.16);
  touch-action:pan-y;
}
.v46HeroSlide{
  min-height:132px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 92px;
  align-items:center;
  gap:8px;
  padding:14px 14px 18px;
}
.v46HeroCopy{
  min-width:0;
  display:grid;
  align-content:center;
  gap:5px;
}
.v46HeroTopline{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  align-items:center;
}
.v46HeroTag{
  display:inline-flex;
  align-items:center;
  padding:4px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.15);
  font-size:6px;
  font-weight:1000;
}
.v46HeroDiscount{
  display:inline-flex;
  align-items:center;
  padding:4px 7px;
  border-radius:999px;
  background:#fff;
  color:#0b7139;
  font-size:6px;
  font-weight:1000;
}
.v46HeroTitle{
  font-size:16px;
  font-weight:1000;
  line-height:1.02;
  letter-spacing:-.25px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.v46HeroSub{
  font-size:7px;
  line-height:1.25;
  opacity:.86;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.v46HeroPrices{
  display:flex;
  align-items:flex-end;
  gap:6px;
}
.v46HeroOld{
  text-decoration:line-through;
  opacity:.68;
  font-size:7px;
}
.v46HeroNew{
  font-size:17px;
  font-weight:1000;
}
.v46HeroAdd{
  justify-self:start;
  border:0;
  background:#fff;
  color:#0b7139;
  border-radius:9px;
  padding:7px 9px;
  font-size:6.5px;
  font-weight:1000;
}
.v46HeroVisual{
  height:104px;
  border-radius:15px;
  background:rgba(255,255,255,.08);
  display:grid;
  place-items:center;
  background-size:cover;
  background-position:center;
  overflow:hidden;
}
.v46HeroBottle{
  width:38px;
  height:80px;
  border-radius:10px;
  background:linear-gradient(#e2b45b,#a66a22);
  position:relative;
  box-shadow:0 10px 18px rgba(0,0,0,.2);
}
.v46HeroBottle:before{
  content:"";
  position:absolute;
  top:-13px;
  left:10px;
  width:18px;
  height:18px;
  border-radius:4px;
  background:#2e3831;
}
.v46HeroDots{
  position:absolute;
  left:12px;
  right:12px;
  bottom:7px;
  display:flex;
  justify-content:center;
  gap:5px;
}
.v46HeroDot{
  width:6px;
  height:6px;
  border:0;
  border-radius:999px;
  padding:0;
  background:rgba(255,255,255,.42);
}
.v46HeroDot.active{
  width:17px;
  background:#fff;
}
.v46HeroEmpty{
  min-height:82px;
  border:1px dashed #d7e3da;
  border-radius:14px;
  background:#fff;
  color:#718078;
  display:grid;
  place-items:center;
  text-align:center;
  padding:12px;
  font-size:7px;
}
@media(max-width:380px){
  .v46HeroWrap{padding-left:6px;padding-right:6px}
  .v46HeroSlide{grid-template-columns:minmax(0,1fr) 78px;padding-left:11px;padding-right:11px}
  .v46HeroVisual{height:92px}
  .v46HeroTitle{font-size:14px}
}


/* V47 — productos textuales, sin fotografía */
.v47ProductList{
  display:grid;
  gap:7px;
}
.v47ProductRow{
  border:1px solid #e0e7e2;
  background:#fff;
  border-radius:13px;
  padding:8px 9px;
  display:grid;
  gap:6px;
}
.v47ProductMain{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
}
.v47ProductInfo{
  min-width:0;
  display:grid;
  gap:2px;
}
.v47ProductInfo strong{
  font-size:8.5px;
  line-height:1.12;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v47ProductInfo small{
  font-size:6.5px;
  color:#748078;
}
.v47ProductPrice{
  font-size:10px;
  font-weight:1000;
  white-space:nowrap;
}
.v47ProductActions{
  display:flex;
  justify-content:flex-end;
  gap:4px;
  align-items:center;
}
.v47ProductActions button{
  border:1px solid #d9e3dc;
  background:#fff;
  color:#34433a;
  border-radius:8px;
  min-width:29px;
  height:29px;
  padding:0 7px;
  font-size:7px;
  font-weight:1000;
}
.v47ProductActions button.add{
  background:#0b7139;
  border-color:#0b7139;
  color:#fff;
}
.v47ProductActions button.remove{
  color:#a62d2d;
  border-color:#efcaca;
}
.v47ProductQty{
  min-width:22px;
  text-align:center;
  font-size:7.5px;
  font-weight:1000;
}
.v47VariantArea{
  border-top:1px solid #e8ede9;
  padding-top:6px;
  display:grid;
  gap:5px;
}
.v47VariantLevel{
  display:grid;
  gap:4px;
}
.v47VariantLevel label{
  font-size:6px;
  color:#718078;
  font-weight:1000;
  text-transform:uppercase;
}
.v47VariantChoices{
  display:flex;
  gap:4px;
  flex-wrap:wrap;
}
.v47VariantChoice{
  border:1px solid #d9e3dc;
  background:#fff;
  color:#34433a;
  border-radius:8px;
  padding:5px 6px;
  font-size:6.5px;
  font-weight:900;
}
.v47VariantChoice.active{
  background:#eefcf2;
  border-color:#72c98f;
  color:#0b7139;
}
.v47SelectedSku{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  background:#f7faf8;
  border-radius:9px;
  padding:6px 7px;
}
.v47SelectedSku strong{
  font-size:7.5px;
}
.v47SelectedSku small{
  display:block;
  font-size:6px;
  color:#738078;
}
.v47NoSearchHeader .v44SearchWrap{display:none!important}
.v47NoSearchHeader{padding-bottom:6px}
@media(min-width:760px){
  .v47ProductList{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* V48 — listado visible y editable de promociones Delivery */
.promoListCardV48{
  border:1px solid #dfe8e2;background:#fff;border-radius:10px;padding:9px;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center
}
.promoListInfoV48{min-width:0;display:grid;gap:3px}
.promoListInfoV48 strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.promoListInfoV48 small{font-size:6.8px;color:#718078}
.promoListActionsV48{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.promoListActionsV48 button{min-height:30px;padding:5px 8px;font-size:7px}
.promoUnifiedList{display:grid!important;align-content:start!important;gap:6px!important;overflow:auto!important}
@media(max-width:760px){
  .promoUnifiedGrid{grid-template-columns:1fr!important;overflow:visible!important}
  .promoUnifiedList,.promoUnifiedEditor{overflow:visible!important}
  .promoListCardV48{grid-template-columns:1fr}
  .promoListActionsV48{justify-content:flex-start}
}


/* V49 — checkout móvil Delivery */
.v49Checkout{
  position:fixed;inset:0;background:#f6f8f6;z-index:130000;
  display:none;grid-template-rows:auto minmax(0,1fr) auto;
}
.v49Checkout.active{display:grid}
.v49CheckoutHead{
  background:#fff;border-bottom:1px solid #e2e8e4;padding:10px 12px;
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;
}
.v49Back,.v49Close{
  border:1px solid #dde5df;background:#fff;border-radius:9px;
  min-width:34px;height:34px;font-size:8px;font-weight:1000;
}
.v49CheckoutHead strong{font-size:11px;text-align:center}
.v49Steps{
  background:#fff;border-bottom:1px solid #e6ebe7;padding:8px 10px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:5px;
}
.v49Step{
  height:4px;border-radius:999px;background:#e5ebe7;
}
.v49Step.active{background:#0b7139}
.v49CheckoutBody{
  overflow:auto;padding:10px 10px 110px;
}
.v49Card{
  background:#fff;border:1px solid #e0e7e2;border-radius:15px;padding:11px;
  display:grid;gap:9px;
}
.v49Title{display:grid;gap:3px}
.v49Title h3{margin:0;font-size:13px}
.v49Title p{margin:0;font-size:7px;color:#748078;line-height:1.3}
.v49Field{display:grid;gap:4px}
.v49Field label{font-size:6.5px;font-weight:1000;color:#55635a}
.v49Field input,.v49Field textarea{
  width:100%;border:1px solid #dbe4de;border-radius:10px;background:#fff;
  padding:10px;font-size:9px;outline:none;
}
.v49Field textarea{min-height:68px;resize:vertical}
.v49Field input:focus,.v49Field textarea:focus{border-color:#75c58f;box-shadow:0 0 0 2px #e8f8ed}
.v49PaymentGrid{display:grid;gap:7px}
.v49PayCard{
  border:1px solid #dfe7e1;background:#fff;border-radius:12px;padding:10px;
  display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;
}
.v49PayCard.active{border-color:#58b477;background:#f1fbf4}
.v49PayIcon{
  width:34px;height:34px;border-radius:10px;background:#edf4ef;
  display:grid;place-items:center;font-size:15px
}
.v49PayCard strong{font-size:8.5px}
.v49PayCard small{display:block;font-size:6.5px;color:#728078;margin-top:2px}
.v49TransferBox{
  border:1px solid #dfe8e2;background:#f8fbf9;border-radius:12px;padding:9px;display:grid;gap:7px
}
.v49Upload{
  border:1px dashed #aebdb3;border-radius:10px;padding:11px;text-align:center;
  font-size:7px;background:#fff;
}
.v49Upload input{display:block;width:100%;font-size:7px;margin-top:7px}
.v49UploadPreview{
  width:100%;max-height:180px;object-fit:contain;border-radius:10px;display:none;border:1px solid #e0e6e2
}
.v49GpsBox{
  border:1px solid #dfe7e1;border-radius:12px;background:#fff;padding:10px;display:grid;gap:7px
}
.v49GpsStatus{font-size:7px;color:#66756b;line-height:1.35}
.v49GpsCoords{
  background:#f4f7f5;border-radius:8px;padding:7px;font-size:6.5px;color:#526158;word-break:break-all
}
.v49GpsBtn{
  border:0;background:#0b7139;color:#fff;border-radius:9px;padding:9px;font-size:7px;font-weight:1000
}
.v49Summary{display:grid;gap:6px}
.v49SummaryRow{display:flex;justify-content:space-between;gap:8px;font-size:7px}
.v49SummaryRow strong{font-size:7.5px}
.v49SummaryTotal{
  border-top:1px solid #e5ebe7;margin-top:4px;padding-top:8px;
  display:flex;justify-content:space-between;align-items:end
}
.v49SummaryTotal span{font-size:7px;color:#6d7a72}
.v49SummaryTotal strong{font-size:15px}
.v49CheckoutFoot{
  position:sticky;bottom:0;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);
  border-top:1px solid #dfe6e1;padding:9px 10px;
}
.v49Primary{
  width:100%;border:0;background:#0b7139;color:#fff;border-radius:11px;
  padding:12px;font-size:8px;font-weight:1000
}
.v49Primary:disabled{opacity:.45}
.v49Secondary{
  width:100%;border:1px solid #dce4de;background:#fff;color:#34423a;border-radius:11px;
  padding:10px;font-size:7px;font-weight:1000;margin-top:6px
}
.v49OrderOk{
  text-align:center;padding:18px 6px;display:grid;gap:8px;justify-items:center
}
.v49OrderIcon{
  width:58px;height:58px;border-radius:50%;background:#e8f8ed;color:#0b7139;
  display:grid;place-items:center;font-size:26px;font-weight:1000
}
.v49OrderCode{font-size:12px;font-weight:1000}
.v49OrderState{
  width:100%;text-align:left;border:1px solid #e0e7e2;background:#fff;border-radius:12px;padding:10px;display:grid;gap:6px
}
.v49OrderState div{font-size:7px}


/* V50 — seguimiento del solicitante */
.v50Tracking{
  display:grid;
  gap:9px;
}
.v50TrackHero{
  background:linear-gradient(135deg,#0b7139,#123c2a);
  color:#fff;border-radius:15px;padding:12px;
  display:grid;gap:4px;
}
.v50TrackHero small{font-size:6.5px;opacity:.8}
.v50TrackHero strong{font-size:13px}
.v50TrackHero span{font-size:7px;opacity:.9}
.v50Timeline{
  background:#fff;border:1px solid #e0e7e2;border-radius:14px;padding:10px;
  display:grid;gap:0;
}
.v50TrackStep{
  display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;position:relative;
  min-height:48px;
}
.v50TrackStep:not(:last-child):before{
  content:"";position:absolute;left:11px;top:22px;bottom:-2px;width:2px;background:#dfe7e2
}
.v50TrackStep.done:not(:last-child):before{background:#58b477}
.v50TrackDot{
  width:23px;height:23px;border-radius:50%;background:#edf2ee;color:#879289;
  display:grid;place-items:center;font-size:7px;font-weight:1000;z-index:1
}
.v50TrackStep.done .v50TrackDot,.v50TrackStep.current .v50TrackDot{
  background:#0b7139;color:#fff
}
.v50TrackCopy{padding-top:2px}
.v50TrackCopy strong{display:block;font-size:8px}
.v50TrackCopy small{display:block;font-size:6.5px;color:#728078;margin-top:2px;line-height:1.25}
.v50TrackStep.current .v50TrackCopy strong{color:#0b7139}
.v50MapCard{
  background:#fff;border:1px solid #e0e7e2;border-radius:14px;padding:8px;display:grid;gap:6px
}
.v50MapTitle{display:flex;justify-content:space-between;gap:8px;align-items:center}
.v50MapTitle strong{font-size:8px}
.v50LiveBadge{
  display:inline-flex;align-items:center;gap:4px;background:#eefaf2;color:#0b7139;
  border-radius:999px;padding:4px 7px;font-size:6px;font-weight:1000
}
.v50LiveBadge:before{
  content:"";width:6px;height:6px;border-radius:50%;background:#0b7139;
  animation:v50pulse 1.2s infinite
}
@keyframes v50pulse{50%{opacity:.25}}
#v50CustomerMap{
  width:100%;height:230px;border-radius:11px;background:#eef2ef;overflow:hidden
}
.v50TrackMeta{
  display:grid;grid-template-columns:1fr 1fr;gap:6px
}
.v50MetaBox{
  background:#f7faf8;border-radius:10px;padding:8px;display:grid;gap:2px
}
.v50MetaBox small{font-size:5.8px;color:#758178;text-transform:uppercase;font-weight:1000}
.v50MetaBox strong{font-size:7.5px}
.v50TrackNotice{
  font-size:6.3px;color:#69776e;line-height:1.35;background:#f8faf8;
  border:1px solid #e4eae6;border-radius:10px;padding:8px
}


/* V52 — acciones del carrito */
.v52CartActions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:7px;
}
.v52KeepBuying,
.v52ConfirmOrder{
  min-height:36px;
  border-radius:10px;
  padding:8px 10px;
  font-size:7px;
  font-weight:1000;
}
.v52KeepBuying{
  border:1px solid #cfd9d2;
  background:#fff;
  color:#34433a;
}
.v52ConfirmOrder{
  border:0;
  background:#0b7139;
  color:#fff;
}
@media(max-width:360px){
  .v52CartActions{grid-template-columns:1fr}
}


/* V54 — flujo Delivery inspirado en licoreria_delivery_v5_mapa_corregido */
.v54Progress{
  display:grid;grid-template-columns:repeat(4,1fr);gap:5px;
  padding:7px 10px;background:#fff;border-bottom:1px solid #e5ebe7
}
.v54Progress span{height:5px;border-radius:999px;background:#e4eae6}
.v54Progress span.on{background:#0b7139}

.v54PayGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.v54Pay{
  border:2px solid #dfe7e1;background:#fff;border-radius:14px;padding:14px 10px;
  display:grid;place-items:center;text-align:center;gap:4px
}
.v54Pay.active{border-color:#0b7139;background:#effaf3}
.v54Pay .big{font-size:27px}
.v54Pay strong{font-size:8.5px}
.v54Pay small{font-size:6.5px;color:#718078}

.v54Bank{
  margin-top:4px;border:1px dashed #c9d6cd;background:#f8fbf9;border-radius:12px;
  padding:9px;font-size:7px;line-height:1.45
}
.v54Proof{
  margin-top:6px;border:1px dashed #bbc9bf;background:#fff;border-radius:10px;padding:9px
}
.v54Proof input{width:100%;font-size:7px}
.v54ProofPreview{
  width:100%;max-height:180px;object-fit:contain;border-radius:10px;margin-bottom:7px;
  border:1px solid #e0e6e2
}

.v54MapCard{
  background:#fff;border:1px solid #e0e7e2;border-radius:15px;padding:9px;
  display:grid;grid-template-rows:auto minmax(260px,1fr) auto;gap:7px
}
#v54LocationMap{
  width:100%;height:300px;min-height:260px;border-radius:12px;overflow:hidden;background:#e9efeb
}
.v54MapActions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.v54MapActions button{
  border:1px solid #d9e3dc;background:#fff;border-radius:10px;padding:9px;
  font-size:7px;font-weight:1000
}
.v54MapActions button.primary{background:#0b7139;color:#fff;border-color:#0b7139}
.v54LocationText{
  font-size:7px;color:#627066;line-height:1.35;background:#f6f9f7;border-radius:9px;padding:7px
}

.v54Confirm{
  display:grid;gap:8px
}
.v54ConfirmBlock{
  border:1px solid #e0e7e2;background:#fff;border-radius:12px;padding:9px;display:grid;gap:5px
}
.v54ConfirmRow{display:flex;justify-content:space-between;gap:8px;font-size:7px}
.v54ConfirmRow strong{text-align:right;max-width:62%}
.v54Check{
  width:54px;height:54px;border-radius:50%;background:#e8f8ed;color:#0b7139;
  display:grid;place-items:center;font-size:26px;font-weight:1000;margin:4px auto
}
@media(max-width:420px){
  .v54PayGrid,.v54MapActions{grid-template-columns:1fr}
}


/* V56 — atribución OSM discreta y legible */
.osmAttrV56{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  min-height:18px;
  padding:2px 6px;
  margin-top:-1px;
  border:1px solid #dfe6e1;
  border-top:0;
  border-radius:0 0 9px 9px;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(244,247,245,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
  font-size:5.8px;
  line-height:1;
  color:#78847c;
  letter-spacing:.02em;
}
.osmAttrV56 a{
  color:#66746b;
  text-decoration:none;
}
.osmAttrV56 a:hover{text-decoration:underline}
.v54MapFrameV56,
.v50MapFrameV56{
  display:grid;
  grid-template-rows:minmax(0,1fr) 18px;
  min-height:0;
}
.v54MapFrameV56 #v54LocationMap,
.v50MapFrameV56 #v50CustomerMap{
  border-radius:12px 12px 0 0 !important;
}
.leaflet-control-attribution{display:none!important}


/* V57 — Configuración empresarial */
.config57Shell{
  height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);
  gap:8px
}
.config57Tabs{
  display:flex;gap:6px;flex-wrap:wrap;background:#fff;border:1px solid #dfe6e1;
  border-radius:13px;padding:6px
}
.config57Tab{
  border:1px solid transparent;background:#f4f7f5;color:#405047;border-radius:9px;
  padding:8px 11px;font-size:8px;font-weight:1000
}
.config57Tab.active{background:#0b7139;color:#fff}
.config57Pane{
  display:none;height:100%;min-height:0;overflow:auto
}
.config57Pane.active{display:block}
.config57Card{
  background:#fff;border:1px solid #dfe6e1;border-radius:15px;padding:12px;
  display:grid;gap:10px
}
.config57Grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px
}
.config57Grid .wide{grid-column:1/-1}
.config57Field{display:grid;gap:4px}
.config57Field label{font-size:6.5px;font-weight:1000;color:#657269}
.config57Field input,.config57Field select,.config57Field textarea{
  width:100%;border:1px solid #d9e2dc;border-radius:9px;background:#fff;
  padding:9px;font-size:8px;outline:none
}
.config57Field textarea{min-height:64px;resize:vertical}
.config57Field input:focus,.config57Field select:focus,.config57Field textarea:focus{
  border-color:#61bb7e;box-shadow:0 0 0 2px #eaf8ee
}
.config57Head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.config57Head h2{margin:0;font-size:14px}
.config57Head p{margin:3px 0 0;font-size:7px;color:#718078}
.config57Save{
  border:0;background:#0b7139;color:#fff;border-radius:10px;padding:10px 13px;
  font-size:7.5px;font-weight:1000
}
.config57BankList{display:grid;gap:8px}
.config57BankCard{
  border:1px solid #dfe6e1;border-radius:12px;padding:9px;background:#fff;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center
}
.config57BankCard.primary{border-color:#68bf84;background:#f3fbf5}
.config57BankInfo{display:grid;gap:2px;min-width:0}
.config57BankInfo strong{font-size:8.5px}
.config57BankInfo small{font-size:6.5px;color:#718078}
.config57BankActions{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.config57BankActions button{
  border:1px solid #d9e2dc;background:#fff;border-radius:8px;padding:6px 7px;
  font-size:6.3px;font-weight:1000
}
.config57BankActions .danger{color:#b22b2b;border-color:#efcaca}
.config57BankActions .primary{background:#0b7139;color:#fff;border-color:#0b7139}
.config57BankEditor{
  border:1px dashed #bdccc2;background:#f8fbf9;border-radius:12px;padding:10px;
  display:grid;gap:8px
}
.config57Danger{
  border:1px solid #efcaca;background:#fff7f7;border-radius:12px;padding:10px;
  display:grid;gap:7px
}
.config57Danger button{
  border:1px solid #efbcbc;background:#fff0f0;color:#b52626;border-radius:9px;
  padding:9px;font-size:7px;font-weight:1000
}

/* Delivery — cuentas bancarias desde Configuración */
.v57BankChoice{display:grid;gap:6px;margin-top:6px}
.v57BankOption{
  border:1px solid #dfe7e1;background:#fff;border-radius:10px;padding:8px;
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;text-align:left
}
.v57BankOption.active{border-color:#0b7139;background:#effaf3}
.v57BankOption input{margin-top:2px}
.v57BankOption strong{font-size:7.5px}
.v57BankOption small{display:block;font-size:6.2px;color:#6f7d74;margin-top:2px;line-height:1.35}
.v57NoBank{
  border:1px dashed #e0b9b9;background:#fff7f7;color:#9a3636;border-radius:10px;
  padding:8px;font-size:6.5px;line-height:1.35
}
@media(max-width:720px){
  .config57Grid{grid-template-columns:1fr}
  .config57Grid .wide{grid-column:auto}
  .config57BankCard{grid-template-columns:1fr}
  .config57BankActions{justify-content:flex-start}
}


/* V58 — firma e información del desarrollador */
.config58Developer{
  border:1px solid #dce6df;
  background:linear-gradient(135deg,#f8fbf9,#ffffff);
  border-radius:14px;
  padding:11px;
  display:grid;
  gap:9px;
}
.config58DeveloperHead{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.config58DeveloperBrand{
  display:grid;
  gap:2px;
}
.config58DeveloperBrand strong{
  font-size:12px;
  color:#0b7139;
  letter-spacing:.02em;
}
.config58DeveloperBrand span{
  font-size:7px;
  color:#6d7a72;
}
.config58TechGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}
.config58TechItem{
  background:#f4f7f5;
  border-radius:9px;
  padding:7px;
  display:grid;
  gap:2px;
}
.config58TechItem small{
  font-size:5.8px;
  color:#748078;
  text-transform:uppercase;
  font-weight:1000;
}
.config58TechItem strong{
  font-size:7px;
  color:#34423a;
}
.config58Signature{
  border-top:1px solid #e1e8e3;
  padding-top:8px;
  display:grid;
  gap:2px;
}
.config58Signature strong{font-size:8px}
.config58Signature span{font-size:6.5px;color:#6f7d74}
.footer58Dev{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:48vw;
}
@media(max-width:720px){
  .config58TechGrid{grid-template-columns:1fr}
  .footer58Dev{display:none}
}


/* V60 — Central de despacho Delivery */
.delivery60Shell{
  height:100%;min-height:0;display:grid;
  grid-template-rows:auto auto minmax(0,1fr);gap:8px
}
.delivery60Kpis{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px
}
.delivery60Kpi{
  background:#fff;border:1px solid #dfe6e1;border-radius:12px;padding:8px;
  display:grid;gap:2px
}
.delivery60Kpi small{font-size:5.8px;color:#748078;font-weight:1000}
.delivery60Kpi strong{font-size:15px}
.delivery60Kpi span{font-size:6px;color:#758078}
.delivery60Toolbar{
  background:#fff;border:1px solid #dfe6e1;border-radius:12px;padding:6px;
  display:flex;gap:6px;align-items:center;flex-wrap:wrap
}
.delivery60Toolbar button{
  border:1px solid #dce4de;background:#fff;border-radius:8px;padding:7px 9px;
  font-size:6.8px;font-weight:1000
}
.delivery60Toolbar button.active{background:#0b7139;color:#fff;border-color:#0b7139}
.delivery60Toolbar input{
  min-width:190px;flex:1;border:1px solid #dce4de;border-radius:8px;padding:7px;font-size:7px
}
.delivery60Body{
  min-height:0;display:grid;grid-template-columns:minmax(275px,.85fr) minmax(0,1.55fr);gap:8px
}
.delivery60ListPanel,.delivery60DetailPanel{min-height:0;overflow:hidden}
.delivery60ListPanel{
  display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:7px
}
.delivery60List{overflow:auto;display:grid;align-content:start;gap:6px}
.delivery60Order{
  border:1px solid #dfe6e1;background:#fff;border-radius:11px;padding:8px;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center
}
.delivery60Order.selected{border-color:#59b879;background:#f3fbf5}
.delivery60OrderInfo{min-width:0;display:grid;gap:2px}
.delivery60OrderInfo strong{font-size:7.8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.delivery60OrderInfo small{font-size:6.3px;color:#728078}
.delivery60StatusDot{
  display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px;background:#9ba69f
}
.delivery60StatusDot.pending{background:#e49d27}
.delivery60StatusDot.preparing{background:#4f8fd8}
.delivery60StatusDot.ready{background:#8b67c7}
.delivery60StatusDot.route{background:#0b7139}
.delivery60StatusDot.done{background:#6c776f}

.delivery60DetailPanel{
  overflow:auto;display:grid;align-content:start;gap:8px
}
.delivery60DetailHead{
  display:flex;justify-content:space-between;gap:8px;align-items:flex-start
}
.delivery60DetailHead h2{margin:0;font-size:14px}
.delivery60MetaGrid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px
}
.delivery60Meta{
  border:1px solid #e1e7e3;background:#f8faf9;border-radius:10px;padding:7px;display:grid;gap:2px
}
.delivery60Meta small{font-size:5.7px;color:#748078;text-transform:uppercase;font-weight:1000}
.delivery60Meta strong{font-size:7px;line-height:1.3;word-break:break-word}
.delivery60Section{
  border:1px solid #e0e7e2;background:#fff;border-radius:12px;padding:9px;display:grid;gap:7px
}
.delivery60SectionHead{
  display:flex;justify-content:space-between;gap:8px;align-items:center
}
.delivery60SectionHead strong{font-size:8px}
.delivery60Items{display:grid;gap:5px}
.delivery60Item{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;
  border:1px solid #e2e8e4;background:#fafcfa;border-radius:8px;padding:7px;font-size:6.8px
}
.delivery60PaymentProof{
  max-width:100%;max-height:220px;object-fit:contain;border:1px solid #dfe6e1;border-radius:9px;background:#f6f8f6
}
.delivery60MapWrap{display:grid;grid-template-rows:250px 18px}
.delivery60MapWrap #deliveryMap{height:250px!important;min-height:250px!important;border-radius:10px 10px 0 0}
.delivery60ActionGrid{display:flex;gap:6px;flex-wrap:wrap}
.delivery60ActionGrid button{
  border:0;border-radius:9px;padding:9px 11px;font-size:7px;font-weight:1000
}
.delivery60ActionGrid .primary{background:#0b7139;color:#fff}
.delivery60ActionGrid .warn{background:#fff2dc;color:#9a6015;border:1px solid #ebd5af}
.delivery60ActionGrid .secondary{background:#fff;border:1px solid #dce4de;color:#34423a}
.delivery60DriverRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
.delivery60DriverRow input{
  border:1px solid #dce4de;border-radius:9px;padding:8px;font-size:7px
}
.delivery60DriverRow button{
  border:0;background:#0b7139;color:#fff;border-radius:9px;padding:8px 10px;font-size:7px;font-weight:1000
}
.delivery60Empty{padding:20px;text-align:center;color:#758078;font-size:7px}
@media(max-width:900px){
  .delivery60Kpis{grid-template-columns:repeat(3,1fr)}
  .delivery60Body{grid-template-columns:1fr}
  .delivery60ListPanel{max-height:310px}
}
@media(max-width:560px){
  .delivery60Kpis{grid-template-columns:repeat(2,1fr)}
  .delivery60MetaGrid{grid-template-columns:1fr}
}




:root{
  --ui-bg:#f4f7f5;
  --ui-surface:#ffffff;
  --ui-surface-2:#f8faf9;
  --ui-line:#dfe6e1;
  --ui-line-strong:#cfd9d2;
  --ui-text:#1f2937;
  --ui-muted:#6b7780;
  --ui-green:#0b7139;
  --ui-green-2:#13834a;
  --ui-radius:14px;
  --ui-shadow:0 8px 24px rgba(31,41,55,.06);
}

/* Base */
html,body{
  width:100%;
  max-width:100%;
  min-height:100%;
  overflow-x:hidden;
  background:var(--ui-bg);
}
body{
  color:var(--ui-text);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
*,*::before,*::after{box-sizing:border-box}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img,svg,canvas{max-width:100%}
.app{
  width:100%;
  max-width:100%;
  min-height:100vh;
  background:var(--ui-bg);
}

/* Header */
.top{
  min-height:64px;
  padding:10px 14px;
  display:grid;
  grid-template-columns:minmax(170px,1fr) minmax(220px,1.2fr) minmax(160px,1fr);
  align-items:center;
  gap:12px;
}
.brand{
  font-size:21px !important;
  letter-spacing:.02em;
  white-space:nowrap;
}
.topStore{
  text-align:center;
  min-width:0;
  line-height:1.25;
}
.topStore strong{
  font-size:13px;
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.topStore span{font-size:11px}
.topUser{
  justify-self:end;
  white-space:nowrap;
  font-size:12px;
}

/* Main navigation */
.nav{
  display:flex;
  align-items:center;
  gap:4px;
  min-height:46px;
  padding:5px 8px;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  background:#fff;
  border-bottom:1px solid var(--ui-line);
}
.nav::-webkit-scrollbar{display:none}
.nav button{
  flex:0 0 auto;
  min-height:34px;
  padding:7px 10px;
  border-radius:9px;
  font-size:12px !important;
  font-weight:800;
  white-space:nowrap;
  transition:.18s ease;
}
.nav button:hover{background:#f2f7f4}
.nav button.active{
  background:#eaf8ee;
  color:var(--ui-green);
  border-color:#a8d9b7;
}

/* Main views */
main{
  min-width:0;
  max-width:100%;
}
.view{
  min-width:0;
  max-width:100%;
  padding:10px;
}
.card,.panel,.moduleCard{
  border-color:var(--ui-line) !important;
  border-radius:var(--ui-radius) !important;
  box-shadow:var(--ui-shadow);
  background:var(--ui-surface);
}
.sectionTitle{
  font-size:18px !important;
  line-height:1.1;
  margin:0;
}
.subtle{
  color:var(--ui-muted) !important;
  line-height:1.4;
}
.btn{
  min-height:34px;
  padding:7px 10px;
  border-radius:9px !important;
  font-size:12px !important;
  font-weight:800;
}
.btn.primary{
  background:var(--ui-green) !important;
  border-color:var(--ui-green) !important;
}
.btn.primary:hover{background:var(--ui-green-2) !important}

/* Forms */
.field{min-width:0}
.field label{
  font-size:11px !important;
  line-height:1.25;
  margin-bottom:4px;
}
.input,
.field input,
.field select,
.field textarea,
input.input,
select.input,
textarea.input{
  width:100%;
  min-width:0;
  min-height:38px;
  padding:8px 10px !important;
  border-radius:9px !important;
  font-size:13px !important;
  line-height:1.25;
}
.field textarea,textarea.input{
  min-height:74px;
  resize:vertical;
}

/* Tables/lists */
.tableList,.delivery60List,.mobileCartRows{
  min-width:0;
}
.tr,.orderCard,.cashierDeliveryRow,.delivery60Order{
  min-width:0;
}
.tr > *, .orderCard > *, .cashierDeliveryRow > *, .delivery60Order > *{
  min-width:0;
}
.tableWrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{padding:8px 10px;font-size:12px}

/* POS / Caja */
.posWrap{
  min-width:0;
  gap:10px;
}
.salesTopTools{
  gap:6px;
}
.salesTopTools input{
  min-width:0;
  font-size:13px;
}
.saleFamilyHeadV36,
.saleSkuV36,
.saleProdRow{
  min-height:44px;
}
.saleFamilyHeadV36 strong,
.saleSkuV36 strong,
.saleProdRow strong{
  font-size:13px !important;
}
.saleFamilyHeadV36 small,
.saleSkuV36 small,
.saleProdRow span,
.saleProdRow small{
  font-size:11px !important;
}
.saleAddBtn{
  min-height:32px;
  border-radius:8px;
  font-size:11px !important;
}
.deliveryAlertBanner{
  border-radius:12px !important;
}
.cashierSessionBar{
  gap:7px;
}
.newOrderBtn,.deliveryQueueBtn,.scanBtn{
  min-height:38px;
}

/* Bodega */
.warehouseWrap{
  gap:10px;
}
.warehousePanel,.warehouseCard{
  min-width:0;
}
#warehouseCountList,
#warehouseHistoryList{
  min-width:0;
}

/* Catálogo */
.catalogMasterShell,
.catalogUnifiedShell,
.catalogUnifiedGrid{
  min-width:0;
}
.catalogUnifiedGrid{
  gap:10px !important;
}
.catalogCategoryCard,
.catalogProductCard,
.promoListCardV48{
  border-radius:12px !important;
}
.catalogWizardBox,
.catalogEditModal{
  width:min(760px,calc(100vw - 24px)) !important;
  max-height:calc(100vh - 24px) !important;
  overflow:auto;
}

/* Administración */
.adminShell{
  min-width:0;
  max-width:100%;
}
.adminHeader{
  gap:10px;
}
.adminDateControls{
  flex-wrap:wrap;
  gap:6px;
}
.adminTabs{
  display:flex;
  gap:5px;
  overflow-x:auto;
  scrollbar-width:none;
  padding-bottom:2px;
}
.adminTabs::-webkit-scrollbar{display:none}
.adminTab{
  flex:0 0 auto;
  min-height:34px;
  white-space:nowrap;
  font-size:11px !important;
}
.adminKpis{
  gap:8px !important;
}
.adminKpi{
  min-width:0;
  border-radius:12px !important;
  padding:10px !important;
}
.adminKpi small{font-size:10px !important}
.adminKpi strong{font-size:20px !important}
.adminKpi span{font-size:10px !important}
.adminPanel{
  min-width:0;
  overflow:hidden;
}

/* Configuración */
.config57Shell{
  gap:10px !important;
}
.config57Tabs{
  overflow-x:auto;
  flex-wrap:nowrap !important;
  scrollbar-width:none;
}
.config57Tabs::-webkit-scrollbar{display:none}
.config57Tab{
  flex:0 0 auto;
  white-space:nowrap;
  min-height:34px;
  font-size:11px !important;
  padding:7px 10px !important;
}
.config57Card,
.config58Developer{
  border-radius:14px !important;
}
.config57Head h2{font-size:17px !important}
.config57Head p{font-size:11px !important}
.config57Field label{font-size:11px !important}
.config57Field input,
.config57Field select,
.config57Field textarea{
  min-height:38px;
  font-size:13px !important;
}
.config57BankInfo strong{font-size:12px !important}
.config57BankInfo small{font-size:10px !important}
.config57BankActions button{font-size:10px !important}

/* Delivery Central */
.delivery60Shell{
  gap:10px !important;
}
.delivery60Kpis{
  gap:8px !important;
}
.delivery60Kpi{
  padding:10px !important;
  border-radius:12px !important;
}
.delivery60Kpi small{font-size:10px !important}
.delivery60Kpi strong{font-size:22px !important}
.delivery60Kpi span{font-size:10px !important}
.delivery60Toolbar{
  gap:6px;
  padding:7px;
}
.delivery60Toolbar button{
  min-height:32px;
  font-size:10px !important;
}
.delivery60Toolbar input{
  min-height:34px;
  font-size:12px !important;
}
.delivery60Body{
  gap:10px !important;
}
.delivery60OrderInfo strong{font-size:12px !important}
.delivery60OrderInfo small{font-size:10px !important}
.delivery60DetailHead h2{font-size:17px !important}
.delivery60Meta small{font-size:9px !important}
.delivery60Meta strong{font-size:11px !important}
.delivery60SectionHead strong{font-size:12px !important}
.delivery60Item{font-size:11px !important}
.delivery60ActionGrid button{font-size:11px !important}
.delivery60DriverRow input{font-size:12px !important}

/* Apps stays visually intact but responsive */
.moduleWrap{
  min-width:0;
  gap:10px;
}
#deliveryStoreRoot{min-width:0}

/* Footer */
.footer{
  min-height:34px;
  padding:6px 10px;
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  font-size:10px;
  white-space:nowrap;
  overflow:hidden;
}
.footer > span{
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Modals */
.saleModal{
  padding:12px !important;
}
.saleModalBox{
  width:min(760px,calc(100vw - 24px));
  max-height:calc(100vh - 24px);
  overflow:auto;
  border-radius:14px !important;
}
.saleModalHead{
  position:sticky;
  top:0;
  z-index:3;
  background:#fff;
  padding-bottom:8px;
}
.saleModalFoot{
  position:sticky;
  bottom:0;
  z-index:3;
  background:#fff;
  padding-top:8px;
}

/* Customer Delivery / Checkout */
.v49Checkout,.customerApp,#deliveryDemoOverlayV43{
  max-width:100vw;
  overflow-x:hidden;
}
.v49CheckoutBody{
  padding-left:10px !important;
  padding-right:10px !important;
}
.v49Card,.v54MapCard,.v50MapCard{
  border-radius:14px !important;
}
.v49Field label{font-size:10px !important}
.v49Field input,.v49Field textarea{
  font-size:13px !important;
}
.v49Primary,.v49Secondary{
  font-size:12px !important;
}
.v46HeroTitle{font-size:18px !important}
.v46HeroSub{font-size:10px !important}
.v46HeroTag,.v46HeroDiscount{font-size:9px !important}
.v46HeroAdd{font-size:10px !important}
.v47ProductInfo strong{font-size:12px !important}
.v47ProductInfo small{font-size:10px !important}
.v47ProductPrice{font-size:14px !important}
.v47ProductActions button{font-size:10px !important}
.v45SideBtn{font-size:9px !important}
.v45SideIcon{font-size:15px !important}

/* ---------- Tablet ---------- */
@media (max-width:1024px){
  .top{
    grid-template-columns:minmax(155px,.9fr) minmax(180px,1.1fr) auto;
    padding:9px 10px;
  }
  .brand{font-size:19px !important}
  .nav button{font-size:11px !important}

  .delivery60Kpis{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .delivery60Body{
    grid-template-columns:minmax(250px,.8fr) minmax(0,1.4fr) !important;
  }

  .adminKpis{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .adminGrid{
    grid-template-columns:1fr !important;
  }
}

/* ---------- Mobile ---------- */
@media (max-width:700px){
  body{
    background:#f4f7f5;
  }
  .app{
    min-height:100dvh;
  }

  .top{
    min-height:58px;
    grid-template-columns:1fr auto;
    grid-template-areas:
      "brand user"
      "store store";
    gap:3px 8px;
    padding:7px 9px;
  }
  .brand{
    grid-area:brand;
    font-size:18px !important;
  }
  .topStore{
    grid-area:store;
    text-align:left;
  }
  .topStore strong{font-size:11px}
  .topStore span{font-size:9px}
  .topUser{
    grid-area:user;
    font-size:10px;
  }

  .nav{
    min-height:42px;
    padding:4px 6px;
    gap:3px;
  }
  .nav button{
    min-height:32px;
    padding:6px 8px;
    font-size:10px !important;
    border-radius:8px;
  }

  .view{
    padding:7px;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
  }
  .sectionTitle{font-size:16px !important}

  .card,.panel,.moduleCard{
    border-radius:12px !important;
    box-shadow:0 4px 14px rgba(31,41,55,.045);
  }

  .btn{
    min-height:34px;
    font-size:11px !important;
    padding:7px 9px;
  }

  /* Caja */
  .posWrap{
    display:block !important;
    height:auto !important;
    overflow:visible !important;
  }
  .salesTopTools{
    grid-template-columns:auto minmax(0,1fr) auto !important;
  }
  .salesTopTools input{font-size:12px}
  .cashierSessionBar{
    grid-template-columns:1fr auto !important;
    align-items:stretch;
  }
  .orderSessionState{
    grid-column:1/-1;
    order:3;
  }
  .deliveryAlertBanner{
    grid-template-columns:auto minmax(0,1fr) auto !important;
  }
  .saleSkuV36{
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:5px !important;
  }
  .saleSkuPriceV36,.saleSkuStockV36{
    font-size:10px !important;
  }
  .saleAddBtn{
    grid-column:1/-1;
    width:100%;
  }

  /* Bodega */
  .warehouseWrap,
  .moduleWrap{
    grid-template-columns:1fr !important;
    height:auto !important;
    overflow:visible !important;
  }

  /* Catálogo */
  .catalogUnifiedGrid,
  .catalogMasterShell{
    grid-template-columns:1fr !important;
    overflow:visible !important;
  }
  .catalogWizardGrid,
  .catalogEditGrid{
    grid-template-columns:1fr !important;
  }

  /* Administración */
  .adminHeader{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  .adminDateControls{
    width:100%;
  }
  .adminDateRange{
    display:grid !important;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .adminDateRange label{min-width:0}
  .adminDateRange input{width:100%}
  .adminPeriod{
    display:flex;
    overflow-x:auto;
    width:100%;
  }
  .adminKpis{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .adminKpi strong{font-size:18px !important}
  .adminGrid{
    grid-template-columns:1fr !important;
  }

  /* Config */
  .config57Pane{
    overflow:visible !important;
  }
  .config57Grid,
  .config58TechGrid{
    grid-template-columns:1fr !important;
  }
  .config57Head{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  .config57Save{width:100%}
  .config57BankCard{
    grid-template-columns:1fr !important;
  }
  .config57BankActions{justify-content:flex-start !important}

  /* Delivery */
  .delivery60Shell{
    height:auto !important;
    overflow:visible !important;
  }
  .delivery60Kpis{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .delivery60Kpi{
    padding:8px !important;
  }
  .delivery60Kpi strong{font-size:18px !important}
  .delivery60Toolbar{
    display:grid !important;
    grid-template-columns:repeat(3,auto);
  }
  .delivery60Toolbar input{
    grid-column:1/-1;
    width:100%;
    min-width:0;
  }
  .delivery60Body{
    grid-template-columns:1fr !important;
    height:auto !important;
  }
  .delivery60ListPanel{
    max-height:none !important;
    min-height:280px;
  }
  .delivery60List{
    max-height:320px;
  }
  .delivery60DetailPanel{
    overflow:visible !important;
  }
  .delivery60MetaGrid{
    grid-template-columns:1fr !important;
  }
  .delivery60DriverRow{
    grid-template-columns:1fr !important;
  }
  .delivery60DriverRow button{width:100%}
  .delivery60MapWrap{
    grid-template-rows:220px 18px !important;
  }
  .delivery60MapWrap #deliveryMap{
    height:220px !important;
    min-height:220px !important;
  }

  /* Checkout customer */
  .v49CheckoutHead{
    grid-template-columns:38px minmax(0,1fr) 38px !important;
  }
  .v49CheckoutHead strong{
    font-size:13px !important;
  }
  .v49Steps{
    padding:6px 8px !important;
  }
  .v49CheckoutBody{
    padding:8px 7px 100px !important;
  }
  .v49CheckoutFoot{
    padding:8px !important;
  }
  .v54PayGrid,
  .v54MapActions{
    grid-template-columns:1fr !important;
  }
  .v50TrackMeta{
    grid-template-columns:1fr !important;
  }
  #v54LocationMap,
  #v50CustomerMap{
    height:250px !important;
    min-height:250px !important;
  }

  /* Footer */
  .footer{
    display:grid;
    grid-template-columns:1fr auto;
    font-size:9px;
  }
  .footer58Dev{
    display:none !important;
  }
}

/* ---------- Small phones ---------- */
@media (max-width:390px){
  .top{
    padding:6px 7px;
  }
  .brand{font-size:16px !important}
  .nav button{
    font-size:9.5px !important;
    padding:6px 7px;
  }

  .adminKpis,
  .delivery60Kpis{
    grid-template-columns:1fr 1fr !important;
  }

  .v46HeroSlide{
    grid-template-columns:minmax(0,1fr) 74px !important;
  }
  .v46HeroTitle{font-size:15px !important}
  .v47ProductRow{
    padding:7px !important;
  }

  .footer{
    grid-template-columns:1fr;
  }
  .footer > span:last-child{display:none}
}

/* Ensure no accidental horizontal overflow */
.view,
.posWrap,
.warehouseWrap,
.moduleWrap,
.adminShell,
.config57Shell,
.delivery60Shell,
.catalogUnifiedGrid,
.delivery60Body,
.delivery60DetailPanel,
.delivery60ListPanel{
  max-width:100%;
  min-width:0;
}


/* V62 — marca blanca para cada negocio cliente */
#mainBusinessBrand{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-transform:none;
  font-weight:900;
  letter-spacing:.01em;
}
@media(max-width:700px){
  #mainBusinessBrand{
    font-size:16px !important;
    max-width:68vw;
  }
}


/* V63 — encabezado equilibrado y centrado */
.top{
  position:relative;
  min-height:68px !important;
  padding:10px 16px !important;
  display:grid !important;
  grid-template-columns:minmax(180px,1fr) minmax(260px,1.25fr) minmax(180px,1fr) !important;
  align-items:center !important;
  gap:14px !important;
}
#mainBusinessBrand{
  justify-self:start;
  align-self:center;
  font-size:21px !important;
  line-height:1.1;
  font-weight:900;
  max-width:100%;
}
.topStore{
  justify-self:center !important;
  align-self:center;
  width:100%;
  max-width:340px;
  text-align:center !important;
  display:grid;
  gap:3px;
  line-height:1.15;
}
.topStore strong{
  font-size:13px !important;
  font-weight:800;
  letter-spacing:.01em;
}
.topStore span{
  font-size:10px !important;
  opacity:.78 !important;
}
.topUser{
  justify-self:end !important;
  align-self:center;
  font-size:11px !important;
  white-space:nowrap;
  display:flex;
  align-items:center;
  gap:5px;
}

/* Tablet */
@media(max-width:900px){
  .top{
    grid-template-columns:minmax(150px,1fr) minmax(210px,1.15fr) auto !important;
    padding:9px 12px !important;
    gap:10px !important;
  }
  #mainBusinessBrand{font-size:18px !important}
  .topStore strong{font-size:12px !important}
  .topStore span{font-size:9.5px !important}
}

/* Mobile */
@media(max-width:700px){
  .top{
    min-height:auto !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-areas:
      "brand user"
      "store store" !important;
    padding:8px 10px !important;
    gap:5px 10px !important;
  }
  #mainBusinessBrand{
    grid-area:brand;
    justify-self:start;
    font-size:17px !important;
    max-width:72vw;
  }
  .topUser{
    grid-area:user;
    justify-self:end !important;
    font-size:10px !important;
  }
  .topStore{
    grid-area:store;
    justify-self:center !important;
    max-width:none;
    text-align:center !important;
    border-top:1px solid rgba(255,255,255,.12);
    padding-top:5px;
    width:100%;
  }
  .topStore strong{font-size:11px !important}
  .topStore span{font-size:9px !important}
}




/* PC: panel de productos y panel de cobro equilibrados */
#view-pos{
  min-height:0;
  overflow:hidden;
}
#view-pos .posWrap{
  height:100%;
  min-height:0;
  display:grid !important;
  grid-template-columns:minmax(0,1.58fr) minmax(355px,.82fr) !important;
  gap:10px !important;
  overflow:hidden !important;
  padding:9px !important;
}

/* El panel izquierdo tiene cabecera operativa fija y productos con scroll propio */
#view-pos .catalog{
  min-width:0;
  min-height:0;
  height:100%;
  display:grid !important;
  grid-template-rows:auto auto auto auto minmax(0,1fr) !important;
  gap:7px !important;
  overflow:hidden !important;
}

/* El panel Delivery intermedio solo ocupa espacio cuando está abierto */
#view-pos .cashierDeliveryPanel{
  min-height:0;
  max-height:220px;
  overflow:auto;
}
#view-pos .cashierDeliveryPanel:not(.active){
  display:none !important;
}

/* La zona desplegable es la que debe desplazarse, no recortarse */
#view-pos .salesAccordion{
  min-width:0;
  min-height:0;
  height:100%;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  align-content:start;
  padding-right:4px;
  padding-bottom:14px;
  scrollbar-gutter:stable;
}
#view-pos .salesAccordion::-webkit-scrollbar{width:7px}
#view-pos .salesAccordion::-webkit-scrollbar-thumb{
  background:#cbd6cf;
  border-radius:999px;
}
#view-pos .salesAccordion::-webkit-scrollbar-track{background:transparent}

/* Categorías/familias nunca deben cortar su propio contenido */
#view-pos .saleCategoryBlock,
#view-pos .saleSubBlock,
#view-pos .saleFamilyV36{
  overflow:visible !important;
  min-width:0;
}
#view-pos .saleCategoryBody,
#view-pos .saleSubProducts,
#view-pos .saleFamilyBodyV36{
  min-width:0;
  overflow:visible !important;
}

/* Jerarquía visual clara: nombre arriba, detalle debajo */
#view-pos .saleFamilyHeadV36{
  min-height:46px !important;
  padding:8px 10px !important;
  grid-template-columns:18px minmax(0,1fr) auto !important;
  align-items:center !important;
}
#view-pos .saleFamilyHeadV36 > div{
  min-width:0;
  display:grid;
  gap:3px;
}
#view-pos .saleFamilyHeadV36 strong{
  display:block;
  font-size:13px !important;
  line-height:1.15 !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#view-pos .saleFamilyHeadV36 small{
  display:block;
  font-size:10px !important;
  line-height:1.2 !important;
  color:#748078 !important;
  white-space:normal !important;
}

/* SKU final: texto separado de precio/stock/acción */
#view-pos .saleSkuV36{
  min-height:48px;
  padding:8px 9px !important;
  grid-template-columns:minmax(0,1fr) auto auto auto !important;
  gap:10px !important;
  align-items:center;
}
#view-pos .saleSkuV36 > div:first-child{
  min-width:0;
  display:grid;
  gap:3px;
}
#view-pos .saleSkuV36 strong{
  display:block;
  font-size:12px !important;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#view-pos .saleSkuV36 small{
  display:block;
  font-size:9.5px !important;
  line-height:1.2;
  color:#748078 !important;
  white-space:normal;
}
#view-pos .saleSkuPriceV36{
  min-width:62px;
  text-align:right;
  font-size:11px !important;
  font-weight:900;
}
#view-pos .saleSkuStockV36{
  min-width:48px;
  text-align:right;
  font-size:9.5px !important;
}
#view-pos .saleAddBtn{
  min-width:72px;
  min-height:32px;
  white-space:nowrap;
}

/* Categorías principales más legibles */
#view-pos .saleCategoryHead{
  min-height:42px !important;
  padding:7px 9px !important;
}
#view-pos .saleCategoryHead strong{
  font-size:12px !important;
}
#view-pos .saleCategoryHead .count{
  font-size:9px !important;
}

/* Panel derecho estable, con scroll interno si la altura es baja */
#view-pos .ticket{
  min-width:0;
  min-height:0;
  height:100%;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  align-content:start;
  scrollbar-gutter:stable;
}
#view-pos .ticket::-webkit-scrollbar{width:7px}
#view-pos .ticket::-webkit-scrollbar-thumb{
  background:#cbd6cf;
  border-radius:999px;
}

/* Evitar que elementos largos desborden */
#view-pos .deliveryAlertText,
#view-pos .orderSessionState,
#view-pos .ticketHead,
#view-pos .cartArea{
  min-width:0;
}
#view-pos .deliveryAlertText strong,
#view-pos .deliveryAlertText small,
#view-pos .orderSessionState strong,
#view-pos .orderSessionState small{
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Tablet */
@media(max-width:980px){
  #view-pos .posWrap{
    grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr) !important;
  }
  #view-pos .saleSkuV36{
    grid-template-columns:minmax(0,1fr) auto auto !important;
  }
  #view-pos .saleSkuStockV36{display:none}
}

/* Celular: scroll natural y todo apilado, sin recortes */
@media(max-width:700px){
  #view-pos{
    overflow:auto !important;
  }
  #view-pos .posWrap{
    height:auto !important;
    min-height:100%;
    display:block !important;
    overflow:visible !important;
    padding:7px !important;
  }
  #view-pos .catalog{
    height:auto !important;
    min-height:0 !important;
    display:block !important;
    overflow:visible !important;
  }
  #view-pos .catalog > *{
    margin-bottom:7px;
  }
  #view-pos .salesAccordion{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding-right:0;
    padding-bottom:18px;
  }
  #view-pos .ticket{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    margin-top:8px;
    margin-bottom:92px;
  }
  #view-pos .saleSkuV36{
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:7px !important;
  }
  #view-pos .saleSkuPriceV36{
    min-width:56px;
  }
  #view-pos .saleSkuStockV36{
    display:none !important;
  }
  #view-pos .saleAddBtn{
    grid-column:1/-1;
    width:100%;
    min-height:36px;
  }
}

/* Teléfono pequeño */
@media(max-width:390px){
  #view-pos .saleFamilyHeadV36 strong{font-size:12px !important}
  #view-pos .saleFamilyHeadV36 small{font-size:9px !important}
  #view-pos .saleSkuV36 strong{font-size:11px !important}
  #view-pos .saleSkuV36 small{font-size:9px !important}
}




#view-pos{
  min-height:0 !important;
  overflow:hidden !important;
}

#view-pos .posWrap{
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.58fr) minmax(355px,.82fr) !important;
  gap:10px !important;
}

/* IMPORTANTE:
   ya no usamos grid para repartir las filas internas del catálogo.
   El acordeón toma todo el espacio restante real. */
#view-pos .catalog{
  min-width:0 !important;
  min-height:0 !important;
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  overflow:hidden !important;
}

#view-pos .deliveryAlertBanner,
#view-pos .cashierSessionBar,
#view-pos .salesTopTools{
  flex:0 0 auto !important;
  min-width:0;
}

#view-pos .cashierDeliveryPanel{
  flex:0 0 auto !important;
  min-height:0;
  max-height:220px;
  overflow:auto !important;
}
#view-pos .cashierDeliveryPanel:not(.active){
  display:none !important;
}

/* Ésta es ahora la única zona flexible. */
#view-pos .salesAccordion{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  align-content:start !important;
  padding:0 4px 18px 0 !important;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
}

/* Asegurar que ningún bloque interno recorte desplegables. */
#view-pos .saleCategoryBlock,
#view-pos .saleCategoryBody,
#view-pos .saleSubBlock,
#view-pos .saleSubProducts,
#view-pos .saleFamilyV36,
#view-pos .saleFamilyBodyV36{
  min-width:0 !important;
  max-height:none !important;
}

#view-pos .saleCategoryBlock,
#view-pos .saleSubBlock{
  overflow:visible !important;
}

#view-pos .saleCategoryBody,
#view-pos .saleSubProducts,
#view-pos .saleFamilyBodyV36{
  overflow:visible !important;
}

/* Mejor separación entre familia, detalle y SKU */
#view-pos .saleFamilyV36{
  border:1px solid #e0e7e2;
  border-radius:10px;
  background:#fff;
}

#view-pos .saleFamilyHeadV36{
  min-height:48px !important;
  padding:9px 10px !important;
}

#view-pos .saleFamilyHeadV36 > div{
  min-width:0;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:3px !important;
}

#view-pos .saleFamilyHeadV36 strong{
  display:block !important;
  width:100%;
  font-size:13px !important;
  line-height:1.15 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

#view-pos .saleFamilyHeadV36 small{
  display:block !important;
  width:100%;
  font-size:10px !important;
  line-height:1.25 !important;
  color:#748078 !important;
  white-space:normal !important;
  margin:0 !important;
}

#view-pos .saleFamilyBodyV36{
  padding:0 9px 9px !important;
  display:grid !important;
  gap:7px !important;
}

#view-pos .saleSkuV36{
  min-height:50px !important;
  grid-template-columns:minmax(0,1fr) auto auto auto !important;
  gap:9px !important;
  padding:8px 9px !important;
}

#view-pos .saleSkuV36 > div:first-child{
  min-width:0;
  display:flex !important;
  flex-direction:column !important;
  gap:3px !important;
}

#view-pos .saleSkuV36 strong{
  font-size:12px !important;
  white-space:normal !important;
  line-height:1.2 !important;
}

#view-pos .saleSkuV36 small{
  font-size:9.5px !important;
  line-height:1.2 !important;
  white-space:normal !important;
}

/* Ticket derecho: fijo respecto al panel izquierdo, con su scroll. */
#view-pos .ticket{
  height:100% !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}

/* En alturas pequeñas de PC, mantener operable la Caja */
@media(min-width:701px) and (max-height:720px){
  #view-pos .deliveryAlertBanner{min-height:42px !important}
  #view-pos .cashierSessionBar{min-height:42px !important}
  #view-pos .salesTopTools{min-height:42px !important}
  #view-pos .saleCategoryHead{min-height:38px !important}
  #view-pos .saleFamilyHeadV36{min-height:42px !important}
}

/* Tablet */
@media(max-width:980px) and (min-width:701px){
  #view-pos .posWrap{
    grid-template-columns:minmax(0,1.3fr) minmax(315px,.8fr) !important;
  }
  #view-pos .saleSkuV36{
    grid-template-columns:minmax(0,1fr) auto auto !important;
  }
  #view-pos .saleSkuStockV36{
    display:none !important;
  }
}

/* Móvil: todo fluye verticalmente, sin paneles recortados */
@media(max-width:700px){
  #view-pos{
    overflow:auto !important;
  }

  #view-pos .posWrap{
    display:block !important;
    height:auto !important;
    overflow:visible !important;
  }

  #view-pos .catalog{
    display:flex !important;
    height:auto !important;
    overflow:visible !important;
  }

  #view-pos .salesAccordion{
    flex:none !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    padding-right:0 !important;
  }

  #view-pos .ticket{
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    margin-top:9px !important;
    margin-bottom:92px !important;
  }

  #view-pos .saleSkuV36{
    grid-template-columns:minmax(0,1fr) auto !important;
  }

  #view-pos .saleSkuStockV36{
    display:none !important;
  }

  #view-pos .saleAddBtn{
    grid-column:1/-1;
    width:100%;
  }
}


/* V66 — Caja: navegación de productos realmente visible */
@media(min-width:701px){
  #view-pos .salesAccordion{
    overflow-y:scroll !important;
    overflow-x:hidden !important;
    scrollbar-gutter:stable both-edges;
    padding-right:6px !important;
  }
  #view-pos .salesAccordion::-webkit-scrollbar{
    width:10px !important;
  }
  #view-pos .salesAccordion::-webkit-scrollbar-track{
    background:#edf2ef !important;
    border-radius:999px;
  }
  #view-pos .salesAccordion::-webkit-scrollbar-thumb{
    background:#9fb5a7 !important;
    border:2px solid #edf2ef;
    border-radius:999px;
  }
  #view-pos .salesAccordion::-webkit-scrollbar-thumb:hover{
    background:#789586 !important;
  }

  /* Que las familias abiertas tengan aire suficiente para verse completas */
  #view-pos .saleCategoryBody{
    padding-bottom:10px !important;
  }
  #view-pos .saleFamilyBodyV36{
    padding-bottom:10px !important;
  }

  /* Indicador visual de que la zona puede desplazarse */
  #view-pos .catalog{
    position:relative;
  }
  #view-pos .catalog::after{
    content:"Deslice para ver más productos";
    position:absolute;
    right:14px;
    bottom:4px;
    z-index:5;
    pointer-events:none;
    font-size:9px;
    color:#6f7e75;
    background:rgba(255,255,255,.92);
    border:1px solid #dfe7e2;
    border-radius:999px;
    padding:4px 8px;
    opacity:.82;
  }
}

/* En móvil no mostrar la pista: el scroll es natural */
@media(max-width:700px){
  #view-pos .catalog::after{display:none!important}
}




#view-pos .salesAccordion{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:hidden !important;
  padding:0 !important;
  display:block !important;
}

.sale67Browser{
  height:100%;
  min-height:0;
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  gap:10px;
  overflow:hidden;
}

.sale67Categories{
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  background:#fff;
  border:1px solid #dfe6e1;
  border-radius:13px;
  padding:7px;
  display:grid;
  align-content:start;
  gap:5px;
  scrollbar-width:thin;
}
.sale67Cat{
  width:100%;
  min-height:58px;
  border:1px solid transparent;
  background:#fff;
  border-radius:10px;
  padding:6px 5px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:7px;
  align-items:center;
  text-align:left;
  color:#26332b;
}
.sale67Cat:hover{
  background:#f5faf7;
}
.sale67Cat.active{
  background:#eaf8ee;
  border-color:#9fd4ae;
  color:#087433;
}
.sale67CatIcon{
  width:30px;
  height:30px;
  border-radius:9px;
  background:#f2f6f3;
  display:grid;
  place-items:center;
  font-size:17px;
}
.sale67Cat.active .sale67CatIcon{
  background:#dff4e5;
}
.sale67CatText{
  min-width:0;
  display:grid;
  gap:2px;
}
.sale67CatText strong{
  font-size:10px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.sale67CatText small{
  font-size:8px;
  color:#849087;
}

.sale67Content{
  min-width:0;
  min-height:0;
  background:#fff;
  border:1px solid #dfe6e1;
  border-radius:13px;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  overflow:hidden;
}

.sale67ContentHead{
  min-width:0;
  padding:10px 12px 8px;
  border-bottom:1px solid #edf1ee;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:10px;
}
.sale67ContentHead > div{
  min-width:0;
}
.sale67ContentHead h3{
  margin:0;
  font-size:18px;
  line-height:1.05;
  color:#1f2937;
}
.sale67ContentHead p{
  margin:3px 0 0;
  font-size:10px;
  color:#758178;
}
.sale67Count{
  flex:0 0 auto;
  padding:4px 8px;
  border-radius:999px;
  background:#eef3f0;
  color:#68756c;
  font-size:9px;
  font-weight:800;
}

.sale67Scroll{
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding:10px;
  scrollbar-gutter:stable;
}
.sale67Scroll::-webkit-scrollbar{width:8px}
.sale67Scroll::-webkit-scrollbar-thumb{
  background:#b8c8be;
  border-radius:999px;
}
.sale67Scroll::-webkit-scrollbar-track{
  background:#f1f4f2;
}

.sale67Grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  align-content:start;
}

.sale67Card{
  min-width:0;
  min-height:166px;
  border:1px solid #dfe6e1;
  border-radius:13px;
  background:#fff;
  padding:10px;
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  grid-template-rows:minmax(0,1fr) auto;
  gap:8px 10px;
  box-shadow:0 5px 14px rgba(31,41,55,.04);
}
.sale67Card:hover{
  border-color:#b8d9c2;
  box-shadow:0 7px 18px rgba(31,41,55,.07);
}

.sale67Visual{
  grid-row:1 / span 2;
  width:58px;
  min-height:122px;
  border-radius:11px;
  background:linear-gradient(180deg,#f7faf8,#eef4f0);
  display:grid;
  place-items:center;
  overflow:hidden;
}
.sale67Bottle{
  position:relative;
  width:29px;
  height:72px;
  border-radius:6px 6px 10px 10px;
  background:linear-gradient(180deg,#c8913b,#7b4b18);
  box-shadow:0 5px 10px rgba(77,51,21,.18);
}
.sale67Bottle::before{
  content:"";
  position:absolute;
  width:13px;
  height:16px;
  top:-13px;
  left:8px;
  border-radius:3px 3px 1px 1px;
  background:#25342a;
}
.sale67Bottle::after{
  content:"";
  position:absolute;
  left:4px;
  right:4px;
  top:30px;
  height:19px;
  border-radius:3px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(0,0,0,.06);
}

.sale67Info{
  min-width:0;
  align-self:start;
  display:grid;
  gap:4px;
}
.sale67Info strong{
  font-size:12px;
  line-height:1.18;
  color:#1f2937;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.sale67Info small{
  font-size:9px;
  color:#7a867e;
  line-height:1.2;
}
.sale67Price{
  font-size:17px;
  font-weight:1000;
  color:#18221c;
  margin-top:3px;
}
.sale67Stock{
  font-size:9px;
  color:#67756c;
}

.sale67Actions{
  min-width:0;
  display:flex;
  gap:6px;
  align-items:center;
  justify-content:space-between;
}
.sale67Add{
  min-height:31px;
  border:0;
  border-radius:8px;
  background:#0b7139;
  color:#fff;
  padding:6px 10px;
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
}
.sale67Add:hover{background:#0e8343}
.sale67Add:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.sale67VariantHint{
  font-size:8px;
  color:#78847c;
}

.sale67VariantPanel{
  grid-column:1/-1;
  border:1px solid #b9d9c3;
  background:#f7fcf8;
  border-radius:13px;
  padding:11px;
  display:grid;
  gap:8px;
}
.sale67VariantHead{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
}
.sale67VariantHead strong{
  font-size:12px;
}
.sale67VariantClose{
  border:1px solid #d7e1da;
  background:#fff;
  border-radius:8px;
  min-height:29px;
  padding:5px 8px;
  font-size:9px;
}
.sale67VariantLevel{
  display:grid;
  gap:5px;
}
.sale67VariantLevel label{
  font-size:9px;
  font-weight:900;
  color:#66746b;
}
.sale67VariantOptions{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.sale67VariantOption{
  border:1px solid #cad7cf;
  background:#fff;
  color:#304038;
  border-radius:8px;
  padding:7px 9px;
  font-size:9px;
  font-weight:800;
}
.sale67VariantOption.active{
  background:#e6f7eb;
  border-color:#66bb7f;
  color:#087432;
}
.sale67SelectedSku{
  margin-top:2px;
  border-top:1px solid #dbe6de;
  padding-top:8px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:8px;
  align-items:center;
}
.sale67SelectedSku > div{
  min-width:0;
  display:grid;
  gap:2px;
}
.sale67SelectedSku strong{
  font-size:11px;
}
.sale67SelectedSku small{
  font-size:9px;
  color:#748078;
}
.sale67SelectedSku .price{
  font-size:14px;
  font-weight:1000;
}

.sale67Empty{
  grid-column:1/-1;
  min-height:180px;
  border:1px dashed #cfdad3;
  border-radius:12px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:20px;
  color:#77847c;
  font-size:11px;
}

/* La pista de scroll de V66 ya no aplica en este diseño. */
#view-pos .catalog::after{
  display:none !important;
}

/* Laptop / tablet */
@media(max-width:1180px) and (min-width:701px){
  .sale67Browser{
    grid-template-columns:104px minmax(0,1fr);
  }
  .sale67Grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .sale67Cat{
    grid-template-columns:28px minmax(0,1fr);
  }
}

/* Móvil: categorías horizontales, productos en una sola columna */
@media(max-width:700px){
  #view-pos .salesAccordion{
    overflow:visible !important;
  }
  .sale67Browser{
    height:auto;
    display:block;
    overflow:visible;
  }
  .sale67Categories{
    position:sticky;
    top:0;
    z-index:4;
    display:flex;
    overflow-x:auto;
    overflow-y:hidden;
    gap:5px;
    padding:6px;
    margin-bottom:7px;
    border-radius:11px;
  }
  .sale67Cat{
    flex:0 0 auto;
    width:auto;
    min-width:84px;
    min-height:52px;
    grid-template-columns:26px auto;
    padding:5px 7px;
  }
  .sale67CatIcon{
    width:26px;
    height:26px;
    font-size:15px;
  }
  .sale67CatText strong{
    font-size:9px;
  }
  .sale67CatText small{
    display:none;
  }
  .sale67Content{
    overflow:visible;
    display:block;
  }
  .sale67ContentHead{
    padding:9px;
  }
  .sale67ContentHead h3{
    font-size:16px;
  }
  .sale67Scroll{
    overflow:visible;
    padding:8px;
  }
  .sale67Grid{
    grid-template-columns:1fr;
    gap:7px;
  }
  .sale67Card{
    min-height:132px;
    grid-template-columns:48px minmax(0,1fr);
    padding:8px;
  }
  .sale67Visual{
    width:48px;
    min-height:100px;
  }
  .sale67Bottle{
    width:24px;
    height:61px;
  }
  .sale67Bottle::before{
    width:11px;
    height:14px;
    left:7px;
  }
  .sale67SelectedSku{
    grid-template-columns:minmax(0,1fr) auto;
  }
  .sale67SelectedSku .sale67Add{
    grid-column:1/-1;
    width:100%;
  }
}


/* V68 — regla general: una sola pantalla operativa */
html,body{width:100%;height:100%;margin:0;overflow:hidden!important}
.app{height:100dvh!important;min-height:0!important;overflow:hidden!important}
main,.view{min-height:0!important;overflow:hidden!important}
.top{min-height:58px!important;padding:8px 12px!important}
.nav{min-height:42px!important;padding:4px 7px!important}
.nav button{min-height:30px!important;padding:5px 8px!important;font-size:11px!important}
.footer{min-height:28px!important;padding:4px 8px!important;font-size:9px!important}
.view{padding:7px!important}

/* Caja */
#view-pos .posWrap{
  height:100%!important;min-height:0!important;overflow:hidden!important;
  padding:7px!important;gap:8px!important;
  grid-template-columns:minmax(0,1.58fr) minmax(350px,.82fr)!important
}
#view-pos .catalog{
  height:100%!important;min-height:0!important;overflow:hidden!important;
  display:flex!important;flex-direction:column!important;gap:6px!important
}
#view-pos .deliveryAlertBanner,#view-pos .cashierSessionBar,#view-pos .salesTopTools{flex:0 0 auto!important}
#view-pos .salesAccordion{flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;padding:0!important}

/* Caja tipo catálogo: sin scroll, paginada */
.sale67Browser{height:100%!important;min-height:0!important;overflow:hidden!important;grid-template-columns:108px minmax(0,1fr)!important;gap:8px!important}
.sale67Categories{
  height:100%!important;min-height:0!important;overflow:hidden!important;padding:5px!important;gap:4px!important;
  grid-template-rows:repeat(7,minmax(0,1fr))
}
.sale67Cat{min-height:0!important;height:100%!important;padding:4px!important;grid-template-columns:26px minmax(0,1fr)!important;gap:5px!important}
.sale67CatIcon{width:26px!important;height:26px!important;font-size:14px!important}
.sale67CatText strong{font-size:9px!important}.sale67CatText small{font-size:7px!important}

.sale67Content{
  height:100%!important;min-height:0!important;overflow:hidden!important;
  display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important
}
.sale67ContentHead{padding:7px 9px 6px!important}
.sale67ContentHead h3{font-size:16px!important}.sale67ContentHead p{font-size:9px!important}
.sale67Count{font-size:8px!important;padding:3px 7px!important}
.sale67Scroll{height:100%!important;min-height:0!important;overflow:hidden!important;padding:7px!important}
.sale67Grid{
  height:100%!important;min-height:0!important;
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:7px!important;align-content:stretch!important
}
.sale67Card{
  min-height:0!important;height:100%!important;padding:7px!important;
  grid-template-columns:48px minmax(0,1fr)!important;gap:6px 8px!important
}
.sale67Visual{width:48px!important;min-height:0!important;height:100%!important;max-height:112px!important}
.sale67Bottle{width:23px!important;height:58px!important}
.sale67Info{gap:2px!important}.sale67Info strong{font-size:11px!important;line-height:1.1!important}
.sale67Info small{font-size:8px!important}.sale67Price{font-size:14px!important;margin-top:1px!important}
.sale67Stock,.sale67VariantHint{font-size:8px!important}
.sale67Add{min-height:28px!important;padding:5px 8px!important;font-size:8px!important}
.sale67VariantPanel{grid-column:1/-1;height:100%!important;overflow:hidden!important;padding:8px!important;gap:5px!important}
.sale67VariantOption{padding:5px 7px!important;font-size:8px!important}
.sale68Pager{min-height:32px;padding:5px 8px;border-top:1px solid #edf1ee;display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:6px;align-items:center}
.sale68Pager button{width:34px;height:28px;border:1px solid #d7e1da;background:#fff;border-radius:8px;font-size:14px;font-weight:900}
.sale68Pager button:disabled{opacity:.35}
.sale68Pager span{text-align:center;font-size:8px;color:#6f7c73;font-weight:800}

/* Panel cobro compacto */
#view-pos .ticket{
  height:100%!important;min-height:0!important;overflow:hidden!important;padding:7px!important;gap:5px!important;
  grid-template-rows:auto auto auto minmax(0,1fr) 28px auto!important
}
#view-pos .customerTotalDisplay{min-height:82px!important;padding:9px 12px!important}
#view-pos .customerFacingTotal{font-size:34px!important}
#view-pos .ticketActions button{padding:6px 4px!important;font-size:9px!important}
#view-pos .cartArea,#view-pos .cartList{min-height:0!important;overflow:hidden!important}
#view-pos .ticketTotals{gap:4px!important}
#view-pos .payRow button{min-height:31px!important;font-size:9px!important}
#view-pos .chargeDesktop{min-height:36px!important}

/* Otros módulos: sin scroll principal */
.adminShell,.config57Shell,.delivery60Shell{height:100%!important;min-height:0!important;overflow:hidden!important}
.adminContent,.config57Pane,.delivery60Body,.delivery60DetailPanel,.delivery60ListPanel{min-height:0!important;overflow:hidden!important}
.config57Card{height:100%!important;min-height:0!important;overflow:hidden!important;padding:9px!important}
.config57Grid{gap:6px!important}
.config57Field input,.config57Field select,.config57Field textarea{min-height:32px!important;padding:6px 8px!important;font-size:11px!important}
.config57Field textarea{min-height:48px!important}
.delivery60Section{padding:7px!important;gap:5px!important}
.delivery60MapWrap{grid-template-rows:180px 18px!important}
.delivery60MapWrap #deliveryMap{height:180px!important;min-height:180px!important}

/* Tablet */
@media(max-width:1180px) and (min-width:701px){
  .sale67Grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(3,minmax(0,1fr))!important}
  #view-pos .posWrap{grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr)!important}
}

/* Móvil sin scroll principal */
@media(max-width:700px){
  .app{grid-template-rows:54px 40px minmax(0,1fr) 28px!important}
  .top{min-height:54px!important;padding:6px 8px!important}.topStore{display:none!important}
  .nav{overflow:hidden!important;justify-content:space-between}
  .nav button{flex:1 1 0;min-width:0;padding:5px 3px!important;font-size:8px!important}
  #view-pos{overflow:hidden!important}
  #view-pos .posWrap{height:100%!important;display:block!important;overflow:hidden!important;padding:5px!important}
  #view-pos .ticket{display:none!important}
  #view-pos .catalog{height:100%!important}
  .sale67Browser{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important;gap:5px!important}
  .sale67Categories{
    height:auto!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,42px)!important;gap:4px!important;padding:4px!important
  }
  .sale67Cat{width:100%!important;min-width:0!important;height:42px!important;grid-template-columns:22px minmax(0,1fr)!important;padding:3px 4px!important}
  .sale67CatIcon{width:22px!important;height:22px!important;font-size:13px!important}
  .sale67CatText strong{font-size:8px!important}.sale67CatText small{display:none!important}
  .sale67ContentHead{padding:5px 7px!important}.sale67ContentHead h3{font-size:14px!important}.sale67ContentHead p{display:none!important}
  .sale67Grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:5px!important}
  .sale67Card{grid-template-columns:40px minmax(0,1fr)!important;padding:5px!important;gap:4px 6px!important}
  .sale67Visual{width:40px!important;max-height:88px!important}.sale67Bottle{width:19px!important;height:49px!important}
  .sale67Info strong{font-size:9px!important}.sale67Info small,.sale67Stock,.sale67VariantHint{font-size:7px!important}
  .sale67Price{font-size:12px!important}.sale67Add{min-height:25px!important;font-size:7px!important;padding:4px 6px!important}
  .sale68Pager{min-height:28px!important;padding:3px 6px!important}
  .mobileCheckoutBar{display:grid!important}
}




#view-pos .salesAccordion{
  overflow:hidden !important;
  min-height:0 !important;
}

.sale69Browser{
  height:100%;
  min-height:0;
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:8px;
  overflow:hidden;
}

.sale69CategoryPanel{
  min-height:0;
  border:1px solid #dfe6e1;
  border-radius:12px;
  background:#fff;
  padding:6px;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:5px;
  overflow:hidden;
}
.sale69CategoryTitle{
  font-size:9px;
  color:#738077;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.04em;
  padding:2px 4px;
}
.sale69CategoryList{
  min-height:0;
  overflow:hidden;
  display:grid;
  align-content:start;
  gap:4px;
}
.sale69CategoryItem{
  width:100%;
  min-height:38px;
  border:1px solid #dbe4de;
  border-radius:9px;
  background:#f8faf9;
  color:#334139;
  padding:6px 7px;
  display:grid;
  grid-template-columns:24px minmax(0,1fr) auto;
  gap:6px;
  align-items:center;
  text-align:left;
}
.sale69CategoryItem:hover{background:#f1f7f3}
.sale69CategoryItem.active{
  background:#e7f7ec;
  border-color:#7ac590;
  color:#087435;
}
.sale69CategoryIcon{
  width:24px;height:24px;border-radius:7px;background:#eef4f0;
  display:grid;place-items:center;font-size:13px
}
.sale69CategoryItem.active .sale69CategoryIcon{background:#d9f0e0}
.sale69CategoryName{
  min-width:0;
  font-size:9.5px;
  font-weight:850;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.sale69CategoryCount{
  min-width:18px;height:18px;border-radius:999px;background:#eef2ef;
  display:grid;place-items:center;font-size:7px;color:#6f7c74
}

.sale69ProductPane{
  min-width:0;
  min-height:0;
  border:1px solid #dfe6e1;
  border-radius:12px;
  background:#fff;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  overflow:hidden;
}
.sale69PaneHead{
  min-height:44px;
  padding:7px 9px;
  border-bottom:1px solid #edf1ee;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.sale69PaneHead > div{min-width:0}
.sale69PaneHead .mini{
  display:block;
  font-size:7px;
  color:#7c897f;
  text-transform:uppercase;
  font-weight:900;
  margin-bottom:1px;
}
.sale69PaneHead strong{
  display:block;
  font-size:14px;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.sale69PaneCount{
  flex:0 0 auto;
  font-size:8px;
  color:#707d74;
  background:#eef3f0;
  border-radius:999px;
  padding:4px 7px;
  font-weight:800;
}

.sale69Rows{
  min-height:0;
  height:100%;
  padding:6px;
  display:grid;
  grid-template-rows:repeat(6,minmax(0,1fr));
  gap:5px;
  overflow:hidden;
}
.sale69Row{
  min-width:0;
  min-height:0;
  border:1px solid #e0e6e2;
  border-radius:10px;
  background:#fafcfa;
  padding:6px 7px 6px 9px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 82px 142px;
  gap:7px;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.sale69Row::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;width:3px;
  background:#16a45a;
}
.sale69ProductInfo{
  min-width:0;
  display:grid;
  gap:2px;
}
.sale69Kicker{
  font-size:6.5px;
  color:#89958d;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-weight:900;
}
.sale69ProductInfo strong{
  font-size:11px;
  line-height:1.08;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.sale69ProductInfo small{
  font-size:7.5px;
  color:#758178;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.sale69ConfigChip{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin-top:1px;
  padding:2px 5px;
  border-radius:999px;
  border:1px solid #d8e2db;
  color:#6f7d74;
  font-size:6.5px;
  white-space:nowrap;
}
.sale69PriceBox{
  text-align:right;
  display:grid;
  gap:2px;
}
.sale69PriceBox strong{
  font-size:14px;
  color:#15251a;
}
.sale69PriceBox small{
  font-size:7px;
  color:#78857c;
}
.sale69Actions{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:5px;
  align-items:center;
}
.sale69Minus,
.sale69Add,
.sale69Clear{
  border:0;
  border-radius:8px;
  font-weight:900;
}
.sale69Minus{
  height:30px;
  background:#edf1ee;
  color:#35433a;
  font-size:15px;
}
.sale69Minus:disabled{opacity:.3}
.sale69Add{
  min-height:30px;
  background:#0b7139;
  color:#fff;
  padding:5px 7px;
  font-size:8.5px;
}
.sale69Add:hover{background:#0f8444}
.sale69Clear{
  grid-column:1/-1;
  min-height:22px;
  background:#fff;
  border:1px solid #efc9c9;
  color:#a33c3c;
  font-size:6.5px;
  display:none;
}
.sale69Row.hasQty .sale69Clear{display:block}

/* Configurador de variantes dentro de la misma zona */
.sale69Customizer{
  min-height:0;
  border:1px solid #a9d5b6;
  background:#f4fbf6;
  border-radius:10px;
  padding:7px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:6px 8px;
  align-content:center;
}
.sale69CustomizerHead{
  min-width:0;
  display:grid;
  gap:2px;
}
.sale69CustomizerHead strong{font-size:11px}
.sale69CustomizerHead small{font-size:7px;color:#748078}
.sale69CustomizerClose{
  border:1px solid #d6e0d9;background:#fff;border-radius:8px;
  height:28px;padding:4px 7px;font-size:8px
}
.sale69OptionBlock{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:5px;
  align-items:center;
}
.sale69OptionBlock label{
  font-size:7px;
  color:#6f7c73;
  font-weight:900;
  text-transform:uppercase;
}
.sale69OptionList{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
}
.sale69Option{
  border:1px solid #c9d5cd;
  background:#fff;
  color:#314039;
  border-radius:7px;
  padding:5px 7px;
  font-size:7.5px;
  font-weight:800;
}
.sale69Option.active{
  background:#e3f6e9;
  border-color:#67bd7f;
  color:#087434;
}
.sale69Selected{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:7px;
  align-items:center;
  border-top:1px solid #dbe7de;
  padding-top:6px;
}
.sale69Selected > div{min-width:0;display:grid;gap:2px}
.sale69Selected strong{font-size:9.5px}
.sale69Selected small{font-size:7px;color:#76837a}
.sale69Selected .price{font-size:12px;font-weight:1000}
.sale69Selected .sale69Add{min-width:72px}

.sale69Pager{
  min-height:30px;
  border-top:1px solid #edf1ee;
  padding:4px 7px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 30px;
  gap:5px;
  align-items:center;
}
.sale69Pager button{
  width:30px;height:26px;
  border:1px solid #d8e1db;background:#fff;border-radius:7px;font-weight:900
}
.sale69Pager button:disabled{opacity:.35}
.sale69Pager span{
  text-align:center;font-size:7.5px;color:#738078;font-weight:800
}

.sale69Prompt{
  height:100%;
  display:grid;
  place-items:center;
  text-align:center;
  color:#7b887f;
  font-size:10px;
  border:1px dashed #d4ddd7;
  border-radius:10px;
  padding:14px;
}

/* Desktop pequeño */
@media(max-width:1120px) and (min-width:701px){
  .sale69Browser{grid-template-columns:128px minmax(0,1fr)}
  .sale69Row{grid-template-columns:minmax(0,1fr) 72px 126px}
  .sale69CategoryName{font-size:9px}
}

/* Móvil: mismo principio del Mesero, compacto y sin scroll principal */
@media(max-width:700px){
  .sale69Browser{
    grid-template-columns:88px minmax(0,1fr);
    gap:5px;
  }
  .sale69CategoryPanel{padding:4px}
  .sale69CategoryTitle{display:none}
  .sale69CategoryList{gap:3px}
  .sale69CategoryItem{
    min-height:34px;
    grid-template-columns:20px minmax(0,1fr);
    padding:4px;
    gap:4px;
  }
  .sale69CategoryIcon{width:20px;height:20px;font-size:11px}
  .sale69CategoryName{font-size:7.8px}
  .sale69CategoryCount{display:none}

  .sale69PaneHead{min-height:36px;padding:5px 6px}
  .sale69PaneHead strong{font-size:11px}
  .sale69PaneHead .mini{display:none}
  .sale69PaneCount{font-size:7px}

  .sale69Rows{
    padding:4px;
    gap:3px;
    grid-template-rows:repeat(5,minmax(0,1fr));
  }
  .sale69Row{
    padding:4px 5px 4px 7px;
    grid-template-columns:minmax(0,1fr) 56px 76px;
    gap:4px;
  }
  .sale69Kicker{display:none}
  .sale69ProductInfo strong{font-size:8.5px}
  .sale69ProductInfo small{font-size:6.5px}
  .sale69ConfigChip{display:none}
  .sale69PriceBox strong{font-size:10px}
  .sale69PriceBox small{font-size:6px}
  .sale69Actions{grid-template-columns:22px minmax(0,1fr);gap:3px}
  .sale69Minus{height:24px;font-size:12px}
  .sale69Add{min-height:24px;font-size:6.5px;padding:3px}
  .sale69Clear{display:none!important}
  .sale69Pager{min-height:26px;padding:2px 4px}
  .sale69OptionBlock{grid-template-columns:52px minmax(0,1fr)}
  .sale69Option{padding:4px 5px;font-size:6.5px}
}




/* La caja debe repartir el alto real disponible sin esconder contenido */
#view-pos .catalog{
  min-height:0!important;
}
#view-pos .salesAccordion{
  min-height:0!important;
  overflow:hidden!important;
}

/* Categorías: siempre deben entrar todas las categorías activas */
.sale69Browser{
  min-height:0!important;
}
.sale69CategoryPanel{
  min-height:0!important;
  overflow:hidden!important;
}
.sale69CategoryList{
  min-height:0!important;
  height:100%!important;
  display:grid!important;
  gap:3px!important;
  align-content:stretch!important;
  overflow:hidden!important;
}
.sale69CategoryItem{
  min-height:0!important;
  height:100%!important;
  max-height:none!important;
  padding:4px 6px!important;
  border-radius:8px!important;
}
.sale69CategoryIcon{
  width:22px!important;
  height:22px!important;
  font-size:12px!important;
}
.sale69CategoryName{
  font-size:8.8px!important;
}
.sale69CategoryCount{
  width:17px!important;
  min-width:17px!important;
  height:17px!important;
  font-size:6.8px!important;
}

/* Productos: menos filas por página = más aire, nada cortado */
.sale69Rows{
  min-height:0!important;
  height:100%!important;
  overflow:hidden!important;
  padding:5px!important;
  gap:4px!important;
  grid-template-rows:repeat(5,minmax(0,1fr))!important;
}
.sale69Row{
  min-height:0!important;
  height:100%!important;
  padding:5px 7px 5px 9px!important;
  grid-template-columns:minmax(0,1fr) 74px 128px!important;
  gap:6px!important;
  overflow:hidden!important;
  align-items:center!important;
}
.sale69ProductInfo{
  min-width:0!important;
  overflow:hidden!important;
}
.sale69ProductInfo strong{
  font-size:10px!important;
  line-height:1.05!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.sale69ProductInfo small{
  font-size:7px!important;
  line-height:1.05!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.sale69Kicker{
  font-size:6px!important;
  line-height:1!important;
}
.sale69ConfigChip{
  font-size:6px!important;
  padding:1px 4px!important;
  margin-top:0!important;
}
.sale69PriceBox strong{
  font-size:12px!important;
  line-height:1!important;
}
.sale69PriceBox small{
  font-size:6.5px!important;
}
.sale69Actions{
  min-width:0!important;
  grid-template-columns:26px minmax(0,1fr)!important;
  gap:4px!important;
}
.sale69Minus{
  width:26px!important;
  min-width:26px!important;
  height:27px!important;
  padding:0!important;
}
.sale69Add{
  width:100%!important;
  min-width:0!important;
  min-height:27px!important;
  height:27px!important;
  padding:3px 5px!important;
  font-size:7.5px!important;
  line-height:1!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.sale69Clear{
  min-height:19px!important;
  padding:2px 4px!important;
  font-size:6px!important;
}

/* El encabezado del panel tampoco debe empujar las filas */
.sale69PaneHead{
  min-height:38px!important;
  padding:5px 7px!important;
}
.sale69PaneHead strong{
  font-size:12px!important;
}
.sale69PaneCount{
  font-size:7px!important;
  padding:3px 6px!important;
}
.sale69Pager{
  min-height:26px!important;
  padding:2px 5px!important;
}
.sale69Pager button{
  width:28px!important;
  height:23px!important;
}
.sale69Pager span{
  font-size:7px!important;
}

/* Si la ventana tiene poca altura, reducimos a 4 filas para garantizar legibilidad */
@media(min-width:701px) and (max-height:620px){
  .sale69Rows{
    grid-template-rows:repeat(4,minmax(0,1fr))!important;
  }
}

/* Tablet */
@media(max-width:1120px) and (min-width:701px){
  .sale69Browser{
    grid-template-columns:132px minmax(0,1fr)!important;
  }
  .sale69Row{
    grid-template-columns:minmax(0,1fr) 68px 116px!important;
  }
}

/* Móvil: todas las categorías y productos deben entrar sin montarse */
@media(max-width:700px){
  .sale69Browser{
    grid-template-columns:82px minmax(0,1fr)!important;
  }
  .sale69CategoryPanel{
    padding:3px!important;
  }
  .sale69CategoryList{
    gap:2px!important;
  }
  .sale69CategoryItem{
    padding:3px!important;
    grid-template-columns:18px minmax(0,1fr)!important;
  }
  .sale69CategoryIcon{
    width:18px!important;
    height:18px!important;
    font-size:10px!important;
  }
  .sale69CategoryName{
    font-size:7.2px!important;
  }
  .sale69Rows{
    grid-template-rows:repeat(4,minmax(0,1fr))!important;
    gap:3px!important;
    padding:3px!important;
  }
  .sale69Row{
    grid-template-columns:minmax(0,1fr) 48px 68px!important;
    padding:3px 4px 3px 6px!important;
    gap:3px!important;
  }
  .sale69ProductInfo strong{font-size:7.8px!important}
  .sale69ProductInfo small{font-size:6px!important}
  .sale69PriceBox strong{font-size:9px!important}
  .sale69PriceBox small{font-size:5.5px!important}
  .sale69Actions{
    grid-template-columns:20px minmax(0,1fr)!important;
    gap:2px!important;
  }
  .sale69Minus{
    width:20px!important;min-width:20px!important;height:22px!important;font-size:10px!important
  }
  .sale69Add{
    height:22px!important;min-height:22px!important;font-size:6px!important;padding:2px!important
  }
}

/* Seguridad global contra montajes */
#view-pos *,
.sale69Browser *,
.sale69ProductPane *,
.sale69CategoryPanel *{
  box-sizing:border-box!important;
}




#deliveryDemoOverlayV43{
  overflow:hidden !important;
}
#deliveryDemoOverlayV43 .v43Store{
  height:100dvh !important;
  min-height:0 !important;
  display:grid !important;
  grid-template-rows:auto auto minmax(0,1fr) auto !important;
  overflow:hidden !important;
  background:#f6f8f6;
}

/* Header compacto */
.v71Header{
  min-height:54px;
  padding:7px 8px 5px;
  background:#fff;
  border-bottom:1px solid #e2e8e4;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:6px 8px;
  align-items:center;
}
.v71Brand{
  min-width:0;
  display:grid;
  gap:1px;
}
.v71Brand strong{
  font-size:13px;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v71Brand small{
  font-size:7px;
  color:#748078;
}
.v71HeaderActions{
  display:flex;
  gap:5px;
}
.v71HeaderActions button{
  min-height:30px;
  border:1px solid #dae3dd;
  border-radius:9px;
  background:#fff;
  padding:5px 8px;
  font-size:8px;
  font-weight:900;
}
.v71HeaderActions .cart{
  background:#0b7139;
  color:#fff;
  border-color:#0b7139;
}
.v71Location{
  grid-column:1/-1;
  min-height:25px;
  border:1px solid #e0e6e2;
  border-radius:8px;
  background:#f8faf9;
  padding:4px 7px;
  display:flex;
  gap:5px;
  align-items:center;
  font-size:7px;
  color:#65736a;
}

/* Banner compacto: conserva promociones sin quitar espacio al menú */
.v71HeroWrap{
  padding:5px 7px;
  background:#f6f8f6;
}
.v71HeroWrap .v46Hero{
  min-height:78px !important;
  border-radius:13px !important;
}
.v71HeroWrap .v46HeroSlide{
  min-height:78px !important;
  grid-template-columns:minmax(0,1fr) 58px !important;
  padding:8px 9px 12px !important;
  gap:6px !important;
}
.v71HeroWrap .v46HeroTitle{font-size:11px !important}
.v71HeroWrap .v46HeroSub{font-size:6px !important;-webkit-line-clamp:1}
.v71HeroWrap .v46HeroTag,.v71HeroWrap .v46HeroDiscount{font-size:5px !important;padding:2px 5px !important}
.v71HeroWrap .v46HeroOld{font-size:5.5px !important}
.v71HeroWrap .v46HeroNew{font-size:12px !important}
.v71HeroWrap .v46HeroAdd{font-size:6px !important;padding:4px 6px !important}
.v71HeroWrap .v46HeroVisual{height:58px !important;border-radius:10px !important}
.v71HeroWrap .v46HeroBottle{width:24px !important;height:50px !important}
.v71HeroWrap .v46HeroBottle:before{width:12px !important;height:12px !important;top:-8px !important;left:6px !important}
.v71HeroWrap .v46HeroDots{bottom:4px !important}
.v71HeroWrap .v46HeroDot{width:4px !important;height:4px !important}
.v71HeroWrap .v46HeroDot.active{width:12px !important}

/* Área principal */
.v71Browser{
  min-height:0;
  height:100%;
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  gap:5px;
  padding:0 6px 5px;
  overflow:hidden;
}
.v71Categories{
  min-height:0;
  height:100%;
  border:1px solid #dfe6e1;
  border-radius:11px;
  background:#fff;
  padding:4px;
  display:grid;
  align-content:stretch;
  gap:2px;
  overflow:hidden;
}
.v71Cat{
  min-height:0;
  height:100%;
  width:100%;
  border:1px solid transparent;
  border-radius:8px;
  background:#f8faf9;
  color:#536159;
  padding:3px 2px;
  display:grid;
  justify-items:center;
  align-content:center;
  gap:2px;
}
.v71Cat.active{
  background:#e7f7ec;
  border-color:#8fcea2;
  color:#087435;
}
.v71CatIcon{
  width:22px;
  height:22px;
  border-radius:7px;
  background:#eef3ef;
  display:grid;
  place-items:center;
  font-size:11px;
}
.v71Cat.active .v71CatIcon{background:#d9f0e0}
.v71Cat span:last-child{
  max-width:100%;
  font-size:6.7px;
  font-weight:900;
  line-height:1.05;
  text-align:center;
  word-break:break-word;
}

.v71Pane{
  min-width:0;
  min-height:0;
  height:100%;
  border:1px solid #dfe6e1;
  border-radius:11px;
  background:#fff;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  overflow:hidden;
}
.v71PaneHead{
  min-height:35px;
  padding:5px 7px;
  border-bottom:1px solid #edf1ee;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:6px;
}
.v71PaneHead > div{min-width:0}
.v71PaneHead small{
  display:block;
  font-size:5.5px;
  color:#819087;
  text-transform:uppercase;
  font-weight:900;
}
.v71PaneHead strong{
  display:block;
  font-size:10.5px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v71PaneCount{
  flex:0 0 auto;
  font-size:6px;
  border-radius:999px;
  background:#eef3f0;
  color:#6f7c74;
  padding:3px 5px;
}

/* Filas de producto/promoción */
.v71Rows{
  min-height:0;
  height:100%;
  padding:4px;
  display:grid;
  grid-template-rows:repeat(5,minmax(0,1fr));
  gap:3px;
  overflow:hidden;
}
.v71Row{
  min-height:0;
  height:100%;
  border:1px solid #e0e6e2;
  border-radius:8px;
  background:#fbfcfb;
  padding:4px 5px 4px 7px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 52px 72px;
  gap:3px;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.v71Row::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;width:3px;
  background:#15a25a;
}
.v71Info{
  min-width:0;
  display:grid;
  gap:1px;
}
.v71Info strong{
  font-size:8.2px;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v71Info small{
  font-size:5.8px;
  color:#758178;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v71Price{
  min-width:0;
  text-align:right;
  display:grid;
  gap:1px;
}
.v71Price strong{
  font-size:9.5px;
  line-height:1;
}
.v71Price small{
  font-size:5.5px;
  color:#7a877e;
}
.v71Actions{
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  gap:2px;
}
.v71Actions button{
  min-width:0;
  height:22px;
  border-radius:6px;
  font-size:6px;
  font-weight:900;
}
.v71Minus{
  border:1px solid #dce4de;
  background:#f0f3f1;
  color:#3e4d44;
}
.v71Add{
  border:0;
  background:#0b7139;
  color:#fff;
  padding:2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v71Minus:disabled,.v71Add:disabled{opacity:.35}
.v71Qty{
  grid-column:1/-1;
  text-align:center;
  font-size:5.5px;
  color:#65736a;
  font-weight:900;
}

/* Variantes ocupan una fila completa, sin salirse */
.v71Variant{
  min-height:0;
  height:100%;
  grid-column:1/-1;
  border:1px solid #9ed0ad;
  border-radius:8px;
  background:#f3fbf5;
  padding:4px 5px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:3px 5px;
  align-content:center;
  overflow:hidden;
}
.v71VariantHead{
  min-width:0;
  display:grid;
  gap:1px;
}
.v71VariantHead strong{
  font-size:8px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v71VariantHead small{
  font-size:5.5px;
  color:#738078;
}
.v71VariantClose{
  height:21px;
  border:1px solid #d7e1da;
  background:#fff;
  border-radius:6px;
  font-size:6px;
}
.v71OptionLine{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:3px;
  align-items:center;
}
.v71OptionLine label{
  font-size:5.5px;
  color:#68766d;
  font-weight:900;
  text-transform:uppercase;
}
.v71Options{
  display:flex;
  gap:2px;
  flex-wrap:wrap;
}
.v71Option{
  border:1px solid #cbd7cf;
  background:#fff;
  border-radius:6px;
  padding:3px 4px;
  font-size:5.8px;
  font-weight:800;
}
.v71Option.active{
  background:#e2f6e8;
  border-color:#62ba7a;
  color:#087435;
}
.v71Selected{
  grid-column:1/-1;
  border-top:1px solid #d9e6dc;
  padding-top:3px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:4px;
  align-items:center;
}
.v71Selected > div{min-width:0}
.v71Selected strong{
  display:block;
  font-size:7px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v71Selected small{font-size:5.5px;color:#748078}
.v71Selected .price{font-size:8px;font-weight:1000}
.v71Selected button{
  height:21px;
  border:0;
  border-radius:6px;
  background:#0b7139;
  color:#fff;
  padding:2px 5px;
  font-size:5.8px;
  font-weight:900;
}

/* Promociones compactas */
.v71PromoRow{
  min-height:0;
  height:100%;
  border:1px solid #dbe5df;
  border-radius:8px;
  background:#fff;
  padding:4px 5px 4px 7px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 55px 72px;
  gap:3px;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.v71PromoRow::before{
  content:"";
  position:absolute;left:0;top:0;bottom:0;width:3px;background:#d69b31
}
.v71PromoTag{
  font-size:5px;
  color:#8c6c25;
  font-weight:900;
  text-transform:uppercase;
}
.v71PromoOld{
  text-decoration:line-through;
  color:#8d978f;
  font-size:5px;
}

/* Paginación */
.v71Pager{
  min-height:25px;
  padding:2px 5px;
  border-top:1px solid #edf1ee;
  display:grid;
  grid-template-columns:28px minmax(0,1fr) 28px;
  gap:4px;
  align-items:center;
}
.v71Pager button{
  width:28px;height:21px;
  border:1px solid #d9e2dc;background:#fff;border-radius:6px;font-size:9px
}
.v71Pager button:disabled{opacity:.35}
.v71Pager span{
  text-align:center;font-size:5.8px;color:#748078;font-weight:800
}

/* Barra de carrito: compacta y siempre visible si hay items */
.v71CartBar{
  min-height:43px;
  padding:5px 7px;
  background:#fff;
  border-top:1px solid #dce5df;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
  align-items:center;
}
.v71CartBar div{
  min-width:0;
  display:grid;
  gap:1px;
}
.v71CartBar strong{font-size:8px}
.v71CartBar small{font-size:6px;color:#748078}
.v71CartBar button{
  min-height:31px;
  border:0;
  border-radius:8px;
  background:#0b7139;
  color:#fff;
  padding:5px 10px;
  font-size:7px;
  font-weight:900;
}

/* Desktop: misma lógica, más aire */
@media(min-width:760px){
  #deliveryDemoOverlayV43 .v43Store{
    max-width:1180px;
    margin:0 auto;
    border-left:1px solid #e0e6e2;
    border-right:1px solid #e0e6e2;
  }
  .v71Header{padding:9px 12px}
  .v71Brand strong{font-size:15px}
  .v71HeroWrap{padding:7px 10px}
  .v71HeroWrap .v46Hero{min-height:92px!important}
  .v71HeroWrap .v46HeroSlide{min-height:92px!important;grid-template-columns:minmax(0,1fr) 74px!important;padding:10px 12px 14px!important}
  .v71Browser{
    grid-template-columns:135px minmax(0,1fr);
    gap:8px;
    padding:0 9px 7px;
  }
  .v71Cat{
    grid-template-columns:25px minmax(0,1fr);
    justify-items:start;
    padding:4px 6px;
    gap:6px;
  }
  .v71Cat span:last-child{
    font-size:8px;
    text-align:left;
  }
  .v71Rows{
    grid-template-rows:repeat(6,minmax(0,1fr));
    gap:4px;
    padding:5px;
  }
  .v71Row,.v71PromoRow{
    grid-template-columns:minmax(0,1fr) 80px 126px;
    padding:5px 7px 5px 9px;
    gap:6px;
  }
  .v71Info strong{font-size:10px}
  .v71Info small{font-size:7px}
  .v71Price strong{font-size:12px}
  .v71Actions{
    grid-template-columns:26px minmax(0,1fr);
    gap:4px;
  }
  .v71Actions button{height:27px;font-size:7.5px}
  .v71Qty{font-size:6.5px}
  .v71PaneHead strong{font-size:13px}
  .v71PaneHead small{font-size:6.5px}
  .v71CartBar{padding:6px 10px}
}

/* Teléfonos pequeños */
@media(max-width:380px){
  .v71Browser{grid-template-columns:70px minmax(0,1fr);padding-left:4px;padding-right:4px}
  .v71Cat span:last-child{font-size:6px}
  .v71Row,.v71PromoRow{grid-template-columns:minmax(0,1fr) 46px 64px}
  .v71Info strong{font-size:7.5px}
  .v71Price strong{font-size:8.7px}
}



.cloud72Status{
  display:inline-flex;align-items:center;margin-left:6px;padding:3px 6px;border-radius:999px;
  font-size:8px;font-weight:900;background:rgba(255,255,255,.12);color:#d8e1db
}
.cloud72Status.ok{color:#baf3cb;background:rgba(28,169,82,.15)}
.cloud72Status.sync{color:#ffe3a5;background:rgba(221,157,32,.15)}
.cloud72Status.off{color:#ffd0d0;background:rgba(190,55,55,.15)}
.cloud72Panel{
  border:1px solid #cfe2d5;background:#f6fbf7;border-radius:13px;padding:10px;display:grid;gap:8px
}
.cloud72PanelHead{display:flex;justify-content:space-between;gap:8px;align-items:center}
.cloud72PanelHead>div{display:grid;gap:2px}
.cloud72PanelHead strong{font-size:12px}.cloud72PanelHead span{font-size:9px;color:#738078}
.cloud72Badge{padding:4px 7px;border-radius:999px;background:#edf3ef;color:#65736a;font-size:8px;font-weight:900}
.cloud72Grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.cloud72Grid>div{background:#fff;border:1px solid #e0e7e2;border-radius:9px;padding:7px;display:grid;gap:2px}
.cloud72Grid small{font-size:8px;color:#7a867e}.cloud72Grid strong{font-size:10px}
.cloud72Actions{display:flex;gap:6px;flex-wrap:wrap}
.cloud72Warning{font-size:8px;line-height:1.35;color:#80611e;background:#fff8e8;border:1px solid #ecd9a8;border-radius:9px;padding:7px}

.cash72MovementCard{min-width:0}
.cash72Form{display:grid;grid-template-columns:120px minmax(0,1fr) 110px auto;gap:6px}
.cash72MovementList{display:grid;gap:4px;max-height:130px;overflow:auto;margin-top:5px}
.cash72Row{display:grid;grid-template-columns:84px minmax(0,1fr) 80px;gap:6px;align-items:center;border:1px solid #e1e7e3;border-radius:8px;padding:6px;font-size:9px}
.cash72Row small{color:#758078}.cash72Row .neg{color:#a73333}.cash72Row .pos{color:#087638}

.delivery72PaymentState{display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.delivery72PayBadge{padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900;background:#eef3f0;color:#65736a}
.delivery72PayBadge.pending{background:#fff2d8;color:#8a5e12}
.delivery72PayBadge.approved{background:#e8f8ed;color:#08763a}
.delivery72PayBadge.rejected{background:#ffe8e8;color:#a32e2e}
.delivery72PayActions{display:flex;gap:5px;flex-wrap:wrap}
.delivery72PayActions button,.delivery72Contact button{
  min-height:30px;border-radius:8px;padding:5px 8px;font-size:9px;font-weight:900
}
.delivery72Approve{border:0;background:#0b7139;color:#fff}
.delivery72Reject{border:1px solid #e6bcbc;background:#fff4f4;color:#a42c2c}
.delivery72Contact{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}
.delivery72Contact a{
  display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 9px;
  border:1px solid #d7e1da;border-radius:8px;background:#fff;color:#2e4035;text-decoration:none;font-size:9px;font-weight:900
}
.delivery72Elapsed{font-size:8px;color:#7b877f}

/* Regla corregida: operación sin scroll principal; configuración e históricos sí pueden desplazarse de forma controlada. */
#view-config .config57Pane{overflow:auto!important}
#view-admin .adminContent{overflow:auto!important}
#view-admin .adminPane{min-height:0}
#view-admin .adminTableCard,#view-admin .adminCashGrid{min-height:0}
#view-warehouse .warehouseShell,#view-delivery .delivery60Shell,#view-pos .posWrap{overflow:hidden!important}

@media(max-width:700px){
  .cloud72Grid{grid-template-columns:1fr}
  .cash72Form{grid-template-columns:1fr 1fr}
  .cash72Form #cash72Concept{grid-column:1/-1}
  .cash72Form button{width:100%}
  .cloud72Status{font-size:7px;padding:2px 5px}
}


/* V73 — mapas Delivery visibles y estables en móvil */
.v54MapFrameV56,
.v50MapFrameV56{
  width:100% !important;
  min-height:278px !important;
  height:278px !important;
  display:grid !important;
  grid-template-rows:minmax(0,1fr) 18px !important;
  overflow:hidden !important;
  border-radius:12px !important;
  background:#e9efeb !important;
}
#v54LocationMap,
#v50CustomerMap,
#customerDeliveryMap{
  display:block !important;
  width:100% !important;
  height:260px !important;
  min-height:260px !important;
  max-height:none !important;
  position:relative !important;
  z-index:1;
  background:#e9efeb !important;
}
.leaflet-container{
  width:100% !important;
  height:100% !important;
  min-height:260px !important;
  background:#e9efeb !important;
  font-family:inherit;
}
.v73MapLoading{
  width:100%;
  height:260px;
  min-height:260px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:18px;
  background:#edf2ef;
  color:#637168;
  font-size:12px;
  line-height:1.35;
}
.v73MapLoading strong{display:block;color:#314139;margin-bottom:4px}
@media(max-width:700px){
  .v49CheckoutBody{
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;
  }
  .v54MapCard,.v50MapCard{
    width:100% !important;
    min-width:0 !important;
    overflow:visible !important;
  }
  .v54MapFrameV56,
  .v50MapFrameV56{
    min-height:298px !important;
    height:298px !important;
  }
  #v54LocationMap,
  #v50CustomerMap,
  #customerDeliveryMap,
  .leaflet-container{
    height:280px !important;
    min-height:280px !important;
  }
  .v73MapLoading{
    height:280px;
    min-height:280px;
  }
}
@media(max-width:390px){
  .v54MapFrameV56,
  .v50MapFrameV56{
    min-height:278px !important;
    height:278px !important;
  }
  #v54LocationMap,
  #v50CustomerMap,
  #customerDeliveryMap,
  .leaflet-container{
    height:260px !important;
    min-height:260px !important;
  }
}




/* El panel Delivery conserva pantalla principal fija, pero su detalle
   puede desplazarse internamente para no cortar información. */
#view-delivery .delivery60DetailPanel{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch;
}
#view-delivery .delivery60ListPanel{
  overflow:hidden !important;
}

.delivery74Steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:5px;
  margin:7px 0;
}
.delivery74Step{
  min-width:0;
  border:1px solid #dfe6e1;
  border-radius:9px;
  background:#f8faf9;
  padding:6px 5px;
  text-align:center;
  display:grid;
  gap:2px;
}
.delivery74Step span{
  width:20px;height:20px;border-radius:50%;
  display:grid;place-items:center;margin:auto;
  background:#edf2ef;color:#637169;font-size:8px;font-weight:1000
}
.delivery74Step b{font-size:7px;line-height:1.05}
.delivery74Step small{font-size:6px;color:#7d8981}
.delivery74Step.active{border-color:#75c38d;background:#eef9f1}
.delivery74Step.active span{background:#0b7139;color:#fff}
.delivery74Step.done{border-color:#afdabc;background:#f5fbf6}
.delivery74Step.done span{background:#d9f1e0;color:#08753a}

.delivery74DriverFields{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) 110px;
  gap:6px;
  margin-top:7px;
}
.delivery74DriverFields input{
  min-width:0;
}
.delivery74DispatchActions{
  display:flex;gap:6px;flex-wrap:wrap;margin-top:7px
}
.delivery74DispatchActions button,
.delivery74DispatchActions a{
  min-height:31px;
  border-radius:8px;
  padding:5px 9px;
  font-size:8px;
  font-weight:900;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.delivery74Generate{border:0;background:#0b7139;color:#fff}
.delivery74Secondary{border:1px solid #d7e1da;background:#fff;color:#33443a}
.delivery74Whatsapp{border:0;background:#e8f8ed;color:#08743a}

.delivery74Session{
  margin-top:8px;
  border:1px solid #dfe6e1;
  border-radius:10px;
  background:#fafcfb;
  padding:7px;
  display:grid;
  gap:6px;
}
.delivery74SessionGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:5px;
}
.delivery74SessionGrid>div{
  min-width:0;
  border:1px solid #e5ebe7;
  border-radius:8px;
  background:#fff;
  padding:6px;
  display:grid;
  gap:2px;
}
.delivery74SessionGrid small{font-size:6px;color:#7d8981;text-transform:uppercase;font-weight:900}
.delivery74SessionGrid strong{
  font-size:8px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.delivery74Gps.on{color:#08763a}
.delivery74Gps.off{color:#a45819}
.delivery74AccessLink{
  width:100%;
  border:1px solid #dce4df;
  border-radius:8px;
  padding:6px 7px;
  background:#fff;
  color:#506057;
  font-size:7px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.delivery74Handoff{
  width:100%;
  min-height:38px;
  margin-top:7px;
  border:0;
  border-radius:10px;
  background:#0b7139;
  color:#fff;
  font-weight:1000;
  font-size:10px;
}
.delivery74Handoff:disabled{
  background:#dce4df;
  color:#7c8880;
}
.delivery74Hint{
  margin-top:5px;
  font-size:7px;
  line-height:1.35;
  color:#6d7a72;
}
.delivery74ReadyNote{
  border:1px solid #ead49f;
  background:#fff8e8;
  color:#80601c;
  border-radius:9px;
  padding:7px;
  font-size:8px;
  line-height:1.35;
}


.cashierSessionBar75{
  grid-template-columns:auto minmax(0,1fr) !important;
}
.deliveryAlert75{
  cursor:pointer;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.deliveryAlert75.new{
  display:grid !important;
  animation:delivery75Pulse 1.9s ease-in-out infinite;
}
.deliveryAlert75:active{
  transform:scale(.995);
}
@keyframes delivery75Pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(15,142,70,.05)}
  50%{box-shadow:0 0 0 4px rgba(15,142,70,.11)}
}
/* El panel antiguo de gestión en Caja deja de formar parte del flujo. */
.cashierDeliveryPanel,
.deliveryQueueBtn{
  display:none !important;
}
@media(max-width:700px){
  .cashierSessionBar75{
    grid-template-columns:1fr !important;
  }
  .deliveryAlert75{
    min-height:48px;
  }
}



.delivery76Shell{
  height:100% !important;
  min-height:0 !important;
  display:grid !important;
  grid-template-rows:auto auto minmax(0,1fr) !important;
  gap:8px !important;
  overflow:hidden !important;
}
.delivery76Top{
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.delivery76Title{
  min-width:0;
  display:grid;
  gap:1px;
}
.delivery76Title h2{
  margin:0;
  font-size:18px;
  line-height:1.05;
}
.delivery76Title p{
  margin:2px 0 0;
  font-size:8px;
  color:#748078;
}
.delivery76Counts{
  display:grid;
  grid-template-columns:repeat(3,82px);
  gap:5px;
}
.delivery76Counts>div{
  min-width:0;
  border:1px solid #dfe6e1;
  background:#fff;
  border-radius:10px;
  padding:6px 7px;
  display:grid;
  gap:1px;
}
.delivery76Counts small{
  font-size:5.5px;
  color:#78847c;
  font-weight:1000;
}
.delivery76Counts strong{
  font-size:14px;
}
.delivery76Toolbar{
  flex-wrap:nowrap !important;
}
.delivery76Toolbar input{
  min-width:140px !important;
}
.delivery76Body{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(220px,.72fr) minmax(350px,1.25fr) minmax(300px,.92fr);
  gap:8px;
  overflow:hidden;
}
.delivery76ListPanel,
.delivery76OrderPanel,
.delivery76ManagePanel{
  min-width:0;
  min-height:0;
  overflow:hidden;
}
.delivery76ListPanel{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:6px;
}
.delivery76OrderPanel,
.delivery76ManagePanel{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch;
}
.delivery76PanelHead{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
}
.delivery76PanelHead>div{
  display:grid;
  gap:1px;
}
.delivery76PanelHead strong{
  font-size:10px;
}
.delivery76PanelHead span{
  font-size:6px;
  color:#7b877f;
}
.delivery76List{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-right:2px;
}
.delivery76Order{
  width:100%;
  border:1px solid #dfe6e1;
  background:#fff;
  border-radius:10px;
  padding:7px;
  display:grid;
  gap:4px;
  cursor:pointer;
  text-align:left;
  color:inherit;
}
.delivery76Order:hover{
  border-color:#b7d8c1;
}
.delivery76Order.selected{
  border-color:#57b776;
  background:#f1faf4;
  box-shadow:inset 3px 0 0 #0b7139;
}
.delivery76OrderTop{
  display:flex;
  justify-content:space-between;
  gap:6px;
  align-items:flex-start;
}
.delivery76OrderTop strong{
  min-width:0;
  font-size:8.5px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.delivery76OrderTop b{
  flex:0 0 auto;
  font-size:8px;
}
.delivery76OrderMeta{
  display:flex;
  align-items:center;
  gap:4px;
  min-width:0;
  font-size:6.5px;
  color:#738078;
}
.delivery76OrderMeta span:last-child{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.delivery76StagePill{
  justify-self:start;
  padding:3px 6px;
  border-radius:999px;
  background:#eef3f0;
  color:#637168;
  font-size:6px;
  font-weight:1000;
}
.delivery76StagePill.s1{background:#fff0d8;color:#8e5a0c}
.delivery76StagePill.s2{background:#e9f2ff;color:#32659b}
.delivery76StagePill.s3{background:#f0eaff;color:#6946a0}
.delivery76StagePill.s4{background:#e5f8eb;color:#08753a}
.delivery76StagePill.s5{background:#edf1ee;color:#56635b}

.delivery76Pager{
  min-height:25px;
}
.delivery76Empty{
  min-height:100%;
  display:grid;
  place-items:center;
  text-align:center;
  padding:20px;
}

/* Centro: solo lectura del pedido */
.delivery76OrderDetail{
  display:grid;
  gap:8px;
}
.delivery76OrderHead{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:8px;
  border-bottom:1px solid #e7ece9;
  padding-bottom:7px;
}
.delivery76OrderHead>div{
  min-width:0;
}
.delivery76OrderHead small{
  display:block;
  font-size:6px;
  color:#7a877f;
  text-transform:uppercase;
  font-weight:1000;
}
.delivery76OrderHead h2{
  margin:2px 0 0;
  font-size:15px;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.delivery76Total{
  flex:0 0 auto;
  font-size:16px;
  color:#0b7139;
  font-weight:1000;
}
.delivery76InfoGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px;
}
.delivery76Info{
  min-width:0;
  border:1px solid #e1e7e3;
  border-radius:9px;
  background:#fafcfa;
  padding:6px;
  display:grid;
  gap:2px;
}
.delivery76Info.wide{
  grid-column:1/-1;
}
.delivery76Info small{
  font-size:5.5px;
  color:#78857d;
  text-transform:uppercase;
  font-weight:1000;
}
.delivery76Info strong{
  font-size:7.5px;
  line-height:1.25;
  word-break:break-word;
}
.delivery76Section{
  border-top:1px solid #e8edea;
  padding-top:7px;
  display:grid;
  gap:5px;
}
.delivery76SectionHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
}
.delivery76SectionHead strong{
  font-size:9px;
}
.delivery76SectionHead span{
  font-size:6px;
  color:#76837b;
}
.delivery76Items{
  display:grid;
  gap:4px;
}
.delivery76Item{
  border:1px solid #e5ebe7;
  background:#fbfcfb;
  border-radius:8px;
  padding:6px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:6px;
  align-items:center;
}
.delivery76Item span{
  font-size:7.5px;
  line-height:1.15;
}
.delivery76Item b{
  font-size:7.5px;
}
.delivery76PaymentSummary{
  border:1px solid #e2e8e4;
  border-radius:9px;
  background:#fafcfa;
  padding:7px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:7px;
}
.delivery76PaymentSummary>div{
  min-width:0;
  display:grid;
  gap:2px;
}
.delivery76PaymentSummary small{
  font-size:5.5px;
  color:#7c8880;
  text-transform:uppercase;
  font-weight:1000;
}
.delivery76PaymentSummary strong{
  font-size:8px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.delivery76PayState{
  flex:0 0 auto;
  padding:4px 7px;
  border-radius:999px;
  font-size:6px;
  font-weight:1000;
  background:#eef2ef;
  color:#637168;
}
.delivery76PayState.pending{background:#fff1d7;color:#8a5b10}
.delivery76PayState.approved{background:#e5f8eb;color:#08763a}
.delivery76PayState.rejected{background:#ffe9e9;color:#a62f2f}

/* Derecha: progreso y una sola acción */
.delivery76Manage{
  display:grid;
  gap:8px;
}
.delivery76Progress{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:3px;
}
.delivery76ProgressStep{
  min-width:0;
  border:1px solid #e0e7e2;
  border-radius:8px;
  background:#f9fbfa;
  padding:5px 2px;
  display:grid;
  justify-items:center;
  gap:2px;
}
.delivery76ProgressStep span{
  width:18px;
  height:18px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e9efeb;
  font-size:6px;
  font-weight:1000;
}
.delivery76ProgressStep b{
  max-width:100%;
  font-size:5px;
  line-height:1;
  text-align:center;
}
.delivery76ProgressStep.done{
  border-color:#b9dfc4;
  background:#f4fbf6;
}
.delivery76ProgressStep.done span{
  background:#d9f1e0;
  color:#08743a;
}
.delivery76ProgressStep.active{
  border-color:#64bd7d;
  background:#edf9f0;
}
.delivery76ProgressStep.active span{
  background:#0b7139;
  color:#fff;
}
.delivery76StepCard{
  border:1px solid #dfe6e1;
  border-radius:11px;
  background:#fff;
  padding:9px;
  display:grid;
  gap:7px;
}
.delivery76StepCard>small{
  font-size:6px;
  color:#7c8880;
  text-transform:uppercase;
  font-weight:1000;
}
.delivery76StepCard h3{
  margin:0;
  font-size:14px;
  line-height:1.05;
}
.delivery76StepCard p{
  margin:0;
  font-size:7.5px;
  color:#68766d;
  line-height:1.35;
}
.delivery76Primary{
  width:100%;
  min-height:40px;
  border:0;
  border-radius:10px;
  background:#0b7139;
  color:#fff;
  padding:7px 9px;
  font-size:9px;
  font-weight:1000;
}
.delivery76Primary:disabled{
  background:#dbe3de;
  color:#7c8880;
}
.delivery76Secondary{
  width:100%;
  min-height:33px;
  border:1px solid #d7e0da;
  border-radius:9px;
  background:#fff;
  color:#35463c;
  padding:6px 8px;
  font-size:7px;
  font-weight:900;
}
.delivery76DangerLink{
  border:0;
  background:transparent;
  color:#aa3131;
  text-decoration:underline;
  font-size:7px;
  padding:4px;
  justify-self:start;
}
.delivery76Proof{
  width:100%;
  max-height:180px;
  object-fit:contain;
  border:1px solid #dfe6e1;
  border-radius:9px;
  background:#f4f7f5;
}
.delivery76DriverForm{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5px;
}
.delivery76DriverForm input{
  min-width:0;
  width:100%;
  border:1px solid #d8e1db;
  border-radius:8px;
  padding:7px;
  font-size:7px;
}
.delivery76DriverForm input:first-child{
  grid-column:1/-1;
}
.delivery76DriverState{
  border:1px solid #dfe6e1;
  border-radius:9px;
  background:#f8faf9;
  padding:7px;
  display:grid;
  gap:5px;
}
.delivery76DriverStateRow{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:6px;
  align-items:center;
}
.delivery76DriverStateRow small{
  font-size:6px;
  color:#758279;
}
.delivery76DriverStateRow strong{
  font-size:7px;
}
.delivery76DriverBadge{
  padding:4px 7px;
  border-radius:999px;
  font-size:6px;
  font-weight:1000;
  background:#fff0d9;
  color:#8e5b0f;
}
.delivery76DriverBadge.ok{
  background:#e4f8ea;
  color:#08763a;
}
.delivery76MiniActions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5px;
}
.delivery76MiniActions button{
  min-height:31px;
  border:1px solid #d8e1db;
  border-radius:8px;
  background:#fff;
  padding:5px;
  font-size:6.5px;
  font-weight:900;
}
.delivery76Waiting{
  border:1px solid #ead39c;
  background:#fff8e8;
  color:#7f601d;
  border-radius:9px;
  padding:7px;
  font-size:7px;
  line-height:1.35;
}
.delivery76Live{
  border:1px solid #b7dec2;
  background:#f1faf4;
  border-radius:9px;
  padding:7px;
  display:grid;
  gap:4px;
}
.delivery76Live strong{
  font-size:8px;
}
.delivery76Live small{
  font-size:6.5px;
  color:#607068;
}
.delivery76MapWrap{
  width:100%;
  height:260px;
  min-height:260px;
  border-radius:10px;
  overflow:hidden;
  background:#e9efeb;
  display:grid;
  grid-template-rows:minmax(0,1fr) 18px;
}
.delivery76MapWrap #deliveryMap{
  width:100% !important;
  height:242px !important;
  min-height:242px !important;
}
.delivery76Completed{
  border:1px solid #b7dec2;
  background:#f3faf5;
  border-radius:10px;
  padding:9px;
  text-align:center;
  display:grid;
  gap:5px;
}
.delivery76Completed .check{
  width:34px;
  height:34px;
  margin:auto;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#0b7139;
  color:#fff;
  font-size:16px;
  font-weight:1000;
}
.delivery76Completed strong{
  font-size:12px;
}
.delivery76Completed small{
  font-size:7px;
  color:#64736a;
}

/* En la nueva interfaz el detalle V60 antiguo ya no controla el layout. */
#view-delivery .delivery60DetailPanel{
  overflow:visible !important;
}

@media(max-width:1100px) and (min-width:701px){
  .delivery76Body{
    grid-template-columns:210px minmax(0,1fr);
    grid-template-rows:minmax(0,1fr);
  }
  .delivery76ListPanel{
    grid-row:1 / span 2;
  }
  .delivery76OrderPanel,
  .delivery76ManagePanel{
    grid-column:2;
  }
  .delivery76OrderPanel{
    max-height:42%;
  }
  .delivery76ManagePanel{
    min-height:0;
  }
}

@media(max-width:700px){
  .delivery76Shell{
    height:auto !important;
    overflow-y:auto !important;
    padding-bottom:90px;
  }
  .delivery76Top{
    align-items:flex-start;
    flex-direction:column;
  }
  .delivery76Counts{
    width:100%;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .delivery76Toolbar{
    flex-wrap:wrap !important;
  }
  .delivery76Toolbar input{
    width:100%;
    flex-basis:100%;
  }
  .delivery76Body{
    display:grid;
    grid-template-columns:1fr;
    overflow:visible;
  }
  .delivery76ListPanel,
  .delivery76OrderPanel,
  .delivery76ManagePanel{
    min-height:auto;
    overflow:visible !important;
  }
  .delivery76List{
    max-height:260px;
  }
  .delivery76OrderPanel,
  .delivery76ManagePanel{
    max-height:none;
  }
  .delivery76InfoGrid{
    grid-template-columns:1fr;
  }
  .delivery76Info.wide{
    grid-column:auto;
  }
  .delivery76Progress{
    gap:2px;
  }
  .delivery76ProgressStep b{
    font-size:4.7px;
  }
  .delivery76MapWrap{
    height:280px;
  }
  .delivery76MapWrap #deliveryMap{
    height:262px !important;
    min-height:262px !important;
  }
}




#view-delivery{
  --d77-text:#1e2b24;
  --d77-muted:#6f7d75;
  --d77-line:#dfe7e2;
  --d77-soft:#f7faf8;
  --d77-green:#0b7139;
  --d77-green-soft:#eaf7ee;
}

#view-delivery .delivery76Shell{
  gap:10px !important;
  padding:8px 10px 10px !important;
}

/* Cabecera */
#view-delivery .delivery76Top{
  min-height:62px !important;
}
#view-delivery .delivery76Title h2{
  font-size:24px !important;
  line-height:1 !important;
  letter-spacing:-.4px;
  color:var(--d77-text);
}
#view-delivery .delivery76Title .mini-label{
  font-size:9px !important;
  letter-spacing:.08em;
}
#view-delivery .delivery76Title p{
  font-size:11px !important;
  line-height:1.25 !important;
  margin-top:5px !important;
}
#view-delivery .delivery76Counts{
  grid-template-columns:repeat(3,96px) !important;
  gap:8px !important;
}
#view-delivery .delivery76Counts>div{
  border-radius:12px !important;
  padding:9px 10px !important;
  box-shadow:0 3px 12px rgba(20,45,29,.035);
}
#view-delivery .delivery76Counts small{
  font-size:7px !important;
  letter-spacing:.06em;
}
#view-delivery .delivery76Counts strong{
  font-size:19px !important;
  line-height:1 !important;
  margin-top:2px;
}

/* Barra de filtros */
#view-delivery .delivery76Toolbar{
  min-height:48px !important;
  padding:6px !important;
  gap:6px !important;
  border-radius:13px !important;
  background:#fff !important;
  border:1px solid var(--d77-line) !important;
}
#view-delivery .delivery76Toolbar button{
  min-height:34px !important;
  padding:7px 13px !important;
  border-radius:9px !important;
  font-size:11px !important;
  font-weight:900 !important;
}
#view-delivery .delivery76Toolbar input{
  min-height:34px !important;
  font-size:12px !important;
  padding:7px 10px !important;
  border-radius:9px !important;
}

/* Distribución principal */
#view-delivery .delivery76Body{
  grid-template-columns:minmax(235px,.78fr) minmax(420px,1.42fr) minmax(320px,1fr) !important;
  gap:10px !important;
}
#view-delivery .delivery76ListPanel,
#view-delivery .delivery76OrderPanel,
#view-delivery .delivery76ManagePanel{
  border-radius:14px !important;
  border:1px solid var(--d77-line) !important;
  background:#fff !important;
  box-shadow:0 5px 18px rgba(20,45,29,.035);
}

/* Panel izquierdo */
#view-delivery .delivery76ListPanel{
  padding:8px !important;
}
#view-delivery .delivery76PanelHead{
  min-height:38px !important;
  padding:1px 3px 5px !important;
}
#view-delivery .delivery76PanelHead strong{
  font-size:13px !important;
}
#view-delivery .delivery76PanelHead span{
  font-size:9px !important;
}
#view-delivery .delivery76List{
  display:grid !important;
  align-content:start !important;
  gap:6px !important;
}
#view-delivery .delivery76Order{
  border-radius:11px !important;
  padding:9px 10px !important;
  gap:6px !important;
  min-height:72px !important;
}
#view-delivery .delivery76Order.selected{
  box-shadow:inset 4px 0 0 var(--d77-green),0 3px 12px rgba(11,113,57,.06) !important;
}
#view-delivery .delivery76OrderTop strong{
  font-size:11.5px !important;
  line-height:1.15 !important;
}
#view-delivery .delivery76OrderTop b{
  font-size:12px !important;
  color:#15231b !important;
}
#view-delivery .delivery76OrderMeta{
  font-size:9px !important;
  gap:6px !important;
}
#view-delivery .delivery60StatusDot{
  width:7px !important;
  height:7px !important;
}
#view-delivery .delivery76StagePill{
  font-size:8px !important;
  padding:4px 8px !important;
}
#view-delivery .delivery76Pager{
  min-height:32px !important;
}
#view-delivery .delivery76Pager button{
  min-width:32px !important;
  min-height:28px !important;
  font-size:15px !important;
}
#view-delivery .delivery76Pager span{
  font-size:9px !important;
}

/* Panel central */
#view-delivery .delivery76OrderPanel{
  padding:13px 14px !important;
}
#view-delivery .delivery76OrderDetail{
  gap:12px !important;
}
#view-delivery .delivery76OrderHead{
  padding-bottom:10px !important;
}
#view-delivery .delivery76OrderHead small{
  font-size:8px !important;
}
#view-delivery .delivery76OrderHead h2{
  font-size:19px !important;
  line-height:1.1 !important;
  margin-top:4px !important;
}
#view-delivery .delivery76Total{
  font-size:22px !important;
  line-height:1 !important;
}
#view-delivery .delivery76InfoGrid{
  gap:8px !important;
}
#view-delivery .delivery76Info{
  border-radius:10px !important;
  padding:9px 10px !important;
  gap:4px !important;
}
#view-delivery .delivery76Info small{
  font-size:7px !important;
  letter-spacing:.06em;
}
#view-delivery .delivery76Info strong{
  font-size:11px !important;
  line-height:1.3 !important;
}
#view-delivery .delivery72Contact{
  gap:7px !important;
}
#view-delivery .delivery72Contact a{
  min-height:36px !important;
  padding:7px 12px !important;
  font-size:10px !important;
  border-radius:9px !important;
}
#view-delivery .delivery76Section{
  padding-top:10px !important;
  gap:7px !important;
}
#view-delivery .delivery76SectionHead strong{
  font-size:12px !important;
}
#view-delivery .delivery76SectionHead span{
  font-size:9px !important;
}
#view-delivery .delivery76Items{
  gap:6px !important;
}
#view-delivery .delivery76Item{
  padding:8px 10px !important;
  min-height:36px !important;
}
#view-delivery .delivery76Item span,
#view-delivery .delivery76Item b{
  font-size:10.5px !important;
}
#view-delivery .delivery76PaymentSummary{
  border-radius:10px !important;
  padding:9px 10px !important;
}
#view-delivery .delivery76PaymentSummary small{
  font-size:7px !important;
}
#view-delivery .delivery76PaymentSummary strong{
  font-size:11px !important;
}
#view-delivery .delivery76PayState{
  font-size:8.5px !important;
  padding:5px 8px !important;
}

/* Panel derecho */
#view-delivery .delivery76ManagePanel{
  padding:12px !important;
}
#view-delivery .delivery76Manage{
  gap:12px !important;
}
#view-delivery .delivery76Progress{
  gap:5px !important;
}
#view-delivery .delivery76ProgressStep{
  min-height:54px !important;
  border-radius:10px !important;
  padding:6px 3px !important;
}
#view-delivery .delivery76ProgressStep span{
  width:26px !important;
  height:26px !important;
  font-size:9px !important;
}
#view-delivery .delivery76ProgressStep b{
  font-size:7.5px !important;
  line-height:1.05 !important;
}
#view-delivery .delivery76StepCard{
  border-radius:13px !important;
  padding:13px !important;
  gap:10px !important;
}
#view-delivery .delivery76StepCard>small{
  font-size:8px !important;
}
#view-delivery .delivery76StepCard h3{
  font-size:19px !important;
  line-height:1.08 !important;
}
#view-delivery .delivery76StepCard p{
  font-size:10.5px !important;
  line-height:1.45 !important;
}
#view-delivery .delivery76Primary{
  min-height:46px !important;
  border-radius:11px !important;
  font-size:12px !important;
  letter-spacing:.02em;
}
#view-delivery .delivery76Secondary{
  min-height:39px !important;
  font-size:10px !important;
  border-radius:10px !important;
}
#view-delivery .delivery76DangerLink{
  font-size:9px !important;
}
#view-delivery .delivery76Proof{
  max-height:230px !important;
}
#view-delivery .delivery76DriverForm{
  gap:7px !important;
}
#view-delivery .delivery76DriverForm input{
  min-height:38px !important;
  padding:8px 10px !important;
  font-size:10px !important;
  border-radius:9px !important;
}
#view-delivery .delivery76DriverState{
  border-radius:10px !important;
  padding:9px !important;
  gap:7px !important;
}
#view-delivery .delivery76DriverStateRow small{
  font-size:8px !important;
}
#view-delivery .delivery76DriverStateRow strong{
  font-size:10px !important;
}
#view-delivery .delivery76DriverBadge{
  font-size:8px !important;
  padding:5px 8px !important;
}
#view-delivery .delivery76MiniActions{
  gap:7px !important;
}
#view-delivery .delivery76MiniActions button{
  min-height:36px !important;
  font-size:9px !important;
}
#view-delivery .delivery76Waiting{
  font-size:9.5px !important;
  line-height:1.4 !important;
  padding:9px !important;
}
#view-delivery .delivery76Live{
  padding:10px !important;
  gap:5px !important;
}
#view-delivery .delivery76Live strong{
  font-size:11px !important;
}
#view-delivery .delivery76Live small{
  font-size:9px !important;
}
#view-delivery .delivery76MapWrap{
  height:310px !important;
  min-height:310px !important;
}
#view-delivery .delivery76MapWrap #deliveryMap{
  height:292px !important;
  min-height:292px !important;
}
#view-delivery .delivery76Completed{
  padding:16px 12px !important;
  gap:8px !important;
}
#view-delivery .delivery76Completed .check{
  width:44px !important;
  height:44px !important;
  font-size:20px !important;
}
#view-delivery .delivery76Completed strong{
  font-size:16px !important;
}
#view-delivery .delivery76Completed small{
  font-size:10px !important;
}

/* Estados vacíos */
#view-delivery .delivery76Empty{
  font-size:12px !important;
  color:var(--d77-muted) !important;
  line-height:1.4 !important;
}

/* Laptop intermedia */
@media(max-width:1180px) and (min-width:851px){
  #view-delivery .delivery76Body{
    grid-template-columns:230px minmax(390px,1.25fr) minmax(300px,.95fr) !important;
  }
  #view-delivery .delivery76Counts{
    grid-template-columns:repeat(3,82px) !important;
  }
  #view-delivery .delivery76OrderHead h2{
    font-size:17px !important;
  }
}

/* Tablet: lista izquierda + centro/derecha apilados */
@media(max-width:850px) and (min-width:701px){
  #view-delivery .delivery76Body{
    grid-template-columns:230px minmax(0,1fr) !important;
    grid-template-rows:minmax(0,1fr) minmax(0,1fr) !important;
  }
  #view-delivery .delivery76ListPanel{
    grid-column:1 !important;
    grid-row:1 / span 2 !important;
  }
  #view-delivery .delivery76OrderPanel{
    grid-column:2 !important;
    grid-row:1 !important;
  }
  #view-delivery .delivery76ManagePanel{
    grid-column:2 !important;
    grid-row:2 !important;
  }
}

/* Móvil: lectura real, botones cómodos y flujo vertical */
@media(max-width:700px){
  #view-delivery .delivery76Shell{
    padding:8px 7px 95px !important;
    gap:9px !important;
  }
  #view-delivery .delivery76Title h2{
    font-size:22px !important;
  }
  #view-delivery .delivery76Title p{
    font-size:10px !important;
  }
  #view-delivery .delivery76Counts{
    gap:5px !important;
  }
  #view-delivery .delivery76Counts>div{
    padding:7px !important;
  }
  #view-delivery .delivery76Counts strong{
    font-size:17px !important;
  }
  #view-delivery .delivery76Toolbar button{
    flex:1 1 auto;
    min-height:38px !important;
    font-size:10px !important;
  }
  #view-delivery .delivery76Toolbar input{
    min-height:40px !important;
    font-size:12px !important;
  }
  #view-delivery .delivery76Body{
    gap:9px !important;
  }
  #view-delivery .delivery76List{
    max-height:300px !important;
  }
  #view-delivery .delivery76Order{
    min-height:78px !important;
  }
  #view-delivery .delivery76OrderTop strong{
    font-size:12px !important;
  }
  #view-delivery .delivery76OrderMeta{
    font-size:9.5px !important;
  }
  #view-delivery .delivery76OrderPanel,
  #view-delivery .delivery76ManagePanel{
    padding:11px !important;
  }
  #view-delivery .delivery76OrderHead h2{
    font-size:17px !important;
    white-space:normal !important;
  }
  #view-delivery .delivery76Total{
    font-size:20px !important;
  }
  #view-delivery .delivery76InfoGrid{
    grid-template-columns:1fr 1fr !important;
  }
  #view-delivery .delivery76Info.wide{
    grid-column:1/-1 !important;
  }
  #view-delivery .delivery76Info strong{
    font-size:10.5px !important;
  }
  #view-delivery .delivery76ProgressStep{
    min-height:58px !important;
  }
  #view-delivery .delivery76ProgressStep b{
    font-size:7px !important;
  }
  #view-delivery .delivery76StepCard h3{
    font-size:18px !important;
  }
  #view-delivery .delivery76StepCard p{
    font-size:10.5px !important;
  }
  #view-delivery .delivery76Primary{
    min-height:48px !important;
    font-size:12px !important;
  }
  #view-delivery .delivery76MapWrap{
    height:300px !important;
  }
  #view-delivery .delivery76MapWrap #deliveryMap{
    height:282px !important;
    min-height:282px !important;
  }
}

/* Teléfono pequeño */
@media(max-width:390px){
  #view-delivery .delivery76InfoGrid{
    grid-template-columns:1fr !important;
  }
  #view-delivery .delivery76Info.wide{
    grid-column:auto !important;
  }
  #view-delivery .delivery76Progress{
    gap:3px !important;
  }
  #view-delivery .delivery76ProgressStep span{
    width:23px !important;
    height:23px !important;
  }
  #view-delivery .delivery76ProgressStep b{
    font-size:6.5px !important;
  }
}


/* V78 — movimiento automático de pedidos entre filtros */
#view-delivery .delivery76Toolbar button{
  position:relative;
}
#view-delivery .delivery76Toolbar button.active::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:3px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  opacity:.25;
}




html,body{max-width:100%;overflow-x:hidden}

/* La barra móvil de cobro SOLO pertenece a Caja. */
body:not(.pos79-active) #mobileCheckoutBar{display:none!important}
body:not(.pos79-active) #mobileCartDrawer{display:none!important}

@media(max-width:700px){

  /* ---------- ESTRUCTURA GENERAL ---------- */
  .app{
    grid-template-rows:64px 54px minmax(0,1fr) 26px!important;
    width:100%!important;
    max-width:100vw!important;
  }
  .top{
    min-width:0!important;
    padding:0 10px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
  }
  .brand{
    min-width:0!important;
    max-width:100%!important;
    font-size:20px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .topStore{display:none!important}
  .topUser{
    display:flex!important;
    align-items:center!important;
    gap:4px!important;
    font-size:10px!important;
    white-space:nowrap!important;
  }
  .cloud72Status{
    margin-left:2px!important;
    font-size:7px!important;
    padding:3px 5px!important;
  }

  /* Navegación móvil: no comprimir, desplazar horizontalmente */
  .nav{
    width:100%!important;
    min-width:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:6px 7px!important;
    gap:5px!important;
    scroll-snap-type:x proximity;
  }
  .nav::-webkit-scrollbar{display:none}
  .nav button{
    flex:0 0 auto!important;
    min-width:86px!important;
    max-width:none!important;
    min-height:40px!important;
    padding:7px 10px!important;
    font-size:10px!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
    scroll-snap-align:center;
  }
  .nav button[data-view="admin"]{min-width:112px!important}
  .nav button[data-view="config"]{min-width:106px!important}
  .footer{
    padding:0 8px!important;
    font-size:8px!important;
  }

  .app>main{
    min-width:0!important;
    width:100%!important;
    overflow:hidden!important;
  }
  .view{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
  }
  #view-pos{overflow:hidden!important}
  #view-warehouse,
  #view-catalog,
  #view-apps,
  #view-admin,
  #view-config,
  #view-delivery{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch;
  }

  /* Caja: mantiene comportamiento operacional en una pantalla */
  body.pos79-active #mobileCheckoutBar{
    display:grid!important;
  }
  #view-pos .posWrap{
    padding-bottom:72px!important;
  }

  /* ---------- BODEGA ---------- */
  #view-warehouse .warehouseShell{
    height:auto!important;
    min-height:100%!important;
    display:grid!important;
    grid-template-rows:auto auto auto auto!important;
    gap:9px!important;
    padding:9px 8px 28px!important;
    overflow:visible!important;
  }
  #view-warehouse .warehouseTop{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:8px!important;
  }
  #view-warehouse .warehouseTopActions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
  }
  #view-warehouse .warehouseTopActions button{width:100%!important}
  #view-warehouse .warehouseKpis{
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
  }
  #view-warehouse .warehouseKpi{
    min-height:72px!important;
    padding:9px!important;
  }
  #view-warehouse .warehouseKpi small{font-size:8px!important}
  #view-warehouse .warehouseKpi strong{font-size:20px!important}
  #view-warehouse .warehouseKpi span{font-size:8px!important}
  #view-warehouse .warehouseKpi.movement{
    grid-column:1/-1!important;
  }
  #view-warehouse .warehouseModes{
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  #view-warehouse .warehouseModes::-webkit-scrollbar{display:none}
  #view-warehouse .warehouseModeBtn{
    flex:0 0 auto!important;
    min-height:36px!important;
    font-size:9px!important;
    white-space:nowrap!important;
  }
  #view-warehouse .warehouseBody{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    overflow:visible!important;
  }
  #view-warehouse .warehouseMainPanel{
    min-height:520px!important;
    overflow:visible!important;
  }
  #view-warehouse .warehouseSidePanel{
    padding:10px!important;
  }
  #view-warehouse .warehouseToolbar{
    grid-template-columns:1fr!important;
  }
  #view-warehouse .warehouseInventoryHead{
    grid-template-columns:minmax(0,1fr) 64px 70px!important;
  }
  #view-warehouse .warehouseInventoryHead span:nth-child(2),
  #view-warehouse .warehouseInventoryHead span:nth-child(3){
    display:none!important;
  }
  #view-warehouse .warehouseInventoryRow{
    grid-template-columns:minmax(0,1fr) 64px 70px!important;
    min-height:48px!important;
    font-size:10px!important;
  }
  #view-warehouse .warehouseInventoryRow>*:nth-child(2),
  #view-warehouse .warehouseInventoryRow>*:nth-child(3){
    display:none!important;
  }
  #view-warehouse .warehouseInventoryList{
    min-height:360px!important;
    max-height:55vh!important;
    overflow-y:auto!important;
  }
  #view-warehouse .warehouseActionForm{
    grid-template-columns:1fr!important;
  }
  #view-warehouse .warehouseCountScanner{
    grid-template-columns:1fr 80px!important;
  }
  #view-warehouse .warehouseCountScanner button{
    grid-column:1/-1!important;
  }
  #view-warehouse .warehouseReportGrid{
    grid-template-columns:1fr!important;
  }

  /* ---------- CATÁLOGO ---------- */
  #view-catalog .catalogV35Shell{
    height:auto!important;
    min-height:100%!important;
    display:grid!important;
    grid-template-rows:auto auto auto!important;
    padding:9px 8px 34px!important;
    overflow:visible!important;
  }
  #view-catalog .catalogV35Head,
  #view-catalog .catalogV35SectionHead{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  #view-catalog .catalogV35Top{
    width:100%!important;
  }
  #view-catalog .catalogV35Top button{
    flex:1 1 auto!important;
    min-height:40px!important;
  }
  #view-catalog .catalogV35Main.active,
  #view-catalog .catalogV35Promos.active{
    display:grid!important;
    min-height:0!important;
    overflow:visible!important;
  }
  #view-catalog .catalogV35Categories{
    overflow:visible!important;
    max-height:none!important;
  }
  #view-catalog .catalogV35SectionHead .input{
    width:100%!important;
    max-width:none!important;
  }
  #view-catalog .catalogV35CategoryHead,
  #view-catalog .catalogV35ProductHead{
    align-items:start!important;
  }
  #view-catalog .catalogV35CategoryActions,
  #view-catalog .catalogV35ProductActions{
    flex-wrap:wrap!important;
  }
  #view-catalog .catalogV35CategoryToggle strong,
  #view-catalog .catalogV35ProductToggle strong{
    font-size:11px!important;
  }
  #view-catalog .catalogV35VariantRow{
    grid-template-columns:minmax(0,1fr) 68px!important;
  }
  #view-catalog .catalogV35VariantRow>*:nth-child(n+3){
    display:none!important;
  }

  /* Modales / wizard Catálogo */
  .saleModal{
    padding:6px!important;
    align-items:stretch!important;
  }
  .saleModalBox{
    width:100%!important;
    max-height:calc(100dvh - 12px)!important;
    border-radius:12px!important;
  }
  .saleModalBody,
  .catalogWizardBody,
  .catalogEditGrid{
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  .catalogEditGrid,
  .catalogWizardGrid{
    grid-template-columns:1fr!important;
  }
  .catalogWizardSteps{
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
  }

  /* ---------- APPS ---------- */
  #view-apps{
    padding:8px 8px 32px!important;
  }
  #view-apps .moduleWrap{
    height:auto!important;
    display:block!important;
    padding:0!important;
    overflow:visible!important;
  }
  #view-apps .moduleWrap>.formGrid{
    padding:12px!important;
    overflow:visible!important;
  }
  #view-apps .apps79CatalogAdmin,
  #view-apps .apps79PreviewCard{
    display:none!important;
  }
  #view-apps .formGrid>div[style*="grid-template-columns:1fr 1fr"]{
    grid-template-columns:1fr!important;
  }
  #view-apps textarea{
    min-height:96px!important;
  }

  /* ---------- ADMINISTRACIÓN ---------- */
  #view-admin .adminShell{
    height:auto!important;
    min-height:100%!important;
    display:grid!important;
    grid-template-rows:auto auto auto!important;
    gap:9px!important;
    padding:9px 8px 36px!important;
    overflow:visible!important;
  }
  #view-admin .adminHeader{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  #view-admin .adminDateControls{
    width:100%!important;
    display:grid!important;
    gap:6px!important;
  }
  #view-admin .adminDateRange{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
  }
  #view-admin .adminPeriod{
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    scrollbar-width:none;
  }
  #view-admin .adminPeriod::-webkit-scrollbar{display:none}
  #view-admin .adminPeriodBtn{
    flex:0 0 auto!important;
    min-height:34px!important;
    font-size:9px!important;
  }
  #view-admin .adminTabs{
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    gap:5px!important;
  }
  #view-admin .adminTabs::-webkit-scrollbar{display:none}
  #view-admin .adminTab{
    flex:0 0 auto!important;
    min-height:38px!important;
    padding:8px 12px!important;
    font-size:9px!important;
    white-space:nowrap!important;
  }
  #view-admin .adminContent{
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
  }
  #view-admin .adminPane.active{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  #view-admin .adminKpis{
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
  }
  #view-admin .adminKpi{
    min-height:82px!important;
    padding:10px!important;
  }
  #view-admin .adminKpi strong{font-size:19px!important}
  #view-admin .adminGrid,
  #view-admin .adminDailyGrid,
  #view-admin .adminCashGrid{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:none!important;
    gap:8px!important;
    height:auto!important;
    overflow:visible!important;
  }
  #view-admin .adminPanel,
  #view-admin .adminTableCard{
    min-height:260px!important;
    height:auto!important;
    overflow:visible!important;
  }
  #view-admin .adminHistoryList,
  #view-admin .adminRecentSales{
    overflow-x:auto!important;
  }
  #view-admin .adminHistoryHead,
  #view-admin .adminHistoryRow{
    min-width:700px!important;
  }

  /* ---------- CONFIGURACIÓN ---------- */
  #view-config{
    padding:8px 8px 36px!important;
  }
  #view-config .config57Shell{
    height:auto!important;
    min-height:100%!important;
    display:grid!important;
    grid-template-rows:auto auto!important;
    overflow:visible!important;
  }
  #view-config .config57Tabs{
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    scrollbar-width:none;
    position:sticky;
    top:0;
    z-index:10;
  }
  #view-config .config57Tabs::-webkit-scrollbar{display:none}
  #view-config .config57Tab{
    flex:0 0 auto!important;
    min-height:38px!important;
    font-size:9px!important;
    white-space:nowrap!important;
  }
  #view-config .config57Pane,
  #view-config .config57Pane.active{
    height:auto!important;
    overflow:visible!important;
  }
  #view-config .config57Card{
    padding:11px!important;
  }
  #view-config .config57Head{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  #view-config .config57Head h2{font-size:17px!important}
  #view-config .config57Head p{font-size:10px!important}
  #view-config .config57Save{
    width:100%!important;
    min-height:42px!important;
    font-size:10px!important;
  }
  #view-config .config57Grid{
    grid-template-columns:1fr!important;
  }
  #view-config .config57Grid .wide{grid-column:auto!important}
  #view-config .config57Field label{font-size:9px!important}
  #view-config .config57Field input,
  #view-config .config57Field select,
  #view-config .config57Field textarea{
    min-height:42px!important;
    font-size:11px!important;
  }
  #view-config .config57BankCard{
    grid-template-columns:1fr!important;
  }
  #view-config .config57BankActions{
    justify-content:flex-start!important;
  }

  /* ---------- DELIVERY INTERNO: MASTER / DETAIL ---------- */
  #view-delivery .delivery76Shell{
    height:auto!important;
    min-height:100%!important;
    padding:9px 8px 34px!important;
    gap:9px!important;
    overflow:visible!important;
  }
  #view-delivery .delivery76Top{
    display:grid!important;
    gap:8px!important;
  }
  #view-delivery .delivery76Title h2{
    font-size:25px!important;
  }
  #view-delivery .delivery76Title p{
    font-size:10px!important;
    white-space:normal!important;
  }
  #view-delivery .delivery76Counts{
    width:100%!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
  }
  #view-delivery .delivery76Counts>div{
    min-width:0!important;
    padding:8px!important;
  }
  #view-delivery .delivery76Counts strong{font-size:19px!important}
  #view-delivery .delivery76Toolbar{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
    padding:6px!important;
  }
  #view-delivery .delivery76Toolbar button{
    width:100%!important;
    min-width:0!important;
    min-height:40px!important;
    padding:6px!important;
    font-size:9px!important;
  }
  #view-delivery .delivery76Toolbar input{
    grid-column:1/-1!important;
    width:100%!important;
    min-height:42px!important;
    font-size:12px!important;
  }
  #view-delivery .delivery76Body{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto!important;
    gap:9px!important;
    overflow:visible!important;
  }
  #view-delivery .delivery76ListPanel,
  #view-delivery .delivery76OrderPanel,
  #view-delivery .delivery76ManagePanel{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  #view-delivery .delivery76ListPanel{
    min-height:0!important;
    padding:9px!important;
  }
  #view-delivery .delivery76List{
    max-height:none!important;
    overflow:visible!important;
  }
  #view-delivery .delivery76Order{
    min-height:82px!important;
  }
  #view-delivery .delivery76OrderTop strong{
    font-size:12px!important;
  }
  #view-delivery .delivery76OrderTop b{
    font-size:12px!important;
  }
  #view-delivery .delivery76OrderMeta{font-size:9.5px!important}
  #view-delivery .delivery76StagePill{font-size:8px!important}
  #view-delivery .delivery76OrderPanel,
  #view-delivery .delivery76ManagePanel{
    padding:11px!important;
  }

  /* Master: solo lista */
  #view-delivery:not(.delivery79-detail) .delivery76OrderPanel,
  #view-delivery:not(.delivery79-detail) .delivery76ManagePanel{
    display:none!important;
  }

  /* Detail: ocultar lista y mostrar pedido + gestión */
  #view-delivery.delivery79-detail .delivery76ListPanel{
    display:none!important;
  }
  #view-delivery.delivery79-detail .delivery76OrderPanel,
  #view-delivery.delivery79-detail .delivery76ManagePanel{
    display:block!important;
  }
  #view-delivery .delivery79Back{
    width:100%!important;
    min-height:42px!important;
    margin-bottom:10px!important;
    border:1px solid #d5dfd9!important;
    background:#fff!important;
    border-radius:10px!important;
    color:#27382f!important;
    font-size:11px!important;
    font-weight:1000!important;
    text-align:left!important;
    padding:8px 11px!important;
  }
  #view-delivery .delivery76OrderHead{
    flex-direction:column!important;
    gap:6px!important;
  }
  #view-delivery .delivery76OrderHead h2{
    white-space:normal!important;
    font-size:18px!important;
  }
  #view-delivery .delivery76Total{
    font-size:22px!important;
  }
  #view-delivery .delivery76InfoGrid{
    grid-template-columns:1fr 1fr!important;
  }
  #view-delivery .delivery76Info.wide{
    grid-column:1/-1!important;
  }
  #view-delivery .delivery76Info strong{font-size:11px!important}
  #view-delivery .delivery76Item span,
  #view-delivery .delivery76Item b{font-size:10.5px!important}
  #view-delivery .delivery76ProgressStep{
    min-height:58px!important;
  }
  #view-delivery .delivery76StepCard{
    padding:12px!important;
  }
  #view-delivery .delivery76StepCard h3{
    font-size:19px!important;
  }
  #view-delivery .delivery76StepCard p{
    font-size:10.5px!important;
  }
  #view-delivery .delivery76Primary{
    min-height:48px!important;
    font-size:12px!important;
  }
  #view-delivery .delivery76MapWrap{
    height:300px!important;
    min-height:300px!important;
  }
  #view-delivery .delivery76MapWrap #deliveryMap{
    height:282px!important;
    min-height:282px!important;
  }
}

@media(max-width:390px){
  #view-delivery .delivery76InfoGrid{
    grid-template-columns:1fr!important;
  }
  #view-delivery .delivery76Info.wide{grid-column:auto!important}
  #view-warehouse .warehouseKpis{
    grid-template-columns:1fr 1fr!important;
  }
}

/* Tablet: 701-900 px */
@media(min-width:701px) and (max-width:900px){
  .nav{overflow-x:auto!important}
  .nav button{flex:0 0 auto!important}
  #view-delivery .delivery76Body{
    grid-template-columns:230px minmax(0,1fr)!important;
    grid-template-rows:minmax(320px,1fr) minmax(320px,1fr)!important;
  }
  #view-delivery .delivery76ListPanel{grid-row:1/span 2!important}
  #view-delivery .delivery76OrderPanel{grid-column:2!important;grid-row:1!important}
  #view-delivery .delivery76ManagePanel{grid-column:2!important;grid-row:2!important}
}



#v49Checkout.v80-submitted .v49Back,
#v49Checkout.v80-submitted .v49Close{
  display:none!important;
}
#v49Checkout.v80-submitted .v49CheckoutHead{
  grid-template-columns:1fr!important;
  justify-items:center!important;
}
#v49Checkout.v80-submitted .v49CheckoutHead strong{
  text-align:center!important;
}
#v49Checkout.v80-submitted .v49Steps{
  pointer-events:none!important;
}
.v80Sending{
  width:100%;
  min-height:46px;
  border:0;
  border-radius:11px;
  background:#dce6df;
  color:#66746b;
  font-size:11px;
  font-weight:1000;
  cursor:wait;
}
.v80TrackingLocked{
  border:1px solid #c8e1d0;
  background:#f1faf4;
  color:#356044;
  border-radius:10px;
  padding:8px 10px;
  font-size:9px;
  line-height:1.35;
  text-align:center;
}



.map81Icon{
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:3px solid #fff;
  box-shadow:0 4px 14px rgba(0,0,0,.28);
  font-size:18px;
  line-height:1;
  position:relative;
}
.map81Icon::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-7px;
  width:10px;
  height:10px;
  transform:translateX(-50%) rotate(45deg);
  border-right:3px solid #fff;
  border-bottom:3px solid #fff;
  z-index:-1;
}
.map81Icon.customer{
  background:#d83a3a;
  color:#fff;
}
.map81Icon.customer::after{background:#d83a3a}
.map81Icon.store{
  background:#0b7139;
  color:#fff;
}
.map81Icon.store::after{background:#0b7139}
.map81Icon.driver{
  background:#e49a24;
  color:#fff;
}
.map81Icon.driver::after{background:#e49a24}

.map81Legend{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  align-items:center;
  padding:4px 6px;
  border-radius:8px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(0,0,0,.09);
  box-shadow:0 2px 9px rgba(0,0,0,.08);
  font:700 9px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.map81Legend span{
  display:inline-flex;
  align-items:center;
  gap:3px;
  white-space:nowrap;
}
.map81Legend i{
  width:9px;height:9px;border-radius:50%;display:inline-block
}
.map81Legend .customer{background:#d83a3a}
.map81Legend .store{background:#0b7139}
.map81Legend .driver{background:#e49a24}

@media(max-width:700px){
  .map81Icon{
    width:32px;
    height:32px;
    font-size:17px;
  }
  .map81Legend{
    font-size:8px;
    gap:4px;
    padding:4px 5px;
  }
}



.map82Marker{
  position:relative;
  width:132px;
  display:flex;
  flex-direction:column;
  align-items:center;
  transform:translateX(-49px);
  pointer-events:auto;
}
.map82Bubble{
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:3px solid #fff;
  box-shadow:0 5px 15px rgba(0,0,0,.26);
  font-size:20px;
  line-height:1;
  position:relative;
  z-index:2;
}
.map82Bubble::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-7px;
  width:11px;
  height:11px;
  transform:translateX(-50%) rotate(45deg);
  border-right:3px solid #fff;
  border-bottom:3px solid #fff;
  z-index:-1;
}
.map82Marker.store .map82Bubble{background:#0b7139}
.map82Marker.store .map82Bubble::after{background:#0b7139}
.map82Marker.driver .map82Bubble{background:#e49a24}
.map82Marker.driver .map82Bubble::after{background:#e49a24}
.map82Marker.customer .map82Bubble{background:#d83a3a}
.map82Marker.customer .map82Bubble::after{background:#d83a3a}
.map82Label{
  max-width:126px;
  min-width:76px;
  margin-top:6px;
  padding:4px 7px 5px;
  border-radius:9px;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(20,35,26,.14);
  box-shadow:0 3px 11px rgba(0,0,0,.13);
  text-align:center;
  overflow:hidden;
}
.map82Label small{
  display:block;
  color:#77847c;
  font:800 7px/1.05 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  text-transform:uppercase;
  letter-spacing:.03em;
  white-space:nowrap;
}
.map82Label strong{
  display:block;
  margin-top:2px;
  color:#1f2d25;
  font:900 9px/1.15 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.map82Marker.store .map82Label{border-color:rgba(11,113,57,.30)}
.map82Marker.driver .map82Label{border-color:rgba(228,154,36,.36)}
.map82Marker.customer .map82Label{border-color:rgba(216,58,58,.30)}
.map81Legend{display:none!important}

@media(max-width:700px){
  .map82Marker{
    width:120px;
    transform:translateX(-43px);
  }
  .map82Bubble{
    width:36px;
    height:36px;
    font-size:19px;
  }
  .map82Label{
    max-width:114px;
    min-width:70px;
    padding:4px 6px;
  }
  .map82Label small{font-size:6.5px}
  .map82Label strong{font-size:8.5px}
}




/* Catálogo: fotografía solo como dato comercial de Delivery */
.v83CatalogPhotoBox{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:160px minmax(0,1fr);
  gap:12px;
  padding:12px;
  border:1px solid #dce6df;
  border-radius:13px;
  background:#f8fbf9;
}
.v83CatalogPhotoPreview{
  width:160px;
  aspect-ratio:1/1;
  border-radius:12px;
  border:1px solid #d8e2dc;
  background:#fff;
  overflow:hidden;
  display:grid;
  place-items:center;
}
.v83CatalogPhotoPreview img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.v83CatalogPhotoEmpty{
  display:grid;
  justify-items:center;
  gap:4px;
  padding:10px;
  text-align:center;
  color:#718078;
}
.v83CatalogPhotoEmpty span{font-size:30px}
.v83CatalogPhotoEmpty strong{font-size:10px;color:#394a40}
.v83CatalogPhotoEmpty small{font-size:8px;line-height:1.3}
.v83CatalogPhotoControls{
  min-width:0;
  display:grid;
  align-content:center;
  gap:7px;
}
.v83CatalogPhotoControls>strong{font-size:11px}
.v83CatalogPhotoControls>small{font-size:8px;color:#758078;line-height:1.4}
.v83CatalogPhotoControls>div{display:flex;gap:6px;flex-wrap:wrap}
.v83UploadState{font-size:8px;color:#64736a;font-weight:800}
.v83UploadState.busy{color:#9a6915}
.v83UploadState.ok{color:#0b7139}
.v83UploadState.error{color:#b93838}
.v83CatalogDescription{
  grid-column:1/-1;
  display:grid;
  gap:5px;
}
.v83CatalogDescription label{font-size:8px;font-weight:900;color:#45554b}
.v83CatalogDescription textarea{resize:vertical;min-height:76px}
.v83WizardPhoto{margin-top:12px}

/* Miniatura discreta en Catálogo; Caja permanece intacta */
.catalogV35ProductToggle .v83CatalogThumb{
  width:34px;
  height:34px;
  border-radius:7px;
  border:1px solid #dce5df;
  background:#fff;
  overflow:hidden;
  display:grid;
  place-items:center;
  flex:0 0 34px;
}
.catalogV35ProductToggle .v83CatalogThumb img{width:100%;height:100%;object-fit:contain}
.catalogV35ProductToggle .v83CatalogThumb span{font-size:16px}

/* ---------- Tienda Delivery ---------- */
#deliveryDemoOverlayV43{
  background:#f4f5f3!important;
}
.v83Store{
  min-height:100dvh;
  background:#f4f5f3;
  color:#202824;
  padding-bottom:92px;
}
.v83Top{
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(12px);
  border-bottom:1px solid #e0e5e1;
  padding:10px 12px 9px;
  display:grid;
  gap:9px;
}
.v83TopLine{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
}
.v83Brand{
  min-width:0;
  display:grid;
  gap:1px;
}
.v83Brand strong{
  font-size:18px;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v83Brand small{
  font-size:8px;
  color:#6f7b74;
  font-weight:800;
}
.v83TopActions{display:flex;gap:6px}
.v83TopActions button{
  min-height:38px;
  border:1px solid #d7dfda;
  background:#fff;
  border-radius:10px;
  padding:7px 10px;
  font-size:10px;
  font-weight:900;
  cursor:pointer;
}
.v83TopActions .cart{
  background:#0b7139;
  color:#fff;
  border-color:#0b7139;
}
.v83SearchRow{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
}
.v83Search{
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:7px;
  min-height:42px;
  border:1px solid #d7dfda;
  border-radius:12px;
  background:#f7f8f7;
  padding:0 11px;
}
.v83Search span{font-size:15px}
.v83Search input{
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  font-size:11px;
  color:#202824;
}
.v83Sort{
  min-height:42px;
  border:1px solid #d7dfda;
  border-radius:12px;
  background:#fff;
  padding:0 9px;
  font-size:9px;
  font-weight:800;
  color:#344139;
}
.v83Hero{
  padding:10px 12px 0;
}
.v83Hero .v46Hero{
  border-radius:18px!important;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(20,35,26,.09);
}
.v83CategoryStrip{
  display:flex;
  gap:7px;
  overflow-x:auto;
  scrollbar-width:none;
  padding:12px 12px 8px;
  -webkit-overflow-scrolling:touch;
}
.v83CategoryStrip::-webkit-scrollbar{display:none}
.v83Cat{
  flex:0 0 auto;
  min-height:39px;
  border:1px solid #d8dfda;
  background:#fff;
  border-radius:999px;
  padding:7px 11px;
  display:flex;
  align-items:center;
  gap:5px;
  color:#3e4c43;
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
}
.v83Cat.active{
  background:#18271f;
  border-color:#18271f;
  color:#fff;
}
.v83Main{
  padding:7px 12px 24px;
  display:grid;
  gap:10px;
}
.v83SectionHead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
}
.v83SectionHead>div{display:grid;gap:2px}
.v83SectionHead small{
  font-size:7px;
  color:#77827b;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.05em;
}
.v83SectionHead strong{font-size:17px}
.v83SectionHead span{font-size:8px;color:#738078;font-weight:800}
.v83Grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.v83ProductCard,
.v83PromoCard{
  min-width:0;
  border:1px solid #e0e5e1;
  background:#fff;
  border-radius:15px;
  overflow:hidden;
  box-shadow:0 5px 16px rgba(22,38,28,.05);
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
}
.v83ProductMedia,
.v83PromoMedia{
  position:relative;
  aspect-ratio:1/1;
  background:linear-gradient(145deg,#f8faf8,#eef2ef);
  overflow:hidden;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.v83ProductMedia img,
.v83PromoMedia img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:10px;
  display:block;
}
.v83MediaFallback{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  align-content:center;
  gap:5px;
  color:#728078;
  background:linear-gradient(145deg,#f8faf8,#eef2ef);
}
.v83MediaFallback span{font-size:42px}
.v83MediaFallback small{font-size:7px;font-weight:900;text-transform:uppercase}
.v83Badge{
  position:absolute;
  top:8px;
  left:8px;
  max-width:calc(100% - 16px);
  border-radius:999px;
  padding:4px 7px;
  background:#18271f;
  color:#fff;
  font-size:7px;
  font-weight:1000;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v83QtyBadge{
  position:absolute;
  top:8px;
  right:8px;
  min-width:24px;
  height:24px;
  border-radius:999px;
  background:#0b7139;
  color:#fff;
  display:grid;
  place-items:center;
  padding:0 6px;
  font-size:8px;
  font-weight:1000;
}
.v83CardBody{
  padding:9px 9px 6px;
  min-width:0;
  display:grid;
  align-content:start;
  gap:3px;
}
.v83CardBrand{
  font-size:7px;
  color:#7a867f;
  font-weight:900;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v83CardBody strong{
  min-width:0;
  font-size:11px;
  line-height:1.15;
  color:#202824;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.v83CardBody small{
  font-size:8px;
  line-height:1.25;
  color:#7a867f;
  min-height:20px;
}
.v83PriceRow{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:6px;
  margin-top:4px;
}
.v83PriceRow strong{
  font-size:15px;
  color:#0b7139;
  display:block;
}
.v83OldPrice{
  font-size:8px!important;
  color:#9a9f9b!important;
  text-decoration:line-through;
}
.v83CardAction{
  padding:0 9px 9px;
}
.v83CardAction button{
  width:100%;
  min-height:38px;
  border:0;
  border-radius:10px;
  background:#0b7139;
  color:#fff;
  font-size:9px;
  font-weight:1000;
  cursor:pointer;
}
.v83CardAction button.secondary{
  background:#fff;
  border:1px solid #0b7139;
  color:#0b7139;
}
.v83CardAction button:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.v83Pager{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:4px 0 3px;
}
.v83Pager button{
  min-width:38px;
  min-height:36px;
  border:1px solid #d8dfda;
  border-radius:9px;
  background:#fff;
  font-weight:1000;
}
.v83Pager span{font-size:8px;color:#768178;font-weight:800}
.v83Empty{
  grid-column:1/-1;
  min-height:160px;
  border:1px dashed #d4ddd7;
  border-radius:14px;
  background:#fff;
  display:grid;
  place-items:center;
  text-align:center;
  color:#718078;
  padding:20px;
  font-size:10px;
}

/* Carrito flotante */
.v83CartBar{
  position:fixed;
  z-index:55;
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
  width:min(760px,calc(100% - 24px));
  min-height:58px;
  border-radius:15px;
  background:#18271f;
  color:#fff;
  box-shadow:0 14px 34px rgba(0,0,0,.22);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:9px 10px 9px 13px;
}
.v83CartBar>div{min-width:0;display:grid;gap:2px}
.v83CartBar strong{font-size:10px}
.v83CartBar small{font-size:8px;opacity:.76}
.v83CartBar button{
  min-height:40px;
  border:0;
  border-radius:10px;
  padding:8px 13px;
  background:#12E88A;
  color:#102018;
  font-size:9px;
  font-weight:1000;
}

/* Detalle producto */
.v83DetailShade{
  position:fixed;
  inset:0;
  z-index:70;
  background:rgba(7,11,8,.72);
  display:grid;
  place-items:center;
  padding:12px;
}
.v83Detail{
  width:min(760px,100%);
  max-height:calc(100dvh - 24px);
  overflow:auto;
  border-radius:18px;
  background:#fff;
  box-shadow:0 24px 60px rgba(0,0,0,.30);
}
.v83DetailHead{
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  background:#fff;
  border-bottom:1px solid #e3e8e4;
}
.v83DetailHead strong{font-size:12px}
.v83DetailHead button{
  width:36px;height:36px;border-radius:10px;border:1px solid #d9e0db;background:#fff;font-weight:1000
}
.v83DetailBody{
  display:grid;
  grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);
  gap:14px;
  padding:14px;
}
.v83DetailMedia{
  min-height:320px;
  border-radius:15px;
  border:1px solid #e0e5e1;
  background:#f6f8f6;
  overflow:hidden;
  display:grid;
  place-items:center;
  position:relative;
}
.v83DetailMedia img{width:100%;height:100%;max-height:390px;object-fit:contain;padding:18px}
.v83DetailInfo{min-width:0;display:grid;align-content:start;gap:10px}
.v83DetailBrand{font-size:8px;color:#78847d;font-weight:900;text-transform:uppercase}
.v83DetailInfo h2{margin:0;font-size:24px;line-height:1.05}
.v83DetailInfo>p{margin:0;color:#66736b;font-size:10px;line-height:1.5}
.v83DetailPrice{font-size:25px;font-weight:1000;color:#0b7139}
.v83VariantGroup{display:grid;gap:5px}
.v83VariantGroup label{font-size:8px;font-weight:900;color:#56645b}
.v83VariantButtons{display:flex;flex-wrap:wrap;gap:6px}
.v83VariantButtons button{
  min-height:34px;
  border:1px solid #d5ddd7;
  border-radius:9px;
  background:#fff;
  padding:6px 9px;
  color:#344139;
  font-size:8px;
  font-weight:900;
}
.v83VariantButtons button.active{
  background:#18271f;
  border-color:#18271f;
  color:#fff;
}
.v83DetailStock{
  font-size:8px;
  color:#68756d;
  font-weight:800;
}
.v83DetailAdd{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:7px;
  align-items:center;
}
.v83DetailQty{
  min-width:72px;
  min-height:44px;
  border:1px solid #d8dfda;
  border-radius:10px;
  display:grid;
  place-items:center;
  font-size:10px;
  font-weight:1000;
}
.v83DetailAdd button{
  min-height:44px;
  border:0;
  border-radius:10px;
  background:#0b7139;
  color:#fff;
  font-size:10px;
  font-weight:1000;
}
.v83DetailAdd button:disabled{opacity:.45}

/* Drawer conserva lógica existente, pero con apariencia de tienda */
.v83Store .v43Drawer{z-index:80}
.v83Store .v43Panel{
  background:#fff;
  color:#202824;
}

/* Hero: más comercial */
.v83Store .v46HeroSlide{
  min-height:230px;
}
.v83Store .v46HeroVisual{
  min-height:210px;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
}
.v83Store .v46HeroCopy{
  padding:22px!important;
}
.v83Store .v46HeroTitle{
  font-size:28px!important;
  line-height:1!important;
}
.v83Store .v46HeroAdd{
  min-height:40px!important;
}

/* En móvil: exactamente 2 productos por fila */
@media(max-width:700px){
  .v83Top{padding:8px}
  .v83Brand strong{font-size:15px}
  .v83TopActions button{min-height:36px;padding:6px 8px;font-size:8px}
  .v83SearchRow{grid-template-columns:1fr}
  .v83Sort{width:100%}
  .v83Hero{padding:8px 8px 0}
  .v83CategoryStrip{padding:9px 8px 6px}
  .v83Main{padding:6px 8px 20px}
  .v83Grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px;
  }
  .v83ProductCard,.v83PromoCard{border-radius:12px}
  .v83ProductMedia img,.v83PromoMedia img{padding:7px}
  .v83MediaFallback span{font-size:34px}
  .v83CardBody{padding:7px 7px 5px}
  .v83CardBody strong{font-size:9.5px}
  .v83CardBody small{font-size:7px;min-height:18px}
  .v83CardBrand{font-size:6.5px}
  .v83PriceRow strong{font-size:13px}
  .v83CardAction{padding:0 7px 7px}
  .v83CardAction button{min-height:36px;font-size:8px}
  .v83SectionHead strong{font-size:15px}
  .v83CartBar{bottom:8px;width:calc(100% - 16px)}
  .v83DetailShade{padding:6px}
  .v83Detail{max-height:calc(100dvh - 12px);border-radius:14px}
  .v83DetailBody{grid-template-columns:1fr;padding:10px}
  .v83DetailMedia{min-height:240px;max-height:300px}
  .v83DetailInfo h2{font-size:21px}
  .v83DetailPrice{font-size:22px}
  .v83Store .v46HeroSlide{
    min-height:190px;
  }
  .v83Store .v46HeroVisual{
    min-height:170px;
  }
  .v83Store .v46HeroCopy{
    padding:15px!important;
  }
  .v83Store .v46HeroTitle{
    font-size:21px!important;
  }
  .v83CatalogPhotoBox{
    grid-template-columns:110px minmax(0,1fr);
    gap:8px;
    padding:9px;
  }
  .v83CatalogPhotoPreview{
    width:110px;
  }
}
@media(max-width:390px){
  .v83CatalogPhotoBox{grid-template-columns:1fr}
  .v83CatalogPhotoPreview{width:100%;max-width:180px;justify-self:center}
}


/* V83 QA fix · miniatura Catálogo sin romper columnas */
.catalogV35ProductToggle{
  grid-template-columns:18px 34px minmax(0,1fr) auto auto!important;
}
@media(max-width:700px){
  .catalogV35ProductToggle{
    grid-template-columns:18px 34px minmax(0,1fr)!important;
  }
  .catalogV35ProductToggle>span:nth-last-child(-n+2){
    display:none!important;
  }
}



#deliveryDemoOverlayV43{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-y:contain;
  touch-action:pan-y;
}
#deliveryDemoOverlayV43 .v83Store{
  height:auto!important;
  min-height:100dvh!important;
  overflow:visible!important;
  display:block!important;
}
.v83Main{
  overflow:visible!important;
}
.v83Grid{
  overflow:visible!important;
}
.v84SearchActive .v83Hero{
  /* deja más espacio para resultados cuando se está buscando */
  display:none!important;
}
#v84ProductGrid{
  min-height:120px;
}
#v84PagerHost:empty{
  display:none;
}
@media(max-width:700px){
  #deliveryDemoOverlayV43{
    height:100dvh!important;
    overflow-y:auto!important;
  }
  #deliveryDemoOverlayV43 .v83Store{
    min-height:100dvh!important;
    padding-bottom:96px!important;
  }
}



.v83ProductMedia,
.v83PromoMedia{
  background:#fff!important;
}
.v83ProductMedia img,
.v83PromoMedia img{
  object-fit:contain!important;
  mix-blend-mode:multiply;
}
.v83DetailMedia{
  background:#fff!important;
}
.v83DetailMedia img{
  object-fit:contain!important;
}



.v83ProductMedia img,
.v83PromoMedia img,
.v83DetailMedia img{
  transition:opacity .18s ease;
}
.v83ProductMedia:has(img),
.v83PromoMedia:has(img){
  background:#fff!important;
}



.v83ProductMedia,
.v83PromoMedia,
.v83DetailMedia{
  background:#fff!important;
}

.v83ProductMedia .v87ProductImage,
.v83PromoMedia .v87ProductImage,
.v83DetailMedia .v87ProductImage{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  padding:12px!important;
  opacity:1!important;
  background:#fff!important;
  mix-blend-mode:normal!important;
}

.v83ProductMedia .v87ImageFallback,
.v83PromoMedia .v87ImageFallback,
.v83DetailMedia .v87ImageFallback{
  z-index:1!important;
}

@media(max-width:700px){
  .v83ProductMedia .v87ProductImage,
  .v83PromoMedia .v87ProductImage{
    padding:9px!important;
  }
}



.v87ImageFallback{
  background:linear-gradient(145deg,#f8faf8,#eef2ef)!important;
}
.v87ImageFallback small{
  color:#7a867f!important;
}



.v89CategoryModal{
  width:min(560px,100%)!important;
}
.v89CategoryBody{
  padding:14px;
  display:grid;
  gap:12px;
}
.v89IconEditor{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:8px;
  align-items:center;
}
.v89IconInput{
  text-align:center;
  font-size:22px!important;
  font-weight:900;
}
.v89IconChoices{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.v89IconChoices button{
  width:34px;
  height:34px;
  border:1px solid #d8e2dc;
  background:#fff;
  border-radius:9px;
  font-size:17px;
  cursor:pointer;
}
.v89IconChoices button:hover{
  border-color:#0b7139;
  background:#f2faf5;
}
.v89CategorySwitches{
  display:grid;
  gap:7px;
}
.v89CategorySwitch{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:9px;
  padding:10px;
  border:1px solid #dfe7e2;
  background:#fafcfb;
  border-radius:11px;
}
.v89CategorySwitch input{
  width:18px;
  height:18px;
  margin-top:1px;
  accent-color:#0b7139;
}
.v89CategorySwitch span{
  display:grid;
  gap:2px;
}
.v89CategorySwitch strong{
  font-size:9px;
}
.v89CategorySwitch small{
  color:#748078;
  font-size:7.5px;
  line-height:1.35;
}
.v89CategoryNote{
  padding:9px 10px;
  border-radius:9px;
  background:#f3f8f4;
  border:1px solid #d9e8dd;
  color:#53655a;
  font-size:7.5px;
  line-height:1.45;
}
.catalogV35CategoryToggle{
  grid-template-columns:20px 28px minmax(0,1fr) auto!important;
}
.v89CategoryIcon{
  width:28px;
  height:28px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:#f4f8f5;
  border:1px solid #dde6e0;
  font-size:15px!important;
}
.v89CategoryLabel{
  min-width:0;
  display:grid;
  gap:1px;
}
.v89CategoryMeta{
  display:flex;
  gap:5px;
  align-items:center;
  flex-wrap:wrap;
}
.v89CategoryState{
  display:inline-flex;
  align-items:center;
  min-height:17px;
  padding:2px 6px;
  border-radius:999px;
  font-size:6.5px!important;
  font-weight:900;
  background:#edf6f0;
  color:#356044;
}
.v89CategoryState.off{
  background:#fff0f0;
  color:#a43a3a;
}
.v89CategoryState.deliveryOff{
  background:#fff6e6;
  color:#8a641f;
}
.catalogV35CategoryActions .v89EditCategory{
  border-color:#bfd3c5;
  color:#28563a;
  background:#f4faf6;
}
.catalogV35Category.v89Inactive{
  opacity:.78;
}
@media(max-width:760px){
  .v89IconEditor{grid-template-columns:58px minmax(0,1fr)}
  .catalogV35CategoryToggle{
    grid-template-columns:18px 26px minmax(0,1fr)!important;
  }
  .catalogV35CategoryToggle>small{
    grid-column:3;
  }
  .v89CategoryIcon{
    width:26px;height:26px;font-size:14px!important;
  }
  .catalogV35CategoryActions{
    flex-wrap:wrap;
    justify-content:flex-end;
  }
}



.catalogV90CategoryBody{
  padding:8px;
  display:grid;
  gap:7px;
  background:#f7faf8;
  border-top:1px solid #e1e8e3;
}
.catalogV90Product{
  display:grid;
  grid-template-columns:58px minmax(0,1.2fr) 100px 88px 74px auto;
  gap:9px;
  align-items:center;
  padding:8px;
  border:1px solid #dfe7e2;
  border-radius:10px;
  background:#fff;
  min-width:0;
}
.catalogV90Photo{
  width:58px;
  height:58px;
  border:1px solid #dce5df;
  border-radius:9px;
  background:#fff;
  overflow:hidden;
  display:grid;
  place-items:center;
}
.catalogV90Photo img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  padding:4px;
}
.catalogV90Photo span{font-size:24px}
.catalogV90Info{
  min-width:0;
  display:grid;
  gap:2px;
}
.catalogV90Info strong{
  font-size:9.5px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.catalogV90Info small{
  font-size:7px;
  color:#748078;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.catalogV90Cell{
  min-width:0;
  display:grid;
  gap:2px;
}
.catalogV90Cell small{
  font-size:6.5px;
  color:#7b867f;
  text-transform:uppercase;
  font-weight:900;
}
.catalogV90Cell strong{
  font-size:8.5px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.catalogV90State{
  justify-self:start;
  border-radius:999px;
  padding:4px 7px;
  background:#edf7f0;
  color:#2f6642;
  font-size:6.5px;
  font-weight:1000;
}
.catalogV90State.off{
  background:#fff0f0;
  color:#a03c3c;
}
.catalogV90Actions{
  display:flex;
  gap:4px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.catalogV90Actions .btn{
  min-height:30px;
  padding:4px 8px;
  font-size:7px;
}
.catalogV90Actions .edit{
  background:#0b7139;
  color:#fff;
  border-color:#0b7139;
}
.catalogV90Family{
  border:1px solid #dbe5de;
  border-radius:11px;
  overflow:hidden;
  background:#fff;
}
.catalogV90FamilyHead{
  display:grid;
  grid-template-columns:50px minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  padding:7px 8px;
  background:#f7faf8;
  border-bottom:1px solid #e4ebe6;
}
.catalogV90FamilyHead .catalogV90Photo{
  width:50px;
  height:50px;
}
.catalogV90FamilyHead>div{
  min-width:0;
  display:grid;
  gap:2px;
}
.catalogV90FamilyHead strong{
  font-size:9.5px;
}
.catalogV90FamilyHead small{
  font-size:7px;
  color:#748078;
}
.catalogV90VariantList{
  display:grid;
}
.catalogV90Variant{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) 100px 88px 74px auto;
  gap:8px;
  align-items:center;
  padding:7px 8px 7px 66px;
  border-top:1px solid #edf1ee;
}
.catalogV90Variant:first-child{border-top:0}
.catalogV90VariantName{
  min-width:0;
  display:grid;
  gap:2px;
}
.catalogV90VariantName strong{
  font-size:8.5px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.catalogV90VariantName small{
  font-size:6.8px;
  color:#748078;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.catalogV90Empty{
  border:1px dashed #cdd8d1;
  border-radius:9px;
  padding:13px;
  text-align:center;
  background:#fff;
  color:#6e7b72;
  font-size:8px;
}
.catalogV90CategoryActions{
  display:flex;
  gap:4px;
}
.catalogV90CategoryActions .btn{
  min-height:29px;
  padding:4px 8px;
  font-size:7.5px;
}
.catalogV90CategoryActions .config{
  background:#f4faf6;
  color:#28563a;
  border-color:#bfd3c5;
}
@media(max-width:900px){
  .catalogV90Product{
    grid-template-columns:50px minmax(0,1fr) 78px 68px auto;
  }
  .catalogV90Product>.catalogV90Cell.stockCell{display:none}
  .catalogV90Variant{
    grid-template-columns:minmax(0,1fr) 78px 68px auto;
    padding-left:8px;
  }
  .catalogV90Variant>.stockCell{display:none}
}
@media(max-width:700px){
  .catalogV90Product{
    grid-template-columns:48px minmax(0,1fr) auto;
    gap:7px;
  }
  .catalogV90Photo{
    width:48px;height:48px;
  }
  .catalogV90Product>.catalogV90Cell{
    display:none;
  }
  .catalogV90Actions{
    grid-column:2/4;
    justify-content:flex-start;
  }
  .catalogV90FamilyHead{
    grid-template-columns:46px minmax(0,1fr);
  }
  .catalogV90FamilyHead .catalogV90Photo{
    width:46px;height:46px;
  }
  .catalogV90FamilyHead>small{
    grid-column:2;
  }
  .catalogV90Variant{
    grid-template-columns:minmax(0,1fr) auto;
    padding:7px 8px;
  }
  .catalogV90Variant>.catalogV90Cell{
    display:none;
  }
  .catalogV90Variant .catalogV90Actions{
    grid-column:auto;
  }
  .catalogV90CategoryActions{
    flex-wrap:wrap;
    justify-content:flex-end;
  }
}



#view-catalog #categoryFlowList.catalogV35Categories{
  grid-auto-rows:max-content!important;
  align-content:start!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
}
#view-catalog .catalogV35Category{
  height:auto!important;
  min-height:max-content!important;
}
#view-catalog .catalogV35Category.openV91{
  overflow:visible!important;
}
#view-catalog .catalogV90CategoryBody{
  position:relative!important;
  height:auto!important;
  min-height:max-content!important;
  overflow:visible!important;
}
#view-catalog .catalogV90Product,
#view-catalog .catalogV90Family{
  flex:none!important;
}
@media(max-width:760px){
  #view-catalog #categoryFlowList.catalogV35Categories{
    overflow:visible!important;
    grid-auto-rows:max-content!important;
  }
  #view-catalog .catalogV35Category{
    min-height:max-content!important;
  }
}



.v92OptionBuilder{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #dfe7e2;
  display:grid;
  gap:10px;
}
.v92OptionBuilderHead{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}
.v92OptionBuilderHead>div{
  display:grid;
  gap:2px;
}
.v92OptionBuilderHead strong{
  font-size:11px;
}
.v92OptionBuilderHead small{
  font-size:7.5px;
  color:#748078;
  line-height:1.4;
}
.v92OptionGroupRows{
  display:grid;
  gap:7px;
}
.v92OptionGroupRow{
  display:grid;
  grid-template-columns:34px minmax(130px,.7fr) minmax(220px,1.4fr) 92px 34px 34px;
  gap:6px;
  align-items:center;
  padding:7px;
  border:1px solid #dfe7e2;
  border-radius:10px;
  background:#fbfcfb;
}
.v92OptionOrder{
  width:28px;
  height:28px;
  border-radius:8px;
  background:#e9f5ed;
  color:#0b7139;
  display:grid;
  place-items:center;
  font-size:9px;
  font-weight:1000;
}
.v92OptionGroupRow select{
  min-height:38px;
  font-size:8px;
}
.v92OptionGroupRow .miniBtn{
  width:32px;
  height:32px;
  border:1px solid #d9e3dc;
  border-radius:8px;
  background:#fff;
  font-weight:1000;
}
.v92OptionGroupRow .miniBtn:disabled{
  opacity:.35;
}
.v92TreePreview{
  border:1px solid #d9e6dd;
  border-radius:11px;
  background:#f5faf7;
  padding:9px;
  display:grid;
  gap:8px;
}
.v92TreePreviewHead{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
}
.v92TreePreviewHead strong{font-size:9px}
.v92TreePreviewHead span{font-size:7px;color:#748078;font-weight:800}
.v92TreePreviewBody{
  display:flex;
  gap:6px;
  align-items:center;
  overflow-x:auto;
  scrollbar-width:none;
}
.v92TreePreviewBody::-webkit-scrollbar{display:none}
.v92TreeNode{
  flex:0 0 auto;
  min-width:110px;
  padding:7px;
  border-radius:9px;
  border:1px solid #d7e4db;
  background:#fff;
  display:grid;
  gap:3px;
}
.v92TreeNode small{
  font-size:6.5px;
  color:#7a867f;
  text-transform:uppercase;
  font-weight:900;
}
.v92TreeNode strong{
  font-size:8px;
}
.v92TreeNode span{
  font-size:6.8px;
  color:#65746a;
}
.v92TreeArrow{
  color:#0b7139;
  font-size:16px;
  font-weight:1000;
}
.v92FlowBadge{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:3px 7px;
  border-radius:999px;
  background:#eef7f1;
  color:#2f6743;
  font-size:7px;
  font-weight:900;
}
.v92FlowBadge.optional{
  background:#fff6e7;
  color:#8a641f;
}

/* Delivery guided flow */
.v92FlowBlock{
  display:grid;
  gap:8px;
  padding:9px;
  border:1px solid #dce7df;
  border-radius:11px;
  background:#f8fbf9;
}
.v92FlowStep{
  display:grid;
  gap:5px;
}
.v92FlowStepHead{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
}
.v92FlowStepHead label{
  font-size:8px;
  font-weight:1000;
  color:#46564c;
}
.v92FlowStepHead span{
  font-size:6.5px;
  color:#758078;
  font-weight:800;
}
.v92FlowChoices{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.v92FlowChoices button{
  min-height:34px;
  border:1px solid #d5dfd8;
  border-radius:9px;
  background:#fff;
  padding:6px 9px;
  color:#344139;
  font-size:8px;
  font-weight:900;
}
.v92FlowChoices button.active{
  background:#18271f;
  color:#fff;
  border-color:#18271f;
}
.v92FlowChoices button.skip{
  border-style:dashed;
  color:#748078;
}
.v92FlowReady{
  padding:8px 9px;
  border-radius:9px;
  background:#edf8f1;
  color:#2e6541;
  font-size:8px;
  font-weight:900;
}

/* Cart configured lines */
.v92CartOptionText{
  display:block;
  margin-top:2px;
  font-size:7px;
  color:#718078;
  line-height:1.35;
}
.v92ConfiguredTag{
  display:inline-flex;
  margin-top:3px;
  padding:2px 6px;
  border-radius:999px;
  background:#eef6f0;
  color:#336247;
  font-size:6.5px;
  font-weight:900;
}

@media(max-width:760px){
  .v92OptionBuilderHead{
    grid-template-columns:1fr;
  }
  .v92OptionGroupRow{
    grid-template-columns:30px minmax(0,1fr) 64px 30px 30px;
  }
  .v92OptionGroupRow .values{
    grid-column:2/6;
  }
  .v92OptionGroupRow .required{
    grid-column:3;
  }
}


/* V92 hardening · orden físico y columnas del constructor */
.catalogAttributeRow.v92PhysicalLevel{
  grid-template-columns:34px minmax(135px,.72fr) minmax(240px,1.45fr) 32px 32px 32px!important;
}
.catalogAttributeRow.v92PhysicalLevel::before{display:none!important}
.catalogAttributeRow.v92PhysicalLevel>button{
  width:32px;
  height:32px;
  border:1px solid #d9e3dc;
  border-radius:8px;
  background:#fff;
  font-weight:1000;
}
.catalogAttributeRow.v92PhysicalLevel>button:disabled{opacity:.35}
.v92OptionGroupRow{
  grid-template-columns:34px minmax(130px,.7fr) minmax(220px,1.4fr) 92px 34px 34px 34px!important;
}
@media(max-width:760px){
  .catalogAttributeRow.v92PhysicalLevel{
    grid-template-columns:30px minmax(0,1fr) 30px 30px 30px!important;
  }
  .catalogAttributeRow.v92PhysicalLevel>input:nth-of-type(2){
    grid-column:2/6;
  }
  .v92OptionGroupRow{
    grid-template-columns:30px minmax(0,1fr) 72px 30px 30px 30px!important;
  }
  .v92OptionGroupRow .values{
    grid-column:2/7!important;
  }
}




/* La lista vuelve a ser solo lista. Nunca incrusta el árbol. */
.sale69Rows{
  grid-template-rows:repeat(5,minmax(0,1fr))!important;
  overflow:hidden!important;
}
.sale69Row{
  overflow:hidden!important;
}
.sale69Customizer{
  display:none!important;
}

/* Modal Caja */
.cashier93Box{
  width:min(820px,calc(100% - 24px))!important;
  max-height:calc(100dvh - 30px);
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto;
  overflow:hidden!important;
}
.cashier93Head{
  flex:0 0 auto;
}
.cashier93Body{
  min-height:0;
  padding:12px;
  overflow-y:auto;
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:12px;
}
.cashier93Summary{
  align-self:start;
  position:sticky;
  top:0;
  border:1px solid #dce5df;
  border-radius:13px;
  background:#f7faf8;
  padding:12px;
  display:grid;
  gap:8px;
}
.cashier93Summary .kicker{
  font-size:7px;
  color:#7b877f;
  text-transform:uppercase;
  font-weight:900;
}
.cashier93Summary h3{
  margin:0;
  font-size:19px;
  line-height:1.05;
}
.cashier93Summary .meta{
  font-size:8px;
  color:#6f7c74;
  line-height:1.45;
}
.cashier93Summary .price{
  font-size:24px;
  font-weight:1000;
  color:#0b7139;
}
.cashier93Summary .stock{
  display:inline-flex;
  width:max-content;
  padding:4px 7px;
  border-radius:999px;
  background:#eaf6ed;
  color:#316847;
  font-size:7px;
  font-weight:900;
}
.cashier93Summary .stock.off{
  background:#fff0f0;
  color:#a33e3e;
}
.cashier93Flow{
  min-width:0;
  display:grid;
  align-content:start;
  gap:10px;
}
.cashier93Step{
  border:1px solid #dfe7e2;
  border-radius:12px;
  background:#fff;
  padding:10px;
  display:grid;
  gap:8px;
}
.cashier93Step.locked{
  opacity:.48;
}
.cashier93StepHead{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
}
.cashier93StepHead strong{
  font-size:10px;
}
.cashier93StepHead span{
  font-size:7px;
  color:#748078;
  font-weight:800;
}
.cashier93Choices{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.cashier93Choices button{
  min-height:38px;
  border:1px solid #cfd9d2;
  border-radius:9px;
  background:#fff;
  color:#334139;
  padding:7px 11px;
  font-size:8.5px;
  font-weight:900;
}
.cashier93Choices button.active{
  background:#18271f;
  border-color:#18271f;
  color:#fff;
}
.cashier93Choices button.skip{
  border-style:dashed;
  color:#6f7d74;
}
.cashier93SkuCard{
  border:1px solid #a9d5b6;
  border-radius:12px;
  background:#f1faf4;
  padding:10px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
}
.cashier93SkuCard>div{
  min-width:0;
  display:grid;
  gap:2px;
}
.cashier93SkuCard strong{
  font-size:11px;
}
.cashier93SkuCard small{
  font-size:7.5px;
  color:#68756d;
}
.cashier93SkuCard .price{
  font-size:16px;
  font-weight:1000;
  color:#0b7139;
}
.cashier93Foot{
  padding:10px 12px;
  border-top:1px solid #e2e8e4;
  background:#fff;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
}
.cashier93Selected{
  min-width:0;
  font-size:8px;
  color:#627168;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.cashier93Foot .primary{
  min-width:160px;
}
.cashier93Foot .primary:disabled{
  opacity:.4;
  cursor:not-allowed;
}

/* Caja: filas compactas y legibles */
.sale69ProductInfo small{
  max-width:100%;
}
.sale69ConfigChip{
  background:#f4f8f5;
}
.sale69Row .sale69Add{
  white-space:nowrap;
}

/* Carrito configurado */
.cartRow.configured93{
  background:#f8fbf9;
}
.cashier93CartOptions{
  display:block;
  margin-top:2px;
  color:#6e7b72;
  font-size:7px;
  line-height:1.3;
}
.cashier93CartTag{
  display:inline-flex;
  margin-top:3px;
  padding:2px 5px;
  border-radius:999px;
  background:#eaf5ed;
  color:#336347;
  font-size:6px;
  font-weight:900;
}

@media(max-width:700px){
  .cashier93Box{
    width:100%!important;
    max-width:none!important;
    height:100dvh!important;
    max-height:100dvh!important;
    border-radius:0!important;
  }
  .cashier93Body{
    grid-template-columns:1fr;
    padding:9px;
  }
  .cashier93Summary{
    position:static;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
  }
  .cashier93Summary .price{
    grid-column:2;
    grid-row:1/4;
  }
  .cashier93Foot{
    grid-template-columns:1fr 1fr;
  }
  .cashier93Selected{
    grid-column:1/-1;
    grid-row:1;
  }
  .cashier93Foot .primary{
    min-width:0;
  }
}

/* V93 channel selector en constructor de opciones */
.v92OptionGroupRow{
  grid-template-columns:34px minmax(120px,.65fr) minmax(210px,1.25fr) 92px 116px 34px 34px 34px!important;
}
.v92OptionGroupRow .channel{
  min-height:38px;
  font-size:8px;
}
@media(max-width:760px){
  .v92OptionGroupRow{
    grid-template-columns:30px minmax(0,1fr) 72px 30px 30px 30px!important;
  }
  .v92OptionGroupRow .values{
    grid-column:2/7!important;
  }
  .v92OptionGroupRow .channel{
    grid-column:2/4!important;
  }
  .v92OptionGroupRow .required{
    grid-column:4/7!important;
  }
}



.catalog94Modal{
  width:min(1180px,calc(100% - 20px))!important;
  height:min(94dvh,940px)!important;
  max-height:94dvh!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  overflow:hidden!important;
}
.catalog94Head{flex:0 0 auto}
.catalog94Body{
  min-height:0;
  overflow-y:auto;
  padding:12px;
  display:grid;
  gap:12px;
  background:#f6f8f6;
}
.catalog94Section{
  border:1px solid #dce5df;
  border-radius:13px;
  background:#fff;
  padding:12px;
  display:grid;
  gap:10px;
}
.catalog94SectionHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.catalog94SectionHead>div{
  min-width:0;
  display:flex;
  gap:8px;
  align-items:center;
}
.catalog94SectionHead>div>div{
  min-width:0;
  display:grid;
  gap:2px;
}
.catalog94SectionHead strong{font-size:11px}
.catalog94SectionHead small{font-size:7.5px;color:#748078;line-height:1.4}
.catalog94Step{
  width:28px;height:28px;border-radius:9px;
  display:grid;place-items:center;
  background:#0b7139;color:#fff;
  font-size:9px;font-weight:1000;
  flex:0 0 28px;
}
.catalog94GeneralGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.catalog94Photo{grid-column:1/-1}
.catalog94Visibility{
  display:flex!important;
  align-items:center;
  gap:14px!important;
  flex-wrap:wrap;
}
.catalog94Visibility>strong{margin-right:4px}
.catalog94Levels,
.catalog94Options{
  display:grid;
  gap:7px;
}
.catalog94LevelRow{
  display:grid;
  grid-template-columns:32px minmax(140px,.7fr) minmax(260px,1.4fr) 34px 34px 34px;
  gap:6px;
  align-items:center;
  padding:7px;
  border:1px solid #dfe7e2;
  background:#fafcfb;
  border-radius:10px;
}
.catalog94Order{
  width:28px;height:28px;border-radius:8px;
  display:grid;place-items:center;
  background:#e9f5ed;color:#0b7139;
  font-size:8px;font-weight:1000;
}
.catalog94Mini{
  width:32px;height:32px;border:1px solid #d7e1da;
  border-radius:8px;background:#fff;font-weight:1000;
}
.catalog94Mini:disabled{opacity:.35}
.catalog94VariantToolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding-top:4px;
}
.catalog94VariantToolbar>div{display:grid;gap:2px}
.catalog94VariantToolbar strong{font-size:9px}
.catalog94VariantToolbar small{font-size:7px;color:#748078}
.catalog94VariantTableWrap{
  overflow-x:auto;
  border:1px solid #dfe7e2;
  border-radius:10px;
}
.catalog94VariantHead,
.catalog94VariantRow{
  min-width:1040px;
  display:grid;
  grid-template-columns:160px minmax(190px,1fr) 140px 86px 86px 70px 78px 90px 145px;
  gap:7px;
  align-items:center;
}
.catalog94VariantHead{
  padding:7px 8px;
  background:#f2f6f3;
  color:#647168;
  font-size:6.5px;
  font-weight:1000;
  text-transform:uppercase;
  border-bottom:1px solid #dfe7e2;
}
.catalog94VariantRow{
  padding:7px 8px;
  background:#fff;
  border-top:1px solid #edf1ee;
}
.catalog94VariantRow:first-child{border-top:0}
.catalog94VariantRow.orphan{
  background:#fff8ed;
}
.catalog94VariantLabel{
  min-width:0;display:grid;gap:2px;
}
.catalog94VariantLabel strong{
  font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.catalog94VariantLabel small{
  font-size:6.5px;color:#758078;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.catalog94VariantRow .input{
  min-width:0;
  height:34px;
  font-size:8px;
}
.catalog94StockRead{
  display:grid;gap:2px;
}
.catalog94StockRead strong{font-size:9px}
.catalog94StockRead small{font-size:6px;color:#748078}
.catalog94StateBtn{
  min-height:31px;border:1px solid #b9dac4;border-radius:8px;
  background:#eef8f1;color:#2f6843;font-size:7px;font-weight:900;
}
.catalog94StateBtn.off{
  border-color:#e3bcbc;background:#fff1f1;color:#a03939;
}
.catalog94VariantActions{
  display:flex;gap:4px;justify-content:flex-end;
}
.catalog94VariantActions .btn{
  min-height:31px;padding:4px 7px;font-size:6.8px;
}
.catalog94Empty{
  padding:13px;border:1px dashed #ccd8d0;border-radius:9px;
  color:#6d7b72;text-align:center;font-size:8px;background:#fafcfb;
}
.catalog94OptionRow{
  display:grid;
  grid-template-columns:32px minmax(130px,.7fr) minmax(220px,1.25fr) 100px 120px 34px 34px 34px;
  gap:6px;align-items:center;
  padding:7px;border:1px solid #dfe7e2;border-radius:10px;background:#fafcfb;
}
.catalog94OptionRow select{min-height:36px;font-size:7.5px}
.catalog94StockBox{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:10px;align-items:center;
  padding:10px;border-radius:11px;background:#f6faf7;border:1px solid #dce8df;
}
.catalog94StockBox>div{display:grid;gap:2px}
.catalog94StockBox small{font-size:7px;color:#748078}
.catalog94StockBox strong{font-size:12px}
.catalog94Foot{flex-wrap:wrap}

@media(max-width:850px){
  .catalog94Modal{
    width:100%!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;
  }
  .catalog94GeneralGrid{grid-template-columns:1fr 1fr}
  .catalog94LevelRow{
    grid-template-columns:30px minmax(0,1fr) 30px 30px 30px;
  }
  .catalog94LevelRow .values{grid-column:2/6}
  .catalog94OptionRow{
    grid-template-columns:30px minmax(0,1fr) 72px 30px 30px 30px;
  }
  .catalog94OptionRow .values{grid-column:2/7}
  .catalog94OptionRow .channel{grid-column:2/4}
  .catalog94OptionRow .required{grid-column:4/7}
  .catalog94StockBox{grid-template-columns:1fr 1fr}
  .catalog94StockBox button{grid-column:1/-1}
}
@media(max-width:520px){
  .catalog94GeneralGrid{grid-template-columns:1fr}
  .catalog94Section{padding:9px}
  .catalog94SectionHead{align-items:flex-start}
  .catalog94SectionHead>div{align-items:flex-start}
}



.delivery95AssignStatus{
  margin-top:8px;
  padding:8px 10px;
  border-radius:9px;
  border:1px solid #dce5df;
  background:#f7faf8;
  color:#56675c;
  font-size:7.5px;
  line-height:1.4;
}
.delivery95AssignStatus.ok{
  display:block!important;
  background:#edf8f1;
  border-color:#bcdcc7;
  color:#2e6541;
}
.delivery95AssignStatus.error{
  display:block!important;
  background:#fff2f2;
  border-color:#ebc1c1;
  color:#9f3434;
}
.delivery95AssignStatus.busy{
  display:block!important;
  background:#fff9ea;
  border-color:#ead59c;
  color:#7b5a12;
}
.delivery76Primary:disabled{
  opacity:.55;
  cursor:not-allowed;
}



.motorized96GpsHelp{
  margin-top:8px;
  padding:10px;
  border-radius:10px;
  border:1px solid #e4cf99;
  background:#fff9e9;
  color:#685017;
  font-size:11px;
  line-height:1.45;
}
.motorized96GpsHelp.error{
  display:block!important;
  border-color:#e8bcbc;
  background:#fff2f2;
  color:#8e3030;
}
.motorized96GpsHelp.info{
  display:block!important;
  border-color:#bfd8c7;
  background:#f1f8f3;
  color:#315f41;
}
.motorized96GpsHelp strong{
  display:block;
  margin-bottom:5px;
  font-size:12px;
}
.motorized96GpsHelp ol{
  margin:6px 0 0 18px;
  padding:0;
}
.motorized96GpsHelp li{
  margin:3px 0;
}
.motorized96GpsHelp button{
  margin-top:8px;
  width:100%;
  min-height:42px;
  border:0;
  border-radius:9px;
  background:#0b7139;
  color:#fff;
  font-weight:900;
}



.motorized74Primary,
.motorized74Danger,
.motorized97RouteBtn{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
  -webkit-user-select:none;
}
.motorized97RouteBtn{
  min-height:54px!important;
  font-size:16px!important;
}



.motorized98CompletedShell{
  min-height:min(620px,100dvh);
}
.motorized98DoneState{
  background:#e9f7ed!important;
  color:#24633b!important;
}
.motorized98CompletedBody{
  min-height:420px;
  padding:34px 22px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.motorized98DoneIcon{
  width:78px;
  height:78px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#0b7139;
  color:#fff;
  font-size:38px;
  font-weight:1000;
  box-shadow:0 14px 34px rgba(11,113,57,.18);
  margin-bottom:20px;
}
.motorized98DoneKicker{
  font-size:11px;
  font-weight:1000;
  letter-spacing:.08em;
  color:#548064;
}
.motorized98CompletedBody h2{
  margin:8px 0 4px;
  font-size:27px;
  line-height:1.1;
  color:#243128;
}
.motorized98CompletedBody p{
  margin:0 0 15px;
  font-size:19px;
  line-height:1.35;
  color:#44564a;
  font-weight:700;
}
.motorized98CompletedBody small{
  max-width:360px;
  font-size:12px;
  line-height:1.5;
  color:#768078;
}
.motorized98CompletedFoot{
  text-align:center;
}
@media(max-width:600px){
  .motorized98CompletedBody{
    min-height:calc(100dvh - 150px);
    padding:28px 18px;
  }
  .motorized98CompletedBody h2{font-size:25px}
  .motorized98CompletedBody p{font-size:18px}
}



#deliveryDemoOverlayV43,
#v49Checkout{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
#deliveryDemoOverlayV43 button,
#deliveryDemoOverlayV43 input,
#deliveryDemoOverlayV43 select,
#deliveryDemoOverlayV43 textarea,
#v49Checkout button,
#v49Checkout input,
#v49Checkout select,
#v49Checkout textarea{
  font-family:inherit!important;
}

/* ---------- Encabezado / búsqueda ---------- */
#deliveryDemoOverlayV43 .v83Top{padding:14px 16px 12px!important;gap:12px!important}
#deliveryDemoOverlayV43 .v83Brand strong{font-size:24px!important;line-height:1.08!important}
#deliveryDemoOverlayV43 .v83Brand small{font-size:13px!important;line-height:1.35!important;color:#5f6d64!important}
#deliveryDemoOverlayV43 .v83TopActions button{
  min-height:48px!important;padding:9px 14px!important;font-size:14px!important;border-radius:12px!important
}
#deliveryDemoOverlayV43 .v83SearchRow{gap:10px!important}
#deliveryDemoOverlayV43 .v83Search{min-height:54px!important;border-radius:14px!important;padding:0 14px!important;gap:10px!important}
#deliveryDemoOverlayV43 .v83Search span{font-size:20px!important}
#deliveryDemoOverlayV43 .v83Search input{font-size:16px!important;line-height:1.25!important}
#deliveryDemoOverlayV43 .v83Sort{min-height:54px!important;font-size:14px!important;padding:0 14px!important}

/* ---------- Hero / promociones ---------- */
#deliveryDemoOverlayV43 .v83Store .v46HeroTitle{font-size:34px!important;line-height:1.06!important}
#deliveryDemoOverlayV43 .v46HeroCopy small,
#deliveryDemoOverlayV43 .v46HeroCopy span,
#deliveryDemoOverlayV43 .v46HeroCopy p{font-size:14px!important;line-height:1.4!important}
#deliveryDemoOverlayV43 .v46HeroPrice,
#deliveryDemoOverlayV43 .v46HeroNew{font-size:26px!important}
#deliveryDemoOverlayV43 .v46HeroAdd{min-height:48px!important;font-size:15px!important;padding:10px 16px!important}

/* ---------- Categorías ---------- */
#deliveryDemoOverlayV43 .v83CategoryStrip{gap:9px!important;padding:14px 16px 10px!important}
#deliveryDemoOverlayV43 .v83Cat{
  min-height:48px!important;padding:10px 15px!important;gap:7px!important;font-size:14px!important
}
#deliveryDemoOverlayV43 .v83Cat>span:first-child{font-size:18px!important}

/* ---------- Secciones ---------- */
#deliveryDemoOverlayV43 .v83Main{padding:10px 16px 30px!important;gap:14px!important}
#deliveryDemoOverlayV43 .v83SectionHead small{font-size:12px!important;line-height:1.3!important}
#deliveryDemoOverlayV43 .v83SectionHead strong{font-size:23px!important;line-height:1.15!important}
#deliveryDemoOverlayV43 .v83SectionHead>span{font-size:13px!important}
#deliveryDemoOverlayV43 .v83Grid{gap:14px!important}

/* ---------- Tarjetas producto ---------- */
#deliveryDemoOverlayV43 .v83ProductCard,
#deliveryDemoOverlayV43 .v83PromoCard{border-radius:17px!important}
#deliveryDemoOverlayV43 .v83CardBody{padding:13px 13px 9px!important;gap:5px!important}
#deliveryDemoOverlayV43 .v83CardBrand{font-size:12px!important;line-height:1.3!important}
#deliveryDemoOverlayV43 .v83CardBody strong{font-size:16px!important;line-height:1.25!important;min-height:40px!important}
#deliveryDemoOverlayV43 .v83CardBody small{font-size:13px!important;line-height:1.35!important;min-height:34px!important;color:#637168!important}
#deliveryDemoOverlayV43 .v83PriceRow strong{font-size:22px!important;line-height:1.1!important}
#deliveryDemoOverlayV43 .v83PriceRow span{font-size:13px!important}
#deliveryDemoOverlayV43 .v83CardAction{padding:0 13px 13px!important}
#deliveryDemoOverlayV43 .v83CardAction button{
  min-height:48px!important;font-size:14px!important;border-radius:11px!important;padding:10px 12px!important
}

/* ---------- Barra carrito flotante ---------- */
#deliveryDemoOverlayV43 .v83CartBar{
  min-height:72px!important;padding:10px 14px!important;border-radius:16px!important;gap:12px!important
}
#deliveryDemoOverlayV43 .v83CartBar strong{font-size:15px!important;line-height:1.25!important}
#deliveryDemoOverlayV43 .v83CartBar small{font-size:13px!important;line-height:1.3!important;margin-top:3px!important}
#deliveryDemoOverlayV43 .v83CartBar button{min-height:48px!important;font-size:14px!important;padding:9px 15px!important}

/* ---------- Detalle / variantes / árbol ---------- */
#deliveryDemoOverlayV43 .v83DetailHead strong{font-size:18px!important}
#deliveryDemoOverlayV43 .v83DetailHead button{min-width:44px!important;min-height:44px!important;font-size:18px!important}
#deliveryDemoOverlayV43 .v83DetailInfo .v83DetailBrand{font-size:12px!important}
#deliveryDemoOverlayV43 .v83DetailInfo h2{font-size:28px!important;line-height:1.08!important}
#deliveryDemoOverlayV43 .v83DetailPrice{font-size:28px!important}
#deliveryDemoOverlayV43 .v83DetailInfo p{font-size:15px!important;line-height:1.5!important;color:#56655b!important}
#deliveryDemoOverlayV43 .v83VariantGroup label{font-size:14px!important;line-height:1.3!important}
#deliveryDemoOverlayV43 .v83VariantButtons{gap:8px!important}
#deliveryDemoOverlayV43 .v83VariantButtons button{
  min-height:46px!important;padding:9px 13px!important;font-size:14px!important;border-radius:10px!important
}
#deliveryDemoOverlayV43 .v92FlowBlock{padding:13px!important;gap:12px!important}
#deliveryDemoOverlayV43 .v92FlowStep{gap:8px!important}
#deliveryDemoOverlayV43 .v92FlowStepHead label{font-size:14px!important}
#deliveryDemoOverlayV43 .v92FlowStepHead span{font-size:12px!important}
#deliveryDemoOverlayV43 .v92FlowChoices{gap:8px!important}
#deliveryDemoOverlayV43 .v92FlowChoices button{min-height:46px!important;padding:9px 13px!important;font-size:14px!important}
#deliveryDemoOverlayV43 .v92FlowReady{font-size:13px!important;line-height:1.4!important;padding:10px 12px!important}
#deliveryDemoOverlayV43 .v83DetailStock{font-size:13px!important;line-height:1.35!important}
#deliveryDemoOverlayV43 .v83DetailQty{min-height:48px!important;font-size:15px!important}
#deliveryDemoOverlayV43 .v83DetailAdd button{min-height:50px!important;font-size:15px!important}

/* ---------- Carrito: nombres, controles y total dominante ---------- */
#deliveryDemoOverlayV43 .v43Panel{
  max-height:90vh!important;padding:16px!important;gap:12px!important;border-radius:20px 20px 0 0!important
}
#deliveryDemoOverlayV43 .v43PanelHead strong{font-size:21px!important}
#deliveryDemoOverlayV43 .v43PanelHead button{min-height:44px!important;padding:8px 13px!important;font-size:14px!important}
#deliveryDemoOverlayV43 .v43CartRows{gap:10px!important}
#deliveryDemoOverlayV43 .v43CartRow{
  grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;padding:13px 14px!important;border-radius:13px!important
}
#deliveryDemoOverlayV43 .v43CartRow strong{font-size:16px!important;line-height:1.3!important}
#deliveryDemoOverlayV43 .v43CartRow small,
#deliveryDemoOverlayV43 .v92CartOptionText{font-size:13px!important;line-height:1.4!important;color:#5f6e64!important}
#deliveryDemoOverlayV43 .v92ConfiguredTag{font-size:11px!important;padding:4px 8px!important}
#deliveryDemoOverlayV43 .v43Qty{gap:7px!important}
#deliveryDemoOverlayV43 .v43Qty span{min-width:24px;text-align:center;font-size:16px!important;font-weight:900!important}
#deliveryDemoOverlayV43 .v43Qty button{
  width:42px!important;height:42px!important;border-radius:10px!important;font-size:17px!important
}
#deliveryDemoOverlayV43 .v45CartRemove{color:#c33!important;border-color:#ebcaca!important}
#deliveryDemoOverlayV43 .v99CartFooter{
  display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:14px;align-items:stretch;
  border-top:1px solid #dfe6e1;padding-top:14px
}
#deliveryDemoOverlayV43 .v99CartActionArea{
  min-width:0;display:grid;align-content:center;gap:12px;padding:4px 0
}
#deliveryDemoOverlayV43 .v99CartActionArea>div:first-child{display:grid;gap:3px}
#deliveryDemoOverlayV43 .v99CartActionArea>div:first-child strong{font-size:17px!important}
#deliveryDemoOverlayV43 .v99CartActionArea>div:first-child small{font-size:13px!important;color:#637168!important}
#deliveryDemoOverlayV43 .v52CartActions{gap:10px!important;margin:0!important}
#deliveryDemoOverlayV43 .v52KeepBuying,
#deliveryDemoOverlayV43 .v52ConfirmOrder{
  min-height:50px!important;font-size:14px!important;padding:10px 14px!important;border-radius:11px!important
}
#deliveryDemoOverlayV43 .v99CartTotalCard{
  min-height:124px;border-radius:16px;background:#0b7139;color:#fff;padding:16px 18px;
  display:flex;flex-direction:column;align-items:flex-end;justify-content:center;text-align:right;
  box-shadow:0 9px 24px rgba(11,113,57,.16)
}
#deliveryDemoOverlayV43 .v99CartTotalCard span{font-size:13px!important;font-weight:900!important;letter-spacing:.04em;opacity:.9}
#deliveryDemoOverlayV43 .v99CartTotalCard strong{font-size:36px!important;line-height:1.05!important;margin:5px 0!important}
#deliveryDemoOverlayV43 .v99CartTotalCard small{font-size:12px!important;opacity:.82}

/* ---------- Checkout completo ---------- */
#v49Checkout .v49CheckoutHead{padding:13px 16px!important;gap:10px!important}
#v49Checkout .v49Back,
#v49Checkout .v49Close{min-width:46px!important;height:46px!important;font-size:16px!important;border-radius:11px!important}
#v49Checkout .v49CheckoutHead strong{font-size:21px!important;line-height:1.2!important}
#v49Checkout .v49Steps{padding:10px 16px!important;gap:8px!important}
#v49Checkout .v49Step{height:6px!important}
#v49Checkout .v49CheckoutBody{padding:14px 14px 130px!important}
#v49Checkout .v49Card{padding:16px!important;gap:13px!important;border-radius:17px!important}
#v49Checkout .v49Title{gap:5px!important}
#v49Checkout .v49Title h3{font-size:22px!important;line-height:1.2!important}
#v49Checkout .v49Title p{font-size:14px!important;line-height:1.45!important}
#v49Checkout .v49Field{gap:6px!important}
#v49Checkout .v49Field label{font-size:13px!important;line-height:1.3!important}
#v49Checkout .v49Field input,
#v49Checkout .v49Field textarea,
#v49Checkout select{font-size:16px!important;line-height:1.3!important;min-height:52px!important;padding:12px!important}
#v49Checkout .v49Field textarea{min-height:92px!important}
#v49Checkout .v49PayCard{padding:13px!important;gap:11px!important;border-radius:14px!important}
#v49Checkout .v49PayIcon{width:44px!important;height:44px!important;font-size:20px!important}
#v49Checkout .v49PayCard strong{font-size:15px!important;line-height:1.3!important}
#v49Checkout .v49PayCard small{font-size:13px!important;line-height:1.4!important}
#v49Checkout .v54Pay{min-height:108px!important;padding:15px 12px!important}
#v49Checkout .v54Pay .big{font-size:32px!important}
#v49Checkout .v54Pay strong{font-size:15px!important}
#v49Checkout .v54Pay small{font-size:13px!important;line-height:1.35!important}
#v49Checkout .v54Bank,
#v49Checkout .v49Upload,
#v49Checkout .v54Proof{font-size:13px!important;line-height:1.45!important;padding:12px!important}
#v49Checkout .v49Upload input,
#v49Checkout .v54Proof input{font-size:14px!important}
#v49Checkout .v49GpsBox{padding:13px!important;gap:10px!important}
#v49Checkout .v49GpsStatus,
#v49Checkout .v54LocationText{font-size:13px!important;line-height:1.45!important}
#v49Checkout .v49GpsCoords{font-size:12px!important;line-height:1.4!important;padding:9px!important}
#v49Checkout .v49GpsBtn,
#v49Checkout .v54MapActions button{min-height:48px!important;font-size:14px!important;padding:10px 12px!important}
#v49Checkout .v49Summary{gap:9px!important}
#v49Checkout .v49SummaryRow{font-size:14px!important;line-height:1.35!important;gap:12px!important}
#v49Checkout .v49SummaryRow strong{font-size:15px!important}
#v49Checkout .v49SummaryTotal{padding-top:12px!important}
#v49Checkout .v49SummaryTotal span{font-size:15px!important}
#v49Checkout .v49SummaryTotal strong{font-size:30px!important;line-height:1!important}
#v49Checkout .v49CheckoutFoot{padding:12px 14px!important}
#v49Checkout .v49Primary{min-height:54px!important;font-size:16px!important;padding:12px 14px!important}
#v49Checkout .v49Secondary{min-height:50px!important;font-size:14px!important;padding:11px 14px!important}
#v49Checkout .v49OrderCode{font-size:19px!important}
#v49Checkout .v49OrderState div{font-size:13px!important;line-height:1.4!important}

/* ---------- Seguimiento cliente ---------- */
#v49Checkout .v50Tracking{gap:13px!important}
#v49Checkout .v50TrackHero{padding:16px!important;gap:6px!important;border-radius:17px!important}
#v49Checkout .v50TrackHero small{font-size:13px!important}
#v49Checkout .v50TrackHero strong{font-size:22px!important;line-height:1.2!important}
#v49Checkout .v50TrackHero span{font-size:14px!important;line-height:1.4!important}
#v49Checkout .v50Timeline{padding:14px!important}
#v49Checkout .v50TrackStep{grid-template-columns:34px minmax(0,1fr)!important;gap:11px!important;min-height:70px!important}
#v49Checkout .v50TrackStep:not(:last-child):before{left:16px!important;top:31px!important}
#v49Checkout .v50TrackDot{width:34px!important;height:34px!important;font-size:13px!important}
#v49Checkout .v50TrackCopy{padding-top:3px!important}
#v49Checkout .v50TrackCopy strong{font-size:16px!important;line-height:1.3!important}
#v49Checkout .v50TrackCopy small{font-size:13px!important;line-height:1.4!important;margin-top:4px!important}
#v49Checkout .v50MapCard{padding:12px!important;gap:9px!important}
#v49Checkout .v50MapTitle strong{font-size:15px!important}
#v49Checkout .v50LiveBadge{font-size:12px!important;padding:6px 9px!important}
#v49Checkout .v50MetaBox{padding:11px!important;gap:4px!important}
#v49Checkout .v50MetaBox small{font-size:11px!important}
#v49Checkout .v50MetaBox strong{font-size:14px!important;line-height:1.35!important}
#v49Checkout .v50TrackNotice{font-size:13px!important;line-height:1.45!important;padding:11px!important}

/* ---------- Paginación / vacíos ---------- */
#deliveryDemoOverlayV43 .v83Empty,
#deliveryDemoOverlayV43 .v45Empty{font-size:14px!important;line-height:1.45!important;padding:30px 16px!important}
#deliveryDemoOverlayV43 #v84PagerHost button{min-height:44px!important;min-width:44px!important;font-size:14px!important}
#deliveryDemoOverlayV43 #v84PagerHost span{font-size:13px!important}

/* ---------- Mobile: dos columnas, pero lectura real ---------- */
@media(max-width:700px){
  #deliveryDemoOverlayV43 .v83Top{padding:12px 10px 10px!important}
  #deliveryDemoOverlayV43 .v83Brand strong{font-size:22px!important}
  #deliveryDemoOverlayV43 .v83Brand small{font-size:12px!important}
  #deliveryDemoOverlayV43 .v83TopActions button{min-height:46px!important;font-size:13px!important;padding:8px 10px!important}
  #deliveryDemoOverlayV43 .v83Search input{font-size:16px!important}
  #deliveryDemoOverlayV43 .v83Sort{font-size:14px!important}
  #deliveryDemoOverlayV43 .v83Hero{padding:9px 9px 0!important}
  #deliveryDemoOverlayV43 .v83Store .v46HeroTitle{font-size:27px!important}
  #deliveryDemoOverlayV43 .v46HeroCopy small,
  #deliveryDemoOverlayV43 .v46HeroCopy span,
  #deliveryDemoOverlayV43 .v46HeroCopy p{font-size:13px!important}
  #deliveryDemoOverlayV43 .v83CategoryStrip{padding:11px 9px 8px!important;gap:8px!important}
  #deliveryDemoOverlayV43 .v83Cat{min-height:46px!important;font-size:13px!important;padding:9px 13px!important}
  #deliveryDemoOverlayV43 .v83Main{padding:8px 9px 28px!important;gap:12px!important}
  #deliveryDemoOverlayV43 .v83Grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  #deliveryDemoOverlayV43 .v83SectionHead strong{font-size:21px!important}
  #deliveryDemoOverlayV43 .v83SectionHead small{font-size:11px!important}
  #deliveryDemoOverlayV43 .v83SectionHead>span{font-size:12px!important}
  #deliveryDemoOverlayV43 .v83CardBody{padding:10px 10px 7px!important}
  #deliveryDemoOverlayV43 .v83CardBrand{font-size:11px!important}
  #deliveryDemoOverlayV43 .v83CardBody strong{font-size:15px!important;min-height:38px!important}
  #deliveryDemoOverlayV43 .v83CardBody small{font-size:12px!important;min-height:32px!important}
  #deliveryDemoOverlayV43 .v83PriceRow strong{font-size:20px!important}
  #deliveryDemoOverlayV43 .v83CardAction{padding:0 10px 10px!important}
  #deliveryDemoOverlayV43 .v83CardAction button{min-height:46px!important;font-size:13px!important}
  #deliveryDemoOverlayV43 .v83CartBar{width:calc(100% - 18px)!important;bottom:9px!important}
  #deliveryDemoOverlayV43 .v43Panel{padding:12px!important;max-height:92dvh!important}
  #deliveryDemoOverlayV43 .v43CartRow{padding:12px!important}
  #deliveryDemoOverlayV43 .v43CartRow strong{font-size:15px!important}
  #deliveryDemoOverlayV43 .v43CartRow small,
  #deliveryDemoOverlayV43 .v92CartOptionText{font-size:12px!important}
  #deliveryDemoOverlayV43 .v43Qty button{width:40px!important;height:40px!important}
  #deliveryDemoOverlayV43 .v99CartFooter{grid-template-columns:1fr!important;gap:10px!important}
  #deliveryDemoOverlayV43 .v99CartTotalCard{grid-row:1;min-height:112px!important;align-items:center!important;text-align:center!important}
  #deliveryDemoOverlayV43 .v99CartTotalCard strong{font-size:34px!important}
  #deliveryDemoOverlayV43 .v99CartActionArea{grid-row:2}
  #deliveryDemoOverlayV43 .v52CartActions{grid-template-columns:1fr 1fr!important}
  #deliveryDemoOverlayV43 .v83DetailInfo h2{font-size:25px!important}
  #deliveryDemoOverlayV43 .v83DetailPrice{font-size:26px!important}
  #deliveryDemoOverlayV43 .v83DetailInfo p{font-size:14px!important}

  #v49Checkout .v49CheckoutHead strong{font-size:19px!important}
  #v49Checkout .v49CheckoutBody{padding:11px 10px 128px!important}
  #v49Checkout .v49Card{padding:13px!important}
  #v49Checkout .v49Title h3{font-size:20px!important}
  #v49Checkout .v49Title p{font-size:13px!important}
  #v49Checkout .v49Field label{font-size:13px!important}
  #v49Checkout .v49Field input,
  #v49Checkout .v49Field textarea,
  #v49Checkout select{font-size:16px!important}
  #v49Checkout .v50TrackMeta{grid-template-columns:1fr!important}
}

@media(max-width:390px){
  #deliveryDemoOverlayV43 .v83CardBody strong{font-size:14px!important}
  #deliveryDemoOverlayV43 .v83CardBody small{font-size:11.5px!important}
  #deliveryDemoOverlayV43 .v83PriceRow strong{font-size:19px!important}
  #deliveryDemoOverlayV43 .v52CartActions{grid-template-columns:1fr!important}
}





/* Apps: conserva la nueva arquitectura desplegable con la paleta original */
.apps100CatalogCard{overflow:hidden!important}
.apps100CatalogHead{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding-bottom:10px;
  border-bottom:1px solid var(--line);
}
.apps100Legend{
  flex:0 0 auto;
  padding:6px 9px;
  border-radius:999px;
  background:#eafff1;
  color:#087833;
  border:1px solid #bfe9ce;
  font-size:11px;
  font-weight:900;
}
.apps100Accordion{
  display:grid;
  gap:7px;
  padding-top:9px;
}
.apps100Group{
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.apps100GroupHead{
  width:100%;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto auto;
  gap:9px;
  align-items:center;
  padding:10px 11px;
  background:#fff;
  color:var(--t);
  border:0;
  text-align:left;
}
.apps100GroupHead:hover{background:#f5faf7}
.apps100Chevron{
  width:28px;
  height:28px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:#eafff1;
  color:#087833;
  font-weight:1000;
}
.apps100GroupTitle{
  display:grid;
  gap:2px;
  min-width:0;
}
.apps100GroupTitle strong{
  font-size:13px;
  color:var(--t);
}
.apps100GroupTitle small{
  font-size:10px;
  color:var(--m)!important;
}
.apps100GroupCount{
  font-size:10px;
  color:var(--m);
  white-space:nowrap;
}
.apps100Rows{
  display:grid;
  border-top:1px solid var(--line);
}
.apps100ProductRow,.apps100PromoRow{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(90px,.55fr) 92px 88px 52px;
  gap:8px;
  align-items:center;
  padding:9px 11px;
  border-top:1px solid #edf2f6;
  background:#fff;
  color:var(--t);
}
.apps100Rows>div:first-child{border-top:0}
.apps100ProductRow strong,.apps100PromoRow strong{font-size:11px}
.apps100ProductRow span,.apps100PromoRow span{
  font-size:10px;
  color:var(--m);
}
.apps100Stock.zero{color:#b12f2f!important}
.apps100SwitchWrap{
  display:flex;
  justify-content:flex-end;
}
.apps100Empty{
  padding:12px;
  color:var(--m);
  font-size:11px;
  text-align:center;
}

/* Tarjeta única del desarrollador, integrada a la identidad original */
.developer100Card{
  grid-template-columns:54px minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
}
.developer100Mark{
  width:52px;
  height:52px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#0aa640,#0a5b3a);
  color:#fff;
  font-weight:1000;
  font-size:17px;
}
.developer100Info{
  display:grid;
  gap:2px;
}
.developer100Info small{
  font-size:9px!important;
  color:var(--m)!important;
  letter-spacing:.1em;
}
.developer100Info strong{
  font-size:16px;
  color:#087833;
}
.developer100Info span{
  font-size:12px;
  color:var(--t);
}

@media(max-width:720px){
  .apps100GroupHead{
    grid-template-columns:32px minmax(0,1fr) auto;
  }
  .apps100GroupCount{display:none}
  .apps100ProductRow,.apps100PromoRow{
    grid-template-columns:minmax(0,1fr) auto;
    gap:5px 10px;
    padding:10px;
  }
  .apps100ProductRow .apps100Meta,
  .apps100PromoRow .apps100Meta{grid-column:1}
  .apps100ProductRow .apps100Price,
  .apps100PromoRow .apps100Price{grid-column:1}
  .apps100ProductRow .apps100Stock,
  .apps100PromoRow .apps100Stock{grid-column:1}
  .apps100SwitchWrap{
    grid-column:2;
    grid-row:1/5;
  }
}



.apps100CatalogCard{
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  overflow:hidden!important;
}
.apps100Accordion{
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  align-content:start!important;
  padding-right:2px;
  scrollbar-width:thin;
}
.apps103GroupHead{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  background:#fff;
}
.apps103Expand{
  width:100%;
  min-width:0;
  min-height:46px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding:8px 5px 8px 11px;
  background:transparent;
  color:var(--t);
  border:0;
  text-align:left;
}
.apps103Expand:hover{
  background:#f5faf7;
}
.apps103Expand:focus-visible{
  outline:2px solid var(--g);
  outline-offset:-2px;
}
.apps103Master{
  margin-right:10px;
  flex:0 0 auto;
}
.apps103Rows{
  display:grid!important;
  border-top:1px solid var(--line);
  animation:apps103Open .14s ease-out;
}
@keyframes apps103Open{
  from{opacity:.25;transform:translateY(-3px)}
  to{opacity:1;transform:translateY(0)}
}
.apps103Status{
  font-size:9px;
  color:var(--m);
  white-space:nowrap;
}
.apps103ProductName{
  min-width:0;
  display:grid;
  gap:2px;
}
.apps103ProductName strong{
  white-space:normal;
  line-height:1.25;
}
@media(max-width:720px){
  .apps103Expand{
    grid-template-columns:32px minmax(0,1fr);
  }
  .apps103Expand .apps100GroupCount{
    display:none;
  }
  .apps103Master{
    margin-right:7px;
  }
}



#view-apps .apps100CatalogCard{
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  overflow:hidden!important;
}

#view-apps #catalogAdminList.apps100Accordion{
  display:block!important;
  min-height:0!important;
  height:100%!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:9px 2px 10px 0!important;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
}

#view-apps #catalogAdminList .apps100Group{
  display:block!important;
  position:relative!important;
  width:100%!important;
  height:auto!important;
  min-height:46px!important;
  max-height:none!important;
  overflow:visible!important;
  margin:0 0 7px 0!important;
}

#view-apps #catalogAdminList .apps103GroupHead{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  min-height:46px!important;
  height:auto!important;
  overflow:visible!important;
}

#view-apps #catalogAdminList .apps103Expand{
  min-height:46px!important;
  height:auto!important;
}

#view-apps #catalogAdminList .apps100Rows.apps103Rows{
  position:static!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:max-content!important;
  max-height:none!important;
  overflow:visible!important;
  visibility:visible!important;
  opacity:1!important;
  transform:none!important;
  border-top:1px solid var(--line)!important;
  background:#fff!important;
}

#view-apps #catalogAdminList .apps100ProductRow,
#view-apps #catalogAdminList .apps100PromoRow{
  display:grid!important;
  position:relative!important;
  width:100%!important;
  height:auto!important;
  min-height:44px!important;
  max-height:none!important;
  overflow:visible!important;
}

#view-apps #catalogAdminList .apps100Empty{
  display:block!important;
  min-height:42px!important;
}

@media(max-width:720px){
  #view-apps #catalogAdminList.apps100Accordion{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding-bottom:22px!important;
  }
  #view-apps .apps100CatalogCard{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
}



.v89IconEditor,.v89IconChoices,.v89IconInput{display:none!important}

.catalogV35CategoryToggle{
  grid-template-columns:22px minmax(0,1fr) auto!important;
}
.v89CategoryIcon{display:none!important}

.sale69CategoryItem{
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  padding-left:10px!important;
}
.sale69CategoryIcon{display:none!important}
.sale69CategoryName{
  text-align:left!important;
  font-weight:900!important;
}

.v83CategoryStrip .v83Cat{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  padding:8px 15px!important;
  gap:0!important;
}
.v83CategoryStrip .v83Cat>span{
  font-size:14px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}

.v105MediaFallback{
  align-content:center!important;
  justify-items:center!important;
  gap:5px!important;
}
.v105MediaFallback strong{
  font-size:12px!important;
  letter-spacing:.12em!important;
  color:#738075!important;
}
.v105MediaFallback small{font-size:11px!important}
.v105PhotoText{
  font-size:9px!important;
  font-weight:1000!important;
  letter-spacing:.08em!important;
  color:#78857c!important;
}

@media(max-width:700px){
  .v83CategoryStrip .v83Cat{
    min-height:48px!important;
    padding:9px 16px!important;
  }
}




/* El módulo completo ocupa su zona; el contenido interno es el que desplaza. */
#view-config{
  min-height:0!important;
  overflow:hidden!important;
  padding:10px!important;
}

#view-config .config57Shell{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  gap:10px!important;
}

/* Tabs más grandes y siempre visibles. */
#view-config .config57Tabs{
  position:relative!important;
  top:auto!important;
  z-index:5!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  min-height:52px!important;
  padding:7px!important;
  gap:7px!important;
  scrollbar-width:none;
}
#view-config .config57Tabs::-webkit-scrollbar{display:none!important}

#view-config .config57Tab{
  flex:0 0 auto!important;
  min-height:38px!important;
  padding:8px 14px!important;
  font-size:13px!important;
  line-height:1.1!important;
  border-radius:9px!important;
}

/* La corrección crítica: cada pestaña activa tiene scroll vertical propio. */
#view-config .config57Pane{
  display:none!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:0 5px 90px 0!important;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
}
#view-config .config57Pane.active{
  display:block!important;
}

/* El card ya NO puede recortar campos. */
#view-config .config57Card{
  height:auto!important;
  min-height:max-content!important;
  max-height:none!important;
  overflow:visible!important;
  padding:16px!important;
  gap:14px!important;
  border-radius:15px!important;
}

/* Cabecera de cada pestaña */
#view-config .config57Head{
  display:flex!important;
  flex-direction:row!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:14px!important;
}
#view-config .config57Head h2{
  margin:0!important;
  font-size:20px!important;
  line-height:1.15!important;
}
#view-config .config57Head p{
  margin:4px 0 0!important;
  font-size:12px!important;
  line-height:1.45!important;
  color:#6f7e76!important;
}
#view-config .config57Save{
  flex:0 0 auto!important;
  width:auto!important;
  min-height:42px!important;
  padding:9px 16px!important;
  font-size:13px!important;
  border-radius:10px!important;
}

/* Secciones del tab Negocio */
#view-config .config106Sections{
  display:grid!important;
  gap:13px!important;
}
#view-config .config106Section{
  display:grid!important;
  gap:12px!important;
  padding:14px!important;
  border:1px solid #dce6df!important;
  border-radius:13px!important;
  background:#fbfdfb!important;
}
#view-config .config106SectionHead{
  display:grid!important;
  gap:3px!important;
  padding-bottom:9px!important;
  border-bottom:1px solid #e5ece7!important;
}
#view-config .config106SectionHead strong{
  font-size:15px!important;
  line-height:1.2!important;
  color:#203128!important;
}
#view-config .config106SectionHead span{
  font-size:11px!important;
  line-height:1.4!important;
  color:#77837c!important;
}

/* Formularios: tamaño legible y espacios consistentes. */
#view-config .config57Grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px 14px!important;
}
#view-config .config57Grid .wide{
  grid-column:1/-1!important;
}
#view-config .config57Field{
  display:grid!important;
  gap:6px!important;
  min-width:0!important;
}
#view-config .config57Field label{
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:900!important;
  color:#59675f!important;
}
#view-config .config57Field input,
#view-config .config57Field select,
#view-config .config57Field textarea{
  width:100%!important;
  min-width:0!important;
  min-height:46px!important;
  padding:10px 12px!important;
  font-size:14px!important;
  line-height:1.3!important;
  border-radius:10px!important;
}
#view-config .config57Field textarea{
  min-height:88px!important;
  resize:vertical!important;
}
#view-config .config106LocationBtn{
  min-height:46px!important;
  width:100%!important;
  font-size:13px!important;
  font-weight:900!important;
}
#view-config .config106InventoryGrid{
  grid-template-columns:minmax(220px,420px)!important;
}

/* Facturación */
#view-config #config57-billing .config57Card{
  min-height:max-content!important;
}
#view-config #config57-billing .config57Grid{
  margin-top:2px!important;
}

/* Bancos */
#view-config .config57BankList{
  gap:10px!important;
}
#view-config .config57BankCard{
  min-height:72px!important;
  padding:12px!important;
  gap:10px!important;
}
#view-config .config57BankInfo{
  gap:4px!important;
}
#view-config .config57BankInfo strong{
  font-size:14px!important;
}
#view-config .config57BankInfo small{
  font-size:11px!important;
  line-height:1.35!important;
}
#view-config .config57BankActions button{
  min-height:36px!important;
  padding:7px 10px!important;
  font-size:11px!important;
}
#view-config .config57BankEditor{
  padding:14px!important;
  gap:12px!important;
}
#view-config .config57BankEditor>strong{
  font-size:16px!important;
}
#view-config .config57BankEditor>label{
  font-size:12px!important;
}

/* Sistema */
#view-config #config57-system .subtle{
  font-size:12px!important;
  line-height:1.55!important;
}
#view-config .cloud72PanelHead strong{
  font-size:14px!important;
}
#view-config .cloud72PanelHead span,
#view-config .cloud72Grid small,
#view-config .cloud72Warning{
  font-size:11px!important;
  line-height:1.4!important;
}
#view-config .cloud72Grid strong{
  font-size:12px!important;
}
#view-config .cloud72Actions .btn{
  min-height:40px!important;
  font-size:12px!important;
}
#view-config .developer100Info small{
  font-size:10px!important;
}
#view-config .developer100Info strong{
  font-size:16px!important;
}
#view-config .developer100Info span{
  font-size:12px!important;
}
#view-config .config57Danger strong{
  font-size:13px!important;
}
#view-config .config57Danger .subtle{
  font-size:11px!important;
}
#view-config .config57Danger button{
  min-height:40px!important;
  font-size:12px!important;
}

/* Tablet */
@media(max-width:900px){
  #view-config .config57Grid{
    grid-template-columns:1fr 1fr!important;
  }
}

/* Móvil: el módulo entero puede crecer y desplazarse naturalmente. */
@media(max-width:700px){
  #view-config{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:8px 8px 38px!important;
  }
  #view-config .config57Shell{
    height:auto!important;
    min-height:100%!important;
    overflow:visible!important;
    grid-template-rows:auto auto!important;
  }
  #view-config .config57Tabs{
    position:sticky!important;
    top:0!important;
    z-index:20!important;
    background:#fff!important;
  }
  #view-config .config57Pane,
  #view-config .config57Pane.active{
    height:auto!important;
    overflow:visible!important;
    padding:0!important;
  }
  #view-config .config57Card{
    padding:12px!important;
  }
  #view-config .config57Head{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  #view-config .config57Save{
    width:100%!important;
  }
  #view-config .config57Grid,
  #view-config .config106InventoryGrid{
    grid-template-columns:1fr!important;
  }
  #view-config .config57Grid .wide{
    grid-column:auto!important;
  }
  #view-config .config57Tab{
    min-height:42px!important;
    font-size:13px!important;
  }
  #view-config .config57Field label{
    font-size:12px!important;
  }
  #view-config .config57Field input,
  #view-config .config57Field select,
  #view-config .config57Field textarea{
    min-height:48px!important;
    font-size:16px!important; /* evita zoom automático de Safari iPhone */
  }
  #view-config .config106Section{
    padding:12px!important;
  }
  #view-config .config57BankCard{
    grid-template-columns:1fr!important;
  }
  #view-config .config57BankActions{
    justify-content:flex-start!important;
  }
}




/* ---------- BASE ---------- */
body{
  font-size:14px!important;
  line-height:1.35!important;
}
.subtle,.meta{
  font-size:11px!important;
  line-height:1.4!important;
}
.sectionTitle{
  font-size:19px!important;
  line-height:1.15!important;
}
button,.btn{
  min-height:40px;
  font-size:13px;
  line-height:1.15;
}
input,select,textarea,.input{
  min-height:44px;
  font-size:14px;
  line-height:1.3;
}
textarea{line-height:1.45!important}
.field label{
  font-size:12px!important;
  line-height:1.25!important;
}

/* Mantener controles compactos únicamente cuando son iconos o +/- */
.v43Qty button,
.v45CartRemove,
.v49Back,.v49Close,
.catalog94Mini,
.sale67VariantClose,
.v83Pager button,
.delivery79Back{
  min-width:38px!important;
  min-height:38px!important;
  font-size:13px!important;
}

/* ---------- CABECERA / NAVEGACIÓN ---------- */
.brand{font-size:22px!important}
.topStore strong{font-size:14px!important}
.topStore span,.topUser{font-size:12px!important}
.nav button{
  min-height:40px!important;
  padding:8px 12px!important;
  font-size:13px!important;
}

/* ---------- CAJA ---------- */
.sale69CategoryTitle{
  font-size:12px!important;
  font-weight:1000!important;
}
.sale69CategoryItem{
  min-height:42px!important;
  font-size:12px!important;
}
.sale69CategoryName{
  font-size:12.5px!important;
  line-height:1.2!important;
}
.sale69CategoryCount{
  min-width:26px!important;
  min-height:26px!important;
  font-size:11px!important;
}
.sale69PaneHead .mini{
  font-size:10px!important;
}
.sale69PaneHead strong{
  font-size:16px!important;
}
.sale69PaneCount{
  font-size:11px!important;
}
.sale69Row,
.sale67Card{
  font-size:12px!important;
}
.sale69Row strong,
.sale67Info strong{
  font-size:13px!important;
  line-height:1.25!important;
}
.sale69Row small,
.sale67Info small,
.sale67VariantHint{
  font-size:10.5px!important;
  line-height:1.35!important;
}
.sale69Price,
.sale67Price{
  font-size:17px!important;
}
.sale69Stock,
.sale67Stock{
  font-size:11px!important;
}
.sale69Row button,
.sale67Actions button,
.sale67SelectedSku button,
.sale69Pager button{
  min-height:40px!important;
  font-size:12px!important;
}
.sale69Pager span{
  font-size:11px!important;
}
.scanBtn,
.searchBox input,
#salesSearch{
  font-size:14px!important;
}
.salesAccordion,
.sale69Rows{
  min-height:0!important;
}
.sale69Rows{
  overflow-y:auto!important;
  overscroll-behavior:contain;
}

/* ---------- CATÁLOGO ---------- */
.catalogV35CategoryToggle{
  min-height:46px!important;
}
.v89CategoryLabel strong{
  font-size:13px!important;
}
.v89CategoryMeta,
.v89CategoryState{
  font-size:10px!important;
}
.catalogV35CategoryToggle small{
  font-size:10.5px!important;
}
.catalogV90CategoryActions .btn{
  min-height:38px!important;
  font-size:11.5px!important;
}
.catalogV90Info strong,
.catalogV90FamilyHead strong,
.catalogV90VariantName strong{
  font-size:12.5px!important;
  line-height:1.25!important;
}
.catalogV90Info small,
.catalogV90FamilyHead small,
.catalogV90VariantName small{
  font-size:10.5px!important;
  line-height:1.35!important;
}
.catalogV90Cell small{
  font-size:10px!important;
}
.catalogV90Cell strong{
  font-size:12px!important;
}
.catalogV90State{
  font-size:10px!important;
  padding:5px 8px!important;
}
.catalogV90Actions .btn{
  min-height:38px!important;
  padding:7px 10px!important;
  font-size:11px!important;
}
.catalogV90Variant{
  min-height:46px!important;
}
.catalogV90CategoryBody{
  overflow-y:auto!important;
  overscroll-behavior:contain;
}

/* Editor integral */
.catalog94SectionHead strong{
  font-size:14px!important;
}
.catalog94SectionHead small,
.catalog94VariantToolbar small{
  font-size:10.5px!important;
}
.catalog94VariantToolbar strong{
  font-size:12px!important;
}
.catalog94VariantHead{
  font-size:9.5px!important;
}
.catalog94VariantLabel strong{
  font-size:11.5px!important;
}
.catalog94VariantLabel small{
  font-size:9.5px!important;
}
.catalog94VariantRow .input{
  min-height:40px!important;
  font-size:12px!important;
}
.catalog94StockRead strong{
  font-size:12px!important;
}
.catalog94StockRead small{
  font-size:9.5px!important;
}
.catalog94StateBtn{
  min-height:36px!important;
  font-size:10.5px!important;
}

/* ---------- BODEGA ---------- */
.warehouseTop h2{
  font-size:19px!important;
}
.warehouseKpi small{
  font-size:10px!important;
}
.warehouseKpi strong{
  font-size:21px!important;
}
.warehouseKpi span{
  font-size:10.5px!important;
}
.warehouseModeBtn{
  min-height:38px!important;
  padding:8px 12px!important;
  font-size:12px!important;
}
.warehouseInventoryHead{
  font-size:10px!important;
}
.warehouseInventoryRow{
  min-height:42px!important;
  font-size:12px!important;
}
.warehouseStock{
  font-size:15px!important;
}
.warehouseActionHero strong{
  font-size:15px!important;
}
.warehouseActionHero span{
  font-size:11px!important;
}
.warehouseActionForm label,
.warehouseSidePanel label{
  font-size:12px!important;
}
.warehouseActionForm input,
.warehouseActionForm select,
.warehouseSidePanel input,
.warehouseSidePanel select{
  min-height:44px!important;
  font-size:14px!important;
}
.warehouseSubmit{
  min-height:44px!important;
  font-size:13px!important;
}
.warehouseInventoryList{
  overflow-y:auto!important;
  overscroll-behavior:contain;
}

/* ---------- ADMINISTRACIÓN ---------- */
.adminTab{
  min-height:38px!important;
  padding:8px 12px!important;
  font-size:12px!important;
}
.adminKpi small{
  font-size:10px!important;
}
.adminKpi strong{
  font-size:21px!important;
}
.adminKpi span{
  font-size:10.5px!important;
}
.adminPanelHead strong{
  font-size:13px!important;
}
.adminPanelHead span{
  font-size:10.5px!important;
}
.adminPanelHead>strong{
  font-size:15px!important;
}
.adminTable,
.adminTable th,
.adminTable td,
.adminRankList,
.adminChannels{
  font-size:11px!important;
}
.adminPanel{
  overflow:auto!important;
  overscroll-behavior:contain;
}

/* ---------- APPS ---------- */
.apps100CatalogHead h2,
#view-apps .sectionTitle{
  font-size:19px!important;
}
.apps100Legend{
  font-size:11.5px!important;
}
.apps100GroupTitle strong{
  font-size:13.5px!important;
}
.apps100GroupTitle small,
.apps100GroupCount{
  font-size:10.5px!important;
}
.apps100ProductRow strong,
.apps100PromoRow strong{
  font-size:12.5px!important;
}
.apps100ProductRow span,
.apps100PromoRow span{
  font-size:11px!important;
}
.apps103Expand{
  min-height:48px!important;
}
.apps103Master,
.apps100SwitchWrap .toggle{
  min-height:30px!important;
}
#view-apps input,
#view-apps textarea{
  font-size:14px!important;
}
#view-apps .btn,
#view-apps button:not(.toggle){
  min-height:40px!important;
  font-size:12.5px!important;
}

/* ---------- DELIVERY INTERNO ---------- */
.delivery60Kpi small{
  font-size:10px!important;
}
.delivery60Kpi strong{
  font-size:18px!important;
}
.delivery60Kpi span{
  font-size:10px!important;
}
.delivery60Toolbar button{
  min-height:38px!important;
  padding:8px 10px!important;
  font-size:11.5px!important;
}
.delivery60Toolbar input{
  min-height:40px!important;
  font-size:13px!important;
}
.delivery60Order{
  min-height:54px!important;
}
.delivery60OrderInfo strong{
  font-size:12.5px!important;
}
.delivery60OrderInfo small{
  font-size:10.5px!important;
}
.delivery60DetailHead h2{
  font-size:18px!important;
}
.delivery60Meta small{
  font-size:10px!important;
}
.delivery60Meta strong{
  font-size:12px!important;
}
.delivery60SectionHead strong{
  font-size:13px!important;
}
.delivery60Item{
  font-size:11.5px!important;
  min-height:42px!important;
}
.delivery60ActionGrid button{
  min-height:42px!important;
  padding:9px 12px!important;
  font-size:12.5px!important;
}
.delivery60DriverRow input{
  min-height:42px!important;
  font-size:13px!important;
}
.delivery60DriverRow button{
  min-height:42px!important;
  font-size:12px!important;
}
.delivery60Empty{
  font-size:11px!important;
}
.delivery60List,
.delivery60DetailPanel{
  overscroll-behavior:contain;
}

/* V76/V77/V78 delivery cards */
.delivery76StepCard strong,
.delivery76StepTitle,
.delivery76ManageTitle{
  font-size:15px!important;
}
.delivery76StepCard p,
.delivery76Manage p,
.delivery76Waiting{
  font-size:11.5px!important;
  line-height:1.45!important;
}
.delivery76Primary,
.delivery76Secondary,
.delivery76Danger{
  min-height:44px!important;
  font-size:13px!important;
}

/* ---------- DELIVERY CLIENTE ---------- */
.v44HeaderTop strong,
.v83TopName strong{
  font-size:18px!important;
}
.v44HeaderTop small,
.v83TopName small{
  font-size:11px!important;
}
.v83Search input{
  min-height:48px!important;
  font-size:15px!important;
}
.v83Sort{
  min-height:48px!important;
  font-size:13px!important;
}
.v83CategoryStrip .v83Cat{
  min-height:48px!important;
  font-size:14px!important;
}
.v83SectionHead small{
  font-size:11px!important;
}
.v83SectionHead strong{
  font-size:20px!important;
}
#v84ResultCount{
  font-size:11px!important;
}
.v83Badge{
  font-size:10px!important;
  padding:5px 8px!important;
}
.v83ProductBody small,
.v83PromoBody small{
  font-size:11px!important;
}
.v83ProductBody strong,
.v83PromoBody strong{
  font-size:15px!important;
}
.v83PriceRow strong{
  font-size:20px!important;
}
.v83OldPrice{
  font-size:11px!important;
}
.v83CardAction button{
  min-height:44px!important;
  font-size:13px!important;
}
.v83Pager span{
  font-size:11px!important;
}
.v83Empty{
  font-size:13px!important;
}

/* Carrito */
.v43PanelHead strong{
  font-size:18px!important;
}
.v43PanelHead button{
  min-height:40px!important;
  font-size:13px!important;
}
.v43CartRow{
  min-height:60px!important;
  padding:10px!important;
}
.v43CartRow strong{
  font-size:14px!important;
}
.v43CartRow small{
  font-size:11.5px!important;
}
.v43Qty span{
  font-size:14px!important;
  min-width:22px!important;
  text-align:center!important;
}
.v43Total{
  font-size:14px!important;
}
.v43Continue{
  min-height:46px!important;
  font-size:14px!important;
}

/* Checkout */
.v49Back,.v49Close{
  min-width:40px!important;
  height:40px!important;
  font-size:14px!important;
}
.v49CheckoutHead strong{
  font-size:18px!important;
}
.v49Title h3{
  font-size:19px!important;
}
.v49Title p{
  font-size:12px!important;
}
.v49Field label{
  font-size:12px!important;
}
.v49Field input,
.v49Field textarea,
.v49Field select{
  min-height:48px!important;
  padding:11px 12px!important;
  font-size:15px!important;
}
.v49Primary,.v49Secondary{
  min-height:48px!important;
  font-size:14px!important;
}

/* ---------- MOTORIZADO ---------- */
.motorized74Brand small{
  font-size:10.5px!important;
}
.motorized74Brand strong{
  font-size:17px!important;
}
.motorized74State{
  font-size:10.5px!important;
}
.motorized74OrderHead small{
  font-size:10.5px!important;
}
.motorized74OrderHead strong{
  font-size:16px!important;
}
.motorized74Card{
  font-size:13px!important;
}
.motorized74Card small{
  font-size:11px!important;
  line-height:1.4!important;
}
.motorized74Primary,
.motorized74Danger{
  min-height:50px!important;
  font-size:14px!important;
}
.motorized74GpsBox strong{
  font-size:13px!important;
}
.motorized74GpsBox small{
  font-size:11px!important;
}
.motorized74GpsLed{
  font-size:10px!important;
}

/* ---------- MODALES GENERALES ---------- */
.saleModalHead strong{
  font-size:18px!important;
}
.saleModalHead .subtle{
  font-size:11px!important;
}
.saleModalBody label,
.saleModalBox label{
  font-size:12px!important;
}
.saleModalBody input,
.saleModalBody select,
.saleModalBody textarea,
.saleModalBox input,
.saleModalBox select,
.saleModalBox textarea{
  min-height:44px!important;
  font-size:14px!important;
}
.saleModalFoot .btn{
  min-height:42px!important;
  font-size:13px!important;
}

/* ---------- FOOTER ---------- */
.footer{
  min-height:34px!important;
  font-size:10.5px!important;
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:900px){
  body{font-size:14px!important}
  .nav button{font-size:13px!important}

  /* En paneles densos permitimos desplazamiento interno antes que recortar texto. */
  .sale69Rows,
  .warehouseInventoryList,
  .delivery60List,
  .delivery60DetailPanel,
  .adminPanel,
  .apps100Accordion,
  .catalogV90CategoryBody{
    overflow-y:auto!important;
  }
}

@media(max-width:700px){
  body{font-size:15px!important}

  button,.btn{
    min-height:44px!important;
    font-size:14px!important;
  }
  input,select,textarea,.input{
    min-height:48px!important;
    font-size:16px!important; /* evita zoom automático de Safari */
  }

  .nav button{
    min-height:44px!important;
    font-size:13px!important;
  }

  .sectionTitle{
    font-size:20px!important;
  }

  .sale69CategoryName,
  .catalogV90Info strong,
  .apps100GroupTitle strong,
  .delivery60OrderInfo strong{
    font-size:13px!important;
  }

  .v83ProductBody strong,
  .v83PromoBody strong{
    font-size:16px!important;
  }
  .v83PriceRow strong{
    font-size:21px!important;
  }

  .footer{
    font-size:10px!important;
  }
}




/* Cabecera más limpia */
#deliveryDemoOverlayV43 .v83Top{
  padding-top:2px!important;
}
#deliveryDemoOverlayV43 .v83TopLine{
  padding:12px 16px 8px!important;
}
#deliveryDemoOverlayV43 .v83Brand strong{
  font-size:22px!important;
  letter-spacing:-.02em!important;
}
#deliveryDemoOverlayV43 .v83Brand small{
  font-size:12px!important;
  color:#66756c!important;
}

/* Buscador + ordenar como una sola franja visual */
#deliveryDemoOverlayV43 .v83SearchRow{
  padding:4px 16px 12px!important;
  gap:10px!important;
  align-items:stretch!important;
}
#deliveryDemoOverlayV43 .v83Search{
  min-height:52px!important;
  border-radius:14px!important;
  background:#fbfcfb!important;
  border:1px solid #d8e1da!important;
  box-shadow:none!important;
}
#deliveryDemoOverlayV43 .v83Search input{
  min-height:50px!important;
  font-size:15px!important;
}
#deliveryDemoOverlayV43 .v83Sort{
  min-height:52px!important;
  border-radius:14px!important;
  min-width:160px!important;
  font-size:13px!important;
  font-weight:800!important;
}

/* Contenedor del banner */
#deliveryDemoOverlayV43 .v83Hero{
  padding:12px 12px 0!important;
}
#deliveryDemoOverlayV43 .v83Hero #v46HeroHost{
  width:100%!important;
}

/* Banner comercial completo */
.v108Hero{
  position:relative;
  width:100%;
  min-height:226px;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.42fr) minmax(250px,.58fr);
  align-items:stretch;
  background:
    radial-gradient(circle at 82% 18%,rgba(255,255,255,.12),transparent 24%),
    linear-gradient(115deg,#0b7139 0%,#0a6033 55%,#0a4829 100%);
  border-radius:22px;
  color:#fff;
  box-shadow:0 12px 30px rgba(18,47,28,.14);
  isolation:isolate;
}
.v108HeroDecor{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  z-index:-1;
}
.v108HeroDecorA{
  width:240px;height:240px;
  right:8%;top:-140px;
  background:rgba(255,255,255,.06);
}
.v108HeroDecorB{
  width:180px;height:180px;
  right:28%;bottom:-130px;
  background:rgba(255,255,255,.045);
}
.v108HeroCopy{
  min-width:0;
  padding:28px 30px 36px 36px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}
.v108HeroKicker{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 11px;
  margin-bottom:9px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.13);
  font-size:12px;
  font-weight:900;
  letter-spacing:.01em;
}
.v108Hero h2{
  margin:0;
  max-width:720px;
  font-size:32px;
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:1000;
}
.v108Hero p{
  margin:8px 0 0;
  max-width:640px;
  font-size:13px;
  line-height:1.45;
  color:rgba(255,255,255,.83);
}
.v108HeroPriceRow{
  display:flex;
  align-items:flex-end;
  gap:10px;
  margin-top:9px;
}
.v108HeroPriceRow strong{
  font-size:27px;
  line-height:1;
}
.v108HeroOld{
  font-size:13px;
  opacity:.68;
  text-decoration:line-through;
}
.v108HeroActions{
  display:flex;
  align-items:center;
  gap:13px;
  margin-top:12px;
  flex-wrap:wrap;
}
.v108HeroPrimary{
  min-height:46px!important;
  padding:10px 17px!important;
  border:0!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#0b7139!important;
  font-size:13px!important;
  font-weight:1000!important;
  box-shadow:0 7px 18px rgba(0,0,0,.12);
}
.v108HeroActions>span{
  font-size:11px;
  color:rgba(255,255,255,.78);
  font-weight:700;
}
.v108HeroVisual{
  position:relative;
  min-width:0;
  display:grid;
  place-items:center;
  padding:22px 24px 28px 10px;
}
.v108HeroBadge{
  position:absolute;
  top:18px;
  right:20px;
  z-index:2;
  padding:6px 10px;
  border-radius:999px;
  background:#fff;
  color:#0b7139;
  font-size:10px;
  font-weight:1000;
  box-shadow:0 5px 15px rgba(0,0,0,.1);
}
.v108HeroProductStage{
  width:100%;
  height:174px;
  max-width:300px;
  display:grid;
  place-items:center;
  border-radius:24px;
  background:
    radial-gradient(circle at 50% 45%,rgba(255,255,255,.18),rgba(255,255,255,.055) 58%,transparent 59%);
}
.v108HeroProductStage img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:7px 10px;
  filter:drop-shadow(0 18px 18px rgba(0,0,0,.26));
}
.v108HeroNoImage{
  width:82%;
  height:72%;
  padding:18px;
  border-radius:20px;
  display:grid;
  place-items:center;
  align-content:center;
  text-align:center;
  gap:5px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.12);
}
.v108HeroNoImage strong{
  font-size:16px;
  line-height:1.15;
}
.v108HeroNoImage small{
  font-size:10px;
  opacity:.75;
}
.v108HeroDots{
  position:absolute;
  left:0;right:0;bottom:11px;
  display:flex;
  justify-content:center;
  gap:6px;
  z-index:3;
}
.v108HeroDots button{
  width:8px!important;
  min-width:8px!important;
  height:8px!important;
  min-height:8px!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.40)!important;
}
.v108HeroDots button.active{
  width:30px!important;
  background:#fff!important;
}

/* Beneficios, discretos */
.v108Benefits{
  margin:9px 12px 1px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border:1px solid #e0e7e2;
  border-radius:14px;
  background:#fff;
  overflow:hidden;
}
.v108Benefits>span{
  min-width:0;
  padding:9px 13px;
  display:grid;
  gap:1px;
  text-align:center;
  border-left:1px solid #edf1ee;
}
.v108Benefits>span:first-child{border-left:0}
.v108Benefits strong{
  font-size:11px;
  color:#24332a;
}
.v108Benefits small{
  font-size:9.5px;
  color:#7a867e;
}

/* Categorías un poco menos pesadas */
#deliveryDemoOverlayV43 .v83CategoryStrip{
  padding:11px 16px 8px!important;
  gap:7px!important;
}
#deliveryDemoOverlayV43 .v83Cat{
  min-height:44px!important;
  padding:8px 15px!important;
  background:#fff!important;
  border-color:#dce3de!important;
  color:#465349!important;
  font-size:13px!important;
  box-shadow:none!important;
}
#deliveryDemoOverlayV43 .v83Cat.active{
  background:#183428!important;
  border-color:#183428!important;
  color:#fff!important;
}

/* Productos: más aire y fotografías dominantes */
#deliveryDemoOverlayV43 .v83Main{
  padding:6px 16px 28px!important;
}
#deliveryDemoOverlayV43 .v83Grid{
  gap:12px!important;
}
#deliveryDemoOverlayV43 .v83ProductCard,
#deliveryDemoOverlayV43 .v83PromoCard{
  border-radius:16px!important;
  box-shadow:0 7px 20px rgba(24,43,31,.06)!important;
}
#deliveryDemoOverlayV43 .v83ProductMedia,
#deliveryDemoOverlayV43 .v83PromoMedia{
  aspect-ratio:1.08/1!important;
}
#deliveryDemoOverlayV43 .v83ProductMedia img,
#deliveryDemoOverlayV43 .v83PromoMedia img{
  padding:12px!important;
}

/* Responsive tablet */
@media(max-width:900px){
  .v108Hero{
    min-height:214px;
    grid-template-columns:minmax(0,1.25fr) minmax(210px,.75fr);
  }
  .v108HeroCopy{
    padding:24px 20px 34px 25px;
  }
  .v108Hero h2{font-size:27px}
  .v108HeroProductStage{height:160px}
}

/* Responsive móvil */
@media(max-width:650px){
  #deliveryDemoOverlayV43 .v83TopLine{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  #deliveryDemoOverlayV43 .v83Brand strong{
    font-size:20px!important;
  }
  #deliveryDemoOverlayV43 .v83SearchRow{
    grid-template-columns:minmax(0,1fr)!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }
  #deliveryDemoOverlayV43 .v83Sort{
    width:100%!important;
    min-width:0!important;
  }

  .v108Hero{
    min-height:245px;
    grid-template-columns:minmax(0,1.35fr) minmax(112px,.65fr);
    border-radius:19px;
  }
  .v108HeroCopy{
    padding:23px 8px 35px 20px;
  }
  .v108HeroKicker{
    font-size:10px;
    min-height:25px;
    padding:4px 8px;
  }
  .v108Hero h2{
    font-size:24px;
    max-width:100%;
  }
  .v108Hero p{
    font-size:11px;
    line-height:1.35;
    max-width:260px;
  }
  .v108HeroPriceRow strong{font-size:24px}
  .v108HeroPrimary{
    min-height:44px!important;
    padding:9px 12px!important;
    font-size:12px!important;
  }
  .v108HeroActions>span{display:none}
  .v108HeroVisual{
    padding:23px 9px 30px 0;
  }
  .v108HeroProductStage{
    height:175px;
    border-radius:18px;
  }
  .v108HeroBadge{
    top:12px;
    right:10px;
    font-size:8.5px;
    padding:5px 7px;
  }

  .v108Benefits{
    margin-left:12px;
    margin-right:12px;
    grid-template-columns:1fr;
  }
  .v108Benefits>span{
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:7px;
    text-align:left;
    border-left:0;
    border-top:1px solid #edf1ee;
    padding:8px 11px;
  }
  .v108Benefits>span:first-child{border-top:0}
  .v108Benefits strong{font-size:10.5px}
  .v108Benefits small{font-size:9.5px}

  #deliveryDemoOverlayV43 .v83CategoryStrip{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  #deliveryDemoOverlayV43 .v83Main{
    padding-left:12px!important;
    padding-right:12px!important;
  }
}



#deliveryDemoOverlayV43 .v83Hero{
  padding:12px 12px 0!important;
}
#deliveryDemoOverlayV43 .v83Hero #v46HeroHost{
  width:100%!important;
}

.v109Hero{
  position:relative;
  width:100%;
  aspect-ratio:16/6;
  min-height:240px;
  max-height:360px;
  border-radius:22px;
  overflow:hidden;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  color:#fff;
  box-shadow:0 13px 32px rgba(18,35,24,.18);
  isolation:isolate;
}

/* Oscurece solo el lado del copy. La fotografía sigue siendo el banner completo. */
.v109HeroShade{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,
      rgba(4,13,8,.80) 0%,
      rgba(4,13,8,.69) 25%,
      rgba(4,13,8,.42) 48%,
      rgba(4,13,8,.10) 68%,
      rgba(4,13,8,0) 82%);
  pointer-events:none;
}

.v109HeroContent{
  position:relative;
  z-index:2;
  width:min(53%,700px);
  height:100%;
  padding:28px 24px 34px 34px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}

.v109HeroKicker{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  margin-bottom:8px;
  padding:5px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.15);
  backdrop-filter:blur(4px);
  font-size:11.5px;
  font-weight:900;
}

.v109Hero h2{
  margin:0;
  max-width:620px;
  color:#fff;
  font-size:33px;
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:1000;
  text-shadow:0 2px 15px rgba(0,0,0,.28);
}

.v109Hero p{
  margin:8px 0 0;
  max-width:560px;
  color:rgba(255,255,255,.88);
  font-size:13px;
  line-height:1.42;
  text-shadow:0 2px 10px rgba(0,0,0,.22);
}

.v109HeroPriceRow{
  display:flex;
  align-items:flex-end;
  gap:10px;
  margin-top:10px;
}
.v109HeroPriceRow strong{
  color:#fff;
  font-size:28px;
  line-height:1;
  text-shadow:0 2px 10px rgba(0,0,0,.25);
}
.v109HeroPriceRow span{
  color:rgba(255,255,255,.7);
  font-size:13px;
  text-decoration:line-through;
}

.v109HeroActions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:13px;
  margin-top:13px;
}
.v109HeroActions button{
  min-height:46px!important;
  padding:10px 17px!important;
  border:0!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#0b7139!important;
  font-size:13px!important;
  font-weight:1000!important;
  box-shadow:0 7px 18px rgba(0,0,0,.15);
}
.v109HeroActions small{
  color:rgba(255,255,255,.82)!important;
  font-size:11px!important;
  font-weight:800;
}

.v109HeroBadge{
  position:absolute;
  z-index:3;
  top:17px;
  right:19px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#0b7139;
  font-size:10px;
  font-weight:1000;
  box-shadow:0 5px 15px rgba(0,0,0,.12);
}

.v109HeroDots{
  position:absolute;
  z-index:3;
  left:0;
  right:0;
  bottom:10px;
  display:flex;
  justify-content:center;
  gap:6px;
}
.v109HeroDots button{
  width:8px!important;
  min-width:8px!important;
  height:8px!important;
  min-height:8px!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.44)!important;
  box-shadow:0 1px 5px rgba(0,0,0,.16);
}
.v109HeroDots button.active{
  width:31px!important;
  background:#fff!important;
}

/* Tablet */
@media(max-width:900px){
  .v109Hero{
    min-height:220px;
    max-height:320px;
  }
  .v109HeroContent{
    width:59%;
    padding:22px 14px 32px 25px;
  }
  .v109Hero h2{font-size:27px}
  .v109Hero p{font-size:11.5px}
  .v109HeroPriceRow strong{font-size:25px}
}

/* Móvil: conserva la foto completa y usa un gradiente más fuerte detrás del texto. */
@media(max-width:650px){
  #deliveryDemoOverlayV43 .v83Hero{
    padding:10px 10px 0!important;
  }
  .v109Hero{
    aspect-ratio:auto;
    min-height:285px;
    max-height:none;
    border-radius:19px;
    background-position:center center;
  }
  .v109HeroShade{
    background:
      linear-gradient(90deg,
        rgba(4,13,8,.86) 0%,
        rgba(4,13,8,.73) 42%,
        rgba(4,13,8,.27) 72%,
        rgba(4,13,8,.05) 100%);
  }
  .v109HeroContent{
    width:68%;
    padding:24px 7px 38px 19px;
  }
  .v109HeroKicker{
    min-height:25px;
    padding:4px 8px;
    font-size:9.5px;
  }
  .v109Hero h2{
    font-size:23px;
    max-width:100%;
  }
  .v109Hero p{
    font-size:10.5px;
    line-height:1.35;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .v109HeroPriceRow strong{font-size:24px}
  .v109HeroActions{
    gap:7px;
    margin-top:11px;
  }
  .v109HeroActions button{
    min-height:43px!important;
    padding:9px 11px!important;
    font-size:11.5px!important;
  }
  .v109HeroActions small{display:none}
  .v109HeroBadge{
    top:11px;
    right:10px;
    padding:5px 7px;
    font-size:8.5px;
  }
}



#deliveryDemoOverlayV43 .v83SearchRow.v110SearchOnly{
  display:block!important;
  grid-template-columns:none!important;
}
#deliveryDemoOverlayV43 .v110SearchOnly .v83Search{
  width:100%!important;
}
#deliveryDemoOverlayV43 .v83Sort{
  display:none!important;
}

.v110CategoryRail{
  position:relative;
  width:100%;
  padding:0 0 3px;
  overflow:hidden;
  background:transparent;
}
.v110CategoryRail::before,
.v110CategoryRail::after{
  content:"";
  position:absolute;
  z-index:4;
  top:0;
  bottom:8px;
  width:17px;
  pointer-events:none;
}
.v110CategoryRail::before{
  left:0;
  background:linear-gradient(90deg,#f5f7f5 8%,rgba(245,247,245,0));
}
.v110CategoryRail::after{
  right:0;
  background:linear-gradient(270deg,#f5f7f5 8%,rgba(245,247,245,0));
}

#deliveryDemoOverlayV43 .v110CategoryRail .v83CategoryStrip{
  position:relative;
  z-index:2;
  display:flex!important;
  gap:8px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-behavior:smooth;
  scroll-snap-type:x proximity;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  padding:11px 18px 9px!important;
  scrollbar-width:thin!important;
  scrollbar-color:#6f9d80 #e3ebe5!important;
}
#deliveryDemoOverlayV43 .v110CategoryRail .v83CategoryStrip::-webkit-scrollbar{
  display:block!important;
  height:4px!important;
}
#deliveryDemoOverlayV43 .v110CategoryRail .v83CategoryStrip::-webkit-scrollbar-track{
  background:#e3ebe5!important;
  border-radius:999px!important;
}
#deliveryDemoOverlayV43 .v110CategoryRail .v83CategoryStrip::-webkit-scrollbar-thumb{
  background:#6f9d80!important;
  border-radius:999px!important;
}
#deliveryDemoOverlayV43 .v110CategoryRail .v83Cat{
  scroll-snap-align:center;
  transition:background .18s ease,color .18s ease,border-color .18s ease,
             transform .18s ease,box-shadow .18s ease;
}
#deliveryDemoOverlayV43 .v110CategoryRail .v83Cat:active{
  transform:scale(.97);
}
#deliveryDemoOverlayV43 .v110CategoryRail .v83Cat.active{
  transform:translateY(-1px);
  box-shadow:0 5px 14px rgba(24,52,40,.13)!important;
}

.v110CategoryProgress{
  position:relative;
  z-index:3;
  width:calc(100% - 40px);
  height:3px;
  margin:0 auto;
  overflow:hidden;
  border-radius:999px;
  background:#dfe7e1;
  opacity:.95;
  transition:opacity .2s ease;
}
.v110CategoryProgress.hidden{opacity:0}
.v110CategoryProgress>span{
  display:block;
  width:25%;
  height:100%;
  border-radius:999px;
  background:#0b7139;
  transform:translateX(0);
  transition:width .18s ease,transform .12s linear;
}

@media(max-width:650px){
  #deliveryDemoOverlayV43 .v83SearchRow.v110SearchOnly{
    padding-bottom:9px!important;
  }
  #deliveryDemoOverlayV43 .v110CategoryRail .v83CategoryStrip{
    padding-left:17px!important;
    padding-right:17px!important;
    gap:8px!important;
    scrollbar-width:none!important;
  }
  #deliveryDemoOverlayV43 .v110CategoryRail .v83CategoryStrip::-webkit-scrollbar{
    display:none!important;
  }
  #deliveryDemoOverlayV43 .v110CategoryRail .v83Cat{
    min-height:46px!important;
    padding:8px 16px!important;
    font-size:14px!important;
  }
  .v110CategoryProgress{
    width:calc(100% - 34px);
    height:3px;
  }
}



.delivery111Pressed{
  animation:delivery111Press .13s ease!important;
}
@keyframes delivery111Press{
  0%{transform:scale(1)}
  45%{transform:scale(.965)}
  100%{transform:scale(1)}
}

.delivery111Busy{
  position:relative!important;
  cursor:wait!important;
  opacity:.82!important;
  pointer-events:none!important;
}
.delivery111Busy::after{
  content:"";
  display:inline-block;
  width:13px;
  height:13px;
  margin-left:9px;
  vertical-align:-2px;
  border:2px solid currentColor;
  border-right-color:transparent;
  border-radius:50%;
  animation:delivery111Spin .72s linear infinite;
}
@keyframes delivery111Spin{to{transform:rotate(360deg)}}

.config111FeedbackPanel{
  display:grid;
  gap:8px;
  padding:13px;
  border:1px solid #d6e4da;
  border-radius:13px;
  background:#fbfdfb;
}
.config111FeedbackHead{
  padding-bottom:7px;
  border-bottom:1px solid #e4ece6;
}
.config111FeedbackHead>div{
  display:grid;
  gap:2px;
}
.config111FeedbackHead strong{
  font-size:14px;
  color:#203128;
}
.config111FeedbackHead span{
  font-size:11px;
  color:#748078;
}
.config111ToggleRow{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  min-height:54px;
  padding:9px 10px;
  border:1px solid #e1e9e3;
  border-radius:11px;
  background:#fff;
  cursor:pointer;
}
.config111ToggleRow>span{
  display:grid;
  gap:2px;
}
.config111ToggleRow strong{
  font-size:12.5px;
  color:#28362d;
}
.config111ToggleRow small{
  font-size:10.5px!important;
  line-height:1.35;
  color:#7a867e!important;
}
.config111ToggleRow input{
  width:22px!important;
  height:22px!important;
  min-height:22px!important;
  accent-color:#0b7139;
}

@media(max-width:700px){
  .config111ToggleRow{
    min-height:62px;
  }
  .config111ToggleRow strong{
    font-size:13px;
  }
  .config111ToggleRow small{
    font-size:11px!important;
  }
}



.delivery76DriverForm input,
.delivery74DriverFields input{
  touch-action:manipulation;
  -webkit-user-select:text!important;
  user-select:text!important;
  caret-color:#0b7139;
}

.delivery76DriverForm input:focus,
.delivery74DriverFields input:focus{
  outline:none!important;
  border-color:#0b7139!important;
  box-shadow:0 0 0 3px rgba(11,113,57,.13)!important;
  background:#fff!important;
}

#delivery74DriverName,
#delivery74DriverPhone,
#delivery74DriverPlate{
  position:relative;
  z-index:2;
}

@media(max-width:700px){
  .delivery76DriverForm input,
  .delivery74DriverFields input{
    min-height:50px!important;
    font-size:16px!important;
  }
}



.motorized113SuccessShell,
.motorized113ClosedShell{
  min-height:100dvh!important;
  background:#f7faf8!important;
}

.motorized113TerminalHead{
  flex:0 0 auto!important;
}

.motorized113SuccessBody,
.motorized113ClosedBody{
  min-height:calc(100dvh - 185px)!important;
  justify-content:center!important;
  text-align:center!important;
}

.motorized113SuccessIcon{
  width:92px!important;
  height:92px!important;
  font-size:48px!important;
  box-shadow:0 12px 30px rgba(11,113,57,.16)!important;
}

.motorized113SuccessBody h2,
.motorized113ClosedBody h2{
  max-width:520px!important;
  font-size:30px!important;
  letter-spacing:-.025em!important;
}

.motorized113SuccessBody p,
.motorized113ClosedBody p{
  max-width:520px!important;
  font-size:18px!important;
}

.motorized113SuccessBody>small,
.motorized113ClosedBody>small{
  max-width:520px!important;
  font-size:13px!important;
}

.motorized113ClosedBadges{
  width:min(100%,520px);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:20px;
}

.motorized113ClosedBadges span{
  min-height:48px;
  display:grid;
  place-items:center;
  padding:8px 10px;
  border:1px solid #cfe4d5;
  border-radius:12px;
  background:#edf8f0;
  color:#21643a;
  font-size:11px;
  font-weight:900;
}

.motorized113TerminalFoot{
  display:grid!important;
  gap:3px!important;
  padding:14px 18px 18px!important;
  text-align:center!important;
  background:#fff!important;
  border-top:1px solid #e4ebe6!important;
}

.motorized113TerminalFoot strong{
  font-size:13px!important;
  color:#28362e!important;
}

.motorized113TerminalFoot small{
  font-size:10.5px!important;
}

@media(max-width:600px){
  .motorized113SuccessBody,
  .motorized113ClosedBody{
    min-height:calc(100dvh - 175px)!important;
    padding:32px 22px!important;
  }

  .motorized113SuccessIcon{
    width:84px!important;
    height:84px!important;
    font-size:43px!important;
  }

  .motorized113SuccessBody h2,
  .motorized113ClosedBody h2{
    font-size:27px!important;
  }

  .motorized113SuccessBody p,
  .motorized113ClosedBody p{
    font-size:17px!important;
  }

  .motorized113ClosedBadges{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }

  .motorized113ClosedBadges span{
    min-height:44px!important;
  }
}



.motorized113SuccessShell,
.motorized113ClosedShell{
  overflow:hidden!important;
}
.motorized113SuccessBody,
.motorized113ClosedBody{
  overflow:auto!important;
  -webkit-overflow-scrolling:touch;
}
.motorized113SuccessBody::before,
.motorized113ClosedBody::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}



html[data-app115-mode="customer"] #posApp,
html[data-app115-mode="motorized"] #posApp{
  display:none!important;
  visibility:hidden!important;
}

/* La tienda antigua ya no participa en /delivery/. */
html[data-app115-mode="customer"] #customerApp,
html[data-app115-mode="customer"] #integratedDeliveryShell{
  display:none!important;
}

/* En ruta de motorizado solo puede existir el shell temporal. */
html[data-app115-mode="motorized"] #deliveryDemoOverlayV43,
html[data-app115-mode="motorized"] #customerApp,
html[data-app115-mode="motorized"] #integratedDeliveryShell{
  display:none!important;
}



.delivery116PhoneHint{
  grid-column:1/-1;
  display:block;
  margin-top:-2px;
  padding:0 2px;
  color:#758279!important;
  font-size:10.5px!important;
  line-height:1.35!important;
}

@media(max-width:700px){
  .delivery116PhoneHint{
    font-size:11px!important;
  }
}






/* Al eliminar búsqueda, el banner aparece antes y la cabecera queda compacta. */
#deliveryDemoOverlayV43 .v83Top{
  padding-bottom:5px!important;
}
#deliveryDemoOverlayV43 .v83SearchRow,
#deliveryDemoOverlayV43 .v83Search{
  display:none!important;
}

/* Panel de categorías: explícito, grande y fácil de manipular. */
.v119CategoryPanel{
  margin:12px 16px 4px;
  padding:12px;
  border:1px solid #dce5df;
  border-radius:17px;
  background:#fff;
  box-shadow:0 5px 16px rgba(27,47,34,.045);
}

.v119CategoryHead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:9px;
  padding:0 3px;
}
.v119CategoryHead>div{
  display:grid;
  gap:1px;
}
.v119CategoryHead strong{
  color:#25342b;
  font-size:15px;
  line-height:1.15;
}
.v119CategoryHead small{
  color:#7b877f;
  font-size:10px;
}
.v119CategoryHead>span{
  flex:0 0 auto;
  color:#738079;
  font-size:10px;
  font-weight:800;
}

.v119PagerBody{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) 52px;
  gap:8px;
  align-items:stretch;
  min-height:58px;
}

.v119CategoryGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  min-width:0;
}

.v119CategoryButton{
  min-width:0!important;
  min-height:58px!important;
  padding:8px 7px!important;
  border:1px solid #d9e3dc!important;
  border-radius:14px!important;
  background:#fdfefd!important;
  color:#435149!important;
  box-shadow:none!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.15!important;
  text-align:center!important;
  overflow:hidden;
  transition:
    transform .12s ease,
    background .15s ease,
    color .15s ease,
    border-color .15s ease,
    box-shadow .15s ease!important;
}
.v119CategoryButton span{
  display:block;
  overflow-wrap:anywhere;
}
.v119CategoryButton.active{
  background:#18382a!important;
  border-color:#18382a!important;
  color:#fff!important;
  box-shadow:0 6px 14px rgba(24,56,42,.13)!important;
}
.v119CategoryButton:active,
.v119CategoryButton.v119Tap{
  transform:scale(.96)!important;
}

.v119PageArrow{
  min-width:52px!important;
  width:52px!important;
  min-height:58px!important;
  height:auto!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #cfded3!important;
  border-radius:14px!important;
  background:#eef8f1!important;
  color:#116b38!important;
  font-size:34px!important;
  font-weight:700!important;
  line-height:1!important;
  box-shadow:none!important;
}
.v119PageArrow:active:not(:disabled){
  transform:scale(.94)!important;
}
.v119PageArrow:disabled{
  opacity:.24!important;
  background:#f5f7f5!important;
  color:#8f9a93!important;
}

.v119CategoryFoot{
  min-height:25px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding-top:8px;
}
.v119CategoryFoot>strong{
  color:#5e6c63;
  font-size:10px;
  font-weight:900;
}
.v119CategoryDots{
  display:flex;
  align-items:center;
  gap:5px;
}
.v119CategoryDots span{
  width:6px;
  height:6px;
  border-radius:999px;
  background:#ccd7cf;
}
.v119CategoryDots span.active{
  width:18px;
  background:#14763e;
}

/* Microanimación: solo cambia el contenido, nunca mueve el selector. */
.v119CategorySwap .v83Grid{
  animation:v119ProductsIn .17s ease-out both;
}
@keyframes v119ProductsIn{
  from{opacity:.42;transform:translateY(3px)}
  to{opacity:1;transform:translateY(0)}
}

.v119PagerBody.v119SlideNext .v119CategoryGrid{
  animation:v119SlideNext .16s ease-out both;
}
.v119PagerBody.v119SlidePrev .v119CategoryGrid{
  animation:v119SlidePrev .16s ease-out both;
}
@keyframes v119SlideNext{
  from{opacity:.45;transform:translateX(10px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes v119SlidePrev{
  from{opacity:.45;transform:translateX(-10px)}
  to{opacity:1;transform:translateX(0)}
}

/* Título de la categoría más limpio. */
.v119SectionHead{
  margin-top:5px!important;
}
.v119SectionHead>div{
  display:grid;
  gap:1px;
}

/* Restos de selectores anteriores quedan neutralizados. */
.v118CategoryRail,
.v117CategoryDial,
.v117CenterSelector,
.v117DialCaption,
.v117DialArrow,
.v110CategoryProgress{
  display:none!important;
}

@media(max-width:700px){
  .v119CategoryPanel{
    margin:10px 12px 3px;
    padding:10px;
    border-radius:16px;
  }

  .v119CategoryHead{
    margin-bottom:8px;
  }
  .v119CategoryHead strong{
    font-size:15px;
  }
  .v119CategoryHead small{
    font-size:10.5px;
  }

  .v119PagerBody{
    grid-template-columns:48px minmax(0,1fr) 48px;
    gap:6px;
    min-height:60px;
  }

  .v119CategoryGrid{
    gap:6px;
  }

  .v119CategoryButton{
    min-height:60px!important;
    padding:8px 5px!important;
    font-size:12.5px!important;
    border-radius:13px!important;
  }

  .v119PageArrow{
    width:48px!important;
    min-width:48px!important;
    min-height:60px!important;
    border-radius:13px!important;
    font-size:32px!important;
  }

  .v119CategoryFoot{
    padding-top:7px;
  }
}

@media(max-width:390px){
  .v119CategoryPanel{
    margin-left:9px;
    margin-right:9px;
    padding:9px 7px;
  }
  .v119PagerBody{
    grid-template-columns:44px minmax(0,1fr) 44px;
    gap:5px;
  }
  .v119PageArrow{
    width:44px!important;
    min-width:44px!important;
  }
  .v119CategoryButton{
    font-size:11.5px!important;
    padding-left:3px!important;
    padding-right:3px!important;
  }
}



.admin120DailyQuick{
  min-height:42px;
  padding:8px 14px;
  border:1px solid #bcd8c5;
  border-radius:11px;
  background:#eef9f1;
  color:#126d39;
  font-weight:900;
  cursor:pointer;
}

.admin120DailyTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.admin120DailyTop>div{display:grid;gap:2px}
.admin120DailyTop>div>strong{font-size:18px}
.admin120DailyTop>div>span{font-size:11px;color:#758077}

.admin120DailyKpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-bottom:10px;
}
.admin120DailyKpis>div{
  min-height:86px;
  display:grid;
  align-content:center;
  gap:3px;
  padding:12px;
  border:1px solid #dce6df;
  border-radius:13px;
  background:#fff;
}
.admin120DailyKpis small{font-size:9px;font-weight:900;color:#728077;letter-spacing:.04em}
.admin120DailyKpis strong{font-size:20px;color:#203129}
.admin120DailyKpis span{font-size:9.5px;color:#7a867e}

.admin120DailyActions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:10px;
}
.admin120CashBox{padding:12px}
.admin120MoneyRows{display:grid;gap:6px}
.admin120MoneyRows>div{
  min-height:36px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:7px 8px;
  border:1px solid #e4eae6;
  border-radius:9px;
  background:#fbfcfb;
}
.admin120MoneyRows span{font-size:11px;color:#66736b}
.admin120MoneyRows strong{font-size:12px}
.admin120MoneyRows strong.plus{color:#16743d}
.admin120MoneyRows strong.minus{color:#a34d32}

@media(max-width:900px){
  .admin120DailyKpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin120DailyActions{grid-template-columns:1fr}
}
@media(max-width:700px){
  .admin120DailyQuick{width:100%;min-height:48px;font-size:14px}
  .admin120DailyTop{align-items:stretch;flex-direction:column}
  .admin120DailyTop .btn{min-height:48px}
  .admin120DailyKpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .admin120DailyKpis>div{min-height:92px;padding:10px}
  .admin120DailyKpis strong{font-size:19px}
}




/* V121.7: primer render sólido. La tienda no puede aparecer antes de la bienvenida. */
#v125WelcomeOverlay{display:none}
html.v126CustomerEntry,html.v126CustomerEntry body{background:#04100c!important}
html.v126CustomerEntry body> :not(#v125WelcomeOverlay){visibility:hidden!important}
html.v126CustomerEntry #v125WelcomeOverlay{display:flex!important;visibility:visible!important}
html:not(.v126CustomerEntry) #v125WelcomeOverlay{display:none!important}



.v125WelcomeOverlay{position:fixed;inset:0;z-index:170000;display:none;align-items:center;justify-content:center;padding:22px;background:radial-gradient(circle at 50% 35%,rgba(24,232,138,.14),transparent 34%),linear-gradient(180deg,rgba(2,9,7,.96),rgba(4,13,10,.985));backdrop-filter:blur(8px)}
.v125WelcomeOverlay.active{display:flex}.v125WelcomeOverlay.show .v125WelcomeCard{opacity:1;transform:translateY(0) scale(1)}
.v125WelcomeCard{position:relative;width:min(420px,100%);border-radius:28px;padding:28px 24px 24px;background:linear-gradient(180deg,rgba(8,22,17,.92),rgba(7,17,13,.9));border:1px solid rgba(75,113,92,.42);box-shadow:0 24px 80px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.03);display:grid;justify-items:center;gap:18px;overflow:hidden;opacity:0;transform:translateY(12px) scale(.985);transition:opacity .35s ease,transform .45s ease}
.v125Ambient{position:absolute;border-radius:999px;filter:blur(18px);opacity:.22;pointer-events:none}.v125AmbientA{width:170px;height:170px;left:-36px;top:-34px;background:radial-gradient(circle,#20e68f,transparent 68%);animation:v125FloatA 6s ease-in-out infinite}.v125AmbientB{width:190px;height:190px;right:-60px;bottom:-46px;background:radial-gradient(circle,#b7964e,transparent 70%);animation:v125FloatB 7s ease-in-out infinite}
.v125Skip{position:absolute;top:14px;right:14px;border:1px solid rgba(122,146,132,.35);background:rgba(255,255,255,.04);color:#d8e3dc;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;cursor:pointer}
.v125SealWrap{position:relative;padding:6px}
.v125Seal{position:relative;width:116px;height:116px;border-radius:32px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(14,44,33,.95),rgba(8,22,17,.98));border:1px solid rgba(72,136,103,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 38px rgba(0,0,0,.34)}
.v125SealGlow{position:absolute;inset:-10px;border-radius:38px;background:conic-gradient(from 90deg,rgba(18,232,138,.05),rgba(228,193,112,.32),rgba(18,232,138,.06),rgba(18,232,138,.05));filter:blur(10px);animation:v125PulseGlow 2.8s ease-in-out infinite}
.v125SealCore{position:relative;width:78px;height:78px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(180deg,#19e38b,#0d9c5d);color:#062517;font-size:34px;font-weight:1000;letter-spacing:.03em;box-shadow:0 12px 24px rgba(20,172,105,.28)}
.v125Copy{display:grid;gap:6px;text-align:center;color:#eef5f0;position:relative;z-index:2}.v125Copy small{font-size:11px;letter-spacing:.3em;color:#9eb0a6;font-weight:900}.v125Copy strong{font-size:29px;line-height:1.05}.v125Copy span{font-size:15px;color:#c8d5cd}
.v125Progress{width:min(220px,72vw);height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;position:relative}.v125Progress i{display:block;height:100%;width:40%;border-radius:999px;background:linear-gradient(90deg,#12e88a,#d2a85f,#12e88a);background-size:200% 100%;animation:v125ProgressFlow 1.1s linear infinite}
body.v125Lock{overflow:hidden}
@keyframes v125PulseGlow{0%,100%{transform:scale(.96);opacity:.58}50%{transform:scale(1.04);opacity:1}}
@keyframes v125ProgressFlow{0%{transform:translateX(-120%);background-position:0 0}100%{transform:translateX(320%);background-position:200% 0}}
@keyframes v125FloatA{0%,100%{transform:translate(0,0)}50%{transform:translate(14px,10px)}}
@keyframes v125FloatB{0%,100%{transform:translate(0,0)}50%{transform:translate(-12px,-8px)}}
@media(max-width:600px){.v125WelcomeCard{padding:26px 18px 22px;border-radius:24px}.v125Copy strong{font-size:24px}.v125Copy span{font-size:14px}.v125Seal{width:104px;height:104px}.v125SealCore{width:72px;height:72px;font-size:30px}}



#v49Checkout{--v127-kb:0px}
#v49Checkout .v49CheckoutFoot{position:fixed!important;left:0!important;right:0!important;bottom:var(--v127-kb)!important;z-index:130010!important;padding:12px 14px calc(12px + env(safe-area-inset-bottom))!important;background:rgba(255,255,255,.985)!important;box-shadow:0 -10px 28px rgba(18,45,31,.11)!important}
#v49Checkout .v49CheckoutBody{padding-bottom:110px!important}
#v49Checkout .v127DeliveryDataCard{gap:16px!important}
#v49Checkout .v127DeliveryDataCard .v49Field textarea{min-height:74px!important;resize:none!important}
#v49Checkout .v127GpsHint{display:block;margin-top:5px;color:#748078;font-size:12px;line-height:1.4}
#v49Checkout .v127GpsOnlyAction{grid-template-columns:1fr!important}
#v49Checkout .v127GpsOnlyAction button{width:100%!important}
@media(max-width:600px){#v49Checkout .v49CheckoutBody{padding:12px 12px 112px!important}#v49Checkout .v49CheckoutFoot{padding-left:12px!important;padding-right:12px!important}#v49Checkout .v127DeliveryDataCard{padding:15px!important}.v127DeliveryDataCard .v49Title p{font-size:13px!important}}



.v121LoginGate{position:fixed;inset:0;z-index:200000;background:#07110d;display:none;align-items:center;justify-content:center;padding:18px;font-family:Inter,system-ui,sans-serif}
.v121LoginGate.active{display:flex}.v121LoginCard{width:min(430px,100%);background:#0d1712;border:1px solid #244535;border-radius:24px;padding:26px;box-shadow:0 30px 80px #0009;color:#fff}
.v121LoginBrand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.v121LoginMark{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#12e88a;color:#052818;font-weight:1000;font-size:18px}.v121LoginBrand strong{font-size:22px;letter-spacing:.2px}.v121LoginBrand small{display:block;color:#8d9c95;margin-top:4px;font-size:11px;opacity:.86}
.v121LoginCard label{display:grid;gap:6px;margin:12px 0;color:#c9d6cf;font-size:12px;font-weight:800}.v121LoginCard input{min-height:48px;border-radius:12px;border:1px solid #2b4035;background:#111d17;color:#fff;padding:0 13px;font-size:16px;outline:none}.v121LoginCard input:focus{border-color:#12e88a}
.v121LoginBtn{width:100%;min-height:50px;border:0;border-radius:13px;background:#12e88a;color:#062719;font-weight:950;font-size:15px;cursor:pointer;margin-top:8px}.v121LoginError{min-height:20px;color:#ff9daa;font-size:12px;margin-top:10px}.v121LoginHelp{color:#7f9187;font-size:11px;line-height:1.45;margin-top:16px}
.v121SessionPill{position:fixed;right:12px;top:12px;z-index:120000;display:none;gap:7px;align-items:center;background:#0d1712;color:white;border:1px solid #29473a;border-radius:999px;padding:7px 9px 7px 12px;font-size:11px;box-shadow:0 8px 24px #0005}.v121SessionPill.active{display:flex}.v121SessionPill button{border:0;background:#22342b;color:#fff;border-radius:999px;padding:6px 9px;cursor:pointer}
.v121ConsentBox{display:grid;gap:10px}.v121ConsentBox label{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.4;color:#4b5c52}.v121ConsentBox input{width:18px;height:18px;flex:0 0 auto;margin-top:1px}
html[data-v121-role="Caja"] #view-warehouse,html[data-v121-role="Caja"] #view-delivery,html[data-v121-role="Caja"] #view-catalog,html[data-v121-role="Caja"] #view-apps,html[data-v121-role="Caja"] #view-admin,html[data-v121-role="Caja"] #view-config{display:none!important}
html[data-v121-role="Bodega"] #view-pos,html[data-v121-role="Bodega"] #view-catalog,html[data-v121-role="Bodega"] #view-apps,html[data-v121-role="Bodega"] #view-admin,html[data-v121-role="Bodega"] #view-config{display:none!important}
@media(max-width:700px){.v121SessionPill{top:6px;right:6px}.v121SessionPill span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

/* =========================================================
   MOTORIZADO · UI completa y robusta (Stable 1.1)
   ========================================================= */
#motorized74Overlay{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  background:
    radial-gradient(1200px 520px at 0% 0%, rgba(36,211,123,.16), transparent 52%),
    radial-gradient(900px 460px at 100% 0%, rgba(255,212,100,.10), transparent 48%),
    linear-gradient(180deg,#06130d 0%, #0b1811 32%, #f4f7f5 32%, #edf3ef 100%);
}
#motorized74Overlay.active{
  display:block!important;
}
html[data-app115-mode="motorized"] body{
  background:#08140e!important;
  overflow:hidden!important;
}
html[data-app115-mode="motorized"] #motorized74Overlay{
  display:block;
}
html[data-app115-mode="motorized"] #motorized74Overlay:not(.active){
  display:block;
}
html[data-app115-mode="motorized"] .motorized74Shell{
  opacity:1;
}
.motorized74Shell{
  height:100dvh;
  min-height:100dvh;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  opacity:0;
  transition:opacity .22s ease;
}
.motorized74Head{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:18px 18px 14px;
  color:#fff;
}
.motorized74Head::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg, rgba(255,255,255,.20), rgba(255,255,255,.05));
}
.motorized74Brand{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.motorized74Brand small{
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.72)!important;
}
.motorized74Brand strong{
  color:#fff;
  font-weight:800;
  letter-spacing:-.02em;
}
.motorized74State{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  white-space:nowrap;
  border:1px solid rgba(255,255,255,.1);
  color:#eaffef;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  font-weight:700;
}
.motorized74Body{
  min-height:0;
  overflow:auto;
  padding:14px 14px 22px;
  -webkit-overflow-scrolling:touch;
}
.motorized74Loading,
.motorized74Error{
  padding:28px 20px;
  border-radius:22px;
  text-align:center;
  font-size:15px;
  line-height:1.45;
  background:#fff;
  box-shadow:0 12px 28px rgba(7,21,13,.12);
}
.motorized74Error{
  color:#8f1d1d;
  background:#fff5f5;
  border:1px solid #ffd4d4;
}
.motorized74Progress{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:2px 0 14px;
}
.motorized74Prog{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding:8px 6px 10px;
  border-radius:18px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(17,54,32,.08);
  box-shadow:0 4px 14px rgba(9,30,18,.05);
}
.motorized74Prog span{
  width:28px;
  height:28px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-weight:800;
  color:#163223;
  background:#e4ebe6;
}
.motorized74Prog b{
  font-size:12px;
  line-height:1.1;
  color:#31443a;
}
.motorized74Prog.active{
  border-color:rgba(36,211,123,.30);
  box-shadow:0 8px 22px rgba(23,125,74,.12);
}
.motorized74Prog.active span,
.motorized74Prog.done span{
  background:linear-gradient(180deg,#1fa85f,#127b44);
  color:#fff;
}
.motorized74Prog.done b{
  color:#143221;
}
.motorized74Card{
  margin-bottom:14px;
  padding:16px;
  border-radius:22px;
  background:#fff;
  border:1px solid #e5ece7;
  box-shadow:0 10px 28px rgba(12,28,18,.08);
}
.motorized74OrderHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.motorized74OrderHead small{
  display:block;
  margin-bottom:4px;
  color:#728177;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.motorized74OrderHead strong{
  color:#15231b;
  font-weight:800;
}
.motorized74Total{
  font-size:22px;
  font-weight:900;
  color:#177547;
  letter-spacing:-.03em;
}
.motorized74Meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.motorized74Meta > div{
  padding:12px 13px;
  border-radius:16px;
  background:#f5f8f6;
  border:1px solid #e7eeea;
}
.motorized74Meta strong{
  display:block;
  color:#1a281f;
  line-height:1.35;
  word-break:break-word;
}
.motorized74Contact{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:12px;
}
.motorized74Contact a{
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:#fff;
  border:1px solid #d7e2dc;
  color:#123c27;
  text-decoration:none;
  font-weight:800;
  box-shadow:0 4px 10px rgba(17,42,28,.04);
}
.motorized74Items{
  display:grid;
  gap:10px;
}
.motorized74Item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:flex-start;
  padding:12px 0;
  border-top:1px solid #edf2ee;
}
.motorized74Item:first-child{
  border-top:0;
  padding-top:2px;
}
.motorized74Item span{
  color:#223128;
  line-height:1.4;
}
.motorized74Item strong{
  color:#1b2b20;
  white-space:nowrap;
}
.motorized74GpsBox{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.motorized74GpsBox strong{
  display:block;
  margin-bottom:4px;
  color:#13221a;
}
.motorized74GpsBox small{
  color:#66776d!important;
  line-height:1.4!important;
}
.motorized74GpsLed{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  font-weight:900;
  letter-spacing:.02em;
  color:#8a6a12;
  background:#fff3cf;
  border:1px solid #f3df9d;
}
.motorized74GpsLed.on{
  color:#0f693b;
  background:#dcf7e8;
  border-color:#aae6c2;
}
.motorized96GpsHelp{
  margin:-2px 0 10px;
  padding:11px 12px;
  border-radius:14px;
  font-size:12px;
  line-height:1.45;
  color:#6b4c12;
  background:#fff8dd;
  border:1px solid #f3e2a5;
}
.motorized74Map{
  overflow:hidden;
  border-radius:20px;
  border:1px solid #dbe7df;
  background:#edf3ef;
  min-height:280px;
}
#motorized74Map{
  width:100%;
  height:280px;
}
.motorized74Foot{
  padding:12px 14px calc(12px + env(safe-area-inset-bottom));
  background:rgba(247,250,248,.98);
  border-top:1px solid #dfe8e2;
  box-shadow:0 -8px 18px rgba(5,17,10,.05);
}
.motorized74Foot small{
  display:block;
  margin-top:10px;
  text-align:center;
  line-height:1.45;
  color:#63746a;
}
.motorized74Primary,
.motorized74Danger{
  width:100%;
  border:0;
  border-radius:18px;
  padding:0 18px;
  font-weight:900;
  letter-spacing:.01em;
  box-shadow:0 12px 24px rgba(15,93,53,.16);
}
.motorized74Primary{
  color:#fff;
  background:linear-gradient(180deg,#1d9a59,#0f7a44);
}
.motorized74Danger{
  color:#fff;
  background:linear-gradient(180deg,#d14d4d,#b53838);
  box-shadow:0 12px 24px rgba(145,35,35,.18);
}
.motorized74Primary[disabled],
.motorized74Danger[disabled]{
  opacity:.68;
  box-shadow:none;
}
.motorized98CompletedShell .motorized74Body,
.motorized113SuccessShell .motorized74Body,
.motorized113ClosedShell .motorized74Body{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.motorized98CompletedBody{
  width:min(100%,480px);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:12px;
  padding:28px 22px;
  border-radius:28px;
  background:#fff;
  border:1px solid #e3ece6;
  box-shadow:0 14px 36px rgba(8,26,16,.10);
}
.motorized98DoneIcon,
.motorized113SuccessIcon{
  width:82px;
  height:82px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-size:38px;
  font-weight:900;
  color:#fff;
  background:linear-gradient(180deg,#20b464,#14884b);
  box-shadow:0 14px 26px rgba(20,136,75,.22);
}
.motorized98DoneKicker{
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#137b45;
}
.motorized98CompletedBody h2{
  margin:0;
  font-size:28px;
  line-height:1.08;
  color:#15231b;
}
.motorized98CompletedBody p,
.motorized98CompletedBody small{
  color:#607168;
  line-height:1.55;
}
.motorized113ClosedBadges{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin-top:4px;
}
.motorized113ClosedBadges span{
  padding:8px 11px;
  border-radius:999px;
  background:#eff7f2;
  border:1px solid #d8e9de;
  color:#155536;
  font-size:12px;
  font-weight:800;
}
@media(max-width:700px){
  .motorized74Head{padding:14px 14px 12px}
  .motorized74Body{padding:12px 12px 18px}
  .motorized74Foot{padding:12px 12px calc(12px + env(safe-area-inset-bottom))}
  .motorized74Progress{gap:6px}
  .motorized74Prog{padding:8px 4px 9px;border-radius:16px}
  .motorized74Prog b{font-size:11px}
  .motorized74Meta{grid-template-columns:1fr}
  .motorized74Contact{grid-template-columns:1fr 1fr}
  .motorized74Map{min-height:250px}
  #motorized74Map{height:250px}
  .motorized74Total{font-size:20px}
  .motorized98CompletedBody h2{font-size:24px}
}


/* V1.5 · Reporte diario con inventario rápido */
.admin1215InventoryPanel{margin-top:8px;min-height:0;overflow:hidden}
.admin1215InventoryPanel>.adminPanelHead{margin-bottom:9px}
#admin1215InventoryBadge{font-size:11px;color:#0b7139;background:#eaf7ef;border:1px solid #d3ebdc;border-radius:999px;padding:6px 9px;white-space:nowrap}
.admin1215InventoryStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:9px}
.admin1215InventoryStats>div{display:grid;gap:2px;padding:9px 10px;border:1px solid #e2e9e4;border-radius:11px;background:#fbfdfb}
.admin1215InventoryStats small{font-size:8px;color:#758077;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.admin1215InventoryStats strong{font-size:13px;color:#1d2a22;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin1215InventoryHead,.admin1215InventoryRow{display:grid;grid-template-columns:minmax(180px,2fr) repeat(4,minmax(66px,.55fr)) minmax(80px,.7fr) minmax(82px,.7fr);gap:6px;align-items:center}
.admin1215InventoryHead{padding:7px 9px;background:#f1f6f2;border-radius:9px 9px 0 0;color:#66736b;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}
.admin1215InventoryList{max-height:310px;overflow:auto;border:1px solid #e2e8e3;border-top:0;border-radius:0 0 10px 10px;background:#fff}
.admin1215InventoryRow{padding:8px 9px;border-bottom:1px solid #edf1ee;font-size:9.5px;color:#26352c}
.admin1215InventoryRow:last-child{border-bottom:0}
.admin1215InventoryRow .prod{display:grid;gap:1px;min-width:0}
.admin1215InventoryRow .prod strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}
.admin1215InventoryRow .prod small{color:#7a867e;font-size:7.5px}
.admin1215InventoryRow>span:not(.prod){text-align:right;font-variant-numeric:tabular-nums}
.admin1215InventoryRow .adjPlus{color:#0b7d42;font-weight:900}
.admin1215InventoryRow .adjMinus{color:#b0382e;font-weight:900}
.admin1215State{justify-self:end;padding:4px 7px;border-radius:999px;font-size:7.5px;font-weight:900;white-space:nowrap}
.admin1215State.ok{background:#edf8f1;color:#11703e}.admin1215State.low{background:#fff4d8;color:#886100}.admin1215State.out{background:#fdebea;color:#a62d25}
.admin1215InventoryNote{margin-top:7px;font-size:8px;color:#78847c;line-height:1.35}
@media(max-width:900px){.admin1215InventoryStats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin1215InventoryPanel{overflow-x:auto}.admin1215InventoryHead,.admin1215InventoryList{min-width:760px}}
