/* 23/10/2026 · assistente da plataforma (chat + voz) no canto inferior — copiloto-connect.js */
.cp-raiz{position:fixed;right:20px;bottom:20px;z-index:70;font-family:'Space Grotesk',sans-serif}
.cp-fab{display:grid;place-items:center;width:58px;height:58px;border:0;border-radius:50%;background:var(--tc-y2,#F7FF3F);color:#0A0A0A;box-shadow:0 10px 28px rgba(0,0,0,.35);cursor:pointer;transition:transform .15s ease}
.cp-fab:hover{transform:translateY(-2px)}
.cp-raiz.aberto .cp-fab{transform:scale(.9)}
.cp-raiz.gravando .cp-fab{animation:cpPulso 1.2s ease-in-out infinite}
@keyframes cpPulso{0%,100%{box-shadow:0 0 0 0 rgba(247,255,63,.55)}50%{box-shadow:0 0 0 12px rgba(247,255,63,0)}}
.cp-painel{position:absolute;right:0;bottom:72px;display:flex;flex-direction:column;width:380px;height:min(580px,calc(100vh - 120px));background:#121212;border:1px solid rgba(255,255,255,.12);border-top:2px solid var(--tc-y2,#F7FF3F);box-shadow:0 24px 60px rgba(0,0,0,.5);color:#fff;overflow:hidden}
.cp-painel[hidden]{display:none}
.cp-cab{display:flex;align-items:center;gap:8px;padding:12px 12px 12px 14px;border-bottom:1px solid rgba(255,255,255,.08)}
.cp-av{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--tc-y2,#F7FF3F);color:#0A0A0A}
.cp-av.grande{width:56px;height:56px}
.cp-tit{flex:1;display:grid;gap:1px;min-width:0}
.cp-tit b{font-size:14.5px;font-weight:800}
.cp-tit select{max-width:100%;padding:0;border:0;background:none;color:rgba(255,255,255,.6);font:600 12px inherit;cursor:pointer;outline:none}
.cp-tit select option{background:#121212;color:#fff}
.cp-ib{flex:none;display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.1);background:none;color:rgba(255,255,255,.75);cursor:pointer}
.cp-ib:hover{border-color:rgba(247,255,63,.5);color:#fff}
.cp-ib[aria-pressed="true"]{color:var(--tc-y2,#F7FF3F);border-color:rgba(247,255,63,.45)}
.cp-msgs{flex:1;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:14px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}
.cp-m{max-width:86%;display:grid;gap:6px}
.cp-m p{margin:0;padding:9px 12px;font-size:13.5px;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap}
.cp-m.eu{align-self:flex-end}
.cp-m.eu p{background:var(--tc-y2,#F7FF3F);color:#0A0A0A;font-weight:600}
.cp-m.ia{align-self:flex-start}
.cp-m.ia p{background:rgba(255,255,255,.07);color:#fff}
.cp-m.ia.erro p{background:rgba(255,107,94,.12);color:#FFB3AA}
.cp-acao{display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03)}
.cp-acao>svg{color:var(--tc-y2,#F7FF3F)}
.cp-acao.ok{border-color:rgba(61,220,132,.45)}.cp-acao.ok>svg{color:#3DDC84}
.cp-acao.erro{border-color:rgba(255,107,94,.5)}.cp-acao.erro>svg{color:#FF6B5E}
.cp-acao span{display:grid;gap:2px;min-width:0}
.cp-acao b{font-size:13px;font-weight:700}
.cp-acao small{font-size:12px;color:rgba(255,255,255,.6)}
.cp-m.digitando{flex-direction:row;display:flex;gap:4px;padding:12px 14px;background:rgba(255,255,255,.07)}
.cp-m.digitando i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.6);animation:cpPonto 1s ease-in-out infinite}
.cp-m.digitando i:nth-child(2){animation-delay:.15s}.cp-m.digitando i:nth-child(3){animation-delay:.3s}
@keyframes cpPonto{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
.cp-vazio{margin:auto;display:grid;justify-items:center;gap:18px}
.cp-sug{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.cp-sug button{padding:8px 12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);color:#fff;font:600 12.5px inherit;cursor:pointer}
.cp-sug button:hover{border-color:rgba(247,255,63,.5)}
.cp-entrada{display:flex;align-items:flex-end;gap:8px;padding:10px;border-top:1px solid rgba(255,255,255,.08)}
.cp-entrada textarea{flex:1;min-height:40px;max-height:120px;padding:10px 12px;resize:none;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.35);color:#fff;font:500 13.5px/1.4 inherit;outline:none}
.cp-entrada textarea:focus{border-color:rgba(247,255,63,.6)}
.cp-mic,.cp-env{flex:none;display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.14);background:none;color:#fff;cursor:pointer}
.cp-env{border:0;background:var(--tc-y2,#F7FF3F);color:#0A0A0A}
.cp-mic:disabled{opacity:.35;cursor:not-allowed}
.cp-raiz.gravando .cp-mic{background:#FF6B5E;border-color:#FF6B5E;color:#fff}
html.tc-reduzir-anim .cp-raiz *{animation:none !important;transition:none !important}
@media (max-width:520px){.cp-raiz{right:12px;bottom:12px}.cp-painel{position:fixed;left:8px;right:8px;bottom:84px;width:auto;height:calc(100vh - 110px)}}
.pa-notificacoes-canto{bottom:92px !important} /* 23/10: acima do botão do assistente */

/* 23/10 (2): Bella — rosto no botão e no cabeçalho, olhos piscando, janela que abre como balão, mensagens que sobem */
.cp-bella{display:block;width:100%;height:100%;overflow:visible}
.cp-bella .cp-olhos{transform-box:fill-box;transform-origin:center;animation:cpPiscar 5.5s ease-in-out infinite}
@keyframes cpPiscar{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
.cp-fab{width:64px;height:64px;padding:10px 9px 12px;background:radial-gradient(circle at 30% 25%,#FFFF9A,var(--tc-y2,#F7FF3F) 60%,#D9E21E);box-shadow:0 10px 26px rgba(0,0,0,.35),0 0 0 4px rgba(247,255,63,.18);animation:cpFlutua 3.2s ease-in-out infinite}
.cp-fab:hover{animation-play-state:paused;transform:translateY(-3px) rotate(-4deg)}
.cp-raiz.aberto .cp-fab{animation:none;transform:scale(.88)}
@keyframes cpFlutua{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.cp-av{width:40px;height:40px;padding:6px 5px 7px;background:radial-gradient(circle at 30% 25%,#FFFF9A,var(--tc-y2,#F7FF3F) 65%)}
.cp-tit small{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:rgba(255,255,255,.55)}
.cp-tit small i{width:7px;height:7px;border-radius:50%;background:#3DDC84;box-shadow:0 0 0 3px rgba(61,220,132,.18)}
/* janela: abre e fecha como balão saindo do botão */
.cp-painel{transform-origin:calc(100% - 32px) calc(100% + 40px);animation:cpAbre .26s cubic-bezier(.2,1.25,.35,1) both;border-radius:14px;border-top-width:1px;border-top-color:rgba(255,255,255,.12)}
.cp-cab{border-radius:14px 14px 0 0;background:linear-gradient(180deg,rgba(247,255,63,.08),transparent)}
.cp-painel.saindo{animation:cpFecha .19s ease-in both}
@keyframes cpAbre{from{opacity:0;transform:translateY(16px) scale(.86)}to{opacity:1;transform:none}}
@keyframes cpFecha{to{opacity:0;transform:translateY(12px) scale(.9)}}
/* mensagens novas sobem */
.cp-m.novo,.cp-sug.novo{animation:cpSobe .28s cubic-bezier(.2,.9,.3,1) both}
@keyframes cpSobe{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.cp-m p{border-radius:14px}
.cp-m.eu p{border-bottom-right-radius:4px}
.cp-m.ia p{border-bottom-left-radius:4px}
.cp-m.digitando{border-radius:14px;border-bottom-left-radius:4px}
.cp-acao{border-radius:10px}
.cp-sug{justify-content:flex-start;margin-top:-2px}
.cp-sug button{border-radius:999px}
.cp-entrada textarea{border-radius:10px}
.cp-mic,.cp-env{border-radius:10px}
.cp-ib{border-radius:8px}
html.tc-reduzir-anim .cp-painel,html.tc-reduzir-anim .cp-fab,html.tc-reduzir-anim .cp-bella .cp-olhos{animation:none}

/* 23/10 (3): expressões da Bella (tela preta, olhos em anel, ω, bigodes) */
.cp-bella .bx{display:none}
.cp-raiz[data-expr="normal"] .bx-normal,.cp-raiz[data-expr="ouvindo"] .bx-ouvindo,.cp-raiz[data-expr="pensando"] .bx-pensando,.cp-raiz[data-expr="feliz"] .bx-feliz,.cp-raiz[data-expr="triste"] .bx-triste{display:inline}
.cp-raiz:not([data-expr]) .bx-normal{display:inline}
.cp-bella .bx-normal .cp-olhos{transform-box:fill-box;transform-origin:center;animation:cpPiscar 5s ease-in-out infinite}
.cp-bella .bx-pensando .cp-pontos circle{animation:cpPonto 1s ease-in-out infinite}
.cp-bella .bx-pensando .cp-pontos circle:nth-child(2){animation-delay:.15s}.cp-bella .bx-pensando .cp-pontos circle:nth-child(3){animation-delay:.3s}
.cp-raiz[data-expr="feliz"] .cp-fab{animation:cpPulinho .5s cubic-bezier(.3,1.6,.5,1)}
.cp-raiz[data-expr="triste"] .cp-fab{animation:cpNao .45s ease-in-out}
@keyframes cpPulinho{0%{transform:translateY(0)}40%{transform:translateY(-8px) scale(1.05)}100%{transform:translateY(0)}}
@keyframes cpNao{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.cp-fab:hover .bx-normal{display:none}.cp-raiz[data-expr="normal"] .cp-fab:hover .bx-feliz{display:inline}
html.tc-reduzir-anim .cp-bella *{animation:none !important}

/* 23/10 (4): chat da Bella segue o tema da plataforma */
.cp-painel{background:var(--tc-painel);color:var(--tc-texto);border-color:var(--tc-linha-2);box-shadow:0 24px 60px rgba(0,0,0,.25)}
.cp-cab{border-bottom-color:var(--tc-linha)}
.cp-tit small{color:var(--tc-apoio)}
.cp-ib{border-color:var(--tc-linha-2);color:var(--tc-texto-2)}
.cp-ib:hover{color:var(--tc-texto)}
.cp-m.ia p,.cp-m.digitando{background:var(--tc-painel-2);color:var(--tc-texto)}
.cp-m.digitando i{background:var(--tc-apoio)}
.cp-acao{border-color:var(--tc-linha-2);background:var(--tc-painel-2)}
.cp-acao small{color:var(--tc-apoio)}
.cp-sug button{border-color:var(--tc-linha-2);background:var(--tc-painel-2);color:var(--tc-texto)}
.cp-entrada{border-top-color:var(--tc-linha)}
.cp-entrada textarea{border-color:var(--tc-linha-2);background:var(--tc-painel-2);color:var(--tc-texto)}
.cp-mic{border-color:var(--tc-linha-2);color:var(--tc-texto)}
.cp-msgs{scrollbar-color:var(--tc-linha-2) transparent}
html:not([data-tema="escuro"]) .cp-m.ia.erro p{background:rgba(214,64,52,.1);color:#B23A30}
html:not([data-tema="escuro"]) .cp-acao.ok>svg{color:#1F8A4C}

/* 23/10 (4): rosto mais simples e fofo — a cabeça ocupa o botão */
.cp-fab{padding:9px}
.cp-av{padding:4px}
.cp-av.grande{padding:8px}

/* 23/10 (5): ícone da Bella das telas de carregamento (traço escuro sobre o amarelo) */
.cp-fab,.cp-av{color:#0A0A0A}
.cp-fab{padding:11px 10px 9px}
.cp-av{padding:5px 4px 4px}
.cp-bella .bx-normal .cp-olhos{transform-box:view-box;transform-origin:768px 591px}

.cp-bella .bx-normal .cp-olhos{transform-origin:770px 590px}
.cp-fab{padding:12px 10px 10px}
.cp-raiz[hidden]{display:none}
