/* A entrada da criança (canvas do aluno A01, A03 e A04): o código em letra grande e espaçada; o erro com cor de erro,
   no campo e na mensagem. */
.student-code-field input {
  min-height: var(--touch-target, 56px);
  font-family: 'Courier New', monospace;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.student-code-own input {
  min-height: 64px;
  border-width: 2px;
  font-size: 32px;
  letter-spacing: 0.3em;
}
.student-code-field input[aria-invalid='true'] {
  border: 3px solid #a3341f;
}
.student-entry-error:empty {
  display: none;
}
.student-entry-error {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: var(--touch-target, 56px);
  box-sizing: border-box;
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px solid #e6b3aa;
  border-radius: 14px;
  background: #fdecea;
  color: #7a2414;
  font-size: 16px;
  font-weight: 700;
}
.student-entry-error::before {
  content: '!';
  display: grid;
  place-items: center;
  flex: none;
  width: 22px;
  height: 22px;
  border: 2px solid currentColor;
  border-radius: 50%;
  font-size: 14px;
}
/* X01 · Entrada do espaço: o endereço do espaço no cabeçalho e os cartões de «Minhas turmas». */
.space-address {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  box-sizing: border-box;
  padding: 6px 12px;
  border: 1px solid #cedbd1;
  border-radius: 20px;
  background: #edf4e8;
  color: #24684f;
  font-family: 'Courier New', monospace;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.my-classes .my-class-image {
  display: block;
  overflow: hidden;
  aspect-ratio: 2 / 1;
  max-height: 180px;
  margin-bottom: 12px;
  border-radius: 14px;
  background: #edf4e8;
}
.my-classes .my-class-image > *,
.my-classes .my-class-image .kit-class-image,
.my-classes .my-class-image .kit-cover {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  object-fit: cover;
}
.my-classes [data-my-class] {
  min-height: var(--touch-target, 56px);
  width: 100%;
}
.my-classes #my-classes-back {
  min-height: var(--touch-target, 56px);
  margin-top: 8px;
}
.org-slug-field {
  display: flex;
  align-items: center;
  gap: 6px;
}
.org-slug-field input {
  flex: 1;
  min-width: 0;
}
/* E01 · «Sou aluno» na página inicial (spec 54): só «Cole o endereço» e Entrar; o código vem na página do espaço. */
.home-student-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  margin-top: auto;
}
.home-code-row #home-student-address {
  font-family: inherit;
}
/* PQ26/GR26 · PQ32/GR32 · PQ33/GR33: título com «Ouvir» ao lado; PQ48/GR48: os vazios da busca e das concluídas. */
.student-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.student-empty {
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 24px 16px;
  text-align: center;
}
.student-empty-icon {
  font-size: 3rem;
}
.student-empty-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
.my-class-here {
  border-width: 3px;
}
