html { -webkit-font-smoothing: antialiased; }

/* Blocos de destaque usados para citar avisos do próprio Programa
   (Lacuna documental, Decisão a validar, Limite pedagógico, Ponderação) */
.callout {
  border-left-width: 4px;
  border-radius: 0.75rem;
  padding: 1rem 1.25rem;
}
.callout-title {
  font-family: "Plus Jakarta Sans", Inter, sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  display: block;
  margin-bottom: 0.25rem;
}

/* Tabelas de conteúdo do Programa: scroll horizontal em ecrãs estreitos,
   nunca deixar a página em si fazer scroll lateral. */
.table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table-doc { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.table-doc caption { caption-side: top; }
.table-doc th, .table-doc td {
  text-align: left;
  vertical-align: top;
  padding: 0.65rem 0.85rem;
  border-bottom: 1px solid #CDE8E0;
}
.table-doc thead th {
  background: #0F4C41;
  color: #fff;
  font-family: "Plus Jakarta Sans", Inter, sans-serif;
  font-weight: 700;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.table-doc tbody tr:nth-child(even) { background: #EAF5F2; }

/* Barra de progresso de leitura, usada nas páginas do Programa */
#reading-progress {
  position: fixed;
  top: 0; left: 0;
  height: 3px;
  width: 0%;
  background: linear-gradient(90deg, #1F7A68, #F0B52E);
  z-index: 50;
  transition: width 0.1s linear;
}
