/* ── Agente de chat OdontoMarketing IA ── */
.omx-launcher{
  position:fixed;right:22px;bottom:22px;z-index:9000;
  display:flex;align-items:center;gap:10px;
  background:var(--tinta);color:var(--crema);border:none;border-radius:999px;
  padding:12px 18px 12px 12px;cursor:pointer;
  box-shadow:0 18px 40px -14px rgba(16,28,24,.55);
  font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  transition:transform .2s ease, background .2s;
}
.omx-launcher:hover{transform:translateY(-2px);background:var(--menta)}
.omx-launcher .ico{
  width:34px;height:34px;border-radius:50%;background:var(--menta-claro);
  display:grid;place-items:center;color:var(--tinta);flex:none;
}
.omx-launcher .ico svg{width:18px;height:18px}
.omx-launcher .dot{
  width:7px;height:7px;border-radius:50%;background:#57E39B;display:inline-block;margin-right:6px;
  box-shadow:0 0 0 3px rgba(87,227,155,.22);
}
.omx-panel{
  position:fixed;right:22px;bottom:88px;z-index:9001;
  width:min(432px,calc(100vw - 32px));height:min(660px,calc(100dvh - 120px));
  background:var(--crema);border:1px solid var(--linea);border-radius:16px;
  box-shadow:0 40px 90px -30px rgba(16,28,24,.55);
  display:flex;flex-direction:column;overflow:hidden;
  opacity:0;transform:translateY(14px) scale(.98);pointer-events:none;
  transition:opacity .22s ease, transform .22s ease;
}
.omx-panel.open{opacity:1;transform:none;pointer-events:auto}
.omx-head{
  background:var(--tinta);color:var(--crema);padding:14px 16px;
  display:flex;align-items:center;gap:12px;flex:none;
}
.omx-head .av{
  width:40px;height:40px;border-radius:50%;background:var(--menta);color:#fff;
  display:grid;place-items:center;font-family:'Anton',sans-serif;font-size:16px;letter-spacing:.02em;flex:none;
}
.omx-head .who{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.omx-head .who b{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.12em;font-weight:700}
.omx-head .who span{font-size:11px;color:rgba(247,242,232,.65)}
.omx-head .who span i{width:6px;height:6px;background:#57E39B;border-radius:50%;display:inline-block;margin-right:5px}
.omx-new{
  margin-left:auto;background:transparent;border:1px solid rgba(247,242,232,.25);color:var(--crema);
  width:30px;height:30px;border-radius:50%;cursor:pointer;display:grid;place-items:center;font-size:16px;line-height:1;
}
.omx-new:hover{background:rgba(247,242,232,.12)}
.omx-close{
  margin-left:6px;background:transparent;border:1px solid rgba(247,242,232,.25);color:var(--crema);
  width:30px;height:30px;border-radius:50%;cursor:pointer;display:grid;place-items:center;font-size:15px;
}
.omx-close:hover{background:rgba(247,242,232,.12)}

.omx-msgs{
  flex:1;overflow-y:auto;padding:18px 16px 10px;display:flex;flex-direction:column;gap:12px;
  background:linear-gradient(180deg,#FBF7EF,var(--crema));
  scrollbar-width:thin;
}
.omx-msg{max-width:92%;font-size:13.5px;line-height:1.55;animation:omxIn .25s ease;overflow-wrap:anywhere}
@keyframes omxIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.omx-msg.bot{align-self:flex-start;background:var(--papel);border:1px solid var(--linea);border-radius:12px 12px 12px 4px;padding:12px 14px;color:var(--tinta)}
.omx-msg.user{align-self:flex-end;background:var(--tinta);color:var(--crema);border-radius:12px 12px 4px 12px;padding:11px 14px}
.omx-msg.bot p{margin:0 0 8px}
.omx-msg.bot p:last-child{margin-bottom:0}
.omx-msg.bot h4{font-family:'Archivo Black',sans-serif;font-size:12.5px;text-transform:uppercase;letter-spacing:.01em;margin:12px 0 6px}
.omx-msg.bot h4:first-child{margin-top:0}
.omx-msg.bot ul,.omx-msg.bot ol{margin:4px 0 8px;padding-left:18px}
.omx-msg.bot li{margin:3px 0}
.omx-msg.bot strong{font-weight:600}
.omx-msg.bot a{color:var(--menta);text-decoration:underline}
.omx-msg .tw{overflow-x:auto;margin:8px 0;-webkit-overflow-scrolling:touch;border-radius:4px}
.omx-msg.bot table{border-collapse:collapse;width:100%;margin:0;font-size:11.5px;table-layout:fixed}
.omx-msg.bot th,.omx-msg.bot td{border:1px solid var(--linea);padding:5px 6px;text-align:left;word-break:break-word;overflow-wrap:anywhere;vertical-align:top}
.omx-msg.bot th{background:var(--crema-2);font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.05em;text-transform:uppercase}
.omx-msg .codebox{position:relative;margin:8px 0}
.omx-msg .codebox pre{
  background:var(--tinta);color:#E8EFE9;border-radius:8px;padding:12px;padding-right:74px;
  font-family:'Space Mono',monospace;font-size:11px;line-height:1.6;white-space:pre-wrap;overflow-x:auto;margin:0;
}
.omx-msg .codebox button{
  position:absolute;top:7px;right:7px;background:rgba(247,242,232,.14);color:var(--crema);
  border:1px solid rgba(247,242,232,.2);border-radius:4px;padding:4px 8px;cursor:pointer;
  font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;
}
.omx-msg .codebox button:hover{background:var(--menta);border-color:var(--menta)}

.omx-chips{display:flex;flex-wrap:wrap;gap:7px;padding:0 16px 12px;background:var(--crema)}
.omx-chips button{
  background:var(--papel);border:1px solid var(--linea);border-radius:999px;padding:7px 12px;cursor:pointer;
  font-size:11px;color:var(--tinta-2);transition:.18s;text-align:left;
}
.omx-chips button:hover{border-color:var(--menta);color:var(--menta);background:#fff}

.omx-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 14px;background:var(--papel);border:1px solid var(--linea);border-radius:12px 12px 12px 4px}
.omx-typing i{width:6px;height:6px;border-radius:50%;background:var(--menta);opacity:.4;animation:omxDot 1.2s infinite}
.omx-typing i:nth-child(2){animation-delay:.16s}
.omx-typing i:nth-child(3){animation-delay:.32s}
@keyframes omxDot{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

.omx-foot{flex:none;border-top:1px solid var(--linea);background:var(--papel);padding:10px 12px 8px}
.omx-inputrow{display:flex;align-items:flex-end;gap:8px}
.omx-inputrow textarea{
  flex:1;border:1px solid var(--linea);border-radius:10px;background:var(--crema);
  padding:10px 12px;font-family:'Inter',sans-serif;font-size:13.5px;resize:none;
  min-height:42px;max-height:120px;line-height:1.45;color:var(--tinta);outline:none;
}
.omx-inputrow textarea:focus{border-color:var(--menta);box-shadow:0 0 0 3px rgba(31,107,90,.10)}
.omx-send{
  width:42px;height:42px;flex:none;border-radius:10px;border:none;background:var(--menta);color:#fff;
  cursor:pointer;display:grid;place-items:center;transition:.18s;
}
.omx-send:hover{background:var(--tinta)}
.omx-send:disabled{opacity:.45;cursor:not-allowed}
.omx-send svg{width:18px;height:18px}
.omx-note{font-size:9.5px;color:var(--tinta-2);opacity:.75;text-align:center;margin-top:6px;font-family:'Space Mono',monospace;letter-spacing:.04em}

@media (max-width:620px){
  .omx-launcher{right:14px;bottom:14px;padding:10px 14px 10px 10px;font-size:9px}
  .omx-panel{right:0;bottom:0;width:100vw;height:100dvh;border-radius:0;border:none}
  .omx-panel.open ~ .omx-launcher{display:none}
}
@media (prefers-reduced-motion:reduce){
  .omx-msg,.omx-panel,.omx-launcher{animation:none;transition:none}
}
