/* =========================================================
   OPTIMIZACIÓN CLS / PAGESPEED — 2026-06-09
   Reserva espacios antes de que cargue JS, fuentes e imágenes.
   ========================================================= */
html { scroll-padding-top: 86px; }
body { overflow-anchor: none; }
.site-header { min-height: 70px; contain: layout paint; }
.header-inner { min-height: 70px; }
.logo-mark { width:72px !important; height:72px !important; min-width:72px !important; }
.logo-img { width:52px !important; height:52px !important; max-width:52px !important; max-height:52px !important; object-fit:contain !important; aspect-ratio:1/1; }
.logo-text { min-width: 118px; min-height: 43px; }
.section-header { min-height: 92px; }
.filters-bar { min-height: 92px; }
.table-wrap { min-height: 640px; contain-intrinsic-size: 640px; }

/* === FIX FINAL MODAL DETALLE DE VENTA === */
#saleDetailModal.cf-open,
#saleDetailModal:not(.hidden){
  display:flex !important;
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  align-items:center !important;
  justify-content:center !important;
  pointer-events:auto !important;
}
#saleDetailModal.hidden{display:none !important;}
#saleDetailModal .sale-detail-card{
  position:relative !important;
  z-index:1000000 !important;
  width:min(980px,94vw) !important;
  max-height:88vh !important;
  overflow:auto !important;
}
#saleDetailModal .modal-close,
.sale-detail-btn{pointer-events:auto !important; cursor:pointer !important;}


/* === FIX: bloqueo de POS sin sesión admin === */
body.pos-auth-locked{
  overflow:hidden !important;
}
body.pos-auth-locked > *:not(#posAuthRequiredModal){
  filter:blur(14px) !important;
  pointer-events:none !important;
  user-select:none !important;
}
.pos-auth-required-modal{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(0,0,0,.78);
  backdrop-filter:blur(18px);
}
.pos-auth-required-card{
  width:min(460px, 92vw);
  background:linear-gradient(145deg, rgba(18,18,18,.98), rgba(8,8,8,.98));
  border:1px solid rgba(65,65,255,.35);
  border-radius:22px;
  padding:28px;
  text-align:center;
  box-shadow:0 22px 70px rgba(0,0,0,.55);
}
.pos-auth-required-card h2{
  font-family:var(--font-display);
  color:var(--gold);
  font-size:2rem;
  margin:0 0 10px;
}
.pos-auth-required-card p{
  color:var(--white-soft);
  line-height:1.55;
  margin:0 0 22px;
}
.pos-auth-required-actions{
  display:flex;
  gap:12px;
  justify-content:center;
  flex-wrap:wrap;
}
.pos-auth-required-actions a,
.pos-auth-required-actions button{
  min-width:140px;
  justify-content:center;
}


/* === RESTAURACIÓN FINAL LISTA PRINCIPAL COMO public_html(3).zip === */
.catalog-table,
.catalog-table *{
  user-select:none;
}
.catalog-search,
#searchInput{
  user-select:text !important;
}
#catalogBody .col-name{
  min-width:230px !important;
}
#catalogBody .pf-name-line{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
  width:100% !important;
  line-height:1.05 !important;
}
#catalogBody .pf-name-gold{
  display:inline-block !important;
  width:auto !important;
  max-width:100% !important;
  flex:0 1 auto !important;
  margin:0 !important;
  vertical-align:middle !important;
}
#catalogBody .badges-desktop{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  flex:0 0 auto !important;
  margin-left:0 !important;
  vertical-align:middle !important;
}
#catalogBody .badges-mobile{
  display:none !important;
}
#catalogBody .pf-brand-gray{
  display:block !important;
  margin-top:4px !important;
}
#catalogBody .perfume-badge{
  transform:none !important;
  position:static !important;
}

/* Menú lateral restaurado y siempre visible al abrir */
.drawer{
  position:fixed !important;
  top:0 !important;
  right:-320px !important;
  width:300px !important;
  max-width:86vw !important;
  height:100vh !important;
  z-index:999998 !important;
  background:var(--black-card) !important;
  border-left:1px solid var(--black-border) !important;
  padding:80px 0 40px !important;
  display:flex !important;
  flex-direction:column !important;
  transition:right .28s ease !important;
  overflow-y:auto !important;
}
.drawer.open{ right:0 !important; }
.drawer-overlay{ z-index:999997 !important; }
.drawer-links{ display:block !important; visibility:visible !important; opacity:1 !important; }
.drawer-link{ display:flex !important; visibility:visible !important; opacity:1 !important; }
.drawer-close{ z-index:1000000 !important; }

@media (max-width:700px){
  #catalogBody .col-name{
    min-width:0 !important;
  }
  #catalogBody .pf-name-line{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:6px !important;
  }
  #catalogBody .badges-desktop{
    display:inline-flex !important;
  }
  #catalogBody .badges-mobile{
    display:none !important;
  }
  #catalogBody .pf-name-gold{
    display:inline !important;
    max-width:calc(100% - 110px) !important;
  }
}

/* =========================================================
   FIX FINAL REAL: MENÚ HAMBURGUESA + TÍTULO CATÁLOGO
   Motivo: la regla contain: layout paint en .site-header recortaba el drawer
   y por eso sólo se veía la franja superior con la X.
   ========================================================= */
.site-header{
  contain:none !important;
  overflow:visible !important;
}
.header-inner{
  overflow:visible !important;
}
.drawer{
  position:fixed !important;
  top:0 !important;
  right:-320px !important;
  width:300px !important;
  max-width:86vw !important;
  height:100vh !important;
  min-height:100vh !important;
  background:var(--black-card) !important;
  border-left:1px solid var(--black-border) !important;
  z-index:1000002 !important;
  padding:80px 0 40px !important;
  display:flex !important;
  flex-direction:column !important;
  overflow-y:auto !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  transition:right .28s ease !important;
}
.drawer.open,
body.cf-drawer-open .drawer{
  right:0 !important;
}
.drawer-overlay{
  position:fixed !important;
  inset:0 !important;
  z-index:1000001 !important;
  background:rgba(0,0,0,.62) !important;
  display:none !important;
}
.drawer-overlay.show,
body.cf-drawer-open .drawer-overlay{
  display:block !important;
}
.drawer-links{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  list-style:none !important;
  padding:0 20px !important;
  margin:0 !important;
}
.drawer-links li{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}
.drawer-link{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  visibility:visible !important;
  opacity:1 !important;
  color:var(--white-dim) !important;
  padding:16px 10px !important;
  text-decoration:none !important;
}
.drawer-admin{
  color:var(--gold) !important;
}
.drawer-close{
  position:absolute !important;
  top:20px !important;
  right:20px !important;
  z-index:1000003 !important;
}

/* Centrar correctamente el título del catálogo dentro de su tarjeta */
body:not(.pos-mode) .desktop-shop-layout .main-content .section-header,
body:not(.pos-mode) .section-header{
  min-height:110px !important;
  padding:24px 40px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  box-sizing:border-box !important;
}
body:not(.pos-mode) .section-title{
  margin:0 0 8px 0 !important;
  line-height:1.05 !important;
}
body:not(.pos-mode) .section-sub{
  margin:0 !important;
  line-height:1.35 !important;
}
@media (max-width:768px){
  body:not(.pos-mode) .desktop-shop-layout .main-content .section-header,
  body:not(.pos-mode) .section-header{
    min-height:96px !important;
    padding:20px 18px !important;
  }
}

/* =========================================================
   AJUSTE FINAL VISUAL: restaurar layout PC y etiquetas móvil
   ========================================================= */
@media (min-width:1025px){
  /* La tarjeta "Tu Cotización" estaba empujando y desacomodando el panel derecho. */
  body:not(.pos-mode) .desktop-shop-layout .quote-section > .section-header{
    display:none !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .quote-section{
    padding-top:0 !important;
    margin-top:0 !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .quote-panel{
    margin-top:0 !important;
  }

  /* Mantener únicamente el título del catálogo centrado dentro de su tarjeta. */
  body:not(.pos-mode) .desktop-shop-layout .main-content > .section-header{
    min-height:110px !important;
    padding:24px 40px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    margin:0 0 22px !important;
  }

  /* En escritorio las etiquetas rojas van junto al nombre. */
  #catalogBody .badges-desktop{
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;
    margin-left:0 !important;
  }
  #catalogBody .badges-mobile{
    display:none !important;
  }
}

@media (max-width:700px){
  /* En móvil las etiquetas rojas van debajo de la marca, no junto al nombre. */
  #catalogBody .pf-name-line{
    display:block !important;
    width:100% !important;
  }
  #catalogBody .pf-name-gold{
    display:block !important;
    max-width:none !important;
    width:100% !important;
  }
  #catalogBody .pf-brand-gray,
  #catalogBody .pf-brand{
    display:block !important;
    margin-top:3px !important;
  }
  #catalogBody .badges-desktop{
    display:none !important;
  }
  #catalogBody .badges-mobile{
    display:flex !important;
    width:100% !important;
    gap:5px !important;
    flex-wrap:wrap !important;
    margin-top:6px !important;
  }
  #catalogBody .badges-mobile .perfume-badge{
    font-size:.55rem !important;
    padding:4px 8px !important;
    border-radius:999px !important;
  }
}

/* === MODAL DETALLE DE VENTA PROFESIONAL === */
#saleDetailModal{
  background:rgba(0,0,0,.72) !important;
  backdrop-filter:blur(10px) !important;
}
#saleDetailModal .sale-detail-card{
  width:min(920px,94vw) !important;
  max-height:88vh !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid rgba(65,65,255,.28) !important;
  border-radius:26px !important;
  background:linear-gradient(145deg, rgba(22,22,22,.98), rgba(8,8,8,.98)) !important;
  box-shadow:0 30px 90px rgba(0,0,0,.62) !important;
}
#saleDetailModal .modal-close{
  top:18px !important;
  right:20px !important;
  width:38px !important;
  height:38px !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.1) !important;
  color:rgba(255,255,255,.78) !important;
  font-size:24px !important;
}
#saleDetailModal .modal-title{
  margin:0 !important;
  padding:28px 70px 12px 32px !important;
  color:var(--gold) !important;
  font-size:28px !important;
  letter-spacing:.02em !important;
  border-bottom:1px solid rgba(65,65,255,.16) !important;
}
#saleDetailModal .sale-detail-body{
  padding:24px 32px 30px !important;
  max-height:calc(88vh - 88px) !important;
  overflow:auto !important;
}
.sale-ticket-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  padding:18px 20px;
  border-radius:18px;
  background:linear-gradient(135deg, rgba(65,65,255,.14), rgba(255,255,255,.035));
  border:1px solid rgba(65,65,255,.22);
  margin-bottom:18px;
}
.sale-ticket-kicker,
.sale-ticket-date{
  display:block;
  color:rgba(255,255,255,.58);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-family:inherit;
}
.sale-ticket-code{
  display:block;
  margin-top:6px;
  color:var(--gold);
  font-size:22px;
  line-height:1.15;
  word-break:break-word;
}
.sale-ticket-date{
  text-align:right;
  padding-top:5px;
  text-transform:none;
  letter-spacing:.04em;
}
.sale-detail-info,
.sale-payment-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:12px;
  margin-bottom:18px;
}
.sale-payment-grid{
  grid-template-columns:repeat(2, minmax(0,1fr));
}
.sale-info-card,
.sale-payment-card{
  min-height:78px;
  padding:15px 16px;
  border-radius:16px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
}
.sale-info-card span,
.sale-payment-card span{
  color:rgba(255,255,255,.54);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.15em;
}
.sale-info-card strong,
.sale-payment-card strong{
  color:#fff;
  font-size:17px;
  line-height:1.2;
}
.sale-payment-card strong{ color:var(--gold); font-size:20px; }
#saleDetailModal .sale-detail-table{
  margin:0 0 18px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:rgba(0,0,0,.18) !important;
}
#saleDetailModal .sale-detail-table .admin-table{
  min-width:720px;
}
#saleDetailModal .sale-detail-table th{
  color:var(--gold) !important;
  background:rgba(65,65,255,.07) !important;
  padding:14px 16px !important;
}
#saleDetailModal .sale-detail-table td{
  padding:16px !important;
  vertical-align:middle !important;
  border-bottom:1px solid rgba(255,255,255,.07) !important;
}
#saleDetailModal .sale-product-cell span{
  display:block;
  color:rgba(255,255,255,.58);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:5px;
}
#saleDetailModal .sale-product-cell strong{
  display:block;
  color:#fff;
  font-size:16px;
  line-height:1.25;
}
.sale-empty-products{
  text-align:center;
  color:rgba(255,255,255,.58);
  padding:22px !important;
}
#saleDetailModal .sale-detail-totals{
  width:min(360px,100%);
  margin-left:auto;
  padding:18px 20px;
  border-radius:18px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(65,65,255,.16);
}
#saleDetailModal .sale-detail-totals div{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:7px 0;
  color:rgba(255,255,255,.72);
}
#saleDetailModal .sale-detail-totals span{
  color:rgba(255,255,255,.62);
}
#saleDetailModal .sale-detail-totals strong{
  color:#fff;
  font-size:17px;
}
#saleDetailModal .sale-detail-totals .sale-total-final{
  border-top:1px solid rgba(65,65,255,.25);
  margin-top:8px;
  padding-top:14px;
}
#saleDetailModal .sale-detail-totals .sale-total-final span,
#saleDetailModal .sale-detail-totals .sale-total-final strong{
  color:var(--gold);
  font-size:22px;
  font-weight:800;
}
@media (max-width: 760px){
  #saleDetailModal .sale-detail-card{
    width:94vw !important;
    border-radius:22px !important;
  }
  #saleDetailModal .modal-title{
    padding:24px 62px 12px 22px !important;
    font-size:24px !important;
  }
  #saleDetailModal .sale-detail-body{
    padding:18px 18px 24px !important;
  }
  .sale-ticket-head{
    flex-direction:column;
  }
  .sale-ticket-date{
    text-align:left;
  }
  .sale-detail-info{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
  .sale-payment-grid{
    grid-template-columns:1fr;
  }
  #saleDetailModal .sale-detail-table{
    overflow-x:auto !important;
  }
  #saleDetailModal .sale-detail-totals{
    width:100%;
  }
}

/* === FIX FINAL REAL: detalle de venta limpio, legible y sin textos pegados === */
#saleDetailModal.cf-sale-detail-modal,
#saleDetailModal{
  background:rgba(0,0,0,.78) !important;
  backdrop-filter:blur(12px) !important;
  align-items:center !important;
  justify-content:center !important;
  padding:22px !important;
}
#saleDetailModal .modal-card.sale-detail-card{display:none !important;}
.cf-detail-card{
  width:min(980px,96vw) !important;
  max-height:90vh !important;
  overflow:hidden !important;
  border-radius:24px !important;
  background:linear-gradient(145deg,#151515,#070707) !important;
  border:1px solid rgba(65,65,255,.28) !important;
  box-shadow:0 35px 110px rgba(0,0,0,.7) !important;
  position:relative !important;
}
.cf-detail-close{
  position:absolute !important;
  top:18px !important;
  right:18px !important;
  width:40px !important;
  height:40px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:rgba(255,255,255,.06) !important;
  color:#fff !important;
  font-size:25px !important;
  line-height:1 !important;
  cursor:pointer !important;
  z-index:5 !important;
}
.cf-detail-header{
  padding:28px 76px 22px 30px !important;
  border-bottom:1px solid rgba(65,65,255,.16) !important;
  background:radial-gradient(circle at left top, rgba(65,65,255,.12), transparent 42%) !important;
}
.cf-detail-label{
  display:block !important;
  color:rgba(255,255,255,.52) !important;
  font-size:11px !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  margin-bottom:8px !important;
}
.cf-detail-header h3{
  margin:0 !important;
  color:var(--gold) !important;
  font-family:'Cormorant Garamond',serif !important;
  font-size:clamp(28px,4vw,42px) !important;
  line-height:1.05 !important;
  overflow-wrap:anywhere !important;
}
.cf-detail-body{
  padding:26px 30px 30px !important;
  max-height:calc(90vh - 120px) !important;
  overflow:auto !important;
}
.cf-detail-summary{
  display:grid !important;
  grid-template-columns:1fr 220px !important;
  gap:16px !important;
  margin-bottom:16px !important;
}
.cf-summary-main{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
}
.cf-summary-main div,
.cf-summary-total,
.cf-detail-metrics div,
.cf-total-box{
  border:1px solid rgba(255,255,255,.08) !important;
  background:rgba(255,255,255,.035) !important;
  border-radius:16px !important;
}
.cf-summary-main div{
  padding:15px 16px !important;
  min-height:78px !important;
}
.cf-summary-main span,
.cf-summary-total span,
.cf-detail-metrics span,
.cf-total-box span{
  display:block !important;
  color:rgba(255,255,255,.52) !important;
  font-size:11px !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  margin-bottom:7px !important;
}
.cf-summary-main strong,
.cf-detail-metrics strong{
  display:block !important;
  color:#fff !important;
  font-size:16px !important;
  line-height:1.25 !important;
}
.cf-summary-total{
  padding:18px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  border-color:rgba(65,65,255,.28) !important;
  background:linear-gradient(145deg, rgba(65,65,255,.13), rgba(255,255,255,.035)) !important;
}
.cf-summary-total strong{
  color:var(--gold) !important;
  font-size:30px !important;
  line-height:1 !important;
}
.cf-detail-metrics{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  margin-bottom:16px !important;
}
.cf-detail-metrics div{
  padding:14px 16px !important;
}
.cf-products-box{
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:18px !important;
  overflow:auto !important;
  margin-bottom:16px !important;
  background:rgba(0,0,0,.22) !important;
}
.cf-detail-table{
  width:100% !important;
  border-collapse:collapse !important;
  min-width:720px !important;
}
.cf-detail-table th{
  color:var(--gold) !important;
  background:rgba(65,65,255,.08) !important;
  text-align:left !important;
  font-size:11px !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  padding:14px 16px !important;
}
.cf-detail-table td{
  color:#fff !important;
  padding:16px !important;
  border-top:1px solid rgba(255,255,255,.07) !important;
  vertical-align:middle !important;
}
.cf-detail-table td:nth-child(3),
.cf-detail-table td:nth-child(4),
.cf-detail-table td:nth-child(5),
.cf-detail-table th:nth-child(3),
.cf-detail-table th:nth-child(4),
.cf-detail-table th:nth-child(5){
  text-align:right !important;
}
.cf-product-brand{
  display:block !important;
  color:rgba(255,255,255,.55) !important;
  font-size:12px !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  margin-bottom:5px !important;
}
.cf-detail-table td strong{
  display:block !important;
  color:#fff !important;
  font-size:16px !important;
  line-height:1.25 !important;
}
.cf-total-box{
  width:min(390px,100%) !important;
  margin-left:auto !important;
  padding:16px 18px !important;
  border-color:rgba(65,65,255,.18) !important;
}
.cf-total-box div{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  padding:8px 0 !important;
}
.cf-total-box span{margin:0 !important; text-transform:none !important; letter-spacing:.02em !important; font-size:15px !important;}
.cf-total-box strong{color:#fff !important; font-size:18px !important;}
.cf-total-line{
  margin-top:8px !important;
  padding-top:14px !important;
  border-top:1px solid rgba(65,65,255,.24) !important;
}
.cf-total-line span,
.cf-total-line strong{color:var(--gold) !important; font-weight:800 !important; font-size:24px !important;}
.cf-empty-sale{text-align:center !important; color:rgba(255,255,255,.55) !important; padding:24px !important;}
@media(max-width:780px){
  #saleDetailModal{padding:12px !important;}
  .cf-detail-card{border-radius:20px !important; width:96vw !important;}
  .cf-detail-header{padding:24px 64px 18px 20px !important;}
  .cf-detail-body{padding:18px 18px 22px !important;}
  .cf-detail-summary{grid-template-columns:1fr !important;}
  .cf-summary-main{grid-template-columns:1fr !important;}
  .cf-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .cf-summary-total strong{font-size:27px !important;}
}


/* ==========================================================
   IDENTIDAD VISUAL 2026 — PERFUMES ACAPULCO
   Fondo: #010123 | Botones/acento: #4141ff | Fuente: Montserrat
   ========================================================== */
:root{
  --black:#010123;
  --black-soft:#010123;
  --black-card:#090936;
  --black-border:rgba(255,255,255,.16);
  --gold:#4141ff;
  --gold-light:#6868ff;
  --gold-dark:#2f2fd9;
  --white:#ffffff;
  --white-dim:#e7e7f2;
  --grey:#8e8ea8;
  --grey-light:#b8b8ca;
  --shadow-glow:0 0 40px rgba(65,65,255,.22);
}

html,body,button,input,select,textarea,
*,*::before,*::after{
  font-family:'Montserrat',sans-serif !important;
}

body{
  background:#010123 !important;
  color:#fff !important;
}

.site-header{
  background:rgba(1,1,35,.94) !important;
  border-bottom-color:rgba(255,255,255,.14) !important;
}

.logo-mark{
  width:64px;
  height:64px;
  overflow:visible;
}
.logo-img{
  width:58px !important;
  height:58px !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain;
  filter:drop-shadow(0 0 10px rgba(65,65,255,.28));
}
.logo-link:hover .logo-img{
  filter:drop-shadow(0 0 12px rgba(65,65,255,.75));
}
.logo-main,.logo-sub,.section-title,.hero-title,.modal-title,
.footer-heading,.stat-val{
  font-family:'Montserrat',sans-serif !important;
}
.logo-main{
  color:#fff !important;
  font-size:1.65rem !important;
  font-weight:800 !important;
  letter-spacing:4px !important;
  line-height:1 !important;
}
.logo-sub{
  color:#b9b9d0 !important;
  font-weight:500 !important;
  letter-spacing:4px !important;
}

.gold,.price-100k,.pf-brand,.qi-brand,.drawer-admin,
.footer-heading,.modal-title,.stat-val.gold{
  color:#4141ff !important;
}

button,.btn-gold,.hero-cta,.add-btn,.mobile-filter-toggle,
.admin-primary-btn,.btn-primary{
  font-family:'Montserrat',sans-serif !important;
}

.btn-gold,.add-btn,.chip.active,.modal-opt.selected,.cart-count,
.admin-primary-btn,.btn-primary{
  background:#4141ff !important;
  border-color:#4141ff !important;
  color:#fff !important;
}
.btn-gold:hover,.add-btn:hover,.admin-primary-btn:hover,.btn-primary:hover{
  background:#6868ff !important;
  border-color:#6868ff !important;
  color:#fff !important;
}

.btn-outline,.chip,.hero-cta,.social-btn,.qty-btn,.qi-qty-btn,
.mobile-filter-toggle{
  border-color:#4141ff !important;
}
.btn-outline:hover,.chip:hover,.hero-cta:hover,.social-btn:hover,
.qty-btn:hover,.qi-qty-btn:hover,.mobile-filter-toggle:hover{
  background:#4141ff !important;
  border-color:#4141ff !important;
  color:#fff !important;
}

.search-input,.form-input,input,select,textarea{
  background:#fff !important;
  color:#090909 !important;
  border-color:rgba(65,65,255,.55) !important;
}
.search-input::placeholder,.form-input::placeholder,input::placeholder,textarea::placeholder{
  color:#555 !important;
}
.search-input:focus,.form-input:focus,input:focus,select:focus,textarea:focus{
  border-color:#4141ff !important;
  box-shadow:0 0 0 3px rgba(65,65,255,.2) !important;
}

.catalog-table thead,.catalog-table th{
  background:#4141ff !important;
  color:#fff !important;
}
.catalog-table tbody tr,.quote-panel,.modal-card,.drawer,
.stat-box,.table-wrap,.admin-card,.pos-card{
  background:#090936;
  color:#fff;
}

/* Los elementos con fondo blanco usan texto negro. */
[style*="background: white"],[style*="background:#fff"],[style*="background: #fff"],
.bg-white,.white-card{
  color:#000 !important;
}

::-webkit-scrollbar-track{background:#010123}
::-webkit-scrollbar-thumb{background:#4141ff}

@media(max-width:640px){
  .logo-mark{width:52px;height:52px}
  .logo-img{width:48px !important;height:48px !important}
  .logo-main{font-size:1.18rem !important;letter-spacing:2.5px !important}
  .logo-sub{font-size:.68rem !important;letter-spacing:2.4px !important}
}


/* ==========================================================
   AJUSTE FINAL — PERFUMES ACAPULCO
   Mantiene la tabla gris; el resto de la interfaz usa #010123.
   Los logotipos se muestran con sus colores originales, sin filtros.
   ========================================================== */
:root{
  --black:#010123 !important;
  --black-soft:#010123 !important;
  --black-card:#010123 !important;
  --black-border:rgba(65,65,255,.55) !important;
  --gold:#4141ff !important;
  --gold-light:#6868ff !important;
  --gold-dark:#2f2fd9 !important;
  --white:#fff !important;
  --white-dim:#ededf7 !important;
}

html,
body,
body:not(.pos-mode),
body.admin-page{
  background:#010123 !important;
  background-color:#010123 !important;
  color:#fff !important;
}

.site-header,
.drawer,
.desktop-shop-layout,
.main-content,
.quote-section,
.site-footer,
.admin-section,
.pos-section{
  background-color:#010123 !important;
}

.site-header{
  border-bottom:1px solid rgba(65,65,255,.55) !important;
}

/* Logo exacto suministrado: nada de recoloración o filtros. */
.logo-mark{
  width:76px !important;
  height:66px !important;
  min-width:76px !important;
  overflow:visible !important;
}
.logo-img{
  width:72px !important;
  height:54px !important;
  max-width:72px !important;
  max-height:54px !important;
  object-fit:contain !important;
  aspect-ratio:auto !important;
  filter:none !important;
  transform:none;
}
.logo-link:hover .logo-img{
  filter:none !important;
  transform:scale(1.025) !important;
}
.brand-name-wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:auto !important;
  min-width:0 !important;
  height:auto !important;
  padding:0 !important;
}
.brand-name-img{
  display:block !important;
  width:clamp(190px, 19vw, 315px) !important;
  max-width:315px !important;
  height:auto !important;
  object-fit:contain !important;
  filter:none !important;
}
.footer-brand-name-wrap{
  justify-content:center !important;
}
.footer-brand-name-img{
  width:min(285px, 88%) !important;
  max-width:285px !important;
}

.pos-header-logo{
  width:86px !important;
  height:58px !important;
  object-fit:contain !important;
  filter:none !important;
}
.pos-header-branding{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}
.pos-brand-name-img{
  display:block !important;
  width:260px !important;
  max-width:28vw !important;
  height:auto !important;
  filter:none !important;
}

/* Fondo general azul, incluidas las tarjetas que antes se veían grises. */
body:not(.pos-mode) .desktop-shop-layout .main-content > .section-header,
body:not(.pos-mode) .section-header,
.quote-panel,
.site-footer,
.stat-box,
.modal-card,
.admin-card,
.pos-card,
.admin-login-card,
.admin-header,
.pos-header{
  background:#010123 !important;
  background-image:none !important;
  border-color:rgba(65,65,255,.58) !important;
  box-shadow:0 16px 38px rgba(0,0,0,.28) !important;
}

body:not(.pos-mode) .desktop-shop-layout .quote-panel,
body:not(.pos-mode) .desktop-shop-layout .site-footer{
  background:#010123 !important;
  background-image:none !important;
  border:1px solid rgba(65,65,255,.58) !important;
}

/* La tabla de perfumes sí permanece gris, como se solicitó. */
body:not(.pos-mode) .desktop-shop-layout .table-wrap,
.table-wrap{
  background:#17171c !important;
  background-image:none !important;
  border:1px solid #4141ff !important;
  box-shadow:0 18px 45px rgba(0,0,0,.34) !important;
}
.catalog-table{
  background:#17171c !important;
}
.catalog-table thead,
.catalog-table thead tr,
.catalog-table th{
  background:#4141ff !important;
  color:#fff !important;
  border-color:#6868ff !important;
}
.catalog-table tbody tr{
  background:#202026 !important;
  color:#fff !important;
}
.catalog-table tbody tr:nth-child(even){
  background:#19191f !important;
}
.catalog-table tbody tr:hover{
  background:#2b2b33 !important;
}
.catalog-table td{
  color:#fff !important;
  border-color:rgba(65,65,255,.30) !important;
}
.catalog-table .pf-brand,
.catalog-table .pf-brand-gray,
.catalog-table .pf-name-gold,
.catalog-table .product-name{
  color:#fff !important;
}

/* Todos los marcos/accentos que todavía podían verse dorados quedan azules. */
.section-header,
.quote-panel,
.site-footer,
.stat-box,
.table-wrap,
.modal-card,
.drawer,
.admin-card,
.pos-card,
.search-input,
.form-input,
.chip,
.social-btn,
.btn-outline,
.qty-btn,
.qi-qty-btn{
  border-color:rgba(65,65,255,.65) !important;
}

.section-sub,
.footer-tagline,
.quote-note,
.quote-empty{
  color:#d6d6e8 !important;
}

.footer-bottom p{
  color:#d6d6e8 !important;
}

@media (min-width:1025px){
  body:not(.pos-mode){
    background:#010123 !important;
  }
  body:not(.pos-mode) .desktop-shop-layout{
    background:#010123 !important;
  }
}

@media (max-width:768px){
  .header-inner{
    padding:0 1rem !important;
  }
  .logo-mark{
    width:58px !important;
    min-width:58px !important;
    height:56px !important;
  }
  .logo-img{
    width:56px !important;
    height:42px !important;
    max-width:56px !important;
    max-height:42px !important;
  }
  .brand-name-img{
    width:clamp(150px, 48vw, 225px) !important;
  }
  .pos-brand-name-img{
    width:190px !important;
    max-width:48vw !important;
  }
}

@media (max-width:430px){
  .logo-link{gap:7px !important;}
  .logo-mark{
    width:48px !important;
    min-width:48px !important;
  }
  .logo-img{
    width:48px !important;
    height:36px !important;
    max-width:48px !important;
    max-height:36px !important;
  }
  .brand-name-img{
    width:145px !important;
  }
}

/* Especificidad final del encabezado: evita que reglas antiguas deformen las imágenes nuevas. */
.site-header .logo-link{
  align-items:center !important;
  gap:12px !important;
}
.site-header .logo-mark{
  width:76px !important;
  min-width:76px !important;
  height:66px !important;
  flex:0 0 76px !important;
  overflow:visible !important;
}
.site-header .logo-img{
  width:72px !important;
  height:54px !important;
  max-width:72px !important;
  max-height:54px !important;
  object-fit:contain !important;
  aspect-ratio:auto !important;
  filter:none !important;
}
.site-header .logo-text.brand-name-wrap{
  display:flex !important;
  grid-template-columns:none !important;
  grid-template-areas:none !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
}
.site-header .brand-name-img{
  display:block !important;
  width:clamp(190px,19vw,315px) !important;
  max-width:315px !important;
  height:auto !important;
  filter:none !important;
}
body:not(.pos-mode) .desktop-shop-layout .footer-brand .logo-text.footer-brand-name-wrap,
.site-footer .logo-text.footer-brand-name-wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
}
body:not(.pos-mode) .desktop-shop-layout .footer-brand .footer-brand-name-img,
.site-footer .footer-brand-name-img{
  display:block !important;
  width:min(285px,88%) !important;
  max-width:285px !important;
  height:auto !important;
  filter:none !important;
}
@media(max-width:768px){
  .site-header .logo-link{gap:8px !important;}
  .site-header .logo-mark{
    width:58px !important;
    min-width:58px !important;
    height:56px !important;
    flex-basis:58px !important;
  }
  .site-header .logo-img{
    width:56px !important;
    height:42px !important;
    max-width:56px !important;
    max-height:42px !important;
  }
  .site-header .brand-name-img{
    width:clamp(150px,48vw,225px) !important;
  }
}
@media(max-width:430px){
  .site-header .logo-mark{
    width:48px !important;
    min-width:48px !important;
    flex-basis:48px !important;
  }
  .site-header .logo-img{
    width:48px !important;
    height:36px !important;
    max-width:48px !important;
    max-height:36px !important;
  }
  .site-header .brand-name-img{width:145px !important;}
}

/* ==========================================================
   AJUSTES SOLICITADOS — 2026-07-31
   Modal, encabezado, tabla y botón de WhatsApp.
   ========================================================== */

/* Contornos del modal exclusivamente en azul. */
#addToCartModal .modal-card,
#addToCartModal .modal-product-image-panel,
#modalOptions .modal-opt,
#modalOptions .modal-sellado-row .modal-opt,
#modalOptions .modal-decants-row .modal-opt{
  border-color:rgba(65,65,255,.78) !important;
}

#addToCartModal .modal-product-image-panel{
  border-width:1.5px !important;
  box-shadow:inset 0 0 0 1px rgba(65,65,255,.06) !important;
}

