/* ASSISTENTE · direção Clean. Folha global (o painel está em toda tela), tudo em .agt-.
   Cor só de token; tempo só --t1/--t2/--t3 + --curva. */
.agt-gatilho{min-width:var(--toque);height:var(--toque);border-radius:var(--r2);flex:none;padding:0 var(--e3);
  background:transparent;border:0;color:var(--tinta2);display:inline-flex;align-items:center;justify-content:center;gap:var(--e2);
  transition:background var(--t1) var(--curva),color var(--t1) var(--curva)}
.agt-gatilho:hover{background:var(--painel2);color:var(--tinta)}
.agt-gatilho-rotulo{font-size:var(--letra-nota)}
.agt-painel{margin:0 0 0 auto;height:100%;max-height:100%;max-width:none;width:min(440px,100%);border:0;padding:0;
  background:var(--painel);color:var(--tinta);box-shadow:var(--sombra);display:none;flex-direction:column}
.agt-painel[open]{display:flex}
.agt-painel::backdrop{background:var(--veu)}
.agt-cabeca{display:flex;align-items:center;justify-content:space-between;gap:var(--e3);
  padding:var(--e4);border-bottom:1px solid var(--linha)}
.agt-cabeca h2{margin:0;font-family:var(--fonte-titulo)}
.agt-cabeca-acoes{display:flex;gap:var(--e2)}
.agt-fechar{min-width:var(--toque);min-height:var(--toque)}
.agt-conversa{flex:1;overflow-y:auto;padding:var(--e4);display:flex;flex-direction:column;gap:var(--e3)}
.agt-dica{color:var(--tinta3);margin:0}
.agt-sugestoes{display:flex;flex-wrap:wrap;gap:var(--e2);margin-top:var(--e3)}
.agt-sugestoes button{min-height:var(--toque)}
.agt-msg{max-width:92%;padding:var(--e3);border-radius:var(--r3);line-height:1.45;white-space:pre-wrap}
.agt-msg.agt-pessoa{align-self:flex-end;background:var(--painel2)}
.agt-msg.agt-resposta{align-self:flex-start;background:var(--fundo);display:flex;gap:var(--e2);align-items:flex-start}
.agt-cartoes{display:flex;flex-wrap:wrap;gap:var(--e2);margin-top:var(--e2)}
.agt-cartoes a{min-height:var(--toque);display:inline-flex;align-items:center}
.agt-confirmar{margin-top:var(--e3);padding:var(--e3);border-radius:var(--r3);background:var(--painel)}
.agt-confirmar-resumo{margin:0;white-space:pre-wrap;font-family:var(--fonte-mono);font-size:var(--letra-nota)}
.agt-confirmar-botoes{display:flex;flex-wrap:wrap;gap:var(--e2);margin-top:var(--e3)}
.agt-confirmar-botoes button{min-height:var(--toque)}
.agt-confirmar-fim{margin:var(--e2) 0 0;color:var(--tinta2)}
.agt-par{margin:0}
.agt-par+.agt-par,.agt-par+.agt-itens,.agt-itens+.agt-par{margin-top:var(--e2)}
.agt-itens{margin:0;padding-left:var(--e4)}
.agt-lista{margin-top:var(--e3);white-space:normal;min-width:0}
.agt-lista-titulo{margin:0 0 var(--e2);font-family:var(--fonte-titulo)}
/* A lista é lista (dono, 07/11/2026): uma linha por item, PRD em negrito e o resto em seguida,
   cliente curto. O painel tem 440 px: tabela de colunas espremia e quebrava a palavra letra a letra.
   O cabeçalho continua para o leitor de tela, fora da vista. */
.agt-lista table,.agt-lista tbody{display:block;width:100%;border-collapse:collapse;font-size:var(--letra-nota)}
.agt-lista thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.agt-lista tr{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--e2);padding:var(--e2) 0;
  border-bottom:1px solid var(--linha)}
