
/* Kuy Asistente Web v1.5.0 — frontend rebuild */

#kuyva-root,
#kuyva-root * {
  box-sizing: border-box !important;
}

#kuyva-root {
  position: fixed !important;
  bottom: var(--kuyva-bottom, 24px) !important;
  z-index: 999999999 !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  color: #fff !important;
  isolation: isolate !important;
}

#kuyva-root.kuyva-pos-right { right: var(--kuyva-side, 24px) !important; }
#kuyva-root.kuyva-pos-left { left: var(--kuyva-side, 24px) !important; }

#kuyva-root .kuyva-panel {
  width: min(var(--kuyva-panel, 405px), calc(100vw - 24px)) !important;
  height: min(620px, calc(100vh - 125px)) !important;
  position: absolute !important;
  bottom: 94px !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border-radius: 30px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  background:
    radial-gradient(circle at 14% -8%, color-mix(in srgb, var(--kuyva-primary) 32%, transparent), transparent 34%),
    radial-gradient(circle at 108% 10%, color-mix(in srgb, var(--kuyva-secondary) 26%, transparent), transparent 32%),
    linear-gradient(180deg, rgba(9,13,28,var(--kuyva-opacity,.86)), rgba(3,5,13,var(--kuyva-opacity,.86))) !important;
  backdrop-filter: blur(22px) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.2) !important;
  box-shadow:
    0 30px 85px rgba(0,0,0,.58),
    0 0 0 1px rgba(255,255,255,.035) inset,
    0 0 54px color-mix(in srgb, var(--kuyva-primary) 20%, transparent) !important;
  transform: translateY(24px) scale(.95) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .28s ease, transform .35s cubic-bezier(.2,.85,.2,1) !important;
  overscroll-behavior: contain !important;
  color: var(--kuyva-bot-text, #fff) !important;
}

#kuyva-root.kuyva-pos-right .kuyva-panel { right: 0 !important; transform-origin: bottom right !important; }
#kuyva-root.kuyva-pos-left .kuyva-panel { left: 0 !important; transform-origin: bottom left !important; }
#kuyva-root.is-open .kuyva-panel {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(0) scale(1) !important;
}

#kuyva-root .kuyva-panel-bg {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  opacity: .86 !important;
  background-image:
    radial-gradient(circle at 22% 8%, color-mix(in srgb, var(--kuyva-primary) 28%, transparent), transparent 30%),
    radial-gradient(circle at 88% 18%, color-mix(in srgb, var(--kuyva-secondary) 22%, transparent), transparent 32%),
    radial-gradient(circle at 48% 115%, rgba(255,255,255,.09), transparent 34%),
    linear-gradient(116deg, transparent 0 22%, rgba(255,255,255,.052) 28%, transparent 36% 100%) !important;
  background-size: 118% 118%, 112% 112%, 118% 118%, 240% 240% !important;
  animation: kuyva-aurora-v15 18s ease-in-out infinite alternate !important;
}
#kuyva-root .kuyva-panel-bg:after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px) !important;
  background-size: 42px 42px !important;
  opacity: .12 !important;
  mask-image: radial-gradient(circle at 50% 34%, #000 0 46%, transparent 88%) !important;
}
@keyframes kuyva-aurora-v15 {
  0% { background-position: 0 0, 100% 0, 50% 100%, 0 0; filter: hue-rotate(0deg); }
  100% { background-position: 14% 10%, 86% 24%, 46% 86%, 100% 100%; filter: hue-rotate(8deg); }
}

#kuyva-root .kuyva-lux-line {
  position: absolute !important;
  top: 0 !important;
  left: 20px !important;
  right: 20px !important;
  height: 1px !important;
  z-index: 4 !important;
  background: linear-gradient(90deg, transparent, var(--kuyva-primary), var(--kuyva-secondary), transparent) !important;
  opacity: .7 !important;
}

#kuyva-root .kuyva-header,
#kuyva-root .kuyva-messages,
#kuyva-root .kuyva-suggestions,
#kuyva-root .kuyva-quick-actions,
#kuyva-root .kuyva-form {
  position: relative !important;
  z-index: 2 !important;
}

#kuyva-root .kuyva-header {
  flex: 0 0 auto !important;
  min-height: 76px !important;
  padding: 13px 15px 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  color: var(--kuyva-header-text, #fff) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.025)) !important;
  border-bottom: 1px solid rgba(255,255,255,.09) !important;
}