/* Solo la opción realmente seleccionada usa fondo azul.
   Perfume sellado NO debe permanecer azul al seleccionar un decant. */
#modalOptions .modal-opt.selected{
  background:#4141ff !important;
  border-color:#6868ff !important;
  color:#080808 !important;
}

/* Precios de perfume completo y decants con mayor peso visual. */
#modalOptions .modal-opt small,
#modalOptions .modal-sellado-row .modal-opt small,
#modalOptions .modal-decants-row .modal-opt small{
  font-family:'Montserrat',sans-serif !important;
  font-weight:800 !important;
  opacity:1 !important;
}

#modalOptions .modal-opt-label,
#modalOptions .modal-sellado-row .modal-opt-label,
#modalOptions .modal-decants-row .modal-opt-label{
  font-family:'Montserrat',sans-serif !important;
  font-weight:800 !important;
}

/* Logo y nombre centrados entre sí y alineados con el borde izquierdo del catálogo. */
.site-header .logo-link{
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
}
.site-header .logo-mark,
.site-header .logo-text.brand-name-wrap{
  align-self:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 !important;
}
.site-header .logo-img{
  transform:translateY(-1px) !important;
}
.site-header .brand-name-img{
  margin:0 !important;
  transform:none !important;
}

@media (min-width:1025px){
  .site-header .header-inner{
    width:min(1480px, calc(100% - 72px)) !important;
    max-width:none !important;
    margin:0 auto !important;
    padding:0 !important;
  }
}

@media (min-width:769px) and (max-width:1024px){
  .site-header .header-inner{
    width:calc(100% - 40px) !important;
    max-width:none !important;
    margin:0 auto !important;
    padding:0 !important;
  }
}

/* Tabla: nombre blanco en Montserrat gruesa y categoría con mejor legibilidad. */
#catalogBody .pf-name,
#catalogBody .pf-name-gold{
  color:#fff !important;
  font-family:'Montserrat',sans-serif !important;
  font-weight:800 !important;
  letter-spacing:.1px !important;
}

#catalogBody .pf-brand,
#catalogBody .pf-brand-gray{
  font-family:'Montserrat',sans-serif !important;
  font-weight:600 !important;
}

#catalogBody td:nth-child(3) > span{
  font-family:'Montserrat',sans-serif !important;
  font-size:.76rem !important;
  font-weight:800 !important;
  letter-spacing:.8px !important;
  color:#6868ff !important;
}

/* Botón Agregar centrado dentro de la columna Acción. */
@media (min-width:769px){
  #catalogBody .action-cell{
    display:table-cell !important;
    text-align:center !important;
    vertical-align:middle !important;
    padding:14px 12px !important;
  }

  #catalogBody .btn-add{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:92px !important;
    margin:0 auto !important;
    text-align:center !important;
  }
}

/* Icono de WhatsApp blanco en el botón Cotizar. */
#copyQuoteBtn .wa-btn-icon{
  filter:brightness(0) invert(1) !important;
  opacity:1 !important;
}

/* ==========================================================
   AJUSTES FINALES DE CONTROLES — 2026-07-31
   Inventario legible, campos grises, nombres equilibrados y
   navegación del punto de venta completamente azul.
   ========================================================== */

/* 1) Campos de escritura y selección: interior gris oscuro. */
body input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body select,
body textarea,
body .search-input,
body .form-input,
body.pos-mode .pos-search-box .form-input,
body.pos-mode .pos-qty-input,
body.pos-mode .pos-price-input,
body.pos-mode .pos-type-select,
body.pos-mode .pos-summary .form-input,
body.pos-mode .pos-payment-summary-select,
body.pos-mode .pos-cash-input {
  background:#2b2b32 !important;
  background-color:#2b2b32 !important;
  color:#ffffff !important;
  border-color:rgba(104,104,255,.72) !important;
  -webkit-text-fill-color:#ffffff !important;
  caret-color:#ffffff !important;
  box-shadow:none !important;
}

body input:not([type="checkbox"]):not([type="radio"]):not([type="file"])::placeholder,
body textarea::placeholder,
body .search-input::placeholder,
body .form-input::placeholder {
  color:#b8b8c8 !important;
  -webkit-text-fill-color:#b8b8c8 !important;
  opacity:1 !important;
}

body select option,
body .form-input option,
body.pos-mode .pos-type-select option,
body.pos-mode .pos-payment-summary-select option {
  background:#2b2b32 !important;
  color:#ffffff !important;
}

body input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
body select:focus,
body textarea:focus,
body .search-input:focus,
body .form-input:focus,
body.pos-mode .pos-qty-input:focus,
body.pos-mode .pos-price-input:focus,
body.pos-mode .pos-type-select:focus {
  background:#303039 !important;
  border-color:#6868ff !important;
  box-shadow:0 0 0 3px rgba(65,65,255,.22) !important;
  outline:none !important;
}

/* Mantener los controles deshabilitados legibles, sin volverlos blancos. */
body input:disabled,
body select:disabled,
body textarea:disabled {
  background:#222229 !important;
  color:#858597 !important;
  -webkit-text-fill-color:#858597 !important;
  opacity:1 !important;
}

/* 2) Inventario: estado activo azul y estado inactivo gris, con texto explícito. */
#inventoryTable .switch {
  display:inline-flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  min-width:78px !important;
  cursor:pointer !important;
}

#inventoryTable .inv-toggle {
  -webkit-appearance:none !important;
  appearance:none !important;
  display:block !important;
  position:relative !important;
  width:52px !important;
  min-width:52px !important;
  height:28px !important;
  margin:0 !important;
  padding:0 !important;
  border:2px solid #666679 !important;
  border-radius:999px !important;
  background:#34343d !important;
  background-color:#34343d !important;
  box-shadow:inset 0 1px 4px rgba(0,0,0,.45) !important;
  cursor:pointer !important;
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease !important;
}

#inventoryTable .inv-toggle::after {
  content:"" !important;
  position:absolute !important;
  top:3px !important;
  left:3px !important;
  width:18px !important;
  height:18px !important;
  border-radius:50% !important;
  background:#ffffff !important;
  box-shadow:0 2px 6px rgba(0,0,0,.48) !important;
  transition:left .2s ease,transform .2s ease !important;
}

#inventoryTable .inv-toggle:checked {
  background:#4141ff !important;
  background-color:#4141ff !important;
  border-color:#8585ff !important;
  box-shadow:0 0 0 3px rgba(65,65,255,.18), inset 0 1px 4px rgba(0,0,0,.22) !important;
}

#inventoryTable .inv-toggle:checked::after {
  left:27px !important;
}

#inventoryTable .switch > span {
  display:block !important;
  min-height:14px !important;
  color:#9c9cab !important;
  font-family:'Montserrat',sans-serif !important;
  font-size:.58rem !important;
  font-weight:700 !important;
  line-height:1 !important;
  letter-spacing:.7px !important;
  text-transform:uppercase !important;
}

#inventoryTable .switch > span::after {
  content:"Inactivo" !important;
}

#inventoryTable .inv-toggle:checked + span {
  color:#8585ff !important;
}

#inventoryTable .inv-toggle:checked + span::after {
  content:"Activo" !important;
}

/* 3) Nombres del catálogo: Montserrat seminegrita, menos pesados. */
#catalogBody .pf-name,
#catalogBody .pf-name-gold,
.catalog-table .pf-name,
.catalog-table .pf-name-gold,
.catalog-table .product-name {
  font-family:'Montserrat',sans-serif !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
}

/* Consistencia en los nombres mostrados dentro del punto de venta. */
body.pos-mode .pos-product-info span,
body.pos-mode .pos-cart-product strong {
  font-family:'Montserrat',sans-serif !important;
  font-weight:700 !important;
}

/* 4) Navegación del punto de venta: eliminar por completo el amarillo/dorado. */
body.pos-mode .pos-header-nav .pos-nav-btn.active,
body.pos-mode .pos-header-nav .pos-nav-btn:hover,
body.pos-mode .pos-nav-btn.active,
body.pos-mode .pos-nav-btn:hover {
  background:#4141ff !important;
  background-image:none !important;
  border-color:#6868ff !important;
  color:#ffffff !important;
  box-shadow:0 7px 20px rgba(65,65,255,.28) !important;
}

body.pos-mode .pos-header-nav .pos-nav-btn:not(.active) {
  background:#17171d !important;
  background-image:none !important;
  border-color:rgba(104,104,255,.42) !important;
  color:#ffffff !important;
}
/* ==========================================================
   PERFUMES ACAPULCO — TEMA GRIS OSCURO V3
   Archivo independiente para evitar caché de style.css.
   Mantiene estructura, tabla, botones y acentos azules.
   ========================================================== */
:root{
  --pa-canvas:#0b0d10;
  --pa-canvas-top:#171a1f;
  --pa-header:#101216;
  --pa-panel:#13161b;
  --pa-panel-soft:#171a20;
  --pa-table:#181b20;
  --pa-row:#1d2026;
  --pa-row-alt:#191c21;
  --pa-row-hover:#252932;
  --pa-input:#262930;
  --pa-blue:#4141ff;
}

html{
  background:#0b0d10 !important;
}

body:not(.admin-page):not(.pos-mode){
  background:
    radial-gradient(circle at 50% -18%, rgba(62,66,75,.48) 0%, rgba(27,30,35,.82) 31%, rgba(11,13,16,1) 72%),
    linear-gradient(180deg,#171a1f 0%,#0b0d10 100%) !important;
  background-color:#0b0d10 !important;
  background-attachment:fixed !important;
}

body:not(.admin-page):not(.pos-mode) .site-header{
  background:#101216 !important;
  background-color:#101216 !important;
  border-bottom:1px solid rgba(65,65,255,.52) !important;
  box-shadow:0 10px 30px rgba(0,0,0,.28) !important;
}

body:not(.admin-page):not(.pos-mode) .desktop-shop-layout,
body:not(.admin-page):not(.pos-mode) .main-content,
body:not(.admin-page):not(.pos-mode) .quote-section{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
}

/* Panel superior "Explora Nuestro Catálogo" */
body:not(.admin-page):not(.pos-mode) .desktop-shop-layout .main-content > .section-header{
  background:#13161b !important;
  background-color:#13161b !important;
  background-image:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,0)) !important;
  border:1px solid rgba(65,65,255,.62) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.32) !important;
}

/* Tarjeta de cotización y tarjeta de contacto */
body:not(.admin-page):not(.pos-mode) .desktop-shop-layout .quote-panel,
body:not(.admin-page):not(.pos-mode) .desktop-shop-layout .site-footer,
body:not(.admin-page):not(.pos-mode) .quote-panel,
body:not(.admin-page):not(.pos-mode) .site-footer{
  background:#13161b !important;
  background-color:#13161b !important;
  background-image:linear-gradient(145deg,rgba(255,255,255,.022),rgba(255,255,255,0)) !important;
  border:1px solid rgba(65,65,255,.62) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.32) !important;
}

body:not(.admin-page):not(.pos-mode) .stat-box{
  background:#171a20 !important;
  background-color:#171a20 !important;
  background-image:none !important;
  border-color:rgba(65,65,255,.55) !important;
}

body:not(.admin-page):not(.pos-mode) .quote-section > .section-header{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

body:not(.admin-page):not(.pos-mode) .footer-inner,
body:not(.admin-page):not(.pos-mode) .footer-bottom,
body:not(.admin-page):not(.pos-mode) .quote-items,
body:not(.admin-page):not(.pos-mode) .quote-actions{
  background:transparent !important;
  background-color:transparent !important;
}

/* Tabla: gris oscuro, no azul marino */
body:not(.admin-page):not(.pos-mode) .table-wrap,
body:not(.admin-page):not(.pos-mode) .catalog-table{
  background:#181b20 !important;
  background-color:#181b20 !important;
  background-image:none !important;
}

body:not(.admin-page):not(.pos-mode) .table-wrap{
  border:1px solid #4141ff !important;
  box-shadow:0 18px 45px rgba(0,0,0,.36) !important;
}

body:not(.admin-page):not(.pos-mode) .catalog-table tbody tr{
  background:#1d2026 !important;
  background-color:#1d2026 !important;
}

body:not(.admin-page):not(.pos-mode) .catalog-table tbody tr:nth-child(even){
  background:#191c21 !important;
  background-color:#191c21 !important;
}

body:not(.admin-page):not(.pos-mode) .catalog-table tbody tr:hover{
  background:#252932 !important;
  background-color:#252932 !important;
}

/* Buscador gris oscuro */
body:not(.admin-page):not(.pos-mode) .search-input,
body:not(.admin-page):not(.pos-mode) input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body:not(.admin-page):not(.pos-mode) select,
body:not(.admin-page):not(.pos-mode) textarea{
  background:#262930 !important;
  background-color:#262930 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border-color:rgba(104,104,255,.68) !important;
}

body:not(.admin-page):not(.pos-mode) .search-input::placeholder,
body:not(.admin-page):not(.pos-mode) input::placeholder,
body:not(.admin-page):not(.pos-mode) textarea::placeholder{
  color:#b8bbc4 !important;
  -webkit-text-fill-color:#b8bbc4 !important;
  opacity:1 !important;
}

/* Menú y modal del catálogo */
body:not(.admin-page):not(.pos-mode) .drawer,
body:not(.admin-page):not(.pos-mode) .modal-card{
  background:#13161b !important;
  background-color:#13161b !important;
  background-image:none !important;
  border-color:rgba(65,65,255,.62) !important;
}

@media(max-width:768px){
  body:not(.admin-page):not(.pos-mode){
    background:linear-gradient(180deg,#171a1f 0%,#0b0d10 100%) !important;
    background-color:#0b0d10 !important;
  }
}

/* =========================================================
   FIX PC: scroll vertical de la tabla principal
   Mantiene el scroll dentro del catálogo y hace visible la barra.
   ========================================================= */
@media (min-width:1024px){
  body:not(.pos-mode) .desktop-shop-layout .table-wrap{
    overflow-y:scroll !important;
    overflow-x:hidden !important;
    overscroll-behavior-y:contain;
    scrollbar-gutter:stable;
    touch-action:pan-y;
    pointer-events:auto !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .table-wrap::-webkit-scrollbar{
    width:11px;
    height:11px;
  }

  body:not(.pos-mode) .desktop-shop-layout .table-wrap::-webkit-scrollbar-track{
    background:rgba(255,255,255,.035);
    border-radius:999px;
  }

  body:not(.pos-mode) .desktop-shop-layout .table-wrap::-webkit-scrollbar-thumb{
    background:#4141ff;
    border:2px solid #181b20;
    border-radius:999px;
  }

  body:not(.pos-mode) .desktop-shop-layout .table-wrap::-webkit-scrollbar-thumb:hover{
    background:#6161ff;
  }
}


/* =========================================================
   PC: scrollbar visible y desplazamiento estable del catálogo
   ========================================================= */
@media (min-width:1024px){
  body:not(.pos-mode) .desktop-shop-layout .table-wrap{
    overflow-y:scroll !important;
    overflow-x:hidden !important;
    scrollbar-gutter:stable !important;
    scrollbar-width:auto !important;
    scrollbar-color:#4b4bff #101217 !important;
    overscroll-behavior-y:contain !important;
    -webkit-overflow-scrolling:touch;
    will-change:scroll-position;
  }

  body:not(.pos-mode) .desktop-shop-layout .table-wrap::-webkit-scrollbar{
    width:14px !important;
    height:14px !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .table-wrap::-webkit-scrollbar-track{
    background:#101217 !important;
    border-left:1px solid rgba(75,75,255,.30) !important;
    border-radius:0 17px 17px 0 !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .table-wrap::-webkit-scrollbar-thumb{
    min-height:52px !important;
    background:linear-gradient(180deg,#5959ff,#3434e8) !important;
    border:3px solid #101217 !important;
    border-radius:999px !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 0 10px rgba(65,65,255,.28) !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .table-wrap::-webkit-scrollbar-thumb:hover{
    background:linear-gradient(180deg,#7070ff,#4646ff) !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .table-wrap::-webkit-scrollbar-thumb:active{
    background:#7777ff !important;
  }

  body:not(.pos-mode) .desktop-shop-layout .table-wrap::-webkit-scrollbar-corner{
    background:#101217 !important;
  }
}


/* Vista previa en vivo del descuento del perfume sellado */
.discount-live-preview{
  margin-top:10px;
  padding:12px 14px;
  border:1px solid rgba(65,65,255,.38);
  border-radius:10px;
  background:rgba(65,65,255,.08);
}
.discount-live-preview.hidden{display:none!important;}
.discount-live-title{
  margin-bottom:8px;
  font-size:.78rem;
  font-weight:700;
  color:#fff;
}
.discount-live-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:5px 0;
  font-size:.76rem;
}
.discount-live-row + .discount-live-row{border-top:1px solid rgba(255,255,255,.08);}
.discount-live-row>span{color:#aaa;}
.discount-live-row strong{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
  gap:7px;
  text-align:right;
}
.discount-live-save{color:#ff5a67;}
.discount-live-arrow{color:#777;}
.discount-live-final{color:#fff;font-weight:800;}
@media (max-width:560px){
  .discount-live-row{align-items:flex-start;flex-direction:column;gap:4px;}
  .discount-live-row strong{justify-content:flex-start;text-align:left;}
}

/* Ajuste promociones en catálogo móvil: precio final verde y % junto al precio */
@media (max-width:768px){
  #catalogBody .price-base .new-price{
    display:inline-block !important;
    color:#48d879 !important;
    font-weight:900 !important;
  }

  #catalogBody .price-base .discount-percent{
    display:inline-block !important;
    margin:0 0 0 6px !important;
    vertical-align:middle !important;
    transform:translateY(-1px);
  }
}


/* Catálogo: perfume sellado agotado, pero decants disponibles */
#catalogBody .price-cell.decants-only{
  color:#48d879 !important;
}
#catalogBody .decants-only-label{
  color:#48d879 !important;
  font-weight:900;
  white-space:nowrap;
}
#catalogBody .product-unavailable-label{
  color:#8d929c !important;
  font-weight:800;
  white-space:nowrap;
}
@media (max-width:768px){
  /* Mantener el precio de 10 ml exactamente al mismo tamaño que el precio normal */
  #catalogBody .price-base.decants-only{
    font-size:1.25rem !important;
    letter-spacing:.2px !important;
  }
  #catalogBody .price-base.decants-only::after{
    content:none !important;
    display:none !important;
  }
}
@media (max-width:390px){
  #catalogBody .price-base.decants-only{
    font-size:1.08rem !important;
  }
}


/* Catálogo: precio del decant de 10 ml cuando el sellado está agotado */
#catalogBody .decant-size-label{
  color:#9c9c9c;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.6px;
  margin-left:5px;
  text-transform:uppercase;
  vertical-align:baseline;
}


/* ===== INVENTARIO DE PERFUMES SELLADOS: EXISTENCIA NUMÉRICA ===== */
#inventoryTable .inv-stock-control {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

#inventoryTable .inv-stock-input {
  width: 92px;
  min-width: 92px;
  height: 40px;
  padding: 8px 12px;
  border: 1px solid #555565;
  border-radius: 10px;
  background: #2b2b32;
  color: #fff;
  font: 700 .9rem 'Montserrat', sans-serif;
  text-align: center;
  outline: none;
}

#inventoryTable .inv-stock-input:focus {
  border-color: #6868ff;
  box-shadow: 0 0 0 3px rgba(65,65,255,.20);
}

#inventoryTable .inv-stock-unit {
  color: var(--white-dim);
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
}

#inventoryTable .inv-stock-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 86px;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .45px;
  text-transform: uppercase;
}

#inventoryTable .inv-stock-status.in-stock {
  color: #a8a8ff;
  background: rgba(65,65,255,.16);
  border: 1px solid rgba(104,104,255,.42);
}

#inventoryTable .inv-stock-status.out-stock {
  color: #a7a7b2;
  background: rgba(120,120,130,.12);
  border: 1px solid rgba(120,120,130,.28);
}

@media (max-width: 760px) {
  #inventoryTable .inv-stock-input {
    width: 76px;
    min-width: 76px;
  }
}


/* ===== Existencias visibles: estilo discreto gris ===== */
.catalog-stock{
  display:block;
  width:max-content;
  margin-top:4px;
  padding:0;
  border:0;
  background:none;
  color:#92929d;
  font-size:.64rem;
  line-height:1.2;
  font-weight:500;
  letter-spacing:.1px;
  text-transform:none;
}

/* Existencia dentro de la ventana de Agregar */
#modalOptions .modal-stock-label{
  display:block;
  margin-top:5px;
  color:#9b9ba6 !important;
  font-size:.66rem !important;
  line-height:1.1 !important;
  font-weight:500 !important;
  letter-spacing:.1px !important;
  text-transform:none !important;
}

@media (max-width:768px){
  #catalogBody .catalog-stock{
    display:block !important;
    margin-top:4px !important;
    padding:0 !important;
    font-size:.61rem !important;
    letter-spacing:.05px !important;
  }
  #modalOptions .modal-stock-label{
    font-size:.62rem !important;
    margin-top:4px !important;
  }
}

/* ===== AJUSTE STOCK + SELECCION EXCLUSIVA EN AGREGAR ===== */
/* El stock debe leerse con facilidad sin convertirse en una etiqueta llamativa. */
#catalogBody .catalog-stock{
  margin-top:5px !important;
  color:#a7a7b1 !important;
  font-size:.92rem !important;
  line-height:1.3 !important;
  font-weight:600 !important;
  letter-spacing:.1px !important;
}

#modalOptions .modal-stock-label{
  display:block !important;
  margin-top:6px !important;
  color:#aaaab4 !important;
  font-size:.90rem !important;
  line-height:1.25 !important;
  font-weight:600 !important;
  letter-spacing:.1px !important;
}

/* Antes el sellado quedaba azul aunque un decant estuviera seleccionado.
   Ahora el fondo azul pertenece exclusivamente a .selected. */
#modalOptions .modal-sellado-row .modal-opt:not(.selected){
  background:rgba(255,255,255,.025) !important;
  border-color:rgba(65,65,255,.78) !important;
  color:var(--white-dim) !important;
}

#modalOptions .modal-sellado-row .modal-opt:not(.selected) .modal-opt-label{
  color:var(--white-dim) !important;
}

#modalOptions .modal-sellado-row .modal-opt:not(.selected) small:not(.modal-stock-label){
  color:var(--gold) !important;
}

