/* ==========================================
   FECHA CHEF PRO — O NOVO "PERGUNTAR" (Etapa 15, 08/10/2026)
   A cápsula da conversa (aba "Perguntar" e janela 💬), as entregas (relatório, gráfico 3D, arquivos), ensinar,
   Conselho/Debate, inteligências e a prévia do relatório. Tudo novo mora aqui: o ia.css não muda (os testes leem
   aquele arquivo como texto).
   Cores (da referência): menta = recebido e ação · ciano = a receber · violeta = bruto · ÂMBAR SÓ PARA APROVAR ·
   coral = falha.
   ========================================== */
:root {
  --perg-menta: #65e5b5;
  --perg-ciano: #8acde5;
  --perg-violeta: #bba7ff;
  --perg-ambar: #efbe78;
  --perg-coral: #ed9292;
  --perg-menta-fundo: rgba(101, 229, 181, 0.12);
  --perg-menta-borda: rgba(101, 229, 181, 0.42);
  --perg-ambar-borda: rgba(239, 190, 120, 0.45);
  --perg-superficie: rgba(14, 22, 33, 0.72);
  --perg-campo: rgba(6, 11, 18, 0.55);
  --perg-grafico-fundo: rgba(8, 15, 22, 0.75);
  --perg-leve: rgba(255, 255, 255, 0.04);
  --perg-linha: rgba(255, 255, 255, 0.09);
  /* Texto de apoio (rótulos, horas, legendas): claro o bastante para o AA (4,5:1) no fundo escuro e tingido */
  --perg-apoio: #b4c3cd;
}
body.theme-light {
  --perg-apoio: #475569;
  --perg-menta: #047857;
  --perg-ciano: #0e7490;
  --perg-violeta: #6d28d9;
  --perg-ambar: #b45309;
  --perg-coral: #b91c1c;
  --perg-menta-fundo: rgba(4, 120, 87, 0.08);
  --perg-menta-borda: rgba(4, 120, 87, 0.35);
  --perg-ambar-borda: rgba(180, 83, 9, 0.4);
  --perg-superficie: #ffffff;
  --perg-campo: #ffffff;
  --perg-grafico-fundo: #f8fafc;
  --perg-leve: rgba(15, 23, 42, 0.04);
  --perg-linha: rgba(15, 23, 42, 0.1);
}

.perg-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: -1px; padding: 0; border: 0; }

/* Sem o perguntar.js (erro ao carregar) fica o chat de antes: as peças novas só aparecem com a marca perg-pronta */
.perg-capsula:not(.perg-pronta) .perg-barra,
.perg-capsula:not(.perg-pronta) .perg-boas-vindas,
.perg-capsula:not(.perg-pronta) #pergAnexar,
.perg-capsula:not(.perg-pronta) #pergInteligencias { display: none !important; }

/* ---------- cápsula ---------- */
#tab-assistente-ia .perg-capsula {
  max-width: 920px;
  background:
    radial-gradient(120% 70% at 0% 0%, rgba(101, 229, 181, 0.08), transparent 55%),
    radial-gradient(90% 60% at 100% 0%, rgba(187, 167, 255, 0.07), transparent 60%),
    var(--bg-card);
}
body.theme-light #tab-assistente-ia .perg-capsula { background: radial-gradient(120% 70% at 0% 0%, rgba(4, 120, 87, 0.05), transparent 55%), var(--bg-card); }
.perg-capsula { gap: 0.85rem; }

.perg-cab { display: flex; align-items: center; gap: 0.7rem; min-width: 0; }
.perg-cab-texto { display: flex; flex-direction: column; gap: 0.1rem; min-width: 0; flex: 1 1 auto; }
.perg-titulo { font-family: var(--font-display); font-size: 1.25rem; font-weight: 700; line-height: 1.15; margin: 0; }
.perg-estado { display: inline-flex; align-items: center; gap: 0.45rem; font-size: 0.82rem; color: var(--text-secondary); min-width: 0; overflow-wrap: anywhere; }
.perg-estado::before { content: ''; flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; background: var(--perg-menta); box-shadow: 0 0 8px var(--perg-menta); }
.perg-estado[data-tom="trabalhando"]::before { background: var(--perg-ciano); box-shadow: 0 0 8px var(--perg-ciano); animation: pergPulsa 1.2s ease-in-out infinite; }
.perg-estado[data-tom="aprovacao"]::before { background: var(--perg-ambar); box-shadow: 0 0 8px var(--perg-ambar); }
.perg-estado[data-tom="falha"]::before { background: var(--perg-coral); box-shadow: none; }

