/* Chat da Seiva — canto inferior direito. z-index acima dos toasts (90) e do
   overlay de carregamento (80), abaixo das telas de login/módulos (300). */
.seiva-chat { position: fixed; right: 16px; bottom: 16px; z-index: 95; }
.seiva-chat.oculto { display: none; }
/* Com o chat visível, os toasts sobem para não ficarem atrás do botão. */
body:has(.seiva-chat:not(.oculto)) #toasts { bottom: 84px; }

.seiva-botao {
  width: 58px; height: 58px; border-radius: 50%; border: 0; cursor: pointer;
  background: var(--acento); color: #fff; font: 600 12px/1 inherit; letter-spacing: .02em;
  box-shadow: 0 6px 18px rgba(3, 39, 92, .28);
}
.seiva-botao:hover, .seiva-botao:focus-visible { background: var(--acao); outline: none; }

.seiva-painel {
  width: 380px; height: 560px; max-height: calc(100vh - 32px);
  display: flex; flex-direction: column; overflow: hidden;
  background: var(--superficie); border: 1px solid var(--eixo); border-radius: 12px;
  box-shadow: 0 12px 32px rgba(15, 31, 51, .20);
}
.seiva-chat.expandido .seiva-painel { width: min(720px, calc(100vw - 32px)); height: min(80vh, 820px); }

.seiva-topo {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 8px;
  padding: 10px 12px; background: var(--acento); color: #fff;
}
.seiva-contexto { font-size: 12px; opacity: .85; margin-top: 2px; }
.seiva-topo-acoes { display: flex; gap: 4px; }
.seiva-topo-botao {
  background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 8px; padding: 2px 8px; font: inherit; font-size: 12px; cursor: pointer;
}
.seiva-topo-botao:hover, .seiva-topo-botao:focus-visible { background: rgba(255, 255, 255, .15); outline: none; }

.seiva-mensagens {
  flex: 1; overflow-y: auto; padding: 12px; display: flex; flex-direction: column; gap: 8px;
  background: var(--plano);
}
.seiva-msg {
  max-width: 88%; padding: 8px 10px; border-radius: 12px; line-height: 1.45;
  font-size: 13.5px; overflow-wrap: anywhere;
}
.seiva-msg.seiva { align-self: flex-start; background: var(--superficie); border: 1px solid var(--fio); color: var(--tinta); }
.seiva-msg.voce { align-self: flex-end; background: var(--acento); color: #fff; }
.seiva-msg.erro { border-color: var(--critico); color: var(--critico); }
.seiva-msg.digitando { color: var(--tinta-fraca); font-style: italic; }

.seiva-cartao { margin-top: 8px; padding: 8px; border: 1px solid var(--acao); border-radius: 8px; background: var(--plano); }
.seiva-cartao-hist { font-size: 12.5px; color: var(--tinta-2); margin: 4px 0 6px; }
.seiva-cartao-acoes { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.seiva-nota { font-size: 12px; color: var(--tinta-fraca); }

/* Perguntas prontas acima do campo de texto. */
.seiva-atalhos { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 10px 0; background: var(--superficie); }
.seiva-atalhos:empty { display: none; }
.seiva-atalho {
  border: 1px solid var(--eixo); background: var(--plano); color: var(--acento); cursor: pointer;
  border-radius: 999px; padding: 4px 10px; font: inherit; font-size: 12px;
}
.seiva-atalho:hover, .seiva-atalho:focus-visible { border-color: var(--acao); outline: none; }

/* Etapa B: lista do lote e dos grupos, com caixa de seleção por item. */
.seiva-lote { list-style: none; margin: 0 0 6px; padding: 0; max-height: 300px; overflow-y: auto; }
.seiva-lote-item { display: flex; gap: 8px; align-items: flex-start; padding: 6px 0; border-bottom: 1px solid var(--fio); }
.seiva-lote-item:last-child { border-bottom: 0; }
.seiva-lote-item input { margin-top: 3px; accent-color: var(--acao); }
.seiva-lote-memo { font-weight: 600; font-size: 12.5px; color: var(--tinta); overflow-wrap: anywhere; }
.seiva-chat.expandido .seiva-lote { max-height: 480px; }

/* Botão "?" nas linhas de Pendências e relatórios. */
.seiva-alerta { margin-left: 4px; min-width: 26px; font-weight: 600; color: var(--acento); }

.seiva-form { display: flex; gap: 8px; padding: 10px; border-top: 1px solid var(--fio); background: var(--superficie); }
.seiva-form textarea {
  flex: 1; resize: none; font: inherit; font-size: 13.5px; padding: 8px;
  border: 1px solid var(--eixo); border-radius: 8px; color: var(--tinta);
}
.seiva-form textarea:focus { outline: 2px solid var(--acao); outline-offset: 0; }

@media (max-width: 760px) {
  .seiva-chat { right: 12px; bottom: 72px; }   /* acima da barra de navegação inferior */
  body:has(.seiva-chat:not(.oculto)) #toasts { bottom: 140px; }
  .seiva-painel, .seiva-chat.expandido .seiva-painel { width: calc(100vw - 24px); height: calc(100vh - 96px); }
}