/* Una sola opción activa: sellado o un decant. */
#modalOptions .modal-opt.selected{
  background:#4141ff !important;
  border-color:#6868ff !important;
  color:#080808 !important;
}

@media (max-width:768px){
  #catalogBody .catalog-stock{
    font-size:.86rem !important;
    margin-top:5px !important;
  }
  #modalOptions .modal-stock-label{
    font-size:.84rem !important;
    margin-top:5px !important;
  }
}


/* ===== FIX DEFINITIVO 2026-08-11: stock legible + selección exclusiva ===== */
#catalogBody .catalog-stock{
  display:block !important;
  color:#a9a9b2 !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  margin-top:6px !important;
  font-size:.92rem !important;
  line-height:1.3 !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
}
#modalOptions .modal-stock-label{
  display:block !important;
  color:#a9a9b2 !important;
  background:transparent !important;
  padding:0 !important;
  margin-top:7px !important;
  font-size:.90rem !important;
  line-height:1.25 !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
}
/* Ninguna opción recibe fondo azul por ser "sellado"; solo .selected. */
#modalOptions .modal-opt,
#modalOptions .modal-sellado-row .modal-opt,
#modalOptions .modal-decants-row .modal-opt{
  background:transparent !important;
  color:var(--white-dim) !important;
}
#modalOptions .modal-opt.selected,
#modalOptions .modal-sellado-row .modal-opt.selected,
#modalOptions .modal-decants-row .modal-opt.selected{
  background:#4141ff !important;
  background-color:#4141ff !important;
  border-color:#6868ff !important;
  color:#080808 !important;
}
#modalOptions .modal-opt:not(.selected) .modal-opt-label{
  color:var(--white-dim) !important;
}
#modalOptions .modal-opt:not(.selected) small:not(.modal-stock-label){
  color:var(--gold) !important;
}
@media(max-width:768px){
  #catalogBody .catalog-stock{font-size:.86rem !important;}
  #modalOptions .modal-stock-label{font-size:.84rem !important;}
}


/* ===== AJUSTE 2026-08-11: disponibles debajo del nombre, fuera del botón ===== */
#catalogBody .col-name .catalog-stock{
  order:2 !important;
  display:block !important;
  color:#a9a9b2 !important;
  margin-top:4px !important;
  margin-bottom:2px !important;
  font-size:.90rem !important;
  line-height:1.2 !important;
  font-weight:600 !important;
}
#catalogBody .col-name .pf-brand{
  order:3 !important;
}
#modalPerfumeName .modal-availability-line{
  display:block !important;
  color:#a9a9b2 !important;
  font-family:'Montserrat', sans-serif !important;
  font-size:.98rem !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  margin-top:2px !important;
}
/* Ya no mostramos disponibilidad dentro del botón de sellado. */
#modalOptions .modal-stock-label{ display:none !important; }


/* ===== Admin: botón de entrada al POS arriba a la derecha ===== */
.admin-dashboard-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.admin-dashboard-topbar-spacer{
  flex:1 1 auto;
}
.admin-pos-entry-btn{
  margin-left:auto;
  min-width:210px;
}
.admin-bottom-actions{
  display:none !important;
}
@media (max-width: 760px){
  .admin-dashboard-topbar{
    justify-content:flex-end;
    margin-bottom:.85rem;
  }
  .admin-dashboard-topbar-spacer{
    display:none;
  }
  .admin-pos-entry-btn{
    width:100%;
    min-width:0;
  }
}


/* ==========================================================
   PEDIDOS POR ENCARGO — PRUEBA FUNCIONAL
   ========================================================== */
.catalog-order-hint{
  display:block;
  margin-top:4px;
  color:#9a9aa5;
  font-size:.78rem;
  font-weight:600;
  line-height:1.2;
}
.catalog-action-stack{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:6px;
  min-width:132px;
}
.btn-order-request{
  border:1px solid #4b4bff;
  background:transparent;
  color:#b9b9ff;
  border-radius:999px;
  padding:9px 12px;
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  font-size:.70rem;
  cursor:pointer;
  white-space:nowrap;
  transition:.18s ease;
}
.btn-order-request:hover{ background:#4141ff; color:#fff; }
.badge-order{
  background:#30303a !important;
  color:#d1d1da !important;
  border:1px solid #5f5f70 !important;
}
.order-config-card{
  padding:14px 16px;
  border:1px solid rgba(65,65,255,.42);
  border-radius:14px;
  background:rgba(65,65,255,.04);
}
.order-enabled-toggle{ margin-bottom:6px; }
.order-request-card{
  position:relative;
  width:min(560px, calc(100vw - 28px));
  max-height:calc(100vh - 28px);
  overflow:auto;
  padding:30px;
  border:1px solid rgba(65,65,255,.76);
  border-radius:24px;
  background:#17191d;
  box-shadow:0 24px 70px rgba(0,0,0,.55);
}
.order-request-kicker{
  display:block;
  color:#9a9aa5;
  font:700 .72rem/1.2 'Montserrat',sans-serif;
  letter-spacing:1.8px;
  margin-bottom:8px;
}
.order-request-title{
  color:#4141ff;
  font:700 2rem/1.05 'Cormorant Garamond',serif;
  text-transform:uppercase;
  margin:0 40px 18px 0;
}
.order-request-details{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:20px;
}
.order-request-details > div{
  border:1px solid #343740;
  border-radius:14px;
  padding:12px;
  background:#111317;
}
.order-request-details span{display:block;color:#92949c;font-size:.68rem;margin-bottom:5px}
.order-request-details strong{display:block;color:#fff;font-size:.82rem}
.order-request-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.order-qty-field{grid-column:1 / -1;max-width:130px}
.order-request-note{color:#8f9199;font-size:.74rem;line-height:1.45;margin:4px 0 18px}
.order-summary-cards{margin-bottom:18px}
.order-code{color:#7777ff}
.order-status-select{min-width:180px;height:36px;padding:6px 10px}
.order-empty-cell{text-align:center;color:var(--white-dim);padding:26px !important}
.order-admin-table small{color:#9a9aa5}
@media(max-width:760px){
  .catalog-action-stack{min-width:0;width:100%}
  .order-request-card{padding:22px 18px;border-radius:18px}
  .order-request-details{grid-template-columns:1fr}
  .order-request-grid{grid-template-columns:1fr}
  .order-qty-field{grid-column:auto;max-width:none}
}

/* ==========================================================
   PEDIDOS V2 — cotización -> pedido pendiente -> venta
   ========================================================== */
/* La lista principal no muestra etiquetas ni botones especiales de pedido. */
.catalog-order-hint,
.btn-order-request,
.order-request-card,
.order-config-card,
.order-config-field{
  display:none !important;
}

/* Tabla de pedidos pendientes */
.order-under-label{
  display:inline-block;
  margin-left:4px;
  color:#a9a9b2;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.4px;
}
.order-status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:86px;
  padding:6px 10px;
  border-radius:999px;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.3px;
  border:1px solid rgba(65,65,255,.55);
}
.order-status-badge.is-pending{
  color:#fff;
  background:rgba(65,65,255,.12);
}
.order-status-badge.is-closed{
  color:#b9bbc4;
  border-color:rgba(185,187,196,.3);
  background:rgba(255,255,255,.035);
}
.order-actions-cell{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.order-sale-ref{
  color:#a9a9b2;
  font-size:.72rem;
  font-weight:700;
}

/* Modal para convertir un pedido pendiente en una venta */
.close-order-card{
  width:min(470px, calc(100vw - 28px)) !important;
  max-width:470px !important;
  padding:28px !important;
}
.close-order-kicker{
  display:block;
  color:#92949c;
  font-family:'Montserrat',sans-serif;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:1.5px;
  margin-bottom:8px;
}
.close-order-summary{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  margin:14px 0 18px;
  border:1px solid rgba(65,65,255,.38);
  border-radius:12px;
  background:rgba(255,255,255,.025);
}
.close-order-summary strong{
  color:#fff;
  font-size:.88rem;
}
.close-order-summary span{
  color:#a9a9b2;
  font-size:.78rem;
  text-align:right;
}
.close-order-card .form-group{
  margin-bottom:14px;
}
.close-order-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:20px;
}
@media (max-width:600px){
  .close-order-actions{
    flex-direction:column-reverse;
  }
  .close-order-actions .btn-outline,
  .close-order-actions .btn-gold{
    width:100%;
  }
}

/* ==========================================================
   VISITAS Y ACTIVIDAD — panel de analítica propia
   ========================================================== */
.analytics-note{
  margin:.25rem 0 0;
  color:#9a9aa5;
  font-size:.78rem;
  line-height:1.45;
}
.analytics-heading-row{
  align-items:flex-start !important;
}
.analytics-heading-row .pane-title,
.analytics-dashboard-heading .pane-title{
  margin-bottom:0 !important;
}
.analytics-main-cards{
  margin-bottom:1.4rem;
}
.analytics-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:1rem;
  margin-top:1rem;
}
.analytics-grid-bottom{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.analytics-chart-card{
  min-width:0;
}
.analytics-bars{
  display:flex;
  flex-direction:column;
  gap:.78rem;
}
.analytics-bar-row{
  display:grid;
  grid-template-columns:58px minmax(100px,1fr) 48px 92px;
  gap:.65rem;
  align-items:center;
  font-family:'Montserrat',sans-serif;
}
.analytics-bar-day{
  color:#c7c7cc;
  font-size:.76rem;
  text-transform:capitalize;
}
.analytics-bar-track,
.analytics-device-track,
.analytics-funnel-track{
  height:9px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(65,65,255,.18);
}
.analytics-bar-fill,
.analytics-device-track i,
.analytics-funnel-track i{
  display:block;
  height:100%;
  border-radius:999px;
  background:#4141ff;
}
.analytics-bar-row strong{
  color:#fff;
  font-size:.8rem;
  text-align:right;
}
.analytics-bar-row small{
  color:#8e8e98;
  font-size:.68rem;
  white-space:nowrap;
}
.analytics-device-list{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.analytics-device-row{
  display:grid;
  grid-template-columns:62px minmax(90px,1fr) 42px 42px;
  gap:.6rem;
  align-items:center;
  font-family:'Montserrat',sans-serif;
  font-size:.76rem;
}
.analytics-device-row > span{ color:#c7c7cc; }
.analytics-device-row strong{ color:#fff; text-align:right; }
.analytics-device-row small{ color:#8e8e98; text-align:right; }
.analytics-ranked-list{
  display:flex;
  flex-direction:column;
  gap:.55rem;
}
.analytics-rank-row{
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto auto;
  gap:.65rem;
  align-items:center;
  padding:.68rem .75rem;
  border:1px solid rgba(65,65,255,.18);
  border-radius:12px;
  background:rgba(255,255,255,.018);
  font-family:'Montserrat',sans-serif;
}
.analytics-rank-num{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(65,65,255,.16);
  color:#8c8cff;
  font-size:.72rem;
  font-weight:700;
}
.analytics-rank-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#e4e4e8;
  font-size:.76rem;
}
.analytics-rank-row strong{
  color:#fff;
  font-size:.74rem;
  white-space:nowrap;
}
.analytics-rank-row small{
  color:#8e8e98;
  font-size:.68rem;
  white-space:nowrap;
}
.analytics-funnel-row{
  display:flex;
  flex-direction:column;
  gap:.45rem;
  padding:.45rem 0;
}
.analytics-funnel-label{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  color:#c7c7cc;
  font-family:'Montserrat',sans-serif;
  font-size:.76rem;
}
.analytics-funnel-label strong{ color:#fff; }
.dashboard-web-analytics{
  margin-top:1.5rem;
  padding-top:1.3rem;
  border-top:1px solid rgba(65,65,255,.18);
}
@media (max-width:900px){
  .analytics-grid,
  .analytics-grid-bottom{
    grid-template-columns:1fr;
  }
}
@media (max-width:620px){
  .analytics-heading-row{
    flex-direction:column;
    align-items:stretch !important;
  }
  .analytics-heading-row #analyticsRefreshBtn{ width:100%; }
  .analytics-bar-row{
    grid-template-columns:52px minmax(70px,1fr) 40px;
  }
  .analytics-bar-row small{
    grid-column:2 / 4;
    margin-top:-.35rem;
  }
  .analytics-rank-row{
    grid-template-columns:28px minmax(0,1fr) auto;
  }
  .analytics-rank-row small{
    grid-column:2 / 4;
  }
}


/* ===== ANALÍTICA EN VIVO: refresco automático cada 10 s ===== */
.analytics-live-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  flex-wrap:wrap;
}
.analytics-live-info{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
}
.analytics-live-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#b9bcc5;
  font-family:'Montserrat',sans-serif;
  font-size:.76rem;
  font-weight:600;
  white-space:nowrap;
}
.analytics-live-badge i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#37c86f;
  box-shadow:0 0 0 4px rgba(55,200,111,.10);
  animation:analyticsLivePulse 1.8s ease-in-out infinite;
}
.analytics-live-badge.paused i{
  background:#777b85;
  box-shadow:none;
  animation:none;
}
.analytics-live-info small{
  color:#747985;
  font-family:'Montserrat',sans-serif;
  font-size:.68rem;
  font-weight:500;
  white-space:nowrap;
}
@keyframes analyticsLivePulse{
  0%,100%{opacity:.65;transform:scale(.92)}
  50%{opacity:1;transform:scale(1.08)}
}
@media(max-width:760px){
  .analytics-live-controls{
    width:100%;
    justify-content:space-between;
    align-items:center;
  }
  .analytics-live-info{
    align-items:flex-start;
  }
  .analytics-heading-row #analyticsRefreshBtn{
    width:auto !important;
    min-width:112px;
  }
}


/* ===== MÓVIL 2026-08-11: Nombre -> Marca -> Disponibles ===== */
@media (max-width:700px){
  #catalogBody .col-name{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
  }
  #catalogBody .pf-name-line{
    order:1 !important;
  }
  #catalogBody .pf-brand,
  #catalogBody .pf-brand-gray{
    order:2 !important;
    margin-top:3px !important;
    margin-bottom:0 !important;
  }
  #catalogBody .catalog-stock{
    order:3 !important;
    margin-top:5px !important;
    margin-bottom:0 !important;
  }
  #catalogBody .badges-mobile{
    order:4 !important;
  }
}


/* ===== FIX DEFINITIVO MÓVIL: Nombre -> Marca -> Disponibles ===== */
@media (max-width:900px){
  #catalogBody td.col-name{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
  }
  #catalogBody td.col-name > .pf-name-line{ order:1 !important; }
  #catalogBody td.col-name > .pf-brand,
  #catalogBody td.col-name > .pf-brand-gray{
    order:2 !important;
    display:block !important;
    margin-top:3px !important;
    margin-bottom:0 !important;
  }
  #catalogBody td.col-name > .catalog-stock{
    order:3 !important;
    display:block !important;
    margin-top:5px !important;
    margin-bottom:0 !important;
  }
  #catalogBody td.col-name > .badges-mobile{ order:4 !important; }
}

/* ==========================================================
   V2 — INVENTARIO AVANZADO
   ========================================================== */
.inventory-v2-heading{align-items:flex-end!important}.inventory-v2-heading .pane-title,.inventory-movements-head .pane-title{margin-bottom:4px!important}.inventory-v2-note{margin:0;color:var(--grey-light);font-size:.78rem;line-height:1.5}.inventory-v2-search{width:min(360px,100%);height:40px}.inventory-v2-cards{margin-bottom:18px}.inventory-alert-card strong{color:#f0b84b!important}.inventory-out-card strong{color:#e85d67!important}
.inventory-low-alert{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 16px;margin:0 0 18px;border:1px solid rgba(240,184,75,.38);border-radius:14px;background:rgba(240,184,75,.07);font-size:.78rem}.inventory-low-alert strong{color:#f0b84b}.inventory-low-alert span{color:var(--white-dim);flex:1}.inventory-low-alert small{color:var(--grey-light)}
.inventory-v2-table-wrap{margin-bottom:30px}.inventory-v2-table-wrap .admin-table{min-width:1060px}.inventory-v2-row.low-stock{background:rgba(240,184,75,.025)}.inventory-v2-row.out-stock{background:rgba(232,93,103,.025)}.inventory-product-brand{color:#4141ff;font-size:.78rem;font-weight:700;letter-spacing:.4px}.inventory-product-name{color:var(--white);font-size:.78rem}.inventory-stock-number{font-size:1.12rem;color:var(--white)}.inventory-stock-pz{color:var(--grey-light);font-size:.72rem}.inventory-min-wrap{display:flex;flex-direction:column;gap:4px;min-width:88px}.inventory-min-input{width:82px!important;height:36px!important;padding:7px 10px!important}.inventory-min-wrap small,.inventory-supplier-wrap small{color:var(--grey-light);font-size:.62rem;white-space:nowrap}.inventory-supplier-wrap{display:flex;flex-direction:column;gap:5px;min-width:185px}.inventory-supplier-input{height:36px!important;padding:7px 10px!important;min-width:180px}.inventory-supplier-wrap small strong{color:var(--white-dim)}
.inv-stock-status.low-stock{display:inline-flex;color:#f0b84b;border:1px solid rgba(240,184,75,.4);background:rgba(240,184,75,.07);padding:5px 9px;border-radius:999px;font-size:.66rem;font-weight:700;white-space:nowrap}.inv-stock-status.in-stock,.inv-stock-status.out-stock{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.66rem;font-weight:700;white-space:nowrap}.inventory-row-actions{display:flex;gap:7px;flex-wrap:wrap;min-width:155px}.inventory-row-actions .small{padding:7px 11px!important;font-size:.66rem!important}
.inventory-movements-section{padding-top:4px}.inventory-movements-head{margin-bottom:12px!important}.inventory-movement-filter{width:220px;height:38px}.inventory-movements-wrap{max-height:420px;overflow:auto}.inventory-movements-table{min-width:900px}.inventory-empty-cell{text-align:center!important;color:var(--grey-light)!important;padding:26px!important}.inventory-move-type{display:inline-flex;padding:5px 9px;border-radius:999px;border:1px solid rgba(65,65,255,.42);font-size:.66rem;font-weight:700}.inventory-move-type.type-entrada{color:#64d79b;border-color:rgba(100,215,155,.4);background:rgba(100,215,155,.06)}.inventory-move-type.type-venta{color:#f08a8f;border-color:rgba(240,138,143,.35);background:rgba(240,138,143,.05)}.inventory-move-type.type-ajuste{color:#f0b84b;border-color:rgba(240,184,75,.35);background:rgba(240,184,75,.05)}.inventory-move-type.type-restauración{color:#86b8ff;border-color:rgba(134,184,255,.35);background:rgba(134,184,255,.05)}.inventory-change{font-size:.85rem}.inventory-change.positive{color:#64d79b}.inventory-change.negative{color:#f08a8f}.inventory-move-ref{display:block;color:#4141ff;margin-top:3px}
.inventory-action-modal{z-index:2500!important}.inventory-action-card{max-width:480px!important}.inventory-action-product{color:var(--white-dim);font-size:.88rem;margin:0 0 20px}.inventory-action-card .form-group{margin-bottom:14px}.inventory-action-card .modal-title{margin-bottom:6px!important}
.dashboard-inventory-v2{margin-top:28px}.dashboard-inventory-v2 .admin-toolbar{margin-bottom:12px!important}.advanced-list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06)}.advanced-list-row:last-child{border-bottom:0}.advanced-list-row span{display:flex;flex-direction:column;gap:3px;color:var(--white-dim);font-size:.76rem}.advanced-list-row small{color:var(--grey-light);font-size:.64rem}.advanced-list-row strong{color:var(--white);white-space:nowrap}.advanced-empty{color:var(--grey-light);font-size:.76rem;padding:10px 0}
@media(max-width:760px){.inventory-v2-heading,.inventory-movements-head{align-items:stretch!important;flex-direction:column!important}.inventory-v2-search,.inventory-movement-filter{width:100%!important}.inventory-v2-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}.inventory-action-card{padding:24px 18px!important}.inventory-low-alert{align-items:flex-start;flex-direction:column}.inventory-movements-wrap{max-height:360px}}

/* ===== V2.1 FIX: mensajes/toasts siempre nítidos por encima de modales ===== */
.toast,
#toast{
  z-index:2147483000 !important;
  filter:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  opacity:1;
  isolation:isolate;
}

/* ==========================================================
   PEDIDOS V3 — anticipos, saldo, estados y anti-duplicados
   ========================================================== */
.order-summary-cards-v3{
  grid-template-columns:repeat(4,minmax(170px,1fr)) !important;
}
.order-admin-table{
  min-width:1320px;
}
.order-paid-amount{
  color:#fff;
}
.order-balance-due{
  color:#ffcc66;
}
.order-balance-zero{
  color:#7fd39a;
}
.order-duplicate-note{
  color:#8f9199 !important;
  font-size:.66rem !important;
}
.order-status-select{
  min-width:170px !important;
  height:38px !important;
  padding:6px 34px 6px 10px !important;
  font-size:.72rem !important;
  font-weight:700 !important;
}
.order-status-select.is-pending{border-color:rgba(65,65,255,.7) !important}
.order-status-select.is-process{border-color:rgba(120,120,255,.75) !important}
.order-status-select.is-ready{border-color:rgba(100,190,125,.8) !important}
.order-status-select.is-cancelled{border-color:rgba(220,70,70,.75) !important;color:#ff8c8c !important}
.order-status-badge.is-cancelled{
  color:#ff8c8c;
  border-color:rgba(220,70,70,.45);
  background:rgba(220,70,70,.08);
}
.order-status-badge.is-process{
  color:#c4c4ff;
  border-color:rgba(100,100,255,.55);
  background:rgba(65,65,255,.08);
}
.order-status-badge.is-ready{
  color:#9be0ae;
  border-color:rgba(100,190,125,.5);
  background:rgba(100,190,125,.08);
}
.order-payment-btn{
  white-space:nowrap;
}
.order-payment-card{
  z-index:1;
}
#orderPaymentModal,
#closeOrderModal{
  z-index:2600 !important;
}
.close-order-summary{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
}
.close-order-summary > div{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.close-order-summary > div > span{
  text-align:right;
}
.close-order-finance{
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.08);
}
.close-order-finance span{
  color:#a9a9b2;
  font-size:.78rem;
}
.close-order-finance b{
  color:#fff;
}
.close-balance-paid .form-help::before{
  content:'Pedido pagado por completo. ';
  color:#7fd39a;
  font-weight:700;
}
@media(max-width:900px){
  .order-summary-cards-v3{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:560px){
  .order-summary-cards-v3{
    grid-template-columns:1fr !important;
  }
  .close-order-summary > div{
    flex-direction:column;
  }
  .close-order-summary > div > span{
    text-align:left;
  }
}

/* ===== V4: USUARIOS, ROLES Y CLIENTES ===== */
.customers-heading,.users-heading{align-items:flex-end!important}.customers-search{width:min(340px,100%)}
.customer-summary-cards{margin-bottom:22px}.customers-table-wrap,.users-table-wrap{margin-top:8px}.customers-empty{text-align:center;color:var(--white-dim);padding:28px!important}
.customer-frequent-badge,.customer-normal-badge,.system-role-badge,.system-active-badge,.system-inactive-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:800;letter-spacing:.3px;white-space:nowrap}
.customer-frequent-badge{background:rgba(65,65,255,.16);border:1px solid rgba(92,92,255,.75);color:#8f8fff}.customer-normal-badge{background:rgba(255,255,255,.04);border:1px solid var(--black-border);color:var(--white-dim)}
.system-role-badge.is-admin{background:rgba(65,65,255,.15);border:1px solid #5151ff;color:#9191ff}.system-role-badge.is-cashier{background:rgba(255,255,255,.04);border:1px solid var(--black-border);color:var(--white-dim)}
.system-active-badge{background:rgba(47,191,113,.12);border:1px solid rgba(47,191,113,.45);color:#7bddaa}.system-inactive-badge{background:rgba(225,73,73,.10);border:1px solid rgba(225,73,73,.45);color:#ef8a8a}
.user-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.system-user-active{display:flex;gap:9px;align-items:center;color:var(--white-dim);margin:5px 0 18px;font-size:.86rem}.system-user-card{max-width:520px!important}
.customer-history-card{width:min(980px,94vw)!important;max-width:980px!important}.customer-history-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.customer-history-summary>div{border:1px solid var(--black-border);border-radius:14px;padding:14px;background:rgba(255,255,255,.025)}.customer-history-summary span{display:block;color:var(--grey-light);font-size:.72rem;margin-bottom:5px}.customer-history-summary strong{font-size:.95rem}.customer-history-table-wrap{max-height:420px;overflow:auto}
.pos-client-row-v4{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important}.pos-client-row-v4 #posClientType{white-space:nowrap}
body.role-cajero #adminDashboard{display:none!important}body.role-cajero .pos-header-nav{display:flex!important}body.role-cajero .pos-nav-btn:not([data-pos-pane="venta"]):not([data-pos-pane="caja"]){display:none!important}body.role-cajero .sale-delete-btn{display:none!important}
@media(max-width:760px){.customers-heading,.users-heading{align-items:stretch!important;flex-direction:column!important}.customers-search{width:100%}.customer-history-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-client-row-v4{grid-template-columns:1fr!important}.pos-client-row-v4 #posClientType{justify-self:start}}


/* ===== V4.2 — editar WhatsApp de clientes existentes ===== */
.customer-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.customer-phone-card{width:min(520px,92vw)!important;max-width:520px!important}
.customer-phone-name{margin:4px 0 18px;color:var(--white-dim);font-size:.95rem;font-weight:700}
@media(max-width:760px){.customer-row-actions{align-items:stretch;flex-direction:column}.customer-row-actions .btn-outline{width:100%}}


/* ===== V5 — analítica de origen, conversiones y controles de catálogo ===== */
.catalog-extra-controls{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:auto;
  flex-wrap:wrap;
}
.catalog-available-toggle,
.catalog-sort-control{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  border:1px solid rgba(65,65,255,.55);
  border-radius:12px;
  background:#292c33;
  color:#fff;
  font-family:'Montserrat',sans-serif;
  font-size:.72rem;
  font-weight:700;
}
.catalog-available-toggle{
  padding:0 12px;
  cursor:pointer;
  user-select:none;
}
.catalog-available-toggle input{
  width:16px;
  height:16px;
  accent-color:#6868ff;
  margin:0;
}
.catalog-sort-control{
  padding:0 8px 0 12px;
}
.catalog-sort-control>span{
  color:#a9a9b2;
  white-space:nowrap;
}
.catalog-sort-control select{
  height:34px;
  min-width:168px;
  border:0;
  outline:0;
  background:#202329;
  color:#fff;
  border-radius:9px;
  padding:0 28px 0 10px;
  font:600 .72rem 'Montserrat',sans-serif;
}
.analytics-grid-v5{
  margin-top:18px;
  grid-template-columns:minmax(300px,.8fr) minmax(520px,1.2fr) !important;
}
.analytics-card-note{
  color:#8f9199;
  font-size:.7rem;
  line-height:1.45;
  margin:-4px 0 14px;
}
.analytics-source-list{
  display:flex;
  flex-direction:column;
  gap:13px;
}
.analytics-source-row{
  display:grid;
  gap:6px;
}
.analytics-source-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  font-size:.76rem;
}
.analytics-source-head span,
.analytics-source-row small{
  color:#9a9ca4;
  font-size:.68rem;
}
.analytics-source-track{
  height:7px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  overflow:hidden;
}
.analytics-source-track i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:#6868ff;
}
.analytics-conversion-scroll{
  width:100%;
  overflow:auto;
}
.analytics-conversion-list{
  min-width:650px;
}
.analytics-conversion-head,
.analytics-conversion-row{
  display:grid;
  grid-template-columns:minmax(210px,1.7fr) repeat(5,minmax(62px,.55fr));
  gap:8px;
  align-items:center;
  padding:9px 8px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.analytics-conversion-head{
  color:#8f9199;
  font-size:.63rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.5px;
}
.analytics-conversion-row{
  font-size:.72rem;
  color:#d8d8dc;
}
.analytics-conversion-row>span:not(.analytics-conversion-name),
.analytics-conversion-row>strong{
  text-align:center;
}
.analytics-conversion-name{
  font-weight:700;
  color:#fff;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.analytics-conversion-row strong{
  color:#9292ff;
}
@media(max-width:900px){
  .analytics-grid-v5{grid-template-columns:1fr !important}
}
@media(max-width:768px){
  .filters-bar #catalogExtraControls{
    display:none !important;
  }
  .filters-bar.mobile-filters-open #catalogExtraControls{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    width:100% !important;
    margin-left:0 !important;
    padding-top:4px !important;
  }
  .catalog-available-toggle,
  .catalog-sort-control{
    width:100% !important;
    min-height:42px !important;
    box-sizing:border-box !important;
  }
  .catalog-sort-control{
    justify-content:space-between !important;
  }
  .catalog-sort-control select{
    flex:1 1 auto !important;
    min-width:0 !important;
  }
}


/* ===== V5.1 — correcciones UI catálogo PC/móvil ===== */

/* Evita cortes en los controles extra del catálogo */
.catalog-available-toggle span{white-space:nowrap;}
.catalog-extra-controls{overflow:visible !important;}

/* PC: reacomodar filtros para que no se corten "Solo disponibles" y "Ordenar" */
@media (min-width:1024px){
  body:not(.pos-mode) .desktop-shop-layout .filters-bar{
    display:grid !important;
    grid-template-columns:minmax(300px,1fr) auto !important;
    grid-template-areas:
      'search extra'
      'cats sex' !important;
    gap:12px 14px !important;
    align-items:center !important;
    overflow:visible !important;
    min-height:0 !important;
  }
  body:not(.pos-mode) .desktop-shop-layout .mobile-search-row{
    grid-area:search !important;
    display:block !important;
    min-width:0 !important;
    width:100% !important;
    max-width:none !important;
  }
  body:not(.pos-mode) .desktop-shop-layout #catFilters{
    grid-area:cats !important;
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    min-width:0 !important;
    overflow:visible !important;
  }
  body:not(.pos-mode) .desktop-shop-layout #sexFilters{
    grid-area:sex !important;
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    justify-content:flex-end !important;
    min-width:0 !important;
    overflow:visible !important;
  }
  body:not(.pos-mode) .desktop-shop-layout #catalogExtraControls{
    grid-area:extra !important;
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:flex-end !important;
    gap:10px !important;
    margin-left:0 !important;
    min-width:max-content !important;
    width:auto !important;
  }
  body:not(.pos-mode) .desktop-shop-layout .catalog-available-toggle,
  body:not(.pos-mode) .desktop-shop-layout .catalog-sort-control{
    min-height:40px !important;
  }
}

