/* ==========================================================================
   POAB — 2ª fase (prático-profissional). Complementa poab.css.
   ========================================================================== */

.titulo-secao {
  font-family: var(--serif); font-size: 1.5rem; margin: 2.6rem 0 1.1rem;
  padding-bottom: .5rem; border-bottom: 2px solid rgba(185, 143, 52, .45);
  scroll-margin-top: 1rem;
}
.abas-fases { display: flex; gap: .6rem; flex-wrap: wrap; margin: .4rem 0 0; }
.aba {
  font-size: .86rem; font-weight: 600; text-decoration: none; color: var(--vinho);
  border: 1px solid rgba(185, 143, 52, .5); border-radius: 999px; padding: .35rem 1rem;
  background: var(--areia-2);
}
.aba:hover { background: rgba(185, 143, 52, .14); }
.acoes-fase2 { margin-bottom: 1.4rem; }

/* --------------------------------------------------------- escolha da área */

.cartao-area { display: flex; flex-direction: column; }
.cartao-area h2 { font-size: 1.15rem; }
.area-estoque { margin-bottom: .9rem; }
.area-estoque strong { font-family: var(--serif); font-size: 1.7rem; color: var(--vinho); }
.aviso-repeticao { color: #7a5c1c; }
.cartao-area .btn { margin-top: auto; }

.lista-abertas { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.lista-abertas li {
  display: flex; align-items: center; gap: .8rem; flex-wrap: wrap;
  border: 1px solid rgba(185, 143, 52, .3); border-radius: var(--raio-p); padding: .6rem .9rem;
}
.lista-abertas strong { flex: 1 1 auto; }

/* ----------------------------------------------------------- texto oficial */

.bloco-enunciado h2 { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; }
.valor-item {
  font-family: var(--sans); font-size: .74rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--ouro);
}
/* ------------------------------------------------------- caderno de prova

   A folha reproduz a ESTRUTURA do caderno oficial (cabeçalho da banca, área,
   faixa de enunciado, corpo justificado) para o candidato treinar lendo o que
   vai encontrar no dia da prova. Sem brasão nem logotipo de terceiros.        */

.caderno {
  background: #fff; border: 1px solid var(--areia-3); border-radius: var(--raio-p);
  overflow: hidden; box-shadow: 0 2px 10px rgba(43, 33, 25, .09);
}
.caderno-topo {
  position: relative; text-align: center; color: #f6e9d6;
  background: linear-gradient(160deg, var(--vinho) 0%, var(--vinho-escuro) 100%);
  padding: 1rem 1.2rem .95rem; border-bottom: 3px solid var(--ouro);
}
.caderno-topo p { margin: 0; }
.caderno-selo {
  width: 34px; height: 34px; margin: 0 auto .5rem; border-radius: 50%;
  border: 2px solid var(--ouro-claro);
  background: radial-gradient(circle at 50% 42%, rgba(224, 193, 121, .28) 38%, transparent 39%);
}
.caderno-banca {
  font-family: var(--sans); font-size: .68rem; font-weight: 700;
  letter-spacing: .22em; text-transform: uppercase; color: var(--ouro-claro);
}
.caderno-exame {
  font-family: var(--serif); font-size: 1.24rem; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase; margin-top: .18rem !important;
}
.caderno-prova {
  font-family: var(--sans); font-size: .74rem; font-weight: 600;
  letter-spacing: .16em; text-transform: uppercase; color: rgba(246, 233, 214, .82);
  margin-top: .28rem !important;
}
.caderno-area {
  display: inline-block; margin-top: .6rem !important; padding: .22rem .9rem;
  border: 1px solid rgba(224, 193, 121, .55); border-radius: 999px;
  font-family: var(--sans); font-size: .72rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; color: var(--ouro-claro);
}
/* faixa "Enunciado", como a tarja do caderno impresso */
.caderno-faixa {
  margin: 0; padding: .5rem 1.5rem; background: var(--areia);
  border-bottom: 1px solid var(--areia-3); border-left: 5px solid var(--ouro);
  font-family: var(--sans); font-size: .74rem; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase; color: var(--vinho);
}
/* a papelada de sala fica à mão, mas fora do caminho */
.caderno-instrucoes { border-bottom: 1px solid var(--areia-3); background: var(--areia-2); }
.caderno-instrucoes > summary {
  cursor: pointer; padding: .55rem 1.5rem; font-size: .82rem; color: var(--tinta-suave);
  list-style: none; display: flex; align-items: center; gap: .4rem;
}
.caderno-instrucoes > summary::-webkit-details-marker { display: none; }
.caderno-instrucoes > summary::before { content: "▸"; color: var(--ouro); font-size: .8em; }
.caderno-instrucoes[open] > summary::before { content: "▾"; }
.caderno-instrucoes > summary:hover { color: var(--vinho); }
.texto-instrucoes { font-size: .88rem !important; max-height: 22rem !important; }
.texto-instrucoes p { text-indent: 0 !important; }

/* Corpo do caso concreto: tipografia de peça jurídica — serifada, justificada,
   com recuo de primeira linha e entrelinha de documento. */
.texto-oficial {
  font-family: var(--serif); font-size: 1.03rem; line-height: 1.8; color: #2f261d;
  background: #fff; padding: 1.6rem 1.7rem; max-height: 62vh; overflow-y: auto;
  overflow-wrap: break-word; hyphens: auto; -webkit-hyphens: auto;
}
.texto-oficial p {
  max-width: 74ch; margin: 0 0 .3rem; text-align: justify; text-indent: 2.2em;
  text-justify: inter-word;
}
.texto-oficial p:last-child { margin-bottom: 0; }
/* o espelho da banca não é caderno: aparece solto e precisa da moldura */
.padrao-oficial > .texto-oficial {
  border: 1px solid var(--areia-3); border-radius: var(--raio-p);
}
/* itens de lista e alíneas: recuo pendurado e sem justificação (linha curta
   justificada abre buracos entre as palavras) */
.texto-oficial p.linha-item {
  margin: 0 0 .45rem; padding-left: 1.6rem; text-indent: -1.6rem;
  text-align: left; hyphens: none;
}
/* distribuição de pontos da banca: destaque discreto, some do fluxo do texto */
.texto-oficial p.linha-pontuacao {
  margin: .15rem 0 .9rem; font-variant-numeric: tabular-nums; font-weight: 600;
  color: var(--vinho); font-size: .9rem; text-indent: 0; text-align: left;
}
/* primeiro parágrafo de um bloco novo (linha em branco no original) */
.texto-oficial p.novo-bloco { margin-top: 1.15rem; }
.texto-oficial p.novo-bloco:first-child { margin-top: 0; }
/* Questão separada: enunciado próprio, colado na sua caixa de resposta.
   Pedido do testador — cada pergunta com o seu espaço logo abaixo. */
.bloco-questao { border-top: 3px solid var(--ouro); }
.texto-questao { max-height: none; }
.campo-resposta-colado {
  margin-top: 1rem; padding-top: 1rem; border-top: 1px dashed var(--areia-3);
}
.campo-resposta-colado label { color: var(--vinho); font-weight: 700; }

.texto-aluno {
  white-space: pre-wrap; word-break: break-word; font-size: .93rem; line-height: 1.6;
  background: var(--areia); border-left: 3px solid var(--vinho); border-radius: var(--raio-p);
  padding: .9rem 1rem; color: var(--tinta); max-height: 26rem; overflow-y: auto;
}
.rotulo-bloco {
  font-size: .72rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--tinta-suave); font-weight: 700; margin: 0 0 .35rem;
}
.bloco-resposta { margin-bottom: 1.2rem; }
.bloco-resposta h3 { font-family: var(--serif); font-size: 1.05rem; margin-bottom: .4rem; }