#kuyva-root .kuyva-brand {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
}
#kuyva-root .kuyva-brand strong {
  display: block !important;
  color: var(--kuyva-header-text, #fff) !important;
  font-size: 15.5px !important;
  line-height: 1.05 !important;
  font-weight: 850 !important;
  max-width: 185px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
#kuyva-root .kuyva-brand span {
  display: block !important;
  color: color-mix(in srgb, var(--kuyva-header-text) 70%, transparent) !important;
  font-size: 12px !important;
  margin-top: 3px !important;
  max-width: 190px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#kuyva-root .kuyva-avatar-wrap {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  border-radius: 50% !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: grid !important;
  place-items: center !important;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--kuyva-primary) 30%, #0b1020 70%), color-mix(in srgb, var(--kuyva-secondary) 24%, #070b16 76%)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--kuyva-primary) 13%, transparent), 0 0 22px color-mix(in srgb, var(--kuyva-primary) 30%, transparent) !important;
}
#kuyva-root .kuyva-avatar-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  padding: 5px !important;
  border-radius: 50% !important;
  object-fit: contain !important;
  background: transparent !important;
}
#kuyva-root .kuyva-avatar-fallback {
  font-size: 12px !important;
  font-weight: 900 !important;
  color: #fff !important;
  letter-spacing: .08em !important;
}

#kuyva-root .kuyva-header-actions {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  flex: 0 0 auto !important;
}
#kuyva-root .kuyva-live {
  height: 34px !important;
  min-width: 72px !important;
  padding: 0 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--kuyva-accent) 28%, rgba(255,255,255,.12)) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.035)) !important;
  color: transparent !important;
  font-size: 0 !important;
}
#kuyva-root .kuyva-live:after {
  content: "Activo" !important;
  color: rgba(255,255,255,.84) !important;
  font-size: 11px !important;
  font-weight: 850 !important;
}
#kuyva-root .kuyva-live i {
  width: 8px !important;
  height: 8px !important;
  display: block !important;
  border-radius: 50% !important;
  background: var(--kuyva-accent) !important;
  box-shadow: 0 0 12px var(--kuyva-accent) !important;
  animation: kuyva-live-v15 1.6s ease-in-out infinite !important;
}
@keyframes kuyva-live-v15 { 50% { transform: scale(1.35); opacity: .45; } }

#kuyva-root .kuyva-close,
#kuyva-root .kuyva-reset {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  padding: 0 !important;
  border-radius: 15px !important;
  display: inline-grid !important;
  place-items: center !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.055) !important;
  color: #fff !important;
  cursor: pointer !important;
  line-height: 1 !important;
  text-align: center !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
  transition: transform .18s ease, background .18s ease, border-color .18s ease !important;
}
#kuyva-root .kuyva-close,
#kuyva-root .kuyva-reset { font-size: 0 !important; }
#kuyva-root .kuyva-close:before { content: "×" !important; font-size: 24px !important; line-height: 1 !important; transform: translateY(-1px) !important; }
#kuyva-root .kuyva-reset:before { content: "↻" !important; font-size: 17px !important; line-height: 1 !important; }
#kuyva-root .kuyva-close:hover,
#kuyva-root .kuyva-reset:hover {
  background: color-mix(in srgb, var(--kuyva-primary) 18%, rgba(255,255,255,.08)) !important;
  border-color: color-mix(in srgb, var(--kuyva-primary) 45%, rgba(255,255,255,.14)) !important;
  transform: translateY(-1px) !important;
}

#kuyva-root .kuyva-messages {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  padding: 18px 15px 10px !important;
  scroll-behavior: smooth !important;
  scrollbar-width: thin !important;
  scrollbar-color: color-mix(in srgb, var(--kuyva-primary) 58%, transparent) rgba(255,255,255,.04) !important;
}
#kuyva-root .kuyva-messages::-webkit-scrollbar { width: 8px !important; }
#kuyva-root .kuyva-messages::-webkit-scrollbar-track { background: rgba(255,255,255,.035) !important; border-radius: 999px !important; }
#kuyva-root .kuyva-messages::-webkit-scrollbar-thumb { background: linear-gradient(180deg, var(--kuyva-primary), var(--kuyva-secondary)) !important; border-radius: 999px !important; }

#kuyva-root .kuyva-message {
  display: flex !important;
  align-items: flex-end !important;
  gap: 9px !important;
  margin: 0 0 14px !important;
  animation: kuyva-message-v15 .22s ease both !important;
}
@keyframes kuyva-message-v15 { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
#kuyva-root .kuyva-message.bot { justify-content: flex-start !important; }
#kuyva-root .kuyva-message.user { justify-content: flex-end !important; }

#kuyva-root .kuyva-msg-avatar-shell {
  display: block !important;
  width: 32px !important;
  min-width: 32px !important;
  margin-bottom: 2px !important;
}
#kuyva-root .kuyva-msg-avatar {
  width: 32px !important;
  height: 32px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, color-mix(in srgb, var(--kuyva-primary) 28%, #101827 72%), color-mix(in srgb, var(--kuyva-secondary) 24%, #09101f 76%)) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 0 16px color-mix(in srgb, var(--kuyva-primary) 26%, transparent) !important;
}
#kuyva-root .kuyva-msg-avatar img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  padding: 4px !important;
  object-fit: contain !important;
  border-radius: 50% !important;
}
#kuyva-root .kuyva-msg-avatar-fallback {
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
}