/* Desktop medio: si el nombre es largo, las etiquetas se acomodan debajo del nombre para evitar que queden separadas */
@media (min-width:701px) and (max-width:1450px){
  #catalogBody .pf-name-line{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    gap:6px !important;
    width:100% !important;
  }
  #catalogBody .pf-name-gold{
    display:block !important;
    flex:1 1 100% !important;
    max-width:100% !important;
    min-width:0 !important;
    width:100% !important;
  }
  #catalogBody .badges-desktop{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:6px !important;
    width:100% !important;
    margin-top:2px !important;
  }
}

/* Móvil: panel de filtros más limpio y profesional */
@media (max-width:768px){
  .filters-bar{
    border:1px solid rgba(65,65,255,.28) !important;
    border-radius:24px !important;
    background:linear-gradient(180deg, rgba(255,255,255,.018), rgba(255,255,255,.01)) !important;
    padding:16px !important;
    box-sizing:border-box !important;
  }
  .filters-bar.mobile-filters-open{
    gap:12px !important;
  }
  .filters-bar.mobile-filters-open #catFilters,
  .filters-bar.mobile-filters-open #sexFilters{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:10px !important;
    width:100% !important;
    overflow:visible !important;
    padding:0 !important;
  }
  .filters-bar.mobile-filters-open #catalogExtraControls{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
    margin-left:0 !important;
    padding-top:0 !important;
  }
  .filters-bar .chip{
    min-height:34px !important;
    padding:0 14px !important;
    font-size:.71rem !important;
  }
  .catalog-available-toggle{
    width:100% !important;
    min-height:46px !important;
    padding:0 14px !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.035) !important;
    justify-content:flex-start !important;
  }
  .catalog-sort-control{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    min-height:auto !important;
    padding:10px 12px !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.035) !important;
  }
  .catalog-sort-control > span{
    display:block !important;
    font-size:.72rem !important;
    font-weight:700 !important;
    color:#b7b8bf !important;
  }
  .catalog-sort-control select{
    width:100% !important;
    height:40px !important;
    min-width:0 !important;
    border-radius:10px !important;
    font-size:.78rem !important;
    padding:0 12px !important;
  }
}

/* ===== V9 — Experiencia del cliente ===== */

/* Estado vacío del catálogo */
.no-results{
  margin:24px auto 6px !important;
  width:min(620px,calc(100% - 24px)) !important;
  padding:26px 22px !important;
  border:1px solid rgba(65,65,255,.30) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.018) !important;
  text-align:center !important;
  box-sizing:border-box !important;
}
.no-results-title{
  display:block !important;
  color:#fff !important;
  font-size:.95rem !important;
  font-weight:800 !important;
  margin-bottom:7px !important;
}
.no-results-sub{
  display:block !important;
  color:#989aa3 !important;
  font-size:.76rem !important;
  line-height:1.55 !important;
  margin:0 auto 16px !important;
  max-width:470px !important;
}
.no-results-reset{
  min-height:38px !important;
  padding:0 16px !important;
  border-radius:11px !important;
  border:1px solid rgba(104,104,255,.78) !important;
  background:rgba(65,65,255,.12) !important;
  color:#aaaaff !important;
  font:700 .73rem 'Montserrat',sans-serif !important;
  cursor:pointer !important;
}
.no-results-reset:hover{background:rgba(65,65,255,.22) !important;color:#fff !important;}

/* Carrito: pedido especial visible antes de enviar la cotización */
.quote-under-order-badge{
  display:inline-flex !important;
  align-items:center !important;
  width:max-content !important;
  margin-top:5px !important;
  padding:4px 8px !important;
  border:1px solid rgba(238,184,79,.50) !important;
  border-radius:999px !important;
  background:rgba(238,184,79,.08) !important;
  color:#e7c87c !important;
  font-size:.58rem !important;
  font-weight:800 !important;
  letter-spacing:.55px !important;
  line-height:1 !important;
}
.quote-empty-state{
  min-height:180px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  text-align:center !important;
  color:#94969e !important;
  padding:24px !important;
}
.quote-empty-icon{font-size:1.45rem !important;filter:grayscale(.25);}
.quote-empty-state strong{color:#fff !important;font-size:.9rem !important;}
.quote-empty-state>span:not(.quote-empty-icon){font-size:.72rem !important;line-height:1.5 !important;}
.quote-empty-link{
  margin-top:7px !important;
  color:#9a9aff !important;
  font-size:.72rem !important;
  font-weight:800 !important;
  text-decoration:none !important;
}

/* Filas más previsibles: reserva espacio para nombre/marca/stock sin deformar nombres largos. */
@media (min-width:769px){
  #catalogBody .col-name{
    min-width:245px !important;
  }
  #catalogBody .pf-name-line{
    min-height:24px !important;
    align-content:flex-start !important;
  }
  #catalogBody .pf-brand-gray{
    min-height:16px !important;
  }
  #catalogBody .catalog-stock{
    min-height:17px !important;
  }
}
@media (max-width:768px){
  #catalogBody .col-name{
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
  }
  #catalogBody .pf-name-line{order:1 !important;}
  #catalogBody .pf-brand-gray,#catalogBody .pf-brand{order:2 !important;}
  #catalogBody .catalog-stock{order:3 !important;}
  #catalogBody .badges-mobile{order:4 !important;}
}

/* V9.1 — Barra inferior completa + mini-carrito desplegable en móvil. */
.mobile-cart-bar,.mobile-cart-preview,.mobile-cart-preview-backdrop{display:none;}
@media (max-width:768px){
  body:not(.admin-page):not(.pos-mode){padding-bottom:0;}
  body.mobile-cart-preview-open:not(.admin-page):not(.pos-mode){overflow:hidden !important;}
  .mobile-cart-bar{
    appearance:none !important;
    -webkit-appearance:none !important;
    position:fixed !important;
    left:12px !important;
    right:12px !important;
    bottom:calc(12px + env(safe-area-inset-bottom,0px)) !important;
    z-index:99993 !important;
    width:auto !important;
    min-height:58px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    padding:9px 11px 9px 15px !important;
    border:1px solid rgba(104,104,255,.55) !important;
    border-radius:17px !important;
    background:rgba(19,22,27,.97) !important;
    box-shadow:0 12px 35px rgba(0,0,0,.45) !important;
    backdrop-filter:blur(16px) !important;
    -webkit-backdrop-filter:blur(16px) !important;
    text-align:left !important;
    cursor:pointer !important;
    opacity:0 !important;
    transform:translateY(90px) !important;
    pointer-events:none !important;
    transition:opacity .2s ease,transform .22s ease,border-color .2s ease,background .2s ease !important;
  }
  .mobile-cart-bar.is-visible{
    opacity:1 !important;
    transform:translateY(0) !important;
    pointer-events:auto !important;
  }
  .mobile-cart-bar.is-open{
    border-color:rgba(122,122,255,.82) !important;
    background:rgba(24,27,35,.99) !important;
  }
  .mobile-cart-summary{
    min-width:0 !important;
    overflow:hidden !important;
    white-space:nowrap !important;
    text-overflow:ellipsis !important;
    color:#fff !important;
    font:700 .78rem 'Montserrat',sans-serif !important;
  }
  .mobile-cart-action{
    flex:0 0 auto !important;
    min-height:40px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    padding:0 12px !important;
    border-radius:11px !important;
    background:#4141ff !important;
    color:#fff !important;
    font:800 .7rem 'Montserrat',sans-serif !important;
    pointer-events:none !important;
  }
  .mobile-cart-chevron{
    width:15px !important;
    height:15px !important;
    transition:transform .22s ease !important;
  }
  .mobile-cart-bar.is-open .mobile-cart-chevron{transform:rotate(180deg) !important;}

  .mobile-cart-preview-backdrop{
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    z-index:99988 !important;
    background:rgba(0,0,0,.50) !important;
    opacity:0 !important;
    pointer-events:none !important;
    transition:opacity .22s ease !important;
  }
  .mobile-cart-preview-backdrop.is-open{
    opacity:1 !important;
    pointer-events:auto !important;
  }
  .mobile-cart-preview{
    position:fixed !important;
    left:12px !important;
    right:12px !important;
    bottom:calc(78px + env(safe-area-inset-bottom,0px)) !important;
    z-index:99991 !important;
    display:flex !important;
    flex-direction:column !important;
    max-height:min(62vh,520px) !important;
    overflow:hidden !important;
    border:1px solid rgba(104,104,255,.46) !important;
    border-radius:20px !important;
    background:rgba(15,17,23,.985) !important;
    box-shadow:0 22px 55px rgba(0,0,0,.60) !important;
    backdrop-filter:blur(20px) !important;
    -webkit-backdrop-filter:blur(20px) !important;
    --mobile-cart-drag-y:0px;
    opacity:0 !important;
    transform:translateY(calc(32px + var(--mobile-cart-drag-y))) scale(.985) !important;
    transform-origin:bottom center !important;
    pointer-events:none !important;
    visibility:hidden !important;
    transition:opacity .2s ease,transform .24s cubic-bezier(.2,.8,.2,1),visibility .24s !important;
  }
  .mobile-cart-preview.is-open{
    opacity:1 !important;
    transform:translateY(var(--mobile-cart-drag-y)) scale(1) !important;
    pointer-events:auto !important;
    visibility:visible !important;
  }
  .mobile-cart-preview-handle{
    position:relative !important;
    width:100% !important;
    height:24px !important;
    margin:0 !important;
    flex:0 0 24px !important;
    background:transparent !important;
    cursor:grab !important;
    touch-action:none !important;
    user-select:none !important;
    -webkit-user-select:none !important;
  }
  .mobile-cart-preview-handle::before{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    top:8px !important;
    width:42px !important;
    height:4px !important;
    transform:translateX(-50%) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.24) !important;
    box-shadow:0 0 0 1px rgba(0,0,0,.08) !important;
  }
  .mobile-cart-preview.is-dragging{
    transition:none !important;
  }
  .mobile-cart-preview.is-dragging .mobile-cart-preview-handle{
    cursor:grabbing !important;
  }
  .mobile-cart-preview-header{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    padding:10px 14px 11px !important;
    border-bottom:1px solid rgba(255,255,255,.07) !important;
    flex:0 0 auto !important;
  }
  .mobile-cart-preview-header>div{
    display:flex !important;
    flex-direction:column !important;
    gap:2px !important;
    min-width:0 !important;
  }
  .mobile-cart-preview-header strong{
    color:#fff !important;
    font:800 .92rem 'Montserrat',sans-serif !important;
  }
  .mobile-cart-preview-header span{
    color:#8d9099 !important;
    font:600 .64rem 'Montserrat',sans-serif !important;
  }
  .mobile-cart-preview-close{
    width:34px !important;
    height:34px !important;
    flex:0 0 34px !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:10px !important;
    background:rgba(255,255,255,.035) !important;
    color:#b9bbc3 !important;
    font:700 .72rem 'Montserrat',sans-serif !important;
    cursor:pointer !important;
  }
  .mobile-cart-preview-items{
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch !important;
    padding:4px 13px !important;
    min-height:0 !important;
    scrollbar-width:thin !important;
  }
  .mobile-cart-preview-item{
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:10px !important;
    padding:11px 1px !important;
    border-bottom:1px solid rgba(255,255,255,.065) !important;
  }
  .mobile-cart-preview-item:last-child{border-bottom:0 !important;}
  .mobile-cart-preview-image{
    width:48px !important;
    height:48px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    border-radius:10px !important;
    background:rgba(255,255,255,.035) !important;
  }
  .mobile-cart-preview-image img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
  }
  .mobile-cart-preview-placeholder{
    color:#aaaaff !important;
    font:800 1rem 'Montserrat',sans-serif !important;
  }
  .mobile-cart-preview-info{
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:2px !important;
  }
  .mobile-cart-preview-brand{
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    color:#838691 !important;
    font:600 .56rem 'Montserrat',sans-serif !important;
    text-transform:uppercase !important;
    letter-spacing:.45px !important;
  }
  .mobile-cart-preview-info>strong{
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    color:#fff !important;
    font:750 .72rem 'Montserrat',sans-serif !important;
  }
  .mobile-cart-preview-meta{
    color:#a3a5ad !important;
    font:600 .59rem 'Montserrat',sans-serif !important;
  }
  .mobile-cart-preview-order{
    display:inline-flex !important;
    margin-top:3px !important;
    padding:3px 6px !important;
    border:1px solid rgba(238,184,79,.40) !important;
    border-radius:999px !important;
    color:#e7c87c !important;
    background:rgba(238,184,79,.07) !important;
    font:800 .49rem 'Montserrat',sans-serif !important;
    letter-spacing:.35px !important;
  }
  .mobile-cart-preview-side{
    align-self:stretch !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-end !important;
    justify-content:space-between !important;
    gap:6px !important;
  }
  .mobile-cart-preview-remove{
    width:28px !important;
    height:28px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 28px !important;
    padding:0 !important;
    border:1px solid rgba(255,255,255,.11) !important;
    border-radius:9px !important;
    background:rgba(255,255,255,.035) !important;
    color:#a9abb3 !important;
    font:800 .64rem 'Montserrat',sans-serif !important;
    line-height:1 !important;
    cursor:pointer !important;
    -webkit-tap-highlight-color:transparent !important;
  }
  .mobile-cart-preview-remove:active{
    transform:scale(.93) !important;
    border-color:rgba(232,93,103,.55) !important;
    color:#f08a8f !important;
  }
  .mobile-cart-preview-price{
    color:#b7b7ff !important;
    font:800 .68rem 'Montserrat',sans-serif !important;
    white-space:nowrap !important;
  }
  .mobile-cart-preview-empty{
    padding:28px 12px !important;
    text-align:center !important;
    color:#9699a2 !important;
    font:600 .7rem 'Montserrat',sans-serif !important;
  }
  .mobile-cart-preview-footer{
    flex:0 0 auto !important;
    padding:11px 13px 13px !important;
    border-top:1px solid rgba(255,255,255,.075) !important;
    background:rgba(12,14,19,.96) !important;
  }
  .mobile-cart-preview-total{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    margin-bottom:9px !important;
  }
  .mobile-cart-preview-total span{
    color:#8f929b !important;
    font:700 .65rem 'Montserrat',sans-serif !important;
    text-transform:uppercase !important;
    letter-spacing:.45px !important;
  }
  .mobile-cart-preview-total strong{
    color:#fff !important;
    font:850 .92rem 'Montserrat',sans-serif !important;
  }
  .mobile-cart-preview-full{
    width:100% !important;
    min-height:42px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
    border-radius:11px !important;
    background:#4141ff !important;
    color:#fff !important;
    font:800 .7rem 'Montserrat',sans-serif !important;
    text-decoration:none !important;
  }
  /* V9.1.2: los avisos nunca cubren la barra ni el mini-carrito móvil. */
  body.mobile-cart-has-items:not(.admin-page):not(.pos-mode) #toast{
    left:12px !important;
    right:12px !important;
    bottom:calc(84px + env(safe-area-inset-bottom,0px)) !important;
    width:auto !important;
    max-width:none !important;
    box-sizing:border-box !important;
    text-align:center !important;
  }
  body.mobile-cart-preview-open:not(.admin-page):not(.pos-mode) #toast{
    top:calc(12px + env(safe-area-inset-top,0px)) !important;
    bottom:auto !important;
  }

  body:has(.mobile-cart-bar.is-visible) .site-footer{padding-bottom:82px !important;}
}
@media (prefers-reduced-motion:reduce){
  .mobile-cart-bar,.mobile-cart-chevron,.mobile-cart-preview,.mobile-cart-preview-backdrop{transition:none !important;}
}

/* =========================================================
   V16.15 — BITÁCORA DE AUDITORÍA
   ========================================================= */
.audit-pane{min-width:0}
.audit-toolbar{gap:18px;align-items:flex-start}
.audit-kpis{margin:0 0 18px}
.audit-kpi{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:0!important;min-height:122px}
.audit-kpi>span{display:block!important;margin:0 0 14px!important}
.audit-kpi>strong{display:block!important;margin:0!important;font-size:1.75rem!important;line-height:1!important;letter-spacing:-.035em!important}
.audit-kpi>small{display:block!important;margin:8px 0 0!important;line-height:1.35!important;color:rgba(255,255,255,.48)!important}
@media(min-width:1180px){.audit-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important}}

.audit-panel{background:rgba(13,15,20,.72);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:18px;box-shadow:0 16px 40px rgba(0,0,0,.16)}
.audit-filters{display:grid;grid-template-columns:minmax(220px,1.6fr) minmax(170px,.8fr) minmax(170px,.8fr) 150px 150px auto;gap:10px;align-items:center}
.audit-filters .form-input{margin:0;min-width:0;height:42px}
.audit-result-meta{margin:14px 2px 10px;color:rgba(255,255,255,.58);font-size:.78rem;font-weight:600}
.audit-table-wrap{max-height:620px;overflow:auto;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:rgba(7,8,12,.42)}
.audit-table{min-width:980px}
.audit-table thead th{position:sticky;top:0;z-index:2;background:#111319}
.audit-user{display:flex;flex-direction:column;gap:3px}.audit-user strong{font-size:.85rem}.audit-user small{font-size:.68rem;color:rgba(255,255,255,.48)}
.audit-module-badge,.audit-action-badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;font-size:.68rem;font-weight:800;white-space:nowrap;border:1px solid rgba(112,112,255,.28);background:rgba(65,65,255,.10);color:#aaaaff}
.audit-action-badge.is-success{border-color:rgba(78,211,151,.32);background:rgba(78,211,151,.10);color:#77deb0}
.audit-action-badge.is-warning{border-color:rgba(255,190,90,.34);background:rgba(255,190,90,.10);color:#ffd07c}
.audit-action-badge.is-danger{border-color:rgba(255,105,120,.34);background:rgba(255,105,120,.10);color:#ff929f}
.audit-action-badge.is-info{border-color:rgba(112,112,255,.30);background:rgba(65,65,255,.10);color:#aaaaff}
.audit-summary{display:flex;flex-direction:column;gap:4px;min-width:250px}.audit-summary strong{font-size:.82rem;line-height:1.35}.audit-summary small{font-size:.67rem;color:rgba(255,255,255,.44)}
.audit-empty{text-align:center!important;padding:46px 16px!important}.audit-empty strong,.audit-empty span{display:block}.audit-empty strong{font-size:.95rem}.audit-empty span{margin-top:5px;color:rgba(255,255,255,.48);font-size:.76rem}
.audit-detail-card{width:min(900px,calc(100vw - 30px));max-height:min(86vh,820px);overflow:hidden;display:flex;flex-direction:column}
.audit-detail-head{padding-right:44px}.audit-detail-kicker{display:block;color:#7777ff;font-size:.65rem;font-weight:900;letter-spacing:.18em;margin-bottom:7px}.audit-detail-head h3{margin:0;font-size:1.25rem}.audit-detail-head p{margin:7px 0 0;color:rgba(255,255,255,.55);font-size:.78rem}
.audit-detail-body{overflow:auto;margin-top:18px;padding-right:4px}
.audit-change-list{display:flex;flex-direction:column;gap:9px}.audit-change-row{border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);border-radius:12px;padding:12px 14px}.audit-change-field{font-size:.72rem;font-weight:800;color:#aaaaff;overflow-wrap:anywhere;margin-bottom:10px}
.audit-change-values{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:center}.audit-change-values>div{min-width:0;background:rgba(0,0,0,.18);border-radius:10px;padding:9px 11px}.audit-change-values span{display:block;font-size:.61rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.40);margin-bottom:4px}.audit-change-values strong{display:block;font-size:.78rem;line-height:1.4;overflow-wrap:anywhere}.audit-change-values i{font-style:normal;color:#7777ff;font-weight:900}.audit-detail-empty{padding:30px;text-align:center;color:rgba(255,255,255,.52)}
@media(max-width:1200px){.audit-filters{grid-template-columns:1fr 1fr 1fr}.audit-filters .audit-search-wrap{grid-column:span 2}}
@media(max-width:768px){.audit-panel{padding:12px;border-radius:15px}.audit-filters{display:grid;grid-template-columns:1fr 1fr}.audit-filters .audit-search-wrap{grid-column:1/-1}.audit-filters #auditModuleFilter,.audit-filters #auditActorFilter{grid-column:span 1}.audit-filters #auditClearFiltersBtn{grid-column:1/-1}.audit-table-wrap{max-height:none;overflow:visible;border:0;background:transparent}.audit-table{min-width:0}.audit-table thead{display:none}.audit-table,.audit-table tbody,.audit-table tr,.audit-table td{display:block;width:100%}.audit-table tbody{display:flex;flex-direction:column;gap:10px}.audit-table tr{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);border-radius:14px;padding:12px}.audit-table td{border:0!important;padding:7px 0!important}.audit-table td:before{content:attr(data-label);display:block;margin-bottom:3px;font-size:.59rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.35)}.audit-summary{min-width:0}.audit-detail-card{width:calc(100vw - 20px);max-height:90vh;padding:18px}.audit-change-values{grid-template-columns:1fr}.audit-change-values i{text-align:center;transform:rotate(90deg)}}

/* ==========================================================
   V17.4.0 — TAMAÑOS SELLADOS EN CATÁLOGO Y MODAL
   ========================================================== */
#modalOptions .modal-sellado-row{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;
  gap:10px !important;
  width:100% !important;
}
#modalOptions .modal-sellado-row .modal-opt{
  min-width:0 !important;
  width:100% !important;
  max-width:none !important;
}
#catalogBody .catalog-stock.has-multiple-sizes{
  display:flex !important;
  flex-wrap:wrap;
  align-items:center;
  gap:3px 7px;
}
#catalogBody .catalog-stock.has-multiple-sizes>span{
  display:inline-flex;
  align-items:center;
  padding:2px 5px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:6px;
  background:rgba(255,255,255,.025);
  color:#b9bbc4;
  font-size:.78em;
  white-space:nowrap;
}
#catalogBody .catalog-price-size{
  display:block;
  margin-bottom:2px;
  color:#9b9daa;
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.045em;
  line-height:1.1;
  text-transform:uppercase;
}
#catalogBody .catalog-price-value{
  display:inline-flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:4px;
}
#catalogBody .catalog-price-current{font:inherit;color:inherit;}
@media(max-width:768px){
  #modalOptions .modal-sellado-row{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
  #catalogBody .catalog-stock.has-multiple-sizes{
    gap:3px 5px;
  }
  #catalogBody .catalog-stock.has-multiple-sizes>span{
    padding:1px 4px;
    font-size:.76em;
  }
  #catalogBody .catalog-price-size{
    margin-bottom:1px;
    font-size:.56rem;
  }
}


/* ==========================================================
   V17.4.2 — PRESENTACIONES SELLADAS: ML CORRECTOS + TIPOGRAFÍA UNIFORME
   ========================================================== */
/* Las dos presentaciones selladas deben verse exactamente con la misma
   jerarquía tipográfica, estén seleccionadas o no. */
#modalOptions .modal-sellado-row .modal-opt .modal-opt-label,
#modalOptions .modal-sellado-row .modal-opt.selected .modal-opt-label,
#modalOptions .modal-sellado-row .modal-opt:not(.selected) .modal-opt-label{
  font-family:'Montserrat',sans-serif !important;
  font-size:1.16rem !important;
  line-height:1.08 !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
}
#modalOptions .modal-sellado-row .modal-opt small,
#modalOptions .modal-sellado-row .modal-opt.selected small,
#modalOptions .modal-sellado-row .modal-opt:not(.selected) small{
  font-family:'Montserrat',sans-serif !important;
  font-size:.98rem !important;
  line-height:1.12 !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
}
@media(max-width:768px){
  #modalOptions .modal-sellado-row .modal-opt .modal-opt-label,
  #modalOptions .modal-sellado-row .modal-opt.selected .modal-opt-label,
  #modalOptions .modal-sellado-row .modal-opt:not(.selected) .modal-opt-label{
    font-size:1.08rem !important;
  }
  #modalOptions .modal-sellado-row .modal-opt small,
  #modalOptions .modal-sellado-row .modal-opt.selected small,
  #modalOptions .modal-sellado-row .modal-opt:not(.selected) small{
    font-size:.92rem !important;
  }
}


/* ==========================================================
   V17.5.0 — TARJETAS MÓVILES DEL CATÁLOGO MÁS LIMPIAS
   ========================================================== */
