/* Assistente (/assistente/). A página usa a casca do site: cabeçalho, barra, abertura, rodapé e os arquivos de estilo das
   demais páginas (styles.css, responsive.css, journey-v19.css, journey-v20.css...). Aqui fica só o que é da conversa,
   sempre dentro de .chat-page, para não alterar o restante do layout. */
.chat-page{--navy:#081d2d;--blue:#0875a3;--sky:#4cc3ef;--paper:#f1f4f5;--ink:#132c3d;--muted:#536774;--line:#c5d5df;--font:Barlow,Arial,sans-serif;--display:'Barlow Condensed','Arial Narrow',Arial,sans-serif}
.chat-page *{box-sizing:border-box}
.chat-page a{color:inherit;text-decoration:none}
.chat-page button,.chat-page input,.chat-page textarea{font:inherit}
.chat-page button{cursor:pointer}
.chat-page button:disabled{cursor:wait;opacity:.55}
.chat-page button:focus-visible,.chat-page a:focus-visible,.chat-page textarea:focus-visible,.chat-page input:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.chat-page .eyebrow{font-size:12px;letter-spacing:.13em;font-weight:700;color:var(--blue);margin:0 0 15px}
.chat-page .chat-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}
.chat-page .widget{min-width:0;background:#fff;border:1px solid var(--line);border-top:3px solid var(--blue);scroll-margin-top:120px;overflow:hidden}
.chat-page .chat-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:25px 26px 12px}
.chat-page .chat-heading .eyebrow{font-size:10px;margin-bottom:8px}
.chat-page .chat-heading h2,.chat-page .review h2,.chat-page .contact-panel h2,.chat-page .guide-panel h2{font:600 30px/1.1 var(--display);margin:0 0 10px}
.chat-page .chat-heading p{font-size:12px;color:var(--muted);margin:0}
.chat-page .chat-heading button{flex:none}
.chat-page .status{font-size:11px;color:#5c7482;padding:0 26px 18px}
.chat-page .messages{height:480px;overflow:auto;overscroll-behavior:contain;padding:24px;background:#f2f6f8;display:flex;flex-direction:column;gap:18px;border-block:1px solid var(--line)}
.chat-page .bubble{max-width:90%;padding:16px 18px;background:#fff;border:1px solid #d7e2e9;align-self:start;overflow-wrap:anywhere}
.chat-page .bubble.user{align-self:end;background:#e2eef5;border-color:#c9dfe9}
.chat-page .bubble.assistant{border-left:3px solid var(--blue)}
.chat-page .bubble .speaker{display:block;font-size:10px;font-weight:600;letter-spacing:.03em;color:#527385;margin-bottom:6px}
.chat-page .bubble.assistant .speaker{color:#0875a3}
.chat-page .bubble p{font-size:15px;line-height:1.7;margin:0;white-space:pre-wrap}
.chat-page button{background:#fff;color:var(--ink);border:1px solid var(--line);padding:10px 13px;font-size:13px;font-weight:500;border-radius:0}
.chat-page button:hover{background:#edf4f8}
.chat-page .suggestions{display:flex;gap:8px;padding:16px 24px 10px;overflow-x:auto}
.chat-page .suggestions button{white-space:nowrap;color:#0b5c80;background:#f3f8fa;font-size:12px}
.chat-page .composer{padding:12px 24px 13px}
.chat-page .composer>label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}
.chat-page .composer>div{display:flex;align-items:stretch;gap:10px}
.chat-page .composer textarea{flex:1;min-width:0;resize:vertical;min-height:80px;max-height:240px;padding:13px;border:1px solid #a8bdca;background:#fbfdfe;color:var(--ink);font-size:15px;line-height:1.6}
.chat-page .composer textarea::placeholder{color:#68818e}
.chat-page .composer button{background:var(--blue);border-color:var(--blue);color:#fff;padding:12px 19px;font-weight:600}
.chat-page .composer button:hover{background:#07597e}
.chat-page .composer small{display:block;font-size:11px;line-height:1.6;color:#657c88;margin-top:8px}
.chat-page .review-trigger{display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap;padding:6px 24px 23px}
.chat-page .review-trigger button{background:var(--blue);border-color:var(--blue);color:white;font-size:13px}
.chat-page .review-trigger span{font-size:11px;color:#607986}
.chat-page .chat-privacy{padding:15px 24px;border-top:1px solid var(--line);color:#617783;font-size:12px;background:#f8fafb}
.chat-page .review{padding:25px;border-top:1px solid var(--line);background:#f2f7fa;scroll-margin-top:110px}
.chat-page .review-heading{display:flex;justify-content:space-between;gap:15px;align-items:start}
.chat-page .review-heading .eyebrow{font-size:10px}
.chat-page .review>p{font-size:14px;color:var(--muted)}
.chat-page .review>label:not(.confirmation){font-size:13px;display:block;margin-bottom:8px}
.chat-page .review textarea{width:100%;resize:vertical;min-height:230px;font:13px/1.8 ui-monospace,Consolas,monospace;padding:14px;border:1px solid #b2c9d6;color:var(--ink);background:#fff}
.chat-page .summary-tools{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 18px}
.chat-page .whatsapp{display:inline-flex;background:var(--blue);color:#fff;padding:15px 19px;font-weight:600}
.chat-page .whatsapp[aria-disabled=true]{opacity:.5;cursor:not-allowed}
.chat-page .review>small{font-size:12px;line-height:1.7;color:#607986;display:block;margin-top:12px}
.chat-page .long-summary{background:#fff5df;border:1px solid #e3d3b1;padding:14px;color:#6d5528!important}
.chat-page .confirmation{font-size:13px;display:flex;align-items:start;gap:10px;margin:15px 0}
.chat-page .confirmation input{accent-color:var(--blue);margin-top:6px}
.chat-page .facility{margin:0 0 24px;background:var(--navy);color:white}
.chat-page .facility img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;display:block}
.chat-page .facility figcaption{padding:20px;border-left:3px solid var(--sky);display:flex;flex-direction:column;gap:5px;font-size:13px}
.chat-page .facility figcaption>span:first-child{font-size:10px;letter-spacing:.09em;color:var(--sky)}
.chat-page .facility strong{font:600 29px/1.2 var(--display)}
.chat-page .contact-panel,.chat-page .guide-panel{border:1px solid var(--line);padding:24px;margin-bottom:24px}
.chat-page .contact-panel>a{display:block;margin-top:10px;overflow-wrap:anywhere}
.chat-page .contact-panel .phone-link{font:600 29px/1.3 var(--display);color:var(--blue)}
.chat-page .contact-panel p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.6}
.chat-page .text-link{color:var(--blue);font-weight:600;font-size:14px}
.chat-page .guide-panel ol{padding-left:20px;color:#4a6372;font-size:14px}
.chat-page .guide-panel li{padding-left:5px;margin-block:15px}
.chat-page .guide-panel>p:not(.eyebrow){font-size:12px;color:#617783;line-height:1.6}
.chat-page dialog{border:1px solid var(--line);padding:28px;max-width:min(460px,calc(100vw - 36px));color:var(--ink);background:#fff}
.chat-page dialog::backdrop{background:#081d2dcc}
.chat-page dialog h2{font:600 30px/1.2 var(--display);margin:0 0 15px}
.chat-page dialog p{font-size:15px;color:var(--muted)}
.chat-page dialog form>div{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:22px}
.chat-page .destructive{background:#a5322c;color:#fff;border-color:#a5322c}
.chat-page #toast{position:fixed;right:20px;bottom:20px;max-width:min(420px,calc(100vw - 40px));padding:16px 20px;background:var(--navy);color:#fff;border-left:3px solid var(--sky);font-size:14px;z-index:30}
.chat-page [hidden]{display:none!important}
@media(max-width:1000px){.chat-page .chat-layout{grid-template-columns:minmax(0,1fr) 260px;gap:20px}.chat-page .contact-panel,.chat-page .guide-panel{padding:20px}.chat-page .messages{padding:20px}.chat-page .chat-heading{padding-inline:22px}}
@media(max-width:800px){.chat-page .chat-layout{grid-template-columns:1fr}.chat-page .attendant-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.chat-page .facility{grid-column:1/-1;display:none}.chat-page .contact-panel,.chat-page .guide-panel{margin:0}.chat-page .messages{height:450px;max-height:65vh}}
@media(max-width:520px){.chat-page .widget{margin-inline:-8px}.chat-page .chat-heading{padding:22px 17px 12px;align-items:start}.chat-page .chat-heading h2{font-size:27px}.chat-page .chat-heading button{font-size:11px;padding:8px 10px}.chat-page .status{padding-inline:17px;font-size:10px}.chat-page .messages{padding:18px 13px;gap:15px}.chat-page .bubble{max-width:96%;padding:13px 14px}.chat-page .bubble p{font-size:14px}.chat-page .suggestions{padding:13px 15px 7px}.chat-page .composer{padding:10px 15px 13px}.chat-page .composer textarea{font-size:16px;min-height:82px;padding:11px}.chat-page .composer button{padding:10px 12px;font-size:13px}.chat-page .review-trigger{padding:5px 15px 20px}.chat-page .review-trigger span{display:block}.chat-page .review{padding:22px 16px}.chat-page .review-heading button{font-size:11px;padding:8px}.chat-page .chat-privacy{padding:14px 16px}.chat-page .attendant-aside{grid-template-columns:1fr;gap:18px}}
@media(prefers-reduced-motion:reduce){.chat-page *{scroll-behavior:auto!important}}
.chat-page .memory-controls{display:grid;gap:12px;margin-top:14px;font-size:.875rem}
.chat-page .memory-controls label{display:flex;align-items:center;gap:8px}
.chat-page .memory-controls summary{cursor:pointer;font-weight:600}
.chat-page .memory-controls ul{padding-left:0;list-style:none;display:grid;gap:8px}
.chat-page .memory-controls button{text-align:left;white-space:normal;max-width:100%}
.chat-page .memory-controls input{accent-color:#0075a9}
.chat-page .bubble.assistant p a{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.chat-page .bubble.assistant p a:hover,.chat-page .bubble.assistant p a:focus-visible{color:var(--navy)}
.chat-page .quick-replies{display:flex;flex-wrap:wrap;gap:8px;padding:12px 18px 0}
.chat-page .quick-replies[hidden]{display:none}
.chat-page .quick-replies button,.chat-page .feedback button{font:inherit;font-size:.9rem;font-weight:600;padding:8px 14px;border:1px solid var(--blue);background:#fff;color:var(--blue);cursor:pointer;border-radius:999px}
.chat-page .quick-replies button:hover,.chat-page .quick-replies button:focus-visible,.chat-page .feedback button:hover,.chat-page .feedback button:focus-visible{background:var(--blue);color:#fff}
.chat-page .quick-replies button.principal{background:var(--blue);color:#fff}
.chat-page .feedback{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:.86rem;color:var(--muted)}
.chat-page .feedback button{padding:4px 12px;font-size:.82rem}
.chat-page .site-send{margin-top:18px;border:1px solid var(--line);padding:12px 16px;background:#fff}
.chat-page .site-send summary{cursor:pointer;font-weight:600}
.chat-page .site-send form{margin-top:12px;display:grid;gap:12px}
.chat-page .site-send-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.chat-page .site-send label{display:grid;gap:4px;font-size:.9rem;font-weight:600}
.chat-page .site-send label.confirmation{display:flex;gap:8px;align-items:flex-start;font-weight:400}
.chat-page .site-send input:not([type=checkbox]){font:inherit;padding:10px;border:1px solid var(--line);width:100%}
.chat-page .site-send button{font:inherit;font-weight:700;padding:12px 18px;border:0;background:var(--navy);color:#fff;cursor:pointer;justify-self:start}
.chat-page .site-send-web{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.chat-page .site-send-status{margin:0;font-size:.92rem}
.chat-page .site-send-status.problema{color:#a52e24}
.chat-page .beta-note{margin:0;padding:10px 16px;background:#fff4d6;border-left:4px solid #b18124;color:#3d2f09;font-size:.9rem;line-height:1.45}
.chat-page .beta-note strong{text-transform:uppercase;letter-spacing:.04em;font-size:.8rem}
.chat-page .widget{border:1px solid #d3dfe6;border-radius:16px;box-shadow:0 12px 36px #0b2f4510}
.chat-page .contact-panel,.chat-page .guide-panel{border-color:#d3dfe6;border-radius:16px;background:#fff}
.chat-page .facility{border-radius:16px;overflow:hidden}
.chat-page button{border-radius:8px}
.chat-page .composer button,.chat-page .review-trigger button,.chat-page .whatsapp,.chat-page .site-send button{border-color:#086b91;border-radius:8px;background:#086b91}
.chat-page .composer button:hover,.chat-page .review-trigger button:hover,.chat-page .site-send button:hover{background:#075a7a}
.chat-page .composer textarea,.chat-page .review textarea,.chat-page .site-send input:not([type=checkbox]){border-radius:10px}
.chat-page .bubble{border-radius:12px}
.chat-page .suggestions button{border-radius:999px}
.chat-page .site-send{border-radius:12px}
.chat-page .long-summary{border-radius:10px}
.chat-page dialog{border-radius:16px}
.chat-page #toast{border-radius:10px}
@media(max-width:520px){.chat-page .widget{margin-inline:0}}

/* Integração com o layout do site */
.chat-page{color:#132c3d;font:16px/1.6 Barlow,Arial,sans-serif}
.chat-page .chat-layout{margin-top:2px}
.chat-page .widget{border:1px solid var(--hub-line,#dce5e9);border-radius:15px;box-shadow:0 8px 28px #143d5209;scroll-margin-top:calc(var(--header-height,85px) + var(--utility-height,46px) + 18px)}
.chat-page .contact-panel,.chat-page .guide-panel{border:1px solid var(--hub-line,#dce5e9);border-radius:15px;background:#fff;box-shadow:0 8px 28px #143d5209}
.chat-page .facility{border-radius:15px;overflow:hidden}
.chat-page input[type=checkbox]{width:18px;height:18px;min-width:18px;min-height:18px;padding:0;border:0;border-radius:0;background:none;accent-color:#086b91}
.chat-page textarea,.chat-page input:not([type=checkbox]){max-width:100%}
.cfv-assistente .tool-hero .chat-version{max-width:none;margin:14px auto 0;text-align:center}
/* O aviso rápido da conversa fica acima da barra de atalhos do site */
.chat-page #toast{bottom:calc(var(--quick-actions-height,68px) + 28px)}
.cfv-assistente .tool-hero .version-label{color:#526a77;font-size:12px}

/* Compartilhamento voluntário para revisão. */
.chat-page .training-controls{display:grid;gap:.65rem;margin:1rem 0;padding:1rem;border:1px solid #c6d6e5;border-radius:14px;background:#f3f8fc;color:#18364d}.chat-page .training-controls label{display:flex;gap:.65rem;align-items:flex-start;font-weight:650}.chat-page .training-controls input{flex-shrink:0;margin-top:.3rem}.chat-page .training-controls small{font-size:.85rem;line-height:1.5}.chat-page .training-controls p:empty{display:none}.chat-page .training-controls p{margin:0;font-size:.88rem}.chat-page .training-controls [hidden]{display:none}

/* V27: ações fora dos balões e avaliação única no encerramento. */
.chat-page .quick-replies{border-top:1px solid #cedee7;border-bottom:1px solid #cedee7;background:#eaf3f8;padding:16px 22px;gap:10px}
.chat-page .quick-replies button{min-height:44px;border:1px solid #5286a1;background:#fff;color:#104f70;font-weight:650;border-radius:9px;padding:11px 15px;box-shadow:0 2px 4px #164e6812}
.chat-page .quick-replies button:hover{background:#dceef7;border-color:#086b91}
.chat-page .quick-replies button.principal{background:#086b91;border-color:#086b91;color:#fff}
.chat-page #conversation-feedback:empty{display:none}
.chat-page #conversation-feedback .feedback{margin:0;border:0;border-left:4px solid #0875a3;background:#edf6fb;padding:18px 22px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.chat-page #conversation-feedback .feedback>span{flex-basis:100%;font-weight:600;color:#183f54}
.chat-page #conversation-feedback button{min-height:42px;min-width:72px;border:1px solid #81a7bb;border-radius:8px;background:#fff;color:#104f70;padding:8px 15px}
@media(max-width:600px){.chat-page .quick-replies{padding:14px}.chat-page .quick-replies button{flex:1 1 180px;text-align:center}}

/* Leitura de fotos e áudios após consentimento e antes da revisão. */
.chat-page .media-staging{margin:4px 24px 22px;padding:14px 18px;border:1px solid #d2e0e7;border-radius:10px;background:#f7fafc}
.chat-page .media-staging summary{font-weight:700;color:#075d80;cursor:pointer}
.chat-page .media-staging p,.chat-page .media-staging small{display:block;font-size:12px;line-height:1.6;color:#536d7a;margin:12px 0}
.chat-page .media-staging form{display:grid;gap:12px;margin-top:16px}
.chat-page .media-staging label:not(.media-consent){font-weight:600;font-size:13px}
.chat-page .media-staging input[type=file]{display:block;max-width:100%;width:100%;padding:12px;border:1px solid #bdd1dc;background:#fff}
.chat-page .media-staging .media-consent{display:flex;gap:9px;align-items:flex-start;font-size:12px;line-height:1.5}
.chat-page .media-staging button{justify-self:start;background:#086b91;color:#fff;border-color:#086b91}
.chat-page .media-staging #media-result{margin-top:14px}
.chat-page .media-staging textarea{display:block;width:100%;min-height:110px;margin:9px 0 12px;padding:12px;line-height:1.5}
@media(max-width:520px){.chat-page .media-staging{margin:4px 15px 20px;padding:12px}}

/* V41 - canal de voz; sem deslocar a grade ou os botões do chat */
.chat-page .voice-controls{padding:12px 18px;border-top:1px solid var(--line);background:#eef6f9}
.chat-page .voice-controls-line{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.chat-page .voice-controls-line button,.chat-page .voice-play{font-size:.875rem;line-height:1.4;padding:9px 13px;border:1px solid #0875a3;background:#fff;color:#07628d;border-radius:8px;font-weight:600;min-height:40px}
.chat-page .voice-controls-line button[aria-pressed="true"]{background:#0875a3;color:#fff}
.chat-page .voice-controls-line span{font-size:.82rem;color:#33586d}
.chat-page .voice-disclosure{font-size:.78rem;line-height:1.55;color:#586f7a;margin:8px 0 0}
.chat-page .bubble .voice-play{display:inline-flex;margin-top:10px;gap:6px}
.chat-page .bubble .voice-status{font-size:.78rem;display:block;color:#466377;margin-top:7px}
@media(max-width:520px){.chat-page .voice-controls{padding:12px 15px}.chat-page .voice-controls-line button{width:100%}}