.agt-lista td{padding:0;border:0;color:var(--tinta2);overflow-wrap:break-word;font-variant-numeric:tabular-nums}
.agt-lista td:first-child{color:var(--tinta);font-family:var(--fonte-mono);font-weight:600;white-space:nowrap}
/* 1ª linha: PRD · cliente. 2ª linha: o resto (data, máquina…), menor, sem ponto solto no começo. */
.agt-lista td:nth-child(2){color:var(--tinta);flex:1 0 50%;min-width:0}
.agt-lista td:nth-child(n+3){font-size:var(--letra-micro);color:var(--tinta3)}
.agt-lista td+td::before{content:"·";color:var(--tinta4);margin-right:var(--e2)}
.agt-lista td:nth-child(3)::before{content:none}
.agt-lista-mais{margin:var(--e2) 0 0;color:var(--tinta2)}
.agt-lista-botoes{display:flex;flex-wrap:wrap;gap:var(--e2);margin-top:var(--e3)}
.agt-lista-botoes a,.agt-lista-botoes button{min-height:var(--toque);display:inline-flex;align-items:center}
.agt-lista-fim{margin:var(--e2) 0 0;color:var(--tinta2)}
.agt-espera{color:var(--tinta3)}
.agt-envio{border-top:1px solid var(--linha);padding:var(--e3) var(--e4)}
.agt-rotulo{display:block;font-size:var(--letra-nota);color:var(--tinta3);margin-bottom:var(--e1)}
.agt-linha{display:flex;gap:var(--e2);align-items:flex-end}
.agt-linha textarea{flex:1;min-height:var(--toque);resize:vertical}
.agt-linha button{min-height:var(--toque)}
.agt-aviso{color:var(--tinta2);margin:var(--e2) 0 0}
.agt-painel .agt-msg{transition:opacity var(--t2) var(--curva)}
@media (pointer:coarse){
  .agt-lista-botoes a,.agt-lista-botoes button{min-height:var(--toque-luva)}
  .agt-linha button,.agt-sugestoes button,.agt-cartoes a,.agt-fechar,.agt-gatilho{min-height:var(--toque-luva)}
  .agt-confirmar-botoes button{min-height:var(--toque-luva)}
  .agt-fechar,.agt-gatilho{min-width:var(--toque-luva)}
  .agt-painel{width:100%;max-width:none}
}
/* A barra do tablet em pé (834) e a do celular não comportam o rótulo: o botão vira só o
   ícone, alvo de luva, e a barra não passa da largura da tela. */
@media (max-width:900px){
  .agt-gatilho{padding:0;width:var(--toque)}
  .agt-gatilho-rotulo{display:none}
}
@media (pointer:coarse) and (max-width:900px){
  .agt-gatilho{width:var(--toque-luva)}
}
@media (pointer:coarse) and (max-width:430px){
  .agt-gatilho{width:var(--toque);min-width:var(--toque);min-height:var(--toque);height:var(--toque)}
}
@media (max-width:700px){
  .agt-painel{width:100%}
  .agt-gatilho{padding:0}
  .agt-gatilho-rotulo{display:none}
  .agt-linha{flex-wrap:wrap}
  .agt-linha textarea{flex-basis:100%}
}
@media (prefers-reduced-motion:reduce){
  .agt-painel .agt-msg{transition:none}
  .agt-cs *,.agt-cs{animation:none!important;transition:none!important}
}

/* MASCOTE Christian Simon (spec 2026-11-06). Cor só de token --cs-*; as peças não têm cor literal. */
.agt-cs{display:block;flex:none;overflow:visible}
/* o recorte do rosto corta o resto do corpo: sem isto o estator inteiro pinta fora do botão */
.agt-cs-rosto{overflow:hidden}
.agt-cs-f-pele{fill:var(--cs-pele)}
.agt-cs-f-pele-sombra{fill:var(--cs-pele-sombra)}
.agt-cs-f-cabelo{fill:var(--cs-cabelo)}
.agt-cs-f-grisalho{fill:var(--cs-grisalho)}
.agt-cs-f-dente{fill:var(--cs-dente)}
.agt-cs-f-carcaca{fill:var(--cs-carcaca)}
.agt-cs-f-carcaca-escura{fill:var(--cs-carcaca-escura)}
.agt-cs-f-carcaca-clara{fill:var(--cs-carcaca-clara)}
.agt-cs-f-janela{fill:var(--cs-janela)}
.agt-cs-f-ventoinha{fill:var(--cs-ventoinha)}
.agt-cs-s-pele-sombra{stroke:var(--cs-pele-sombra)}
.agt-cs-s-labio{stroke:var(--cs-labio)}
.agt-cs-s-cabelo{stroke:var(--cs-cabelo)}
.agt-cs-s-grisalho{stroke:var(--cs-grisalho)}
.agt-cs-s-carcaca-escura{stroke:var(--cs-carcaca-escura)}
.agt-cs-s-carcaca-clara{stroke:var(--cs-carcaca-clara)}
.agt-cs-s-eletroduto{stroke:var(--cs-eletroduto)}
.agt-cs-s-senoide{stroke:var(--senoide)}
/* um braço de cada lado por vez: o de repouso, salvo quando o estado pede outro */
.agt-cs-braco-esq-ouvido,.agt-cs-braco-aceno,.agt-cs-braco-ok,.agt-cs-braco-coca{display:none}
/* Estados (spec §4). Ele só reage: nenhum estado fala. Origem das peças em coordenadas do desenho. */
.agt-cs *{transform-box:view-box}
.agt-cs-cabeca{transform-origin:100px 92px;transition:transform var(--t2) var(--curva)}
.agt-cs-sobr{transition:transform var(--t2) var(--curva)}
.agt-cs-pupilas{transition:transform var(--t2) var(--curva)}
.agt-cs-olhos{transform-origin:100px 47px}
.agt-cs-ventoinha{transform-origin:80px 152px}
.agt-cs-boca{transform-origin:100px 72px;transition:transform var(--t2) var(--curva)}
.agt-cs-mao-aceno{transform-origin:136px 82px}
.agt-cs-escutando .agt-cs-cabeca{transform:rotate(-8deg)}
.agt-cs-escutando .agt-cs-sobr{transform:translateY(-2.5px)}
.agt-cs-escutando .agt-cs-braco-esq{display:none}
.agt-cs-escutando .agt-cs-braco-esq-ouvido{display:inline}
.agt-cs-pensando .agt-cs-pupilas{transform:translate(2px,-2px)}
.agt-cs-respondeu .agt-cs-braco-dir,.agt-cs-feito .agt-cs-braco-dir,.agt-cs-naodeu .agt-cs-braco-dir{display:none}
.agt-cs-respondeu .agt-cs-braco-aceno,.agt-cs-feito .agt-cs-braco-ok,.agt-cs-naodeu .agt-cs-braco-coca{display:inline}
.agt-cs-naodeu .agt-cs-sobr-e{transform:rotate(14deg);transform-origin:88px 39px}
.agt-cs-naodeu .agt-cs-sobr-d{transform:rotate(-14deg);transform-origin:112px 39px}
.agt-cs-naodeu .agt-cs-boca{transform:scale(.7,.35)}
/* Movimento só no mascote vivo (cabeçalho) e só com o painel aberto. Ciclos contínuos usam
   linear/ease-in-out: exceção registrada em DECISOES (06/11/2026). */
