/* IC Sensing Lab — área do professor (porta da do Nico, com a paleta do IC) */
body.prof { display: block; overflow: auto; height: auto; min-height: 100%; background: var(--ic-papel); }
.prof-topo { position: sticky; top: 0; z-index: 5; }
.prof-topo .espaco { flex: 1; }
.prof-quem { display: flex; align-items: center; gap: 8px; font-weight: 700; }
.prof-quem .btn { padding: 6px 12px; font-size: 14px; }
.prof-corpo { max-width: 1200px; margin: 0 auto; padding: 24px 20px 60px; }
.prof-corpo h1 { font-size: 30px; margin: 10px 0 14px; }
.prof-corpo h2 { font-size: 22px; margin: 30px 0 12px; }
.prof-sub { color: var(--cinza); }
.prof-carregar { color: var(--cinza); }
.prof-aviso { min-height: 1.3em; font-weight: 700; color: #b3261e; }
.prof-aviso.ok { color: #1e7a3c; }
.prof-cartao { background: #fff; border-radius: 16px; padding: 28px; box-shadow: 0 2px 10px rgba(0,0,0,.06); }
.prof-login { max-width: 420px; margin: 40px auto; display: flex; flex-direction: column; gap: 12px; }
.prof-login label { display: flex; flex-direction: column; gap: 4px; font-weight: 700; }
.prof input, .prof textarea { font: 17px 'Roboto', system-ui, sans-serif; padding: 10px 12px; border: 2px solid var(--linha); border-radius: 10px; background: #fff; }
.prof input:focus, .prof textarea:focus { outline: none; border-color: var(--ic-azul); }
.prof-linha { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-bottom: 8px; }
.prof-linha input { min-width: 260px; }
.prof-turmas { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
.prof-turma { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 18px; background: #fff; border: 2px solid transparent;
  border-radius: 14px; cursor: pointer; text-align: left; font: 16px 'Roboto', system-ui, sans-serif; box-shadow: 0 2px 10px rgba(0,0,0,.06); }
.prof-turma:hover { border-color: var(--ic-azul); }
.prof-turma strong { font-size: 20px; }
.prof-turma.arquivada { opacity: .6; }
.prof-codigo { font-weight: 700; letter-spacing: .18em; background: var(--ic-areia); color: var(--ic-tinta); padding: 2px 8px; border-radius: 6px; }
.prof-codigo.grande { font-size: 22px; }
.prof-cabeca { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; align-items: flex-end; }
.prof-acoes { display: flex; gap: 8px; flex-wrap: wrap; }
.btn.perigo, .btn-mini.perigo { color: #b3261e; }
.prof-tabela-caixa { overflow-x: auto; background: #fff; border-radius: 14px; box-shadow: 0 2px 10px rgba(0,0,0,.06); }
.prof-tabela { border-collapse: collapse; width: 100%; background: #fff; font-size: 15px; }
.prof-tabela th, .prof-tabela td { padding: 10px 12px; border-bottom: 1px solid var(--linha); text-align: left; white-space: nowrap; }
.prof-tabela th { font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: var(--cinza); }
.prof-aluno { font-weight: 700; }
.prof-aluno .turma-avatar { font-size: 22px; margin-right: 6px; }
.prof-senha { font-size: 20px; letter-spacing: 2px; }
.prof-vazio { color: #bbb; }
.prof-num { font-weight: 700; margin-right: 6px; }
.prof-barra { display: inline-block; width: 70px; height: 8px; background: var(--linha); border-radius: 4px; vertical-align: middle; overflow: hidden; }
.prof-barra i { display: block; height: 100%; background: var(--ic-azul); }
.prof-menu { display: flex; gap: 4px; }
.btn-mini { border: 1px solid var(--linha); background: #fff; border-radius: 8px; padding: 4px 8px; font: 13px 'Roboto', system-ui, sans-serif; cursor: pointer; }
.btn-mini:hover { border-color: var(--ic-azul); }
.prof-juntar { display: flex; flex-direction: column; gap: 10px; max-width: 520px; }
.prof-cartoes { display: none; }
@media print {
  body.a-imprimir > *:not(.prof-cartoes) { display: none !important; }
  body.a-imprimir { background: #fff; }
  body.a-imprimir .prof-cartoes { display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 6mm; padding: 6mm; }
  .cartao-aluno { border: 1.5px dashed #888; border-radius: 4mm; padding: 5mm; break-inside: avoid; font-family: 'Roboto', system-ui, sans-serif; }
  .ca-topo { display: flex; align-items: center; gap: 4mm; font-size: 18pt; }
  .ca-avatar { font-size: 26pt; }
  .ca-linha { margin: 3mm 0; font-size: 13pt; }
  .ca-linha b { letter-spacing: .2em; font-size: 16pt; }
  .ca-senha { display: flex; gap: 4mm; font-size: 30pt; }
  .ca-senha span { border: 1px solid #ccc; border-radius: 3mm; padding: 1mm 3mm; }
  .ca-pe { margin-top: 3mm; font-size: 10pt; color: #555; }
}
.prof-corpo h1, .prof-corpo h2 { font-family: 'Roboto Slab', serif; color: var(--ic-tinta); }
.prof-turma strong { font-family: 'Roboto Slab', serif; }
.prof-nota { margin-top: 28px; font-size: 14px; max-width: 760px; }
.prof-nota a { color: var(--ic-verde); font-weight: 700; }
.prof-topo .prof-quem { color: var(--ic-papel); }
@media print { body.a-imprimir .ca-pe { display: flex; align-items: center; gap: 2mm; } body.a-imprimir .ca-pe img { width: 6mm; height: 6mm; } .cartao-aluno { font-family: 'Roboto', system-ui, sans-serif !important; } }
.a11y-contraste .prof-turma, .a11y-contraste .prof-cartao, .a11y-contraste .prof-tabela-caixa { border: 2px solid #000; box-shadow: none; }
.a11y-grande .prof-corpo { font-size: 19px; }
.prof-corpo .btn-claro { border: 2px solid var(--linha); background: #fff; }