@media(max-width:768px){
  #catalogBody{
    gap:10px !important;
  }
  #catalogBody tr.mobile-add-card{
    grid-template-columns:74px minmax(0,1fr) 16px !important;
    grid-template-areas:
      "img name arrow"
      "img price arrow" !important;
    min-height:auto !important;
    padding:12px 34px 12px 12px !important;
    column-gap:12px !important;
    border-radius:22px !important;
    align-items:center !important;
  }
  #catalogBody tr.mobile-add-card::after{
    right:12px !important;
    font-size:1.8rem !important;
    color:#5f63ff !important;
  }
  #catalogBody .perfume-thumb,
  #catalogBody .perfume-placeholder{
    width:70px !important;
    height:84px !important;
    max-width:70px !important;
    max-height:84px !important;
    padding:0 !important;
    background:transparent !important;
  }
  #catalogBody .col-name{
    min-width:0 !important;
  }
  #catalogBody .pf-name-line{
    display:block !important;
    margin:0 0 4px !important;
    min-height:0 !important;
  }
  #catalogBody .pf-name,
  #catalogBody .pf-name-gold{
    font-size:1rem !important;
    line-height:1.06 !important;
    letter-spacing:0 !important;
    margin:0 !important;
  }
  #catalogBody .pf-brand,
  #catalogBody .pf-brand-gray{
    margin:0 0 6px !important;
    color:#b0b3bc !important;
    font-size:.70rem !important;
    font-weight:700 !important;
    letter-spacing:.10em !important;
    line-height:1.15 !important;
  }
  #catalogBody .catalog-stock{
    min-height:0 !important;
    margin:0 !important;
    color:#d7d9df !important;
    font-size:.76rem !important;
    font-weight:700 !important;
    line-height:1.25 !important;
  }
  #catalogBody .catalog-stock.has-multiple-sizes{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    gap:6px !important;
  }
  #catalogBody .catalog-stock.has-multiple-sizes::before{
    content:'Disponibles';
    display:block;
    width:100%;
    margin-bottom:1px;
    color:#8b90a0;
    font-size:.58rem;
    font-weight:800;
    letter-spacing:.10em;
    text-transform:uppercase;
  }
  #catalogBody .catalog-stock.has-multiple-sizes > span{
    display:inline-flex !important;
    align-items:center !important;
    min-height:24px;
    padding:4px 8px !important;
    border-radius:999px !important;
    border:1px solid rgba(255,255,255,.08) !important;
    background:rgba(255,255,255,.04) !important;
    color:#d7d9df !important;
    font-size:.64rem !important;
    font-weight:700 !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
  }
  #catalogBody .catalog-stock.has-multiple-sizes > span.is-backorder{
    border-color:rgba(238,184,79,.34) !important;
    background:rgba(238,184,79,.10) !important;
    color:#f0cf88 !important;
  }
  #catalogBody .catalog-decant-summary{
    margin-top:5px !important;
    color:#8d92a0 !important;
    font-size:.60rem !important;
    line-height:1.3 !important;
  }
  #catalogBody .catalog-decant-summary strong{
    color:#cfd2db !important;
  }
  #catalogBody .badges-mobile{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:6px !important;
    margin-top:7px !important;
  }
  #catalogBody .badges-mobile .badge,
  #catalogBody .badges-mobile .promo-badge,
  #catalogBody .badges-mobile .new-badge,
  #catalogBody .badges-mobile .tag,
  #catalogBody .badges-mobile span{
    font-size:.56rem !important;
    line-height:1 !important;
  }
  #catalogBody .price-base{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:4px !important;
    margin-top:10px !important;
    white-space:normal !important;
    line-height:1 !important;
    font-size:1.10rem !important;
  }
  #catalogBody .price-base::after{
    content:none !important;
  }
  #catalogBody .catalog-price-size{
    display:none !important;
  }
  #catalogBody .catalog-price-value{
    display:inline-flex !important;
    align-items:baseline !important;
    gap:4px !important;
    flex-wrap:wrap !important;
  }
  #catalogBody .catalog-price-current,
  #catalogBody .price-base .new-price,
  #catalogBody .price-base .decants-only-label{
    color:#48d879 !important;
    font-size:1.05em !important;
    font-weight:900 !important;
    letter-spacing:0 !important;
  }
  #catalogBody .price-base .old-price{
    font-size:.72rem !important;
  }
  #catalogBody .catalog-price-caption{
    display:block !important;
    color:#9ea3af !important;
    font-size:.62rem !important;
    font-weight:800 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    line-height:1.2 !important;
  }
}
@media(max-width:390px){
  #catalogBody tr.mobile-add-card{
    grid-template-columns:66px minmax(0,1fr) 14px !important;
    padding:11px 30px 11px 11px !important;
    column-gap:10px !important;
  }
  #catalogBody .perfume-thumb,
  #catalogBody .perfume-placeholder{
    width:62px !important;
    height:76px !important;
    max-width:62px !important;
    max-height:76px !important;
  }
  #catalogBody .pf-name,
  #catalogBody .pf-name-gold{
    font-size:.93rem !important;
  }
  #catalogBody .pf-brand,
  #catalogBody .pf-brand-gray{
    font-size:.66rem !important;
  }
  #catalogBody .price-base{
    font-size:1.02rem !important;
  }
}


/* ==========================================================
   V17.6.0 — INVENTARIO POR PRESENTACIÓN SELLADA
   ========================================================== */
