/* Teachers' records (app/registos): lesson notes, saved lessons, declarations, verification and the team dashboard. */
.registar { background: var(--fundo-2); border: 2px solid var(--navy); border-radius: var(--raio); padding: 16px 18px; margin: 28px 0; }
.registar h2 { margin-top: 0; font-size: clamp(22px, 2.6vw, 28px); }
.registar p { margin: 0 0 12px; }
.registos-botoes, .registar .botoes { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
form.guardar { margin: 0; display: inline-flex; }
.botao.guardada { background: var(--creme); }
.botao.pequeno { padding: 8px 12px; font-size: 13px; box-shadow: none; }
.registos-seccao { border-top: 2px solid var(--creme); margin-top: 28px; padding-top: 4px; }
.registos-seccao h2 { font-size: clamp(22px, 2.8vw, 28px); }
.registos-lista { list-style: none; padding: 0; margin: 8px 0 18px; }
.registos-lista li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 14px; align-items: center; border-bottom: 1px solid var(--linha); padding: 9px 0; }
.registos-lista li > span { min-width: 0; overflow-wrap: anywhere; }
.registos-lista .acoes { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; }
.registos-info { color: var(--cinza); font-size: 14px; }
.registos-estado { display: inline-block; font-size: 13px; font-weight: 700; padding: 1px 8px; border: 1px solid var(--navy); }
.registos-estado.revogada { border-color: var(--cinza); color: var(--cinza); }
.registos-pagina { max-width: 820px; padding-bottom: 32px; }
.registos-pagina .conta-form { padding-top: 0; }
.conta-form textarea { width: 100%; font: inherit; padding: 11px 12px; border: 2px solid var(--navy); border-radius: 0; background: #fff; color: var(--navy); }
.conta-form input[type=date], .conta-form input[type=number] { font: inherit; padding: 10px 12px; border: 2px solid var(--navy); border-radius: 0; background: #fff; color: var(--navy); max-width: 100%; }
.conta-form input[type=number] { width: 8em; }
.conta-form .campo div > div { display: inline-block; margin-right: 18px; }
.paginacao { display: flex; gap: 14px; flex-wrap: wrap; margin: 18px 0; }

/* the declaration's preview and the public verification */
.previa { background: #fff; border: 2px solid var(--navy); padding: 16px 18px; margin: 16px 0; overflow-wrap: anywhere; }
.tabela-rolar { overflow-x: auto; max-width: 100%; margin: 8px 0 6px; }
.tabela-rolar table { border-collapse: collapse; font-size: 15px; min-width: 100%; }
.tabela-rolar th, .tabela-rolar td { border: 1px solid var(--linha); padding: 6px 9px; text-align: left; vertical-align: top; }
.tabela-rolar th { background: var(--fundo-2); }
.tabela-rolar .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tabela-rolar td, .tabela-rolar th { overflow-wrap: normal; }
.tabela-rolar .nw { white-space: nowrap; }
.tabela-rolar th.num { white-space: normal; }
.verificacao { border: 3px solid var(--navy); padding: 18px 20px; margin: 18px 0; overflow-wrap: anywhere; }
.verificacao.valida { background: #eaf4ff; border-color: var(--azul); }
.verificacao.revogada, .verificacao.desconhecida { background: var(--fundo-2); border-color: var(--suave); }
.verificacao p { margin: 0 0 8px; }
.verificacao .impressao { font-family: ui-monospace, Menlo, monospace; font-size: 18px; letter-spacing: .06em; }
.codigo-campo input { text-transform: uppercase; letter-spacing: .08em; }

/* the team dashboard */
.painel { padding-bottom: 32px; }
.painel h2 { font-size: clamp(22px, 2.8vw, 30px); border-top: 2px solid var(--creme); padding-top: 18px; }
.painel h3 { margin-bottom: 4px; }
.painel .periodo { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: flex-end; margin: 0 0 8px; }
.painel .periodo label { display: grid; gap: 4px; font-weight: 700; font-size: 15px; }
.painel .periodo input { font: inherit; padding: 9px 10px; border: 2px solid var(--navy); border-radius: 0; background: #fff; color: var(--navy); }
.painel .periodo button { padding: 11px 18px; }
.painel .csv { font-size: 14px; }
.painel .medida-definicao { color: var(--cinza); font-size: 14px; }
@media (max-width: 480px) {
  .tabela-rolar table { font-size: 14px; }
  .tabela-rolar th, .tabela-rolar td { padding: 5px 6px; }
  .previa { padding: 12px; }
}
@media print {
  .registar, .painel .periodo, .painel .csv { display: none; }
}