#kuyva-root .kuyva-bubble {
  max-width: calc(86% - 40px) !important;
  padding: 12px 14px !important;
  border-radius: 20px !important;
  font-size: 13.8px !important;
  line-height: 1.42 !important;
  white-space: pre-wrap !important;
  overflow-wrap: anywhere !important;
}
#kuyva-root .kuyva-message.bot .kuyva-bubble {
  color: var(--kuyva-bot-text, #fff) !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--kuyva-bot-bubble) 82%, rgba(255,255,255,.08) 18%), color-mix(in srgb, var(--kuyva-bot-bubble) 92%, transparent 8%)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.14) !important;
  border-bottom-left-radius: 8px !important;
}
#kuyva-root .kuyva-message.user .kuyva-bubble {
  max-width: 84% !important;
  color: var(--kuyva-user-text, #fff) !important;
  background: linear-gradient(135deg, var(--kuyva-user-bubble), color-mix(in srgb, var(--kuyva-user-bubble) 72%, #fff 28%)) !important;
  border-bottom-right-radius: 8px !important;
  box-shadow: 0 8px 20px color-mix(in srgb, var(--kuyva-user-bubble) 26%, transparent) !important;
}

#kuyva-root .kuyva-typing { display: inline-flex !important; gap: 4px !important; align-items: center !important; }
#kuyva-root .kuyva-typing i {
  width: 6px !important; height: 6px !important; display: block !important; border-radius: 50% !important;
  background: rgba(255,255,255,.68) !important; animation: kuyva-bounce-v15 1s infinite ease-in-out !important;
}
#kuyva-root .kuyva-typing i:nth-child(2) { animation-delay: .12s !important; }
#kuyva-root .kuyva-typing i:nth-child(3) { animation-delay: .24s !important; }
@keyframes kuyva-bounce-v15 { 0%,80%,100% { transform: scale(.65); opacity:.45; } 40% { transform: scale(1); opacity:1; } }

#kuyva-root .kuyva-suggestions,
#kuyva-root .kuyva-quick-actions {
  flex: 0 0 auto !important;
  padding: 2px 15px 9px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
#kuyva-root .kuyva-suggestions:empty,
#kuyva-root .kuyva-quick-actions:empty { display: none !important; }

#kuyva-root .kuyva-suggestion,
#kuyva-root .kuyva-action,
#kuyva-root .kuyva-smart-action {
  border: 1px solid color-mix(in srgb, var(--kuyva-primary) 26%, rgba(255,255,255,.12)) !important;
  color: var(--kuyva-suggestion-text, #fff) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.035)) !important;
  border-radius: 999px !important;
  padding: 7px 11px !important;
  font-size: 11.5px !important;
  line-height: 1.1 !important;
  font-weight: 850 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: transform .18s ease, border-color .18s ease, background .18s ease !important;
}
#kuyva-root .kuyva-suggestion:hover,
#kuyva-root .kuyva-action:hover,
#kuyva-root .kuyva-smart-action:hover {
  transform: translateY(-1px) !important;
  color: #fff !important;
  border-color: color-mix(in srgb, var(--kuyva-primary) 50%, rgba(255,255,255,.18)) !important;
}