.inventory-sealed-variants-v176{display:flex!important;flex-direction:column!important;gap:7px!important;margin-top:9px!important}
.inventory-sealed-variants-v176 .inventory-variant-row{display:grid!important;grid-template-columns:minmax(80px,1fr) auto auto!important;align-items:center!important;gap:10px!important;padding:8px 10px!important;border:1px solid rgba(255,255,255,.07)!important;border-radius:10px!important;background:rgba(255,255,255,.025)!important}
.inventory-sealed-variants-v176 .inventory-variant-row.is-low{border-color:rgba(240,184,75,.35)!important;background:rgba(240,184,75,.055)!important}
.inventory-sealed-variants-v176 .inventory-variant-row>span{font-size:.68rem!important;color:#aeb1ba!important;font-weight:700!important}
.inventory-sealed-variants-v176 .inventory-variant-row>strong{font-size:.78rem!important;color:#fff!important;white-space:nowrap!important}
.inventory-sealed-variants-v176 .inventory-variant-row>label{display:flex!important;align-items:center!important;gap:5px!important;font-size:.58rem!important;color:#7f8490!important;white-space:nowrap!important}
.inventory-sealed-variants-v176 .inventory-variant-row input{width:58px!important;height:31px!important;padding:4px 7px!important;text-align:center!important}
.inventory-supplier-wrap>small+small{margin-top:4px!important;padding-top:5px!important;border-top:1px solid rgba(255,255,255,.06)!important}
@media(max-width:760px){.inventory-sealed-variants-v176 .inventory-variant-row{grid-template-columns:1fr auto!important}.inventory-sealed-variants-v176 .inventory-variant-row>label{grid-column:1/-1;justify-content:flex-start!important}}


/* ==========================================================
   V17.7.0 — COMPRAS PARA PEDIDOS / PROVEEDORES
   ========================================================== */
.orders-procurement-section{margin:18px 0 20px;padding:18px;border:1px solid rgba(65,65,255,.24);border-radius:18px;background:linear-gradient(180deg,rgba(65,65,255,.055),rgba(255,255,255,.018));}
.orders-procurement-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px;}
.orders-procurement-head>div{min-width:0}.orders-procurement-kicker{display:block;margin-bottom:5px;color:#8185ff;font-size:.60rem;font-weight:900;letter-spacing:.16em;}.orders-procurement-head h4{margin:0;color:#f4f4f6;font-size:1rem;}.orders-procurement-head p{margin:6px 0 0;max-width:820px;color:#858a95;font-size:.69rem;line-height:1.55;}.orders-procurement-head p strong{color:#e7c87c;}
.orders-procurement-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:12px;}.orders-procurement-summary article{padding:11px 13px;border:1px solid rgba(255,255,255,.065);border-radius:12px;background:rgba(7,9,14,.34);}.orders-procurement-summary span,.orders-procurement-summary strong{display:block}.orders-procurement-summary span{color:#858a95;font-size:.58rem;font-weight:700;}.orders-procurement-summary strong{margin-top:5px;color:#f4f4f6;font-size:1.05rem;}
.orders-procurement-list{display:flex;flex-direction:column;gap:8px;}.orders-procurement-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:13px 14px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(12,14,19,.68);}.orders-procurement-card.is-pending{border-color:rgba(238,184,79,.24);}.orders-procurement-card.is-requested{opacity:.72;}.orders-procurement-order-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:9px;}.orders-procurement-order-head>div span,.orders-procurement-order-head>div strong{display:block}.orders-procurement-order-head>div span{color:#777bff;font-size:.61rem;font-weight:850;letter-spacing:.05em;}.orders-procurement-order-head>div strong{margin-top:2px;color:#f1f2f4;font-size:.78rem;}.orders-procurement-order-head em{font-style:normal;padding:4px 7px;border-radius:999px;border:1px solid rgba(238,184,79,.3);background:rgba(238,184,79,.08);color:#e9ca82;font-size:.53rem;font-weight:850;letter-spacing:.05em;white-space:nowrap;}.orders-procurement-card.is-requested .orders-procurement-order-head em{border-color:rgba(76,190,132,.25);background:rgba(76,190,132,.07);color:#75cda0;}
.orders-procurement-products{display:flex;flex-wrap:wrap;gap:6px 12px;}.orders-procurement-product{min-width:180px;}.orders-procurement-product strong,.orders-procurement-product small{display:block}.orders-procurement-product strong{color:#dcdde2;font-size:.67rem;}.orders-procurement-product small{margin-top:2px;color:#7f8490;font-size:.58rem;}.orders-procurement-card-side{text-align:right;min-width:190px;}.orders-procurement-card-side>strong,.orders-procurement-card-side>small{display:block}.orders-procurement-card-side>strong{color:#f3f3f5;font-size:.96rem;}.orders-procurement-card-side>small{margin-top:2px;color:#818690;font-size:.58rem;}.orders-procurement-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px;}.orders-procurement-actions .small{min-height:32px;padding:0 10px!important;font-size:.58rem!important;}.orders-procurement-empty{padding:22px;text-align:center;border:1px dashed rgba(255,255,255,.08);border-radius:13px;color:#858a95;}.orders-procurement-empty strong,.orders-procurement-empty span{display:block}.orders-procurement-empty strong{color:#dfe0e5;font-size:.78rem;}.orders-procurement-empty span{margin-top:5px;font-size:.64rem;}
@media(max-width:768px){.orders-procurement-section{padding:13px;border-radius:15px}.orders-procurement-head{flex-direction:column;gap:10px}.orders-procurement-head .btn-outline{width:100%}.orders-procurement-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.orders-procurement-summary article{padding:9px}.orders-procurement-summary span{font-size:.50rem;line-height:1.3}.orders-procurement-summary strong{font-size:.90rem}.orders-procurement-card{grid-template-columns:1fr;gap:10px;padding:12px}.orders-procurement-card-side{text-align:left;min-width:0;border-top:1px solid rgba(255,255,255,.06);padding-top:9px}.orders-procurement-actions{justify-content:flex-start}.orders-procurement-product{min-width:0;width:100%}.orders-procurement-order-head{align-items:center}}


/* ==========================================================
   V17.9.0 — RECEPCIÓN DE MERCANCÍA PARA PEDIDOS
   ========================================================== */
.procurement-receive-card{width:min(760px,calc(100vw - 28px));max-height:min(90vh,850px);overflow:auto;padding:26px!important}
.procurement-receive-help{margin:4px 0 16px;color:rgba(255,255,255,.58);font-size:.76rem;line-height:1.55}.procurement-receive-help strong{color:#cfd1ff}
.procurement-receive-order{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin-bottom:12px;border:1px solid rgba(65,65,255,.24);border-radius:13px;background:rgba(65,65,255,.07)}.procurement-receive-order strong{font-size:.82rem;color:#b8b9ff}.procurement-receive-order span{font-size:.76rem;color:#fff;font-weight:700}
.procurement-receive-lines{display:flex;flex-direction:column;gap:8px}.procurement-receive-line{display:grid;grid-template-columns:minmax(0,1fr) 170px 110px;gap:12px;align-items:center;padding:12px 14px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.025)}.procurement-receive-line>div{display:grid;grid-template-columns:24px minmax(0,1fr);gap:2px 8px;align-items:center;min-width:0}.procurement-receive-line>div>span{grid-row:1/3;display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:rgba(65,65,255,.13);color:#aeb0ff;font-size:.66rem;font-weight:900}.procurement-receive-line>div>strong{min-width:0;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.procurement-receive-line>div>small{color:rgba(255,255,255,.48);font-size:.64rem}.procurement-receive-line>label{display:flex;flex-direction:column;gap:4px;color:rgba(255,255,255,.48);font-size:.61rem;font-weight:700}.procurement-receive-line>label .form-input{height:38px!important;margin:0!important}.procurement-receive-line>b{text-align:right;font-size:.82rem;color:#74dbac;white-space:nowrap}
.procurement-receive-form-grid{display:grid;grid-template-columns:1fr 180px;gap:10px;margin-top:14px}.procurement-receive-form-grid .form-group{margin:0}.procurement-receive-wide{grid-column:1/-1}.procurement-receive-wide>small{display:block;margin-top:5px;color:rgba(255,255,255,.40);font-size:.60rem;line-height:1.4}
.procurement-receive-total{display:flex;align-items:center;justify-content:space-between;margin:16px 0 4px;padding:14px 16px;border-radius:13px;background:rgba(74,211,151,.07);border:1px solid rgba(74,211,151,.20)}.procurement-receive-total span{color:rgba(255,255,255,.58);font-size:.70rem;font-weight:700}.procurement-receive-total strong{font-size:1.15rem;color:#74dbac}
.procurement-received-label{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:25px;padding:4px 8px;border-radius:999px;border:1px solid rgba(74,211,151,.28);background:rgba(74,211,151,.08);color:#72dbaa!important;font-size:.56rem!important;font-weight:900!important;letter-spacing:.06em;white-space:nowrap}
@media(max-width:700px){.procurement-receive-card{padding:20px 14px!important}.procurement-receive-order{align-items:flex-start;flex-direction:column}.procurement-receive-line{grid-template-columns:1fr 1fr}.procurement-receive-line>div{grid-column:1/-1}.procurement-receive-line>b{align-self:end;padding-bottom:9px}.procurement-receive-form-grid{grid-template-columns:1fr}.procurement-receive-wide{grid-column:auto}.procurement-receive-card .close-order-actions{display:grid!important;grid-template-columns:1fr 1fr!important}.procurement-receive-card .close-order-actions button{width:100%!important}}

/* ==========================================================
   V17.9.1 — PROVEEDOR: FECHA, MONTO ACORDADO Y PAGO MIXTO
   ========================================================== */
.orders-procurement-meta{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:10px;padding-top:9px;border-top:1px solid rgba(255,255,255,.055)}
.orders-procurement-meta span{color:#8f949f;font-size:.59rem;line-height:1.35}.orders-procurement-meta strong{color:#dfe1e8;font-weight:800}.orders-procurement-meta span:nth-child(2) strong{color:#79dcae}
.procurement-request-card{width:min(760px,calc(100vw - 28px));max-height:min(90vh,850px);overflow:auto;padding:26px!important}
.procurement-request-help{margin:4px 0 16px;color:rgba(255,255,255,.58);font-size:.76rem;line-height:1.55}.procurement-request-help strong{color:#cfd1ff}
.procurement-request-order{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin-bottom:12px;border:1px solid rgba(65,65,255,.24);border-radius:13px;background:rgba(65,65,255,.07)}.procurement-request-order strong{font-size:.82rem;color:#b8b9ff}.procurement-request-order span{font-size:.76rem;color:#fff;font-weight:700}
.procurement-request-lines{display:flex;flex-direction:column;gap:8px}.procurement-request-line{display:grid;grid-template-columns:minmax(0,1fr) 190px 110px;gap:12px;align-items:center;padding:12px 14px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.025)}.procurement-request-line>div{display:grid;grid-template-columns:24px minmax(0,1fr);gap:2px 8px;align-items:center;min-width:0}.procurement-request-line>div>span{grid-row:1/3;display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:rgba(65,65,255,.13);color:#aeb0ff;font-size:.66rem;font-weight:900}.procurement-request-line>div>strong{min-width:0;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.procurement-request-line>div>small{color:rgba(255,255,255,.48);font-size:.64rem}.procurement-request-line>label{display:flex;flex-direction:column;gap:4px;color:rgba(255,255,255,.48);font-size:.61rem;font-weight:700}.procurement-request-line>label .form-input{height:38px!important;margin:0!important}.procurement-request-line>b{text-align:right;font-size:.82rem;color:#74dbac;white-space:nowrap}
.procurement-request-form-grid{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:10px;margin-top:14px}.procurement-request-form-grid .form-group{margin:0}.procurement-request-total{display:flex;align-items:center;justify-content:space-between;margin:16px 0 4px;padding:14px 16px;border-radius:13px;background:rgba(74,211,151,.07);border:1px solid rgba(74,211,151,.20)}.procurement-request-total span{color:rgba(255,255,255,.58);font-size:.70rem;font-weight:700}.procurement-request-total strong{font-size:1.15rem;color:#74dbac}
.procurement-receive-order>div:first-child{min-width:0}.procurement-receive-order>div:first-child strong,.procurement-receive-order>div:first-child span{display:block}.procurement-receive-order-meta{display:flex;flex-direction:column;gap:3px;text-align:right}.procurement-receive-order-meta small{color:rgba(255,255,255,.50);font-size:.59rem}.procurement-receive-order-meta b{color:#e5e6eb;font-weight:800}
.procurement-payment-box{margin-top:14px;padding:14px;border:1px solid rgba(94,98,255,.20);border-radius:14px;background:rgba(65,65,255,.045)}
.procurement-payment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}.procurement-payment-head>div{display:flex;flex-direction:column;gap:4px}.procurement-payment-head strong{color:#f2f2f5;font-size:.76rem}.procurement-payment-head small{color:rgba(255,255,255,.43);font-size:.59rem;line-height:1.45}.procurement-payment-head>span{padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.08);color:#9297a1;font-size:.54rem;font-weight:850;white-space:nowrap}.procurement-payment-head>span.is-ok{border-color:rgba(74,211,151,.28);background:rgba(74,211,151,.08);color:#79dcae}.procurement-payment-head>span.is-warn{border-color:rgba(238,184,79,.30);background:rgba(238,184,79,.08);color:#e8c87f}
.procurement-payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.procurement-payment-source{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:7px}.procurement-payment-source>label,.procurement-payment-source>small{grid-column:1/-1}.procurement-payment-source>label{color:#cfd1d8;font-size:.62rem;font-weight:800}.procurement-payment-source>small{color:rgba(255,255,255,.38);font-size:.55rem}.procurement-payment-source .form-input{margin:0!important;height:39px!important;min-width:0!important}
.procurement-payment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}.procurement-payment-summary>span{padding:8px 9px;border-radius:10px;background:rgba(0,0,0,.15);color:rgba(255,255,255,.45);font-size:.56rem}.procurement-payment-summary strong{display:block;margin-top:3px;color:#f0f1f5;font-size:.70rem}.procurement-payment-summary>span:last-child strong{color:#e8c87f}
@media(max-width:700px){.procurement-request-card{padding:20px 14px!important}.procurement-request-order{align-items:flex-start;flex-direction:column}.procurement-request-line{grid-template-columns:1fr 1fr}.procurement-request-line>div{grid-column:1/-1}.procurement-request-line>b{align-self:end;padding-bottom:9px}.procurement-request-form-grid{grid-template-columns:1fr}.procurement-payment-grid{grid-template-columns:1fr}.procurement-payment-source{grid-template-columns:1fr}.procurement-payment-source>label,.procurement-payment-source>small{grid-column:auto}.procurement-payment-summary{grid-template-columns:1fr 1fr}.procurement-payment-summary>span:last-child{grid-column:1/-1}.procurement-payment-head{flex-direction:column}.procurement-receive-order-meta{text-align:left}.procurement-request-card .close-order-actions{display:grid!important;grid-template-columns:1fr 1fr!important}.procurement-request-card .close-order-actions button{width:100%!important}}


/* ==========================================================
   V17.10.0 — CONTROL FINANCIERO DE COMPRAS PARA PEDIDOS
   ========================================================== */
.orders-procurement-summary-v10{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:9px !important;
}
.orders-procurement-summary-v10 article{
  min-width:0;
  min-height:96px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  padding:12px 13px !important;
}
.orders-procurement-summary-v10 article span{
  color:rgba(255,255,255,.48);
  font-size:.58rem;
  font-weight:800;
  line-height:1.25;
}
.orders-procurement-summary-v10 article strong{
  color:#f1f2f5;
  font-size:1rem;
  line-height:1.1;
  overflow-wrap:anywhere;
}
.orders-procurement-summary-v10 article small{
  color:rgba(255,255,255,.34);
  font-size:.52rem;
  line-height:1.35;
}
.orders-procurement-summary-v10 article.is-money strong{color:#b9bbff}
.orders-procurement-summary-v10 article.is-paid strong{color:#78dbae}
.orders-procurement-summary-v10 article.is-pending strong{color:#e8c77e}
.procurement-meta-v10{
  align-items:center;
}
.procurement-meta-v10>span{
  display:inline-flex;
  align-items:center;
  gap:3px;
}
.procurement-meta-v10 .procurement-paid-meta strong{color:#79dcae}
.procurement-meta-v10 .procurement-balance-meta.has-balance strong{color:#e8c87f}
.procurement-meta-v10 .procurement-balance-meta.is-settled,
.procurement-meta-v10 .procurement-balance-meta.is-settled strong{color:#79dcae}
.procurement-payment-breakdown{
  flex-basis:100%;
  padding-top:4px;
  color:#8f949f !important;
}
.procurement-payment-breakdown strong{color:#dfe1e8 !important}
.procurement-variance{
  flex-basis:100%;
  width:max-content;
  max-width:100%;
  padding:4px 7px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.07);
  font-size:.54rem !important;
  font-weight:800;
}
.procurement-variance.is-over{
  border-color:rgba(240,108,118,.25);
  background:rgba(240,108,118,.07);
  color:#ef9aa1 !important;
}
.procurement-variance.is-over strong{color:#ffabb1 !important}
.procurement-variance.is-under{
  border-color:rgba(74,211,151,.25);
  background:rgba(74,211,151,.07);
  color:#82dcb3 !important;
}
.procurement-variance.is-under strong{color:#8be2bb !important}
@media(max-width:1280px){
  .orders-procurement-summary-v10{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}
@media(max-width:700px){
  .orders-procurement-summary-v10{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .orders-procurement-summary-v10 article{min-height:88px;padding:11px !important}
  .orders-procurement-summary-v10 article strong{font-size:.9rem}
  .procurement-meta-v10{gap:7px 10px !important}
}


/* ==========================================================
   V17.11.0 — FECHAS, VENCIMIENTOS Y RASTREO DE PROVEEDOR
   ========================================================== */
.orders-procurement-summary-v10{
  grid-template-columns:repeat(8,minmax(0,1fr)) !important;
}
.orders-procurement-summary-v10 article.is-alert strong{color:#ef9ba3}
.procurement-request-form-grid-v11{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
.procurement-request-wide{grid-column:1/-1 !important}
.procurement-tracking-card{
  width:min(650px,calc(100vw - 28px));
  padding:26px !important;
}
.procurement-tracking-ref{
  flex-basis:100%;
  display:block !important;
  padding-top:3px;
  color:#9fa4b0 !important;
}
.procurement-tracking-ref strong{color:#cfd1ff !important;overflow-wrap:anywhere}
.procurement-deadlines{
  flex-basis:100%;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:3px;
}
.procurement-deadline-badge{
  display:inline-flex !important;
  align-items:center;
  width:max-content;
  max-width:100%;
  min-height:25px;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid rgba(104,108,255,.23);
  background:rgba(65,65,255,.07);
  color:#b6b8ff !important;
  font-size:.55rem !important;
  font-weight:850 !important;
  line-height:1.15 !important;
}
.procurement-deadline-badge.is-soon{
  border-color:rgba(238,184,79,.30);
  background:rgba(238,184,79,.08);
  color:#e7c77e !important;
}
.procurement-deadline-badge.is-today{
  border-color:rgba(238,184,79,.48);
  background:rgba(238,184,79,.13);
  color:#f2d492 !important;
}
.procurement-deadline-badge.is-overdue{
  border-color:rgba(240,108,118,.35);
  background:rgba(240,108,118,.10);
  color:#f3a1a8 !important;
}
.orders-procurement-card:has(.procurement-deadline-badge.is-overdue){
  border-color:rgba(240,108,118,.30);
}
@media(max-width:1500px){
  .orders-procurement-summary-v10{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
}
@media(max-width:700px){
  .orders-procurement-summary-v10{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .procurement-request-form-grid-v11{grid-template-columns:1fr !important}
  .procurement-request-wide{grid-column:auto !important}
  .procurement-tracking-card{padding:20px 14px !important}
}


/* ==========================================================
   V17.12.0 — RENDIMIENTO DE PROVEEDORES
   ========================================================== */
.orders-suppliers-performance{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.07)}
.orders-suppliers-performance-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px}
.orders-suppliers-performance-head>div{min-width:0}.orders-suppliers-performance-kicker{display:block;color:#8585ff;font-size:.61rem;font-weight:900;letter-spacing:.14em;margin-bottom:5px}.orders-suppliers-performance-head h5{margin:0;color:#f4f4f7;font-size:1rem}.orders-suppliers-performance-head p{margin:5px 0 0;color:rgba(255,255,255,.48);font-size:.70rem;line-height:1.5;max-width:720px}
.orders-supplier-performance-sort{width:190px!important;min-width:190px;height:40px!important;margin:0!important}
.orders-suppliers-performance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:11px}.orders-suppliers-performance-summary article{min-width:0;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);border-radius:13px;padding:12px 13px}.orders-suppliers-performance-summary span,.orders-suppliers-performance-summary small{display:block}.orders-suppliers-performance-summary span{color:rgba(255,255,255,.46);font-size:.59rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.orders-suppliers-performance-summary strong{display:block;margin-top:6px;color:#fff;font-size:1.05rem;letter-spacing:-.02em}.orders-suppliers-performance-summary small{margin-top:4px;color:rgba(255,255,255,.36);font-size:.58rem;line-height:1.35}
.orders-suppliers-performance-list{display:flex;flex-direction:column;gap:8px}.orders-supplier-performance-card{display:grid;grid-template-columns:minmax(210px,1.05fr) minmax(420px,1.7fr);gap:14px;align-items:center;padding:13px 14px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(255,255,255,.022)}.orders-supplier-performance-card.is-good{border-color:rgba(75,195,133,.18)}.orders-supplier-performance-card.is-risk{border-color:rgba(255,104,118,.28);background:rgba(255,104,118,.025)}.orders-supplier-performance-card.has-pending{border-color:rgba(238,184,79,.20)}
.orders-supplier-performance-main{min-width:0}.orders-supplier-performance-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.orders-supplier-performance-title strong{font-size:.82rem;color:#f5f5f7;overflow-wrap:anywhere}.orders-supplier-performance-title span{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:.52rem;font-weight:850;white-space:nowrap}.orders-supplier-performance-title span.is-good{color:#75dca7;background:rgba(75,195,133,.09);border:1px solid rgba(75,195,133,.18)}.orders-supplier-performance-title span.is-risk{color:#ff919c;background:rgba(255,104,118,.08);border:1px solid rgba(255,104,118,.20)}.orders-supplier-performance-main>small{display:block;margin-top:5px;color:rgba(255,255,255,.40);font-size:.60rem;line-height:1.4}
.orders-supplier-performance-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.orders-supplier-performance-metrics>div{min-width:0;padding-left:11px;border-left:1px solid rgba(255,255,255,.065)}.orders-supplier-performance-metrics span,.orders-supplier-performance-metrics small{display:block}.orders-supplier-performance-metrics span{font-size:.55rem;color:rgba(255,255,255,.38);font-weight:800;text-transform:uppercase;letter-spacing:.05em}.orders-supplier-performance-metrics strong{display:block;margin-top:4px;color:#f1f2f5;font-size:.75rem;line-height:1.3}.orders-supplier-performance-metrics small{margin-top:3px;color:rgba(255,255,255,.34);font-size:.56rem;line-height:1.35}.orders-supplier-performance-metrics .has-balance strong{color:#f0ca7a}
.orders-suppliers-performance-empty{padding:22px 14px;text-align:center;border:1px dashed rgba(255,255,255,.08);border-radius:13px;color:rgba(255,255,255,.42)}.orders-suppliers-performance-empty strong,.orders-suppliers-performance-empty span{display:block}.orders-suppliers-performance-empty strong{color:#dadbe0;font-size:.78rem}.orders-suppliers-performance-empty span{margin-top:5px;font-size:.63rem}
@media(max-width:980px){.orders-suppliers-performance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.orders-supplier-performance-card{grid-template-columns:1fr}.orders-supplier-performance-metrics>div:first-child{padding-left:0;border-left:0}}
@media(max-width:650px){.orders-suppliers-performance-head{align-items:stretch;flex-direction:column}.orders-supplier-performance-sort{width:100%!important;min-width:0}.orders-suppliers-performance-summary{grid-template-columns:1fr 1fr}.orders-supplier-performance-card{padding:12px}.orders-supplier-performance-metrics{grid-template-columns:1fr}.orders-supplier-performance-metrics>div,.orders-supplier-performance-metrics>div:first-child{padding:8px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.06)}.orders-supplier-performance-metrics>div:first-child{border-top:0;padding-top:0}}


/* ==========================================================
   V17.13.0 — CUENTAS POR COBRAR
   ========================================================== */
.orders-receivables-section{margin:0 0 24px;padding:20px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(12,14,20,.66);box-shadow:0 16px 36px rgba(0,0,0,.14)}
.orders-receivables-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.orders-receivables-kicker{display:block;margin-bottom:5px;color:#7777ff;font-size:.62rem;font-weight:900;letter-spacing:.16em}.orders-receivables-head h4{margin:0;color:#f4f4f6;font-size:1.02rem}.orders-receivables-head p{margin:6px 0 0;max-width:760px;color:rgba(255,255,255,.50);font-size:.72rem;line-height:1.5}.orders-receivables-sort{width:190px;min-width:190px;height:40px;margin:0}
.orders-receivables-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.orders-receivables-summary article{min-width:0;padding:13px 14px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.025)}.orders-receivables-summary span,.orders-receivables-summary strong,.orders-receivables-summary small{display:block}.orders-receivables-summary span{color:rgba(255,255,255,.48);font-size:.62rem;font-weight:750}.orders-receivables-summary strong{margin-top:7px;color:#f5f5f7;font-size:1.12rem;letter-spacing:-.025em}.orders-receivables-summary small{margin-top:4px;color:rgba(255,255,255,.34);font-size:.58rem;line-height:1.35}.orders-receivables-summary .is-money strong{color:#78d9a6}.orders-receivables-summary .is-warning strong{color:#efc36f}.orders-receivables-summary .is-ready strong{color:#a4a7ff}
.orders-receivables-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.orders-receivable-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:14px;border:1px solid rgba(255,255,255,.07);border-radius:15px;background:rgba(255,255,255,.022)}.orders-receivable-card.is-old{border-color:rgba(239,195,111,.18)}.orders-receivable-card.is-critical{border-color:rgba(255,110,122,.28);background:rgba(255,110,122,.025)}.orders-receivable-card.is-ready{box-shadow:inset 3px 0 0 rgba(119,119,255,.70)}
.orders-receivable-main{min-width:0}.orders-receivable-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.orders-receivable-top>div{display:flex;flex-direction:column;gap:2px;min-width:0}.orders-receivable-top>div>span{color:#7f82ff;font-size:.61rem;font-weight:900;letter-spacing:.07em}.orders-receivable-top>div>strong{color:#f4f4f6;font-size:.82rem;overflow-wrap:anywhere}.orders-receivable-top>div>small{color:rgba(255,255,255,.42);font-size:.60rem}.orders-receivable-age{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);font-size:.56rem;font-weight:850;white-space:nowrap}.orders-receivable-age.is-recent{color:#8fd8b3;border-color:rgba(99,211,154,.22)}.orders-receivable-age.is-followup{color:#a9adff;border-color:rgba(119,119,255,.26)}.orders-receivable-age.is-warning{color:#efc36f;border-color:rgba(239,195,111,.28);background:rgba(239,195,111,.05)}.orders-receivable-age.is-critical{color:#ff939e;border-color:rgba(255,110,122,.30);background:rgba(255,110,122,.06)}
.orders-receivable-products{margin:8px 0 9px;color:rgba(255,255,255,.58);font-size:.64rem;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.orders-receivable-finance{display:flex;flex-wrap:wrap;gap:7px 14px}.orders-receivable-finance span{color:rgba(255,255,255,.40);font-size:.59rem}.orders-receivable-finance strong{margin-left:4px;color:#d8dae1;font-size:.68rem}.orders-receivable-finance .has-balance strong{color:#efc36f}.orders-receivable-progress{height:4px;margin-top:9px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.06)}.orders-receivable-progress i{display:block;height:100%;border-radius:inherit;background:#6868ff}.orders-receivable-status{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:8px}.orders-receivable-status span{color:rgba(255,255,255,.40);font-size:.58rem}.orders-receivable-status strong{color:#a9adff;font-size:.57rem;font-weight:750}
.orders-receivable-actions{display:flex;flex-direction:column;justify-content:center;gap:7px;min-width:142px}.orders-receivable-actions .small{width:100%;white-space:nowrap;font-size:.61rem!important}.orders-receivables-empty{grid-column:1/-1;padding:28px 16px;text-align:center;border:1px dashed rgba(255,255,255,.10);border-radius:14px;color:rgba(255,255,255,.48)}.orders-receivables-empty strong,.orders-receivables-empty span{display:block}.orders-receivables-empty strong{color:#8fd8b3;font-size:.84rem}.orders-receivables-empty span{margin-top:4px;font-size:.66rem}
@media(max-width:1100px){.orders-receivables-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.orders-receivables-list{grid-template-columns:1fr}}
@media(max-width:700px){.orders-receivables-section{padding:14px;border-radius:15px}.orders-receivables-head{align-items:stretch;flex-direction:column}.orders-receivables-sort{width:100%;min-width:0}.orders-receivables-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.orders-receivables-summary article{padding:11px}.orders-receivable-card{grid-template-columns:1fr;gap:10px}.orders-receivable-actions{display:grid;grid-template-columns:1fr 1fr;min-width:0}.orders-receivable-products{white-space:normal}.orders-receivable-top{gap:7px}.orders-receivable-age{font-size:.53rem}.orders-receivable-actions .small{min-height:38px}}


/* ==========================================================
   V17.14.0 — COBERTURA DE ANTICIPOS + CAPITAL REQUERIDO
   ========================================================== */
.orders-coverage-section{margin:0 0 24px;padding:20px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(12,14,20,.66);box-shadow:0 16px 36px rgba(0,0,0,.14)}
.orders-coverage-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.orders-coverage-kicker{display:block;margin-bottom:5px;color:#7777ff;font-size:.62rem;font-weight:900;letter-spacing:.16em}.orders-coverage-head h4{margin:0;color:#f4f4f6;font-size:1.02rem}.orders-coverage-head p{margin:6px 0 0;max-width:800px;color:rgba(255,255,255,.50);font-size:.72rem;line-height:1.5}.orders-coverage-sort{width:215px;min-width:215px;height:40px;margin:0}
.orders-coverage-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px}.orders-coverage-summary article{min-width:0;padding:13px 14px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.025)}.orders-coverage-summary span,.orders-coverage-summary strong,.orders-coverage-summary small{display:block}.orders-coverage-summary span{color:rgba(255,255,255,.48);font-size:.61rem;font-weight:750}.orders-coverage-summary strong{margin-top:7px;color:#f5f5f7;font-size:1.08rem;letter-spacing:-.025em}.orders-coverage-summary small{margin-top:4px;color:rgba(255,255,255,.34);font-size:.57rem;line-height:1.35}.orders-coverage-summary .is-client strong{color:#78d9a6}.orders-coverage-summary .is-supplier strong{color:#a9abff}.orders-coverage-summary .is-gap strong{color:#efb26f}.orders-coverage-summary .is-margin strong{color:#8fd8b3}
.orders-coverage-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.orders-coverage-card{padding:14px;border:1px solid rgba(255,255,255,.07);border-radius:15px;background:rgba(255,255,255,.022)}.orders-coverage-card.is-gap{border-color:rgba(239,178,111,.26);box-shadow:inset 3px 0 0 rgba(239,178,111,.72)}.orders-coverage-card.is-covered{border-color:rgba(100,215,155,.20);box-shadow:inset 3px 0 0 rgba(100,215,155,.62)}.orders-coverage-card.is-unknown{border-color:rgba(255,255,255,.10)}
.orders-coverage-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.orders-coverage-card-head>div{display:flex;flex-direction:column;min-width:0}.orders-coverage-card-head span{color:#7777ff;font-size:.58rem;font-weight:850;letter-spacing:.07em}.orders-coverage-card-head strong{margin-top:3px;color:#f4f4f6;font-size:.84rem}.orders-coverage-card-head small{margin-top:3px;color:rgba(255,255,255,.42);font-size:.60rem}.orders-coverage-card-head em{font-style:normal;flex:0 0 auto;max-width:180px;padding:5px 8px;border:1px solid rgba(255,255,255,.08);border-radius:999px;color:#c7c9d2;background:rgba(255,255,255,.025);font-size:.56rem;font-weight:800;text-align:center}.orders-coverage-card.is-gap .orders-coverage-card-head em{color:#efc584;border-color:rgba(239,178,111,.26);background:rgba(239,178,111,.07)}.orders-coverage-card.is-covered .orders-coverage-card-head em{color:#85dcae;border-color:rgba(100,215,155,.24);background:rgba(100,215,155,.06)}
.orders-coverage-products{margin:10px 0;color:rgba(255,255,255,.54);font-size:.64rem;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.orders-coverage-finance{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.orders-coverage-finance>span{display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:9px;background:rgba(255,255,255,.025);color:rgba(255,255,255,.38);font-size:.54rem;min-width:0}.orders-coverage-finance strong{color:#e8e9ed;font-size:.68rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.orders-coverage-finance .is-danger strong{color:#efb26f}.orders-coverage-finance .is-good strong{color:#78d9a6}
.orders-coverage-progress-row{display:flex;align-items:center;justify-content:space-between;margin-top:11px;color:rgba(255,255,255,.45);font-size:.58rem}.orders-coverage-progress-row strong{color:#d7d9df}.orders-coverage-progress{height:6px;margin-top:5px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}.orders-coverage-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5f63ff,#75d4a1)}.orders-coverage-note{display:block;margin-top:8px;color:rgba(255,255,255,.38);font-size:.58rem;line-height:1.4}.orders-coverage-note.is-warning{color:#d9b97d}.orders-coverage-note.is-success{color:#78cfa2}.orders-coverage-empty{grid-column:1/-1;padding:28px 16px;text-align:center;border:1px dashed rgba(255,255,255,.10);border-radius:14px;color:rgba(255,255,255,.48)}.orders-coverage-empty strong,.orders-coverage-empty span{display:block}.orders-coverage-empty strong{color:#a7a9ff;font-size:.84rem}.orders-coverage-empty span{margin-top:4px;font-size:.66rem}
@media(max-width:1200px){.orders-coverage-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.orders-coverage-finance{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.orders-coverage-list{grid-template-columns:1fr}}
@media(max-width:700px){.orders-coverage-section{padding:14px;border-radius:15px}.orders-coverage-head{align-items:stretch;flex-direction:column}.orders-coverage-sort{width:100%;min-width:0}.orders-coverage-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.orders-coverage-summary article{padding:11px}.orders-coverage-finance{grid-template-columns:repeat(2,minmax(0,1fr))}.orders-coverage-products{white-space:normal}.orders-coverage-card-head{gap:8px}.orders-coverage-card-head em{max-width:130px;font-size:.52rem}.orders-coverage-note{font-size:.57rem}}


/* ==========================================================
   V17.20.0 — CATÁLOGO PÚBLICO: CLARIDAD + PRESENTACIONES
   ========================================================== */
#catalogBody .catalog-stock.is-out{
  color:#8f939d !important;
}
#modalPerfumeName .modal-availability-line{
  display:inline-flex !important;
  width:max-content;
  align-items:center;
  min-height:25px;
  margin-top:8px !important;
  padding:4px 9px !important;
  border:1px solid rgba(255,255,255,.09);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  font-size:.68rem !important;
  font-weight:800 !important;
  line-height:1 !important;
}
#modalPerfumeName .modal-availability-line.is-stock{
  color:#82dbad !important;
  border-color:rgba(95,210,151,.24);
  background:rgba(95,210,151,.07);
}
#modalPerfumeName .modal-availability-line.is-backorder{
  color:#e8c87f !important;
  border-color:rgba(238,184,79,.25);
  background:rgba(238,184,79,.07);
}
#modalPerfumeName .modal-availability-line.is-out{
  color:#b8bbc4 !important;
}
#modalOptions .modal-option-group{
  display:flex;
  flex-direction:column;
  gap:7px;
  width:100%;
}
#modalOptions .modal-option-group + .modal-option-group{
  margin-top:13px;
}
#modalOptions .modal-option-group-title{
  display:block;
  color:#858a95;
  font:800 .59rem/1 'Montserrat',sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}
#modalOptions .modal-sellado-row{
  margin:0 !important;
}
#modalOptions .modal-decants-row{
  margin:0 !important;
}
@media(max-width:768px){
  #catalogBody .catalog-stock.is-out{
    color:#91959f !important;
    font-weight:700 !important;
  }
  #addToCartModal .modal-card{
    width:min(94vw,520px) !important;
  }
  #modalPerfumeName .modal-availability-line{
    min-height:24px;
    margin-top:7px !important;
    font-size:.64rem !important;
  }
  #modalOptions .modal-option-group + .modal-option-group{
    margin-top:10px;
  }
  #modalOptions .modal-option-group-title{
    font-size:.55rem;
  }
}


.catalog-stock.is-decants{color:#f0cf88 !important;font-weight:800 !important;}
.catalog-stock.is-empty{display:none !important;}


/* ==========================================================
   V17.21.0 — CATÁLOGO MÓVIL PREMIUM + MODAL DE PRODUCTO
   ========================================================== */
@media(max-width:768px){
  /* Tarjetas: menos borde, mejor jerarquía y más presencia del producto. */
  #catalogBody{gap:12px !important;padding-inline:8px !important;}
  #catalogBody tr.mobile-add-card{
    grid-template-columns:84px minmax(0,1fr) 14px !important;
    grid-template-areas:"img name arrow" "img price arrow" !important;
    min-height:148px !important;
    padding:15px 34px 15px 14px !important;
    column-gap:14px !important;
    border:1px solid rgba(95,99,255,.24) !important;
    border-radius:20px !important;
    background:linear-gradient(145deg,rgba(17,18,22,.98),rgba(8,9,12,.98)) !important;
    box-shadow:0 12px 28px rgba(0,0,0,.24) !important;
    overflow:hidden !important;
  }
  #catalogBody tr.mobile-add-card::before{
    content:"" !important;
    position:absolute !important;
    inset:0 auto 0 0 !important;
    width:2px !important;
    background:linear-gradient(180deg,transparent,rgba(95,99,255,.72),transparent) !important;
    opacity:.68 !important;
  }
  #catalogBody tr.mobile-add-card::after{
    right:12px !important;
    color:rgba(103,108,255,.72) !important;
    font-size:1.55rem !important;
    font-weight:400 !important;
  }
  #catalogBody .perfume-thumb,
  #catalogBody .perfume-placeholder{
    width:82px !important;
    height:108px !important;
    max-width:82px !important;
    max-height:108px !important;
    object-fit:contain !important;
    filter:drop-shadow(0 12px 13px rgba(0,0,0,.34)) !important;
  }
  #catalogBody .col-name{align-self:center !important;}
  #catalogBody .pf-name-line{margin:0 0 5px !important;}
  #catalogBody .pf-name,
  #catalogBody .pf-name-gold{
    color:#f3f4f7 !important;
    font-family:'Montserrat',sans-serif !important;
    font-size:1.01rem !important;
    font-weight:850 !important;
    line-height:1.08 !important;
    letter-spacing:-.018em !important;
    text-wrap:balance !important;
  }
  #catalogBody .pf-brand,
  #catalogBody .pf-brand-gray{
    margin:0 0 7px !important;
    color:#969ba7 !important;
    font-size:.64rem !important;
    font-weight:750 !important;
    letter-spacing:.13em !important;
    line-height:1.15 !important;
  }
  #catalogBody .catalog-stock{
    display:inline-flex !important;
    width:max-content !important;
    align-items:center !important;
    gap:6px !important;
    min-height:22px !important;
    padding:3px 7px !important;
    border-radius:999px !important;
    background:rgba(94,203,142,.07) !important;
    color:#a5ddb9 !important;
    font-size:.64rem !important;
    font-weight:800 !important;
    line-height:1 !important;
  }
  #catalogBody .catalog-stock::before{
    content:"";
    width:5px;height:5px;border-radius:50%;
    background:#69d797;
    box-shadow:0 0 0 3px rgba(105,215,151,.10);
    flex:0 0 auto;
  }
  #catalogBody .catalog-stock.is-decants{
    background:rgba(232,200,127,.075) !important;
    color:#ddc68e !important;
  }
  #catalogBody .catalog-stock.is-decants::before{
    background:#d4ba79 !important;
    box-shadow:0 0 0 3px rgba(212,186,121,.10) !important;
  }
  #catalogBody .catalog-decant-summary{
    margin-top:5px !important;
    color:#808692 !important;
    font-size:.58rem !important;
    font-weight:550 !important;
  }
  #catalogBody .catalog-decant-summary strong{color:#b8bdc7 !important;font-weight:700 !important;}
  #catalogBody .badges-mobile{gap:5px !important;margin-top:7px !important;}
  #catalogBody .badges-mobile .badge,
  #catalogBody .badges-mobile .promo-badge,
  #catalogBody .badges-mobile .new-badge,
  #catalogBody .badges-mobile .tag,
  #catalogBody .badges-mobile span{
    min-height:20px !important;
    padding:4px 8px !important;
    border-radius:999px !important;
    font-size:.51rem !important;
    font-weight:850 !important;
    letter-spacing:.09em !important;
  }
  #catalogBody .price-base{
    margin-top:9px !important;
    color:#73d694 !important;
    font-size:1.16rem !important;
    font-weight:900 !important;
  }
  #catalogBody .catalog-price-current,
  #catalogBody .price-base .new-price,
  #catalogBody .price-base .decants-only-label{
    color:#73d694 !important;
    font-size:1em !important;
    font-weight:900 !important;
  }
  #catalogBody .price-base .decants-only-label::after{
    color:#8c929d !important;
  }

  /* Modal: se comporta como una mini ficha de producto. */
  #addToCartModal{
    align-items:flex-end !important;
    padding:10px !important;
    background:rgba(3,4,7,.74) !important;
    backdrop-filter:blur(8px) !important;
  }
  #addToCartModal .modal-card{
    width:100% !important;
    max-width:560px !important;
    max-height:94dvh !important;
    min-height:0 !important;
    padding:18px 16px 0 !important;
    border:1px solid rgba(255,255,255,.08) !important;
    border-radius:24px 24px 14px 14px !important;
    background:linear-gradient(180deg,#15171d 0%,#0d0f14 100%) !important;
    box-shadow:0 -18px 60px rgba(0,0,0,.55) !important;
    overflow:auto !important;
    overscroll-behavior:contain !important;
  }
  #addToCartModal .modal-close{
    position:sticky !important;
    top:0 !important;
    float:right !important;
    margin:-4px -2px -34px 0 !important;
    width:34px !important;height:34px !important;
    display:grid !important;place-items:center !important;
    border-radius:50% !important;
    background:rgba(255,255,255,.055) !important;
    color:#d9dce3 !important;
    font-size:1.45rem !important;
    line-height:1 !important;
    z-index:20 !important;
  }
  #addToCartModal .modal-product-layout{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
  }
  #addToCartModal .modal-product-image-panel{
    order:-1 !important;
    width:100% !important;
    height:188px !important;
    min-height:188px !important;
    margin:2px 0 13px !important;
    padding:12px 44px !important;
    border:0 !important;
    border-radius:18px !important;
    background:radial-gradient(circle at 50% 48%,rgba(86,91,255,.11),transparent 58%) !important;
  }
  #modalProductSideImage{
    max-height:164px !important;
    filter:drop-shadow(0 18px 24px rgba(0,0,0,.44)) !important;
  }
  #modalPerfumeName{
    gap:5px !important;
    margin:0 0 14px !important;
    padding-right:38px !important;
  }
  #modalPerfumeName .modal-product-name{
    order:1 !important;
    max-width:100% !important;
    color:#f6f7fa !important;
    font-family:'Montserrat',sans-serif !important;
    font-size:1.34rem !important;
    font-weight:900 !important;
    line-height:1.08 !important;
    letter-spacing:-.025em !important;
    white-space:normal !important;
    text-transform:uppercase !important;
  }
  #modalPerfumeName .modal-brand-name{
    order:2 !important;
    color:#969ba7 !important;
    font-size:.65rem !important;
    font-weight:800 !important;
    letter-spacing:.15em !important;
  }
  #modalPerfumeName .modal-availability-line{
    order:3 !important;
    min-height:23px !important;
    margin-top:4px !important;
    padding:4px 8px !important;
    font-size:.59rem !important;
  }
  #addToCartModal .modal-sub{display:none !important;}
  #modalOptions{
    gap:12px !important;
    margin:0 0 16px !important;
  }
  #modalOptions .modal-option-group{gap:8px !important;}
  #modalOptions .modal-option-group + .modal-option-group{
    margin-top:5px !important;
    padding-top:13px !important;
    border-top:1px solid rgba(255,255,255,.065) !important;
  }
  #modalOptions .modal-option-group-title{
    color:#858b98 !important;
    font-size:.56rem !important;
    font-weight:900 !important;
    letter-spacing:.14em !important;
  }
  #modalOptions .modal-sellado-row{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }
  #modalOptions .modal-sellado-row .modal-opt,
  #modalOptions .modal-decants-row .modal-opt{
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:72px !important;
    padding:11px 10px !important;
    border:1px solid rgba(255,255,255,.085) !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.025) !important;
    color:#e8eaf0 !important;
    box-shadow:none !important;
  }
  #modalOptions .modal-decants-row{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }
  #modalOptions .modal-decants-row .modal-opt{min-height:68px !important;}
  #modalOptions .modal-opt .modal-opt-label{
    color:#eef0f5 !important;
    font-size:.78rem !important;
    font-weight:900 !important;
    line-height:1.1 !important;
  }
  #modalOptions .modal-opt small{
    margin-top:6px !important;
    color:#9ca1ad !important;
    font-size:.65rem !important;
    font-weight:750 !important;
    line-height:1.1 !important;
  }
  #modalOptions .modal-opt.selected{
    border-color:#6569ff !important;
    background:rgba(81,81,255,.13) !important;
    color:#fff !important;
    box-shadow:inset 0 0 0 1px rgba(101,105,255,.18) !important;
  }
  #modalOptions .modal-opt.selected .modal-opt-label{color:#fff !important;}
  #modalOptions .modal-opt.selected small{color:#aeb1ff !important;}
  #modalOptions .modal-opt.unavailable{
    opacity:.38 !important;
    filter:saturate(.5) !important;
  }
  #addToCartModal .modal-qty-wrap{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    margin:5px 0 14px !important;
    padding:11px 12px !important;
    border:1px solid rgba(255,255,255,.065) !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.018) !important;
    font-size:.72rem !important;
  }
  #addToCartModal .modal-qty-wrap label{
    color:#aeb2bc !important;
    font-size:.68rem !important;
    font-weight:800 !important;
  }
  #addToCartModal .qty-control{gap:7px !important;}
  #addToCartModal .qty-btn{
    width:35px !important;height:35px !important;
    border-radius:10px !important;
    font-size:1.15rem !important;
  }
  #addToCartModal .qty-input{
    width:48px !important;height:35px !important;
    border-radius:10px !important;
    font-size:.82rem !important;
  }
  #addToCartModal .modal-purchase-bar{
    position:sticky !important;
    bottom:0 !important;
    z-index:16 !important;
    display:grid !important;
    grid-template-columns:minmax(92px,.72fr) minmax(0,1.28fr) !important;
    gap:10px !important;
    align-items:center !important;
    margin:0 -16px !important;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom)) !important;
    border-top:1px solid rgba(255,255,255,.08) !important;
    background:rgba(12,14,19,.94) !important;
    backdrop-filter:blur(16px) !important;
  }
  #addToCartModal .modal-purchase-summary{
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:3px !important;
  }
  #addToCartModal .modal-purchase-summary span{
    overflow:hidden !important;
    color:#8e939f !important;
    font-size:.54rem !important;
    font-weight:750 !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
  #addToCartModal .modal-purchase-summary strong{
    color:#f2f3f6 !important;
    font-size:1.08rem !important;
    font-weight:900 !important;
    letter-spacing:-.02em !important;
    white-space:nowrap !important;
  }
  #modalAddBtn{
    width:100% !important;
    height:48px !important;
    margin:0 !important;
    border-radius:12px !important;
    background:#5151ff !important;
    color:#fff !important;
    font-size:.68rem !important;
    font-weight:900 !important;
    letter-spacing:.035em !important;
    text-transform:none !important;
  }
  #modalAddBtn.disabled{opacity:.46 !important;}
}
@media(max-width:390px){
  #catalogBody tr.mobile-add-card{
    grid-template-columns:76px minmax(0,1fr) 12px !important;
    min-height:140px !important;
    padding:13px 30px 13px 12px !important;
    column-gap:11px !important;
  }
  #catalogBody .perfume-thumb,
  #catalogBody .perfume-placeholder{
    width:74px !important;height:98px !important;
    max-width:74px !important;max-height:98px !important;
  }
  #catalogBody .pf-name,#catalogBody .pf-name-gold{font-size:.94rem !important;}
  #addToCartModal .modal-product-image-panel{height:164px !important;min-height:164px !important;}
  #modalProductSideImage{max-height:142px !important;}
}

/* Desktop/tablet: summary de compra integrado sin alterar el layout principal. */
@media(min-width:769px){
  #addToCartModal .modal-purchase-bar{
    display:grid;
    grid-template-columns:minmax(150px,.72fr) minmax(240px,1.28fr);
    align-items:center;
    gap:14px;
  }
  #addToCartModal .modal-purchase-summary{display:flex;flex-direction:column;gap:4px;min-width:0;}
  #addToCartModal .modal-purchase-summary span{color:#8f949f;font-size:.62rem;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  #addToCartModal .modal-purchase-summary strong{color:#f3f4f7;font-size:1.35rem;font-weight:900;}
  #addToCartModal .modal-purchase-bar #modalAddBtn{margin:0 !important;}
}