.padrao-oficial { margin-bottom: .9rem; }
.padrao-oficial summary {
  cursor: pointer; font-weight: 600; color: var(--vinho); padding: .55rem .2rem;
  border-bottom: 1px dashed rgba(185, 143, 52, .5);
}
.padrao-oficial summary:hover { color: var(--vinho-claro); }
.padrao-oficial[open] summary { margin-bottom: .8rem; }

/* ------------------------------------------------------- campos de resposta */

.campo-resposta { margin: 0 0 1.6rem; }
.campo-resposta label {
  display: flex; justify-content: space-between; align-items: baseline; gap: 1rem;
  font-weight: 700; font-size: .95rem; margin-bottom: .4rem;
}
.campo-resposta textarea, .form-autoavaliacao textarea {
  width: 100%; font: inherit; font-size: .95rem; line-height: 1.6; padding: .9rem 1rem;
  border: 1px solid rgba(107, 92, 75, .35); border-radius: var(--raio-p);
  background: #fff; color: var(--tinta); resize: vertical; min-height: 8rem;
}
.campo-resposta textarea:focus { border-color: var(--ouro); }
.contador { margin: .3rem 0 0; font-size: .78rem; color: var(--tinta-suave); text-align: right; }
.contador.no-limite { color: var(--vermelho); font-weight: 700; }

