/* ============================================================================
   shared/cf-link-aluno-modal.css — Modal "Vincular aluno" (M20.4)
   ============================================================================ */

.cf-link-aluno-list {
  display: flex; flex-direction: column; gap: 6px;
  max-height: 360px; overflow-y: auto;
  padding-top: 6px;
}
.cf-link-aluno-hint {
  font-size: 11.5px; color: #94a3b8; font-style: italic;
  padding: 12px 0; display: block; text-align: center;
}
.cf-link-aluno-row {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px; background: #f8fafc;
  border: 1px solid transparent; border-radius: 8px;
  cursor: pointer; width: 100%;
  font-family: inherit; text-align: left;
  transition: background .12s, border-color .12s;
}
.cf-link-aluno-row:hover { background: #f0f6ff; border-color: #bfdbfe; }
.cf-link-aluno-row.is-safe { background: #f0fdf4; border-color: #bbf7d0; }
.cf-link-aluno-row.is-safe:hover { background: #dcfce7; }
.cf-link-aluno-avatar {
  width: 32px; height: 32px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff; font-size: 10.5px; font-weight: 600; flex-shrink: 0;
}
.cf-link-aluno-text { flex: 1; min-width: 0; }
.cf-link-aluno-text strong { display: block; font-size: 12.5px; color: #0f172a; }
.cf-link-aluno-text small { display: block; font-size: 11px; color: #64748b; margin-top: 1px; }
.cf-link-aluno-safe {
  display: inline-block; margin-top: 3px;
  font-size: 10px; color: #15803d; font-weight: 600;
  text-transform: uppercase; letter-spacing: .04em;
}

/* M21.7: badge de tipo (Aluno / Contato) na linha de busca */
.cf-link-aluno-row-top {
  display: flex; align-items: center; gap: 6px;
}
.cf-link-aluno-kind {
  display: inline-flex; align-items: center;
  padding: 1px 7px; border-radius: 9px;
  font-size: 9.5px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .04em;
}