/* ==========================================================
   V17.21.1 — AJUSTES FINALES CATÁLOGO MÓVIL
   ========================================================== */
@media(max-width:768px){
  /* Tarjetas: chip de disponibilidad más limpio y sin artefactos visuales. */
  #catalogBody tr.mobile-add-card::before{
    width:1px !important;
    opacity:.28 !important;
    background:linear-gradient(180deg,transparent,rgba(95,99,255,.52),transparent) !important;
  }
  #catalogBody .catalog-stock{
    position:relative !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;
    width:max-content !important;
    max-width:100% !important;
    min-height:24px !important;
    margin:1px 0 0 !important;
    padding:5px 10px !important;
    border:1px solid rgba(109,215,151,.20) !important;
    border-radius:999px !important;
    background:rgba(94,203,142,.10) !important;
    color:#a9e2bf !important;
    line-height:1 !important;
    box-shadow:none !important;
    overflow:hidden !important;
    isolation:isolate !important;
  }
  #catalogBody .catalog-stock::before{
    content:"" !important;
    width:6px !important;
    height:6px !important;
    border-radius:50% !important;
    background:#69d797 !important;
    box-shadow:none !important;
    flex:0 0 auto !important;
  }
  #catalogBody .catalog-stock.is-decants{
    border-color:rgba(212,186,121,.22) !important;
    background:rgba(232,200,127,.10) !important;
    color:#e2ca90 !important;
  }
  #catalogBody .catalog-stock.is-decants::before{
    background:#d4ba79 !important;
  }

  /* Modal: botón cerrar arriba a la derecha, fuera del bloque del nombre. */
  #addToCartModal .modal-card{
    position:relative !important;
    padding-top:52px !important;
  }
  #addToCartModal .modal-close{
    position:absolute !important;
    top:12px !important;
    right:12px !important;
    left:auto !important;
    float:none !important;
    margin:0 !important;
    z-index:30 !important;
  }
  #modalPerfumeName{
    padding-right:0 !important;
  }

  /* Modal: si solo existe una presentación sellada, ocupa todo el ancho. */
  #modalOptions .modal-sellado-row .modal-opt:only-child{
    grid-column:1 / -1 !important;
  }
}


/* ==========================================================
   V17.21.2 — MODAL MÓVIL COMPACTO + CHIP SOLO DECANTS
   ========================================================== */
@media(max-width:768px){
  /* "Solo decants": sin punto/pseudo-elemento para evitar la raya superpuesta. */
  #catalogBody .catalog-stock.is-decants::before{
    content:none !important;
    display:none !important;
    width:0 !important;
    height:0 !important;
    box-shadow:none !important;
  }
  #catalogBody .catalog-stock.is-decants{
    gap:0 !important;
    padding:5px 10px !important;
    border:1px solid rgba(212,186,121,.22) !important;
    border-radius:999px !important;
    background:rgba(166,139,78,.12) !important;
    color:#e1c98e !important;
    box-shadow:none !important;
    background-image:none !important;
    text-decoration:none !important;
  }

  /* El modal debe entrar completo en la pantalla: sin espacio extra arriba ni scroll largo. */
  #addToCartModal{
    align-items:center !important;
    justify-content:center !important;
    padding:8px !important;
  }
  #addToCartModal .modal-card{
    position:relative !important;
    width:100% !important;
    max-width:560px !important;
    max-height:calc(100dvh - 16px) !important;
    height:auto !important;
    padding:10px 14px 10px !important;
    overflow:hidden !important;
    border-radius:22px !important;
  }
  #addToCartModal .modal-product-layout{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
    width:100% !important;
  }
  #addToCartModal .modal-product-image-panel{
    order:-1 !important;
    position:relative !important;
    width:100% !important;
    height:clamp(128px,20dvh,168px) !important;
    min-height:128px !important;
    margin:0 0 8px !important;
    padding:8px 44px 6px !important;
    border-radius:16px !important;
  }
  #modalProductSideImage{
    max-height:clamp(118px,18dvh,154px) !important;
  }

  /* X sobre la esquina superior derecha del área de imagen. */
  #addToCartModal .modal-close{
    position:absolute !important;
    top:14px !important;
    right:14px !important;
    left:auto !important;
    width:34px !important;
    height:34px !important;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    place-items:center !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:50% !important;
    background:rgba(13,15,20,.72) !important;
    color:#f2f3f6 !important;
    font-size:1.35rem !important;
    line-height:1 !important;
    z-index:40 !important;
    backdrop-filter:blur(8px) !important;
  }

  #addToCartModal .modal-product-main{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    min-height:0 !important;
  }
  #modalPerfumeName{
    order:1 !important;
    gap:3px !important;
    margin:0 0 7px !important;
    padding-right:0 !important;
  }
  #modalPerfumeName .modal-product-name{
    font-size:1.14rem !important;
    line-height:1.04 !important;
  }
  #modalPerfumeName .modal-brand-name{
    font-size:.58rem !important;
    letter-spacing:.13em !important;
  }
  #modalPerfumeName .modal-availability-line{
    min-height:21px !important;
    margin-top:2px !important;
    padding:3px 7px !important;
    font-size:.55rem !important;
  }

  #modalOptions{
    order:2 !important;
    gap:7px !important;
    margin:0 0 7px !important;
  }
  #modalOptions .modal-option-group{
    gap:5px !important;
  }
  #modalOptions .modal-option-group + .modal-option-group{
    margin-top:2px !important;
    padding-top:8px !important;
  }
  #modalOptions .modal-option-group-title{
    font-size:.52rem !important;
  }
  #modalOptions .modal-sellado-row,
  #modalOptions .modal-decants-row{
    gap:7px !important;
  }
  #modalOptions .modal-sellado-row .modal-opt{
    min-height:56px !important;
    padding:8px 9px !important;
    border-radius:12px !important;
  }
  #modalOptions .modal-decants-row .modal-opt{
    min-height:52px !important;
    padding:7px 8px !important;
    border-radius:12px !important;
  }
  #modalOptions .modal-opt .modal-opt-label{
    font-size:.70rem !important;
  }
  #modalOptions .modal-opt small{
    margin-top:4px !important;
    font-size:.59rem !important;
  }
  #modalOptions .modal-sellado-row .modal-opt:only-child{
    grid-column:1 / -1 !important;
  }

  #addToCartModal .modal-qty-wrap{
    order:3 !important;
    min-height:48px !important;
    margin:0 0 7px !important;
    padding:7px 9px !important;
    border-radius:12px !important;
  }
  #addToCartModal .qty-btn{
    width:32px !important;
    height:32px !important;
  }
  #addToCartModal .qty-input{
    width:44px !important;
    height:32px !important;
  }

  #addToCartModal .modal-purchase-bar{
    order:4 !important;
    position:static !important;
    display:grid !important;
    grid-template-columns:minmax(86px,.70fr) minmax(0,1.30fr) !important;
    gap:8px !important;
    margin:0 !important;
    padding:8px 0 0 !important;
    border-top:1px solid rgba(255,255,255,.07) !important;
    background:transparent !important;
    backdrop-filter:none !important;
  }
  #addToCartModal .modal-purchase-summary span{
    font-size:.49rem !important;
  }
  #addToCartModal .modal-purchase-summary strong{
    font-size:.95rem !important;
  }
  #modalAddBtn{
    height:42px !important;
    border-radius:11px !important;
    font-size:.63rem !important;
  }
}

@media(max-width:390px) and (max-height:760px){
  #addToCartModal .modal-product-image-panel{
    height:116px !important;
    min-height:116px !important;
  }
  #modalProductSideImage{max-height:108px !important;}
  #modalPerfumeName .modal-product-name{font-size:1.02rem !important;}
  #modalOptions .modal-sellado-row .modal-opt{min-height:50px !important;}
  #modalOptions .modal-decants-row .modal-opt{min-height:46px !important;}
}


/* ==========================================================
   V17.21.3 — JERARQUÍA DE STOCK Y DECANTS EN TARJETAS MÓVILES
   ========================================================== */
@media(max-width:768px){
  /* Disponibles / Solo decants: más pequeños para que no compitan con nombre y precio. */
  #catalogBody .catalog-stock{
    min-height:19px !important;
    margin:1px 0 0 !important;
    padding:3px 7px !important;
    gap:5px !important;
    font-size:.56rem !important;
    font-weight:760 !important;
    letter-spacing:.01em !important;
    line-height:1 !important;
    border-width:1px !important;
  }
  #catalogBody .catalog-stock::before{
    width:4px !important;
    height:4px !important;
  }
  #catalogBody .catalog-stock.is-decants{
    min-height:19px !important;
    padding:3px 7px !important;
    font-size:.56rem !important;
    font-weight:760 !important;
  }

  /* "Decants desde" gana un poco de presencia sin competir con el precio principal. */
  #catalogBody .catalog-decant-summary{
    display:block !important;
    margin-top:5px !important;
    color:#a3a8b2 !important;
    font-size:.63rem !important;
    font-weight:620 !important;
    line-height:1.18 !important;
    letter-spacing:.005em !important;
  }
  #catalogBody .catalog-decant-summary strong{
    color:#d7dae1 !important;
    font-size:1em !important;
    font-weight:800 !important;
  }
}

/* ==========================================================
   V17.21.5 — TARJETAS MÓVILES LIMPIAS Y EQUILIBRADAS
   ========================================================== */
@media(max-width:768px){
  #catalogBody{
    gap:12px !important;
    padding-inline:8px !important;
  }

  #catalogBody tr.mobile-add-card{
    grid-template-columns:88px minmax(0,1fr) 16px !important;
    grid-template-areas:
      "img name arrow"
      "img price arrow" !important;
    min-height:136px !important;
    padding:14px 32px 14px 12px !important;
    column-gap:14px !important;
    align-items:center !important;
    border:1px solid rgba(88,92,255,.30) !important;
    border-radius:22px !important;
    background:linear-gradient(145deg,rgba(12,14,20,.98),rgba(7,9,14,.99)) !important;
    box-shadow:0 8px 22px rgba(0,0,0,.22) !important;
    overflow:hidden !important;
  }

  #catalogBody tr.mobile-add-card::before{
    content:none !important;
    display:none !important;
  }
  #catalogBody tr.mobile-add-card::after{
    right:11px !important;
    color:rgba(102,107,255,.72) !important;
    font-size:1.42rem !important;
    font-weight:400 !important;
  }

  #catalogBody td.col-img,
  #catalogBody td.col-name{
    width:auto !important;
    padding:0 !important;
  }
  #catalogBody td.col-name{
    min-width:0 !important;
    align-self:center !important;
  }

  #catalogBody .perfume-thumb,
  #catalogBody .perfume-placeholder{
    width:84px !important;
    height:102px !important;
    max-width:84px !important;
    max-height:102px !important;
    padding:0 !important;
    object-fit:contain !important;
    background:transparent !important;
    filter:drop-shadow(0 9px 12px rgba(0,0,0,.28)) !important;
  }

  #catalogBody .pf-name-line{
    display:block !important;
    margin:0 0 5px !important;
  }
  #catalogBody .pf-name,
  #catalogBody .pf-name-gold{
    color:#f5f6f9 !important;
    font-size:1rem !important;
    font-weight:850 !important;
    line-height:1.02 !important;
    letter-spacing:0 !important;
  }
  #catalogBody .pf-brand,
  #catalogBody .pf-brand-gray{
    margin:0 0 6px !important;
    color:#aeb3bf !important;
    font-size:.67rem !important;
    font-weight:700 !important;
    line-height:1.12 !important;
    letter-spacing:.11em !important;
  }

  /* Estado sin cápsula: más fino, más elegante y sin recortes. */
  #catalogBody .catalog-stock,
  #catalogBody .catalog-stock.is-decants{
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;
    width:auto !important;
    max-width:100% !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
    color:#93d9ad !important;
    font-size:.62rem !important;
    font-weight:760 !important;
    line-height:1.15 !important;
    letter-spacing:.01em !important;
    white-space:nowrap !important;
  }
  #catalogBody .catalog-stock::before,
  #catalogBody .catalog-stock.is-decants::before{
    content:"" !important;
    display:block !important;
    width:5px !important;
    height:5px !important;
    flex:0 0 5px !important;
    border-radius:50% !important;
    background:#68d493 !important;
    box-shadow:none !important;
  }
  #catalogBody .catalog-stock.is-decants{
    color:#d8bd79 !important;
  }
  #catalogBody .catalog-stock.is-decants::before{
    background:#d8bd79 !important;
  }

  #catalogBody .catalog-decant-summary{
    display:block !important;
    margin-top:4px !important;
    color:#a7adb8 !important;
    font-size:.64rem !important;
    font-weight:600 !important;
    line-height:1.2 !important;
    letter-spacing:0 !important;
  }
  #catalogBody .catalog-decant-summary strong{
    color:#eef0f4 !important;
    font-weight:800 !important;
  }

  #catalogBody .badges-mobile{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:5px !important;
    margin-top:7px !important;
  }
  #catalogBody .badges-mobile .badge,
  #catalogBody .badges-mobile .promo-badge,
  #catalogBody .badges-mobile .new-badge,
  #catalogBody .badges-mobile .tag,
  #catalogBody .badges-mobile span{
    min-height:20px !important;
    padding:4px 8px !important;
    border-radius:999px !important;
    font-size:.50rem !important;
    font-weight:850 !important;
    letter-spacing:.08em !important;
  }

  #catalogBody .price-base{
    margin-top:9px !important;
    font-size:1.14rem !important;
    font-weight:900 !important;
    line-height:1 !important;
  }
  #catalogBody .catalog-price-current,
  #catalogBody .price-base .new-price,
  #catalogBody .price-base .decants-only-label{
    color:#62d88d !important;
    font-size:1em !important;
    font-weight:900 !important;
    letter-spacing:-.01em !important;
  }
  #catalogBody .price-base .old-price{
    margin-bottom:3px !important;
    color:#d6656b !important;
    font-size:.70rem !important;
  }
}

@media(max-width:390px){
  #catalogBody tr.mobile-add-card{
    grid-template-columns:78px minmax(0,1fr) 14px !important;
    min-height:132px !important;
    padding:13px 29px 13px 11px !important;
    column-gap:11px !important;
  }
  #catalogBody .perfume-thumb,
  #catalogBody .perfume-placeholder{
    width:74px !important;
    height:92px !important;
    max-width:74px !important;
    max-height:92px !important;
  }
  #catalogBody .pf-name,
  #catalogBody .pf-name-gold{font-size:.94rem !important;}
  #catalogBody .pf-brand,
  #catalogBody .pf-brand-gray{font-size:.64rem !important;}
}



/* ==========================================================
   V17.21.6 — AJUSTE FINO DISPONIBLES / SOLO DECANTS
   ========================================================== */
@media(max-width:768px){
  #catalogBody .catalog-stock,
  #catalogBody .catalog-stock.is-decants{
    display:flex !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    gap:5px !important;
    width:max-content !important;
    max-width:100% !important;
    font-size:.57rem !important;
    font-weight:740 !important;
    line-height:1 !important;
    letter-spacing:.005em !important;
    white-space:nowrap !important;
  }
  #catalogBody .catalog-stock{
    color:#68d493 !important;
  }
  #catalogBody .catalog-stock::before,
  #catalogBody .catalog-stock.is-decants::before{
    content:"" !important;
    display:inline-block !important;
    width:6px !important;
    height:6px !important;
    flex:0 0 6px !important;
    border-radius:50% !important;
    margin:0 !important;
    vertical-align:middle !important;
    background:#68d493 !important;
  }
  #catalogBody .catalog-stock.is-decants{
    color:#d8bd79 !important;
  }
  #catalogBody .catalog-stock.is-decants::before{
    background:#d8bd79 !important;
  }
  #catalogBody .catalog-decant-summary{
    margin-top:5px !important;
    font-size:.67rem !important;
    font-weight:650 !important;
    color:#b8bec9 !important;
  }
  #catalogBody .catalog-decant-summary strong{
    color:#f1f3f7 !important;
    font-weight:840 !important;
  }
}


/* ==========================================================
   V17.21.7 — AJUSTE FINO STOCK + ESPACIADO NOMBRE/MARCA
   ========================================================== */
@media(max-width:768px){
  /* Nombre y marca un poco más juntos */
  #catalogBody .pf-name-line{
    margin:0 0 2px !important;
  }
  #catalogBody .pf-brand,
  #catalogBody .pf-brand-gray{
    margin:0 0 4px !important;
    line-height:1.05 !important;
  }

  /* Disponibles / Solo decants */
  #catalogBody .catalog-stock,
  #catalogBody .catalog-stock.is-decants{
    gap:8px !important;
    font-size:.55rem !important;
    font-weight:760 !important;
    line-height:1 !important;
    letter-spacing:.003em !important;
  }
  #catalogBody .catalog-stock{
    color:#68d493 !important;
  }
  #catalogBody .catalog-stock::before,
  #catalogBody .catalog-stock.is-decants::before{
    width:6px !important;
    height:6px !important;
    flex:0 0 6px !important;
    margin-right:0 !important;
  }
  #catalogBody .catalog-stock.is-decants{
    color:#d8bd79 !important;
  }
}


/* ==========================================================
   V17.21.8 — CORRECCIÓN REAL DE ESPECIFICIDAD EN STOCK MÓVIL
   ========================================================== */
@media(max-width:768px){
  /*
     Estas reglas usan la misma/mayor especificidad que los estilos antiguos
     (#catalogBody .col-name .catalog-stock y td.col-name > .catalog-stock),
     para que Disponibles deje de heredar el gris y el tamaño grande.
  */
  #catalogBody td.col-name > .catalog-stock,
  #catalogBody .col-name .catalog-stock,
  #catalogBody td.col-name > .catalog-stock.is-decants,
  #catalogBody .col-name .catalog-stock.is-decants{
    order:3 !important;
    display:inline-flex !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    column-gap:8px !important;
    row-gap:0 !important;
    width:max-content !important;
    max-width:100% !important;
    min-height:0 !important;
    margin:0 0 0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
    font-size:.55rem !important;
    font-weight:760 !important;
    line-height:1 !important;
    letter-spacing:.003em !important;
    white-space:nowrap !important;
  }

  /* Disponibles: mismo verde exacto del punto y mismo tamaño que Solo decants. */
  #catalogBody td.col-name > .catalog-stock:not(.is-decants),
  #catalogBody .col-name .catalog-stock:not(.is-decants){
    color:#68d493 !important;
  }

  /* Solo decants conserva su dorado. */
  #catalogBody td.col-name > .catalog-stock.is-decants,
  #catalogBody .col-name .catalog-stock.is-decants{
    color:#d8bd79 !important;
  }

  /* Punto realmente separado del texto. */
  #catalogBody td.col-name > .catalog-stock::before,
  #catalogBody .col-name .catalog-stock::before{
    content:"" !important;
    display:block !important;
    width:6px !important;
    height:6px !important;
    min-width:6px !important;
    flex:0 0 6px !important;
    margin:0 !important;
    border:0 !important;
    border-radius:50% !important;
    background:#68d493 !important;
    box-shadow:none !important;
  }
  #catalogBody td.col-name > .catalog-stock.is-decants::before,
  #catalogBody .col-name .catalog-stock.is-decants::before{
    background:#d8bd79 !important;
  }

  /* Nombre y marca: menos hueco entre ambos, sin alterar el resto de la tarjeta. */
  #catalogBody td.col-name > .pf-name-line{
    margin:0 0 1px !important;
  }
  #catalogBody td.col-name > .pf-brand,
  #catalogBody td.col-name > .pf-brand-gray{
    order:2 !important;
    display:block !important;
    margin-top:0 !important;
    margin-bottom:4px !important;
    line-height:1.04 !important;
  }
}

