/* [Pulso-Supabase] Encabezado de escritorio con marca Pulso: logo animado, barra de módulos con íconos de línea,
 * acciones destacadas y herramientas arriba a la derecha. Solo escritorio (el celular usa ☰ Menú).
 * Rendimiento: el logo late con transform/opacity (GPU); la barra fija se activa con IntersectionObserver
 * (sin trabajo por scroll) y no usa desenfoque. */

/* ── Logo y marca (todas las pantallas) ── */
#cf-app .cf-header .cf-title.cf-pulso { display: inline-flex; align-items: center; gap: 12px; font-size: 26px; font-weight: 900; letter-spacing: -.6px; line-height: 1; }
#cf-app .cf-header .cf-title.cf-pulso { background: linear-gradient(90deg, #fb7185, #e879f9 55%, #c084fc); -webkit-background-clip: text; background-clip: text; color: transparent; }
#cf-app .cf-header .cf-pulso-ico {
  position: relative; width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center;
  background: linear-gradient(135deg, #f43f5e, #a855f7); box-shadow: 0 10px 26px -10px rgba(168, 85, 247, .9), inset 0 1px 0 rgba(255, 255, 255, .25);
}
#cf-app .cf-header .cf-pulso-ico::after {   /* halo que late suave cada tanto (solo opacity/transform) */
  content: ''; position: absolute; inset: -4px; border-radius: 18px; border: 2px solid rgba(232, 121, 249, .55); opacity: 0; will-change: transform, opacity;
  animation: cf-hx-halo 2.6s cubic-bezier(.2, .6, .3, 1) infinite;
}
#cf-app .cf-header .cf-pulso-ico { animation: cf-hx-golpe 2.6s cubic-bezier(.3, 0, .2, 1) infinite; will-change: transform; }
#cf-app .cf-header .cf-pulso-ico svg { width: 80%; height: 80%; display: block; margin: 0; overflow: visible; animation: none; stroke-dasharray: none; stroke-dashoffset: 0; }
#cf-app .cf-header .cf-pulso-ico svg path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
/* la línea se dibuja una y otra vez, como un monitor.
   ⚡ (1-nov, vel1) Mismo dibujo que antes (cf-hx-dibuja/cf-hx-corre animaban stroke-dashoffset y repintaban el logo en cada cuadro), ahora solo
   con transform/opacity (ver logoVivo en cabecera.js). Mientras se dibuja (0–48 % del ciclo) se ven 5 tramos, uno por segmento y girado en
   su dirección, que una ventana va descubriendo; la chispa es una píldora que viaja por el camino. Del 48 % al final (y siempre que no hay
   animación: modos quietos, latido) se ve el trazo original, idéntico. Los @keyframes salen calcados del camino y de la curva de antes
   (cubic-bezier(.45, 0, .25, 1) sobre el largo del trazo), muestreados cada 1 % del ciclo.
   .cf-hx-vent ocupa el mismo cuadrado que dibujaba el svg (64 % del ícono, centrado). */