.agt-painel[open] .agt-cs-vivo .agt-cs-tudo{animation:agt-cs-respira 4s ease-in-out infinite}
.agt-painel[open] .agt-cs-vivo .agt-cs-olhos{animation:agt-cs-pisca 5s linear infinite}
.agt-painel[open] .agt-cs-vivo.agt-cs-pensando .agt-cs-ventoinha{animation:agt-cs-gira .7s linear infinite}
.agt-painel[open] .agt-cs-vivo.agt-cs-respondeu .agt-cs-mao-aceno{animation:agt-cs-aceno .4s ease-in-out 4 alternate}
.agt-painel[open] .agt-cs-vivo.agt-cs-feito .agt-cs-tudo{animation:agt-cs-pulo .6s ease-out 1}
.agt-painel[open] .agt-cs-vivo.agt-cs-naodeu .agt-cs-mao-coca{animation:agt-cs-coca .25s ease-in-out 8 alternate}
.agt-painel[open] .agt-cs-vivo.agt-cs-chega{animation:agt-cs-chega var(--t3) var(--curva) 1}
@keyframes agt-cs-respira{50%{transform:translateY(-1px)}}
@keyframes agt-cs-pisca{0%,94%,100%{transform:scaleY(1)}96%{transform:scaleY(.1)}}
@keyframes agt-cs-gira{to{transform:rotate(360deg)}}
@keyframes agt-cs-aceno{from{transform:rotate(-12deg)}to{transform:rotate(12deg)}}
@keyframes agt-cs-pulo{50%{transform:translateY(-3px)}}
@keyframes agt-cs-coca{from{transform:translate(0,0)}to{transform:translate(-3px,2px)}}
@keyframes agt-cs-chega{from{opacity:0;transform:translateY(12px)}}

/* Administração › Assistente (só administrador). A folha já vem na base. */
.agt-admin{min-width:0}
.agt-admin-teto{display:flex;gap:var(--e3);align-items:flex-end;flex-wrap:wrap}
.agt-admin-teto button,.agt-admin-teto input{min-height:var(--toque)}
@media (max-width:700px){
  .agt-admin thead{display:none}
  .agt-admin tbody tr{display:grid;grid-template-columns:1fr;gap:var(--e1);padding:var(--e3) var(--e4);
    border-bottom:1px solid var(--linha)}
  .agt-admin td{border:0;padding:0;display:flex;justify-content:space-between;gap:var(--e3)}
  .agt-admin td::before{content:attr(data-rotulo);color:var(--tinta3);font-size:var(--letra-nota)}
}
.agt-cabeca-quem{display:flex;align-items:center;gap:var(--e3);min-width:0}
.agt-cabeca-sub{margin:0;color:var(--tinta3);font-size:var(--letra-nota)}
.agt-cs-palco{position:relative;width:160px;margin:0 auto var(--e3)}
.agt-cs-video{position:absolute;inset:0;width:160px;height:206px}
.agt-cs-palco.agt-cs-com-video .agt-cs{visibility:hidden}
.agt-msg.agt-resposta > .agt-cs{margin-top:var(--e1)}
.agt-msg.agt-resposta > div{flex:1;min-width:0;overflow-wrap:break-word}
.agt-so-leitor{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:700px){
  .agt-cabeca-quem .agt-cs{width:56px;height:72px}
}