/* ------------------------------------------------------------ autoavaliação */

.autoavaliacao { border-left: 4px solid var(--ouro); }
.explicacao-calculadora { margin: .8rem 0 1.4rem; }
.autoavaliacao .rotulo-bloco { margin: 1.4rem 0 .5rem; font-size: .78rem; color: var(--vinho); }

/* lista de conferência: critério + pontos do espelho */
.lista-criterios { list-style: none; margin: .6rem 0 0; padding: 0; display: grid; gap: .35rem; }
.lista-criterios li {
  display: flex; gap: .8rem; align-items: baseline; justify-content: space-between;
  border-bottom: 1px dotted rgba(185, 143, 52, .45); padding-bottom: .3rem; font-size: .88rem;
}
.criterio-texto { color: var(--tinta); }
.criterio-pontos {
  white-space: nowrap; font-weight: 700; color: var(--vinho);
  font-variant-numeric: tabular-nums; font-size: .85rem;
}
.conferencia { margin-top: .9rem; background: rgba(185, 143, 52, .08); border-radius: var(--raio-p); padding: .8rem 1rem; }

/* soma ao vivo */
.soma-viva {
  position: sticky; bottom: .6rem; display: flex; align-items: baseline; gap: .6rem;
  flex-wrap: wrap; background: var(--areia-2); border: 2px solid var(--ouro);
  border-radius: var(--raio); padding: .9rem 1.2rem; box-shadow: var(--sombra);
  margin: 1.2rem 0 .4rem;
}
.soma-viva .rotulo { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--tinta-suave); font-weight: 700; }
.soma-viva strong { font-family: var(--serif); font-size: 2rem; line-height: 1; color: var(--vinho); font-variant-numeric: tabular-nums; }
.soma-de { color: var(--tinta-suave); font-size: .9rem; }
.soma-situacao { margin-left: auto; font-size: .86rem; font-weight: 600; color: var(--tinta-suave); }
.soma-aprovado { border-color: var(--verde); }
.soma-aprovado .soma-situacao, .soma-aprovado strong { color: var(--verde); }
.soma-reprovado { border-color: var(--vermelho); }
.soma-reprovado .soma-situacao, .soma-reprovado strong { color: var(--vermelho); }
.soma-alerta { border-color: var(--vermelho); }
.soma-alerta .soma-situacao { color: var(--vermelho); }
input.fora-da-faixa { border-color: var(--vermelho); background: var(--vermelho-fraco); }