/* A "órbita": o sinal da assistente (gira devagar; para com menos movimento ou aba escondida) */
.perg-orbita { position: relative; flex: 0 0 auto; width: 36px; height: 36px; border-radius: 50%;
  background: radial-gradient(circle at 36% 34%, #d9fff1 0, #65e5b5 26%, #2a9d80 58%, #123c36 74%);
  box-shadow: 0 0 22px -6px #65e5b5; }
.perg-orbita::after { content: ''; position: absolute; inset: -5px; border-radius: 50%; border: 1.5px solid rgba(138, 205, 229, 0.18); border-top-color: #8acde5; border-right-color: rgba(187, 167, 255, 0.7); animation: pergGira 6s linear infinite; }
.perg-orbita-mini { width: 14px; height: 14px; box-shadow: 0 0 10px -2px #65e5b5; }
.perg-orbita-mini::after { inset: -3px; border-width: 1px; }
body.perg-aba-oculta .perg-orbita::after { animation-play-state: paused; }

.perg-nova {
  display: inline-flex; align-items: center; gap: 0.35rem; flex: 0 0 auto;
  min-height: 36px; padding: 0.35rem 0.85rem; border-radius: var(--radius-full);
  border: 1px solid var(--border-color); background: var(--perg-leve); color: var(--text-primary);
  font: inherit; font-size: 0.82rem; font-weight: 600; cursor: pointer; white-space: nowrap;
}
.perg-nova:hover { border-color: var(--perg-menta-borda); }
.perg-intro { margin: 0; font-size: 0.86rem; line-height: 1.5; color: var(--text-secondary); }

/* ---------- barra: período + modo ---------- */
.perg-barra { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; flex-wrap: wrap; }
.perg-escopo select, .perg-linha-escopo select {
  min-height: 36px; max-width: 100%; padding: 0.4rem 0.9rem; border-radius: var(--radius-full);
  border: 1px solid var(--border-color); background: var(--perg-leve); color: var(--text-primary);
  font: inherit; font-size: 0.84rem; font-weight: 600; cursor: pointer;
}
.perg-escopo select option, .perg-linha-escopo select option { color: #0f172a; background: #ffffff; }
.perg-modos { display: inline-flex; padding: 3px; gap: 2px; border-radius: var(--radius-full); background: var(--perg-leve); border: 1px solid var(--border-color); }
.perg-modos button {
  min-height: 32px; padding: 0.35rem 0.85rem; border: 0; border-radius: var(--radius-full);
  background: transparent; color: var(--text-secondary); font: inherit; font-size: 0.84rem; font-weight: 600; cursor: pointer;
}
.perg-modos button[aria-checked="true"] { background: var(--perg-menta-fundo); color: var(--perg-menta); box-shadow: inset 0 0 0 1px var(--perg-menta-borda); }
.perg-modos button:focus-visible, .perg-nova:focus-visible, .perg-btn:focus-visible, .perg-chip:focus-visible, .perg-cartao:focus-visible,
.perg-link:focus-visible, .perg-icone-btn:focus-visible, .perg-arquivo:focus-visible, .perg-intencoes button:focus-visible, .perg-previa-fechar:focus-visible {
  outline: 2px solid var(--perg-menta); outline-offset: 2px;
}
/* Pontos que só recebem o foco por código (o título do painel, o cartão do resultado pronto): o leitor de tela e o Tab
   continuam dali, sem moldura em volta (não são botões) */
.perg-painel-cab h3:focus, .ia-chat-historico .perg-msg:focus { outline: none; }

/* ---------- boas-vindas (conversa vazia) ---------- */
.perg-boas-vindas { display: none; }
.perg-vazio .perg-boas-vindas { display: flex; flex-direction: column; gap: 0.85rem; padding: 0.4rem 0.1rem; }
.perg-vazio .ia-chat-historico { display: none; }
.perg-kicker { display: flex; align-items: center; gap: 0.55rem; margin: 0; font-size: 0.74rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--perg-menta); }
.perg-bv-titulo { margin: 0; font-family: var(--font-display); font-size: clamp(1.4rem, 3.2vw, 1.95rem); font-weight: 700; line-height: 1.15; }
.perg-bv-titulo em { font-style: normal; background: linear-gradient(90deg, #65e5b5, #8acde5 55%, #bba7ff); -webkit-background-clip: text; background-clip: text; color: transparent; }
body.theme-light .perg-bv-titulo em { background: linear-gradient(90deg, #047857, #0e7490 55%, #6d28d9); -webkit-background-clip: text; background-clip: text; }
.perg-bv-apoio { margin: 0; max-width: 62ch; font-size: 0.92rem; line-height: 1.5; color: var(--text-secondary); }
.perg-intencoes { display: flex; gap: 0.3rem; flex-wrap: wrap; border-bottom: 1px solid var(--border-color); }
.perg-intencoes button {
  margin-bottom: -1px; min-height: 38px; padding: 0.45rem 0.8rem; border: 0; border-bottom: 2px solid transparent;
  background: transparent; color: var(--text-secondary); font: inherit; font-size: 0.88rem; font-weight: 600; cursor: pointer;
}
.perg-intencoes button[aria-pressed="true"] { color: var(--text-primary); border-bottom-color: var(--perg-menta); }
.perg-cartoes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; }
.perg-cartao {
  display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 0.7rem; row-gap: 0.15rem;
  min-height: 66px; padding: 0.8rem 0.9rem; text-align: left;
  border-radius: 14px; border: 1px solid var(--border-color); background: var(--perg-superficie); color: var(--text-primary);
  font: inherit; cursor: pointer; transition: border-color 0.15s, transform 0.15s, background 0.15s;
}
.perg-cartao:hover { border-color: var(--perg-menta-borda); transform: translateY(-1px); }
.perg-cartao-icone { grid-row: 1 / span 2; align-self: center; font-size: 1.35rem; line-height: 1; }
.perg-cartao strong { font-size: 0.93rem; line-height: 1.3; }
.perg-cartao span:not(.perg-cartao-icone) { font-size: 0.8rem; line-height: 1.4; color: var(--text-secondary); }
.perg-equipe { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 0.55rem; font-size: 0.8rem; color: var(--text-secondary); }
.perg-equipe-ia { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.2rem 0.6rem; border-radius: var(--radius-full); border: 1px solid var(--border-color); background: var(--perg-leve); color: var(--text-primary); }
.perg-equipe-ia i { width: 7px; height: 7px; border-radius: 50%; background: var(--perg-menta); }

.perg-link { padding: 0.2rem 0.1rem; border: 0; background: none; color: var(--perg-menta); font: inherit; font-size: 0.84rem; font-weight: 600; cursor: pointer; text-align: left; }
.perg-link:hover { text-decoration: underline; }

/* ---------- campo de envio ---------- */
.ia-chat-form.perg-form {
  flex-direction: row; align-items: flex-end; gap: 0.4rem; padding: 0.4rem;
  border-radius: 16px; border: 1px solid var(--border-color); background: var(--perg-campo);
  transition: border-color 0.15s, box-shadow 0.15s;
}
.ia-chat-form.perg-form:focus-within { border-color: var(--perg-menta); box-shadow: 0 0 0 2px var(--perg-menta-borda); }
.ia-chat-form.perg-form .mlb-input {
  flex: 1 1 auto; min-width: 0; min-height: 44px; max-height: 164px; padding: 0.62rem 0.5rem;
  border: 0; background: transparent; box-shadow: none; resize: none; line-height: 1.45; overflow-y: auto;
}
.ia-chat-form.perg-form .mlb-input:focus { box-shadow: none; }
.ia-chat-form.perg-form .mlb-input::placeholder { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ia-chat-form.perg-form .btn-vincular-confirmar { width: auto; min-height: 44px; padding: 0 1.1rem; border-radius: 12px; }
.perg-icone-btn {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
  width: 44px; height: 44px; border-radius: 12px; border: 1px solid transparent;
  background: transparent; color: var(--text-secondary); font-size: 1.15rem; line-height: 1; cursor: pointer;
}
.perg-icone-btn:hover { background: var(--perg-leve); border-color: var(--border-color); }
.perg-icone-btn.perg-ouvindo { background: rgba(237, 146, 146, 0.14); border-color: rgba(237, 146, 146, 0.5); animation: pergPulsa 1.2s ease-in-out infinite; }
/* 🔇 Voz desligada na bolinha: o 🎤 do chat fica apagado (continua clicável só para avisar como ligar) */
.perg-icone-btn.perg-mic-off { opacity: 0.45; filter: grayscale(1); }
.perg-parar {
  flex: 0 0 auto; min-height: 44px; padding: 0 1rem; border-radius: 12px;
  border: 1px solid rgba(237, 146, 146, 0.55); background: rgba(237, 146, 146, 0.1); color: var(--perg-coral);
  font: inherit; font-size: 0.88rem; font-weight: 700; cursor: pointer; white-space: nowrap;
}
.perg-icone-btn[hidden], .perg-parar[hidden], .ia-chat-form.perg-form .btn-vincular-confirmar[hidden] { display: none !important; }

.perg-rodape { display: flex; align-items: center; flex-wrap: wrap; gap: 0.3rem 0.8rem; font-size: 0.78rem; color: var(--perg-apoio); }
.perg-rodape .ia-status-linha { flex: 1 1 100%; }
.perg-fonte { flex: 1 1 auto; min-width: 0; }
.perg-rodape .perg-link { font-size: 0.8rem; }
.perg-rodape .perg-pedir-correcoes { font-size: 0.8rem; }

/* Caminho do pedido: Você → Fecha Chef → IA → Resultado (acende só por evento real) */
.perg-caminho { flex: 1 1 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 0.2rem 0.35rem; margin: 0; padding: 0; list-style: none; font-size: 0.78rem; color: var(--perg-apoio); }
.perg-caminho[hidden] { display: none; }
.perg-caminho li { display: inline-flex; align-items: center; gap: 0.3rem; white-space: nowrap; }
.perg-caminho li + li::before { content: '→'; margin-right: 0.1rem; color: var(--perg-apoio); opacity: 0.7; }
.perg-caminho i { width: 8px; height: 8px; border-radius: 50%; border: 1.5px solid var(--perg-apoio); }
.perg-caminho li[data-estado="agora"] { color: var(--text-primary); font-weight: 600; }
.perg-caminho li[data-estado="agora"] i { border-color: var(--perg-ciano); background: var(--perg-ciano); animation: pergPulsa 1.1s ease-in-out infinite; }
.perg-caminho li[data-estado="feito"] { color: var(--text-secondary); }
.perg-caminho li[data-estado="feito"] i { border-color: var(--perg-menta); background: var(--perg-menta); }
.perg-caminho li[data-estado="pulado"] { font-style: italic; }
.perg-caminho li[data-estado="pulado"] i { border-style: dashed; }
.perg-caminho li[data-estado="falhou"] { color: var(--perg-coral); }
.perg-caminho li[data-estado="falhou"] i { border-color: var(--perg-coral); background: var(--perg-coral); }

/* Rota real das APIs: cada tentativa continua visível enquanto a pergunta passa pela fila */
.perg-rota-ias { flex: 1 1 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem; font-size: 0.72rem; color: var(--perg-apoio); }
.perg-rota-ias[hidden] { display: none; }
.perg-rota-ias span { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0.18rem 0.38rem; border: 1px solid var(--border-color); border-radius: 999px; background: var(--bg-secondary); }
.perg-rota-ias span b { margin-left: 0.15rem; color: var(--perg-apoio); font-weight: 400; }
.perg-rota-ias span i { width: 7px; height: 7px; border-radius: 50%; border: 1.5px solid currentColor; }
.perg-rota-ias span[data-estado="agora"] { color: var(--text-primary); border-color: var(--perg-ciano); font-weight: 700; }
.perg-rota-ias span[data-estado="agora"] i { background: var(--perg-ciano); animation: pergPulsa 1.1s ease-in-out infinite; }
.perg-rota-ias span[data-estado="feito"] { color: var(--text-secondary); border-color: var(--perg-menta); }
.perg-rota-ias span[data-estado="feito"] i { background: var(--perg-menta); }
.perg-rota-ias span[data-estado="falhou"] { color: var(--perg-coral); border-color: color-mix(in srgb, var(--perg-coral) 55%, transparent); }
.perg-rota-ias span[data-estado="falhou"] i { background: var(--perg-coral); }
.perg-rota-ias span[data-estado="pulado"] { opacity: 0.72; border-style: dashed; }

/* Atalhos numa resposta do app (cumprimento, IA desligada): um toque e o app responde */
.perg-atalhos { display: flex; flex-wrap: wrap; gap: 0.4rem; padding: 0.15rem 0.1rem 0.1rem; }

/* Rodapé da resposta (quem respondeu, quanto custou, 🤔 Por quê?, 📋 Copiar): letra legível, contraste AA e botão fácil
   de tocar (era 0,68rem e 20 px de altura). O ia.css fica igual: os testes o leem como texto. */
.perg-capsula .ia-msg-meta { font-size: 0.78rem; color: var(--perg-apoio); }
.perg-capsula .ia-msg-copiar { font-size: 0.8rem; min-height: 36px; padding: 0.35rem 0.6rem; color: var(--perg-apoio); }
.perg-capsula .ia-msg-copiar:hover { color: var(--text-primary); }

/* Tela 🤖 IA: chave que o app está pulando agora ("⏸ até 14:20") e a Jev que não está decidindo: tom neutro, tracejado */
.ia-fila-pausada, .ia-usada-pausada { border-style: dashed; color: var(--text-secondary); white-space: normal; }
.ia-fila-jev-parada { color: var(--text-secondary); }

/* ---------- cartões do próprio "Perguntar" dentro da conversa ---------- */
.ia-chat-historico .ia-msg.perg-msg { width: 100%; max-width: 100%; align-self: stretch; align-items: stretch; }
.perg-msg-cab { display: flex; align-items: center; gap: 0.55rem; padding: 0 0.25rem 0.3rem; font-size: 0.74rem; color: var(--perg-apoio); }
.perg-quem { display: inline-flex; align-items: center; gap: 0.35rem; font-weight: 700; color: var(--text-secondary); }
.perg-quem i { width: 8px; height: 8px; border-radius: 50%; background: var(--perg-menta); box-shadow: 0 0 8px var(--perg-menta); }
.perg-selo { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em; color: var(--perg-menta); }
.perg-quando { margin-left: auto; font-variant-numeric: tabular-nums; }
.perg-cartao-msg {
  display: flex; flex-direction: column; gap: 0.7rem; min-width: 0; padding: 1rem 1.1rem;
  border-radius: 16px; border: 1px solid var(--border-color); background: var(--perg-superficie);
}
.perg-cartao-msg h4 { margin: 0; font-family: var(--font-display); font-size: 1.1rem; font-weight: 700; line-height: 1.25; }
.perg-cartao-msg p { margin: 0; font-size: 0.88rem; line-height: 1.5; color: var(--text-secondary); overflow-wrap: anywhere; }
.perg-cartao-msg strong { color: var(--text-primary); }
.perg-olho { font-size: 0.72rem !important; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--perg-menta) !important; }
.perg-pedido { padding-left: 0.75rem; border-left: 3px solid var(--perg-menta-borda); font-style: italic; color: var(--text-primary) !important; }
.perg-linha-escopo label { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem; font-size: 0.86rem; color: var(--text-secondary); }
.perg-chips { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.perg-chip {
  min-height: 36px; padding: 0.35rem 0.85rem; border-radius: var(--radius-full);
  border: 1px solid var(--border-color); background: transparent; color: var(--text-secondary);
  font: inherit; font-size: 0.84rem; font-weight: 600; cursor: pointer;
}
.perg-chip[aria-pressed="true"] { background: var(--perg-menta-fundo); border-color: var(--perg-menta-borda); color: var(--perg-menta); }
.perg-chip:disabled { opacity: 0.55; cursor: default; }
.perg-nota { font-size: 0.8rem !important; color: var(--perg-apoio) !important; }
.perg-tabela-caixa { min-width: 0; }
.perg-gratis { display: flex; align-items: flex-start; gap: 0.55rem; padding: 0.55rem 0.75rem; border-radius: 10px; border: 1px dashed var(--border-color); font-size: 0.86rem; color: var(--text-secondary); cursor: pointer; }
.perg-gratis input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 0.1rem; accent-color: #65e5b5; }
.perg-gratis small { display: block; font-size: 0.8rem; color: var(--perg-apoio); }

/* Os passos do trabalho: cada um só fica "pronto" quando termina de verdade */
.perg-passos { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.perg-passos li { display: grid; grid-template-columns: 28px minmax(0, 1fr); column-gap: 0.6rem; align-items: center; font-size: 0.88rem; color: var(--perg-apoio); }
.perg-passo-marca {
  grid-row: 1 / span 2; display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--border-color);
  font-size: 0.76rem; font-weight: 700;
}
.perg-passo-det { grid-column: 2; font-size: 0.78rem; color: var(--perg-apoio); overflow-wrap: anywhere; }
.perg-passo-det:empty { display: none; }
.perg-passos li[data-estado="agora"] { color: var(--text-primary); font-weight: 600; }
.perg-passos li[data-estado="agora"] .perg-passo-marca { border-color: var(--perg-ciano); color: var(--perg-ciano); animation: pergPulsa 1.1s ease-in-out infinite; }
.perg-passos li[data-estado="feito"] { color: var(--text-secondary); }
.perg-passos li[data-estado="feito"] .perg-passo-marca { background: var(--perg-menta-fundo); border-color: var(--perg-menta-borda); color: var(--perg-menta); }
.perg-passos li[data-estado="falhou"] { color: var(--perg-coral); }
.perg-passos li[data-estado="falhou"] .perg-passo-marca { border-color: var(--perg-coral); color: var(--perg-coral); }
.perg-concluido .perg-acoes { display: none; }

/* Botões dos cartões */
.perg-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.perg-btn {
  min-height: 42px; padding: 0.5rem 1rem; border-radius: 12px;
  border: 1px solid var(--border-color); background: var(--perg-leve); color: var(--text-primary);
  font: inherit; font-size: 0.87rem; font-weight: 600; cursor: pointer; transition: border-color 0.15s, transform 0.15s, filter 0.15s;
}
.perg-btn:hover:not(:disabled) { border-color: var(--perg-menta-borda); transform: translateY(-1px); }
.perg-btn:disabled { opacity: 0.55; cursor: not-allowed; transform: none; }
.perg-btn-primario { border-color: transparent; background: linear-gradient(135deg, #7cf0c4, #3fbf95); color: #052a1f; }
.perg-btn-primario:hover:not(:disabled) { filter: brightness(1.06); border-color: transparent; }
/* Âmbar = só para aprovar (guardar regra, gastar no Conselho) */
.perg-btn-aprovar { border-color: transparent; background: linear-gradient(135deg, #f6d49e, #efbe78); color: #3a2706; }
.perg-btn-aprovar:hover:not(:disabled) { filter: brightness(1.05); border-color: transparent; }

/* ---------- entrega pronta ---------- */
.perg-frase { color: var(--text-primary) !important; font-size: 0.92rem !important; }
.perg-artefato { display: flex; flex-direction: column; gap: 0.75rem; min-width: 0; padding: 0.9rem; border-radius: 14px; border: 1px solid var(--border-color); background: var(--perg-leve); }
.perg-artefato-cab { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 0.75rem; }
.perg-artefato-icone { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: var(--perg-menta-fundo); font-size: 1.35rem; }
.perg-artefato-cab strong { display: block; font-size: 1rem; }
.perg-artefato-cab small { display: block; font-size: 0.75rem; color: var(--perg-apoio); }
.perg-pronto { padding: 0.2rem 0.6rem; border-radius: var(--radius-full); background: var(--perg-menta-fundo); color: var(--perg-menta); font-size: 0.74rem; font-weight: 700; white-space: nowrap; }
.perg-totais { display: grid; grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); gap: 0.5rem; }
.perg-totais div { min-width: 0; padding: 0.55rem 0.7rem; border-radius: 10px; border: 1px solid var(--border-color); background: var(--perg-leve); }
.perg-totais span { display: block; font-size: 0.74rem; color: var(--perg-apoio); }
.perg-totais b { display: block; font-size: 1.15rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.perg-totais-grandes b { font-size: 1.35rem; }
.perg-totais .perg-destaque { border-color: rgba(138, 205, 229, 0.45); background: rgba(138, 205, 229, 0.07); }
.perg-cor-bruto { color: var(--perg-violeta); }
.perg-cor-pago { color: var(--perg-menta); }
.perg-cor-falta { color: var(--perg-ciano); }
.perg-progresso { height: 8px; overflow: hidden; border-radius: var(--radius-full); background: rgba(138, 205, 229, 0.22); }
.perg-progresso i { display: block; width: var(--p, 0%); height: 100%; border-radius: inherit; background: linear-gradient(90deg, #65e5b5, #8acde5); transition: width 0.8s cubic-bezier(0.2, 0.8, 0.2, 1); }
.perg-progresso-rot { display: flex; justify-content: space-between; gap: 0.5rem; font-size: 0.75rem !important; color: var(--perg-apoio) !important; }
.perg-arquivos { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.perg-arquivo {
  min-height: 36px; padding: 0.3rem 0.75rem; border-radius: 10px;
  border: 1px dashed var(--border-color); background: transparent; color: var(--text-secondary);
  font: inherit; font-size: 0.8rem; font-weight: 600; cursor: pointer;
}
.perg-arquivo:hover { border-style: solid; border-color: var(--perg-menta-borda); color: var(--text-primary); }
.perg-continuar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 1rem; padding-top: 0.55rem; border-top: 1px dashed var(--border-color); }
.perg-continuar .perg-olho { flex-basis: 100%; }

/* ---------- gráfico (formas em SVG; nomes e valores em HTML, legíveis no celular) ---------- */
.perg-grafico-caixa:empty { display: none; }
.perg-grafico { display: flex; flex-direction: column; gap: 0.65rem; min-width: 0; margin: 0; padding: 0.85rem; border-radius: 14px; border: 1px solid var(--border-color); background: var(--perg-grafico-fundo); }
.perg-grafico-cab { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.2rem 0.8rem; }
.perg-grafico-cab strong { font-size: 0.93rem; }
.perg-grafico-cab span { font-size: 0.8rem; color: var(--perg-apoio); }
.perg-grafico figcaption { font-size: 0.75rem; color: var(--perg-apoio); }
.perg-grafico-vazio p { margin: 0; font-size: 0.88rem; color: var(--text-secondary); }
.perg-barras { display: flex; flex-direction: column; gap: 0.4rem; transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1); transform-origin: 30% 50%; }
.perg-barra-linha { display: grid; grid-template-columns: minmax(84px, 30%) minmax(0, 1fr) auto; align-items: center; gap: 0.6rem; }
.perg-barra-nome {
  font-size: 0.86rem; line-height: 1.2; overflow-wrap: anywhere;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.perg-barra-svg { display: block; width: 100%; height: 26px; overflow: visible; }
.perg-barra-valor { font-size: 0.84rem; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.perg-barra-outros .perg-barra-nome { color: var(--text-secondary); font-style: italic; }
.perg-colunas-area { position: relative; min-width: 0; }
.perg-colunas-palco { position: relative; width: 100%; aspect-ratio: 2 / 1; transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1); transform-origin: 50% 85%; }
.perg-colunas-svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.perg-grade { stroke: var(--perg-linha); stroke-width: 1; }
.perg-chao { fill: var(--perg-linha); }
.perg-chao-linha { stroke: var(--perg-linha); stroke-width: 1.5; }
.perg-eixo, .perg-colunas-valores { position: absolute; inset: 0; pointer-events: none; }
.perg-eixo-marca { position: absolute; left: 0; transform: translateY(-110%); font-size: 13px; color: var(--perg-apoio); font-variant-numeric: tabular-nums; white-space: nowrap; }
.perg-coluna-valor { position: absolute; transform: translate(-50%, -125%); font-size: 13px; font-weight: 700; color: var(--text-primary); white-space: nowrap; font-variant-numeric: tabular-nums; }
.perg-colunas-nomes { display: grid; grid-template-columns: repeat(var(--n, 1), minmax(0, 1fr)); gap: 4px; margin-top: 0.35rem; padding: 0 2.33% 0 9.33%; }
.perg-coluna-nome {
  font-size: 13px; line-height: 1.2; text-align: center; overflow-wrap: anywhere;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.perg-girado .perg-colunas-palco { transform: perspective(900px) rotateX(20deg) rotateY(-16deg); }
.perg-girado .perg-barras { transform: perspective(900px) rotateY(-14deg) rotateX(8deg); }
.perg-grafico-controles { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.55rem; }
.perg-tabela-det { margin-top: 0.45rem; }
.perg-tabela-det summary { padding: 0.4rem 0; color: var(--perg-menta); font-size: 0.85rem; font-weight: 600; cursor: pointer; }
.perg-tabela caption { caption-side: top; padding: 0.4rem 0.6rem; text-align: left; font-size: 0.76rem; color: var(--perg-apoio); }
.perg-tabela tbody th, .perg-tabela tfoot th { padding: 0.4rem 0.6rem; border-top: 1px solid var(--border-color); background: transparent; color: var(--text-primary); font-size: 0.8rem; font-weight: 600; text-transform: none; letter-spacing: 0; }
.perg-tabela tfoot th, .perg-tabela tfoot td { font-weight: 700; }
.perg-tabela thead th { color: var(--perg-apoio); }

/* ---------- ensinar ---------- */
.perg-rotulo { font-size: 0.74rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--perg-apoio); }
.perg-regra {
  width: 100%; min-height: 84px; box-sizing: border-box; padding: 0.7rem 0.8rem; border-radius: 12px;
  border: 1px solid var(--perg-ambar-borda); background: var(--perg-campo); color: var(--text-primary);
  font: inherit; font-size: 16px; line-height: 1.5; resize: vertical;
}
.perg-regra:focus { outline: 2px solid var(--perg-ambar); outline-offset: 1px; box-shadow: none; }
.perg-aviso { padding: 0.5rem 0.7rem; border-radius: 10px; border: 1px solid rgba(237, 146, 146, 0.35); background: rgba(237, 146, 146, 0.08); color: var(--perg-coral) !important; font-size: 0.85rem !important; }
.perg-aviso[hidden] { display: none; }
.perg-ajuda { display: flex; align-items: flex-start; gap: 0.6rem; padding: 0.65rem 0.8rem; border-radius: 12px; border: 1px solid rgba(187, 167, 255, 0.25); background: rgba(187, 167, 255, 0.07); }
.perg-ajuda strong { font-size: 0.85rem; }
.perg-ajuda p { font-size: 0.8rem !important; }
.perg-regra-vista { margin: 0; padding: 0.7rem 0.9rem; border-left: 3px solid var(--perg-menta); border-radius: 0 10px 10px 0; background: var(--perg-menta-fundo); color: var(--text-primary); font-size: 0.93rem; line-height: 1.5; overflow-wrap: anywhere; }

/* ---------- Conselho e Debate ---------- */
.perg-membros-escolha, .perg-membros { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.45rem; }
.perg-membros-escolha label { display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem 0.6rem; padding: 0.55rem 0.75rem; border-radius: 10px; border: 1px solid var(--border-color); font-size: 0.88rem; cursor: pointer; }
.perg-membros-escolha input { width: 18px; height: 18px; accent-color: #65e5b5; }
.perg-membros-escolha span { flex: 1 1 140px; font-size: 0.78rem; color: var(--perg-apoio); }
.perg-membros-escolha em { font-style: normal; font-weight: 700; font-variant-numeric: tabular-nums; }
.perg-custo { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 0.2rem 0.8rem; padding: 0.7rem 0.85rem; border-radius: 12px; border: 1px solid var(--perg-ambar-borda); background: rgba(239, 190, 120, 0.07); }
.perg-custo span { font-size: 0.86rem; }
.perg-custo b { font-size: 1.15rem; color: var(--perg-ambar); font-variant-numeric: tabular-nums; }
.perg-custo small { grid-column: 1 / -1; font-size: 0.76rem; color: var(--perg-apoio); }
.perg-membros li {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "nome estado" "papel papel" "barra barra";
  gap: 0.15rem 0.6rem; padding: 0.55rem 0.75rem; border-radius: 10px; border: 1px solid var(--border-color); font-size: 0.88rem;
}
.perg-membros li strong { grid-area: nome; }
.perg-membro-papel { grid-area: papel; font-size: 0.76rem; color: var(--perg-apoio); }
.perg-membro-estado { grid-area: estado; font-size: 0.8rem; color: var(--text-secondary); }
.perg-membro-barra { grid-area: barra; height: 3px; margin-top: 0.3rem; overflow: hidden; border-radius: 3px; background: var(--perg-linha); }
.perg-membro-barra i { display: block; width: 0; height: 100%; background: linear-gradient(90deg, #8acde5, #65e5b5); }
.perg-membro-barra i.perg-anda { animation: pergEnche var(--dur, 30s) linear forwards; }
.perg-membros li[data-estado="agora"] { border-color: rgba(138, 205, 229, 0.5); }
.perg-membros li[data-estado="feito"] .perg-membro-barra i { width: 100%; animation: none; }
.perg-membros li[data-estado="feito"] .perg-membro-estado { color: var(--perg-menta); }
.perg-membros li[data-estado="falhou"] { border-color: rgba(237, 146, 146, 0.45); }
.perg-membros li[data-estado="falhou"] .perg-membro-estado { color: var(--perg-coral); }
/* Parado pelo dono: nada fica "andando" (sem barra, sem fluxo no mapa) */
.perg-membros li[data-estado="parado"] { border-style: dashed; }
.perg-membros li[data-estado="parado"] .perg-membro-estado { color: var(--perg-apoio); }
.perg-membros li[data-estado="parado"] .perg-membro-barra i { animation: none; width: 0; }
.perg-espera { font-size: 0.8rem !important; }
/* O mapa desta rodada: acende só por evento real da fila */
.perg-mapa { width: 100%; max-width: 420px; margin: 0 auto; }
.perg-mapa-palco { position: relative; width: 100%; aspect-ratio: 400 / 132; }
.perg-mapa-palco svg { position: absolute; inset: 0; display: block; width: 100%; height: 100%; overflow: visible; }
.perg-mapa-rot { position: absolute; transform: translateX(-50%); font-size: 13px; line-height: 1.2; color: var(--text-secondary); white-space: nowrap; pointer-events: none; }
.perg-mapa-rot-dir { transform: translateY(-50%); font-weight: 600; color: var(--text-primary); }
.perg-mapa-linha { fill: none; stroke: var(--perg-linha); stroke-width: 2; stroke-dasharray: 4 6; }
.perg-mapa-linha[data-estado="agora"] { stroke: #8acde5; animation: pergFluxo 0.9s linear infinite; }
.perg-mapa-linha[data-estado="feito"] { stroke: #65e5b5; stroke-dasharray: none; }
.perg-mapa-linha[data-estado="falhou"] { stroke: #ed9292; }
.perg-mapa-linha[data-estado="parado"] { stroke: var(--perg-linha); animation: none; }
.perg-mapa-centro { fill: rgba(101, 229, 181, 0.18); stroke: #65e5b5; stroke-width: 1.5; }
.perg-mapa-anel { fill: none; stroke: rgba(101, 229, 181, 0.35); stroke-dasharray: 3 5; transform-box: fill-box; transform-origin: center; animation: pergGira 14s linear infinite; }
.perg-mapa-no { fill: var(--perg-leve); stroke: rgba(148, 163, 184, 0.45); stroke-width: 1.5; }
.perg-mapa-no[data-estado="agora"] { fill: rgba(138, 205, 229, 0.2); stroke: #8acde5; }
.perg-mapa-no[data-estado="feito"] { fill: rgba(101, 229, 181, 0.24); stroke: #65e5b5; }
.perg-mapa-no[data-estado="falhou"] { fill: rgba(237, 146, 146, 0.18); stroke: #ed9292; }
.perg-mapa-no[data-estado="parado"] { stroke-dasharray: 3 3; }
.perg-sintese { font-size: 0.9rem; line-height: 1.55; color: var(--text-primary); overflow-wrap: anywhere; }
.perg-concordam, .perg-discordam { padding: 0.6rem 0.8rem; border-radius: 10px; font-size: 0.86rem; }
.perg-concordam { border: 1px solid var(--perg-menta-borda); background: var(--perg-menta-fundo); }
.perg-discordam { border: 1px solid rgba(187, 167, 255, 0.4); background: rgba(187, 167, 255, 0.07); }
.perg-concordam ul, .perg-discordam ul { margin: 0.3rem 0 0; padding-left: 1.15rem; color: var(--text-secondary); }
.perg-jev, .perg-comparacao { font-size: 0.85rem !important; }
.perg-contribuicoes summary { color: var(--perg-menta); font-size: 0.87rem; font-weight: 600; cursor: pointer; }
.perg-contribuicao { margin-top: 0.6rem; padding-top: 0.6rem; border-top: 1px solid var(--border-color); }
.perg-contribuicao h5 { margin: 0 0 0.3rem; font-size: 0.92rem; }
.perg-contribuicao h5 small { font-weight: 400; color: var(--perg-apoio); }
.perg-contribuicao-texto { font-size: 0.86rem; line-height: 1.5; color: var(--text-secondary); overflow-wrap: anywhere; }
.perg-mudou { color: var(--perg-violeta) !important; font-size: 0.82rem !important; }
.perg-custo-final { font-size: 0.78rem !important; color: var(--perg-apoio) !important; }
.perg-propostas-por { margin: 0.2rem 0 0; font-size: 0.78rem; color: var(--perg-apoio); }

/* ---------- painel (inteligências / revisar o que aprendi): seção dentro do chat, não é janela ---------- */
.perg-painel { display: flex; flex-direction: column; gap: 0.75rem; min-height: 0; }
.perg-painel[hidden] { display: none; }
.perg-painel-aberto .ia-chat-historico, .perg-painel-aberto .perg-boas-vindas { display: none !important; }
.perg-painel-cab { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.6rem; }
.perg-painel-cab h3 { margin: 0; font-family: var(--font-display); font-size: 1.1rem; }
.perg-painel-corpo { display: flex; flex-direction: column; gap: 0.7rem; }
.perg-painel-sub { margin: 0; font-size: 0.84rem; color: var(--text-secondary); }
.perg-ias, .perg-regras { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.45rem; }
.perg-ias li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.15rem 0.75rem; padding: 0.6rem 0.8rem; border-radius: 12px; border: 1px solid var(--border-color); }
.perg-ias strong { font-size: 0.9rem; }
.perg-ias span { grid-column: 1; font-size: 0.78rem; color: var(--perg-apoio); }
.perg-ias em, .perg-ias li > button { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.perg-ias em { max-width: 45vw; padding: 0.2rem 0.6rem; border-radius: 12px; font-size: 0.78rem; font-style: normal; font-weight: 700; text-align: right; overflow-wrap: anywhere; background: var(--perg-leve); color: var(--perg-apoio); }
.perg-ias em[data-estado="ok"] { background: var(--perg-menta-fundo); color: var(--perg-menta); }
.perg-ias em[data-estado="falha"] { background: rgba(237, 146, 146, 0.12); color: var(--perg-coral); }
.perg-ias em[data-estado="pausa"] { background: rgba(138, 205, 229, 0.12); color: var(--perg-ciano); }
.perg-ia-fonte { border-style: dashed !important; }
.perg-regras li { display: flex; flex-direction: column; gap: 0.4rem; padding: 0.7rem 0.8rem; border-radius: 12px; border: 1px solid var(--border-color); }
.perg-regra-apagada { opacity: 0.62; }
.perg-regra-texto { margin: 0; font-size: 0.9rem; line-height: 1.5; color: var(--text-primary); overflow-wrap: anywhere; }
.perg-regra-meta { margin: 0; font-size: 0.75rem; color: var(--perg-apoio); }
.perg-selo-aviso { color: var(--perg-coral); font-weight: 700; }
.perg-versoes { display: flex; flex-direction: column; gap: 0.45rem; padding-left: 0.7rem; border-left: 2px solid var(--border-color); }
.perg-versoes[hidden] { display: none; }
.perg-versao p { margin: 0; font-size: 0.82rem; color: var(--text-secondary); overflow-wrap: anywhere; }
.perg-versao small { font-size: 0.72rem; color: var(--perg-apoio); }
.perg-versao del { color: var(--perg-coral); }
.perg-busca { display: block; }

/* ---------- prévia do relatório (janela de verdade: Esc e ✕ fecham) ---------- */
.perg-previa {
  width: min(880px, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); max-height: calc(100dvh - 2rem);
  margin: auto; padding: 0; overflow: hidden; flex-direction: column;
  border-radius: 18px; border: 1px solid var(--border-color); background: var(--bg-secondary); color: var(--text-primary);
  box-shadow: 0 30px 80px -20px rgba(0, 0, 0, 0.8);
}
.perg-previa[open] { display: flex; }
.perg-previa::backdrop { background: rgba(3, 7, 12, 0.72); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.perg-previa-cab { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1rem 1.2rem; border-bottom: 1px solid var(--border-color); }
.perg-previa-cab h3 { margin: 0; font-family: var(--font-display); font-size: 1.15rem; }
.perg-previa-cab .perg-olho { margin: 0 0 0.15rem; }
.perg-previa-fechar {
  flex: 0 0 auto; width: 42px; height: 42px; border-radius: 10px;
  border: 1px solid var(--border-color); background: var(--perg-leve); color: var(--text-primary); font-size: 1.05rem; cursor: pointer;
}
.perg-previa-corpo { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 1.1rem 1.2rem; display: flex; flex-direction: column; gap: 0.8rem; }
.perg-previa-corpo > * { flex-shrink: 0; }
.perg-previa-corpo .perg-olho { margin: 0; }
.perg-previa-titulo { margin: 0; font-family: var(--font-display); font-size: 1.45rem; }
.perg-previa-corpo h4 { margin: 0.4rem 0 0; font-size: 1rem; }
.perg-previa-corpo .perg-frase { margin: 0; }
.perg-fonte-lista { margin: 0; padding-left: 1.15rem; display: flex; flex-direction: column; gap: 0.3rem; font-size: 0.85rem; line-height: 1.5; color: var(--text-secondary); }
.perg-previa-rodape { display: flex; flex-direction: column; gap: 0.6rem; padding: 0.85rem 1.2rem; border-top: 1px solid var(--border-color); }
.perg-previa-rodape p { margin: 0; font-size: 0.8rem; color: var(--perg-apoio); }

/* ---------- janela 💬 (cápsula maior no computador; o cabeçalho é um só) ---------- */
.ia-chat-flutuante { overflow: clip; }
.ia-chat-flutuante .ia-chat-flut-cab { position: absolute; top: 0; right: 0; z-index: 4; padding: 0.6rem 0.6rem 0 0; border-bottom: 0; background: transparent; }
body.theme-light .ia-chat-flutuante .ia-chat-flut-cab { background: transparent; }
/* Janela de altura fixa (coluna flex): cabeçalho, barra e rodapé nunca encolhem (o estado em 2 linhas não invade a barra) */
.ia-chat-modo-flutuante .perg-cab, .ia-chat-modo-flutuante .perg-barra, .ia-chat-modo-flutuante .perg-rodape { flex-shrink: 0; }
.ia-chat-flutuante .ia-chat-flut-titulo { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
body:not(.theme-light) .ia-chat-flutuante {
  background: radial-gradient(110% 60% at 0% 0%, rgba(101, 229, 181, 0.07), transparent 55%), radial-gradient(80% 50% at 100% 0%, rgba(187, 167, 255, 0.06), transparent 60%), var(--bg-secondary);
}
.ia-chat-modo-flutuante .perg-cab { align-items: flex-start; min-height: 40px; padding-right: 7.9rem; }
.ia-chat-modo-flutuante .perg-intro { display: none; }
.ia-chat-modo-flutuante .perg-nova { width: 34px; height: 34px; min-height: 34px; padding: 0; justify-content: center; border-radius: 10px; font-size: 1rem; }
.ia-chat-modo-flutuante .perg-nova-rot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ia-chat-modo-flutuante.perg-vazio .perg-boas-vindas { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.ia-chat-modo-flutuante .perg-painel { flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; }
.ia-chat-modo-flutuante .perg-bv-titulo { font-size: 1.45rem; }
@media (min-width: 769px) {
  .ia-chat-flutuante { width: min(780px, calc(100vw - 2.5rem)); height: min(780px, calc(100vh - 3.5rem)); height: min(780px, calc(100dvh - 3.5rem)); }
  .ia-chat-flutuante.grande { width: min(1080px, calc(100vw - 2.5rem)); height: calc(100vh - 2.5rem); height: calc(100dvh - 2.5rem); }
}

/* ---------- celular ---------- */
@media (max-width: 700px) {
  .ia-chat-flutuante .ia-chat-flut-cab { padding: max(0.55rem, env(safe-area-inset-top)) 0.55rem 0 0; }
  .perg-capsula.ia-chat-modo-flutuante { padding-top: max(0.6rem, env(safe-area-inset-top)); }
  .ia-chat-modo-flutuante .perg-cab { padding-right: 6.1rem; }
  .perg-cab .perg-orbita { width: 30px; height: 30px; }
  .ia-chat-modo-flutuante .perg-nova { width: 40px; height: 40px; }
  .perg-titulo { font-size: 1.1rem; }
  .perg-intro { display: none; }
  .perg-barra { gap: 0.45rem; }
  .perg-escopo, .perg-escopo select { flex: 1 1 auto; min-width: 0; }
  .perg-escopo select, .perg-linha-escopo select, .perg-busca .mlb-input { font-size: 16px; }
  .perg-modos button { padding: 0.35rem 0.7rem; }
  .perg-cartoes { grid-template-columns: minmax(0, 1fr); }
  .perg-cartao { min-height: 58px; padding: 0.7rem 0.8rem; }
  .perg-bv-titulo, .ia-chat-modo-flutuante .perg-bv-titulo { font-size: 1.32rem; }
  .ia-chat-form.perg-form { gap: 0.25rem; padding: 0.3rem; }
  .ia-chat-form.perg-form .btn-vincular-confirmar { padding: 0 0.85rem; }
  .perg-icone-btn { width: 40px; }
  .perg-cartao-msg { padding: 0.85rem 0.8rem; }
  .perg-acoes .perg-btn { flex: 1 1 auto; }
  .perg-artefato { padding: 0.75rem; }
  .perg-artefato-cab { grid-template-columns: auto minmax(0, 1fr); }
  .perg-pronto { grid-column: 1 / -1; justify-self: start; }
  .perg-barra-linha { grid-template-columns: minmax(78px, 34%) minmax(0, 1fr) auto; gap: 0.45rem; }
  .perg-previa { width: 100vw; max-width: 100vw; height: 100vh; height: 100dvh; max-height: 100vh; max-height: 100dvh; border-radius: 0; border: 0; }
  .perg-previa-cab { padding: max(0.8rem, env(safe-area-inset-top)) 0.9rem 0.8rem; }
  .perg-previa-corpo { padding: 0.9rem; }
  .perg-previa-rodape { padding: 0.75rem 0.9rem max(0.75rem, env(safe-area-inset-bottom)); }
  .perg-previa-rodape .perg-btn { flex: 1 1 45%; }
  /* Teclado do iPhone aberto: a janela cabe na parte que sobra da tela (o campo de envio fica à vista) */
  body.perg-teclado .ia-chat-flutuante { height: var(--perg-vv-h, 100dvh); }
  body.perg-teclado .perg-capsula.ia-chat-modo-flutuante .perg-barra { display: none; }
  /* Toque fácil (44 px, como pede a referência) */
  .perg-modos button, .perg-escopo select, .perg-linha-escopo select, .perg-chip, .perg-arquivo, .perg-nova { min-height: 44px; }
  .perg-tabela-det summary { min-height: 44px; display: flex; align-items: center; }
  .perg-link { display: inline-flex; align-items: center; min-height: 40px; padding: 0.3rem 0.35rem; }
  .perg-intencoes button { min-height: 44px; }
  .perg-capsula .ia-msg-copiar { min-height: 44px; }
  .perg-capsula .ia-msg-meta { font-size: 0.82rem; }
  /* Textos pequenos sobem um pouco no celular */
  .perg-selo, .perg-kicker, .perg-msg-cab, .perg-rotulo, .perg-totais span, .perg-artefato-cab small, .perg-progresso-rot, .perg-custo small, .perg-membro-papel, .perg-grafico figcaption { font-size: 0.8rem !important; }
  .perg-olho { font-size: 0.78rem !important; }
  .perg-rodape, .perg-caminho, .perg-ias span { font-size: 0.82rem; }
  /* Totais: um por linha, rótulo à esquerda e valor inteiro à direita ("R$" nunca separado do número) */
  .perg-totais { grid-template-columns: minmax(0, 1fr); gap: 0.4rem; }
  .perg-totais div { display: flex; align-items: baseline; justify-content: space-between; gap: 0.6rem; padding: 0.5rem 0.7rem; }
  .perg-totais b { white-space: nowrap; overflow-wrap: normal; }
  /* Inteligências: o selo de situação desce para baixo do nome (nada rola de lado) */
  .perg-ias em { grid-column: 1 / -1; grid-row: auto; justify-self: start; max-width: 100%; text-align: left; }
}

/* ---------- tema claro ---------- */
body.theme-light .perg-cartao, body.theme-light .perg-cartao-msg { box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05); }
body.theme-light .perg-orbita { background: radial-gradient(circle at 36% 34%, #ecfdf5 0, #34d399 28%, #059669 60%, #064e3b 76%); }
body.theme-light .perg-btn-primario { background: linear-gradient(135deg, #34d399, #10b981); color: #022c22; }
body.theme-light .perg-progresso { background: rgba(14, 116, 144, 0.16); }
body.theme-light .perg-mapa-linha[data-estado="agora"], body.theme-light .perg-mapa-no[data-estado="agora"] { stroke: #0e7490; }
body.theme-light .perg-mapa-linha[data-estado="feito"], body.theme-light .perg-mapa-no[data-estado="feito"], body.theme-light .perg-mapa-centro { stroke: #047857; }
body.theme-light .perg-previa::backdrop { background: rgba(15, 23, 42, 0.45); }
body.theme-light .perg-previa { box-shadow: 0 30px 80px -20px rgba(15, 23, 42, 0.45); }

/* ---------- menos movimento: tudo aparece na hora ---------- */
@media (prefers-reduced-motion: reduce) {
  .perg-orbita::after, .perg-estado::before, .perg-passo-marca, .perg-icone-btn, .perg-mapa-linha, .perg-mapa-anel, .perg-caminho i,
  .perg-membro-barra i, .perg-progresso i, .perg-colunas-palco, .perg-barras, .perg-cartao, .perg-btn {
    animation: none !important; transition: none !important;
  }
  .perg-membro-barra i.perg-anda { width: 60%; }
}

/* ---------- impressão: o gráfico e a tabela do relatório no papel ---------- */
@media print {
  .perg-previa { display: none !important; }
  #relatorioImpressao .perg-impressao { margin-bottom: 14pt; color: #0f172a; font-family: 'Segoe UI', Arial, sans-serif; font-size: 10pt; }
  #relatorioImpressao .perg-impressao .perg-frase { margin: 6pt 0; color: #0f172a !important; font-size: 11pt !important; }
  #relatorioImpressao .perg-grafico { background: #ffffff; border: 0.8pt solid #cbd5e1; break-inside: avoid; }
  #relatorioImpressao .perg-grafico, #relatorioImpressao .perg-grafico * { color: #0f172a; }
  #relatorioImpressao .perg-grafico figcaption, #relatorioImpressao .perg-grafico-cab span { color: #475569; }
  #relatorioImpressao .perg-barra-linha { break-inside: avoid; }
  #relatorioImpressao .ia-tabela-wrap { overflow: visible; border: 0; }
  #relatorioImpressao .perg-tabela th, #relatorioImpressao .perg-tabela td { color: #0f172a; background: #ffffff; }
  /* O detalhe do Resumo para o chefe entra sem o 2º título e sem os totais repetidos */
  #relatorioImpressao .perg-impressao-detalhe .ri-topo, #relatorioImpressao .perg-impressao-detalhe .ri-resumo { display: none !important; }
}

@keyframes pergGira { to { transform: rotate(360deg); } }
@keyframes pergPulsa { 0%, 100% { opacity: 1; } 50% { opacity: 0.45; } }
@keyframes pergFluxo { to { stroke-dashoffset: -20; } }
@keyframes pergEnche { from { width: 0; } to { width: 92%; } }

/* 📊 Resumos prontos no topo do chat (12/10/2026): o botão abre a fileira de tipos; cada um responde na hora, em barras */
.perg-resumos { display: flex; flex-direction: column; gap: 6px; margin: 0 0 8px; }
.perg-resumos-btn { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--border-highlight); background: rgba(16, 185, 129, 0.08); color: var(--text-primary); font: inherit; font-weight: 700; font-size: 0.84rem; cursor: pointer; }
.perg-resumos-btn[aria-expanded="true"] { background: rgba(16, 185, 129, 0.18); }
.perg-resumos-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.perg-resumos-chips[hidden] { display: none; }
.perg-resumo-chip { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 1px; min-height: 40px; padding: 6px 12px; border-radius: 12px; border: 1px solid var(--border-color); background: var(--bg-card); color: var(--text-primary); font: inherit; font-size: 0.82rem; font-weight: 700; cursor: pointer; text-align: left; }
.perg-resumo-chip small { font-weight: 500; color: var(--text-secondary); font-size: 0.7rem; }
.perg-resumo-chip:hover, .perg-resumo-chip:focus-visible { border-color: var(--emerald-500); }
.perg-resumo-chip.perg-resumo-ia { border-style: dashed; }