#kuyva-root .kuyva-form {
  flex: 0 0 auto !important;
  padding: 10px 14px 14px !important;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.24)) !important;
}
#kuyva-root .kuyva-input-shell {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 7px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.065)) !important;
  border: 1px solid color-mix(in srgb, var(--kuyva-primary) 22%, rgba(255,255,255,.14)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 12px 28px rgba(0,0,0,.18) !important;
}
#kuyva-root .kuyva-input-shell:focus-within {
  border-color: color-mix(in srgb, var(--kuyva-primary) 68%, #fff 0%) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--kuyva-primary) 12%, transparent), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
#kuyva-root #kuyva-input,
#kuyva-root input#kuyva-input[type="text"] {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: 100% !important;
  min-height: 42px !important;
  height: 42px !important;
  padding: 0 12px !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  color: var(--kuyva-input-text, #fff) !important;
  -webkit-text-fill-color: var(--kuyva-input-text, #fff) !important;
  caret-color: var(--kuyva-send, var(--kuyva-primary)) !important;
  font-size: 14px !important;
  line-height: 42px !important;
  font-family: inherit !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
#kuyva-root #kuyva-input::placeholder {
  color: var(--kuyva-placeholder, #cbd5e1) !important;
  opacity: .75 !important;
  -webkit-text-fill-color: var(--kuyva-placeholder, #cbd5e1) !important;
}
#kuyva-root #kuyva-input:-webkit-autofill,
#kuyva-root #kuyva-input:-webkit-autofill:hover,
#kuyva-root #kuyva-input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--kuyva-input-text, #fff) !important;
  box-shadow: 0 0 0 1000px rgba(255,255,255,.01) inset !important;
  transition: background-color 9999s ease-in-out 0s !important;
}

#kuyva-root .kuyva-send {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  cursor: pointer !important;
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(135deg, var(--kuyva-send, var(--kuyva-primary)), color-mix(in srgb, var(--kuyva-send, var(--kuyva-primary)) 64%, var(--kuyva-secondary) 36%)) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--kuyva-send, var(--kuyva-primary)) 34%, transparent), inset 0 1px 0 rgba(255,255,255,.22) !important;
  transition: transform .18s ease, filter .18s ease !important;
}
#kuyva-root .kuyva-send span { transform: translateX(1px) !important; }
#kuyva-root .kuyva-send:hover { transform: translateY(-1px) scale(1.03) !important; filter: saturate(1.12) !important; }

#kuyva-root .kuyva-privacy {
  display: block !important;
  margin: 8px 2px 0 !important;
  color: rgba(255,255,255,.45) !important;
  font-size: 10px !important;
  line-height: 1.3 !important;
}

#kuyva-root .kuyva-fab {
  width: 72px !important;
  height: 72px !important;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--kuyva-primary) 65%, #fff 15%) !important;
  background: radial-gradient(circle at 30% 22%, rgba(255,255,255,.35), rgba(255,255,255,0) 26%),
              linear-gradient(145deg, var(--kuyva-primary), var(--kuyva-secondary) 58%, #111827) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.45),
              0 0 0 8px color-mix(in srgb, var(--kuyva-primary) 12%, transparent),
              0 0 34px color-mix(in srgb, var(--kuyva-primary) 50%, transparent) !important;
  cursor: pointer !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  position: relative !important;
  isolation: isolate !important;
  transform: translateZ(0) !important;
  transition: transform .35s ease, filter .35s ease, opacity .25s ease !important;
}
#kuyva-root .kuyva-fab:hover { transform: translateY(-5px) scale(1.04) !important; filter: saturate(1.15) !important; }
#kuyva-root.is-open .kuyva-fab { transform: scale(.86) !important; opacity: .82 !important; }
#kuyva-root .kuyva-fab img {
  display: block !important;
  width: 62px !important;
  height: 62px !important;
  padding: 6px !important;
  object-fit: contain !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  position: relative !important;
  z-index: 3 !important;
}
#kuyva-root .kuyva-fab-icon {
  font-size: 31px !important;
  color: white !important;
  position: relative !important;
  z-index: 3 !important;
  text-shadow: 0 0 20px rgba(255,255,255,.65) !important;
}
#kuyva-root .kuyva-fab-ring,
#kuyva-root .kuyva-fab-pulse,
#kuyva-root .kuyva-fab-glow {
  position: absolute !important;
  inset: -6px !important;
  border-radius: inherit !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
#kuyva-root .kuyva-fab-ring {
  background: conic-gradient(from 0deg, var(--kuyva-primary), transparent, var(--kuyva-secondary), transparent, var(--kuyva-primary)) !important;
  opacity: .7 !important;
  animation: kuyva-spin-v15 4.2s linear infinite !important;
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 5px), #000 calc(100% - 4px)) !important;
  mask: radial-gradient(farthest-side, transparent calc(100% - 5px), #000 calc(100% - 4px)) !important;
}
#kuyva-root .kuyva-fab-pulse {
  background: color-mix(in srgb, var(--kuyva-primary) 28%, transparent) !important;
  animation: kuyva-pulse-v15 2.6s ease-in-out infinite !important;
}
@keyframes kuyva-spin-v15 { to { transform: rotate(360deg); } }
@keyframes kuyva-pulse-v15 { 0%,100% { transform: scale(.92); opacity:.45; } 50% { transform: scale(1.25); opacity:.05; } }

