.btn[data-asistente],.btn-ia{position:relative;overflow:hidden;isolation:isolate;background:#e8f9fc;color:#102a34;border:1px solid #83dbe8;box-shadow:0 0 0 2px #e8f9fc;transition:box-shadow .2s,background .2s}
.btn[data-asistente]:before,.btn-ia:before{content:"";position:absolute;inset:-80% auto -80% -60%;width:24%;background:#fff;opacity:0;transform:rotate(24deg);pointer-events:none;z-index:-1;animation:brillo-lienzo 5s ease-in-out infinite}
.btn[data-asistente] .fa,.btn-ia .fa{color:#147f96;animation:destello-lienzo 5s ease-in-out infinite}
.btn[data-asistente]:hover,.btn-ia:hover{background:#d9f5f9;color:#102a34;box-shadow:0 0 0 3px #beeef5}
.btn[data-asistente]:focus-visible,.btn-ia:focus-visible{outline:3px solid #147f96;outline-offset:3px}
@keyframes brillo-lienzo{0%,55%{left:-60%;opacity:0}60%{opacity:.8}82%{left:140%;opacity:0}100%{left:140%;opacity:0}}
@keyframes destello-lienzo{0%,55%,100%{transform:scale(1)}65%{transform:scale(1.2);color:#ac543c}80%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.btn[data-asistente]:before,.btn-ia:before{animation:none}.btn[data-asistente] .fa,.btn-ia .fa{animation:none}}
.modal-chat-ia .modal-content{border:1px solid #dfe6e7;border-radius:18px;background:#fff;color:#102a34;overflow:hidden}
.modal-chat-ia .modal-header{gap:12px;padding:18px 22px;border-bottom:1px solid #dfe6e7}
.modal-chat-ia .modal-title{font-size:18px;line-height:1.3;font-weight:800;margin:0}
.ia-chat-icono{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;border-radius:14px;background:#e8f9fc;color:#127d90}
.ia-chat-marca{font-size:10px;font-weight:700;letter-spacing:1.5px;color:#60717a;margin:0 0 3px}
.ia-chat-cuerpo{display:flex;flex-direction:column;padding:0!important;min-height:0;height:min(690px,calc(100dvh - 140px));overflow:hidden!important}
.ia-chat-nota{font-size:12px;color:#60717a;background:#f7f5f0;padding:12px 22px;margin:0}
.ia-chat-mensajes{flex:1;min-height:150px;overflow-y:auto;overscroll-behavior:contain;padding:20px 22px;background:#fafbf9;scrollbar-width:thin}
.ia-mensaje{width:fit-content;max-width:88%;padding:13px 16px;border:1px solid #dfe6e7;background:#fff;border-radius:16px 16px 16px 4px;margin:0 0 16px;color:#102a34}
.ia-mensaje-usuario{margin-left:auto;background:#e8f9fc;border-color:#c3edf3;border-radius:16px 16px 4px 16px}
.ia-mensaje-autor{display:block;font-size:11px;font-weight:800;margin-bottom:6px;color:#536970}
.ia-mensaje-texto{font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.ia-mensaje-esperando .ia-mensaje-texto:after{content:'…';display:inline-block;animation:espera-chat 1.2s ease-in-out infinite}
.ia-chat-estado{font-size:12px;color:#52646d;padding:8px 22px;border-top:1px solid #dfe6e7;background:#fff}
.ia-chat-resultado{padding:10px 22px;border-top:1px solid #dfe6e7;background:#fff}
.ia-chat-compositor{padding:14px 22px 12px;background:#fff;border-top:1px solid #dfe6e7;margin:0}
.ia-chat-compositor .form-label{font-size:12px;font-weight:700;margin-bottom:6px}
.ia-chat-escritura{padding:8px;border:1px solid #c2d2d7;border-radius:14px;background:#fff}
.ia-chat-escritura:focus-within{border-color:#147f96;box-shadow:0 0 0 2px #e8f9fc}
.ia-chat-escritura .form-control{border:0;box-shadow:none;background:transparent;resize:vertical;min-height:58px;max-height:150px;font-size:14px;padding:5px 7px}
.ia-chat-enviar{width:42px;height:42px;min-width:42px;border-radius:12px;padding:8px!important;flex-shrink:0}
.ia-chat-nueva{width:40px;height:40px;padding:8px!important}
.ia-chat-compositor small,.ia-chat-compositor a,.ia-chat-privacidad{font-size:11px;color:#60717a}
.ia-chat-compositor a{font-weight:700;color:#136b7c}
.ia-chat-privacidad{margin:8px 0 0}
.ia-campania{padding:0!important;background:#fff;border:1px solid #dfe6e7;border-radius:16px;overflow:hidden}
.ia-campania .ia-chat-mensajes{min-height:140px;max-height:380px}
.ia-campania-brief{padding:16px 20px}
.ia-campania-brief summary{font-size:14px;font-weight:700;cursor:pointer;color:#102a34}
.ia-campania-brief summary small{display:block;font-weight:400;color:#60717a;margin-top:3px}
.ia-campania-brief .form-control{font-size:13px}
.ia-campania-brief .form-text{font-size:11px}
.ia-campania [data-estado-campania]{margin:0}
.ia-campania .ia-chat-compositor{padding:16px 20px}
.ia-campania .ia-chat-mensajes:empty{display:none}
.ia-chat-cuerpo :focus-visible,.ia-campania :focus-visible{outline:2px solid #147f96;outline-offset:2px}
@keyframes espera-chat{0%,100%{opacity:.35}50%{opacity:1}}
@media(max-width:575px){.modal-chat-ia .modal-dialog{margin:8px}.modal-chat-ia .modal-header{padding:14px;gap:8px}.modal-chat-ia .modal-title{font-size:16px}.ia-chat-cuerpo{height:calc(100dvh - 100px)}.ia-chat-mensajes,.ia-chat-compositor{padding:14px}.ia-chat-nota,.ia-chat-estado,.ia-chat-resultado{padding:10px 14px}.ia-mensaje{max-width:95%;padding:10px 12px}.ia-chat-compositor small{display:none}.ia-campania-brief{padding:14px}.ia-campania .ia-chat-mensajes{max-height:320px}}
@media(prefers-reduced-motion:reduce){.ia-mensaje-esperando .ia-mensaje-texto:after{animation:none}}
