/* Asesor comercial iMARZ: independiente del catalogo y sus estilos existentes. */
.ai-help-section{position:relative;overflow:hidden;padding:92px 0 88px;background:linear-gradient(121deg,#08284b 0%,#0e4772 58%,#075e77 100%);color:#fff}
.ai-help-section::before{content:"";position:absolute;inset:-140px -80px auto auto;width:530px;height:530px;border:1px solid rgba(91,233,227,.22);border-radius:50%;box-shadow:0 0 0 65px rgba(99,214,252,.055),0 0 0 142px rgba(104,226,255,.03);pointer-events:none}
.ai-help-section::after{content:"";position:absolute;inset:0;opacity:.26;background-image:radial-gradient(#56bfff 1px,transparent 1px);background-size:30px 30px;mask-image:linear-gradient(to right,transparent,#000);pointer-events:none}
.ai-help-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,410px);gap:50px;align-items:center}
.ai-help-kicker{display:inline-flex;gap:9px;align-items:center;padding:8px 13px;border:1px solid rgba(142,232,248,.27);border-radius:99px;background:rgba(255,255,255,.075);color:#9dece7;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ai-help-kicker span{width:7px;height:7px;border-radius:50%;background:#6dfadd;box-shadow:0 0 0 5px rgba(109,250,221,.10)}
.ai-help-copy h2{max-width:690px;margin:21px 0 18px;font:800 clamp(31px,3.5vw,51px)/1.14 Manrope,Inter,system-ui,sans-serif;letter-spacing:-.043em}
.ai-help-copy h2 em{font-style:normal;color:#79e5e4}
.ai-help-copy>p{max-width:620px;font-size:14px;line-height:1.85;color:#c5e1f0}
.ai-help-points{display:flex;flex-wrap:wrap;gap:15px;margin:26px 0 29px}
.ai-help-points span{display:inline-flex;align-items:center;gap:8px;color:#e6fcff;font-size:11px;font-weight:700}
.ai-help-points span::before{content:'✓';display:grid;place-items:center;width:22px;height:22px;border:1px solid #66d8d9;border-radius:8px;color:#71eee4;font-size:11px}
.ai-help-button{display:inline-flex;align-items:center;gap:12px;border:0;border-radius:13px;background:linear-gradient(115deg,#5cebd0,#59bff3);color:#072e4d;padding:16px 22px;font:850 12px Inter,system-ui,sans-serif;cursor:pointer;box-shadow:0 16px 30px rgba(1,19,43,.21);transition:transform .2s ease,box-shadow .2s ease}
.ai-help-button:hover{transform:translateY(-3px);box-shadow:0 20px 34px rgba(1,19,43,.30)}
.ai-help-visual{border:1px solid rgba(140,216,246,.26);border-radius:24px;background:rgba(2,19,46,.52);box-shadow:0 30px 70px rgba(1,18,42,.26);padding:23px;backdrop-filter:blur(8px);transform:rotate(1deg)}
.ai-visual-header{display:flex;gap:10px;align-items:center;border-bottom:1px solid rgba(166,216,239,.16);padding-bottom:15px;color:#a7f6e8;font-size:11px;font-weight:800;letter-spacing:.06em}
.ai-visual-header b{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:linear-gradient(140deg,#20ace8,#0ac3a7);font-size:13px;color:#fff}
.ai-visual-message{border-radius:14px;margin-top:16px;padding:16px 18px;font-size:12px;line-height:1.65;color:#e5f4ff;background:rgba(255,255,255,.085)}
.ai-visual-response{background:linear-gradient(130deg,rgba(55,173,226,.21),rgba(17,177,152,.17));border:1px solid rgba(104,233,231,.17)}
.ai-visual-tags{margin-top:18px;display:flex;flex-wrap:wrap;gap:9px}
.ai-visual-tags span{border:1px solid rgba(130,210,234,.25);color:#9deee8;border-radius:50px;padding:7px 10px;font-size:10px}
.ai-floating{position:fixed;z-index:70;right:24px;bottom:107px;display:flex;align-items:center;gap:9px;padding:13px 16px;border:1px solid rgba(135,230,236,.5);border-radius:30px;background:linear-gradient(120deg,#0a4271,#127ca2);color:#fff;box-shadow:0 15px 34px rgba(4,39,74,.28);font:800 12px Inter,system-ui,sans-serif;cursor:pointer;transition:transform .2s ease}
.ai-floating:hover{transform:translateY(-3px)}
.ai-float-icon{display:grid;place-items:center;background:#61e4ce;color:#04385a;border-radius:50%;width:27px;height:27px;font-size:18px}
.ai-modal-open{overflow:hidden}
.ai-overlay[hidden],.ai-draft[hidden],.ai-recommendations[hidden],.ai-error[hidden],.ai-loading[hidden]{display:none!important}
.ai-overlay{position:fixed;z-index:150;inset:0;display:flex;justify-content:center;align-items:center;padding:18px;font-family:Inter,system-ui,-apple-system,sans-serif;color:#153457}
.ai-shade{position:absolute;inset:0;background:rgba(0,20,46,.77);backdrop-filter:blur(8px)}
.ai-dialog{position:relative;display:flex;flex-direction:column;width:min(1020px,100%);max-height:min(900px,calc(100dvh - 35px));overflow:hidden;background:#fff;border-radius:23px;box-shadow:0 35px 80px rgba(0,18,44,.4)}
.ai-dialog-head{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:20px 26px;background:linear-gradient(110deg,#0c2e56,#105f81);color:#fff}
.ai-dialog-brand{display:flex;align-items:center;gap:13px}.ai-dialog-mark{display:grid;place-items:center;flex:none;width:41px;height:41px;border-radius:12px;background:linear-gradient(125deg,#31beee,#34e4c4);color:#07496a;font-size:20px;font-weight:900}
.ai-dialog-brand strong{display:block;font-size:14px}.ai-dialog-brand small{display:block;color:#bbdfed;font-size:10px;margin-top:4px}
.ai-dialog-close{display:grid;place-items:center;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.21);color:#fff;border-radius:10px;width:36px;height:36px;cursor:pointer;font-size:21px}
.ai-dialog-content{display:grid;grid-template-columns:minmax(255px,330px) minmax(0,1fr);min-height:0;overflow:hidden}
.ai-lead-side{padding:24px 23px;overflow-y:auto;background:#f3f8fd;border-right:1px solid #dce9f3}
.ai-lead-side h3{font-size:17px;margin:0 0 10px;font-weight:800}.ai-lead-side>p{font-size:11px;line-height:1.7;color:#648099;margin:0 0 22px}
.ai-lead-side label.ai-field{display:block;margin-bottom:14px;font-size:11px;font-weight:750;color:#30506d}
.ai-lead-side label.ai-field input,.ai-lead-side label.ai-field textarea{display:block;width:100%;margin-top:6px;border:1px solid #d6e2ee;border-radius:10px;background:#fff;padding:11px 12px;color:#153457;outline:none;font:500 12px Inter,system-ui,sans-serif;box-sizing:border-box;min-height:42px}
.ai-lead-side label.ai-field textarea{resize:vertical;min-height:64px;max-height:130px}
.ai-lead-side input:focus,.ai-lead-side textarea:focus,.ai-question:focus,.ai-draft textarea:focus{border-color:#20a3cf;box-shadow:0 0 0 3px rgba(22,167,215,.12)}
.ai-consent{display:flex;gap:9px;align-items:flex-start;font-size:10px;line-height:1.55;color:#627991;margin-top:13px}.ai-consent input{margin:1px 0 0;flex:none;accent-color:#0d92bf}.ai-side-note{border-top:1px solid #ddeaf2;margin-top:19px;padding-top:14px;color:#7a91a8;font-size:10px;line-height:1.6}
.ai-chat-side{display:flex;flex-direction:column;min-height:0;padding:20px 24px 18px}
.ai-chat-title{display:flex;align-items:center;justify-content:space-between;padding:0 0 14px;border-bottom:1px solid #e5eef6;gap:12px}
.ai-chat-title h3{margin:0;font-size:14px;color:#163859}.ai-chat-title span{font-size:10px;color:#7294ab}
.ai-messages{min-height:240px;max-height:310px;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:22px 3px 20px}
.ai-msg{display:flex;gap:10px;max-width:96%;align-items:flex-start}
.ai-msg-avatar{display:grid;place-items:center;flex:none;width:31px;height:31px;border-radius:10px;background:#e0f4fa;color:#0878a6;font-size:11px;font-weight:900}
.ai-msg-user{align-self:flex-end;flex-direction:row-reverse}.ai-msg-user .ai-msg-avatar{background:#dce9ff;color:#165fc9}
.ai-msg-text{border-radius:4px 13px 13px;background:#edf7fb;padding:12px 14px;color:#315370;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11.5px;line-height:1.68}
.ai-msg-user .ai-msg-text{background:#e9f1ff;border-radius:13px 4px 13px 13px;color:#23436b}
.ai-recommendations{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0 0 11px}.ai-recommendations>span{font-size:10px;font-weight:700;color:#72879c}.ai-recommendations>a{border:1px solid #bbdfe9;background:#effaff;padding:6px 11px;border-radius:25px;font-size:10px;font-weight:800;color:#0c718f}
.ai-chat-controls{display:flex;align-items:stretch;gap:10px;border:1px solid #d8e6f0;border-radius:12px;padding:6px;background:#fff}
.ai-question{border:0!important;outline:none!important;box-shadow:none!important;resize:vertical;min-height:50px;max-height:120px;width:100%;font:500 12px/1.5 Inter,system-ui,sans-serif;padding:8px;color:#274963}
.ai-send{border:0;align-self:flex-end;background:#126db5;color:#fff;border-radius:9px;padding:12px 15px;min-width:75px;font:800 11px Inter,system-ui,sans-serif;cursor:pointer}
.ai-send:disabled,.ai-prepare:disabled{opacity:.55;cursor:wait}
.ai-chat-meta{margin-top:9px;display:flex;align-items:center;justify-content:space-between;color:#8599aa;font-size:10px;gap:10px}
.ai-error{background:#fff3f3;color:#ad2e40;border:1px solid #fad1da;border-radius:9px;padding:10px 12px;font-size:11px;margin:9px 0}
.ai-footer-actions{padding-top:15px;display:flex;flex-direction:column;gap:10px}
.ai-prepare{width:100%;border:1px solid #9cd6d9;background:#e8faf7;color:#075c70;border-radius:11px;padding:13px;font:800 11px Inter,system-ui,sans-serif;cursor:pointer}
.ai-draft{padding:14px;border:1px solid #cee4f0;border-radius:12px;background:#f8fcff}
.ai-draft h4{margin:0 0 5px;font-size:13px;color:#1a4d74}.ai-draft p{font-size:10px;color:#718ca3;margin:0 0 9px}
.ai-draft textarea{display:block;width:100%;resize:vertical;min-height:140px;max-height:250px;border:1px solid #d6e4ed;border-radius:10px;background:#fff;padding:11px;font:500 11px/1.65 Inter,system-ui,sans-serif;box-sizing:border-box}
.ai-whats{width:100%;margin-top:10px;padding:12px;border:0;border-radius:10px;color:#fff;background:#0d9a72;font:800 12px Inter,system-ui,sans-serif;cursor:pointer}
.ai-whats:hover{background:#087c5f}
@media(max-width:870px){.ai-help-layout{grid-template-columns:1fr;gap:30px}.ai-help-visual{max-width:530px;transform:none}.ai-dialog-content{grid-template-columns:minmax(225px,275px) minmax(0,1fr)}.ai-chat-side{padding:17px}.ai-lead-side{padding:18px}}
@media(max-width:650px){.ai-help-section{padding:72px 0 69px}.ai-help-copy h2{font-size:32px}.ai-help-visual{display:none}.ai-floating{bottom:85px;right:13px;font-size:10px;padding:10px 12px}.ai-float-icon{width:24px;height:24px}.ai-overlay{padding:5px}.ai-dialog{max-height:calc(100dvh - 10px);height:calc(100dvh - 10px);border-radius:14px}.ai-dialog-head{padding:12px 14px}.ai-dialog-content{display:flex;flex-direction:column;overflow-y:auto}.ai-lead-side{flex:none;border-right:0;border-bottom:1px solid #e0ecf3;overflow:visible;padding:16px}.ai-lead-side>p{margin-bottom:12px}.ai-lead-side #aiLeadForm{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.ai-lead-side label.ai-field{margin-bottom:10px}.ai-lead-side label.ai-field:first-child,.ai-lead-side label.ai-field:nth-child(2),.ai-lead-side label.ai-field:nth-child(6){grid-column:1/-1}.ai-consent,.ai-side-note{grid-column:1/-1}.ai-chat-side{min-height:420px;flex:none;padding:15px}.ai-messages{min-height:155px;max-height:260px}.ai-lead-side input{min-width:0}.ai-question{min-height:47px}.ai-help-section::before{width:270px;height:270px}}
@media(prefers-reduced-motion:reduce){.ai-help-button,.ai-floating{transition:none}}
.ai-prepare[hidden]{display:none!important}

/* Contacto opcional hasta generar una propuesta; chat visible primero en movil. */
.ai-personal-details>summary{display:none}
.ai-consent-chat{margin:12px 2px 0;color:#54718b;font-size:10px}
@media(max-width:650px){
  .ai-chat-side{order:1;min-height:520px;flex:none}
  .ai-lead-side{order:2;flex:none;padding:0 15px 15px}
  .ai-personal-details>summary{display:flex;align-items:center;gap:8px;cursor:pointer;padding:16px 4px;font-size:12px;font-weight:800;color:#1c5376;list-style:none}
  .ai-personal-details>summary::-webkit-details-marker{display:none}
  .ai-personal-details>summary::before{content:'+';display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#dcecf7;color:#2277a2;font-size:19px}
  .ai-personal-details[open]>summary::before{content:'−'}
  .ai-lead-side h3{font-size:14px}
  .ai-consent-chat{background:#f2f9fd;border-radius:9px;padding:10px;margin-top:10px}
}

/* Respuestas y documentación verificable para consultas de integración. */
.ai-msg-text strong{font-weight:800;color:#123a5b}
.ai-msg-text code{white-space:pre-wrap;overflow-wrap:anywhere;background:rgba(3,74,116,.08);border-radius:4px;padding:1px 4px;font:600 .94em ui-monospace,SFMono-Regular,Consolas,monospace;color:#0e5681}
.ai-msg-text p{margin:0 0 10px}.ai-msg-text p:last-child{margin-bottom:0}.ai-msg-text ul{margin:3px 0 10px 18px;padding:0;display:grid;gap:5px}.ai-msg-text li{margin:0}.ai-msg-text h4{margin:2px 0 8px;font:800 11.5px/1.35 Inter,system-ui,sans-serif;color:#0f4567;letter-spacing:.01em}.ai-msg-text .ai-label{font-weight:800;color:#123a5b}
.ai-msg:has(.ai-answer-sources){flex-wrap:wrap}
.ai-answer-sources{display:flex;gap:7px;align-items:center;flex-wrap:wrap;width:calc(100% - 44px);margin:0 0 0 41px;padding:7px 9px;background:#f3fafc;border-radius:8px;font-size:11px;color:#58718a}
.ai-answer-sources a{font-weight:750;color:#08769b;text-decoration:underline;text-underline-offset:3px}
.ai-answer-sources a:hover{color:#055878}
@media(max-width:650px){.ai-answer-sources{width:100%;margin-left:0;padding:7px 5px}}

/* Mantener el indicador visual de procesamiento del chat. */
.ai-loading{box-sizing:border-box;position:absolute;inset:61px 24px 18px;z-index:55;display:flex;align-items:center;justify-content:center;border-radius:18px;padding:24px;overflow:auto;background:linear-gradient(145deg,rgba(241,250,255,.96),rgba(238,249,252,.97));border:1px solid rgba(178,219,235,.86);box-shadow:0 17px 48px rgba(14,50,79,.15);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:all}
.ai-loading-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;width:min(100%,405px);min-height:270px;text-align:center;color:#183c5d}
.ai-loading-orbit{position:relative;display:grid;place-items:center;width:94px;height:94px;margin:0 auto 4px}
.ai-loading-orbit-ring{position:absolute;inset:4px;border:3px solid rgba(14,142,196,.19);border-top-color:#0f8fca;border-right-color:#31cfc0;border-radius:50%;animation:aiLoaderRotate 1.25s linear infinite}
.ai-loading-orbit:before{content:"";position:absolute;inset:16px;border-radius:50%;background:radial-gradient(circle at 30% 20%,#ffffff,#c7f2f2 58%,#8adbe9 100%);box-shadow:0 7px 23px rgba(18,135,179,.18),inset 0 1px 6px rgba(255,255,255,.75)}
.ai-loading-symbol{position:relative;z-index:1;color:#087da6;font-size:31px;line-height:1;animation:aiLoaderBreathe 2.2s ease-in-out infinite}
.ai-loading-orbit-dot{position:absolute;right:-2px;top:37px;width:11px;height:11px;border-radius:50%;background:#37cbbb;box-shadow:0 0 0 5px rgba(55,203,187,.16)}
.ai-loading-eyebrow{font:800 10px/1.5 Inter,system-ui,sans-serif;letter-spacing:.15em;color:#138aab}
.ai-loading-panel h4{font:800 clamp(18px,2vw,24px)/1.26 Manrope,Inter,system-ui,sans-serif;letter-spacing:-.03em;color:#10385b;margin:0;max-width:350px}
.ai-loading-current{font:600 12.5px/1.65 Inter,system-ui,sans-serif;color:#456d88;margin:0;max-width:330px;min-height:40px}
.ai-loading-progress{position:relative;overflow:hidden;width:min(255px,84%);height:6px;border-radius:99px;background:#cfe6ee;margin-top:1px}
.ai-loading-progress>span{position:absolute;left:-40%;top:0;width:45%;height:100%;border-radius:99px;background:linear-gradient(90deg,#128cbe,#51ddc7);box-shadow:0 0 10px rgba(67,211,197,.35);animation:aiLoaderSlide 2.2s ease-in-out infinite}
.ai-loading-caption{max-width:320px;color:#6b899e;font:500 10.5px/1.6 Inter,system-ui,sans-serif}
.ai-loading-dots{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:0}
.ai-loading-dots i{width:6px;height:6px;border-radius:50%;background:#48b9c8;animation:aiLoaderBreathe 1.1s ease-in-out infinite}
.ai-loading-dots i:nth-child(2){animation-delay:.18s}.ai-loading-dots i:nth-child(3){animation-delay:.36s}
.ai-loader-transition{animation:aiMessageIn .32s ease-out}
@keyframes aiLoaderRotate{to{transform:rotate(360deg)}}
@keyframes aiLoaderSlide{0%{left:-40%}100%{left:110%}}
@keyframes aiLoaderBreathe{0%,100%{opacity:.5;transform:scale(.86)}50%{opacity:1;transform:scale(1.07)}}
@keyframes aiMessageIn{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}


/* v10 | Chat anclado: mensajes desplazables e ingreso siempre abajo. */
.ai-dialog{
  height:min(900px,calc(100dvh - 36px));
}
.ai-dialog-content{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
}
.ai-chat-side{
  position:relative;
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
  min-width:0;
  min-height:0;
  height:100%;
  overflow:hidden;
}
.ai-chat-title{order:0;flex:0 0 auto}
.ai-messages{
  order:1;
  flex:1 1 0%;
  min-height:0;
  max-height:none;
  overflow-y:auto;
  overscroll-behavior:contain;
  scroll-padding-bottom:14px;
}
.ai-messages>.ai-msg{flex:0 0 auto}
.ai-recommendations{order:2;flex:0 0 auto;max-height:68px;overflow-y:auto}
.ai-error{order:3;flex:0 0 auto;max-height:110px;overflow-y:auto}
.ai-footer-actions{order:4;flex:0 0 auto;max-height:min(30dvh,260px);overflow-y:auto}
.ai-footer-actions:not(:has(> :not([hidden]))){padding-top:0}
.ai-consent-chat{order:5;flex:0 0 auto}
.ai-chat-meta{order:6;flex:0 0 auto}
.ai-chat-controls{order:7;flex:0 0 auto;margin-top:10px}
@media(max-width:650px){
  .ai-dialog{height:calc(100dvh - 10px);max-height:calc(100dvh - 10px)}
  .ai-dialog-content{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}
  .ai-lead-side{
    order:0;
    flex:0 0 auto;
    min-height:0;
    max-height:min(42dvh,335px);
    overflow-y:auto;
    padding:4px 15px 0;
  }
  .ai-chat-side{
    order:1;
    flex:1 1 auto;
    min-height:0;
    height:auto;
    padding:11px 14px 12px;
  }
  .ai-messages{flex:1 1 0%;min-height:0;max-height:none}
  .ai-footer-actions{max-height:min(25dvh,205px)}
  .ai-loading{inset:48px 14px 12px;padding:10px}
  .ai-chat-meta .ai-chat-tip{display:none}
}
@media(max-height:570px) and (min-width:651px){
  .ai-dialog{height:calc(100dvh - 12px);max-height:calc(100dvh - 12px)}
  .ai-chat-meta{display:none}
  .ai-consent-chat{max-height:56px;overflow:auto}
  .ai-footer-actions{max-height:150px}
}

/* Asuntos independientes: opcion discreta para empezar otra consulta. */
.ai-chat-title{min-width:0;gap:12px}
.ai-chat-title h3{min-width:0;line-height:1.45}
.ai-new-conversation{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:5px;max-width:44%;padding:7px 10px;border:1px solid #c7dfed;border-radius:9px;background:#f2f9fd;color:#116586;font:750 10.5px/1.3 Inter,system-ui,sans-serif;cursor:pointer;transition:background .16s,border-color .16s;white-space:nowrap}
.ai-new-conversation:hover{background:#e2f4fa;border-color:#86cadd}
.ai-new-conversation:focus-visible{outline:3px solid rgba(10,138,189,.26);outline-offset:2px}
.ai-new-conversation:disabled{opacity:.55;cursor:wait}
.ai-new-conversation span{font-size:16px;line-height:1}
@media(max-width:650px){
  .ai-new-conversation{padding:7px 9px;font-size:10px}
  .ai-chat-title h3{font-size:12.5px}
}
@media(max-width:370px){
  .ai-new-conversation{font-size:0;gap:0;width:38px;max-width:none;padding:7px}
  .ai-new-conversation span{font-size:21px}
}

/* v12 | Asesor virtual 3D / voz con la misma conversación y sin panel adicional. */
.btn-voice-primary{border:1px solid rgba(110,234,229,.6)!important;background:linear-gradient(120deg,#0fa6b9,#3bd8c9)!important;color:#06385a!important;font-weight:850!important;box-shadow:0 12px 26px rgba(1,31,51,.14);cursor:pointer}
.btn-voice-primary:hover{filter:brightness(1.08);transform:translateY(-2px)}
.ai-voice-wave{display:inline-grid;place-items:center;font-size:19px;width:25px;height:25px;border-radius:50%;color:#075472;background:rgba(255,255,255,.45)}
.ai-chat-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.ai-voice-mode-button{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #a3e1e5;border-radius:9px;background:linear-gradient(110deg,#e5fbf8,#eef9ff);color:#086276;font:800 10px/1.3 Inter,system-ui,sans-serif;cursor:pointer;white-space:nowrap;min-height:33px}
.ai-voice-mode-button[aria-pressed=true]{background:#0e5b76;color:#fff;border-color:#0e6883}
.ai-voice-mode-button:focus-visible,.ai-robot-mic:focus-visible,.ai-robot-mute:focus-visible{outline:3px solid rgba(31,194,216,.35);outline-offset:2px}
.ai-robot-stage[hidden]{display:none!important}
.ai-robot-stage{order:1;position:relative;display:grid;grid-template-columns:minmax(155px,225px) minmax(0,1fr);align-items:center;isolation:isolate;flex:0 0 auto;min-height:235px;margin:12px 0 8px;overflow:hidden;border:1px solid #b7dfeb;border-radius:20px;background:linear-gradient(120deg,#073962 0%,#0d5a76 51%,#0b7892 100%);box-shadow:0 12px 22px rgba(10,69,99,.12)}
.ai-robot-radar{position:absolute;pointer-events:none;inset:-95px auto auto -90px;width:390px;height:390px;border:1px solid rgba(145,250,239,.20);border-radius:50%;box-shadow:0 0 0 53px rgba(67,204,216,.05),0 0 0 110px rgba(83,200,237,.045);z-index:-1;animation:aiRobotDrift 9s ease-in-out infinite alternate}
.ai-robot-stage:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.25;background-image:radial-gradient(rgba(124,244,255,.62) .8px,transparent .8px);background-size:20px 20px;mask-image:linear-gradient(to right,#000,transparent 72%)}
.ai-robot-canvas{display:none!important}.ai-marzi-scene{position:relative;display:grid;place-items:center;align-self:stretch;min-height:227px;padding:14px 10px 8px 14px;perspective:1100px;overflow:hidden}.ai-marzi-avatar{position:relative;width:min(100%,228px);aspect-ratio:1/1;display:grid;place-items:center;transform-style:preserve-3d;transform:translate3d(calc(var(--marzi-x,0) * 12px),calc(var(--marzi-y,0) * 10px),0) rotateX(calc(var(--marzi-y,0) * -6deg)) rotateY(calc(var(--marzi-x,0) * 7deg)) scale(var(--marzi-scale,1));transition:transform .16s ease,filter .24s ease;filter:drop-shadow(0 18px 18px rgba(0,17,42,.28))}.ai-marzi-image{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;transform:translateY(var(--marzi-lift,0));transition:transform .18s ease}.ai-marzi-scene:before{content:"";position:absolute;inset:auto 18px 10px 18px;height:22px;border-radius:50%;background:radial-gradient(circle,rgba(96,251,226,.34) 0%,rgba(54,185,219,.2) 34%,rgba(4,24,46,0) 74%);filter:blur(4px)}.ai-marzi-orbit,.ai-marzi-spark{position:absolute;pointer-events:none}.ai-marzi-orbit{border-radius:50%;border:1px solid rgba(123,244,255,.22)}.ai-marzi-orbit.orbit-a{width:228px;height:228px;box-shadow:0 0 0 18px rgba(119,233,252,.05)}.ai-marzi-orbit.orbit-b{width:168px;height:168px;border-style:dashed;opacity:.55;animation:aiMarziSpin 16s linear infinite}.ai-marzi-spark{width:8px;height:8px;border-radius:50%;background:#8dfcf1;box-shadow:0 0 0 6px rgba(141,252,241,.12)}.ai-marzi-spark.spark-a{top:26px;left:28px;animation:aiMarziFloat 3.6s ease-in-out infinite}.ai-marzi-spark.spark-b{right:24px;bottom:34px;animation:aiMarziFloat 4.4s ease-in-out infinite reverse}
.ai-robot-info{position:relative;min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px;padding:19px 22px 19px 3px;color:#fff}
.ai-robot-tag{font:850 9px/1.3 Inter,system-ui,sans-serif;letter-spacing:.14em;color:#70f3df}
.ai-robot-tag span{font-size:12px}
.ai-robot-info strong{font:800 clamp(15px,2vw,19px)/1.25 Manrope,Inter,system-ui,sans-serif;color:#fff;letter-spacing:-.025em}
.ai-robot-info p{font:500 11px/1.55 Inter,system-ui,sans-serif;color:#d3eff6;margin:0;max-height:54px;overflow:hidden}
.ai-robot-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px}
.ai-robot-mic{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:9px 12px;border:0;border-radius:10px;background:#4ee6d2;color:#063e56;cursor:pointer;font:850 10px/1.3 Inter,system-ui,sans-serif;transition:background .2s,box-shadow .2s}
.ai-robot-mic svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2}
.ai-robot-mic:hover{background:#a2fbeb}
.ai-robot-mic.is-listening{background:#ffcbc7;color:#9a2945;box-shadow:0 0 0 6px rgba(255,156,175,.18);animation:aiMicPulse 1.5s ease-in-out infinite}
.ai-robot-mic:disabled{opacity:.7;cursor:wait;animation:none}
.ai-robot-mute{border:1px solid rgba(176,238,246,.42);background:rgba(255,255,255,.085);border-radius:9px;min-height:36px;padding:9px 10px;color:#e0faff;cursor:pointer;font:700 9.5px/1.3 Inter,system-ui,sans-serif}
.ai-robot-mute:hover{background:rgba(255,255,255,.18)}
.ai-robot-mute:disabled{opacity:.55;cursor:not-allowed}
.ai-robot-note{font:500 9.5px/1.55 Inter,system-ui,sans-serif;color:#acd6e6;max-width:320px}
.ai-robot-stage.is-listening{border-color:#7efbdc;box-shadow:0 0 0 3px rgba(80,234,207,.16),0 12px 22px rgba(10,69,99,.12)}
.ai-robot-stage.is-speaking .ai-robot-radar{animation-duration:2.4s}
.ai-robot-stage.is-thinking .ai-robot-tag{color:#ffe598}
.ai-robot-stage.is-speaking .ai-marzi-avatar{--marzi-scale:1.02;filter:drop-shadow(0 22px 22px rgba(0,17,42,.34)) saturate(1.06)}
.ai-robot-stage.is-speaking .ai-marzi-image{animation:aiMarziTalk .9s ease-in-out infinite}
.ai-robot-stage.is-listening .ai-marzi-avatar{--marzi-scale:1.03}
.ai-robot-stage.is-listening .ai-marzi-orbit.orbit-b{animation-duration:4.6s}
.ai-robot-stage.is-thinking .ai-marzi-spark{background:#ffe598;box-shadow:0 0 0 7px rgba(255,229,152,.16)}
@keyframes aiMarziSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes aiMarziFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes aiMarziTalk{0%,100%{transform:translateY(var(--marzi-lift,0))}35%{transform:translateY(calc(var(--marzi-lift,0) - 2px)) scale(1.01)}70%{transform:translateY(calc(var(--marzi-lift,0) + 1px))}}
.ai-voice-mode .ai-messages{min-height:0;scrollbar-color:#adcfdd transparent}
.ai-voice-mode .ai-loading{inset:61px 24px 18px}
@keyframes aiRobotDrift{from{transform:scale(.94)}to{transform:scale(1.08)}}
@keyframes aiMicPulse{50%{box-shadow:0 0 0 11px rgba(255,156,175,.08)}}
@media(max-width:980px){
  .ai-robot-stage{grid-template-columns:minmax(130px,175px) minmax(0,1fr);min-height:212px}
  .ai-marzi-scene{min-height:204px;padding:12px 8px 8px 12px}
  .ai-robot-info{padding:12px 13px 12px 0;gap:7px}
  .ai-chat-head-actions{gap:5px}
  .ai-new-conversation,.ai-voice-mode-button{font-size:9.5px;padding:7px 8px}
}
@media(max-width:650px){
  .ai-chat-title{flex-wrap:wrap;justify-content:space-between;row-gap:8px}
  .ai-chat-head-actions{width:100%;justify-content:space-between}
  .ai-voice-mode-button,.ai-new-conversation{font-size:10px;min-height:31px}
  .ai-robot-stage{grid-template-columns:minmax(110px,42%) minmax(0,1fr);min-height:177px;margin:8px 0 6px;border-radius:15px}
  .ai-marzi-scene{min-height:177px;padding:8px 6px 6px 8px}.ai-marzi-avatar{width:min(100%,180px)}
  .ai-robot-info{padding:9px 10px 9px 0;gap:6px}
  .ai-robot-tag{font-size:8px;letter-spacing:.08em}
  .ai-robot-info strong{font-size:13px;line-height:1.24}
  .ai-robot-info p{font-size:9.5px;line-height:1.4;max-height:40px}
  .ai-robot-actions{gap:5px}
  .ai-robot-mic{padding:7px 9px;min-height:32px;font-size:9px}
  .ai-robot-mute{min-height:30px;padding:6px 8px;font-size:9px}
  .ai-robot-note{display:none}
  .ai-voice-mode .ai-messages{min-height:0}
  .ai-voice-mode .ai-loading{inset:50px 14px 12px}
  .ai-dialog:has(.ai-voice-mode) .ai-lead-side:not(:has(.ai-personal-details[open])){max-height:53px;min-height:53px;overflow:hidden;flex:0 0 53px}
}
@media(max-width:360px){
  .ai-robot-stage{grid-template-columns:39% 1fr}.ai-robot-mute{padding:6px}
  .ai-robot-info strong{font-size:12px}.ai-robot-tag{font-size:7px}
}
@media(prefers-reduced-motion:reduce){.ai-robot-radar,.ai-robot-mic.is-listening,.ai-marzi-image,.ai-marzi-orbit.orbit-b,.ai-marzi-spark{animation:none}.ai-marzi-avatar{transition:none}}

/* v13: acciones del encabezado sin colisiones en desktop, tablet ni móvil. */
.ai-chat-title{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;row-gap:9px}
.ai-chat-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap;min-width:0;max-width:100%}
.ai-voice-mode-button,.ai-new-conversation{box-sizing:border-box;flex:0 0 auto;max-width:none;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;line-height:1.25;padding:9px 11px;overflow:visible}
.ai-voice-mode-button svg,.ai-new-conversation svg{display:block;width:15px;height:15px;flex:none;stroke:currentColor;vertical-align:middle}
.ai-voice-mode-label,.ai-new-conversation-label{display:block;font-size:inherit!important;line-height:1.25!important;color:inherit!important}
@media(max-width:1050px){.ai-chat-title{grid-template-columns:minmax(0,1fr)}.ai-chat-head-actions{justify-content:flex-start;gap:7px;max-width:100%}}
@media(max-width:650px){.ai-chat-head-actions{width:auto;justify-content:flex-start;flex-wrap:wrap}.ai-new-conversation,.ai-voice-mode-button{flex:0 1 auto;font-size:10px;white-space:normal;min-height:36px}.ai-chat-title{align-content:start}}
@media(max-width:390px){.ai-voice-mode-button,.ai-new-conversation{padding:8px;font-size:9px}.ai-voice-mode-button svg,.ai-new-conversation svg{width:13px;height:13px}}

/* v14 | Dictado manual: pulsar para escuchar y pulsar para detener/enviar. */
.ai-robot-mic.is-listening{background:#fff0e6;color:#9d273a;box-shadow:0 0 0 3px rgba(255,206,181,.28),0 0 0 7px rgba(255,125,125,.16);animation:aiMicPulse 1.35s ease-in-out infinite}
.ai-robot-mic.is-listening::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:#e53550;box-shadow:0 0 0 4px rgba(229,53,80,.18);animation:aiMicDot 1s ease-in-out infinite}
.ai-robot-stage.is-listening .ai-robot-tag{color:#aafee7}
.ai-robot-stage.is-listening .ai-robot-info strong{color:#fff}
@keyframes aiMicDot{50%{opacity:.45;transform:scale(.78)}}
@media(prefers-reduced-motion:reduce){.ai-robot-mic.is-listening::before{animation:none}}

/* v19 | Consentimiento asistido y Marzi con rasgos vivos. */
.ai-marzi-avatar{--marzi-eye-shift-x:0px;--marzi-eye-shift-y:0px;--marzi-eye-scale:1;--marzi-mouth-shift-x:0px;--marzi-mouth-shift-y:0px;--marzi-mouth-scale:1;--marzi-glow-opacity:.18;overflow:visible}
.ai-marzi-base{position:relative;z-index:1}
.ai-marzi-feature,.ai-marzi-eye-shine,.ai-marzi-mouth-glow{position:absolute;inset:0;pointer-events:none}
.ai-marzi-feature{width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;z-index:2;transition:transform .14s ease,filter .18s ease,opacity .18s ease;will-change:transform,opacity}
.ai-marzi-feature-eyes{clip-path:polygon(31% 24%,69% 24%,69% 43%,31% 43%);transform:translate3d(var(--marzi-eye-shift-x),var(--marzi-eye-shift-y),0) scaleY(var(--marzi-eye-scale));transform-origin:50% 34%;filter:drop-shadow(0 0 10px rgba(116,246,255,.14))}
.ai-marzi-feature-mouth{clip-path:polygon(35% 36%,65% 36%,65% 66%,35% 66%);transform:translate3d(var(--marzi-mouth-shift-x),var(--marzi-mouth-shift-y),0) scaleY(var(--marzi-mouth-scale));transform-origin:50% 54%;filter:drop-shadow(0 0 12px rgba(89,247,229,.18))}
.ai-marzi-eye-shine{z-index:3;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.98) 0,rgba(181,255,252,.9) 32%,rgba(86,229,233,.2) 58%,rgba(86,229,233,0) 72%);opacity:.45;transform:translate3d(0,0,0);transition:transform .16s ease,opacity .2s ease}
.ai-marzi-eye-shine.eye-left{top:31.7%;left:40.8%}
.ai-marzi-eye-shine.eye-right{top:31.2%;left:54.1%}
.ai-marzi-mouth-glow{z-index:2;clip-path:ellipse(11% 5.5% at 49.7% 52.7%);background:radial-gradient(circle,rgba(88,251,230,.42) 0,rgba(88,251,230,.16) 45%,rgba(88,251,230,0) 76%);opacity:var(--marzi-glow-opacity);transform:translate3d(var(--marzi-mouth-shift-x),var(--marzi-mouth-shift-y),0) scale(calc(.96 + (var(--marzi-mouth-scale) - 1) * .36));transform-origin:50% 53%;transition:transform .14s ease,opacity .2s ease}
.ai-marzi-avatar.is-blinking .ai-marzi-feature-eyes{transform:translate3d(var(--marzi-eye-shift-x),calc(var(--marzi-eye-shift-y) + 1px),0) scaleY(.08);filter:brightness(.96)}
.ai-marzi-avatar.is-blinking .ai-marzi-eye-shine{opacity:.06;transform:translateY(5px)}
.ai-marzi-avatar.is-talking .ai-marzi-feature-mouth,.ai-robot-stage.is-listening .ai-marzi-feature-mouth{opacity:1}
.ai-marzi-avatar.is-talking .ai-marzi-mouth-glow,.ai-robot-stage.is-listening .ai-marzi-mouth-glow{opacity:.30}
.ai-marzi-avatar.is-listening-face .ai-marzi-feature-eyes{filter:drop-shadow(0 0 11px rgba(116,246,255,.18)) saturate(1.05)}
.ai-marzi-avatar.is-listening-face .ai-marzi-eye-shine{opacity:.62}
.ai-marzi-avatar::after{content:"";position:absolute;inset:8% 16% 8% 16%;border-radius:50%;background:radial-gradient(circle at 35% 20%,rgba(255,255,255,.24),rgba(255,255,255,0) 34%),radial-gradient(circle at 50% 50%,rgba(110,250,255,.08),rgba(110,250,255,0) 68%);mix-blend-mode:screen;pointer-events:none;z-index:0;animation:aiMarziAura 5.4s ease-in-out infinite}
.ai-robot-stage.is-speaking .ai-marzi-avatar{--marzi-scale:1.028;filter:drop-shadow(0 24px 26px rgba(0,17,42,.35)) saturate(1.08)}
.ai-robot-stage.is-listening .ai-marzi-avatar{--marzi-scale:1.04;filter:drop-shadow(0 22px 24px rgba(0,17,42,.33)) saturate(1.05)}
.ai-robot-stage.is-speaking .ai-marzi-image,.ai-robot-stage.is-listening .ai-marzi-image{animation:none}
.ai-mini-modal[hidden]{display:none!important}
.ai-mini-modal{position:absolute;inset:0;display:grid;place-items:center;padding:14px;z-index:35;background:rgba(4,18,37,.14);backdrop-filter:blur(3px)}
.ai-mini-modal-card{position:relative;width:min(100%,410px);padding:18px 18px 16px;border-radius:18px;border:1px solid rgba(138,228,236,.55);background:linear-gradient(145deg,rgba(236,251,255,.98),rgba(225,248,247,.98));box-shadow:0 22px 50px rgba(5,28,48,.18);color:#0b3650;text-align:left}
.ai-mini-modal-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#22d1c5,#8cfbe6);color:#063d59;font:900 20px/1 Inter,system-ui,sans-serif;box-shadow:0 8px 20px rgba(17,168,184,.22);margin-bottom:12px}
.ai-mini-modal-card strong{display:block;font:800 18px/1.22 Manrope,Inter,system-ui,sans-serif;color:#08314c;margin-bottom:7px}
.ai-mini-modal-card p{margin:0 0 14px;font:500 13px/1.55 Inter,system-ui,sans-serif;color:#46657c}
.ai-mini-modal-action{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 14px;border:0;border-radius:11px;background:linear-gradient(135deg,#12a9bf,#41e1cf);color:#063b56;font:800 12px/1.3 Inter,system-ui,sans-serif;cursor:pointer;box-shadow:0 10px 22px rgba(8,91,124,.14)}
.ai-mini-modal-action:hover{filter:brightness(1.04)}
.ai-mini-modal-close{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;border:1px solid rgba(11,77,107,.12);background:rgba(255,255,255,.7);color:#0b4d6b;font-size:22px;line-height:1;cursor:pointer}
.ai-consent-chat.is-auto-checked{box-shadow:0 0 0 3px rgba(73,219,200,.14);border-radius:10px;transition:box-shadow .25s ease}
.ai-consent-chat.is-auto-checked span{color:#24576b}
@keyframes aiMarziAura{0%,100%{opacity:.86;transform:scale(.985)}50%{opacity:1;transform:scale(1.02)}}
@media(max-width:650px){
  .ai-mini-modal{padding:10px}
  .ai-mini-modal-card{width:min(100%,340px);padding:16px 15px 14px;border-radius:16px}
  .ai-mini-modal-card strong{font-size:16px}
  .ai-mini-modal-card p{font-size:12px}
  .ai-mini-modal-action{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .ai-marzi-avatar::after{animation:none}
  .ai-marzi-feature,.ai-marzi-eye-shine,.ai-marzi-mouth-glow,.ai-mini-modal-card,.ai-consent-chat{transition:none}
}

/* v20 · Consentimiento explícito antes de activar el micrófono */
.ai-mini-modal-consent{display:flex;gap:11px;align-items:flex-start;padding:13px 12px;margin:0 0 14px;border:1px solid #bfdce6;border-radius:12px;background:rgba(255,255,255,.86);color:#234d67;cursor:pointer;font:500 11px/1.55 Inter,system-ui,sans-serif}
.ai-mini-modal-consent input{width:18px;height:18px;min-width:18px;flex:none;margin:1px 0 0;accent-color:#0aa8bc;cursor:pointer}
.ai-mini-modal-consent:focus-within{outline:2px solid #20bcd1;outline-offset:2px}
.ai-mini-modal-consent span{min-width:0}
.ai-mini-modal-action:disabled{opacity:.47;filter:grayscale(.3);cursor:not-allowed;box-shadow:none}
.ai-mini-modal-footnote{margin:11px 0 0!important;color:#668096!important;font-size:10px!important;line-height:1.5!important}
@media(max-width:650px){.ai-mini-modal-consent{font-size:10.5px;line-height:1.5;padding:11px 10px}.ai-mini-modal-card{max-height:calc(100dvh - 40px);overflow:auto}}

/* v21: stable modal outside the chat's clipping and independent Marzi facial motion */
#aiConsentModal[hidden]{display:none!important}
#aiConsentModal:not([hidden]){position:fixed!important;inset:0!important;z-index:2147483000!important;display:grid!important;place-items:center!important;padding:16px!important;background:rgba(4,19,41,.57)!important;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);overflow-y:auto!important;isolation:isolate!important}
#aiConsentModal .ai-mini-modal-card{position:relative!important;display:block!important;width:min(100%,450px)!important;max-height:calc(100dvh - 40px);overflow-y:auto!important;padding:23px 22px 20px!important;border-radius:19px!important;box-shadow:0 28px 82px rgba(4,22,52,.36)!important;border:1px solid #b8e3ea!important;background:linear-gradient(145deg,#f7fcff,#e5f8fb)!important}
#aiConsentModal .ai-mini-modal-consent{display:flex;align-items:flex-start;gap:11px}
#aiConsentModal .ai-mini-modal-consent input{appearance:auto!important;accent-color:#079bb7!important;width:20px!important;height:20px!important;min-width:20px!important;opacity:1!important;visibility:visible!important;display:inline-block!important;margin-top:2px!important}
#aiConsentModal .ai-mini-modal-action{min-height:43px!important}
#aiConsentModal .ai-mini-modal-action:disabled{cursor:not-allowed!important}
.ai-marzi-expression{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none;overflow:visible}
.ai-marzi-eyelids{opacity:0;transition:opacity .08s ease;transform-origin:50% 43%}
.ai-marzi-avatar.is-blinking .ai-marzi-eyelids{opacity:1}
.ai-marzi-speaking-mouth{opacity:0;transform-origin:50% 56%;transform:scaleY(1);transition:opacity .13s ease,transform .15s ease}
.ai-marzi-avatar.is-talking .ai-marzi-speaking-mouth{opacity:.6;transform:scaleY(var(--marzi-mouth-scale,1))}
.ai-marzi-base{animation:aiMarziIdle 4.6s ease-in-out infinite;transform-origin:50% 60%}
.ai-marzi-avatar.is-talking .ai-marzi-base{animation:aiMarziSpeaking .62s ease-in-out infinite}
@keyframes aiMarziIdle{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-3px) rotate(.65deg)}}
@keyframes aiMarziSpeaking{0%,100%{transform:translateY(0)}35%{transform:translateY(-3.5px) rotate(.6deg)}72%{transform:translateY(1px) rotate(-.3deg)}}
@media(prefers-reduced-motion:reduce){.ai-marzi-base{animation:none!important}.ai-marzi-eyelids,.ai-marzi-speaking-mouth{transition:none!important}}
.ai-robot-stage .ai-marzi-avatar .ai-marzi-base{animation:aiMarziIdle 4.6s ease-in-out infinite!important}
.ai-robot-stage.is-speaking .ai-marzi-avatar .ai-marzi-base{animation:aiMarziSpeaking .62s ease-in-out infinite!important}
@media(prefers-reduced-motion:reduce){.ai-robot-stage .ai-marzi-avatar .ai-marzi-base{animation:none!important}}

/* v22: El consentimiento aparece encima de todos los paneles y no se preselecciona. */
#aiConsentModal[hidden]{display:none!important}
#aiConsentModal:not([hidden]){display:grid!important;position:fixed!important;inset:0!important;z-index:2147483000!important;isolation:isolate!important;place-items:center!important;overflow-y:auto!important;padding:16px!important;background:rgba(3,18,41,.70)!important;backdrop-filter:blur(5px)}
#aiConsentModal .ai-mini-modal-card{width:min(100%,446px)!important;max-height:calc(100dvh - 32px)!important;overflow-y:auto!important;box-sizing:border-box!important;padding:23px!important;border-radius:18px!important;border:1px solid rgba(167,227,238,.75)!important;background:linear-gradient(150deg,#faffff,#e7f8fc)!important;box-shadow:0 32px 78px rgba(0,21,47,.38)!important}
#aiConsentModal .ai-mini-modal-consent{display:flex!important;align-items:flex-start!important;gap:12px!important;padding:12px!important;margin:13px 0!important;border:1px solid #c5e2ed!important;border-radius:12px!important;background:#fff!important}
#aiConsentModal .ai-mini-modal-consent input{appearance:auto!important;display:inline-block!important;width:21px!important;height:21px!important;min-width:21px!important;margin:2px 0 0!important;opacity:1!important;accent-color:#0499b4!important}
#aiConsentModal .ai-mini-modal-consent span{font-size:11px!important;line-height:1.6!important;color:#32566d!important}
#aiConsentModal .ai-mini-modal-action{width:100%!important;min-height:43px!important;font-size:12px!important}
#aiConsentModal .ai-mini-modal-action:disabled{opacity:.43!important;cursor:not-allowed!important}
#aiConsentModal .ai-mini-modal-action:focus-visible,#aiConsentModal input:focus-visible{outline:3px solid #00bacc!important;outline-offset:3px!important}
@media(max-width:650px){#aiConsentModal{padding:12px!important}#aiConsentModal .ai-mini-modal-card{padding:18px!important}}

/* v22: microexpresiones reales sobre la mascota aprobada de iMARZ. */
.ai-marzi-base{animation:aiMarziBreathe 4.4s ease-in-out infinite!important;transform-origin:50% 66%;backface-visibility:hidden}
.ai-marzi-expression{position:absolute;inset:0;z-index:6;width:100%;height:100%;pointer-events:none;overflow:visible}
.ai-marzi-eyelids{opacity:0;transition:opacity 55ms ease}
.ai-marzi-avatar.is-blinking .ai-marzi-eyelids{opacity:1}
.ai-marzi-speaking-mouth{opacity:0;transform-origin:50% 55%;transition:opacity .11s ease,transform .11s ease}
.ai-marzi-avatar.is-talking .ai-marzi-speaking-mouth{opacity:.84;transform:scaleY(var(--marzi-mouth-scale,1))}
.ai-marzi-avatar.is-talking .ai-marzi-base{animation:aiMarziTalkNod .74s ease-in-out infinite!important}
.ai-marzi-avatar.is-listening-face .ai-marzi-base{animation:aiMarziListen 3.1s ease-in-out infinite!important}
.ai-marzi-avatar.is-marzi-thinking .ai-marzi-base{animation:aiMarziThink 2.7s ease-in-out infinite!important}
.ai-robot-stage.is-speaking .ai-marzi-avatar{filter:drop-shadow(0 16px 22px rgba(0,16,52,.3)) saturate(1.07)}
.ai-robot-stage.is-listening .ai-marzi-avatar{filter:drop-shadow(0 14px 18px rgba(0,16,52,.25)) saturate(1.04)}
@keyframes aiMarziBreathe{0%,100%{transform:translate3d(0,0,0) rotate(-.7deg) scale(1)}50%{transform:translate3d(0,-5px,0) rotate(.9deg) scale(1.009)}}
@keyframes aiMarziTalkNod{0%,100%{transform:translate3d(0,0,0) rotate(-.5deg)}40%{transform:translate3d(0,-4px,0) rotate(.8deg)}72%{transform:translate3d(0,1px,0) rotate(-.3deg)}}
@keyframes aiMarziListen{0%,100%{transform:translate3d(0,0,0) rotate(-1deg)}50%{transform:translate3d(0,-4px,0) rotate(1.3deg)}}
@keyframes aiMarziThink{0%,100%{transform:translate3d(0,-2px,0) rotate(-1.6deg)}50%{transform:translate3d(0,-4px,0) rotate(2deg)}}
@media(prefers-reduced-motion:reduce){.ai-marzi-base,.ai-marzi-avatar.is-talking .ai-marzi-base,.ai-marzi-avatar.is-listening-face .ai-marzi-base,.ai-marzi-avatar.is-marzi-thinking .ai-marzi-base{animation:none!important}.ai-marzi-eyelids,.ai-marzi-speaking-mouth{transition:none!important}}


/* v23 | Conversacion libre en el centro y Marzi con voz en una columna independiente. */
.ai-overlay{padding:12px}
.ai-dialog{width:min(1440px,100%);height:min(920px,calc(100dvh - 24px));max-height:calc(100dvh - 24px)}
.ai-dialog-content{grid-template-columns:minmax(220px,300px) minmax(0,1fr)}
.ai-dialog-content.is-voice-open{grid-template-columns:clamp(210px,23%,300px) minmax(0,1fr) clamp(220px,23%,310px)}
.ai-voice-side[hidden]{display:none!important}
.ai-voice-side{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;box-sizing:border-box;overflow:hidden;border-left:1px solid rgba(160,214,228,.58);background:#064568}
.ai-voice-side .ai-robot-stage{order:initial;display:flex;flex:1 1 auto;flex-direction:column;align-items:stretch;justify-content:flex-start;min-width:0;min-height:0;width:100%;height:100%;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;margin:0;border:0;border-radius:0;box-shadow:none;background:linear-gradient(155deg,#07385d 0%,#0a617e 55%,#087f94 100%)}
.ai-voice-side .ai-robot-radar{inset:-120px auto auto -88px;z-index:-1}
.ai-voice-side .ai-marzi-scene{flex:0 0 auto;align-self:stretch;box-sizing:border-box;width:100%;height:min(33vh,295px);max-height:46%;min-height:140px;padding:20px 16px 5px}
.ai-voice-side .ai-marzi-avatar{width:min(100%,280px)}
.ai-voice-side .ai-robot-info{box-sizing:border-box;flex:0 0 auto;align-items:flex-start;justify-content:flex-start;gap:13px;width:100%;padding:12px 21px 25px}
.ai-voice-side .ai-robot-tag{font-size:9px;letter-spacing:.10em}
.ai-voice-side .ai-robot-info strong{font-size:clamp(16px,1.45vw,21px);line-height:1.27}
.ai-voice-side .ai-robot-info p{font-size:11px;line-height:1.6;max-height:none}
.ai-voice-side .ai-robot-actions{display:flex;flex-direction:column;align-items:stretch;gap:9px;width:100%;margin-top:3px}
.ai-voice-side .ai-robot-actions button{width:100%;box-sizing:border-box;min-height:40px}
.ai-voice-side .ai-robot-note{max-width:none;font-size:10px;line-height:1.55}
.ai-dialog-content.is-voice-open .ai-chat-side{min-width:0;min-height:0}
.ai-dialog-content.is-voice-open .ai-messages{min-height:0;flex:1 1 0%;max-height:none;overflow-y:auto}
.ai-dialog-content.is-voice-open .ai-chat-controls{flex:0 0 auto}
@media(max-width:1180px) and (min-width:701px){
  .ai-dialog-content.is-voice-open{grid-template-columns:minmax(195px,24%) minmax(0,1fr) minmax(210px,23%)}
  .ai-lead-side{padding:20px 16px}
  .ai-chat-side{padding:18px 17px 15px}
  .ai-voice-side .ai-marzi-scene{height:min(31vh,240px);min-height:120px}
  .ai-voice-side .ai-robot-info{padding:10px 14px 20px;gap:11px}
  .ai-voice-side .ai-robot-info strong{font-size:17px}
}
@media(max-width:870px) and (min-width:701px){
  .ai-dialog-content.is-voice-open{grid-template-columns:minmax(160px,23%) minmax(0,1fr) minmax(190px,25%)}
  .ai-lead-side{padding:14px 12px}
  .ai-chat-side{padding:14px 12px}
  .ai-voice-side .ai-robot-info{padding:8px 12px 17px;gap:9px}
  .ai-voice-side .ai-robot-info strong{font-size:15px}
  .ai-voice-side .ai-robot-info p{font-size:10px}
  .ai-voice-side .ai-robot-note{font-size:9px}
}
/* Tablet: mantener el robot separado del historial y dejar contraible el formulario. */
@media(max-width:700px){
  .ai-overlay{padding:5px}
  .ai-dialog{height:calc(100dvh - 10px);max-height:calc(100dvh - 10px);border-radius:14px}
  .ai-dialog-content{display:flex;flex-direction:column;min-height:0;overflow:hidden}
  .ai-dialog-content.is-voice-open{display:grid;grid-template-columns:minmax(0,1fr) minmax(165px,30%);grid-template-rows:minmax(0,1fr) auto;grid-template-areas:'chat voice' 'lead lead'}
  .ai-dialog-content.is-voice-open .ai-chat-side{grid-area:chat;order:initial;min-height:0;height:100%;padding:12px 10px}
  .ai-dialog-content.is-voice-open .ai-voice-side{grid-area:voice;order:initial;min-height:0;height:100%}
  .ai-dialog-content.is-voice-open .ai-lead-side{grid-area:lead;order:initial;box-sizing:border-box;min-height:0;max-height:min(24dvh,170px);overflow-y:auto;border-top:1px solid #e0ecf3;border-right:0;padding:4px 15px 0}
  .ai-dialog-content.is-voice-open .ai-personal-details>summary{display:flex}
  .ai-voice-side .ai-marzi-scene{height:min(25vh,198px);min-height:95px;max-height:36%;padding:9px 6px 0}
  .ai-voice-side .ai-marzi-avatar{width:min(100%,192px)}
  .ai-voice-side .ai-robot-info{padding:7px 10px 14px;gap:7px}
  .ai-voice-side .ai-robot-info strong{font-size:13px}
  .ai-voice-side .ai-robot-info p{font-size:9.5px;line-height:1.45}
  .ai-voice-side .ai-robot-tag{font-size:7.5px;letter-spacing:.04em}
  .ai-voice-side .ai-robot-actions{gap:6px}
  .ai-voice-side .ai-robot-actions button{font-size:9px;padding:7px 6px;min-height:34px}
  .ai-voice-side .ai-robot-note{display:block;font-size:8.5px}
}
/* Telefono: panel compacto de voz independiente encima del chat, sin tapar mensajes. */
@media(max-width:540px){
  .ai-dialog-content.is-voice-open{display:flex;flex-direction:column}
  .ai-dialog-content.is-voice-open .ai-voice-side{order:0;flex:0 0 120px;max-height:120px;width:100%;height:120px;border-left:0;border-bottom:1px solid rgba(160,214,228,.58)}
  .ai-dialog-content.is-voice-open .ai-voice-side .ai-robot-stage{display:grid;grid-template-columns:110px minmax(0,1fr);grid-template-rows:1fr;align-items:center;min-height:0;overflow:hidden}
  .ai-dialog-content.is-voice-open .ai-voice-side .ai-marzi-scene{width:100%;height:118px;max-height:none;min-height:0;padding:4px}
  .ai-dialog-content.is-voice-open .ai-voice-side .ai-marzi-avatar{width:min(100%,112px)}
  .ai-dialog-content.is-voice-open .ai-voice-side .ai-robot-info{gap:4px;justify-content:center;padding:6px 8px 5px 0}
  .ai-dialog-content.is-voice-open .ai-voice-side .ai-robot-tag{font-size:7px}
  .ai-dialog-content.is-voice-open .ai-voice-side .ai-robot-info strong{font-size:12px}
  .ai-dialog-content.is-voice-open .ai-voice-side .ai-robot-info p,.ai-dialog-content.is-voice-open .ai-voice-side .ai-robot-note{display:none}
  .ai-dialog-content.is-voice-open .ai-voice-side .ai-robot-actions{flex-direction:row;flex-wrap:nowrap;gap:5px;margin-top:1px}
  .ai-dialog-content.is-voice-open .ai-voice-side .ai-robot-actions button{min-width:0;flex:1 1 auto;width:auto;min-height:30px;font-size:8px;padding:5px}
  .ai-dialog-content.is-voice-open .ai-voice-side .ai-robot-mic svg{width:12px;height:12px}
  .ai-dialog-content.is-voice-open .ai-chat-side{order:1;flex:1 1 auto;min-height:0;height:auto;padding:10px 12px 11px}
  .ai-dialog-content.is-voice-open .ai-lead-side{order:2;flex:0 0 auto;max-height:min(22dvh,150px)}
  .ai-dialog-content.is-voice-open .ai-chat-title{padding-bottom:8px;row-gap:6px}
}
@media(max-width:360px){
  .ai-dialog-content.is-voice-open .ai-voice-side .ai-robot-stage{grid-template-columns:88px minmax(0,1fr)}
  .ai-dialog-content.is-voice-open .ai-voice-side .ai-robot-info strong{font-size:11px}
  .ai-dialog-content.is-voice-open .ai-voice-side .ai-robot-actions button{font-size:7px}
}


/* v24: facially matched mouth visemes cut from original Marzi art. No artificial smile line. */
.ai-marzi-avatar .ai-marzi-figure{
 position:relative;isolation:isolate;display:block;width:100%;height:100%;
 transform-origin:50% 66%;animation:aiMarziBreathe 4.4s ease-in-out infinite;
}
.ai-marzi-avatar .ai-marzi-figure .ai-marzi-base{
 animation:none!important;transform:none!important;transition:none!important;
 width:100%;height:100%;display:block;position:relative;z-index:1;
}
.ai-marzi-avatar.is-talking .ai-marzi-figure{animation:aiMarziTalkNod .74s ease-in-out infinite}
.ai-marzi-avatar.is-listening-face .ai-marzi-figure{animation:aiMarziListen 3.1s ease-in-out infinite}
.ai-marzi-avatar.is-marzi-thinking .ai-marzi-figure{animation:aiMarziThink 2.7s ease-in-out infinite}
.ai-marzi-avatar .ai-marzi-figure .ai-marzi-expression{z-index:4}
.ai-marzi-mouth-art{
 position:absolute;z-index:3;pointer-events:none;display:block;
 left:32.105263%;top:50%;width:29.210526%;height:24.736842%;
 background-image:url('../img/marzi-mouth-visemes-v24.webp');
 background-repeat:no-repeat;background-size:500% 100%;background-position:0% 0%;
 opacity:0;transform:translateZ(0);will-change:background-position;
}
.ai-marzi-avatar.is-talking .ai-marzi-mouth-art{opacity:1}
.ai-marzi-avatar:not(.is-talking) .ai-marzi-mouth-art{opacity:0}
/* The obsolete SVG curve must not reappear if older stylesheets are retained in cache. */
.ai-marzi-speaking-mouth{display:none!important;opacity:0!important}
@media(prefers-reduced-motion:reduce){
 .ai-marzi-avatar .ai-marzi-figure{animation:none!important}
 .ai-marzi-avatar.is-talking .ai-marzi-mouth-art{opacity:0}
}