#kuyva-root .kuyva-proactive {
  position: absolute !important;
  bottom: 86px !important;
  min-width: 220px !important;
  max-width: 286px !important;
  padding: 12px 14px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: linear-gradient(135deg, rgba(8,12,24,.88), rgba(4,6,14,.82)) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.32), 0 0 24px color-mix(in srgb, var(--kuyva-primary) 24%, transparent) !important;
  display: none !important;
  align-items: center !important;
  gap: 9px !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  transform: translateY(8px) scale(.96) !important;
  opacity: 0 !important;
  transition: opacity .35s ease, transform .35s ease !important;
}
#kuyva-root.kuyva-pos-right .kuyva-proactive { right: 0 !important; }
#kuyva-root.kuyva-pos-left .kuyva-proactive { left: 0 !important; }
#kuyva-root .kuyva-proactive.is-visible { display: flex !important; opacity: 1 !important; transform: translateY(0) scale(1) !important; }
#kuyva-root .kuyva-proactive-dot {
  width: 9px !important; height: 9px !important; min-width: 9px !important; border-radius: 50% !important;
  background: var(--kuyva-accent) !important; box-shadow: 0 0 14px var(--kuyva-accent) !important;
}

#kuyva-root .kuyva-product-list,
#kuyva-root .kuyva-action-list {
  display: grid !important;
  gap: 9px !important;
  margin-top: 11px !important;
}
#kuyva-root .kuyva-product-card {
  display: grid !important;
  grid-template-columns: 54px 1fr !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 9px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
}
#kuyva-root .kuyva-product-card img,
#kuyva-root .kuyva-product-img-placeholder {
  width: 54px !important; height: 54px !important; border-radius: 13px !important; object-fit: cover !important;
  background: rgba(255,255,255,.08) !important; display: grid !important; place-items: center !important;
}
#kuyva-root .kuyva-product-card strong { display: block !important; color: #fff !important; font-size: 12.5px !important; }
#kuyva-root .kuyva-product-card span { display: block !important; color: rgba(255,255,255,.7) !important; font-size: 11px !important; margin-top: 2px !important; }
#kuyva-root .kuyva-product-actions a,
#kuyva-root .kuyva-whatsapp-card,
#kuyva-root .kuyva-smart-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 8px !important;
  text-decoration: none !important;
}
#kuyva-root .kuyva-whatsapp-card {
  width: 100% !important;
  border-radius: 18px !important;
  padding: 11px 13px !important;
  background: linear-gradient(135deg, var(--kuyva-accent), color-mix(in srgb, var(--kuyva-accent) 72%, #fff 28%)) !important;
  color: #061018 !important;
  font-weight: 900 !important;
  font-size: 12px !important;
}

#kuyva-root .kuyva-lead-card {
  margin-top: 11px !important;
  padding: 12px !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.105), rgba(255,255,255,.05)) !important;
  border: 1px solid color-mix(in srgb, var(--kuyva-primary) 26%, rgba(255,255,255,.13)) !important;
}
#kuyva-root .kuyva-lead-card p { margin: 0 0 10px !important; font-size: 12px !important; color: rgba(255,255,255,.84) !important; }
#kuyva-root .kuyva-lead-toggle,
#kuyva-root .kuyva-lead-form button {
  border: 0 !important;
  border-radius: 999px !important;
  padding: 10px 14px !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  color: #061018 !important;
  cursor: pointer !important;
  background: linear-gradient(135deg, var(--kuyva-send, var(--kuyva-primary)), var(--kuyva-secondary)) !important;
}
#kuyva-root .kuyva-lead-form { display: grid !important; gap: 8px !important; margin-top: 10px !important; }
#kuyva-root .kuyva-lead-form[hidden] { display: none !important; }
#kuyva-root .kuyva-lead-form input,
#kuyva-root .kuyva-lead-form textarea {
  width: 100% !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.075) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  padding: 10px 11px !important;
  outline: none !important;
  font-family: inherit !important;
  font-size: 13px !important;
}
#kuyva-root .kuyva-lead-form textarea { min-height: 74px !important; resize: vertical !important; line-height: 1.35 !important; }
#kuyva-root .kuyva-lead-form input::placeholder,
#kuyva-root .kuyva-lead-form textarea::placeholder { color: rgba(255,255,255,.5) !important; -webkit-text-fill-color: rgba(255,255,255,.5) !important; }
#kuyva-root .kuyva-lead-status { min-height: 16px !important; color: rgba(255,255,255,.75) !important; font-size: 11px !important; }
#kuyva-root .kuyva-lead-ok {
  padding: 10px !important;
  border-radius: 14px !important;
  background: color-mix(in srgb, var(--kuyva-accent) 18%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--kuyva-accent) 35%, transparent) !important;
  color: #fff !important;
  font-weight: 750 !important;
  font-size: 12px !important;
}

