/* VEXA vNext. Scoped to the messenger and dedicated conversation page. */
:root{--vexa-blue:#075bd8;--vexa-purple:#5828df;--vexa-ink:#162b4c;--vexa-muted:#50617a;--vexa-border:#d9e2f0}
html body .floating-vexa{position:fixed;right:20px;bottom:88px;z-index:145;display:flex;align-items:center;gap:10px;padding:8px 18px 8px 8px;border:1px solid var(--vexa-border);border-radius:40px;background:#fff;color:var(--vexa-ink);box-shadow:0 8px 32px #152b4c26;text-decoration:none;animation:none}
html body .floating-vexa[hidden]{display:none!important}
html body .floating-vexa img{width:44px;height:44px;border-radius:50%}
.floating-vexa-copy{font-size:16px;font-weight:800;line-height:1.35}
html body .floating-vexa small{display:block;font-size:13px;font-weight:500;color:var(--vexa-muted)}
.floating-vexa.has-vexa-unread::after{content:'New reply';position:absolute;top:-18px;right:0;background:var(--vexa-blue);color:#fff;padding:3px 8px;border-radius:12px;font-size:12px}
.vexa-floating-panel,.vexa-floating-panel *{box-sizing:border-box}
.vexa-floating-panel{--vexa-text:16px;--vexa-small:14px;--vexa-title:19px;--vexa-target:48px;position:fixed;right:20px;bottom:20px;z-index:180;width:min(460px,calc(100vw - 32px));height:min(740px,calc(100dvh - 40px));border:1px solid var(--vexa-border);border-radius:24px;background:#fff;box-shadow:0 20px 70px #10244d33;overflow:hidden;visibility:hidden;color:var(--vexa-ink);font:var(--vexa-text)/1.55 Inter,system-ui,sans-serif}
.vexa-floating-panel.is-open{visibility:visible}
.vexa-large-text .vexa-floating-panel{--vexa-text:20px;--vexa-small:17.5px;--vexa-title:23.75px;--vexa-target:60px}
.vexa-floating-panel [hidden]{display:none!important}
.vexa-floating-panel button,.vexa-floating-panel textarea,.vexa-floating-panel a{font-family:inherit;font-size:inherit}
.vexa-floating-panel button{cursor:pointer}
.vexa-floating-panel a{color:var(--vexa-blue);text-underline-offset:3px}
.vexa-floating-panel :focus-visible,.floating-vexa:focus-visible{outline:3px solid #6c36cf;outline-offset:3px}
.vexa-floating-app{height:100%;display:flex;flex-direction:column;min-height:0}
.vexa-floating-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid var(--vexa-border);background:linear-gradient(120deg,#f5faff,#f8f5ff);flex-shrink:0}
.vexa-floating-identity{display:flex;align-items:center;gap:12px;min-width:0}
.vexa-floating-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}
.vexa-floating-name strong{display:block;font-size:var(--vexa-title);line-height:1.2}
.vexa-floating-name>span{display:block;color:var(--vexa-muted);font-size:var(--vexa-small)}
.vexa-floating-header-actions{display:flex;gap:6px}
.vexa-floating-header-actions button{width:var(--vexa-target);min-height:var(--vexa-target);border:1px solid var(--vexa-border);border-radius:12px;background:#fff;color:var(--vexa-ink);font-size:var(--vexa-title)}
.vexa-options{position:absolute;top:84px;right:12px;z-index:5;width:min(340px,calc(100% - 24px));max-height:calc(100% - 100px);overflow:auto;padding:10px;border:1px solid var(--vexa-border);border-radius:16px;background:#fff;box-shadow:0 10px 35px #162b4c33}
.vexa-large-text .vexa-options{top:96px}
.vexa-options button,.vexa-options>a{display:flex;align-items:center;text-align:left;min-height:var(--vexa-target);width:100%;padding:8px 12px;border:0;border-radius:8px;background:#fff;color:var(--vexa-ink);text-decoration:none;line-height:1.4}
.vexa-options button:hover,.vexa-options>a:hover{background:#eef4ff}
.vexa-options p{margin:8px 12px;font-size:var(--vexa-small);color:var(--vexa-muted)}
.vexa-chat-shell{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.vexa-conversation-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;background:#f6f8fc;padding:20px 16px}
.vexa-transcript{display:flex;flex-direction:column;gap:18px;outline-offset:-3px!important}
.vexa-message{width:100%;min-width:0;overflow-wrap:anywhere}
.vexa-message-avatar{display:none}
.vexa-message-bubble{padding:16px;border:1px solid var(--vexa-border);border-radius:18px 18px 18px 4px;background:#fff;font-size:var(--vexa-text);line-height:1.6}
.vexa-message.user{align-self:flex-end;width:auto;max-width:90%}
.vexa-message.user .vexa-message-bubble{background:#174bae;color:#fff;border:0;border-radius:18px 18px 4px 18px}
.vexa-speaker-label{display:block;font-size:var(--vexa-small);font-weight:700;margin-bottom:6px}
.vexa-response-title{display:block;font-size:var(--vexa-title);line-height:1.4;margin-bottom:8px}
.vexa-response-intro,.vexa-response-card p{margin:0;font-size:var(--vexa-text);line-height:1.6}
.vexa-response-sections{display:grid;gap:12px;margin-top:12px}
.vexa-response-sections:empty,.vexa-response-actions:empty{display:none}
.vexa-response-important{margin-top:14px;padding:12px;background:#fff6df;border-left:3px solid #926208;border-radius:6px;color:#604009;font-size:var(--vexa-text)}
.vexa-response-important b{display:block}
.vexa-response-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:16px}
.vexa-response-actions a,.vexa-followups button,.vexa-quick-grid button,.vexa-new-reply-bar button{display:flex;align-items:center;justify-content:center;min-height:var(--vexa-target);padding:10px 14px;border:1px solid var(--vexa-border);border-radius:12px;background:#fff;color:var(--vexa-ink);text-decoration:none;line-height:1.4;text-align:center;white-space:normal}
.vexa-response-actions a.primary,#vexa-submit{background:linear-gradient(120deg,var(--vexa-blue),var(--vexa-purple));color:#fff;border:0;font-weight:700}
.vexa-response-actions a:not(.primary){border:0;text-decoration:underline;font-size:var(--vexa-small)}
.vexa-followups{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.vexa-followups button{flex:1 1 120px;background:#f0f5ff;font-size:var(--vexa-text)}
.vexa-source-note{font-size:var(--vexa-small);line-height:1.5;color:var(--vexa-muted);margin:12px 0 0}
.vexa-quick-start{margin-top:18px}
.vexa-quick-start>p{font-size:var(--vexa-small);color:var(--vexa-muted);margin:0 0 8px}
.vexa-quick-grid{display:grid;gap:8px}
.vexa-quick-grid button{justify-content:flex-start;text-align:left;font-size:var(--vexa-text)}
.vexa-chat-status{flex-shrink:0;padding:6px 16px;color:var(--vexa-muted);font-size:var(--vexa-small);background:#fff}
.vexa-composer{margin:0;padding:10px 14px 12px;background:#fff;border-top:1px solid var(--vexa-border);flex-shrink:0}
.vexa-composer-row{display:flex;gap:8px;align-items:flex-end}
.vexa-composer textarea{min-width:0;flex:1;width:100%;min-height:52px;max-height:120px;padding:12px;resize:vertical;border:1px solid #8394ae;border-radius:12px;color:var(--vexa-ink);background:#fff;font-size:var(--vexa-text);line-height:1.4}
.vexa-composer textarea::placeholder{color:#52647d;opacity:1}
#vexa-submit{min-height:52px;padding:12px 14px;border-radius:12px;font-size:var(--vexa-text)}
.vexa-large-text #vexa-submit,.vexa-large-text .vexa-composer textarea{min-height:65px}
.vexa-composer>p{font-size:var(--vexa-small);line-height:1.4;color:var(--vexa-muted);margin:8px 0 0}
.vexa-floating-panel button:disabled{opacity:.6;cursor:wait}
.vexa-new-reply-bar{padding:8px;background:#edf3ff}
.vexa-new-reply-bar button{width:100%}
.vexa-thinking-line{font-size:var(--vexa-text)}
.vexa-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.vexa-page-main{padding-top:26px;background:linear-gradient(160deg,#f3f8ff,#faf8ff)}
.vexa-page-heading,.vexa-page-about,#vexa-page-chat{max-width:900px}
.vexa-page-heading h1{font-size:clamp(1.65rem,4vw,2.6rem);line-height:1.2;margin:16px 0 8px;color:var(--vexa-ink)}
.vexa-page-heading>p{color:var(--vexa-muted);margin:0 0 22px}
.vexa-inline-panel{position:relative;inset:auto;width:100%;height:700px;max-height:85dvh;visibility:visible;z-index:1;box-shadow:0 12px 45px #182c4a12}
#vexa-page-chat:has(.vexa-inline-panel)>.vexa-loading-note{display:none}
.vexa-page-about{padding-top:36px;padding-bottom:44px;color:var(--vexa-muted)}
.vexa-page-about h2{color:var(--vexa-ink);font-size:1.4rem}
.vexa-page-about p{line-height:1.7}
.vexa-page .floating-whatsapp{display:none!important}
@media(max-width:760px){
 html body .floating-vexa{right:12px;bottom:calc(88px + env(safe-area-inset-bottom))}
 .vexa-floating-panel{inset:0;width:100%;height:100dvh;border:0;border-radius:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
 html.vexa-floating-open,html.vexa-floating-open body{overflow:hidden}
 html.vexa-floating-open .mobile-contact-bar,html.vexa-floating-open .floating-whatsapp{display:none!important}
 .vexa-floating-header{padding:10px 12px}
 .vexa-conversation-scroll{padding:14px 12px}
 .vexa-message-bubble{padding:14px}
 .vexa-page-main{padding-top:12px}
 .vexa-page-heading h1{font-size:1.65rem}
 #vexa-page-chat{padding:0}
 .vexa-inline-panel{position:relative;height:85dvh;min-height:430px;max-height:none;border-top:1px solid var(--vexa-border);border-bottom:1px solid var(--vexa-border)}
 .vexa-page .mobile-contact-bar{display:none!important}
 .vexa-page{padding-bottom:0!important}
}
@media(prefers-reduced-motion:reduce){.vexa-floating-panel *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.vexa-more-detail{margin-top:12px}.vexa-more-detail summary{min-height:var(--vexa-target);padding:10px 0;color:var(--vexa-blue);cursor:pointer}.vexa-more-detail .vexa-response-card{margin-top:12px}
