/* Learners page (administrator): filter bar, accounts table, learner drawer,
   create-account dialog and the assignment dialog. */

/* ---------- Filters ---------- */
.page-admin-learners .learners-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 4px 12px;
  padding: 14px 16px 2px;
  margin-bottom: 14px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
}
.page-admin-learners .learners-filter { flex: 0 1 180px; min-width: 150px; margin-bottom: 12px; }
.page-admin-learners .learners-filter-search { flex: 1 1 260px; min-width: 200px; }
.page-admin-learners .learners-filter-clear { flex: 0 0 auto; display: flex; align-items: flex-end; margin-bottom: 12px; }
.page-admin-learners .learners-filter-clear[hidden] { display: none; }
.page-admin-learners .learners-filter-clear .btn { height: 36px; }
.page-admin-learners .learners-filter input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }

.page-admin-learners .learners-count { margin: 0 0 8px; font-size: 13px; }

/* ---------- Accounts table ---------- */
.page-admin-learners .learners-table { min-width: 980px; }
.page-admin-learners .learners-table .col-name { min-width: 200px; }
.page-admin-learners .learners-table .col-pill { width: 120px; white-space: nowrap; }
.page-admin-learners .learners-table .col-path { min-width: 190px; }
.page-admin-learners .learners-table .col-progress { width: 150px; }
.page-admin-learners .learners-table .col-activity { width: 120px; white-space: nowrap; }
.page-admin-learners .learners-table .col-credential { width: 200px; }
.page-admin-learners .learners-table .col-open { width: 80px; }
.page-admin-learners .learners-progress { display: flex; flex-direction: column; gap: 5px; }
.page-admin-learners .learners-progress .progress { width: 110px; }
.page-admin-learners .learners-table .cell-sub.mono { font-size: 12px; }
.page-admin-learners .table-empty .mt-8 .btn { margin: 0 auto; }

/* ---------- Learner drawer ---------- */
.learner-drawer-title { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.learner-drawer-title .pill { font-weight: 600; }
.learner-drawer .section { margin-bottom: 24px; }
.learner-drawer .section:last-child { margin-bottom: 0; }
.learner-drawer .section-body { display: flex; flex-direction: column; gap: 12px; }
.learner-drawer .kv { grid-template-columns: 120px 1fr; }
.learner-drawer .learner-actions { gap: 8px; }
.learner-drawer .learner-self-note { font-size: 12.5px; color: var(--text-3); }
.learner-drawer .learner-note { margin: 0; }
.learner-drawer .learner-progress-summary { display: flex; flex-direction: column; gap: 6px; }
.learner-drawer .learner-chapters .list-item-aside .btn { min-width: 118px; }
.learner-drawer .learner-chapter-detail { display: block; padding: 0 12px 12px; background: var(--surface-2); }
.learner-drawer .learner-chapter-detail[hidden] { display: none; }
.learner-drawer .learner-chapter-detail .table-wrap { border-radius: var(--radius); }
.learner-drawer .learner-exercise-table .col-pill,
.learner-drawer .learner-submissions .col-pill,
.learner-drawer .learner-questions .col-pill { white-space: nowrap; width: 130px; }
.learner-drawer .learner-exercise-table .col-version { width: 70px; white-space: nowrap; }
.learner-drawer .learner-submissions .col-time,
.learner-drawer .learner-questions .col-time { width: 130px; white-space: nowrap; }
.learner-drawer .col-link { width: 110px; white-space: nowrap; text-align: right; }
.learner-drawer .learner-questions .cell-title { display: block; max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---------- Create account dialog ---------- */
.create-account-form .temp-row { display: flex; align-items: flex-start; gap: 8px; }
.create-account-form .temp-row .field { flex: 1; }
.create-account-form .temp-row .btn { margin-top: 26px; height: 36px; }
.create-account-form .form-error:empty { display: none; }

/* ---------- Credential dialog ---------- */
.credential-dialog pre.code { font-size: 13.5px; }

/* ---------- Assignment dialog ---------- */
.assign-dialog .assign-table-host .table-wrap { max-height: 340px; overflow-y: auto; }
.assign-dialog .assign-table thead th { position: sticky; top: 0; z-index: 1; }
.assign-dialog .assign-table .col-check { width: 84px; text-align: center; }
.assign-dialog .assign-table .col-check .checkbox { vertical-align: middle; }
.assign-dialog .assign-table .col-level { width: 90px; white-space: nowrap; }
.assign-dialog .assign-table .col-topic { width: 150px; }
.assign-dialog .assign-summary { margin: 10px 0 4px; }
.assign-dialog .form-note { margin: 0 0 6px; }
.assign-dialog .form-error:empty { display: none; }

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .page-admin-learners .learners-filters { padding: 12px 12px 0; }
  .page-admin-learners .learners-filter { flex: 1 1 45%; min-width: 140px; }
  .page-admin-learners .learners-filter-search { flex: 1 1 100%; }
  .page-admin-learners .learners-filter-clear { flex: 1 1 100%; }
  .page-admin-learners .learners-filter-clear .btn { width: 100%; }
  .learner-drawer .learner-chapters .list-item { flex-wrap: wrap; }
  .learner-drawer .learner-chapters .list-item-aside { width: 100%; justify-content: space-between; }
}
@media (max-width: 640px) {
  .learner-drawer .kv { grid-template-columns: 1fr; }
  .create-account-form .temp-row { flex-direction: column; align-items: stretch; }
  .create-account-form .temp-row .btn { margin-top: 0; }
}