#cf-app .cf-header .cf-pulso-ico .cf-hx-vent { position: absolute; inset: 18%; display: block; animation: cf-hx-tenue 2.6s cubic-bezier(.45, 0, .25, 1) infinite; }
#cf-app .cf-header .cf-pulso-ico .cf-hx-vent > svg.cf-hx-base { position: absolute; inset: 0; width: 100%; height: 100%; animation: cf-hx-base 2.6s linear infinite; }
#cf-app .cf-header .cf-pulso-ico .cf-hx-linea { stroke: #fff; stroke-width: 2.2; stroke-dasharray: 100; stroke-dashoffset: 0; }
#cf-app .cf-header .cf-pulso-ico .cf-hx-segs { position: absolute; inset: 0; opacity: 0; animation: cf-hx-segs 2.6s linear infinite; }
#cf-app .cf-header .cf-pulso-ico .cf-hx-seg { position: absolute; inset: 0; transform-origin: 0 0; pointer-events: none; }
#cf-app .cf-header .cf-pulso-ico .cf-hx-seg > i { position: absolute; display: block; overflow: hidden; animation: 2.6s linear infinite; }
#cf-app .cf-header .cf-pulso-ico .cf-hx-seg > i > svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; stroke: #fff; stroke-width: 2.2; stroke-dasharray: none; stroke-linecap: round; animation: 2.6s linear infinite; }
@keyframes cf-hx-base { 0%, 47.99% { opacity: 0; } 48%, 100% { opacity: 1; } }
@keyframes cf-hx-segs { 0%, 47.99% { opacity: 1; } 48%, 100% { opacity: 0; } }
/* chispa brillante que encabeza el trazo (guion de 7 de 100, trazo de 3,6, puntas redondas) */
#cf-app .cf-header .cf-pulso-ico .cf-hx-chispa { position: absolute; inset: 0; transform-origin: 0 0; opacity: 0; pointer-events: none; animation: cf-hx-chispa 2.6s linear infinite; }
#cf-app .cf-header .cf-pulso-ico .cf-hx-chispa svg { display: block; width: 100%; height: 100%; overflow: visible; animation: none; stroke: #fff; stroke-width: 3.6; stroke-dasharray: none; stroke-linecap: round; }
/* mientras late (cf-lat-suave/fuerte) se ve el trazo original, que se dibuja con cf-lat-linea (animaciones.css) */
#cf-app .cf-header .cf-pulso-ico:is(.cf-lat-suave, .cf-lat-fuerte) :is(.cf-hx-vent, .cf-hx-segs), #cf-app .cf-header .cf-pulso-ico:is(.cf-lat-suave, .cf-lat-fuerte) .cf-hx-vent > svg.cf-hx-base { animation: none; }
@keyframes cf-hx-tenue { 0%, 82% { opacity: 1; } 100% { opacity: .15; } }
#cf-app .cf-header .cf-pulso-ico .cf-hx-seg > i { left: -5.833%; top: -5.833%; height: 11.667%; }
#cf-app .cf-header .cf-pulso-ico .cf-hx-s1 { transform: translate(8.333%, 50%) rotate(0deg); }
#cf-app .cf-header .cf-pulso-ico .cf-hx-s1 > i { width: 30.417%; animation-name: cf-hx-v1; }
#cf-app .cf-header .cf-pulso-ico .cf-hx-s1 > i > svg { animation-name: cf-hx-c1; }
@keyframes cf-hx-v1 { 0% { transform: translateX(-120.548%); } 1% { transform: translateX(-69.507%); } 2% { transform: translateX(-68.387%); } 3% { transform: translateX(-66.415%); } 4% { transform: translateX(-63.488%); } 5% { transform: translateX(-59.486%); } 6% { transform: translateX(-54.27%); } 7% { transform: translateX(-47.679%); } 8% { transform: translateX(-39.527%); } 9% { transform: translateX(-29.606%); } 10% { transform: translateX(-17.688%); } 11% { transform: translateX(0%); } 48% { transform: translateX(0%); } 48.01%, 100% { transform: none; } }
@keyframes cf-hx-c1 { 0% { transform: translateX(120.548%); } 1% { transform: translateX(69.507%); } 2% { transform: translateX(68.387%); } 3% { transform: translateX(66.415%); } 4% { transform: translateX(63.488%); } 5% { transform: translateX(59.486%); } 6% { transform: translateX(54.27%); } 7% { transform: translateX(47.679%); } 8% { transform: translateX(39.527%); } 9% { transform: translateX(29.606%); } 10% { transform: translateX(17.688%); } 11% { transform: translateX(0%); } 48% { transform: translateX(0%); } 48.01%, 100% { transform: none; } }
#cf-app .cf-header .cf-pulso-ico .cf-hx-s2 { transform: translate(27.083%, 50%) rotate(-70.017deg); }
#cf-app .cf-header .cf-pulso-ico .cf-hx-s2 > i { width: 36.051%; animation-name: cf-hx-v2; }
#cf-app .cf-header .cf-pulso-ico .cf-hx-s2 > i > svg { animation-name: cf-hx-c2; }
@keyframes cf-hx-v2 { 0% { transform: translateX(-117.336%); } 10% { transform: translateX(-117.336%); } 11% { transform: translateX(-70.628%); } 12% { transform: translateX(-56.644%); } 13% { transform: translateX(-40.512%); } 14% { transform: translateX(-22.27%); } 15% { transform: translateX(0%); } 48% { transform: translateX(0%); } 48.01%, 100% { transform: none; } }
@keyframes cf-hx-c2 { 0% { transform: translateX(117.336%); } 10% { transform: translateX(117.336%); } 11% { transform: translateX(70.628%); } 12% { transform: translateX(56.644%); } 13% { transform: translateX(40.512%); } 14% { transform: translateX(22.27%); } 15% { transform: translateX(0%); } 48% { transform: translateX(0%); } 48.01%, 100% { transform: none; } }
#cf-app .cf-header .cf-pulso-ico .cf-hx-s3 { transform: translate(35.417%, 27.083%) rotate(70.017deg); }
#cf-app .cf-header .cf-pulso-ico .cf-hx-s3 > i { width: 60.436%; animation-name: cf-hx-v3; }
#cf-app .cf-header .cf-pulso-ico .cf-hx-s3 > i > svg { animation-name: cf-hx-c3; }
@keyframes cf-hx-v3 { 0% { transform: translateX(-110.341%); } 14% { transform: translateX(-110.341%); } 15% { transform: translateX(-81.99%); } 16% { transform: translateX(-69.192%); } 17% { transform: translateX(-56.004%); } 18% { transform: translateX(-42.884%); } 19% { transform: translateX(-30.228%); } 20% { transform: translateX(-18.312%); } 21% { transform: translateX(-7.283%); } 22% { transform: translateX(0%); } 48% { transform: translateX(0%); } 48.01%, 100% { transform: none; } }
@keyframes cf-hx-c3 { 0% { transform: translateX(110.341%); } 14% { transform: translateX(110.341%); } 15% { transform: translateX(81.99%); } 16% { transform: translateX(69.192%); } 17% { transform: translateX(56.004%); } 18% { transform: translateX(42.884%); } 19% { transform: translateX(30.228%); } 20% { transform: translateX(18.312%); } 21% { transform: translateX(7.283%); } 22% { transform: translateX(0%); } 48% { transform: translateX(0%); } 48.01%, 100% { transform: none; } }
#cf-app .cf-header .cf-pulso-ico .cf-hx-s4 { transform: translate(52.083%, 72.917%) rotate(-65.556deg); }
#cf-app .cf-header .cf-pulso-ico .cf-hx-s4 > i { width: 36.84%; animation-name: cf-hx-v4; }
#cf-app .cf-header .cf-pulso-ico .cf-hx-s4 > i > svg { animation-name: cf-hx-c4; }
@keyframes cf-hx-v4 { 0% { transform: translateX(-116.965%); } 21% { transform: translateX(-116.965%); } 22% { transform: translateX(-63.722%); } 23% { transform: translateX(-48.675%); } 24% { transform: translateX(-35.054%); } 25% { transform: translateX(-22.748%); } 26% { transform: translateX(-11.643%); } 27% { transform: translateX(0%); } 48% { transform: translateX(0%); } 48.01%, 100% { transform: none; } }
@keyframes cf-hx-c4 { 0% { transform: translateX(116.965%); } 21% { transform: translateX(116.965%); } 22% { transform: translateX(63.722%); } 23% { transform: translateX(48.675%); } 24% { transform: translateX(35.054%); } 25% { transform: translateX(22.748%); } 26% { transform: translateX(11.643%); } 27% { transform: translateX(0%); } 48% { transform: translateX(0%); } 48.01%, 100% { transform: none; } }
#cf-app .cf-header .cf-pulso-ico .cf-hx-s5 { transform: translate(62.5%, 50%) rotate(0deg); }
#cf-app .cf-header .cf-pulso-ico .cf-hx-s5 > i { width: 40.833%; animation-name: cf-hx-v5; }
#cf-app .cf-header .cf-pulso-ico .cf-hx-s5 > i > svg { animation-name: cf-hx-c5; }
@keyframes cf-hx-v5 { 0% { transform: translateX(-115.306%); } 26% { transform: translateX(-115.306%); } 27% { transform: translateX(-72.894%); } 28% { transform: translateX(-64.743%); } 29% { transform: translateX(-57.393%); } 30% { transform: translateX(-50.77%); } 31% { transform: translateX(-44.807%); } 32% { transform: translateX(-39.443%); } 33% { transform: translateX(-34.628%); } 34% { transform: translateX(-30.315%); } 35% { transform: translateX(-26.464%); } 36% { transform: translateX(-23.038%); } 37% { transform: translateX(-20.004%); } 38% { transform: translateX(-17.336%); } 39% { transform: translateX(-15.006%); } 40% { transform: translateX(-12.992%); } 41% { transform: translateX(-11.273%); } 42% { transform: translateX(-9.83%); } 43% { transform: translateX(-8.647%); } 44% { transform: translateX(-7.707%); } 45% { transform: translateX(-6.997%); } 46% { transform: translateX(-6.504%); } 47% { transform: translateX(-6.216%); } 48% { transform: translateX(0%); } 48.01%, 100% { transform: none; } }
@keyframes cf-hx-c5 { 0% { transform: translateX(115.306%); } 26% { transform: translateX(115.306%); } 27% { transform: translateX(72.894%); } 28% { transform: translateX(64.743%); } 29% { transform: translateX(57.393%); } 30% { transform: translateX(50.77%); } 31% { transform: translateX(44.807%); } 32% { transform: translateX(39.443%); } 33% { transform: translateX(34.628%); } 34% { transform: translateX(30.315%); } 35% { transform: translateX(26.464%); } 36% { transform: translateX(23.038%); } 37% { transform: translateX(20.004%); } 38% { transform: translateX(17.336%); } 39% { transform: translateX(15.006%); } 40% { transform: translateX(12.992%); } 41% { transform: translateX(11.273%); } 42% { transform: translateX(9.83%); } 43% { transform: translateX(8.647%); } 44% { transform: translateX(7.707%); } 45% { transform: translateX(6.997%); } 46% { transform: translateX(6.504%); } 47% { transform: translateX(6.216%); } 48% { transform: translateX(0%); } 48.01%, 100% { transform: none; } }
@keyframes cf-hx-chispa { 0% { transform: translate(8.333%, 50%) rotate(0deg) scaleX(0.594); opacity: 0; } 1% { transform: translate(8.387%, 50%) rotate(0deg) scaleX(0.599); opacity: 1; } 2% { transform: translate(8.558%, 50%) rotate(0deg) scaleX(0.612); opacity: 1; } 3% { transform: translate(8.858%, 50%) rotate(0deg) scaleX(0.636); opacity: 1; } 4% { transform: translate(9.303%, 50%) rotate(0deg) scaleX(0.671); opacity: 1; } 5% { transform: translate(9.912%, 50%) rotate(0deg) scaleX(0.719); opacity: 1; } 6% { transform: translate(10.705%, 50%) rotate(0deg) scaleX(0.782); opacity: 1; } 7% { transform: translate(11.707%, 50%) rotate(0deg) scaleX(0.862); opacity: 1; } 8% { transform: translate(12.947%, 50%) rotate(0deg) scaleX(0.96); opacity: 1; } 9% { transform: translate(15.46%, 50%) rotate(0deg) scaleX(1); opacity: 1; } 10% { transform: translate(19.085%, 50%) rotate(0deg) scaleX(1); opacity: 1; } 11% { transform: translate(23.387%, 50%) rotate(0deg) scaleX(1); opacity: 1; } 12% { transform: translate(27.543%, 48.736%) rotate(-70.02deg) scaleX(1); opacity: 1; } 13% { transform: translate(29.531%, 43.27%) rotate(-70.02deg) scaleX(1); opacity: 1; } 14% { transform: translate(31.778%, 37.089%) rotate(-70.02deg) scaleX(1); opacity: 1; } 15% { transform: translate(34.254%, 30.279%) rotate(-70.02deg) scaleX(1); opacity: 1; } 16% { transform: translate(36.898%, 31.157%) rotate(70.02deg) scaleX(1); opacity: 1; } 17% { transform: translate(39.622%, 38.647%) rotate(70.02deg) scaleX(1); opacity: 1; } 18% { transform: translate(42.331%, 46.098%) rotate(70.02deg) scaleX(1); opacity: 1; } 19% { transform: translate(44.945%, 53.287%) rotate(70.02deg) scaleX(1); opacity: 1; } 20% { transform: translate(47.406%, 60.055%) rotate(70.02deg) scaleX(1); opacity: 1; } 21% { transform: translate(49.684%, 66.319%) rotate(70.02deg) scaleX(1); opacity: 1; } 22% { transform: translate(51.769%, 72.052%) rotate(70.02deg) scaleX(1); opacity: 1; } 23% { transform: translate(53.996%, 68.708%) rotate(-65.56deg) scaleX(1); opacity: 1; } 24% { transform: translate(56.073%, 64.14%) rotate(-65.56deg) scaleX(1); opacity: 1; } 25% { transform: translate(57.949%, 60.013%) rotate(-65.56deg) scaleX(1); opacity: 1; } 26% { transform: translate(59.642%, 56.288%) rotate(-65.56deg) scaleX(1); opacity: 1; } 27% { transform: translate(61.169%, 52.929%) rotate(-65.56deg) scaleX(1); opacity: 1; } 28% { transform: translate(62.612%, 50%) rotate(0deg) scaleX(1); opacity: 1; } 29% { transform: translate(65.613%, 50%) rotate(0deg) scaleX(1); opacity: 1; } 30% { transform: translate(68.317%, 50%) rotate(0deg) scaleX(1); opacity: 1; } 31% { transform: translate(70.752%, 50%) rotate(0deg) scaleX(1); opacity: 1; } 32% { transform: translate(72.942%, 50%) rotate(0deg) scaleX(1); opacity: 1; } 33% { transform: translate(74.908%, 50%) rotate(0deg) scaleX(1); opacity: 1; } 34% { transform: translate(76.669%, 50%) rotate(0deg) scaleX(1); opacity: 1; } 35% { transform: translate(78.242%, 50%) rotate(0deg) scaleX(1); opacity: 1; } 36% { transform: translate(79.641%, 50%) rotate(0deg) scaleX(1); opacity: 1; } 37% { transform: translate(80.88%, 50%) rotate(0deg) scaleX(1); opacity: 1; } 38% { transform: translate(81.969%, 50%) rotate(0deg) scaleX(1); opacity: 1; } 39% { transform: translate(82.921%, 50%) rotate(0deg) scaleX(1); opacity: 1; } 40% { transform: translate(83.743%, 50%) rotate(0deg) scaleX(1); opacity: 1; } 41% { transform: translate(84.445%, 50%) rotate(0deg) scaleX(1); opacity: 1; } 42% { transform: translate(85.034%, 50%) rotate(0deg) scaleX(1); opacity: 1; } 43% { transform: translate(85.517%, 50%) rotate(0deg) scaleX(1); opacity: 1; } 44% { transform: translate(85.901%, 50%) rotate(0deg) scaleX(1); opacity: 1; } 45% { transform: translate(86.191%, 50%) rotate(0deg) scaleX(1); opacity: 1; } 46% { transform: translate(86.392%, 50%) rotate(0deg) scaleX(1); opacity: 1; } 47% { transform: translate(86.51%, 50%) rotate(0deg) scaleX(1); opacity: 1; } 48% { transform: translate(86.548%, 50%) rotate(0deg) scaleX(1); opacity: 1; } 49% { transform: translate(86.714%, 50%) rotate(0deg) scaleX(0.987); opacity: 0.968; } 50% { transform: translate(87.431%, 50%) rotate(0deg) scaleX(0.93); opacity: 0.828; } 51% { transform: translate(88.945%, 50%) rotate(0deg) scaleX(0.81); opacity: 0.532; } 52% { transform: translate(90.281%, 50%) rotate(0deg) scaleX(0.704); opacity: 0.271; } 53% { transform: translate(91.029%, 50%) rotate(0deg) scaleX(0.645); opacity: 0.125; } 54% { transform: translate(91.425%, 50%) rotate(0deg) scaleX(0.614); opacity: 0.047; } 55% { transform: translate(91.614%, 50%) rotate(0deg) scaleX(0.599); opacity: 0.01; } 56% { transform: translate(91.667%, 50%) rotate(0deg) scaleX(0.594); opacity: 0; } 56.01%, 100% { transform: translate(91.667%, 50%) scaleX(0.594); opacity: 0; } }
/* el cuadro late justo cuando la chispa pasa por el pico (≈ 26% del ciclo) */
@keyframes cf-hx-golpe { 0%, 20% { transform: scale(1); } 26% { transform: scale(1.08); } 32% { transform: scale(.98); } 38%, 100% { transform: scale(1); } }
#cf-app .cf-header .cf-sub#cf-subtitulo { margin-top: 6px; font-size: 12.5px; letter-spacing: .1px; }
@media (max-width: 560px) { #cf-app .cf-header .cf-sub#cf-subtitulo { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; } }
@keyframes cf-hx-trazo { to { stroke-dashoffset: 0; } }
@keyframes cf-hx-halo { 0%, 24% { opacity: 0; transform: scale(.96); } 27% { opacity: .75; transform: scale(1); } 55% { opacity: 0; transform: scale(1.3); } 100% { opacity: 0; transform: scale(1.3); } }

/* ── Escritorio ── */
@media (min-width: 701px) {
  html.cf-hx-listo #cf-app .cf-header { position: relative; display: block; margin: 6px 0 16px; }
  html.cf-hx-listo #cf-app .cf-header > div:first-child { padding: 4px 0 14px; min-height: 58px; }

  html.cf-hx-listo #cf-app .cf-header-actions {
    display: flex !important; flex-wrap: nowrap; align-items: center; gap: 10px; width: 100%; padding: 6px; margin: 0;
    border-radius: 18px; background: color-mix(in srgb, var(--surface) 92%, #a855f7 8%); border: 1px solid color-mix(in srgb, #a855f7 22%, var(--border));
    box-shadow: 0 10px 30px -22px rgba(168, 85, 247, .8);
  }
  .cf-hx { display: flex; align-items: center; gap: 2px; min-width: 0; }
  .cf-hx-nav { flex: 1 1 auto; overflow-x: auto; scrollbar-width: none; container-type: inline-size; }
  .cf-hx-nav::-webkit-scrollbar { display: none; }
  .cf-hx-acc { flex: 0 0 auto; gap: 8px; padding-left: 10px; border-left: 1px solid var(--border); }
  /* herramientas arriba a la derecha, al lado del logo */
  .cf-hx-util { position: absolute; top: 6px; right: 0; gap: 4px; }

  /* botón base: ícono de línea + texto, sin emojis */
  html.cf-hx-listo #cf-app .cf-header-actions .cf-btn {
    position: relative; display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; min-height: 40px; height: 40px; margin: 0; padding: 0 13px;
    border: 1px solid transparent !important; border-radius: 12px !important; background: transparent; box-shadow: none;
    color: color-mix(in srgb, var(--t1) 88%, transparent); font-size: 0; font-weight: 700; white-space: nowrap; transition: color .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
  }
  html.cf-hx-listo #cf-app .cf-header-actions .cf-btn > * { font-size: 13.5px; }
  html.cf-hx-listo #cf-app .cf-header-actions .cf-btn .cf-hide-sm { display: inline !important; }
  html.cf-hx-listo #cf-app .cf-header-actions .cf-btn::before {
    content: ''; width: 18px; height: 18px; flex: 0 0 18px; background: currentColor;
    -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center;
  }
  html.cf-hx-listo #cf-app .cf-header-actions .cf-btn:hover { color: var(--t1); background: color-mix(in srgb, #a855f7 10%, transparent); }
  html.cf-hx-listo #cf-app .cf-header-actions .cf-btn:focus-visible { outline: 2px solid #e879f9; outline-offset: 1px; }
  html.cf-hx-listo #cf-app .cf-header-actions .cf-btn:active { transform: translateY(1px); }
  /* módulos: subrayado de marca al pasar */
  .cf-hx-nav .cf-btn::after { content: ''; position: absolute; left: 14px; right: 14px; bottom: 5px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, #f43f5e, #a855f7); transform: scaleX(0); transition: transform .2s ease; }
  .cf-hx-nav .cf-btn:hover::after { transform: scaleX(1); }
  /* contadores (carritos, recompras) */
  html.cf-hx-listo #cf-app .cf-header-actions .cf-chip-rojo { font-size: 11px !important; font-weight: 800; padding: 1px 7px; border-radius: 99px; background: linear-gradient(135deg, #e11d48, #dc2626); color: #fff; margin-left: 2px; }   /* (27-oct) más fuerte: contraste del número */
  /* acción: en rojo */
  html.cf-hx-listo #cf-app .cf-header-actions #cf-btn-riesgo { color: var(--t2); border-color: var(--border) !important; }
  html.cf-hx-listo #cf-app .cf-header-actions #cf-btn-riesgo b { font-size: 13.5px; }
  html.cf-hx-listo #cf-app .cf-header-actions #cf-btn-riesgo.cf-hx-alerta { color: #fca5a5; border-color: rgba(239, 68, 68, .55) !important; background: rgba(239, 68, 68, .1); }
  html.cf-hx-listo #cf-app .cf-header-actions #cf-btn-riesgo.cf-hx-alerta::before { animation: cf-hx-late 1.6s ease-in-out infinite; }
  /* acción: registrar (principal) */
  html.cf-hx-listo #cf-app .cf-header-actions #cf-btn-registrar { color: #fff; background: linear-gradient(135deg, #f43f5e, #a855f7); box-shadow: 0 8px 20px -10px rgba(168, 85, 247, .9); }
  html.cf-hx-listo #cf-app .cf-header-actions #cf-btn-registrar:hover { filter: brightness(1.08); }
  /* herramientas: solo ícono */
  html.cf-hx-listo #cf-app .cf-hx-util .cf-btn { width: 40px; padding: 0; justify-content: center; }
  html.cf-hx-listo #cf-app .cf-hx-util .cf-btn .cf-hide-sm { display: none !important; }
  /* ⚙️ Configuración y 🔌 Conexiones: con su nombre, para que un cliente nuevo los encuentre */
  html.cf-hx-listo #cf-app .cf-hx-util #cf-btn-admin, html.cf-hx-listo #cf-app .cf-hx-util #cf-btn-integ { width: auto; padding: 0 13px 0 11px; gap: 7px; border: 1px solid color-mix(in srgb, #a855f7 30%, var(--border)) !important; background: color-mix(in srgb, #a855f7 7%, transparent); }
  html.cf-hx-listo #cf-app .cf-hx-util #cf-btn-admin .cf-hide-sm, html.cf-hx-listo #cf-app .cf-hx-util #cf-btn-integ .cf-hide-sm { display: inline !important; font-size: 13px; }
  html.cf-hx-listo #cf-app .cf-hx-util #cf-btn-integ { margin-left: 4px; }
  html.cf-hx-listo #cf-app .cf-hx-util #cf-btn-salir { width: 42px; height: 42px; padding: 0; margin-left: 6px; border-radius: 50% !important; }
  html.cf-hx-listo #cf-app .cf-hx-util #cf-btn-salir::before { display: none; }
  html.cf-hx-listo #cf-app .cf-hx-util #cf-btn-salir #cf-yo { width: 40px; height: 40px; font-size: 14px; box-shadow: 0 0 0 2px var(--bg), 0 0 0 4px rgba(232, 121, 249, .6); }

  /* barra fija al bajar (sin desenfoque) */
  html.cf-hx-pegado.cf-hx-listo #cf-app .cf-header { min-height: var(--hx-alto, 120px); }
  html.cf-hx-pegado.cf-hx-listo #cf-app .cf-header-actions {
    position: fixed; top: calc(8px + env(safe-area-inset-top, 0px)); left: 50%; z-index: 90; transform: translateX(-50%);
    width: min(1152px, calc(100vw - 32px)); background: color-mix(in srgb, var(--bg) 94%, #a855f7 6%);
    box-shadow: 0 18px 40px -20px rgba(0, 0, 0, .7), 0 0 0 1px color-mix(in srgb, #a855f7 25%, var(--border)); animation: cf-hx-baja .22s ease-out;
  }
  html.cf-hx-pegado.cf-hx-listo .cf-hx-util { display: none; }   /* al bajar: módulos y acciones; Conexiones y Configuración quedan en "⋯ Más" */
  @keyframes cf-hx-baja { from { transform: translate(-50%, -12px); opacity: 0; } to { transform: translate(-50%, 0); opacity: 1; } }
}
/* la barra de módulos se ajusta al ancho disponible: primero más compacta, luego solo íconos (el nombre sale al pasar el mouse) */
@container (max-width: 1000px) {   /* [Pulso-Supabase] con 8 módulos (Bots) */
  html.cf-hx-listo #cf-app .cf-hx-nav .cf-btn { padding: 0 6px; gap: 4px; }
  html.cf-hx-listo #cf-app .cf-hx-nav .cf-btn > * { font-size: 13px; }
  .cf-hx-nav .cf-btn::after { left: 6px; right: 6px; }
}
@container (max-width: 900px) {
  html.cf-hx-listo #cf-app .cf-hx-nav .cf-btn { padding: 0 6px; gap: 4px; }
}
@container (max-width: 800px) {
  html.cf-hx-listo #cf-app .cf-hx-nav:not(.cf-hx-conmas) .cf-btn { padding: 0 11px; }
  html.cf-hx-listo #cf-app .cf-hx-nav:not(.cf-hx-conmas) .cf-btn .cf-hide-sm { display: none !important; }
  .cf-hx-nav .cf-btn::after { left: 8px; right: 8px; }
}
@media (min-width: 1600px) { html.cf-hx-pegado.cf-hx-listo #cf-app .cf-header-actions { width: min(1452px, calc(100vw - 32px)); } }
@keyframes cf-hx-late { 0%, 100% { transform: scale(1); } 15% { transform: scale(1.25); } 30% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) {
  #cf-app .cf-header .cf-pulso-ico, #cf-app .cf-header .cf-pulso-ico .cf-hx-linea, #cf-app .cf-header .cf-pulso-ico .cf-hx-chispa,
  #cf-app .cf-header .cf-pulso-ico :is(.cf-hx-vent, .cf-hx-base, .cf-hx-segs, .cf-hx-seg > i, .cf-hx-seg > i > svg) { animation: none !important; }
  #cf-app .cf-header .cf-pulso-ico .cf-hx-chispa { display: none; }
  .cf-hx-latido { display: none; }
  #cf-app .cf-header .cf-pulso-ico::after, #cf-btn-riesgo::before { animation: none !important; }
}

/* íconos */
html.cf-hx-listo #cf-app .cf-header-actions [data-ico="analisis"]::before, .cf-mmenu-ico[data-ico="analisis"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%203v18h18%22/%3E%3Cpath%20d%3D%22m7%2015%204-4%203%203%206-6%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%203v18h18%22/%3E%3Cpath%20d%3D%22m7%2015%204-4%203%203%206-6%22/%3E%3C/svg%3E"); }
html.cf-hx-listo #cf-app .cf-header-actions [data-ico="equipo"]::before, .cf-mmenu-ico[data-ico="equipo"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2%22/%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%224%22/%3E%3Cpath%20d%3D%22M22%2021v-2a4%204%200%200%200-3-3.87%22/%3E%3Cpath%20d%3D%22M16%203.13a4%204%200%200%201%200%207.75%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%2021v-2a4%204%200%200%200-4-4H6a4%204%200%200%200-4%204v2%22/%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%224%22/%3E%3Cpath%20d%3D%22M22%2021v-2a4%204%200%200%200-3-3.87%22/%3E%3Cpath%20d%3D%22M16%203.13a4%204%200%200%201%200%207.75%22/%3E%3C/svg%3E"); }
html.cf-hx-listo #cf-app .cf-header-actions [data-ico="cuentas"]::before, .cf-mmenu-ico[data-ico="cuentas"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M19%207V4a1%201%200%200%200-1-1H5a2%202%200%200%200%200%204h15a1%201%200%200%201%201%201v4h-3a2%202%200%200%200%200%204h3a1%201%200%200%200%201-1v-2%22/%3E%3Cpath%20d%3D%22M3%205v14a2%202%200%200%200%202%202h15a1%201%200%200%200%201-1v-4%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M19%207V4a1%201%200%200%200-1-1H5a2%202%200%200%200%200%204h15a1%201%200%200%201%201%201v4h-3a2%202%200%200%200%200%204h3a1%201%200%200%200%201-1v-2%22/%3E%3Cpath%20d%3D%22M3%205v14a2%202%200%200%200%202%202h15a1%201%200%200%200%201-1v-4%22/%3E%3C/svg%3E"); }
html.cf-hx-listo #cf-app .cf-header-actions [data-ico="metricas"]::before, .cf-mmenu-ico[data-ico="metricas"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%226%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%222%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%226%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%222%22/%3E%3C/svg%3E"); }
html.cf-hx-listo #cf-app .cf-header-actions [data-ico="logistica"]::before, .cf-mmenu-ico[data-ico="logistica"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%2018V6a2%202%200%200%200-2-2H4a2%202%200%200%200-2%202v11a1%201%200%200%200%201%201h2%22/%3E%3Cpath%20d%3D%22M15%2018H9%22/%3E%3Cpath%20d%3D%22M19%2018h2a1%201%200%200%200%201-1v-3.65a1%201%200%200%200-.22-.62L18.3%209.38a1%201%200%200%200-.78-.38H14%22/%3E%3Ccircle%20cx%3D%2217%22%20cy%3D%2218%22%20r%3D%222%22/%3E%3Ccircle%20cx%3D%227%22%20cy%3D%2218%22%20r%3D%222%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%2018V6a2%202%200%200%200-2-2H4a2%202%200%200%200-2%202v11a1%201%200%200%200%201%201h2%22/%3E%3Cpath%20d%3D%22M15%2018H9%22/%3E%3Cpath%20d%3D%22M19%2018h2a1%201%200%200%200%201-1v-3.65a1%201%200%200%200-.22-.62L18.3%209.38a1%201%200%200%200-.78-.38H14%22/%3E%3Ccircle%20cx%3D%2217%22%20cy%3D%2218%22%20r%3D%222%22/%3E%3Ccircle%20cx%3D%227%22%20cy%3D%2218%22%20r%3D%222%22/%3E%3C/svg%3E"); }
html.cf-hx-listo #cf-app .cf-header-actions [data-ico="carrito"]::before, .cf-mmenu-ico[data-ico="carrito"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%228%22%20cy%3D%2221%22%20r%3D%221%22/%3E%3Ccircle%20cx%3D%2219%22%20cy%3D%2221%22%20r%3D%221%22/%3E%3Cpath%20d%3D%22M2.05%202.05h2l2.66%2012.42a2%202%200%200%200%202%201.58h9.78a2%202%200%200%200%201.95-1.57l1.65-7.43H5.12%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%228%22%20cy%3D%2221%22%20r%3D%221%22/%3E%3Ccircle%20cx%3D%2219%22%20cy%3D%2221%22%20r%3D%221%22/%3E%3Cpath%20d%3D%22M2.05%202.05h2l2.66%2012.42a2%202%200%200%200%202%201.58h9.78a2%202%200%200%200%201.95-1.57l1.65-7.43H5.12%22/%3E%3C/svg%3E"); }
html.cf-hx-listo #cf-app .cf-header-actions [data-ico="recompra"]::before, .cf-mmenu-ico[data-ico="recompra"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m17%202%204%204-4%204%22/%3E%3Cpath%20d%3D%22M3%2011v-1a4%204%200%200%201%204-4h14%22/%3E%3Cpath%20d%3D%22m7%2022-4-4%204-4%22/%3E%3Cpath%20d%3D%22M21%2013v1a4%204%200%200%201-4%204H3%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m17%202%204%204-4%204%22/%3E%3Cpath%20d%3D%22M3%2011v-1a4%204%200%200%201%204-4h14%22/%3E%3Cpath%20d%3D%22m7%2022-4-4%204-4%22/%3E%3Cpath%20d%3D%22M21%2013v1a4%204%200%200%201-4%204H3%22/%3E%3C/svg%3E"); }
html.cf-hx-listo #cf-app .cf-header-actions [data-ico="bots"]::before, .cf-mmenu-ico[data-ico="bots"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M12%208V4H8%22/%3E%3Crect%20width=%2216%22%20height=%2212%22%20x=%224%22%20y=%228%22%20rx=%222%22/%3E%3Cpath%20d=%22M2%2014h2%22/%3E%3Cpath%20d=%22M20%2014h2%22/%3E%3Cpath%20d=%22M15%2013v2%22/%3E%3Cpath%20d=%22M9%2013v2%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M12%208V4H8%22/%3E%3Crect%20width=%2216%22%20height=%2212%22%20x=%224%22%20y=%228%22%20rx=%222%22/%3E%3Cpath%20d=%22M2%2014h2%22/%3E%3Cpath%20d=%22M20%2014h2%22/%3E%3Cpath%20d=%22M15%2013v2%22/%3E%3Cpath%20d=%22M9%2013v2%22/%3E%3C/svg%3E"); }
html.cf-hx-listo #cf-app .cf-header-actions [data-ico="integ"]::before, .cf-mmenu-ico[data-ico="integ"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M12%2022v-5%22/%3E%3Cpath%20d=%22M9%208V2%22/%3E%3Cpath%20d=%22M15%208V2%22/%3E%3Cpath%20d=%22M18%208v5a4%204%200%200%201-4%204h-4a4%204%200%200%201-4-4V8Z%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M12%2022v-5%22/%3E%3Cpath%20d=%22M9%208V2%22/%3E%3Cpath%20d=%22M15%208V2%22/%3E%3Cpath%20d=%22M18%208v5a4%204%200%200%201-4%204h-4a4%204%200%200%201-4-4V8Z%22/%3E%3C/svg%3E"); }
html.cf-hx-listo #cf-app .cf-header-actions [data-ico="pedidos"]::before, .cf-mmenu-ico[data-ico="pedidos"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M11%2021.73a2%202%200%200%200%202%200l7-4A2%202%200%200%200%2021%2016V8a2%202%200%200%200-1-1.73l-7-4a2%202%200%200%200-2%200l-7%204A2%202%200%200%200%203%208v8a2%202%200%200%200%201%201.73z%22/%3E%3Cpath%20d%3D%22M12%2022V12%22/%3E%3Cpath%20d%3D%22m3.3%207%208.7%205%208.7-5%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M11%2021.73a2%202%200%200%200%202%200l7-4A2%202%200%200%200%2021%2016V8a2%202%200%200%200-1-1.73l-7-4a2%202%200%200%200-2%200l-7%204A2%202%200%200%200%203%208v8a2%202%200%200%200%201%201.73z%22/%3E%3Cpath%20d%3D%22M12%2022V12%22/%3E%3Cpath%20d%3D%22m3.3%207%208.7%205%208.7-5%22/%3E%3C/svg%3E"); }
html.cf-hx-listo #cf-app .cf-header-actions [data-ico="rojo"]::before, .cf-mmenu-ico[data-ico="rojo"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2022c5.5%200%2010-4.5%2010-10S17.5%202%2012%202%202%206.5%202%2012s4.5%2010%2010%2010z%22/%3E%3Cpath%20d%3D%22M12%208v4%22/%3E%3Cpath%20d%3D%22M12%2016h.01%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2022c5.5%200%2010-4.5%2010-10S17.5%202%2012%202%202%206.5%202%2012s4.5%2010%2010%2010z%22/%3E%3Cpath%20d%3D%22M12%208v4%22/%3E%3Cpath%20d%3D%22M12%2016h.01%22/%3E%3C/svg%3E"); }
html.cf-hx-listo #cf-app .cf-header-actions [data-ico="mas"]::before, .cf-mmenu-ico[data-ico="mas"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%205v14%22/%3E%3Cpath%20d%3D%22M5%2012h14%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%205v14%22/%3E%3Cpath%20d%3D%22M5%2012h14%22/%3E%3C/svg%3E"); }
html.cf-hx-listo #cf-app .cf-header-actions [data-ico="refrescar"]::before, .cf-mmenu-ico[data-ico="refrescar"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2012a9%209%200%201%201-9-9c2.52%200%204.93%201%206.74%202.74L21%208%22/%3E%3Cpath%20d%3D%22M21%203v5h-5%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2012a9%209%200%201%201-9-9c2.52%200%204.93%201%206.74%202.74L21%208%22/%3E%3Cpath%20d%3D%22M21%203v5h-5%22/%3E%3C/svg%3E"); }
html.cf-hx-listo #cf-app .cf-header-actions [data-ico="sol"]::before, .cf-mmenu-ico[data-ico="sol"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22/%3E%3Cpath%20d%3D%22M12%202v2%22/%3E%3Cpath%20d%3D%22M12%2020v2%22/%3E%3Cpath%20d%3D%22m4.93%204.93%201.41%201.41%22/%3E%3Cpath%20d%3D%22m17.66%2017.66%201.41%201.41%22/%3E%3Cpath%20d%3D%22M2%2012h2%22/%3E%3Cpath%20d%3D%22M20%2012h2%22/%3E%3Cpath%20d%3D%22m6.34%2017.66-1.41%201.41%22/%3E%3Cpath%20d%3D%22m19.07%204.93-1.41%201.41%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22/%3E%3Cpath%20d%3D%22M12%202v2%22/%3E%3Cpath%20d%3D%22M12%2020v2%22/%3E%3Cpath%20d%3D%22m4.93%204.93%201.41%201.41%22/%3E%3Cpath%20d%3D%22m17.66%2017.66%201.41%201.41%22/%3E%3Cpath%20d%3D%22M2%2012h2%22/%3E%3Cpath%20d%3D%22M20%2012h2%22/%3E%3Cpath%20d%3D%22m6.34%2017.66-1.41%201.41%22/%3E%3Cpath%20d%3D%22m19.07%204.93-1.41%201.41%22/%3E%3C/svg%3E"); }
html.cf-hx-listo #cf-app .cf-header-actions [data-ico="luna"]::before, .cf-mmenu-ico[data-ico="luna"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203a6%206%200%200%200%209%209%209%209%200%201%201-9-9Z%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203a6%206%200%200%200%209%209%209%209%200%201%201-9-9Z%22/%3E%3C/svg%3E"); }
html.cf-hx-listo #cf-app .cf-header-actions [data-ico="celebrar"]::before, .cf-mmenu-ico[data-ico="celebrar"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9.94%2014.06%204.5%2019.5%22/%3E%3Cpath%20d%3D%22m14%204%201%202%202%201-2%201-1%202-1-2-2-1%202-1z%22/%3E%3Cpath%20d%3D%22M5%203v4M3%205h4M19%2015v4M17%2017h4%22/%3E%3Cpath%20d%3D%22M9%209.5%2014.5%2015l-9%204%203.5-9.5z%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9.94%2014.06%204.5%2019.5%22/%3E%3Cpath%20d%3D%22m14%204%201%202%202%201-2%201-1%202-1-2-2-1%202-1z%22/%3E%3Cpath%20d%3D%22M5%203v4M3%205h4M19%2015v4M17%2017h4%22/%3E%3Cpath%20d%3D%22M9%209.5%2014.5%2015l-9%204%203.5-9.5z%22/%3E%3C/svg%3E"); }
html.cf-hx-listo #cf-app .cf-header-actions [data-ico="silencio"]::before, .cf-mmenu-ico[data-ico="silencio"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8.7%203A6%206%200%200%201%2018%208a21.3%2021.3%200%200%200%20.6%205%22/%3E%3Cpath%20d%3D%22M17%2017H3s3-2%203-9a4.67%204.67%200%200%201%20.3-1.7%22/%3E%3Cpath%20d%3D%22M10.3%2021a1.94%201.94%200%200%200%203.4%200%22/%3E%3Cpath%20d%3D%22m2%202%2020%2020%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8.7%203A6%206%200%200%201%2018%208a21.3%2021.3%200%200%200%20.6%205%22/%3E%3Cpath%20d%3D%22M17%2017H3s3-2%203-9a4.67%204.67%200%200%201%20.3-1.7%22/%3E%3Cpath%20d%3D%22M10.3%2021a1.94%201.94%200%200%200%203.4%200%22/%3E%3Cpath%20d%3D%22m2%202%2020%2020%22/%3E%3C/svg%3E"); }
html.cf-hx-listo #cf-app .cf-header-actions [data-ico="salud"]::before, .cf-mmenu-ico[data-ico="salud"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M22%2012h-4l-3%209L9%203l-3%209H2%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M22%2012h-4l-3%209L9%203l-3%209H2%22/%3E%3C/svg%3E"); }
html.cf-hx-listo #cf-app .cf-header-actions [data-ico="canales"]::before, .cf-mmenu-ico[data-ico="canales"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%207h-9%22/%3E%3Cpath%20d%3D%22M14%2017H5%22/%3E%3Ccircle%20cx%3D%2217%22%20cy%3D%2217%22%20r%3D%223%22/%3E%3Ccircle%20cx%3D%227%22%20cy%3D%227%22%20r%3D%223%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%207h-9%22/%3E%3Cpath%20d%3D%22M14%2017H5%22/%3E%3Ccircle%20cx%3D%2217%22%20cy%3D%2217%22%20r%3D%223%22/%3E%3Ccircle%20cx%3D%227%22%20cy%3D%227%22%20r%3D%223%22/%3E%3C/svg%3E"); }
html.cf-hx-listo #cf-app .cf-header-actions [data-ico="punto"]::before, .cf-mmenu-ico[data-ico="punto"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223%22/%3E%3C/svg%3E"); }
/* modo claro */
:root[data-theme="light"] html.cf-hx-listo #cf-app .cf-header-actions #cf-btn-riesgo.cf-hx-alerta,
html[data-theme="light"].cf-hx-listo #cf-app .cf-header-actions #cf-btn-riesgo.cf-hx-alerta { color: #dc2626; background: rgba(239, 68, 68, .08); border-color: rgba(220, 38, 38, .45) !important; }
html[data-theme="light"].cf-hx-listo #cf-app .cf-header-actions { background: #fff; }
@media (prefers-color-scheme: light) { html:not([data-theme]).cf-hx-listo #cf-app .cf-header-actions #cf-btn-riesgo.cf-hx-alerta { color: #dc2626; } }

/* ── Módulos con más vida: íconos con el degradado de la marca, texto claro, brillo al pasar ── */
@media (min-width: 701px) {
  html.cf-hx-listo #cf-app .cf-hx-nav .cf-btn::before, html.cf-hx-listo #cf-app .cf-hx-util .cf-btn::before { background: linear-gradient(135deg, #fb7185, #c084fc); }
  html.cf-hx-listo #cf-app .cf-hx-nav .cf-btn > * { font-size: 14px; }
  html.cf-hx-listo #cf-app .cf-hx-nav .cf-btn:hover { color: #fff; background: linear-gradient(135deg, rgba(244, 63, 94, .16), rgba(168, 85, 247, .2)); box-shadow: inset 0 0 0 1px rgba(232, 121, 249, .35), 0 8px 22px -12px rgba(168, 85, 247, .8); }
  html.cf-hx-listo #cf-app .cf-hx-nav .cf-btn:hover::before { background: #fff; }
  html.cf-hx-listo #cf-app .cf-hx-util .cf-btn:hover::before { background: #fff; }
  html.cf-hx-listo #cf-app .cf-header-actions {
    background: linear-gradient(180deg, color-mix(in srgb, #a855f7 12%, var(--surface)), color-mix(in srgb, #a855f7 5%, var(--surface)));
    border-color: color-mix(in srgb, #e879f9 30%, var(--border));
  }
  /* un latido de neón recorre el borde inferior de la barra cada 7 s. Vive dentro de una franja propia que recorta
     a la barra y mide su ancho con unidades de contenedor (100cqw): no depende de medidas de JavaScript. */
  .cf-hx-latido { position: absolute; left: 18px; right: 18px; bottom: -7px; height: 14px; overflow: hidden; pointer-events: none; z-index: 1; container-type: inline-size; }
  .cf-hx-latido i {
    position: absolute; left: 0; top: 0; width: 240px; height: 14px; opacity: 0; transform: translateX(-240px); will-change: transform, opacity;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 14'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' x2='1'%3E%3Cstop offset='0' stop-color='%23f43f5e' stop-opacity='0'/%3E%3Cstop offset='.55' stop-color='%23f43f5e'/%3E%3Cstop offset='.8' stop-color='%23e879f9'/%3E%3Cstop offset='1' stop-color='%23fff'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 7h150l6-5 7 11 7-12 5 6h65' fill='none' stroke='url(%23g)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat;
    filter: drop-shadow(0 0 4px #e879f9); animation: cf-hx-monitor 7s cubic-bezier(.5, 0, .5, 1) 1.5s infinite;
  }
  @keyframes cf-hx-monitor { 0% { transform: translateX(-240px); opacity: 0; } 4% { opacity: 1; } 24% { opacity: 1; } 28% { transform: translateX(100cqw); opacity: 0; } 100% { transform: translateX(100cqw); opacity: 0; } }
}
html[data-theme="light"].cf-hx-listo #cf-app .cf-header-actions { background: #fff; }
@media (prefers-color-scheme: light) { html:not([data-theme]).cf-hx-listo #cf-app .cf-header-actions #cf-btn-riesgo.cf-hx-alerta { color: #dc2626; } }

/* ── Módulos con más vida: íconos con el degradado de la marca, texto claro, brillo al pasar ── */
@media (min-width: 701px) {
  html.cf-hx-listo #cf-app .cf-hx-nav .cf-btn::before, html.cf-hx-listo #cf-app .cf-hx-util .cf-btn::before { background: linear-gradient(135deg, #fb7185, #c084fc); }
  html.cf-hx-listo #cf-app .cf-hx-nav .cf-btn > * { font-size: 14px; }
  html.cf-hx-listo #cf-app .cf-hx-nav .cf-btn:hover { color: #fff; background: linear-gradient(135deg, rgba(244, 63, 94, .16), rgba(168, 85, 247, .2)); box-shadow: inset 0 0 0 1px rgba(232, 121, 249, .35), 0 8px 22px -12px rgba(168, 85, 247, .8); }
  html.cf-hx-listo #cf-app .cf-hx-nav .cf-btn:hover::before { background: #fff; }
  html.cf-hx-listo #cf-app .cf-hx-util .cf-btn:hover::before { background: #fff; }
  html.cf-hx-listo #cf-app .cf-header-actions {
    background: linear-gradient(180deg, color-mix(in srgb, #a855f7 12%, var(--surface)), color-mix(in srgb, #a855f7 5%, var(--surface)));
    border-color: color-mix(in srgb, #e879f9 30%, var(--border));
  }
  /* un latido de neón recorre el borde inferior de la barra cada 7 s (solo transform: GPU) */

}
html[data-theme="light"].cf-hx-listo #cf-app .cf-header-actions { background: linear-gradient(180deg, #fff, #faf5ff); }
html.cf-hx-listo #cf-app .cf-header-actions [data-ico="dueno"]::before, .cf-mmenu-ico[data-ico="dueno"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20width%3D%2220%22%20height%3D%2214%22%20x%3D%222%22%20y%3D%227%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M16%2021V5a2%202%200%200%200-2-2h-4a2%202%200%200%200-2%202v16%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20width%3D%2220%22%20height%3D%2214%22%20x%3D%222%22%20y%3D%227%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M16%2021V5a2%202%200%200%200-2-2h-4a2%202%200%200%200-2%202v16%22/%3E%3C/svg%3E"); }

/* [Pulso-Supabase] "ECOMMERCE" debajo de Pulso: mismas letras repartidas al ancho exacto de la palabra (simétrico) */
.cf-wm { display: inline-flex; flex-direction: column; align-items: stretch; gap: 4px; line-height: 1; }
.cf-wm-n { display: block; }
.cf-wm-s { display: flex; justify-content: space-between; font-size: 8.5px; font-weight: 800; line-height: 1; padding: 0 1px;
  -webkit-text-fill-color: currentColor; color: rgba(255, 255, 255, .82); background: none; }
.cf-wm-s i { font-style: normal; }
:root[data-theme="light"] .cf-wm-s { color: #5b6478; }
@media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) .cf-wm-s { color: #5b6478; } }
/* inicio de sesión: debajo del nombre grande */
.cf-login-wm { display: inline-flex; flex-direction: column; align-items: stretch; gap: 7px; }
.cf-login .cf-login-wm .cf-wm-s { font-size: clamp(11px, 2.4vw, 13px); padding: 0 3px; color: rgba(255, 255, 255, .85); }

html.cf-hx-listo #cf-app .cf-header-actions [data-ico="productos"]::before, .cf-mmenu-ico[data-ico="productos"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12.59%202.59A2%202%200%200%200%2011.17%202H4a2%202%200%200%200-2%202v7.17a2%202%200%200%200%20.59%201.42l8.7%208.7a2.43%202.43%200%200%200%203.42%200l6.58-6.58a2.43%202.43%200%200%200%200-3.42z%22/%3E%3Ccircle%20cx%3D%227.5%22%20cy%3D%227.5%22%20r%3D%22.5%22%20fill%3D%22black%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12.59%202.59A2%202%200%200%200%2011.17%202H4a2%202%200%200%200-2%202v7.17a2%202%200%200%200%20.59%201.42l8.7%208.7a2.43%202.43%200%200%200%203.42%200l6.58-6.58a2.43%202.43%200%200%200%200-3.42z%22/%3E%3Ccircle%20cx%3D%227.5%22%20cy%3D%227.5%22%20r%3D%22.5%22%20fill%3D%22black%22/%3E%3C/svg%3E"); }
/* aviso de productos sin asignar [Pulso-Supabase] */
html.cf-hx-listo #cf-app .cf-header-actions #cf-btn-productos .cf-chip-rojo { background: linear-gradient(135deg, #f59e0b, #f97316); }
html.cf-hx-listo #cf-app .cf-header-actions [data-ico="ia"]::before, .cf-mmenu-ico[data-ico="ia"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9.94%2015.5A2%202%200%200%200%208.5%2014.06l-6.14-1.58a.5.5%200%200%201%200-.96L8.5%209.94A2%202%200%200%200%209.94%208.5l1.58-6.14a.5.5%200%200%201%20.96%200L14.06%208.5A2%202%200%200%200%2015.5%209.94l6.14%201.58a.5.5%200%200%201%200%20.96L15.5%2014.06a2%202%200%200%200-1.44%201.44l-1.58%206.14a.5.5%200%200%201-.96%200z%22/%3E%3Cpath%20d%3D%22M20%203v4M22%205h-4%22/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9.94%2015.5A2%202%200%200%200%208.5%2014.06l-6.14-1.58a.5.5%200%200%201%200-.96L8.5%209.94A2%202%200%200%200%209.94%208.5l1.58-6.14a.5.5%200%200%201%20.96%200L14.06%208.5A2%202%200%200%200%2015.5%209.94l6.14%201.58a.5.5%200%200%201%200%20.96L15.5%2014.06a2%202%200%200%200-1.44%201.44l-1.58%206.14a.5.5%200%200%201-.96%200z%22/%3E%3Cpath%20d%3D%22M20%203v4M22%205h-4%22/%3E%3C/svg%3E"); }

html.cf-hx-listo #cf-app .cf-header-actions [data-ico="envios"]::before, .cf-mmenu-ico[data-ico="envios"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16.5%209.4%207.55%204.24%22%2F%3E%3Cpath%20d%3D%22M21%2016V8a2%202%200%200%200-1-1.73l-7-4a2%202%200%200%200-2%200l-7%204A2%202%200%200%200%203%208v8a2%202%200%200%200%201%201.73l7%204a2%202%200%200%200%202%200l7-4A2%202%200%200%200%2021%2016z%22%2F%3E%3Cpath%20d%3D%22M3.27%206.96%2012%2012.01l8.73-5.05%22%2F%3E%3Cpath%20d%3D%22M12%2022.08V12%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16.5%209.4%207.55%204.24%22%2F%3E%3Cpath%20d%3D%22M21%2016V8a2%202%200%200%200-1-1.73l-7-4a2%202%200%200%200-2%200l-7%204A2%202%200%200%200%203%208v8a2%202%200%200%200%201%201.73l7%204a2%202%200%200%200%202%200l7-4A2%202%200%200%200%2021%2016z%22%2F%3E%3Cpath%20d%3D%22M3.27%206.96%2012%2012.01l8.73-5.05%22%2F%3E%3Cpath%20d%3D%22M12%2022.08V12%22%2F%3E%3C%2Fsvg%3E"); }
/* [Pulso-Supabase] ⋯ Más: módulos que no caben en la barra de escritorio */
.cf-hx-masw { display: none; }
@media (min-width: 701px) {
  html.cf-hx-listo #cf-app .cf-hx-nav .cf-hx-fuera { display: none !important; }
  .cf-hx-masw:not([hidden]) { display: flex; position: relative; flex: 0 0 auto; }
  .cf-hx-masb { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 12px; border-radius: 12px; color: color-mix(in srgb, var(--t1) 88%, transparent); font-weight: 700; font-size: 13.5px; cursor: pointer; user-select: none; position: relative; }
  .cf-hx-masb:hover, .cf-hx-masb[aria-expanded="true"] { color: var(--t1); background: color-mix(in srgb, #a855f7 12%, transparent); }
  .cf-hx-masb i { font-style: normal; font-size: 20px; line-height: 1; letter-spacing: -1px; } .cf-hx-masb em { font-style: normal; }
  .cf-hx-masn { position: absolute; top: 4px; right: 4px; color: #f43f5e; font-size: 18px; line-height: 1; }
  .cf-hx-pop { position: absolute; top: calc(100% + 8px); right: 0; z-index: 120; min-width: 220px; padding: 6px; border-radius: 14px; background: var(--surface); border: 1px solid color-mix(in srgb, #a855f7 30%, var(--border)); box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .7); display: grid; gap: 2px; animation: cf-hx-pop .14s ease-out; }
  .cf-hx-pop[hidden] { display: none; }
  .cf-hx-pop button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 12px; border: 0; border-radius: 10px; background: transparent; color: var(--t1); font-weight: 700; font-size: 13.5px; cursor: pointer; text-align: left; }
  .cf-hx-pop button:hover { background: color-mix(in srgb, #a855f7 12%, transparent); }
  .cf-hx-pop button b { margin-left: auto; font-size: 11px; padding: 1px 7px; border-radius: 99px; background: linear-gradient(135deg, #f43f5e, #ef4444); color: #fff; }
  .cf-hx-pop .cf-mmenu-ico { width: 18px; height: 18px; flex: 0 0 18px; }
  .cf-hx-pop .cf-mmenu-ico::before { content: ''; display: block; width: 18px; height: 18px; background: currentColor; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; }
  @keyframes cf-hx-pop { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
}
/* [Pulso-Supabase] grupos de módulos: una línea fina antes de cada grupo y su título dentro de "⋯ Más" */
@media (min-width: 701px) {
  html.cf-hx-listo #cf-app .cf-hx-nav .cf-btn.cf-hx-ini { margin-left: 9px; box-shadow: -5px 0 0 -4px color-mix(in srgb, #a855f7 35%, var(--border)); }
  .cf-hx-pop-g { display: block; padding: 8px 12px 2px; font-size: 10.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--t2); }
  .cf-hx-pop-g:first-child { padding-top: 2px; }
}

/* 🖥️ módulo abierto en escritorio: barra del menú fija arriba, ventana debajo y el módulo actual resaltado */
@media (min-width: 900px) {
  html.cf-con-panel.cf-hx-listo #cf-app .cf-header-actions { z-index: 110; animation: none; }
  html.cf-con-panel .cf-overlay { top: 0; }   /* 🔀 (31-oct, pul3) el velo cubre todo (antes empezaba debajo de la barra y asomaba el encabezado de atrás): la barra queda encima, sola y nítida */
  html.cf-con-panel .cf-panel { top: var(--panel-top, 80px); max-height: none; border-radius: 24px 24px 0 0; }
  html.cf-hx-listo #cf-app .cf-header-actions .cf-btn.cf-hx-actual { color: #fff; background: linear-gradient(135deg, rgba(244, 63, 94, .85), rgba(168, 85, 247, .85)); }
  html.cf-hx-listo #cf-app .cf-header-actions .cf-btn.cf-hx-actual::after { transform: scaleX(0); }
}

/* [Pulso-Supabase] Los íconos sueltos de arriba dicen qué son apenas pasas el mouse (sin esperar el aviso del navegador) */
@media (hover: hover) and (min-width: 900px) {
  html.cf-hx-listo #cf-app .cf-hx-util .cf-btn::after {
    position: absolute; top: calc(100% + 8px); left: 50%; z-index: 95; transform: translate(-50%, -4px); opacity: 0; pointer-events: none;
    padding: 6px 10px; border-radius: 8px; white-space: nowrap; font: 600 12px/1.2 system-ui, sans-serif; color: #fff;
    background: #1c1630; border: 1px solid color-mix(in srgb, #a855f7 40%, transparent); box-shadow: 0 10px 24px -12px rgba(0, 0, 0, .8);
    transition: opacity .12s ease, transform .12s ease;
  }
  html.cf-hx-listo #cf-app .cf-hx-util .cf-btn:hover::after, html.cf-hx-listo #cf-app .cf-hx-util .cf-btn:focus-visible::after { opacity: 1; transform: translate(-50%, 0); }
  html.cf-hx-listo #cf-app .cf-hx-util #cf-btn-refresh::after { content: 'Actualizar'; }
  html.cf-hx-listo #cf-app .cf-hx-util #cf-btn-tema::after { content: 'Tema claro / oscuro'; }
  html.cf-hx-listo #cf-app .cf-hx-util #cf-btn-anim::after { content: 'Celebraciones y efectos'; }
  html.cf-hx-listo #cf-app .cf-hx-util #cf-btn-salud::after { content: 'Salud de Pulso'; }
  html.cf-hx-listo #cf-app .cf-hx-util #cf-btn-dueno::after { content: 'Resumen del dueño'; }
  html.cf-hx-listo #cf-app .cf-hx-util #cf-btn-salir::after { content: 'Tu perfil · cambiar de asesor'; left: auto; right: 0; transform: translate(0, -4px); }
  html.cf-hx-listo #cf-app .cf-hx-util #cf-btn-salir:hover::after { transform: none; }
}

html.cf-hx-listo #cf-app .cf-header-actions [data-ico="tv"]::before, .cf-mmenu-ico[data-ico="tv"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%222%22%20y%3D%227%22%20width%3D%2220%22%20height%3D%2214%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22m17%202-5%205-5-5%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%222%22%20y%3D%227%22%20width%3D%2220%22%20height%3D%2214%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22m17%202-5%205-5-5%22%2F%3E%3C%2Fsvg%3E"); }   /* [Pulso-Supabase] 📺 Modo TV */
html.cf-hx-listo #cf-app .cf-header-actions [data-ico="campana"]::before, .cf-mmenu-ico[data-ico="campana"]::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%208a6%206%200%200%201%2012%200c0%207%203%209%203%209H3s3-2%203-9%22%2F%3E%3Cpath%20d%3D%22M10.3%2021a1.94%201.94%200%200%200%203.4%200%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%208a6%206%200%200%201%2012%200c0%207%203%209%203%209H3s3-2%203-9%22%2F%3E%3Cpath%20d%3D%22M10.3%2021a1.94%201.94%200%200%200%203.4%200%22%2F%3E%3C%2Fsvg%3E"); }   /* [Pulso-Supabase] 🔔 notificaciones */