/* V17.22.0 — carrito móvil dedicado */
.mobile-smart-cart{display:none}
@media(max-width:768px){.mobile-cart-bar,.mobile-cart-preview,.mobile-cart-preview-backdrop,#cotizacion{display:none!important}body.mobile-smart-cart-open{overflow:hidden!important}.mobile-smart-cart{position:fixed!important;inset:0!important;z-index:1000010!important;display:block!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;background:#0b0d13!important;transform:translateX(14px)!important;transition:.18s ease!important}.mobile-smart-cart.is-open{visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:none!important}.mobile-smart-cart-shell{height:100dvh!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;background:linear-gradient(180deg,#12151d,#090b10)!important}.mobile-smart-cart-header{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:calc(14px + env(safe-area-inset-top)) 16px 12px!important;border-bottom:1px solid rgba(255,255,255,.07)!important}.mobile-smart-cart-header>div{display:flex!important;flex-direction:column!important;gap:2px!important}.mobile-smart-cart-header span,.mobile-smart-cart-rec-head span{color:#7d81ff!important;font-size:.5rem!important;font-weight:850!important;letter-spacing:.12em!important;text-transform:uppercase!important}.mobile-smart-cart-header h2{margin:0!important;font-size:1.15rem!important;color:#f5f6fa!important}.mobile-smart-cart-header small{color:#8e949f!important;font-size:.58rem!important}.mobile-smart-cart-header button{width:38px!important;height:38px!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:12px!important;background:rgba(255,255,255,.035)!important;color:#e8eaf0!important}.mobile-smart-cart-scroll{overflow:auto!important;padding:14px!important}.mobile-smart-cart-item{display:grid!important;grid-template-columns:68px minmax(0,1fr) auto!important;gap:11px!important;align-items:center!important;padding:10px!important;margin-bottom:9px!important;border:1px solid rgba(255,255,255,.07)!important;border-radius:16px!important;background:rgba(255,255,255,.025)!important}.mobile-smart-cart-img{width:68px!important;height:80px!important;display:grid!important;place-items:center!important}.mobile-smart-cart-img img{width:100%!important;height:100%!important;object-fit:contain!important}.mobile-smart-cart-copy{min-width:0!important;display:flex!important;flex-direction:column!important;gap:3px!important}.mobile-smart-cart-copy>span{color:#969ca7!important;font-size:.48rem!important;font-weight:800!important;letter-spacing:.1em!important}.mobile-smart-cart-copy>strong{color:#f0f2f6!important;font-size:.7rem!important;line-height:1.12!important}.mobile-smart-cart-copy>small{color:#8a909b!important;font-size:.54rem!important}.mobile-smart-cart-copy>div{display:flex!important;align-items:center!important;gap:7px!important;margin-top:5px!important}.msc-qty{width:28px!important;height:28px!important;border:1px solid rgba(81,81,255,.32)!important;border-radius:9px!important;background:rgba(81,81,255,.06)!important;color:#fff!important}.mobile-smart-cart-item aside{height:100%!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;justify-content:space-between!important}.mobile-smart-cart-item aside>strong{color:#63da8f!important;font-size:.7rem!important;white-space:nowrap!important}.msc-remove{width:28px!important;height:28px!important;border:0!important;border-radius:9px!important;background:rgba(255,255,255,.035)!important;color:#777d88!important}.mobile-smart-cart-recommendations{margin-top:18px!important;padding-top:15px!important;border-top:1px solid rgba(255,255,255,.07)!important}.mobile-smart-cart-recommendations.hidden{display:none!important}.mobile-smart-cart-rec-head{display:flex!important;justify-content:space-between!important;align-items:flex-end!important;margin-bottom:9px!important}.mobile-smart-cart-rec-head h3{margin:2px 0 0!important;color:#f1f3f7!important;font-size:.86rem!important}.mobile-smart-cart-rec-head small{color:#8a909b!important;font-size:.5rem!important}.mobile-smart-cart-recommendations #mobileSmartCartRecommendList{display:grid!important;gap:8px!important}.mobile-smart-cart-recommendations article{display:grid!important;grid-template-columns:50px minmax(0,1fr) auto!important;gap:9px!important;align-items:center!important;padding:8px!important;border:1px solid rgba(81,81,255,.14)!important;border-radius:14px!important;background:rgba(81,81,255,.035)!important}.mobile-smart-cart-recommendations article>div:first-child{width:50px!important;height:56px!important}.mobile-smart-cart-recommendations img{width:100%!important;height:100%!important;object-fit:contain!important}.mobile-smart-cart-recommendations article>div:nth-child(2){min-width:0!important;display:flex!important;flex-direction:column!important;gap:2px!important}.mobile-smart-cart-recommendations article span{color:#8e949f!important;font-size:.44rem!important;font-weight:800!important;letter-spacing:.08em!important}.mobile-smart-cart-recommendations article strong{overflow:hidden!important;color:#eff1f5!important;font-size:.63rem!important;text-overflow:ellipsis!important;white-space:nowrap!important}.mobile-smart-cart-recommendations article small{color:#9ca2ad!important;font-size:.54rem!important}.msc-rec-add{height:34px!important;padding:0 9px!important;border:0!important;border-radius:10px!important;background:#5151ff!important;color:#fff!important;font-size:.53rem!important;font-weight:850!important}.mobile-smart-cart-footer{display:grid!important;grid-template-columns:minmax(90px,.72fr) minmax(0,1.28fr)!important;gap:12px!important;align-items:center!important;padding:11px 14px calc(11px + env(safe-area-inset-bottom))!important;border-top:1px solid rgba(255,255,255,.08)!important;background:#0c0e14!important}.mobile-smart-cart-footer>div{display:flex!important;flex-direction:column!important;gap:2px!important}.mobile-smart-cart-footer small{color:#888e99!important;font-size:.52rem!important}.mobile-smart-cart-footer strong{color:#f5f6f9!important;font-size:1.04rem!important}.mobile-smart-cart-footer button{height:48px!important;border:0!important;border-radius:13px!important;background:#5151ff!important;color:#fff!important;font-size:.67rem!important;font-weight:900!important}.mobile-smart-cart-footer button:disabled{opacity:.35!important}.mobile-smart-cart-empty{min-height:250px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;text-align:center!important;border:1px dashed rgba(255,255,255,.08)!important;border-radius:16px!important}.mobile-smart-cart-empty strong{color:#f0f2f6!important}.mobile-smart-cart-empty small{color:#8c929d!important;font-size:.6rem!important}.mobile-smart-cart-empty button{margin-top:5px!important;padding:9px 12px!important;border:1px solid rgba(81,81,255,.3)!important;border-radius:10px!important;background:rgba(81,81,255,.07)!important;color:#cfd1ff!important}}


/* ==========================================================
   V17.22.1 — MINI-CARRITO RESTAURADO + COTIZACIÓN MÓVIL PREMIUM
   ========================================================== */
@media(max-width:768px){
  /* Vuelve el mini-carrito original. El carrito completo solo abre desde "Ver cotización completa". */
  .mobile-cart-bar{display:flex!important;}
  .mobile-cart-preview{display:flex!important;}
  .mobile-cart-preview-backdrop{display:block!important;}
  #cotizacion{display:none!important;}

  /* Pantalla dedicada: limpia, contenida y sin imágenes que se salgan. */
  .mobile-smart-cart{
    background:#090b10!important;
    transform:translateY(12px)!important;
  }
  .mobile-smart-cart.is-open{transform:none!important;}
  .mobile-smart-cart-shell{
    height:100dvh!important;
    max-height:100dvh!important;
    background:linear-gradient(180deg,#10131a 0%,#090b10 100%)!important;
  }
  .mobile-smart-cart-header{
    min-height:82px!important;
    padding:calc(12px + env(safe-area-inset-top)) 18px 11px!important;
    border-bottom:1px solid rgba(255,255,255,.065)!important;
    background:rgba(14,17,24,.96)!important;
  }
  .mobile-smart-cart-header>div{gap:1px!important;}
  .mobile-smart-cart-header span{
    color:#8589ff!important;
    font-size:.48rem!important;
    letter-spacing:.13em!important;
  }
  .mobile-smart-cart-header h2{
    font-size:1.08rem!important;
    line-height:1.1!important;
    letter-spacing:-.015em!important;
  }
  .mobile-smart-cart-header small{font-size:.56rem!important;color:#858b96!important;}
  .mobile-smart-cart-header button{
    width:36px!important;height:36px!important;
    display:grid!important;place-items:center!important;
    border-radius:50%!important;
    border:1px solid rgba(255,255,255,.08)!important;
    background:rgba(255,255,255,.035)!important;
    color:#c8ccd4!important;
    font-size:1rem!important;
  }

  .mobile-smart-cart-scroll{
    overflow-x:hidden!important;
    overflow-y:auto!important;
    padding:12px 14px 22px!important;
    scrollbar-width:none!important;
  }
  .mobile-smart-cart-scroll::-webkit-scrollbar{display:none!important;}

  .mobile-smart-cart-item{
    position:relative!important;
    display:grid!important;
    grid-template-columns:60px minmax(0,1fr) auto!important;
    grid-template-rows:auto!important;
    gap:10px!important;
    align-items:center!important;
    min-height:100px!important;
    margin:0 0 8px!important;
    padding:10px 11px!important;
    border:1px solid rgba(255,255,255,.065)!important;
    border-radius:15px!important;
    background:rgba(255,255,255,.022)!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
  .mobile-smart-cart-img{
    position:relative!important;
    inset:auto!important;
    width:60px!important;height:74px!important;
    min-width:60px!important;min-height:74px!important;
    max-width:60px!important;max-height:74px!important;
    display:grid!important;place-items:center!important;
    overflow:hidden!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.018)!important;
  }
  .mobile-smart-cart-img img,
  .mobile-smart-cart-item .mobile-smart-cart-img img{
    position:static!important;
    inset:auto!important;
    display:block!important;
    width:52px!important;height:66px!important;
    min-width:0!important;min-height:0!important;
    max-width:52px!important;max-height:66px!important;
    margin:0!important;padding:0!important;
    object-fit:contain!important;
    transform:none!important;
    filter:drop-shadow(0 5px 7px rgba(0,0,0,.24))!important;
  }
  .mobile-smart-cart-copy{
    align-self:center!important;
    gap:2px!important;
    overflow:hidden!important;
  }
  .mobile-smart-cart-copy>span{
    color:#8e949f!important;
    font-size:.45rem!important;
    font-weight:780!important;
    letter-spacing:.10em!important;
  }
  .mobile-smart-cart-copy>strong{
    max-width:100%!important;
    color:#f2f3f6!important;
    font-size:.67rem!important;
    font-weight:850!important;
    line-height:1.12!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
  }
  .mobile-smart-cart-copy>small{
    color:#8f95a0!important;
    font-size:.53rem!important;
  }
  .mobile-smart-cart-copy>div{
    gap:5px!important;
    margin-top:7px!important;
  }
  .mobile-smart-cart-copy>div b{
    min-width:16px!important;
    color:#e9ebf0!important;
    font-size:.62rem!important;
    text-align:center!important;
  }
  .msc-qty{
    width:27px!important;height:27px!important;
    display:grid!important;place-items:center!important;
    padding:0!important;
    border:1px solid rgba(94,98,255,.30)!important;
    border-radius:8px!important;
    background:rgba(81,81,255,.055)!important;
    color:#eef0ff!important;
    font-size:.76rem!important;
  }
  .mobile-smart-cart-item aside{
    position:static!important;
    min-width:68px!important;
    height:78px!important;
    align-self:center!important;
    justify-content:space-between!important;
  }
  .mobile-smart-cart-item aside>strong{
    color:#66d990!important;
    font-size:.66rem!important;
    font-weight:850!important;
  }
  .msc-remove{
    width:27px!important;height:27px!important;
    padding:0!important;
    display:grid!important;place-items:center!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.025)!important;
    color:#69707b!important;
    font-size:.72rem!important;
  }

  .mobile-smart-cart-recommendations{
    margin-top:15px!important;
    padding-top:14px!important;
    border-top:1px solid rgba(255,255,255,.06)!important;
  }
  .mobile-smart-cart-rec-head{
    align-items:flex-start!important;
    margin-bottom:10px!important;
  }
  .mobile-smart-cart-rec-head h3{
    margin:3px 0 0!important;
    font-size:.80rem!important;
    line-height:1.15!important;
  }
  .mobile-smart-cart-rec-head small{
    margin-top:3px!important;
    color:#7f8590!important;
    font-size:.48rem!important;
    white-space:nowrap!important;
  }
  .mobile-smart-cart-recommendations #mobileSmartCartRecommendList{
    display:flex!important;
    gap:9px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:1px 1px 5px!important;
    scroll-snap-type:x proximity!important;
    scrollbar-width:none!important;
  }
  .mobile-smart-cart-recommendations #mobileSmartCartRecommendList::-webkit-scrollbar{display:none!important;}
  .mobile-smart-cart-recommendations article{
    flex:0 0 146px!important;
    width:146px!important;
    min-width:146px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:6px!important;
    padding:9px!important;
    border:1px solid rgba(95,99,255,.14)!important;
    border-radius:14px!important;
    background:rgba(81,81,255,.025)!important;
    scroll-snap-align:start!important;
    overflow:hidden!important;
  }
  .mobile-smart-cart-recommendations article>div:first-child{
    position:relative!important;
    width:100%!important;height:72px!important;
    min-width:0!important;
    display:grid!important;place-items:center!important;
    overflow:hidden!important;
    border-radius:9px!important;
    background:rgba(255,255,255,.015)!important;
  }
  .mobile-smart-cart-recommendations img{
    position:static!important;
    width:58px!important;height:66px!important;
    min-width:0!important;min-height:0!important;
    max-width:58px!important;max-height:66px!important;
    object-fit:contain!important;
    transform:none!important;
  }
  .mobile-smart-cart-recommendations article>div:nth-child(2){gap:2px!important;}
  .mobile-smart-cart-recommendations article span{
    font-size:.42rem!important;
    color:#8c929d!important;
  }
  .mobile-smart-cart-recommendations article strong{
    min-height:28px!important;
    color:#f0f2f5!important;
    font-size:.59rem!important;
    line-height:1.15!important;
    white-space:normal!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  .mobile-smart-cart-recommendations article small{
    color:#a0a6b0!important;
    font-size:.50rem!important;
  }
  .msc-rec-add{
    width:100%!important;
    height:32px!important;
    margin-top:auto!important;
    border-radius:9px!important;
    background:#5151ff!important;
    font-size:.50rem!important;
  }

  .mobile-smart-cart-footer{
    grid-template-columns:minmax(105px,.72fr) minmax(0,1.28fr)!important;
    gap:10px!important;
    min-height:70px!important;
    padding:9px 14px calc(9px + env(safe-area-inset-bottom))!important;
    background:rgba(9,11,16,.98)!important;
    box-shadow:0 -10px 30px rgba(0,0,0,.24)!important;
  }
  .mobile-smart-cart-footer small{font-size:.49rem!important;}
  .mobile-smart-cart-footer strong{font-size:1rem!important;}
  .mobile-smart-cart-footer button{
    height:44px!important;
    border-radius:12px!important;
    font-size:.62rem!important;
    letter-spacing:.01em!important;
  }
}


/* ==========================================================
   V17.22.2 — CARRITO COMPLETO COMO VENTANA PREMIUM
   ========================================================== */
@media(max-width:768px){
  body.mobile-smart-cart-open{
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  .mobile-smart-cart{
    position:fixed!important;
    inset:0!important;
    z-index:1000010!important;
    display:flex!important;
    align-items:stretch!important;
    justify-content:center!important;
    padding:10px 10px calc(10px + env(safe-area-inset-bottom))!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    background:rgba(3,6,14,.76)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
    transform:none!important;
    transition:opacity .18s ease!important;
  }
  .mobile-smart-cart.is-open{
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  .mobile-smart-cart-shell{
    width:min(100%, 560px)!important;
    max-height:calc(100dvh - 20px - env(safe-area-inset-bottom))!important;
    height:auto!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
    overflow:hidden!important;
    border-radius:28px!important;
    border:1px solid rgba(92,97,255,.38)!important;
    background:linear-gradient(180deg,rgba(14,18,31,.98),rgba(7,10,18,.99))!important;
    box-shadow:0 24px 70px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.03) inset!important;
  }
  .mobile-smart-cart-header{
    padding:14px 16px 12px!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
    background:transparent!important;
  }
  .mobile-smart-cart-scroll{
    overflow:auto!important;
    min-height:0!important;
    padding:12px 14px 16px!important;
    overscroll-behavior:contain!important;
    background:transparent!important;
  }
  .mobile-smart-cart-footer{
    padding:12px 14px calc(12px + env(safe-area-inset-bottom))!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
    background:rgba(8,11,19,.98)!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
  }
  .mobile-smart-cart-item{
    border-radius:18px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.02))!important;
  }
  .mobile-smart-cart-recommendations article{
    border-radius:16px!important;
    background:linear-gradient(180deg,rgba(81,81,255,.05),rgba(81,81,255,.025))!important;
  }
}


/* ==========================================================
   V17.22.3 — ACCIONES DEL CARRITO: WHATSAPP + LIMPIAR
   ========================================================== */
@media(max-width:768px){
  .mobile-smart-cart-footer{
    grid-template-columns:minmax(82px,.58fr) minmax(0,1.42fr)!important;
    gap:10px!important;
  }
  .mobile-smart-cart-footer-total{
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:2px!important;
  }
  .mobile-smart-cart-footer-actions{
    min-width:0!important;
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:8px!important;
    align-items:center!important;
  }
  #mobileSmartCartClear.mobile-smart-cart-clear{
    width:42px!important;
    min-width:42px!important;
    height:46px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid rgba(239,74,82,.36)!important;
    border-radius:12px!important;
    background:rgba(239,74,82,.08)!important;
    color:#ff646c!important;
    box-shadow:none!important;
  }
  #mobileSmartCartClear.mobile-smart-cart-clear svg{
    width:18px!important;
    height:18px!important;
    display:block!important;
  }
  #mobileSmartCartClear.mobile-smart-cart-clear:active{
    background:rgba(239,74,82,.16)!important;
  }
  #mobileSmartCartCheckout.mobile-smart-cart-checkout{
    width:100%!important;
    min-width:0!important;
    height:46px!important;
    padding:0 13px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    border:0!important;
    border-radius:12px!important;
    background:#5151ff!important;
    color:#fff!important;
    font-size:.64rem!important;
    font-weight:900!important;
    line-height:1!important;
    white-space:nowrap!important;
    box-shadow:0 8px 20px rgba(81,81,255,.22)!important;
  }
  #mobileSmartCartCheckout.mobile-smart-cart-checkout img{
    width:18px!important;
    height:18px!important;
    object-fit:contain!important;
    flex:0 0 18px!important;
  }
  #mobileSmartCartCheckout.mobile-smart-cart-checkout span{
    display:block!important;
    min-width:0!important;
  }
  #mobileSmartCartClear:disabled,
  #mobileSmartCartCheckout:disabled{
    opacity:.35!important;
    cursor:default!important;
  }
}
@media(max-width:370px){
  .mobile-smart-cart-footer{
    grid-template-columns:76px minmax(0,1fr)!important;
    gap:8px!important;
  }
  .mobile-smart-cart-footer-actions{
    grid-template-columns:38px minmax(0,1fr)!important;
    gap:6px!important;
  }
  #mobileSmartCartClear.mobile-smart-cart-clear{
    width:38px!important;
    min-width:38px!important;
  }
  #mobileSmartCartCheckout.mobile-smart-cart-checkout{
    padding:0 9px!important;
    gap:6px!important;
    font-size:.60rem!important;
  }
  #mobileSmartCartCheckout.mobile-smart-cart-checkout img{
    width:16px!important;
    height:16px!important;
    flex-basis:16px!important;
  }
}


/* ==========================================================
   V17.22.4 — ACCIONES DEL CARRITO EN UNA SOLA FILA
   ========================================================== */
@media(max-width:768px){
  .mobile-smart-cart-footer-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 42px!important;
    gap:8px!important;
    align-items:center!important;
    flex-direction:initial!important;
  }
  #mobileSmartCartCheckout.mobile-smart-cart-checkout{
    grid-column:1!important;
    min-width:0!important;
  }
  #mobileSmartCartClear.mobile-smart-cart-clear{
    grid-column:2!important;
    justify-self:end!important;
    margin:0!important;
  }
}
@media(max-width:370px){
  .mobile-smart-cart-footer-actions{
    grid-template-columns:minmax(0,1fr) 38px!important;
    gap:6px!important;
  }
}


/* ==========================================================
   V17.22.5 — FOOTER CARRITO: TOTAL + PEDIDO + BASURA EN FILA
   ========================================================== */
@media(max-width:768px){
  .mobile-smart-cart-footer{
    display:grid!important;
    grid-template-columns:minmax(72px,.50fr) minmax(0,1.35fr) 44px!important;
    gap:9px!important;
    align-items:center!important;
  }
  .mobile-smart-cart-footer-total{
    grid-column:1!important;
    min-width:0!important;
  }
  .mobile-smart-cart-footer-actions{
    display:contents!important;
  }
  #mobileSmartCartCheckout.mobile-smart-cart-checkout{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    align-self:center!important;
  }
  #mobileSmartCartClear.mobile-smart-cart-clear{
    grid-column:3!important;
    grid-row:1!important;
    width:44px!important;
    min-width:44px!important;
    height:46px!important;
    margin:0!important;
    justify-self:end!important;
    align-self:center!important;
  }
}
@media(max-width:370px){
  .mobile-smart-cart-footer{
    grid-template-columns:68px minmax(0,1fr) 40px!important;
    gap:7px!important;
  }
  #mobileSmartCartClear.mobile-smart-cart-clear{
    width:40px!important;
    min-width:40px!important;
  }
  #mobileSmartCartCheckout.mobile-smart-cart-checkout{
    padding-inline:8px!important;
    font-size:.58rem!important;
  }
}


/* ==========================================================
   V17.22.6 — FIX ESTRUCTURAL FOOTER DEL CARRITO
   Los botones ahora son hijos directos del grid. No depende de display:contents.
   ========================================================== */
@media(max-width:768px){
  .mobile-smart-cart-footer{
    display:grid!important;
    grid-template-columns:minmax(78px,.52fr) minmax(0,1.38fr) 46px!important;
    grid-template-rows:48px!important;
    gap:9px!important;
    align-items:center!important;
  }
  .mobile-smart-cart-footer-total{
    grid-column:1!important;
    grid-row:1!important;
    min-width:0!important;
    align-self:center!important;
  }
  .mobile-smart-cart-footer > #mobileSmartCartCheckout.mobile-smart-cart-checkout{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    min-width:0!important;
    height:46px!important;
    margin:0!important;
    align-self:center!important;
    justify-self:stretch!important;
  }
  .mobile-smart-cart-footer > #mobileSmartCartClear.mobile-smart-cart-clear{
    grid-column:3!important;
    grid-row:1!important;
    width:46px!important;
    min-width:46px!important;
    height:46px!important;
    margin:0!important;
    align-self:center!important;
    justify-self:end!important;
  }
  .mobile-smart-cart-footer-actions{
    display:none!important;
  }
}
@media(max-width:370px){
  .mobile-smart-cart-footer{
    grid-template-columns:70px minmax(0,1fr) 42px!important;
    gap:7px!important;
  }
  .mobile-smart-cart-footer > #mobileSmartCartClear.mobile-smart-cart-clear{
    width:42px!important;
    min-width:42px!important;
  }
  .mobile-smart-cart-footer > #mobileSmartCartCheckout.mobile-smart-cart-checkout{
    padding-inline:8px!important;
    font-size:.58rem!important;
  }
}

/* ==========================================================
   V17.22.8 — TOTAL ARRIBA + ACCIONES COMPACTAS CENTRADAS
   ========================================================== */
@media(max-width:768px){
  .mobile-smart-cart-shell{
    grid-template-rows:auto minmax(0,1fr) auto auto!important;
  }

  /* El total permanece en el espacio libre sobre los botones. */
  .mobile-smart-cart-total-panel{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    grid-template-areas:
      "pieces label"
      "price price"!important;
    align-items:end!important;
    gap:2px 10px!important;
    margin:0 18px 6px!important;
    padding:14px 2px 12px!important;
    border-top:1px solid rgba(255,255,255,.06)!important;
    background:transparent!important;
  }
  .mobile-smart-cart-total-panel small{
    grid-area:pieces!important;
    color:#8e949f!important;
    font-size:.56rem!important;
    font-weight:600!important;
  }
  .mobile-smart-cart-total-panel span{
    grid-area:label!important;
    justify-self:end!important;
    color:#8e949f!important;
    font-size:.56rem!important;
    font-weight:700!important;
    letter-spacing:.04em!important;
    text-transform:uppercase!important;
  }
  .mobile-smart-cart-total-panel strong{
    grid-area:price!important;
    justify-self:center!important;
    margin-top:3px!important;
    color:#f6f7fb!important;
    font-size:1.55rem!important;
    font-weight:900!important;
    line-height:1!important;
    letter-spacing:-.03em!important;
  }

  /* Los dos botones se quedan abajo, juntos y centrados. */
  .mobile-smart-cart-footer{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    width:100%!important;
    min-height:68px!important;
    max-height:76px!important;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom))!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
    background:rgba(8,11,19,.98)!important;
    overflow:hidden!important;
  }
  .mobile-smart-cart-footer > #mobileSmartCartCheckout.mobile-smart-cart-checkout{
    flex:0 1 250px!important;
    width:250px!important;
    max-width:calc(100% - 58px)!important;
    min-width:0!important;
    min-height:46px!important;
    max-height:46px!important;
    height:46px!important;
    margin:0!important;
    padding:0 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    align-self:center!important;
  }
  .mobile-smart-cart-footer > #mobileSmartCartClear.mobile-smart-cart-clear{
    flex:0 0 46px!important;
    width:46px!important;
    min-width:46px!important;
    max-width:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    height:46px!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    align-self:center!important;
  }
}
@media(max-width:370px){
  .mobile-smart-cart-total-panel{margin-inline:14px!important;}
  .mobile-smart-cart-total-panel strong{font-size:1.4rem!important;}
  .mobile-smart-cart-footer{
    gap:7px!important;
    min-height:64px!important;
    max-height:72px!important;
    padding-inline:12px!important;
  }
  .mobile-smart-cart-footer > #mobileSmartCartCheckout.mobile-smart-cart-checkout{
    flex-basis:225px!important;
    width:225px!important;
    max-width:calc(100% - 51px)!important;
    min-height:44px!important;
    max-height:44px!important;
    height:44px!important;
    padding-inline:10px!important;
    font-size:.59rem!important;
  }
  .mobile-smart-cart-footer > #mobileSmartCartClear.mobile-smart-cart-clear{
    flex-basis:44px!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    height:44px!important;
  }
}


/* ==========================================================
   V17.24.0 — SCANNER POS PC COMPACTO
   ========================================================== */
.pos-search-label-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;}
.pos-search-label-row .pos-label{margin:0!important;}
.pos-scanner-chip{display:inline-flex;align-items:center;gap:6px;max-width:270px;min-height:28px;padding:5px 7px 5px 9px;border:1px solid rgba(90,205,137,.14);border-radius:999px;background:rgba(61,177,111,.045);color:#a8dfbb;white-space:nowrap;transition:.16s ease;}
.pos-scanner-chip .pos-scanner-dot{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#5dd891;box-shadow:0 0 0 3px rgba(93,216,145,.10);}
.pos-scanner-chip strong{font-size:.56rem;line-height:1;color:#b9e8ca;}
.pos-scanner-chip small{overflow:hidden;max-width:95px;color:rgba(255,255,255,.38);font-size:.49rem;text-overflow:ellipsis;}
.pos-scanner-sound{width:24px;height:24px;display:grid;place-items:center;margin-left:2px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.04);color:#d6d9df;font-size:.72rem;cursor:pointer;}
.pos-scanner-sound[aria-pressed="false"]{opacity:.45;filter:grayscale(1);}
.pos-scanner-chip.is-success{border-color:rgba(75,218,139,.35);background:rgba(75,218,139,.09);}
.pos-scanner-chip.is-success .pos-scanner-dot{background:#4bda8b;box-shadow:0 0 0 4px rgba(75,218,139,.13);}
.pos-scanner-chip.is-error{border-color:rgba(255,98,112,.30);background:rgba(255,98,112,.07);color:#ffb2ba;}
.pos-scanner-chip.is-error .pos-scanner-dot{background:#ff6573;box-shadow:0 0 0 4px rgba(255,101,115,.12);}
.pos-scanner-chip.is-error strong{color:#ffb8bf;}
.pos-scanner-chip.is-warning{border-color:rgba(255,188,95,.30);background:rgba(255,188,95,.06);}
.pos-scanner-chip.is-warning .pos-scanner-dot{background:#ffbd63;box-shadow:0 0 0 4px rgba(255,189,99,.10);}
@media(max-width:720px){.pos-search-label-row{align-items:flex-start;flex-direction:column}.pos-scanner-chip{max-width:100%;}}


/* ==========================================================
   V17.25.0 — POS PC: RESUMEN COMPACTO + ACCIONES CLARAS
   ========================================================== */
@media (min-width: 761px){
  body.pos-mode #pos-pane-venta.active .pos-summary{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:auto !important;
    max-height:none !important;
    align-self:start !important;
    padding:14px !important;
    display:grid !important;
    gap:7px !important;
    overflow:visible !important;
    border:1px solid rgba(255,255,255,.075) !important;
    border-radius:18px !important;
    background:linear-gradient(180deg,rgba(14,17,24,.98),rgba(8,10,15,.99)) !important;
    box-shadow:0 14px 34px rgba(0,0,0,.20) !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-row,
  body.pos-mode #pos-pane-venta.active .pos-payment-summary-row,
  body.pos-mode #pos-pane-venta.active .pos-payment-account-row,
  body.pos-mode #pos-pane-venta.active .pos-cash-row,
  body.pos-mode #pos-pane-venta.active .pos-change-row{
    grid-template-columns:126px minmax(0,1fr) !important;
    gap:12px !important;
    min-height:42px !important;
    margin:0 !important;
    padding:7px 9px !important;
    align-items:center !important;
    border:0 !important;
    border-radius:11px !important;
    background:rgba(255,255,255,.018) !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary > .pos-summary-row:first-child{
    background:rgba(81,81,255,.055) !important;
  }
  body.pos-mode #pos-pane-venta.active .pos-payment-summary-row,
  body.pos-mode #pos-pane-venta.active .pos-payment-account-row{
    background:rgba(81,81,255,.035) !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-row > span,
  body.pos-mode #pos-pane-venta.active .pos-payment-summary-row > span,
  body.pos-mode #pos-pane-venta.active .pos-payment-account-row > span,
  body.pos-mode #pos-pane-venta.active .pos-cash-row > span,
  body.pos-mode #pos-pane-venta.active .pos-change-row > span{
    text-align:left !important;
    color:rgba(255,255,255,.62) !important;
    font-size:.66rem !important;
    font-weight:750 !important;
    line-height:1.2 !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-row > strong,
  body.pos-mode #pos-pane-venta.active .pos-change-row > strong{
    justify-self:end !important;
    font-size:.73rem !important;
  }
  body.pos-mode #pos-pane-venta.active #posDiscountAmount{
    color:#8588ff !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-discount-wrap,
  body.pos-mode #pos-pane-venta.active .pos-cash-actions{
    display:block !important;
    width:100% !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-payment-summary-select,
  body.pos-mode #pos-pane-venta.active .pos-cash-input,
  body.pos-mode #pos-pane-venta.active .pos-summary .form-input{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:38px !important;
    padding:0 11px !important;
    border-radius:10px !important;
    font-size:.68rem !important;
    background:rgba(255,255,255,.035) !important;
    box-sizing:border-box !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-payment-destination-control{
    min-width:0 !important;
  }
  body.pos-mode #pos-pane-venta.active .pos-cash-account-target{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100% !important;
    min-height:36px !important;
    padding:7px 10px !important;
    border:1px solid rgba(81,81,255,.20) !important;
    border-radius:10px !important;
    background:rgba(81,81,255,.055) !important;
    color:#cfd1ff !important;
    font-size:.61rem !important;
    line-height:1.25 !important;
    white-space:normal !important;
    box-sizing:border-box !important;
  }
  body.pos-mode #pos-pane-venta.active .pos-payment-destination-hint{
    display:block !important;
    margin-top:5px !important;
    color:rgba(255,255,255,.38) !important;
    font-size:.54rem !important;
    line-height:1.25 !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-client-row-v4{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:8px !important;
    margin:2px 0 !important;
    padding:10px !important;
    border:1px solid rgba(255,255,255,.055) !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.018) !important;
  }
  body.pos-mode #pos-pane-venta.active .pos-client-row-v4 #posClientType{
    grid-column:1/-1 !important;
    justify-self:start !important;
    min-height:20px !important;
    padding:3px 7px !important;
    border-radius:999px !important;
    background:rgba(81,81,255,.07) !important;
    color:#aeb0ff !important;
    font-size:.52rem !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-summary-total{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    gap:12px !important;
    align-items:center !important;
    margin:2px 0 !important;
    padding:13px 14px !important;
    border:1px solid rgba(78,215,140,.16) !important;
    border-radius:13px !important;
    background:linear-gradient(135deg,rgba(78,215,140,.075),rgba(78,215,140,.025)) !important;
  }
  body.pos-mode #pos-pane-venta.active .pos-summary-total span{
    text-align:left !important;
    color:#eef1f5 !important;
    font-size:.82rem !important;
    font-weight:850 !important;
  }
  body.pos-mode #pos-pane-venta.active .pos-summary-total strong{
    text-align:right !important;
    color:#55d98f !important;
    font-size:1.42rem !important;
    line-height:1 !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-cash-section{
    display:grid !important;
    gap:7px !important;
    margin:0 !important;
    padding:8px !important;
    border:1px solid rgba(255,255,255,.055) !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.012) !important;
  }
  body.pos-mode #pos-pane-venta.active .pos-cash-section .pos-summary-row{
    background:transparent !important;
    padding:5px 2px !important;
  }
  body.pos-mode #pos-pane-venta.active .pos-change-row{
    border-top:1px solid rgba(255,255,255,.055) !important;
    border-radius:0 !important;
  }
  body.pos-mode #pos-pane-venta.active #posChangeAmount{
    color:#58d89a !important;
    font-size:.78rem !important;
  }

  body.pos-mode #pos-pane-venta.active .pos-actions{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    display:grid !important;
    grid-template-columns:minmax(110px,.72fr) minmax(160px,1.28fr) !important;
    gap:9px !important;
    margin:0 !important;
    padding:0 !important;
  }
  body.pos-mode #pos-pane-venta.active #clearPosBtn,
  body.pos-mode #pos-pane-venta.active #finishPosBtn{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:44px !important;
    min-height:44px !important;
    border-radius:11px !important;
    transition:transform .08s ease,filter .12s ease,box-shadow .12s ease !important;
  }
  body.pos-mode #pos-pane-venta.active #clearPosBtn:active,
  body.pos-mode #pos-pane-venta.active #finishPosBtn:active,
  body.pos-mode #pos-pane-venta.active button.pos-ui-pressed{
    transform:translateY(1px) scale(.985) !important;
  }
  body.pos-mode #pos-pane-venta.active #finishPosBtn{
    box-shadow:0 8px 18px rgba(81,81,255,.18) !important;
  }
}