@media (max-width: 520px) {
  #kuyva-root { bottom: 14px !important; }
  #kuyva-root.kuyva-pos-right { right: 12px !important; }
  #kuyva-root.kuyva-pos-left { left: 12px !important; }
  #kuyva-root .kuyva-panel {
    position: fixed !important;
    left: 9px !important;
    right: 9px !important;
    width: auto !important;
    height: min(575px, calc(100vh - 112px)) !important;
    bottom: 92px !important;
    border-radius: 26px !important;
  }
  #kuyva-root .kuyva-live { display: none !important; }
  #kuyva-root .kuyva-close,
  #kuyva-root .kuyva-reset { width: 34px !important; height: 34px !important; min-width: 34px !important; border-radius: 14px !important; }
  #kuyva-root .kuyva-brand strong { max-width: 150px !important; }
  #kuyva-root .kuyva-brand span { max-width: 150px !important; }
  #kuyva-root .kuyva-bubble { max-width: calc(90% - 36px) !important; }
  #kuyva-root .kuyva-fab { width: 66px !important; height: 66px !important; }
  #kuyva-root .kuyva-fab img { width: 56px !important; height: 56px !important; }
  #kuyva-root .kuyva-proactive { max-width: calc(100vw - 28px) !important; bottom: 78px !important; }
}


/* v1.5.1 — hard fix against theme CSS overriding chat colors */
#kuyva-root .kuyva-message.user .kuyva-bubble,
#kuyva-root .kuyva-message.user .kuyva-bubble *,
#kuyva-root .kuyva-message.user .kuyva-bubble span,
#kuyva-root .kuyva-message.user .kuyva-bubble strong,
#kuyva-root .kuyva-message.user .kuyva-bubble p {
  color: var(--kuyva-user-text, #ffffff) !important;
  -webkit-text-fill-color: var(--kuyva-user-text, #ffffff) !important;
}
#kuyva-root .kuyva-message.bot .kuyva-bubble,
#kuyva-root .kuyva-message.bot .kuyva-bubble *,
#kuyva-root .kuyva-message.bot .kuyva-bubble span,
#kuyva-root .kuyva-message.bot .kuyva-bubble strong,
#kuyva-root .kuyva-message.bot .kuyva-bubble p {
  color: var(--kuyva-bot-text, #ffffff) !important;
  -webkit-text-fill-color: var(--kuyva-bot-text, #ffffff) !important;
}
#kuyva-root input#kuyva-input,
#kuyva-root #kuyva-input,
#kuyva-root .kuyva-form input#kuyva-input,
html body #kuyva-root input#kuyva-input[type="text"] {
  color: var(--kuyva-input-text, #ffffff) !important;
  -webkit-text-fill-color: var(--kuyva-input-text, #ffffff) !important;
  background: transparent !important;
}
#kuyva-root .kuyva-message.bot .kuyva-msg-avatar-shell {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
#kuyva-root .kuyva-message.bot .kuyva-msg-avatar,
#kuyva-root .kuyva-message.bot .kuyva-msg-avatar img {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Kuy Asistente Web AI v2.3 — premium responsive composer */
#kuyva-root {
  font-family: var(--kuyva-font, Inter, ui-sans-serif, system-ui, sans-serif) !important;
}

#kuyva-root .kuyva-panel {
  height: min(var(--kuyva-panel-height, 650px), calc(100dvh - 124px)) !important;
  border-radius: var(--kuyva-panel-radius, 30px) !important;
  backdrop-filter: blur(var(--kuyva-glass-blur, 24px)) saturate(1.25) !important;
  -webkit-backdrop-filter: blur(var(--kuyva-glass-blur, 24px)) saturate(1.25) !important;
}

#kuyva-root.kuyva-style-minimal .kuyva-panel {
  background: color-mix(in srgb, var(--kuyva-bg) 94%, #ffffff 6%) !important;
  box-shadow: 0 28px 70px rgba(0,0,0,.46), 0 0 0 1px rgba(255,255,255,.04) inset !important;
}
#kuyva-root.kuyva-style-minimal .kuyva-panel-bg { opacity: .22 !important; animation: none !important; }
#kuyva-root.kuyva-style-minimal .kuyva-lux-line { opacity: .38 !important; }
#kuyva-root.kuyva-style-solid .kuyva-panel {
  background: var(--kuyva-bg) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: 0 28px 72px rgba(0,0,0,.54), 0 0 0 1px rgba(255,255,255,.05) inset !important;
}
#kuyva-root.kuyva-style-solid .kuyva-panel-bg { display: none !important; }

