/* Teacher roster only; enrollment and progress rules remain in the existing API. */
body.is-teacher-dashboard #teacher-panel-students { --ts-blue: #19489c; --ts-ink: #1c304c; --ts-muted: #53667e; }
body.is-teacher-dashboard #teacher-panel-students .td-page-head { margin: 28px 0 24px; }
body.is-teacher-dashboard #teacher-panel-students .td-page-head h1 { color: var(--ts-ink); font-size: 32px; font-weight: 650; letter-spacing: -.9px; margin: 8px 0 10px; }
body.is-teacher-dashboard #teacher-panel-students .td-page-head p { color: var(--ts-muted); font-size: 14px; line-height: 1.65; }
body.is-teacher-dashboard #teacher-panel-students .td-summary-strip { gap: 14px; margin-bottom: 24px; }
body.is-teacher-dashboard #teacher-panel-students .td-summary-strip > article { border-radius: 14px; box-shadow: 0 3px 14px rgb(28 48 76 / 3%); gap: 10px; padding: 20px 22px; position: relative; }
body.is-teacher-dashboard #teacher-panel-students .td-summary-strip > article:first-child { background: #edf4ff; border-color: #d4e2f7; }
body.is-teacher-dashboard #teacher-panel-students .td-summary-strip > article > strong { color: var(--ts-ink); font-size: 31px; font-weight: 650; }
body.is-teacher-dashboard #teacher-panel-students .td-summary-strip > article:first-child > strong { color: var(--ts-blue); }
body.is-teacher-dashboard #teacher-panel-students .td-summary-strip > article > small { color: var(--ts-muted); font-size: 11px; line-height: 1.4; }
body.is-teacher-dashboard #teacher-panel-students .ts-workspace { background: #fff; border: 1px solid #dce5ef; border-radius: 16px; box-shadow: 0 6px 22px rgb(28 48 76 / 3%); min-width: 0; overflow: hidden; }
body.is-teacher-dashboard #teacher-panel-students svg { fill: none; flex-shrink: 0; height: 18px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.65; width: 18px; }
body.is-teacher-dashboard #teacher-panel-students :is(button, input, select) { font: inherit; }
body.is-teacher-dashboard #teacher-panel-students :is(button, input, select):focus-visible { outline: 3px solid #92b8f1; outline-offset: 3px; }
body.is-teacher-dashboard #teacher-panel-students .ts-toolbar { align-items: end; display: grid; gap: 12px; grid-template-columns: minmax(180px, 1fr) 180px 88px; padding: 24px 24px 16px; }
body.is-teacher-dashboard #teacher-panel-students :is(.ts-toolbar, .ts-filter-row) label { display: grid; gap: 8px; min-width: 0; }
body.is-teacher-dashboard #teacher-panel-students :is(.ts-toolbar, .ts-filter-row) label > span { color: var(--ts-ink); font-size: 12px; font-weight: 600; }
body.is-teacher-dashboard #teacher-panel-students .ts-search > div { align-items: center; background: #fff; border: 1px solid #cdd9e8; border-radius: 9px; display: flex; gap: 10px; min-height: 46px; padding: 0 13px; }
body.is-teacher-dashboard #teacher-panel-students .ts-search > div:focus-within { border-color: var(--ts-blue); outline: 3px solid #dce9fc; }
body.is-teacher-dashboard #teacher-panel-students .ts-search svg { color: #637992; }
body.is-teacher-dashboard #teacher-panel-students .ts-search input { background: transparent; border: 0; box-shadow: none; color: var(--ts-ink); font-size: 13px; font-weight: 400; min-height: 44px; min-width: 0; outline: 0; padding: 0; width: 100%; }
body.is-teacher-dashboard #teacher-panel-students .ts-search input::placeholder { color: #61748c; opacity: 1; }
body.is-teacher-dashboard #teacher-panel-students select { background: #fff; border: 1px solid #cdd9e8; border-radius: 9px; color: var(--ts-ink); font-size: 13px; font-weight: 400; min-height: 46px; padding: 10px 32px 10px 12px; width: 100%; }
body.is-teacher-dashboard #teacher-panel-students :is(.ts-direction, .ts-reset) { align-items: center; background: #f5f8fd; border: 1px solid #cdd9e8; border-radius: 9px; color: var(--ts-blue); display: inline-flex; font-size: 12px; font-weight: 600; gap: 9px; justify-content: center; min-height: 46px; padding: 10px 12px; }
body.is-teacher-dashboard #teacher-panel-students .ts-filter-row { align-items: end; display: flex; flex-wrap: wrap; gap: 12px; padding: 0 24px 22px; }
body.is-teacher-dashboard #teacher-panel-students .ts-filter-row label:first-child { width: 190px; }
body.is-teacher-dashboard #teacher-panel-students .ts-filter-row label:nth-child(2) { width: 285px; }
body.is-teacher-dashboard #teacher-panel-students .ts-reset { background: #fff; border-color: transparent; margin-left: auto; text-decoration: underline; text-underline-offset: 4px; }
body.is-teacher-dashboard #teacher-panel-students .ts-alphabet { background: #f6f9fd; border-bottom: 1px solid #e0e8f1; border-top: 1px solid #e0e8f1; padding: 18px 24px; }
body.is-teacher-dashboard #teacher-panel-students .ts-alphabet header { align-items: center; display: flex; gap: 12px; justify-content: space-between; margin-bottom: 13px; }
body.is-teacher-dashboard #teacher-panel-students .ts-alphabet header > div { align-items: baseline; display: flex; flex-wrap: wrap; gap: 10px; }
body.is-teacher-dashboard #teacher-panel-students .ts-alphabet strong { color: var(--ts-ink); font-size: 13px; font-weight: 600; }
body.is-teacher-dashboard #teacher-panel-students .ts-alphabet header span { color: var(--ts-muted); font-size: 12px; }
body.is-teacher-dashboard #teacher-panel-students .ts-alphabet button { background: #fff; border: 1px solid #d3deed; border-radius: 8px; color: #244e83; font-size: 12px; font-weight: 600; min-height: 44px; padding: 8px; }
body.is-teacher-dashboard #teacher-panel-students .ts-alphabet header button { flex-shrink: 0; min-width: 70px; }
body.is-teacher-dashboard #teacher-panel-students .ts-letters { display: grid; gap: 6px; grid-template-columns: repeat(14, minmax(0, 1fr)); }
body.is-teacher-dashboard #teacher-panel-students .ts-alphabet button:disabled { background: transparent; border-color: #e0e7f0; color: #8997ab; cursor: default; }
body.is-teacher-dashboard #teacher-panel-students .ts-alphabet button[aria-pressed="true"] { background: var(--ts-blue); border-color: var(--ts-blue); color: #fff; }
body.is-teacher-dashboard #teacher-panel-students .ts-alphabet button:not(:disabled):hover { border-color: var(--ts-blue); box-shadow: 0 2px 6px rgb(25 72 156 / 12%); }
body.is-teacher-dashboard #teacher-panel-students .ts-name-note { color: var(--ts-muted); font-size: 11px; line-height: 1.6; margin: 13px 0 0; }
body.is-teacher-dashboard #teacher-panel-students .ts-list-head { align-items: center; display: flex; gap: 16px; justify-content: space-between; padding: 22px 24px; }
body.is-teacher-dashboard #teacher-panel-students .ts-list-head h2 { color: var(--ts-ink); font-size: 17px; font-weight: 600; letter-spacing: -.3px; margin: 0 0 6px; }
body.is-teacher-dashboard #teacher-panel-students .ts-list-head p { color: var(--ts-muted); font-size: 12px; line-height: 1.5; margin: 0; }
body.is-teacher-dashboard #teacher-panel-students .ts-result-count { background: #f0f5fc; border: 1px solid #dde7f5; border-radius: 20px; flex-shrink: 0; padding: 7px 12px; }
body.is-teacher-dashboard #teacher-panel-students .ts-result-count strong { color: var(--ts-blue); }
body.is-teacher-dashboard #teacher-panel-students .ts-table { border-collapse: collapse; table-layout: fixed; width: 100%; }
body.is-teacher-dashboard #teacher-panel-students .ts-table th { background: #f9fbfe; border-block: 1px solid #e4ebf4; color: #586b83; font-size: 11px; font-weight: 600; padding: 13px 24px; text-align: left; }
body.is-teacher-dashboard #teacher-panel-students .ts-table th:first-child { width: 39%; }
body.is-teacher-dashboard #teacher-panel-students .ts-table th:nth-child(2) { width: 15%; }
body.is-teacher-dashboard #teacher-panel-students .ts-table th:nth-child(3) { width: 26%; }
body.is-teacher-dashboard #teacher-panel-students .ts-table th:nth-child(4) { width: 20%; }
body.is-teacher-dashboard #teacher-panel-students .ts-table td { border-bottom: 1px solid #e7edf5; color: var(--ts-ink); font-size: 13px; padding: 20px 24px; vertical-align: middle; }
body.is-teacher-dashboard #teacher-panel-students .ts-table tbody tr:hover { background: #fbfcff; }
body.is-teacher-dashboard #teacher-panel-students .ts-identity > div { align-items: center; display: flex; gap: 13px; }
body.is-teacher-dashboard #teacher-panel-students .ts-avatar { align-items: center; background: #edf3fd; border: 1px solid #dbe6f5; border-radius: 12px; color: var(--ts-blue); display: flex; flex-shrink: 0; font-size: 12px; font-weight: 650; height: 42px; justify-content: center; width: 42px; }
body.is-teacher-dashboard #teacher-panel-students .ts-identity strong { color: var(--ts-ink); display: block; font-size: 14px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
body.is-teacher-dashboard #teacher-panel-students .ts-identity small { color: var(--ts-muted); display: block; font-size: 11px; line-height: 1.6; margin-top: 3px; overflow-wrap: anywhere; }
body.is-teacher-dashboard #teacher-panel-students .ts-source { background: #f2f5f9; border: 1px solid #e0e7f0; border-radius: 6px; color: #516781; display: inline-block; font-size: 11px; line-height: 1.4; padding: 5px 8px; }
body.is-teacher-dashboard #teacher-panel-students .ts-source.is-partner { background: #f0f3fd; border-color: #e0e5f6; color: #495d91; }
body.is-teacher-dashboard #teacher-panel-students .ts-progress-copy { align-items: baseline; display: flex; gap: 7px; margin-bottom: 8px; }
body.is-teacher-dashboard #teacher-panel-students .ts-progress-copy strong { font-size: 13px; font-weight: 600; }
body.is-teacher-dashboard #teacher-panel-students .ts-progress-copy > span { color: var(--ts-muted); font-size: 10px; }
body.is-teacher-dashboard #teacher-panel-students .ts-progress-bar { background: #e9eff8; border-radius: 10px; height: 5px; overflow: hidden; }
body.is-teacher-dashboard #teacher-panel-students .ts-progress-bar > span { background: #367cce; border-radius: inherit; display: block; height: 100%; width: var(--progress); }
body.is-teacher-dashboard #teacher-panel-students .ts-status { align-items: center; border-radius: 20px; display: inline-flex; font-size: 10px; font-weight: 600; gap: 6px; line-height: 1.4; padding: 6px 9px; }
body.is-teacher-dashboard #teacher-panel-students .ts-status::before { background: currentColor; border-radius: 50%; content: ""; flex-shrink: 0; height: 5px; width: 5px; }
body.is-teacher-dashboard #teacher-panel-students .ts-status.is-current { background: #eaf6f0; color: #22684e; }
body.is-teacher-dashboard #teacher-panel-students .ts-status.is-progress { background: #edf3ff; color: #315ea0; }
body.is-teacher-dashboard #teacher-panel-students .ts-status.is-risk { background: #fff2e1; color: #875516; }
body.is-teacher-dashboard #teacher-panel-students .ts-list-footer { align-items: center; color: var(--ts-muted); display: flex; font-size: 11px; gap: 12px; justify-content: space-between; padding: 15px 24px; }
body.is-teacher-dashboard #teacher-panel-students .ts-list-footer > span:first-child { align-items: center; display: inline-flex; gap: 8px; }
body.is-teacher-dashboard #teacher-panel-students .ts-list-footer svg { height: 15px; width: 15px; }
body.is-teacher-dashboard #teacher-panel-students .ts-empty { align-items: center; color: var(--ts-muted); display: flex; flex-direction: column; padding: 42px 20px; text-align: center; }
body.is-teacher-dashboard #teacher-panel-students .ts-empty > svg { background: #eff4fc; border-radius: 14px; color: var(--ts-blue); height: 54px; padding: 14px; width: 54px; }
body.is-teacher-dashboard #teacher-panel-students .ts-empty h3 { color: var(--ts-ink); font-size: 17px; font-weight: 600; margin: 18px 0 8px; }
body.is-teacher-dashboard #teacher-panel-students .ts-empty p { font-size: 13px; line-height: 1.65; margin: 0 0 16px; }
body.is-teacher-dashboard #teacher-panel-students .ts-empty button { background: var(--ts-blue); border: 1px solid var(--ts-blue); border-radius: 8px; color: #fff; font-size: 12px; font-weight: 600; min-height: 44px; padding: 12px 16px; }
body.is-teacher-dashboard #teacher-panel-students .ts-sr-only { clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
@media (max-width: 1120px) {
  body.is-teacher-dashboard #teacher-panel-students .ts-table :is(th, td) { padding-left: 16px; padding-right: 16px; }
  body.is-teacher-dashboard #teacher-panel-students .ts-identity > div { gap: 10px; }
  body.is-teacher-dashboard #teacher-panel-students .ts-progress-copy > span { display: none; }
}
@media (max-width: 720px) {
  body.is-teacher-dashboard #teacher-panel-students .ts-toolbar { grid-template-columns: minmax(0, 1fr) 88px; padding: 20px 18px 14px; }
  body.is-teacher-dashboard #teacher-panel-students .ts-search { grid-column: 1 / -1; }
  body.is-teacher-dashboard #teacher-panel-students .ts-filter-row { gap: 14px; padding: 0 18px 20px; }
  body.is-teacher-dashboard #teacher-panel-students .ts-filter-row label:is(:first-child, :nth-child(2)) { width: 100%; }
  body.is-teacher-dashboard #teacher-panel-students .ts-reset { margin-left: 0; padding-left: 0; }
  body.is-teacher-dashboard #teacher-panel-students .ts-alphabet { padding: 18px; }
  body.is-teacher-dashboard #teacher-panel-students .ts-alphabet header > div { align-items: flex-start; flex-direction: column; gap: 5px; }
  body.is-teacher-dashboard #teacher-panel-students .ts-letters { gap: 5px; grid-template-columns: repeat(7, minmax(0, 1fr)); }
  body.is-teacher-dashboard #teacher-panel-students .ts-list-head { align-items: flex-start; flex-direction: column; gap: 12px; padding: 20px 18px; }
  body.is-teacher-dashboard #teacher-panel-students .ts-table :is(table, tbody) { display: block; }
  body.is-teacher-dashboard #teacher-panel-students .ts-table thead { clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; width: 1px; }
  body.is-teacher-dashboard #teacher-panel-students .ts-table tbody tr { border-top: 1px solid #e4ebf4; display: grid; gap: 16px 12px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding: 20px 18px; }
  body.is-teacher-dashboard #teacher-panel-students .ts-table tbody tr:nth-child(even) { background: #fbfcff; }
  body.is-teacher-dashboard #teacher-panel-students .ts-table td { border: 0; min-width: 0; padding: 0; }
  body.is-teacher-dashboard #teacher-panel-students .ts-identity { grid-column: 1 / -1; }
  body.is-teacher-dashboard #teacher-panel-students .ts-table .ts-advancement { grid-column: 1 / -1; grid-row: 3; }
  body.is-teacher-dashboard #teacher-panel-students .ts-table td[data-label]::before { color: var(--ts-muted); content: attr(data-label); display: block; font-size: 10px; margin-bottom: 6px; }
  body.is-teacher-dashboard #teacher-panel-students .ts-table .ts-advancement::before { display: none; }
  body.is-teacher-dashboard #teacher-panel-students .ts-progress-copy > span { display: inline; }
  body.is-teacher-dashboard #teacher-panel-students .ts-list-footer { align-items: flex-start; flex-direction: column; gap: 6px; padding: 16px 18px; }
}
@media (max-width: 400px) {
  body.is-teacher-dashboard #teacher-panel-students .td-page-head h1 { font-size: 28px; }
  body.is-teacher-dashboard #teacher-panel-students .td-summary-strip { gap: 6px; }
  body.is-teacher-dashboard #teacher-panel-students .td-summary-strip > article { gap: 8px; padding: 14px 9px; }
  body.is-teacher-dashboard #teacher-panel-students .td-summary-strip > article > span { font-size: 10px; }
  body.is-teacher-dashboard #teacher-panel-students .td-summary-strip > article > strong { font-size: 25px; }
  body.is-teacher-dashboard #teacher-panel-students .td-summary-strip > article > small { font-size: 10px; }
  body.is-teacher-dashboard #teacher-panel-students .ts-toolbar { grid-template-columns: minmax(0, 1fr) 80px; }
  body.is-teacher-dashboard #teacher-panel-students .ts-letters { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
