/* Confirmação focada dos valores extraídos durante a importação.

   Aqui esteve uma regra `textarea` sem classe nem contexto nenhum. Como todas
   as folhas são carregadas de uma vez em `index.html`, ela alcançava qualquer
   caixa de texto da plataforma que não tivesse estilo mais específico, e dava-
   lhe 320px de altura mínima e tipo monoespaçado - e este painel não tem uma
   única `textarea`: só `input` e `select`, dentro de `.formRow`. Vinha de
   `design.css`, de quando o editor de JSON da ficha era a única caixa de texto
   que existia, e a modularização deixou-a a cair aqui.

   Foi para os dois sítios que a usavam de facto: o editor de JSON, onde o
   monoespaçado é intencional (`styles/eop-administration.css`), e as notas
   pessoais, que dela herdavam a moldura (`styles/eop-personal-notes.css`).
   Regra que valha para todas as caixas de texto pertence a `design.css`; o que
   for de um painel escreve-se com o seletor do painel à frente. */
/* Caixa de confirmação focada. O que a ingestão não gravou sozinha aparece
   aqui, e é lido por quem não sabe o que é um JSON: um campo por valor, com
   rótulo em português, e o motivo escrito por palavras antes dos campos. */
.escala { border: 1px solid var(--amarelo); border-radius: var(--r-md); padding: 14px; margin-bottom: 10px; background: color-mix(in srgb, var(--amarelo) 5%, var(--panel)); }
.escalaTopo { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.escalaTopo b { font-size: var(--txt-lg); }
.escalaPorque { margin: 10px 0 0; padding: 10px 12px; border-radius: var(--r-sm); background: var(--panel); border: 1px solid var(--line); font-size: var(--txt-sm); }
.escalaPorque b { display: block; margin-bottom: 4px; }
.escalaPorque p, .escalaPorque ul { margin: 0; }
.escalaPorque ul { padding-left: 18px; }
.escalaPorque li + li { margin-top: 4px; }
/* A linha da origem passou a ter um botão: o nome do ficheiro e o atalho para o
   abrir vivem na mesma frase, e alinham-se pela linha de base do texto. */
.escalaOrigem {
  margin: 8px 0 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-size: var(--txt-sm);
  color: var(--muted);
}

.escalaAbrirDocumento { flex: none; }
.escalaCampos { display: flex; flex-direction: column; gap: 12px; margin-top: 12px; }
.paymentPointsField { min-width: 0; }
.paymentPointsEditor {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: var(--panel);
}
.paymentPointHeader,
.paymentPointRow {
  display: grid;
  grid-template-columns: minmax(130px, 1.2fr) minmax(155px, 1fr) minmax(130px, 1fr) minmax(115px, .75fr) 38px;
  gap: 8px;
  align-items: center;
  min-width: 680px;
  padding: 8px 10px;
}
.paymentPointHeader {
  color: var(--muted);
  background: var(--bg);
  border-bottom: 1px solid var(--line);
  font-size: var(--txt-xs);
  font-weight: 700;
}
.paymentPointRow + .paymentPointRow { border-top: 1px solid var(--line); }
.paymentPointReference { display: flex; gap: 5px; min-width: 0; }
.paymentPointReference input { min-width: 0; }
.formRow .paymentPointRow input { min-height: 36px; padding: 7px 9px; }
.paymentPointRemove { min-width: 34px; min-height: 34px; padding: 0; color: var(--vermelho); }
.paymentPointsFooter {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  min-width: 680px;
  padding: 9px 10px;
  border-top: 1px solid var(--line);
}
.paymentPointsSummary { color: var(--muted); white-space: nowrap; }
/* A árvore do plano de trabalhos confirma-se inteira, por leitura: o que se
   mostra é o resumo da transcrição e uma amostra dos capítulos, e não células
   editáveis. Ver `criarCampoCronograma`. */
.cronogramaResumo {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px 12px;
  background: var(--fundo-suave, transparent);
}
.cronogramaResumo p { margin: 0; }
.cronogramaResumo p.muted { color: var(--muted); margin-top: 6px; }
.cronogramaResumo ul { margin: 8px 0 0; padding-left: 18px; }
.cronogramaResumo li { margin: 2px 0; color: var(--muted); }
.escalaEmFalta { color: var(--vermelho); font-weight: 700; text-transform: none; letter-spacing: 0; }
.escalaAcoes { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-top: 14px; }
.escalaAcoes small { flex: 1 1 220px; font-size: var(--txt-xs); }
/* Duas colunas quando há espaço: um auto de medição são seis campos, e em
   coluna única obriga a rolar uma caixa que devia caber num relance. */
@media (min-width: 620px) {
  .escalaCampos { display: grid; grid-template-columns: 1fr 1fr; }
  .paymentPointsField { grid-column: 1 / -1; }
}
.row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