#kuyva-root .kuyva-bubble {
  max-width: min(88%, 640px) !important;
  min-width: 0 !important;
  border-radius: var(--kuyva-bubble-radius, 20px) !important;
  font-size: var(--kuyva-message-size, 14px) !important;
  line-height: 1.5 !important;
  white-space: pre-wrap !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  hyphens: auto !important;
}
#kuyva-root .kuyva-message.user .kuyva-bubble { max-width: 84% !important; }
#kuyva-root .kuyva-message.bot .kuyva-bubble { border-bottom-left-radius: max(6px, calc(var(--kuyva-bubble-radius, 20px) * .42)) !important; }
#kuyva-root .kuyva-message.user .kuyva-bubble { border-bottom-right-radius: max(6px, calc(var(--kuyva-bubble-radius, 20px) * .42)) !important; }

#kuyva-root .kuyva-input-shell {
  align-items: flex-end !important;
  min-height: 60px !important;
  padding: 7px !important;
  border-radius: min(26px, var(--kuyva-panel-radius, 30px)) !important;
}
#kuyva-root textarea#kuyva-input,
#kuyva-root #kuyva-input,
html body #kuyva-root textarea#kuyva-input {
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: 100% !important;
  min-height: 44px !important;
  height: 44px;
  max-height: var(--kuyva-input-max, 124px) !important;
  margin: 0 !important;
  padding: 11px 12px 10px !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  color: var(--kuyva-input-text, #fff) !important;
  -webkit-text-fill-color: var(--kuyva-input-text, #fff) !important;
  caret-color: var(--kuyva-send, var(--kuyva-primary)) !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  white-space: pre-wrap !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  resize: none !important;
  scrollbar-width: thin !important;
  scrollbar-color: color-mix(in srgb, var(--kuyva-primary) 55%, transparent) transparent !important;
}
#kuyva-root textarea#kuyva-input::-webkit-scrollbar { width: 5px !important; }
#kuyva-root textarea#kuyva-input::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--kuyva-primary) 55%, transparent) !important; border-radius: 99px !important; }
#kuyva-root .kuyva-send { align-self: flex-end !important; flex: 0 0 46px !important; }

#kuyva-root .kuyva-fab {
  width: var(--kuyva-fab-size, 72px) !important;
  height: var(--kuyva-fab-size, 72px) !important;
}
#kuyva-root .kuyva-fab img {
  width: calc(var(--kuyva-fab-size, 72px) - 10px) !important;
  height: calc(var(--kuyva-fab-size, 72px) - 10px) !important;
}

@media (max-width: 520px) {
  #kuyva-root { bottom: max(12px, env(safe-area-inset-bottom)) !important; }
  #kuyva-root .kuyva-panel {
    top: auto !important;
    bottom: calc(var(--kuyva-fab-size, 66px) + 20px) !important;
    height: min(var(--kuyva-panel-height, 650px), calc(100dvh - var(--kuyva-fab-size, 66px) - 42px - env(safe-area-inset-top))) !important;
    max-height: none !important;
    border-radius: min(var(--kuyva-panel-radius, 30px), 26px) !important;
  }
  #kuyva-root .kuyva-header { min-height: 70px !important; padding: 11px 12px !important; }
  #kuyva-root .kuyva-avatar-wrap { width: 44px !important; height: 44px !important; min-width: 44px !important; }
  #kuyva-root .kuyva-messages { padding: 14px 12px 8px !important; }
  #kuyva-root .kuyva-form { padding: 8px 10px calc(10px + env(safe-area-inset-bottom)) !important; }
  #kuyva-root .kuyva-bubble { max-width: 88% !important; font-size: min(var(--kuyva-message-size, 14px), 15px) !important; }
  #kuyva-root .kuyva-message.user .kuyva-bubble { max-width: 86% !important; }
  #kuyva-root .kuyva-fab { width: min(var(--kuyva-fab-size, 72px), 72px) !important; height: min(var(--kuyva-fab-size, 72px), 72px) !important; }
  #kuyva-root .kuyva-fab img { width: calc(min(var(--kuyva-fab-size, 72px), 72px) - 10px) !important; height: calc(min(var(--kuyva-fab-size, 72px), 72px) - 10px) !important; }

  #kuyva-root.kuyva-mobile-fullscreen .kuyva-panel {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    border: 0 !important;
    border-radius: 0 !important;
    transform-origin: center !important;
  }
  #kuyva-root.kuyva-mobile-fullscreen .kuyva-header { padding-top: calc(11px + env(safe-area-inset-top)) !important; }
  #kuyva-root.kuyva-mobile-fullscreen.is-open .kuyva-fab { opacity: 0 !important; pointer-events: none !important; }
}