/* estado "ainda sem nota" no histórico */
.etiqueta-a-pontuar { background: #fdf3dd; color: #7a5c1c; }
.form-autoavaliacao { display: grid; gap: 1rem; margin-top: 1.2rem; }
.form-autoavaliacao > label { font-size: .82rem; font-weight: 700; color: var(--tinta-suave); }
.item-avaliacao {
  border: 1px solid rgba(185, 143, 52, .35); border-radius: var(--raio); padding: 1rem 1.1rem;
  background: var(--areia-2); margin: 0;
}
.item-avaliacao legend {
  font-family: var(--serif); font-size: 1.05rem; padding: 0 .5rem; color: var(--vinho);
}
.item-avaliacao label { display: block; font-size: .82rem; font-weight: 700; color: var(--tinta-suave); margin: .8rem 0 .3rem; }
.item-avaliacao input[type="number"] {
  width: 8rem; font: inherit; font-size: 1.05rem; padding: .55rem .7rem;
  border: 1px solid rgba(107, 92, 75, .35); border-radius: var(--raio-p); background: #fff;
}
.resposta-aluno { margin-top: .4rem; }

.cartao-espera { border-left: 4px solid var(--ouro); background: linear-gradient(180deg, #fffdf9, var(--areia-2)); }
.cartao-espera .btn { margin-top: .6rem; }

/* ------------------------------------------------ espera da correção por IA */

.espera-cabeca { display: flex; align-items: center; gap: .8rem; }
.espera-cabeca h2 { margin: 0; }
.girador {
  width: 1.5rem; height: 1.5rem; flex: none; border-radius: 50%;
  border: 3px solid rgba(185, 143, 52, .35); border-top-color: var(--vinho);
  animation: girar 1s linear infinite;
}
@keyframes girar { to { transform: rotate(360deg); } }

.barra-espera {
  height: 8px; border-radius: 999px; background: var(--areia-3);
  overflow: hidden; margin: 1.1rem 0 .9rem;
}
.barra-espera span {
  display: block; height: 100%; width: 40%; border-radius: 999px;
  background: linear-gradient(90deg, var(--ouro), var(--vinho), var(--ouro));
  animation: correr 1.8s ease-in-out infinite;
}
@keyframes correr {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(250%); }
}

.espera-etapa {
  font-family: var(--serif); font-size: 1.1rem; color: var(--vinho); margin: 0 0 .5rem;
  min-height: 1.6em;
}
.espera-etapa.espera-demorando { color: var(--vermelho); }
.espera-tempo { margin: 0 0 1rem; font-size: .92rem; }
.espera-tempo strong { font-variant-numeric: tabular-nums; font-size: 1.05rem; color: var(--vinho); }
.espera-salvo { margin: 0 0 1rem; }

@media (prefers-reduced-motion: reduce) {
  .girador { animation: none; border-top-color: rgba(185, 143, 52, .35); }
  .barra-espera span { animation: none; width: 100%; opacity: .55; }
}
.comentario-geral { margin-top: 1.2rem; border-top: 1px dashed rgba(185, 143, 52, .5); padding-top: 1rem; }
.comentario-geral h3 { font-family: var(--serif); font-size: 1.05rem; margin-bottom: .4rem; }
.comentario-geral p { white-space: pre-wrap; }

/* ------------------------------------- parecer legível (resumo + cartões) */

.cartao-resumo { border-left: 5px solid var(--ouro); background: linear-gradient(180deg, #fffdf8, var(--areia-2)); }
.resumo-resultado {
  font-family: var(--serif); font-size: 1.35rem; line-height: 1.35; color: var(--vinho);
  margin: .3rem 0 .5rem;
}
.resumo-motivo { font-size: 1.02rem; margin: 0 0 1rem; }
.resumo-acoes { margin: .3rem 0 1rem; padding-left: 1.3rem; }
.resumo-acoes li { margin-bottom: .3rem; font-weight: 600; }

.item-parecer {
  border: 1px solid rgba(185, 143, 52, .35); border-left: 5px solid var(--tinta-suave);
  border-radius: var(--raio); padding: 1rem 1.1rem; margin-bottom: 1rem; background: var(--areia-2);
}
.item-parecer.faixa-boa { border-left-color: var(--verde); }
.item-parecer.faixa-media { border-left-color: var(--ouro); }
.item-parecer.faixa-baixa { border-left-color: var(--vermelho); }
.item-parecer-cabeca {
  display: flex; justify-content: space-between; align-items: baseline; gap: .8rem;
  flex-wrap: wrap; margin-bottom: .5rem;
}
.item-parecer-cabeca h3 { font-family: var(--serif); font-size: 1.08rem; margin: 0; }
.item-nota {
  font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap;
  padding: .15rem .7rem; border-radius: 999px; font-size: .88rem;
}
.faixa-boa .item-nota { background: var(--verde-fraco); color: var(--verde); }
.faixa-media .item-nota { background: #fdf3dd; color: #7a5c1c; }
.faixa-baixa .item-nota { background: var(--vermelho-fraco); color: var(--vermelho); }
.item-barra { height: 7px; border-radius: 999px; background: var(--areia-3); overflow: hidden; margin-bottom: .8rem; }
.item-barra span { display: block; height: 100%; border-radius: 999px; background: var(--tinta-suave); }
.faixa-boa .item-barra span { background: var(--verde); }
.faixa-media .item-barra span { background: var(--ouro); }
.faixa-baixa .item-barra span { background: var(--vermelho); }

.item-branco { font-weight: 600; color: var(--vermelho); margin: 0 0 .6rem; }
.item-fez { margin: 0 0 .7rem; font-size: .95rem; }
.item-parecer .rotulo-bloco { margin: .8rem 0 .35rem; }
.lista-faltou { margin: 0 0 .7rem; padding-left: 1.2rem; }
.lista-faltou li { margin-bottom: .3rem; font-size: .93rem; line-height: 1.5; }
.item-como-ganhar {
  margin: .6rem 0 0; font-size: .92rem; background: rgba(185, 143, 52, .12);
  border-radius: var(--raio-p); padding: .6rem .8rem;
}

@media (max-width: 640px) {
  .resumo-resultado { font-size: 1.15rem; }
  .item-parecer { padding: .9rem; }
  .item-parecer-cabeca { gap: .4rem; }
}

/* ------------------------------------------- mentoria: para a próxima peça */

.cartao-orientacoes { border-left: 4px solid var(--vinho); }
.lista-orientacoes { list-style: none; counter-reset: orientacao; margin: 1rem 0 0; padding: 0; }
.lista-orientacoes li {
  counter-increment: orientacao; position: relative; padding: 1rem 1.1rem 1rem 3.2rem;
  border: 1px solid rgba(185, 143, 52, .35); border-radius: var(--raio);
  background: var(--areia-2); margin-bottom: .8rem;
}
.lista-orientacoes li::before {
  content: counter(orientacao); position: absolute; left: 1rem; top: 1rem;
  width: 1.7rem; height: 1.7rem; display: grid; place-items: center; border-radius: 50%;
  background: var(--vinho); color: #fdf6ea; font-family: var(--serif); font-weight: 700;
  font-size: .95rem;
}
.lista-orientacoes h3 { font-family: var(--serif); font-size: 1.05rem; margin: 0 0 .35rem; }
.lista-orientacoes p { margin: 0 0 .4rem; font-size: .93rem; }
.como-treinar { color: var(--tinta-suave); font-size: .88rem !important; }
.pontos-fortes { margin-top: 1.2rem; border-top: 1px dashed rgba(185, 143, 52, .5); padding-top: 1rem; }
.pontos-fortes h3 { font-family: var(--serif); font-size: 1.02rem; margin-bottom: .4rem; color: var(--verde); }

/* padrão recorrente no painel */
.cartao-padrao-erros { border-left: 4px solid var(--vermelho); }
.lista-recorrencia { list-style: none; margin: .8rem 0 0; padding: 0; display: grid; gap: .8rem; }
.lista-recorrencia li { border-bottom: 1px dotted rgba(185, 143, 52, .45); padding-bottom: .6rem; }
.recorrencia-titulo { display: flex; gap: .8rem; align-items: baseline; flex-wrap: wrap; margin: 0 0 .2rem; }
.recorrencia-titulo strong { font-size: 1.02rem; color: var(--vinho); text-transform: capitalize; }
.recorrencia-contagem {
  font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: var(--vermelho); background: var(--vermelho-fraco); padding: .15rem .6rem; border-radius: 999px;
}

/* admin: correção demorando demais */
.tempo-espera {
  display: inline-block; margin-left: .4rem; font-size: .74rem; font-weight: 700;
  color: var(--tinta-suave); white-space: nowrap;
}
.tempo-espera.espera-travada {
  color: var(--vermelho); background: var(--vermelho-fraco);
  padding: .1rem .5rem; border-radius: 999px;
}
.linha-travada { background: rgba(163, 34, 43, .07); }

.titulo-fila { font-family: var(--serif); font-size: 1.05rem; margin: 1.4rem 0 .5rem; }
.tabela-provas-f2 td { font-size: .88rem; }

.etiqueta-em_correcao { background: #fdf3dd; color: #7a5c1c; }
.etiqueta-processando { background: #fdf3dd; color: #7a5c1c; }
.etiqueta-autoavaliada { background: var(--verde-fraco); color: var(--verde); }
.etiqueta-corrigida_ia { background: var(--verde-fraco); color: var(--verde); }
.etiqueta-erro_correcao { background: var(--vermelho-fraco); color: var(--vermelho); }

@media (max-width: 640px) {
  .texto-oficial { max-height: 65vh; padding: 1.05rem 1.1rem; font-size: .99rem; line-height: 1.7; }
  .texto-oficial p { text-indent: 1.4em; }
  .texto-oficial p.linha-item { padding-left: 1.1rem; text-indent: -1.1rem; }
  .caderno-topo { padding: .8rem .9rem .75rem; }
  .caderno-exame { font-size: 1.05rem; }
  .caderno-faixa, .caderno-instrucoes > summary { padding-left: 1.1rem; padding-right: 1.1rem; }
  .item-avaliacao input[type="number"] { width: 100%; }
  .campo-resposta label { flex-direction: column; gap: .2rem; }
}

/* Escolher o exame dentro da area (caminho separado do sorteio) */
.escolher-exame { margin-top: .9rem; border-top: 1px solid var(--areia-3); padding-top: .7rem; }
.escolher-exame > summary {
  cursor: pointer; font-size: .88rem; color: var(--vinho); font-weight: 600;
  list-style: none; display: flex; align-items: center; gap: .4rem;
}
.escolher-exame > summary::-webkit-details-marker { display: none; }
.escolher-exame > summary::before { content: "▸"; font-size: .8em; color: var(--ouro); }
.escolher-exame[open] > summary::before { content: "▾"; }
.escolher-exame > summary:hover { text-decoration: underline; }
.form-exame-f2 { margin-top: .7rem; }
.form-exame-f2 label {
  display: block; font-size: .8rem; font-weight: 700; color: var(--tinta-suave);
  margin-bottom: .3rem;
}
.form-exame-f2 select { width: 100%; margin-bottom: .6rem; }
.escolher-exame .miudo { margin: .55rem 0 0; line-height: 1.45; }

/* ---------------------------------------------------------------------------
   Visor do PDF oficial da FGV (obra de 07/09/2026).
   Altura generosa no computador — a folha de prova precisa caber inteira, sem
   rolagem dupla — e mais curta no celular, onde o visor nativo do navegador
   costuma ser pequeno e a pessoa vai usar "Abrir em nova aba" ou o texto.
--------------------------------------------------------------------------- */
.visor-pdf { margin: .9rem 0 1.1rem; }
.visor-pdf-topo {
  display: flex; align-items: center; justify-content: space-between;
  gap: .8rem; flex-wrap: wrap; margin-bottom: .5rem;
}
.visor-pdf-legenda {
  margin: 0; font-size: .82rem; font-weight: 700; letter-spacing: .02em;
  text-transform: uppercase; color: var(--tinta-suave);
}
.visor-pdf-quadro {
  display: block; width: 100%; height: 82vh; min-height: 520px;
  border: 1px solid var(--areia-3); border-radius: 8px; background: #fff;
}
.visor-pdf-plano-b { margin: .45rem 0 0; }
.ver-como-texto { margin-top: .8rem; }

@media (max-width: 720px) {
  .visor-pdf-quadro { height: 62vh; min-height: 340px; }
}
