/* Chat do tutor — mensagens roláveis + composer fixo embaixo. */
.chat {
  display: flex;
  flex-direction: column;
  height: calc(100vh - 13rem);
  min-height: 24rem;
  border: 1px solid var(--cor-borda);
  border-radius: var(--raio-md);
  background: var(--cor-superficie);
  overflow: hidden;
}
.chat__mensagens { flex: 1; overflow-y: auto; padding: var(--esp-5); display: flex; flex-direction: column; gap: var(--esp-4); }

.chat-balao { max-width: 80%; }
.chat-balao--user { align-self: flex-end; }
.chat-balao--tutor { align-self: flex-start; max-width: 90%; }
.chat-balao__corpo {
  padding: var(--esp-3) var(--esp-4);
  border-radius: var(--raio-md);
  font-size: var(--texto-sm);
}
.chat-balao--user .chat-balao__corpo { background: var(--cor-primaria-tint); color: var(--cor-texto); border-bottom-right-radius: var(--raio-sm); white-space: pre-wrap; }
.chat-balao--tutor .chat-balao__corpo { background: var(--cor-superficie-2); border-bottom-left-radius: var(--raio-sm); }
.chat-balao--tutor .chat-balao__corpo > * + * { margin-top: var(--esp-2); }
.chat-balao--tutor .chat-balao__corpo h2, .chat-balao--tutor .chat-balao__corpo h3 { margin-top: var(--esp-3); font-size: var(--texto-base); }

.chat-balao__rodape { display: flex; align-items: center; gap: var(--esp-3); margin-top: var(--esp-2); flex-wrap: wrap; }
.chat-balao__origem { font-size: var(--texto-xs); color: var(--cor-texto-suave); }
.chat-balao__copiar { background: none; border: none; color: var(--cor-texto-suave); padding: 2px; display: flex; }
.chat-balao__copiar:hover { color: var(--cor-primaria); }
.chat-balao__fontes { display: flex; flex-wrap: wrap; gap: var(--esp-2); width: 100%; }
.chat-balao__fonte { font-size: var(--texto-xs); color: var(--cor-primaria); background: var(--cor-primaria-tint); padding: 1px var(--esp-2); border-radius: var(--raio-pill); }
.chat-balao__fonte:hover { text-decoration: none; background: var(--cor-primaria); color: #fff; }

.chat__digitando { display: flex; gap: 4px; padding: var(--esp-2) var(--esp-5); }
.chat__digitando[hidden] { display: none; }
.chat__ponto { width: 7px; height: 7px; border-radius: 50%; background: var(--cor-texto-suave); animation: chat-pulso 1.2s infinite ease-in-out; }
.chat__ponto:nth-child(2) { animation-delay: .2s; }
.chat__ponto:nth-child(3) { animation-delay: .4s; }
@keyframes chat-pulso { 0%, 60%, 100% { opacity: .3; } 30% { opacity: 1; } }

.chat__sugestoes { padding: 0 var(--esp-5) var(--esp-3); }
.chat__sugestoes[hidden] { display: none; }

.chat__composer { display: flex; gap: var(--esp-3); padding: var(--esp-4); border-top: 1px solid var(--cor-borda); }
.chat__entrada {
  flex: 1; font: inherit; color: var(--cor-texto); background: var(--cor-fundo);
  border: 1px solid var(--cor-borda); border-radius: var(--raio-sm);
  padding: var(--esp-3); resize: none; line-height: 1.5; max-height: 160px;
}
.chat__entrada:focus-visible { outline: 2px solid var(--cor-primaria); outline-offset: 1px; }
.chat__enviar { align-self: flex-end; padding: var(--esp-3); }

@media (max-width: 640px) {
  .chat { height: calc(100vh - 11rem); }
  .chat-balao, .chat-balao--tutor { max-width: 95%; }
}