@media (max-height: 560px) and (orientation: landscape) {
  #kuyva-root .kuyva-panel { bottom: 8px !important; height: calc(100dvh - 16px) !important; }
  #kuyva-root.is-open .kuyva-fab { opacity: 0 !important; pointer-events: none !important; }
  #kuyva-root .kuyva-header { min-height: 62px !important; }
}

@media (prefers-reduced-motion: reduce) {
  #kuyva-root *, #kuyva-root *:before, #kuyva-root *:after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}

/* TRU Global Experience — identidad premium, sobria y deportiva */
#kuyva-root.kuyva-preset-tru .kuyva-panel {
  border-color: rgba(137,255,105,.2) !important;
  background:
    radial-gradient(circle at 12% -6%, rgba(118,240,90,.2), transparent 34%),
    radial-gradient(circle at 108% 18%, rgba(15,138,85,.18), transparent 36%),
    linear-gradient(180deg, rgba(8,16,11,var(--kuyva-opacity,.92)), rgba(2,7,4,var(--kuyva-opacity,.92))) !important;
  box-shadow:
    0 34px 92px rgba(0,0,0,.68),
    0 0 0 1px rgba(255,255,255,.035) inset,
    0 0 52px rgba(83,224,90,.16) !important;
}
#kuyva-root.kuyva-preset-tru .kuyva-panel-bg {
  background-image:
    radial-gradient(circle at 20% 2%, rgba(118,240,90,.2), transparent 29%),
    linear-gradient(150deg, transparent 0 58%, rgba(118,240,90,.055) 58.2% 59%, transparent 59.2%),
    linear-gradient(30deg, transparent 0 68%, rgba(255,255,255,.034) 68.2% 69%, transparent 69.2%),
    linear-gradient(180deg, transparent 64%, rgba(31,111,57,.12)) !important;
  background-size: 120% 120%, 160px 120px, 210px 150px, 100% 100% !important;
  animation: kuyva-tru-drift 20s ease-in-out infinite alternate !important;
}
@keyframes kuyva-tru-drift {
  from { background-position: 0 0, 0 100%, 20px 100%, 0 0; }
  to { background-position: 12% 5%, 60px 94%, -35px 96%, 0 0; }
}
#kuyva-root.kuyva-preset-tru .kuyva-header {
  background: linear-gradient(180deg, rgba(118,240,90,.085), rgba(255,255,255,.018)) !important;
  border-bottom-color: rgba(137,255,105,.13) !important;
}
#kuyva-root.kuyva-preset-tru .kuyva-avatar-wrap,
#kuyva-root.kuyva-preset-tru .kuyva-msg-avatar {
  background: linear-gradient(145deg, #132319, #07100a) !important;
  border-color: rgba(137,255,105,.3) !important;
  box-shadow: 0 0 0 3px rgba(118,240,90,.08), 0 0 22px rgba(118,240,90,.18) !important;
}
#kuyva-root.kuyva-preset-tru .kuyva-avatar-img,
#kuyva-root.kuyva-preset-tru .kuyva-msg-avatar img,
#kuyva-root.kuyva-preset-tru .kuyva-fab img {
  object-fit: cover !important;
  padding: 0 !important;
}
#kuyva-root.kuyva-preset-tru .kuyva-fab {
  background:
    radial-gradient(circle at 32% 22%, rgba(255,255,255,.4), transparent 23%),
    linear-gradient(145deg, #8aff6f, #42bd58 52%, #075e39) !important;
  border-color: rgba(195,255,180,.62) !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.52), 0 0 0 8px rgba(118,240,90,.1), 0 0 36px rgba(118,240,90,.35) !important;
}
#kuyva-root.kuyva-preset-tru .kuyva-fab-icon {
  font-size: 15px !important;
  font-weight: 950 !important;
  letter-spacing: .08em !important;
  color: #041007 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.25) !important;
}
#kuyva-root.kuyva-preset-tru .kuyva-suggestion,
#kuyva-root.kuyva-preset-tru .kuyva-action,
#kuyva-root.kuyva-preset-tru .kuyva-smart-action {
  border-color: rgba(118,240,90,.22) !important;
  background: linear-gradient(180deg, rgba(118,240,90,.105), rgba(255,255,255,.025)) !important;
}
#kuyva-root.kuyva-preset-tru .kuyva-whatsapp-card {
  background: linear-gradient(135deg, #73ed59, #25d366 58%, #17a94c) !important;
  color: #031006 !important;
  box-shadow: 0 10px 26px rgba(37,211,102,.18) !important;
}
#kuyva-root.kuyva-preset-tru .kuyva-input-shell {
  background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.035)) !important;
  border-color: rgba(118,240,90,.16) !important;
}
