/* Widget del asistente IA de TEKFENIX */
.tf-ai-fab{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;border:0;background:#1D9E75;color:#fff;cursor:pointer;box-shadow:0 8px 24px rgba(4,44,83,.3);z-index:9998;display:flex;align-items:center;justify-content:center}
.tf-ai-fab svg{width:26px;height:26px}
.tf-ai-panel{position:fixed;right:22px;bottom:92px;width:370px;max-width:calc(100vw - 44px);height:540px;max-height:calc(100vh - 140px);background:var(--card,#fff);border:1px solid var(--line,#e2e8f0);border-radius:16px;box-shadow:0 20px 50px rgba(4,44,83,.28);z-index:9999;display:none;flex-direction:column;overflow:hidden}
.tf-ai-panel.open{display:flex}
.tf-ai-head{background:#042C53;color:#fff;padding:14px 16px;display:flex;align-items:center;gap:10px}
.tf-ai-head b{font-size:15px}
.tf-ai-head .dot{width:9px;height:9px;border-radius:50%;background:#1D9E75}
.tf-ai-head .tf-ai-x{margin-left:auto;background:none;border:0;color:#cdd8e6;cursor:pointer;font-size:22px;line-height:1}
.tf-ai-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--bg,#f4f6f8)}
.tf-ai-row{display:flex;gap:8px;align-items:flex-end;max-width:90%}
.tf-ai-row.a{align-self:flex-start}
.tf-ai-row.u{align-self:flex-end;flex-direction:row-reverse}
.tf-ai-av{width:30px;height:30px;border-radius:50%;flex:0 0 30px;display:flex;align-items:center;justify-content:center}
.tf-ai-av svg{width:17px;height:17px}
.tf-ai-row.a .tf-ai-av{background:#042C53;color:#fff}
.tf-ai-row.u .tf-ai-av{background:#1D9E75;color:#fff}
.tf-ai-msg{padding:10px 13px;border-radius:12px;font-size:14px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.tf-ai-msg.u{background:#042C53;color:#fff;border-bottom-right-radius:4px}
.tf-ai-msg.a{background:var(--card,#fff);color:var(--text,#1f2d3d);border:1px solid var(--line,#e2e8f0);border-bottom-left-radius:4px}
.tf-ai-cta{text-align:center;padding:2px 0 6px}
.tf-ai-cta button{background:none;border:0;color:#1D9E75;cursor:pointer;text-decoration:underline;font-size:12.5px}
.tf-ai-foot{border-top:1px solid var(--line,#e2e8f0);padding:10px;display:flex;gap:8px;background:var(--card,#fff);align-items:flex-end}
.tf-ai-foot textarea{flex:1;padding:10px 12px;border:1px solid var(--line,#cbd5e1);border-radius:10px;font-size:14px;background:var(--bg,#fff);color:var(--text,#1f2d3d);resize:none;line-height:1.4;max-height:120px;overflow-y:auto;font-family:inherit}
.tf-ai-foot button{background:#1D9E75;color:#fff;border:0;border-radius:10px;padding:0 16px;height:42px;cursor:pointer;font-weight:bold;flex:0 0 auto}
.tf-ai-foot button:disabled{opacity:.5;cursor:default}
.tf-ai-lead{padding:14px 16px;border-top:1px solid var(--line,#e2e8f0);background:var(--card,#fff);display:none;flex-direction:column;gap:8px}
.tf-ai-lead.open{display:flex}
.tf-ai-lead strong{color:var(--text,#042C53);font-size:14px}
.tf-ai-lead input{padding:9px 11px;border:1px solid var(--line,#cbd5e1);border-radius:8px;font-size:14px;background:var(--bg,#fff);color:var(--text,#1f2d3d)}
.tf-ai-lead .row{display:flex;gap:8px}
.tf-ai-lead .row button{flex:1;border:0;border-radius:8px;padding:9px;cursor:pointer;font-weight:bold}
.tf-ai-lead .ok{background:#1D9E75;color:#fff}
.tf-ai-lead .no{background:var(--line,#e2e8f0);color:var(--text,#042C53)}
/* Indicador "escribiendo…" animado */
.tf-ai-typing{display:inline-flex;gap:5px;align-items:center;padding:2px 0}
.tf-ai-typing i{width:7px;height:7px;border-radius:50%;background:var(--muted,#9aa6b2);display:inline-block;animation:tf-typing 1.2s infinite ease-in-out}
.tf-ai-typing i:nth-child(2){animation-delay:.18s}
.tf-ai-typing i:nth-child(3){animation-delay:.36s}
@keyframes tf-typing{0%,70%,100%{transform:translateY(0);opacity:.35}35%{transform:translateY(-5px);opacity:1}}
