/* ============ 发布范围 ============ */
.aud-modes { display: flex; gap: 10px; flex-wrap: wrap; margin: 4px 0 14px; }
.aud-mode {
  display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
  padding: 8px 18px; border: 1px solid var(--line); border-radius: 10px;
  background: #fff; font-size: .9rem; font-weight: 550; color: var(--ink-2);
  transition: .15s; user-select: none;
}
.aud-mode:hover { border-color: #c3d3f5; }
.aud-mode input { accent-color: var(--brand); width: 15px; height: 15px; }
.aud-mode:has(input:checked) { border-color: var(--brand); background: var(--brand-l); color: var(--brand-d); }
.aud-pane { border-top: 1px solid var(--line); padding-top: 12px; }
.student-tools { display: flex; gap: 8px; align-items: center; margin-bottom: 10px; flex-wrap: wrap; }
.student-tools input[type=search] { flex: 1; min-width: 180px; }
.student-list {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 6px;
  max-height: 340px; overflow: auto; padding: 2px;
}
.student-row {
  display: flex; align-items: center; gap: 8px; padding: 7px 10px;
  border: 1px solid var(--line); border-radius: 8px; cursor: pointer;
  font-size: .86rem; background: #fff; transition: .12s;
}
.student-row:hover { border-color: #c3d3f5; background: #fafcff; }
.student-row:has(input:checked) { border-color: var(--brand); background: var(--brand-l); }
.student-row input { accent-color: var(--brand); width: 15px; height: 15px; flex: 0 0 auto; }
.student-row .s-klass {
  flex: 0 0 auto; font-size: .72rem; color: var(--muted); background: #eef2f9;
  padding: 1px 7px; border-radius: 10px; max-width: 88px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.student-row .s-name { font-weight: 550; }
.student-row .s-user { color: var(--muted); font-size: .78rem; margin-left: auto; }
