:root {
  --dc-ui-red: var(--dc-color-brand-red, #C7323A);
  --dc-ui-red-dark: var(--dc-color-brand-red-dark, #A92831);
  --dc-ui-charcoal: var(--dc-color-charcoal, #2B2B2B);
  --dc-ui-ink: var(--dc-color-text, #58595B);
  --dc-ui-muted: var(--dc-color-muted, #6F6F6F);
  --dc-ui-border: var(--dc-color-border, #D6D6D6);
  --dc-ui-canvas: var(--dc-color-soft, #F5F5F5);
  --dc-ui-surface: var(--dc-color-white, #FFFFFF);
  --dc-ui-danger-bg: #F8DDE0;
  --dc-ui-warning-bg: #FFF0D6;
  --dc-ui-success-bg: #E6F1D8;
  --dc-ui-info-bg: #EEF1F2;
  --dc-ui-display: var(--dc-font-display, 'Cormorant Garamond', Georgia, serif);
  --dc-ui-body: var(--dc-font-body, Montserrat, 'Avenir Next', Arial, sans-serif);
  --dc-ui-utility: 'Oswald', var(--dc-ui-body);
  --dc-ui-focus: 3px solid var(--dc-ui-red);
  --dc-ui-page-max: 1180px;
  --dc-ui-sidebar: 270px;
  color-scheme: light;
}

::selection {
  background: var(--dc-ui-red);
  color: var(--dc-ui-surface);
}

.dc-role-skip-link {
  position: fixed;
  z-index: 10001;
  top: 8px;
  left: 8px;
  transform: translateY(calc(-100% - 16px));
  padding: 12px 16px;
  background: var(--dc-ui-charcoal);
  color: var(--dc-ui-surface);
  font-weight: 700;
  text-decoration: none;
}

.dc-role-skip-link:focus,
.dc-role-skip-link:focus-visible {
  transform: none;
  outline: var(--dc-ui-focus);
  outline-offset: 3px;
}

:where(.dc-role-dashboard, .tutor-dashboard, .dc-ui-scope) {
  accent-color: var(--dc-ui-red);
  caret-color: var(--dc-ui-red);
  scrollbar-color: var(--dc-ui-charcoal) var(--dc-ui-canvas);
}

:where(.dc-role-dashboard, .tutor-dashboard, .dc-ui-scope) :where(button, input, select, textarea, a):focus-visible {
  outline: var(--dc-ui-focus);
  outline-offset: 3px;
  box-shadow: none;
}

:where(.dc-ui-button, .dc-role-button, .dc-ops-button, .tutor-btn) {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 11px 20px;
  border: 1px solid var(--dc-ui-red);
  border-radius: 0 !important;
  background: var(--dc-ui-red);
  color: var(--dc-ui-surface);
  font-family: var(--dc-ui-body);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
}

:where(.dc-ui-button, .dc-role-button, .dc-ops-button, .tutor-btn):hover {
  border-color: var(--dc-ui-red-dark);
  background: var(--dc-ui-red-dark);
  color: var(--dc-ui-surface);
}

:where(.dc-ui-button, .dc-role-button, .dc-ops-button, .tutor-btn)[disabled],
:where(.dc-ui-button, .dc-role-button, .dc-ops-button, .tutor-btn)[aria-disabled='true'] {
  border-color: var(--dc-ui-border);
  background: #E7E7E7;
  color: #7A7A7A;
  cursor: not-allowed;
}

.dc-ui-button--secondary,
.dc-role-button--secondary {
  border-color: var(--dc-ui-charcoal);
  background: var(--dc-ui-charcoal);
}

.dc-ui-button--secondary:hover,
.dc-role-button--secondary:hover {
  border-color: #171717;
  background: #171717;
}

.dc-ui-button--ghost,
.dc-ops-button--ghost {
  border-color: var(--dc-ui-border);
  background: var(--dc-ui-surface);
  color: var(--dc-ui-charcoal);
}

.dc-ui-button--ghost:hover,
.dc-ops-button--ghost:hover {
  border-color: var(--dc-ui-charcoal);
  background: var(--dc-ui-canvas);
  color: var(--dc-ui-charcoal);
}

.dc-ui-button--small,
.dc-ops-button--small {
  min-height: 40px;
  padding: 8px 14px;
  font-size: 12px;
}

:where(.dc-ui-page-header, .dc-role-heading) {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
  margin: 0 0 34px;
}

:where(.dc-ui-page-header, .dc-role-heading) h1 {
  max-width: 16ch;
  margin: 0;
  color: var(--dc-ui-charcoal);
  font-family: var(--dc-ui-display);
  font-size: clamp(2.5rem, 4vw, 3.75rem);
  font-weight: 600;
  line-height: .98;
  letter-spacing: -.025em;
  text-wrap: balance;
}

:where(.dc-ui-page-header, .dc-role-heading) p {
  max-width: 68ch;
  margin: 12px 0 0;
  color: var(--dc-ui-muted);
  font-size: 17px;
  line-height: 1.55;
}

:where(.dc-ui-card, .dc-ops-panel, .dc-role-section) {
  min-width: 0;
  padding: 30px;
  border: 1px solid var(--dc-ui-border);
  border-radius: 0 !important;
  background: var(--dc-ui-surface);
  box-shadow: none;
}

:where(.dc-ui-card__header, .dc-ops-panel__head, .dc-role-section__head) {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

:where(.dc-ui-card__header, .dc-ops-panel__head, .dc-role-section__head) h2 {
  margin: 0;
  color: var(--dc-ui-charcoal);
  font-size: 22px;
  line-height: 1.2;
}

:where(.dc-ui-card__header, .dc-ops-panel__head, .dc-role-section__head) p {
  max-width: 68ch;
  margin: 6px 0 0;
  color: var(--dc-ui-muted);
  font-size: 13px;
  line-height: 1.55;
}

:where(.dc-ui-filter-bar, .dc-ops-filter-form, .dc-resource-catalogue-tools) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  gap: 16px;
  align-items: end;
}

:where(.dc-ui-field, .dc-ops-field) {
  display: grid;
  min-width: 0;
  gap: 8px;
}

:where(.dc-ui-field, .dc-ops-field) > span,
.dc-ui-label {
  color: var(--dc-ui-charcoal);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
}

:where(.dc-ui-field, .dc-ops-field) :where(input:not([type='checkbox'], [type='radio']), select, textarea),
.dc-ui-control {
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid #BFC0C1;
  border-radius: 0 !important;
  background: var(--dc-ui-surface);
  color: var(--dc-ui-charcoal);
  font: inherit;
}

:where(.dc-ui-field, .dc-ops-field) textarea {
  min-height: 120px;
  resize: vertical;
}

:where(.dc-ui-field, .dc-ops-field) :where(input, select, textarea)::placeholder {
  color: #707070;
  opacity: 1;
}

:where(.dc-ui-field, .dc-ops-field) :where(input, select, textarea):disabled {
  background: #EEEEEE;
  color: #727272;
}

:where(.dc-ui-tabs, .dc-ops-tabs) {
  display: flex;
  gap: 26px;
  overflow-x: auto;
  border-bottom: 1px solid var(--dc-ui-border);
  scrollbar-width: thin;
}

:where(.dc-ui-tabs, .dc-ops-tabs) a,
:where(.dc-ui-tabs, .dc-ops-tabs) button {
  position: relative;
  display: inline-flex;
  min-height: 48px;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  padding: 0 1px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--dc-ui-muted);
  font: 700 14px/1.2 var(--dc-ui-body);
  text-decoration: none;
}

:where(.dc-ui-tabs, .dc-ops-tabs) :where(a, button)::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  background: transparent;
  content: '';
}

:where(.dc-ui-tabs, .dc-ops-tabs) :where(a, button):hover,
:where(.dc-ui-tabs, .dc-ops-tabs) :where(.is-active, [aria-selected='true'], [aria-current='page']) {
  color: var(--dc-ui-charcoal);
}

:where(.dc-ui-tabs, .dc-ops-tabs) :where(.is-active, [aria-selected='true'], [aria-current='page'])::after {
  background: var(--dc-ui-red);
}

:where(.dc-ui-table-wrap, .dc-ops-table-wrap) {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--dc-ui-border);
}

:where(.dc-ui-table, .dc-ops-table) {
  width: 100%;
  border: 0;
  border-collapse: collapse;
  background: var(--dc-ui-surface);
  color: var(--dc-ui-ink);
  font-variant-numeric: tabular-nums;
}

:where(.dc-ui-table, .dc-ops-table) th {
  padding: 13px 16px;
  border-bottom: 1px solid var(--dc-ui-border);
  background: var(--dc-ui-canvas);
  color: var(--dc-ui-charcoal);
  font-family: var(--dc-ui-utility);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .045em;
  text-align: left;
  text-transform: uppercase;
}

:where(.dc-ui-table, .dc-ops-table) td {
  padding: 15px 16px;
  border-bottom: 1px solid var(--dc-ui-border);
  vertical-align: middle;
}

:where(.dc-ui-table, .dc-ops-table) tbody tr:last-child td {
  border-bottom: 0;
}

:where(.dc-ui-table, .dc-ops-table) tbody tr:hover {
  background: #FAFAFA;
}

:where(.dc-ui-notice, .dc-role-notice, .dc-ops-alert) {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 0 0 24px;
  padding: 18px 20px;
  border: 1px solid var(--dc-ui-border);
  border-radius: 0 !important;
  background: var(--dc-ui-info-bg);
  color: var(--dc-ui-charcoal);
}

:where(.dc-ui-notice, .dc-role-notice, .dc-ops-alert) p {
  max-width: 68ch;
  margin: 0;
}

.dc-ui-notice--success,
.dc-ops-alert--success {
  border-color: #B9CDA4;
  background: var(--dc-ui-success-bg);
}

.dc-teacher-course-delivery-ownership { display: block; }
.dc-teacher-course-delivery-ownership h2 { margin: 0 0 12px; font-size: 18px; }
.dc-teacher-course-delivery-ownership ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 28px; margin: 0 0 12px; padding-left: 20px; }
.dc-teacher-course-delivery-ownership li { max-width: 68ch; line-height: 1.5; }
.dc-teacher-course-delivery-ownership p { max-width: none; }

@media (max-width: 720px) {
  .dc-teacher-course-delivery-ownership ul { grid-template-columns: 1fr; }
}

.dc-ui-notice--warning,
.dc-role-notice:not(.dc-role-notice--error) {
  border-color: #E2C98A;
  background: var(--dc-ui-warning-bg);
}

.dc-ui-notice--error,
.dc-role-notice--error,
.dc-ops-alert--error {
  border-color: #D88890;
  background: var(--dc-ui-danger-bg);
}

:where(.dc-ui-pagination, .tutor-pagination-wrapper-replaceable, .pagination, .nav-links) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 28px;
}

:where(.dc-ui-pagination, .tutor-pagination-wrapper-replaceable, .pagination, .nav-links) :where(a, button, span.page-numbers) {
  display: inline-grid;
  min-width: 44px;
  min-height: 44px;
  place-items: center;
  padding: 8px 12px;
  border: 1px solid var(--dc-ui-border);
  border-radius: 0 !important;
  background: var(--dc-ui-surface);
  color: var(--dc-ui-charcoal);
  font-weight: 700;
  text-decoration: none;
}

:where(.dc-ui-pagination, .tutor-pagination-wrapper-replaceable, .pagination, .nav-links) :where(.current, [aria-current='page']) {
  border-color: var(--dc-ui-red);
  background: var(--dc-ui-red);
  color: var(--dc-ui-surface);
}

:where(dialog.dc-ui-dialog, .dc-ui-dialog dialog, .dcr-faith-dialog) {
  width: min(920px, calc(100vw - 40px));
  max-height: min(86vh, 920px);
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--dc-ui-border);
  border-radius: 0 !important;
  background: var(--dc-ui-surface);
  color: var(--dc-ui-ink);
  box-shadow: 0 24px 64px rgba(43, 43, 43, .24);
}

:where(dialog.dc-ui-dialog, .dc-ui-dialog dialog, .dcr-faith-dialog)::backdrop {
  background: rgba(43, 43, 43, .72);
}

.dc-ui-dialog__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 26px 32px;
  border-bottom: 1px solid var(--dc-ui-border);
}

.dc-ui-dialog__header h2 {
  margin: 0;
  color: var(--dc-ui-charcoal);
  font-family: var(--dc-ui-display);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 600;
  line-height: 1;
}

.dc-ui-dialog__body {
  max-height: calc(86vh - 190px);
  overflow: auto;
  padding: 28px 32px;
}

.dc-ui-dialog__footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 20px 32px;
  border-top: 1px solid var(--dc-ui-border);
  background: var(--dc-ui-canvas);
}

.dc-ui-menu-button {
  display: none;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 0;
  background: transparent;
  color: var(--dc-ui-surface);
  font: 700 12px/1 var(--dc-ui-body);
  letter-spacing: .04em;
  text-transform: uppercase;
}

.dc-ui-menu-button svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.dc-ui-nav-overlay {
  position: fixed;
  z-index: 9997;
  inset: 0;
  display: none;
  border: 0;
  background: rgba(43, 43, 43, .68);
}

body.dc-ui-nav-open {
  overflow: hidden;
}

.dc-role-topbar,
.dc-shared-header {
  background: var(--dc-ui-charcoal);
}

.dc-role-sidebar,
body.dc-role-sidebar-consistent .tutor-dashboard-sidebar {
  width: var(--dc-ui-sidebar);
  flex: 0 0 var(--dc-ui-sidebar);
  border-radius: 0 !important;
  background: var(--dc-ui-surface);
}

.dc-role-nav a,
body.dc-role-sidebar-consistent .tutor-dashboard-sidebar .tutor-dashboard-sidebar-nav ul li a {
  border-radius: 0 !important;
}

.dc-role-nav a.is-active,
body.dc-role-sidebar-consistent .tutor-dashboard-sidebar .tutor-dashboard-sidebar-nav ul li a.active {
  background: var(--dc-ui-red) !important;
  color: var(--dc-ui-surface) !important;
}

@media (max-width: 1100px) {
  :root {
    --dc-ui-sidebar: 236px;
  }

  :where(.dc-ui-card, .dc-ops-panel, .dc-role-section) {
    padding: 24px;
  }

  :where(.dc-ui-filter-bar, .dc-ops-filter-form, .dc-resource-catalogue-tools) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 920px) {
  .dc-ui-menu-button {
    display: inline-flex;
  }

  .dc-role-topbar .dc-ui-menu-button {
    margin-left: auto;
  }

  .dc-role-topbar__actions {
    margin-left: 4px;
  }

  .dc-shared-header__mobile .dc-ui-menu-button {
    flex: 0 0 auto;
  }

  body.dc-ui-nav-enhanced .dc-role-shell {
    grid-template-columns: 1fr;
  }

  body.dc-ui-nav-enhanced :where(.dc-role-sidebar, .tutor-dashboard-sidebar) {
    position: fixed !important;
    z-index: 9998;
    top: 0;
    bottom: 0;
    left: 0;
    display: block !important;
    width: min(320px, 88vw) !important;
    max-width: 88vw !important;
    height: 100dvh;
    padding: 28px 20px !important;
    overflow-y: auto;
    border-right: 1px solid var(--dc-ui-border);
    border-bottom: 0;
    background: var(--dc-ui-surface);
    transform: translateX(-104%);
    visibility: hidden;
    transition: transform 220ms cubic-bezier(.16, 1, .3, 1), visibility 0s linear 220ms;
  }

  body.dc-ui-nav-open :where(.dc-role-sidebar, .tutor-dashboard-sidebar) {
    transform: translateX(0);
    visibility: visible;
    transition: transform 220ms cubic-bezier(.16, 1, .3, 1);
  }

  body.dc-ui-nav-open .dc-ui-nav-overlay {
    display: block;
  }

  body.dc-ui-nav-enhanced .dc-role-sidebar__brand,
  body.dc-ui-nav-enhanced .dc-tutor-sidebar-brand,
  body.dc-ui-nav-enhanced .tutor-dashboard-sidebar-logo {
    display: flex !important;
  }

  body.dc-ui-nav-enhanced .dc-role-nav {
    display: grid;
    width: auto;
    margin-top: 26px;
  }

  body.dc-ui-nav-enhanced .dc-role-nav a {
    width: 100%;
  }
}

@media (max-width: 680px) {
  :where(.dc-ui-page-header, .dc-role-heading) {
    display: block;
    margin-bottom: 28px;
  }

  :where(.dc-ui-page-header, .dc-role-heading) h1 {
    max-width: 100%;
    font-size: clamp(2.25rem, 12vw, 3rem);
  }

  :where(.dc-ui-page-header, .dc-role-heading) p {
    font-size: 16px;
  }

  :where(.dc-ui-page-header, .dc-role-heading) :where(.dc-ui-button, .dc-role-button) {
    width: 100%;
    margin-top: 20px;
  }

  :where(.dc-ui-card, .dc-ops-panel, .dc-role-section) {
    padding: 22px 18px;
  }

  :where(.dc-ui-card__header, .dc-ops-panel__head, .dc-role-section__head) {
    display: block;
  }

  :where(.dc-ui-filter-bar, .dc-ops-filter-form, .dc-resource-catalogue-tools) {
    grid-template-columns: 1fr;
  }

  :where(.dc-ui-filter-bar, .dc-ops-filter-form, .dc-resource-catalogue-tools) :where(.dc-ui-button, .dc-ops-button) {
    width: 100%;
  }

  :where(.dc-ui-table-wrap, .dc-ops-table-wrap) {
    overflow: visible;
    border: 0;
  }

  :where(.dc-ui-table, .dc-ops-table),
  :where(.dc-ui-table, .dc-ops-table) tbody,
  :where(.dc-ui-table, .dc-ops-table) tr,
  :where(.dc-ui-table, .dc-ops-table) td {
    display: block;
    width: 100%;
  }

  :where(.dc-ui-table, .dc-ops-table) thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
  }

  :where(.dc-ui-table, .dc-ops-table) tr {
    margin-bottom: 16px;
    padding: 6px 16px;
    border: 1px solid var(--dc-ui-border);
    background: var(--dc-ui-surface);
  }

  :where(.dc-ui-table, .dc-ops-table) td {
    display: grid;
    grid-template-columns: minmax(88px, 34%) minmax(0, 1fr);
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid var(--dc-ui-border);
    text-align: left !important;
  }

  :where(.dc-ui-table, .dc-ops-table) td:last-child {
    border-bottom: 0;
  }

  :where(.dc-ui-table, .dc-ops-table) td::before {
    align-self: start;
    color: var(--dc-ui-muted);
    content: attr(data-label);
    font-family: var(--dc-ui-utility);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  :where(.dc-ui-table, .dc-ops-table) td:not([data-label])::before {
    content: '';
  }

  :where(dialog.dc-ui-dialog, .dc-ui-dialog dialog, .dcr-faith-dialog) {
    width: calc(100vw - 24px);
    max-height: 92dvh;
  }

  .dc-ui-dialog__header,
  .dc-ui-dialog__body,
  .dc-ui-dialog__footer {
    padding-right: 20px;
    padding-left: 20px;
  }

  .dc-ui-dialog__footer {
    display: grid;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Teacher overview ------------------------------------------------------- */

.screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.dc-teacher-overview {
  display: grid;
  gap: 24px;
}

.dc-teacher-overview .dc-role-heading {
  margin-bottom: 0;
}

.dc-teacher-overview__filters {
  display: flex;
  align-items: center;
  gap: 14px;
}

.dc-teacher-overview__filters select,
.dc-teacher-overview__filters time {
  min-height: 48px;
  border: 1px solid var(--dc-ui-border);
  background: var(--dc-ui-surface);
  color: var(--dc-ui-charcoal);
  font: 600 13px/1.2 var(--dc-ui-body);
}

.dc-teacher-overview__filters select {
  min-width: 190px;
  padding: 10px 42px 10px 14px;
}

.dc-teacher-overview__filters time {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.dc-teacher-overview__filters .dc-role-icon {
  width: 19px;
  height: 19px;
}

.dc-teacher-overview__focus {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(290px, .8fr);
  gap: 14px;
  align-items: stretch;
}

.dc-teacher-overview__focus > .dc-teacher-next,
.dc-teacher-overview__focus > .dc-teacher-attention {
  height: 100%;
}

.dc-teacher-overview__focus .dc-teacher-next {
  grid-template-columns: minmax(0, 1.45fr) minmax(230px, .75fr);
}

.dc-teacher-attention__clear {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 22px 0 8px;
  border-top: 1px solid var(--dc-ui-border);
}

.dc-teacher-attention__clear > .dc-role-icon {
  width: 42px;
  height: 42px;
  padding: 10px;
  background: var(--dc-ui-bg);
  color: var(--dc-ui-red);
}

.dc-teacher-attention__clear strong,
.dc-teacher-attention__clear small {
  display: block;
}

.dc-teacher-attention__clear strong {
  color: var(--dc-ui-charcoal);
  font-size: 14px;
}

.dc-teacher-attention__clear small {
  margin-top: 5px;
  color: var(--dc-ui-muted);
  font-size: 12px;
  line-height: 1.5;
}

.dc-teacher-week .dc-role-empty {
  min-height: 0;
}

.dc-teacher-overview__more {
  border: 1px solid var(--dc-ui-border);
  background: var(--dc-ui-surface);
}

.dc-teacher-overview__more > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  min-height: 72px;
  padding: 16px 22px;
  color: var(--dc-ui-charcoal);
  cursor: pointer;
  list-style: none;
}

.dc-teacher-overview__more > summary::-webkit-details-marker {
  display: none;
}

.dc-teacher-overview__more > summary::after {
  content: "+";
  font-family: var(--dc-ui-body);
  font-size: 24px;
  font-weight: 500;
  line-height: 1;
}

.dc-teacher-overview__more[open] > summary::after {
  content: "−";
}

.dc-teacher-overview__more > summary:hover,
.dc-teacher-overview__more > summary:focus-visible {
  background: #F6F6F6;
}

.dc-teacher-overview__more > summary:focus-visible {
  outline: 3px solid var(--dc-ui-red);
  outline-offset: -3px;
}

.dc-teacher-overview__more > summary span,
.dc-teacher-overview__more > summary strong,
.dc-teacher-overview__more > summary small {
  display: block;
}

.dc-teacher-overview__more > summary strong {
  font-size: 16px;
  font-weight: 700;
}

.dc-teacher-overview__more > summary small {
  margin-top: 3px;
  color: var(--dc-ui-muted);
  font-size: 12px;
  font-weight: 400;
}

.dc-teacher-overview__more-body {
  display: grid;
  gap: 14px;
  padding: 0 22px 22px;
  border-top: 1px solid var(--dc-ui-border);
}

.dc-teacher-overview__more-body > .dc-teacher-metrics {
  margin-top: 22px;
}

.dc-teacher-overview__more-body > .dc-role-section {
  padding-right: 0;
  padding-left: 0;
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
}

.dc-teacher-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
}

.dc-teacher-metric {
  display: flex;
  min-height: 118px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 24px;
  border: 1px solid var(--dc-ui-border);
  background: var(--dc-ui-surface);
}

.dc-teacher-metric > div {
  display: flex;
  flex-direction: column;
}

.dc-teacher-metric dt,
.dc-teacher-metric dd {
  margin: 0;
}

.dc-teacher-metric dd {
  order: -1;
  color: var(--dc-ui-charcoal);
  font-family: var(--dc-ui-display);
  font-size: 44px;
  font-weight: 600;
  line-height: .9;
  font-variant-numeric: tabular-nums;
}

.dc-teacher-metric dt {
  margin-top: 11px;
  color: var(--dc-ui-muted);
  font-size: 14px;
  font-weight: 600;
}

.dc-teacher-metric > .dc-role-icon {
  width: 31px;
  height: 31px;
  color: var(--dc-ui-charcoal);
}

.dc-teacher-metric:first-child > .dc-role-icon,
.dc-teacher-metric:last-child > .dc-role-icon {
  color: var(--dc-ui-red);
}

.dc-teacher-next {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, .8fr);
  border: 1px solid var(--dc-ui-border);
  background: var(--dc-ui-surface);
}

.dc-teacher-next__summary,
.dc-teacher-next__readiness {
  padding: 28px 30px;
}

.dc-teacher-next__readiness {
  border-left: 1px solid var(--dc-ui-border);
}

.dc-teacher-label {
  margin: 0 0 8px !important;
  color: var(--dc-ui-red) !important;
  font-family: var(--dc-ui-utility);
  font-size: 11px !important;
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.dc-teacher-next h2 {
  max-width: 24ch;
  margin: 0;
  color: var(--dc-ui-charcoal);
  font-family: var(--dc-ui-display);
  font-size: clamp(2rem, 3.2vw, 3rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.dc-teacher-next__summary > p:not(.dc-teacher-label) {
  margin: 10px 0 0;
  color: var(--dc-ui-muted);
  line-height: 1.5;
}

.dc-teacher-next__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.dc-teacher-overview .dc-role-button--ghost {
  border: 1px solid var(--dc-ui-charcoal);
  background: var(--dc-ui-surface);
  color: var(--dc-ui-charcoal);
}

.dc-teacher-overview .dc-role-button--ghost:hover {
  background: var(--dc-ui-charcoal);
  color: var(--dc-ui-surface);
}

.dc-teacher-next__readiness h3 {
  margin: 0 0 18px;
  color: var(--dc-ui-charcoal);
  font-size: 17px;
}

.dc-teacher-next__readiness ul,
.dc-teacher-attention ul,
.dc-teacher-cohort-list,
.dc-teacher-conversation-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.dc-teacher-next__readiness ul {
  display: grid;
  gap: 13px;
}

.dc-teacher-next__readiness li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--dc-ui-muted);
  font-size: 13px;
}

.dc-teacher-next__readiness li .dc-role-icon {
  width: 22px;
  height: 22px;
  padding: 3px;
  border: 1px solid var(--dc-ui-border);
}

.dc-teacher-next__readiness li.is-ready {
  color: var(--dc-ui-charcoal);
}

.dc-teacher-next__readiness li.is-ready .dc-role-icon {
  border-color: var(--dc-ui-red);
  background: var(--dc-ui-red);
  color: var(--dc-ui-surface);
}

.dc-teacher-overview__primary,
.dc-teacher-overview__secondary {
  display: grid;
  gap: 14px;
  align-items: stretch;
}

.dc-teacher-overview__primary {
  grid-template-columns: minmax(0, 1.65fr) minmax(290px, .85fr);
}

.dc-teacher-overview__secondary {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dc-teacher-overview__primary > .dc-role-section,
.dc-teacher-overview__secondary > .dc-role-section {
  height: 100%;
}

.dc-teacher-overview .dc-role-section__head > a,
.dc-teacher-cohort-list a,
.dc-teacher-attention a {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 7px;
  color: var(--dc-ui-red);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.dc-teacher-overview .dc-role-section__head > a:hover,
.dc-teacher-cohort-list a:hover,
.dc-teacher-attention a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.dc-teacher-overview .dc-role-section__head > a .dc-role-icon,
.dc-teacher-cohort-list a .dc-role-icon,
.dc-teacher-attention a .dc-role-icon {
  width: 15px;
  height: 15px;
}

.dc-teacher-cohort-list {
  border-top: 1px solid var(--dc-ui-border);
}

.dc-teacher-cohort-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, .68fr);
  gap: 24px;
  align-items: center;
  padding: 17px 0;
  border-bottom: 1px solid var(--dc-ui-border);
}

.dc-teacher-cohort-list li > div:first-child > strong,
.dc-teacher-cohort-list li > div:first-child > small {
  display: block;
}

.dc-teacher-cohort-list li > div:first-child > strong {
  color: var(--dc-ui-charcoal);
  font-size: 15px;
}

.dc-teacher-cohort-list li > div:first-child > small,
.dc-teacher-cohort-list li > div:last-child > span {
  margin-top: 4px;
  color: var(--dc-ui-muted);
  font-size: 11px;
  line-height: 1.45;
}

.dc-teacher-cohort-list li > div:last-child > span {
  display: block;
  margin-top: 0;
  color: var(--dc-ui-charcoal);
}

.dc-teacher-cohort-list .dc-role-progress {
  margin-top: 8px;
}

.dc-teacher-cohort-list .dc-role-progress > span {
  background: var(--dc-ui-red);
}

.dc-teacher-attention ul {
  border-top: 1px solid var(--dc-ui-border);
}

.dc-teacher-attention li {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  padding: 18px 0;
  border-bottom: 1px solid var(--dc-ui-border);
}

.dc-teacher-attention li > .dc-role-icon {
  width: 42px;
  height: 42px;
  padding: 10px;
  background: #F8DDE0;
  color: var(--dc-ui-red);
}

.dc-teacher-attention strong,
.dc-teacher-attention small {
  display: block;
}

.dc-teacher-attention strong {
  color: var(--dc-ui-charcoal);
  font-size: 14px;
  line-height: 1.35;
}

.dc-teacher-attention small {
  margin-top: 4px;
  color: var(--dc-ui-muted);
  font-size: 11px;
  line-height: 1.45;
}

.dc-teacher-week-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--dc-ui-border);
}

.dc-teacher-week-list li {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  min-height: 66px;
  border-bottom: 1px solid var(--dc-ui-border);
}

.dc-teacher-week-list time strong,
.dc-teacher-week-list time span,
.dc-teacher-week-list li > div > strong,
.dc-teacher-week-list li > div > small {
  display: block;
}

.dc-teacher-week-list time {
  color: var(--dc-ui-charcoal);
  font-size: 10px;
  line-height: 1.35;
  text-align: center;
  text-transform: uppercase;
}

.dc-teacher-week-list time span,
.dc-teacher-week-list li > div > small,
.dc-teacher-week-list li > span {
  color: var(--dc-ui-muted);
  font-size: 11px;
}

.dc-teacher-week-list li > div > strong {
  color: var(--dc-ui-charcoal);
  font-size: 13px;
}

.dc-teacher-week-list li > div > small {
  margin-top: 3px;
}

.dc-teacher-week-list li > span {
  max-width: 88px;
  text-align: right;
}

.dc-teacher-conversation-list {
  border-top: 1px solid var(--dc-ui-border);
}

.dc-teacher-conversation-list li {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 14px 0;
  border-bottom: 1px solid var(--dc-ui-border);
}

.dc-teacher-avatar {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  background: #E3EAF1;
  color: #35506C;
  font-size: 11px;
  font-weight: 700;
}

.dc-teacher-conversation-list strong {
  display: block;
  color: var(--dc-ui-charcoal);
  font-size: 13px;
}

.dc-teacher-conversation-list p {
  max-width: 52ch;
  margin: 4px 0 0;
  color: var(--dc-ui-muted);
  font-size: 11px;
  line-height: 1.45;
}

.dc-teacher-conversation-list time {
  color: var(--dc-ui-muted);
  font-size: 10px;
  white-space: nowrap;
}

@media (max-width: 1100px) {
  .dc-teacher-overview__heading {
    display: block;
  }

  .dc-teacher-overview__filters {
    margin-top: 22px;
  }

  .dc-teacher-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dc-teacher-overview__primary,
  .dc-teacher-overview__secondary {
    grid-template-columns: 1fr;
  }

  .dc-teacher-overview__focus {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 780px) {
  .dc-teacher-next {
    grid-template-columns: 1fr;
  }

  .dc-teacher-overview__focus .dc-teacher-next {
    grid-template-columns: 1fr;
  }

  .dc-teacher-next__readiness {
    border-top: 1px solid var(--dc-ui-border);
    border-left: 0;
  }
}

@media (max-width: 680px) {
  .dc-teacher-overview {
    gap: 16px;
  }

  .dc-teacher-overview__filters {
    display: grid;
    grid-template-columns: 1fr;
  }

  .dc-teacher-overview__filters select,
  .dc-teacher-overview__filters time,
  .dc-teacher-overview__filters form {
    width: 100%;
  }

  .dc-teacher-overview__filters time {
    justify-content: center;
  }

  .dc-teacher-metrics {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .dc-teacher-metric {
    min-height: 94px;
    padding: 18px 20px;
  }

  .dc-teacher-metric dd {
    font-size: 38px;
  }

  .dc-teacher-next__summary,
  .dc-teacher-next__readiness {
    padding: 22px 18px;
  }

  .dc-teacher-next__actions {
    display: grid;
  }

  .dc-teacher-next__actions .dc-role-button,
  .dc-teacher-next__summary > .dc-role-button {
    width: 100%;
    margin-top: 0;
  }

  .dc-teacher-cohort-list li {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .dc-teacher-week-list li {
    grid-template-columns: 48px minmax(0, 1fr);
    padding: 12px 0;
  }

  .dc-teacher-week-list li > span {
    grid-column: 2;
    text-align: left;
  }
}

/* Teacher cohorts: roster operations, attendance, progress, and discussions. */
.dc-role-dashboard--teacher .dc-role-nav a[aria-current="page"] { background: var(--dc-ui-red); color: var(--dc-ui-surface); font-weight: 800; }
.dc-teacher-cohorts { display: grid; gap: 20px; min-width: 0; }
.dc-teacher-cohorts .dc-role-heading { align-items: flex-end; margin-bottom: 0; }
.dc-teacher-cohort-picker { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.dc-teacher-cohort-picker > a { display: grid; min-height: 80px; grid-template-columns: minmax(0, 1fr) auto; align-content: center; gap: 5px 16px; padding: 16px 18px; border: 1px solid var(--dc-ui-border); background: var(--dc-ui-surface); color: var(--dc-ui-charcoal); text-decoration: none; }
.dc-teacher-cohort-picker > a:hover, .dc-teacher-cohort-picker > a:focus-visible { border-color: var(--dc-ui-red); }
.dc-teacher-cohort-picker > a.is-selected { border: 2px solid var(--dc-ui-red); padding: 15px 17px; }
.dc-teacher-cohort-picker strong { min-width: 0; overflow-wrap: anywhere; font-size: 15px; }
.dc-teacher-cohort-picker span { color: var(--dc-ui-muted); font-size: 13px; }
.dc-teacher-cohort-picker__state { grid-column: 2; grid-row: 1 / span 2; align-self: center; justify-self: end; font-size: 11px !important; font-weight: 700; }
.dc-teacher-cohort-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 0 22px; padding: 18px 20px 0; border: 1px solid var(--dc-ui-border); border-bottom: 0; background: var(--dc-ui-surface); }
.dc-teacher-cohort-heading h2 { margin: 0; color: var(--dc-ui-charcoal); font-family: var(--dc-ui-display); font-size: clamp(23px, 2.4vw, 29px); line-height: 1.15; }
.dc-teacher-cohort-heading p { margin: 5px 0 0; color: var(--dc-ui-muted); font-size: 13px; }
.dc-teacher-cohort-heading__actions { display: flex; justify-content: flex-end; gap: 10px; }
.dc-teacher-cohort-heading__actions .dc-role-button { min-height: 42px; margin: 0; white-space: nowrap; }
.dc-teacher-cohort-tabs { display: flex; grid-column: 1 / -1; gap: 0; margin-top: 17px; border-top: 1px solid var(--dc-ui-border); }
.dc-teacher-cohort-tabs a { display: inline-flex; min-height: 45px; align-items: center; justify-content: center; padding: 0 17px; border-bottom: 3px solid transparent; color: var(--dc-ui-muted); font-size: 13px; font-weight: 600; text-decoration: none; }
.dc-teacher-cohort-tabs a:hover, .dc-teacher-cohort-tabs a:focus-visible { color: var(--dc-ui-red); }
.dc-teacher-cohort-tabs a.is-active { border-bottom-color: var(--dc-ui-red); color: var(--dc-ui-red); font-weight: 800; }
.dc-teacher-cohort-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr); align-items: start; gap: 16px; min-width: 0; }
.dc-teacher-roster, .dc-teacher-student-detail, .dc-teacher-cohort-view { min-width: 0; padding: 16px; border: 1px solid var(--dc-ui-border); background: var(--dc-ui-surface); }
.dc-teacher-roster-tools { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(125px, .5fr) auto auto; align-items: end; gap: 8px; margin-bottom: 14px; }
.dc-teacher-roster-tools input, .dc-teacher-roster-tools select, .dc-teacher-attendance-table select, .dc-teacher-cohort-view input[type="date"] { width: 100%; min-width: 0; min-height: 42px; padding: 9px 11px; border: 1px solid var(--dc-ui-border); border-radius: 0; background: var(--dc-ui-surface); color: var(--dc-ui-charcoal); font: inherit; }
.dc-teacher-roster-tools .dc-role-button, .dc-teacher-export .dc-ops-button { min-height: 42px; margin: 0; white-space: nowrap; }
.dc-teacher-export { display: flex; justify-content: flex-end; margin-bottom: 12px; }
.dc-teacher-export .dc-role-icon { width: 16px; height: 16px; margin-right: 6px; vertical-align: middle; }
.dc-teacher-table-wrap { width: 100%; overflow-x: auto; }
.dc-teacher-student-table, .dc-teacher-attendance-table, .dc-teacher-progress-table { width: 100%; border-collapse: collapse; color: var(--dc-ui-charcoal); font-size: 12px; }
.dc-teacher-student-table th, .dc-teacher-student-table td, .dc-teacher-attendance-table th, .dc-teacher-attendance-table td, .dc-teacher-progress-table th, .dc-teacher-progress-table td { padding: 10px 9px; border-bottom: 1px solid var(--dc-ui-border); text-align: left; vertical-align: middle; }
.dc-teacher-student-table thead, .dc-teacher-attendance-table thead, .dc-teacher-progress-table thead { background: var(--dc-ui-info-bg); }
.dc-teacher-student-table thead th, .dc-teacher-attendance-table thead th, .dc-teacher-progress-table thead th { color: var(--dc-ui-muted); font-size: 10px; font-weight: 800; white-space: nowrap; }
.dc-teacher-student-table tbody tr.needs-follow-up { background: var(--dc-ui-danger-bg); }
.dc-teacher-student-table tbody tr.is-selected { box-shadow: inset 3px 0 var(--dc-ui-red); }
.dc-teacher-student-table td:first-child a { display: flex; min-height: 42px; align-items: center; gap: 9px; color: var(--dc-ui-charcoal); text-decoration: none; }
.dc-teacher-student-table td:first-child a:hover strong, .dc-teacher-student-table td:first-child a:focus-visible strong { color: var(--dc-ui-red); text-decoration: underline; text-underline-offset: 3px; }
.dc-teacher-student-table td:first-child strong { display: block; font-size: 12px; }
.dc-teacher-student-table td:first-child small { display: inline-block; margin-top: 3px; padding: 2px 6px; background: var(--dc-ui-warning-bg); color: var(--dc-ui-charcoal); font-size: 9px; font-weight: 800; }
.dc-teacher-avatar { display: inline-flex; width: 34px; height: 34px; flex: 0 0 34px; align-items: center; justify-content: center; border: 1px solid var(--dc-ui-border); border-radius: 50%; background: var(--dc-ui-danger-bg); color: var(--dc-ui-red); font-size: 11px; font-weight: 800; }
.dc-teacher-avatar--large { width: 55px; height: 55px; flex-basis: 55px; font-size: 17px; }
.dc-teacher-roster-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 13px; color: var(--dc-ui-muted); font-size: 12px; }
.dc-teacher-roster-footer nav { display: flex; gap: 5px; }
.dc-teacher-roster-footer nav a { display: inline-flex; min-width: 34px; min-height: 34px; align-items: center; justify-content: center; border: 1px solid var(--dc-ui-border); color: var(--dc-ui-charcoal); text-decoration: none; }
.dc-teacher-roster-footer nav a.is-current { border-color: var(--dc-ui-red); background: var(--dc-ui-red); color: var(--dc-ui-surface); }
.dc-teacher-student-detail { display: grid; gap: 12px; }
.dc-teacher-student-detail__head { display: flex; align-items: center; gap: 11px; }
.dc-teacher-student-detail__head h3 { margin: 0; color: var(--dc-ui-charcoal); font-size: 16px; }
.dc-teacher-student-detail__head p, .dc-teacher-student-detail__head small { display: block; margin: 3px 0 0; color: var(--dc-ui-muted); font-size: 11px; overflow-wrap: anywhere; }
.dc-teacher-student-detail > .dc-role-button { min-height: 42px; margin: 0; justify-content: center; }
.dc-teacher-detail-facts { display: grid; gap: 0; margin: 0; border-top: 1px solid var(--dc-ui-border); }
.dc-teacher-detail-facts > div { display: grid; gap: 4px; padding: 10px 0; border-bottom: 1px solid var(--dc-ui-border); }
.dc-teacher-detail-facts dt { color: var(--dc-ui-charcoal); font-size: 12px; font-weight: 800; }
.dc-teacher-detail-facts dd { margin: 0; color: var(--dc-ui-muted); font-size: 11px; line-height: 1.5; }
.dc-teacher-private-note { display: grid; gap: 8px; padding-top: 4px; }
.dc-teacher-private-note label strong, .dc-teacher-private-note > strong { display: flex; align-items: center; gap: 7px; color: var(--dc-ui-charcoal); font-size: 12px; }
.dc-teacher-private-note label span { display: block; margin-top: 4px; color: var(--dc-ui-muted); font-size: 10px; }
.dc-teacher-private-note textarea { width: 100%; min-height: 86px; resize: vertical; padding: 10px; border: 1px solid var(--dc-ui-border); border-radius: 0; background: var(--dc-ui-surface); color: var(--dc-ui-charcoal); font: inherit; font-size: 12px; }
.dc-teacher-private-note .dc-ops-button { min-height: 40px; margin: 0; }
.dc-teacher-cohort-view { padding: 19px; }
.dc-teacher-cohort-view__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 15px; }
.dc-teacher-cohort-view__heading h3 { margin: 0; color: var(--dc-ui-charcoal); font-size: 20px; }
.dc-teacher-cohort-view__heading p { margin: 4px 0 0; color: var(--dc-ui-muted); font-size: 12px; }
.dc-teacher-cohort-view__heading form { display: flex; align-items: center; gap: 8px; }
.dc-teacher-cohort-view__heading form label { color: var(--dc-ui-charcoal); font-size: 12px; font-weight: 700; }
.dc-teacher-cohort-view__heading form button { min-height: 42px; margin: 0; white-space: nowrap; }
.dc-teacher-attendance-table td:first-child { white-space: nowrap; }
.dc-teacher-attendance-table td:first-child .dc-teacher-avatar { margin-right: 8px; vertical-align: middle; }
.dc-teacher-attendance-table td:first-child strong { vertical-align: middle; }
.dc-teacher-attendance-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 14px; }
.dc-teacher-attendance-actions p { margin: 0; color: var(--dc-ui-muted); font-size: 11px; }
.dc-teacher-attendance-actions .dc-role-button { margin: 0; }
.dc-teacher-attendance-bulk { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0 0 12px; padding: 12px; border: 1px solid var(--dc-ui-border); background: var(--dc-ui-info-bg); }
.dc-teacher-attendance-bulk label { color: var(--dc-ui-charcoal); font-size: 12px; font-weight: 700; }
.dc-teacher-attendance-bulk select { width: auto; min-width: 150px; min-height: 42px; padding: 8px 10px; border: 1px solid var(--dc-ui-border); border-radius: 0; background: var(--dc-ui-surface); color: var(--dc-ui-charcoal); font: inherit; font-size: 13px; }
.dc-teacher-attendance-bulk .dc-ops-button { min-height: 42px; margin: 0; }
.dc-teacher-attendance-bulk__status { flex: 1 1 100%; color: var(--dc-ui-muted); font-size: 12px; }
.dc-teacher-attendance-create, .dc-teacher-followup-create { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(145px, .65fr) auto; align-items: end; gap: 12px; margin: 0 0 18px; padding: 16px; border: 1px solid var(--dc-ui-border); background: var(--dc-ui-info-bg); }
.dc-teacher-followup-create { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dc-teacher-followup-create h4 { grid-column: 1 / -1; margin: 0; color: var(--dc-ui-charcoal); font-size: 16px; }
.dc-teacher-attendance-create label, .dc-teacher-followup-create label, .dc-teacher-attendance-select label, .dc-teacher-followup-filter label, .dc-teacher-followup-update label { display: grid; gap: 5px; color: var(--dc-ui-charcoal); font-size: 12px; font-weight: 700; }
.dc-teacher-attendance-create input, .dc-teacher-followup-create input, .dc-teacher-followup-create select, .dc-teacher-followup-create textarea, .dc-teacher-attendance-select select, .dc-teacher-followup-filter select, .dc-teacher-followup-update input, .dc-teacher-followup-update select { width: 100%; min-width: 0; min-height: 42px; padding: 9px 11px; border: 1px solid var(--dc-ui-border); border-radius: 0; background: var(--dc-ui-surface); color: var(--dc-ui-charcoal); font: inherit; font-size: 13px; }
.dc-teacher-followup-create textarea { min-height: 76px; resize: vertical; }
.dc-teacher-followup-create__details { grid-column: 1 / -1; }
.dc-teacher-attendance-create .dc-role-button, .dc-teacher-followup-create .dc-role-button { min-height: 42px; margin: 0; white-space: nowrap; }
.dc-teacher-attendance-select, .dc-teacher-followup-filter { display: flex; align-items: center; gap: 9px; margin: 0 0 12px; }
.dc-teacher-attendance-select label, .dc-teacher-followup-filter label { flex: 0 0 auto; }
.dc-teacher-attendance-select select, .dc-teacher-followup-filter select { width: auto; min-width: min(420px, 100%); }
.dc-teacher-attendance-select button, .dc-teacher-followup-filter button { min-height: 42px; margin: 0; }
.dc-teacher-attendance-session-meta { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0 0 10px; padding: 12px 0; border-top: 1px solid var(--dc-ui-border); color: var(--dc-ui-charcoal); }
.dc-teacher-attendance-session-meta span, .dc-teacher-attendance-future { color: var(--dc-ui-muted); font-size: 12px; }
.dc-teacher-attendance-future { padding: 10px 12px; background: var(--dc-ui-warning-bg); }
.dc-teacher-history summary { color: var(--dc-ui-red); cursor: pointer; font-size: 11px; font-weight: 700; }
.dc-teacher-history ol { display: grid; gap: 7px; margin: 8px 0 0; padding-left: 18px; }
.dc-teacher-history li { color: var(--dc-ui-charcoal); font-size: 11px; }
.dc-teacher-history li small { display: block; margin-top: 3px; color: var(--dc-ui-muted); font-size: 10px; }
.dc-teacher-legacy-attendance { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--dc-ui-border); color: var(--dc-ui-muted); font-size: 12px; }
.dc-teacher-legacy-attendance summary { color: var(--dc-ui-charcoal); cursor: pointer; font-weight: 700; }
.dc-teacher-legacy-attendance ul { display: flex; flex-wrap: wrap; gap: 8px 20px; padding-left: 18px; }
.dc-teacher-followup-create { margin-top: 4px; }
.dc-teacher-followup-list { display: grid; gap: 10px; }
.dc-teacher-followup-card { display: grid; gap: 12px; padding: 14px; border: 1px solid var(--dc-ui-border); background: var(--dc-ui-surface); }
.dc-teacher-followup-card.is-overdue { border-left: 4px solid var(--dc-ui-red); }
.dc-teacher-followup-card h4 { margin: 7px 0 3px; color: var(--dc-ui-charcoal); font-size: 15px; }
.dc-teacher-followup-card p { margin: 0; color: var(--dc-ui-muted); font-size: 12px; }
.dc-teacher-followup-card__details { margin-top: 8px; color: var(--dc-ui-charcoal); font-size: 12px; line-height: 1.5; }
.dc-teacher-followup-status { display: inline-flex; padding: 4px 7px; background: var(--dc-ui-info-bg); color: var(--dc-ui-charcoal); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.dc-teacher-followup-status.is-completed { background: var(--dc-ui-success-bg); }
.dc-teacher-followup-status.is-open { background: var(--dc-ui-warning-bg); }
.dc-teacher-followup-card.is-overdue .dc-teacher-followup-status { background: var(--dc-ui-danger-bg); color: var(--dc-ui-red); }
.dc-teacher-followup-update { display: grid; grid-template-columns: minmax(140px, 1fr) minmax(135px, .75fr) minmax(120px, .65fr) auto; align-items: end; gap: 8px; padding-top: 12px; border-top: 1px solid var(--dc-ui-border); }
.dc-teacher-followup-update button { min-height: 42px; margin: 0; white-space: nowrap; }
.dc-teacher-followup-history { padding-top: 10px; border-top: 1px solid var(--dc-ui-border); }
.dc-teacher-progress-table { min-width: 640px; }
.dc-teacher-progress-table tbody th { min-width: 140px; font-size: 12px; }
.dc-teacher-progress-table tbody th a { color: var(--dc-ui-charcoal); text-decoration: underline; text-underline-offset: 3px; }
.dc-teacher-cohorts .dc-formation-stream { margin-top: 0; }
.dc-teacher-cohort-notice { padding: 12px 15px; border: 1px solid var(--dc-ui-border); background: var(--dc-ui-surface); color: var(--dc-ui-charcoal); font-size: 13px; }

@media (max-width: 1100px) {
  .dc-teacher-cohort-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dc-teacher-cohort-layout { grid-template-columns: minmax(0, 1.25fr) minmax(250px, .75fr); }
  .dc-teacher-roster-tools { grid-template-columns: minmax(0, 1fr) minmax(120px, .65fr) auto; }
  .dc-teacher-roster-tools .dc-role-button { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .dc-teacher-cohort-picker { grid-template-columns: 1fr; }
  .dc-teacher-cohort-layout { grid-template-columns: 1fr; }
  .dc-teacher-cohort-heading { grid-template-columns: 1fr; gap: 12px; padding: 16px 14px 0; }
  .dc-teacher-cohort-heading__actions { justify-content: flex-start; }
  .dc-teacher-cohort-heading__actions .dc-role-button { width: auto; }
  .dc-teacher-cohort-tabs { max-width: calc(100vw - 64px); overflow-x: auto; grid-column: 1; }
  .dc-teacher-cohort-tabs a { min-width: max-content; padding-inline: 13px; }
  .dc-teacher-roster-tools { grid-template-columns: minmax(0, 1fr) minmax(120px, .65fr); }
  .dc-teacher-roster-tools .dc-role-button { grid-column: auto; }
  .dc-teacher-student-table thead, .dc-teacher-attendance-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
  .dc-teacher-student-table, .dc-teacher-student-table tbody, .dc-teacher-student-table tr, .dc-teacher-student-table td,
  .dc-teacher-attendance-table, .dc-teacher-attendance-table tbody, .dc-teacher-attendance-table tr, .dc-teacher-attendance-table td { display: block; width: 100%; }
  .dc-teacher-student-table tr, .dc-teacher-attendance-table tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; padding: 9px 0; border-bottom: 1px solid var(--dc-ui-border); }
  .dc-teacher-student-table td, .dc-teacher-attendance-table td { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 5px; border: 0; text-align: right; }
  .dc-teacher-student-table td::before, .dc-teacher-attendance-table td::before { content: attr(data-label); color: var(--dc-ui-muted); font-size: 10px; font-weight: 700; text-align: left; }
  .dc-teacher-student-table td:first-child { grid-column: 1 / -1; }
  .dc-teacher-student-table td:first-child::before, .dc-teacher-attendance-table td:first-child::before { content: none; }
  .dc-teacher-student-table td:first-child a { flex: 1; }
  .dc-teacher-cohort-view__heading { align-items: flex-start; flex-direction: column; }
  .dc-teacher-cohort-view__heading form { display: grid; width: 100%; grid-template-columns: auto minmax(0, 1fr) auto; }
  .dc-teacher-attendance-table td:first-child { justify-content: flex-start; }
  .dc-teacher-attendance-create, .dc-teacher-followup-create { grid-template-columns: 1fr; }
  .dc-teacher-followup-create h4, .dc-teacher-followup-create__details { grid-column: auto; }
  .dc-teacher-followup-update { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dc-teacher-followup-update button { grid-column: 1 / -1; }
  .dc-teacher-attendance-select, .dc-teacher-followup-filter { align-items: stretch; flex-wrap: wrap; }
  .dc-teacher-attendance-select select, .dc-teacher-followup-filter select { flex: 1 1 180px; min-width: 0; }
}

@media (max-width: 520px) {
  .dc-teacher-roster, .dc-teacher-student-detail, .dc-teacher-cohort-view { padding: 12px; }
  .dc-teacher-roster-tools { grid-template-columns: 1fr; }
  .dc-teacher-roster-tools .dc-role-button { grid-column: auto; }
  .dc-teacher-cohort-tabs a { padding-inline: 10px; font-size: 12px; }
  .dc-teacher-roster-footer { align-items: flex-start; flex-direction: column; }
  .dc-teacher-cohort-view__heading form { grid-template-columns: 1fr; }
  .dc-teacher-attendance-actions { align-items: stretch; flex-direction: column; }
  .dc-teacher-attendance-bulk { align-items: stretch; flex-direction: column; }
  .dc-teacher-attendance-bulk select, .dc-teacher-attendance-bulk .dc-ops-button { width: 100%; }
  .dc-teacher-attendance-select, .dc-teacher-followup-filter { display: grid; grid-template-columns: 1fr; }
  .dc-teacher-attendance-select select, .dc-teacher-followup-filter select { width: 100%; }
  .dc-teacher-followup-update { grid-template-columns: 1fr; }
  .dc-teacher-followup-update button { grid-column: auto; }
}

/* Teacher My Courses */
.dc-teacher-courses { display: grid; gap: 0; min-width: 0; }
.dc-teacher-courses__heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 25px; }
.dc-teacher-courses__heading h1 { margin: 0; color: var(--dc-ui-charcoal); font-family: var(--dc-ui-display); font-size: clamp(30px, 3.5vw, 43px); line-height: 1.05; }
.dc-teacher-courses__heading p { margin: 7px 0 0; color: var(--dc-ui-muted); font-size: 14px; }
.dc-teacher-courses__heading .dc-role-button { min-height: 46px; margin: 0; white-space: nowrap; }
.dc-teacher-courses__tools { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 15px; }
.dc-teacher-courses__tools form { display: grid; flex: 1 1 auto; grid-template-columns: minmax(190px, 1fr) minmax(155px, .62fr) minmax(140px, .55fr) auto; gap: 9px; min-width: 0; }
.dc-teacher-courses__tools input, .dc-teacher-courses__tools select { width: 100%; min-width: 0; min-height: 44px; padding: 9px 12px; border: 1px solid var(--dc-ui-border); border-radius: 0; background: var(--dc-ui-surface); color: var(--dc-ui-charcoal); font: inherit; font-size: 13px; }
.dc-teacher-courses__tools button { min-height: 44px; margin: 0; white-space: nowrap; }
.dc-teacher-courses__view-toggle { display: inline-flex; flex: 0 0 auto; border: 1px solid var(--dc-ui-border); }
.dc-teacher-courses__view-toggle a { display: inline-flex; min-width: 58px; min-height: 44px; align-items: center; justify-content: center; padding: 0 12px; color: var(--dc-ui-charcoal); font-size: 12px; font-weight: 700; text-decoration: none; }
.dc-teacher-courses__view-toggle a + a { border-left: 1px solid var(--dc-ui-border); }
.dc-teacher-courses__view-toggle a:hover, .dc-teacher-courses__view-toggle a:focus-visible { color: var(--dc-ui-red); }
.dc-teacher-courses__view-toggle a.is-active { background: var(--dc-ui-red); color: var(--dc-ui-surface); }
.dc-teacher-courses__tabs { display: flex; gap: 0; overflow-x: auto; border-bottom: 1px solid var(--dc-ui-border); }
.dc-teacher-courses__tabs a { display: inline-flex; min-height: 48px; align-items: center; gap: 9px; padding: 0 17px; border-bottom: 3px solid transparent; color: var(--dc-ui-muted); font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.dc-teacher-courses__tabs a span { display: inline-flex; min-width: 22px; min-height: 22px; align-items: center; justify-content: center; padding: 0 5px; background: var(--dc-ui-info-bg); color: var(--dc-ui-charcoal); font-size: 10px; }
.dc-teacher-courses__tabs a.is-active { border-bottom-color: var(--dc-ui-red); color: var(--dc-ui-red); }
.dc-teacher-courses__results { display: grid; gap: 14px; padding-top: 17px; }
.dc-teacher-courses__results.is-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dc-teacher-course-item { display: grid; min-width: 0; gap: 15px; padding: 19px; border: 1px solid var(--dc-ui-border); background: var(--dc-ui-surface); }
.dc-teacher-course-item__category { margin: 0 0 5px; color: var(--dc-ui-red); font-size: 10px; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.dc-teacher-course-item__body h2 { margin: 0; color: var(--dc-ui-charcoal); font-family: var(--dc-ui-display); font-size: clamp(22px, 2.3vw, 28px); line-height: 1.06; }
.dc-teacher-course-item__title-link { color: inherit; text-decoration: none; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.dc-teacher-course-item__title-link:hover { color: var(--dc-ui-red); text-decoration: underline; }
.dc-teacher-course-item__title-link:focus-visible { border-radius: 2px; outline: 3px solid var(--dc-ui-red); outline-offset: 3px; }
.dc-teacher-course-item__description { margin: 7px 0 0; color: var(--dc-ui-muted); font-size: 12px; line-height: 1.5; }
.dc-teacher-course-item__facts { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 15px; padding: 12px 0; border-top: 1px solid var(--dc-ui-border); border-bottom: 1px solid var(--dc-ui-border); color: var(--dc-ui-muted); font-size: 11px; font-weight: 700; }
.dc-teacher-course-state { display: inline-flex; padding: 4px 7px; background: var(--dc-ui-info-bg); color: var(--dc-ui-charcoal); font-size: 9px; letter-spacing: .04em; text-transform: uppercase; }
.dc-teacher-course-state.is-active { background: var(--dc-ui-success-bg); color: #34550D; }
.dc-teacher-course-state.is-upcoming { background: var(--dc-ui-warning-bg); }
.dc-teacher-course-state.is-archived { background: var(--dc-ui-info-bg); }
.dc-teacher-course-item__cohorts > strong, .dc-teacher-course-item__next > strong { display: block; margin-bottom: 7px; color: var(--dc-ui-charcoal); font-size: 11px; }
.dc-teacher-course-item__cohorts ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.dc-teacher-course-item__cohorts li { display: flex; justify-content: space-between; gap: 10px; color: var(--dc-ui-charcoal); font-size: 11px; }
.dc-teacher-course-item__cohorts li span, .dc-teacher-course-item__cohorts > p, .dc-teacher-course-item__next > p { color: var(--dc-ui-muted); font-size: 11px; }
.dc-teacher-course-item__cohorts > p, .dc-teacher-course-item__next > p { margin: 0; }
.dc-teacher-course-item__next { display: grid; gap: 3px; }
.dc-teacher-course-item__next span { color: var(--dc-ui-charcoal); font-size: 12px; font-weight: 700; }
.dc-teacher-course-item__next small { color: var(--dc-ui-muted); font-size: 10px; }
.dc-teacher-course-item__link { display: flex; min-height: 42px; align-items: center; justify-content: space-between; gap: 10px; padding-top: 10px; border-top: 1px solid var(--dc-ui-border); color: var(--dc-ui-red); font-size: 12px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.dc-teacher-courses__results.is-list .dc-teacher-course-item { grid-template-columns: minmax(160px, 1.2fr) minmax(130px, .7fr) minmax(155px, .9fr) minmax(150px, .8fr) auto; align-items: center; gap: 12px; padding: 15px 17px; }
.dc-teacher-courses__results.is-list .dc-teacher-course-item__facts { align-content: center; border: 0; padding: 0; }
.dc-teacher-courses__results.is-list .dc-teacher-course-item__link { min-width: 95px; border-top: 0; padding: 0; }
.dc-teacher-courses__pagination { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-top: 17px; color: var(--dc-ui-muted); font-size: 12px; }
.dc-teacher-courses__pagination nav { display: flex; flex-wrap: wrap; gap: 5px; }
.dc-teacher-courses__pagination a { display: inline-flex; min-width: 36px; min-height: 36px; align-items: center; justify-content: center; padding: 0 9px; border: 1px solid var(--dc-ui-border); color: var(--dc-ui-charcoal); text-decoration: none; }
.dc-teacher-courses__pagination a[rel], .dc-teacher-courses__pagination a.is-current { border-color: var(--dc-ui-red); color: var(--dc-ui-red); font-weight: 800; }
.dc-teacher-courses__pagination a.is-current { background: var(--dc-ui-red); color: var(--dc-ui-surface); }
.dc-teacher-courses__empty { margin-top: 18px; }

@media (max-width: 1050px) {
  .dc-teacher-courses__tools { align-items: stretch; flex-direction: column; }
  .dc-teacher-courses__view-toggle { align-self: flex-end; }
  .dc-teacher-courses__results.is-list .dc-teacher-course-item { grid-template-columns: minmax(0, 1fr) minmax(130px, .7fr); }
  .dc-teacher-courses__results.is-list .dc-teacher-course-item__link { justify-self: start; }
}
@media (max-width: 760px) {
  .dc-teacher-courses__heading { align-items: flex-start; flex-direction: column; }
  .dc-teacher-courses__tools form { grid-template-columns: minmax(0, 1fr) minmax(130px, .6fr); }
  .dc-teacher-courses__tools form button { grid-column: 1 / -1; }
  .dc-teacher-courses__results.is-grid { grid-template-columns: 1fr; }
  .dc-teacher-courses__results.is-list .dc-teacher-course-item { grid-template-columns: 1fr 1fr; }
  .dc-teacher-courses__results.is-list .dc-teacher-course-item__body, .dc-teacher-courses__results.is-list .dc-teacher-course-item__link { grid-column: 1 / -1; }
  .dc-teacher-courses__results.is-list .dc-teacher-course-item__facts { border-top: 1px solid var(--dc-ui-border); border-bottom: 1px solid var(--dc-ui-border); padding: 9px 0; }
}
@media (max-width: 520px) {
  .dc-teacher-courses__tools form { grid-template-columns: 1fr; }
  .dc-teacher-courses__tools form button { grid-column: auto; }
  .dc-teacher-courses__results.is-list .dc-teacher-course-item { grid-template-columns: 1fr; }
  .dc-teacher-courses__results.is-list .dc-teacher-course-item__body, .dc-teacher-courses__results.is-list .dc-teacher-course-item__link { grid-column: auto; }
  .dc-teacher-courses__pagination { align-items: flex-start; flex-direction: column; }
}

/* Cohort engagement and in-context discussion actions. */
.dc-teacher-cohort-engagement { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 16px 24px; padding: 18px 20px; border: 1px solid var(--dc-ui-border); background: var(--dc-ui-surface); }
.dc-teacher-cohort-engagement h2 { grid-column: 1 / -1; margin: 0; color: var(--dc-ui-charcoal); font-size: 20px; }
.dc-teacher-cohort-engagement dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0; }
.dc-teacher-cohort-engagement dl > div { display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 2px 10px; padding: 4px 18px; border-right: 1px solid var(--dc-ui-border); }
.dc-teacher-cohort-engagement dl > div:first-child { padding-left: 0; }
.dc-teacher-cohort-engagement dl > div:last-child { border-right: 0; }
.dc-teacher-cohort-engagement dl .dc-role-icon { grid-row: 1 / span 2; width: 24px; height: 24px; color: var(--dc-ui-red); }
.dc-teacher-cohort-engagement dt { color: var(--dc-ui-muted); font-size: 10px; font-weight: 800; }
.dc-teacher-cohort-engagement dd { margin: 0; color: var(--dc-ui-charcoal); font-size: 21px; font-weight: 800; font-variant-numeric: tabular-nums; }
.dc-teacher-cohort-engagement > .dc-role-button { min-height: 42px; margin: 0; white-space: nowrap; }
.dc-teacher-discussion-composer { display: grid; gap: 9px; margin-bottom: 18px; padding: 16px; border: 1px solid var(--dc-ui-border); background: var(--dc-ui-info-bg); }
.dc-teacher-discussion-composer h4 { margin: 0; color: var(--dc-ui-charcoal); font-size: 15px; }
.dc-teacher-discussion-composer label { color: var(--dc-ui-charcoal); font-size: 12px; font-weight: 700; }
.dc-teacher-discussion-composer textarea { width: 100%; min-height: 82px; resize: vertical; padding: 10px; border: 1px solid var(--dc-ui-border); border-radius: 0; background: var(--dc-ui-surface); color: var(--dc-ui-charcoal); font: inherit; font-size: 13px; }
.dc-teacher-discussion-composer .dc-role-button { justify-self: start; min-height: 42px; margin: 0; }
@media (max-width: 760px) {
  .dc-teacher-cohort-engagement { grid-template-columns: 1fr; padding: 16px; }
  .dc-teacher-cohort-engagement h2 { grid-column: auto; }
  .dc-teacher-cohort-engagement dl { grid-template-columns: 1fr; }
  .dc-teacher-cohort-engagement dl > div, .dc-teacher-cohort-engagement dl > div:first-child { padding: 10px 0; border-right: 0; border-bottom: 1px solid var(--dc-ui-border); }
  .dc-teacher-cohort-engagement dl > div:last-child { border-bottom: 0; }
  .dc-teacher-cohort-engagement > .dc-role-button { justify-self: start; white-space: normal; }
}

/* Teacher course detail and lesson workspace. */
.dc-teacher-course-workspace, .dc-teacher-class-workspace { display: grid; gap: 18px; min-width: 0; color: var(--dc-ui-charcoal); }
.dc-teacher-course-workspace__back { margin: 0; }
.dc-teacher-course-workspace__back a { color: var(--dc-ui-red); font-size: 13px; font-weight: 800; text-decoration: none; }
.dc-teacher-course-workspace__back a:hover, .dc-teacher-course-workspace__back a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.dc-teacher-course-workspace__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; padding-bottom: 18px; border-bottom: 1px solid var(--dc-ui-border); }
.dc-teacher-course-workspace__heading h1 { margin: 0; color: var(--dc-ui-charcoal); font-family: var(--dc-ui-display); font-size: clamp(30px, 3.5vw, 44px); line-height: 1.08; }
.dc-teacher-course-workspace__heading p { max-width: 68ch; margin: 8px 0 0; color: var(--dc-ui-muted); font-size: 14px; line-height: 1.6; }
.dc-teacher-course-workspace__heading > span { color: var(--dc-ui-muted); font-size: 12px; white-space: nowrap; }
.dc-teacher-course-workspace__cohort { display: flex; align-items: center; gap: 10px; }
.dc-teacher-course-workspace__cohort label { color: var(--dc-ui-charcoal); font-size: 12px; font-weight: 800; }
.dc-teacher-course-workspace__cohort select { min-width: min(350px, 60vw); min-height: 42px; padding: 8px 12px; border: 1px solid var(--dc-ui-border); border-radius: 0; background: var(--dc-ui-surface); color: var(--dc-ui-charcoal); font: inherit; font-size: 13px; }
.dc-teacher-course-workspace__cohort button { min-height: 42px; margin: 0; }
.dc-teacher-course-workspace__role-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 13px 16px; border: 1px solid var(--dc-ui-border); background: var(--dc-ui-surface); }
.dc-teacher-course-workspace__role-actions .dc-ops-button { min-height: 40px; margin: 0; }
.dc-teacher-course-workspace__role-actions > span { color: var(--dc-ui-muted); font-size: 12px; }
.dc-teacher-course-workspace__tabs { display: flex; gap: 0; overflow-x: auto; border-bottom: 1px solid var(--dc-ui-border); }
.dc-teacher-course-workspace__tabs a { display: inline-flex; min-height: 47px; align-items: center; padding: 0 17px; border-bottom: 3px solid transparent; color: var(--dc-ui-muted); font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.dc-teacher-course-workspace__tabs a.is-active { border-bottom-color: var(--dc-ui-red); color: var(--dc-ui-red); }
.dc-teacher-course-workspace__tabs a:focus-visible, .dc-teacher-course-workspace a:focus-visible { outline: 3px solid var(--dc-ui-red); outline-offset: 2px; }
.dc-teacher-course-workspace__section { min-width: 0; padding: 22px; border: 1px solid var(--dc-ui-border); background: var(--dc-ui-surface); }
.dc-teacher-course-workspace__section > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.dc-teacher-course-workspace__section > header h2, .dc-teacher-class-workspace__layout aside h2 { margin: 0; color: var(--dc-ui-charcoal); font-size: 21px; }
.dc-teacher-course-workspace__section > header p { margin: 5px 0 0; color: var(--dc-ui-muted); font-size: 13px; }
.dc-teacher-course-workspace__section > header > span { color: var(--dc-ui-muted); font-size: 12px; white-space: nowrap; }
.dc-teacher-course-workspace__summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; border: 1px solid var(--dc-ui-border); background: var(--dc-ui-surface); }
.dc-teacher-course-workspace__summary > div { display: grid; align-content: start; gap: 8px; min-width: 0; min-height: 82px; padding: 16px 18px; }
.dc-teacher-course-workspace__summary > div + div { border-left: 1px solid var(--dc-ui-border); }
.dc-teacher-course-workspace__summary dt { min-height: 2.8em; margin: 0; color: var(--dc-ui-muted); font-size: 10px; line-height: 1.4; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.dc-teacher-course-workspace__summary dd { margin: 0; color: var(--dc-ui-charcoal); font-size: 20px; line-height: 1.25; font-weight: 800; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.dc-teacher-course-workspace__next { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 20px; border: 1px solid var(--dc-ui-border); border-left: 4px solid var(--dc-ui-red); background: #fff4f4; }
.dc-teacher-course-workspace__next p { margin: 0 0 4px; color: var(--dc-ui-red); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.dc-teacher-course-workspace__next h2 { margin: 0; color: var(--dc-ui-charcoal); font-family: var(--dc-ui-display); font-size: 23px; line-height: 1.2; }
.dc-teacher-course-workspace__next span { display: block; margin-top: 5px; color: var(--dc-ui-muted); font-size: 12px; }
.dc-teacher-course-workspace__next .dc-ops-button { flex: 0 0 auto; margin: 0; }
.dc-teacher-course-modules { display: grid; gap: 14px; }
.dc-teacher-course-module { border: 1px solid var(--dc-ui-border); background: var(--dc-ui-surface); }
.dc-teacher-course-module > h3 { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; margin: 0; padding: 12px 15px; background: var(--dc-ui-info-bg); color: var(--dc-ui-charcoal); font-size: 13px; }
.dc-teacher-course-module > h3 > span { font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.dc-teacher-course-module > h3 > small { color: var(--dc-ui-muted); font-size: 10px; font-weight: 600; }
.dc-teacher-course-lesson-list { display: grid; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--dc-ui-border); }
.dc-teacher-course-lesson-list > li { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto auto; align-items: center; gap: 14px; padding: 15px 0; border-bottom: 1px solid var(--dc-ui-border); }
.dc-teacher-course-lesson-list__number { color: var(--dc-ui-muted); font-size: 13px; font-weight: 800; font-variant-numeric: tabular-nums; }
.dc-teacher-course-lesson-list small { color: var(--dc-ui-red); font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.dc-teacher-course-lesson-list h3, .dc-teacher-course-lesson-list h4, .dc-teacher-course-activity-list h3 { margin: 3px 0; color: var(--dc-ui-charcoal); font-size: 15px; }
.dc-teacher-course-lesson-list p, .dc-teacher-course-activity-list p { margin: 0; color: var(--dc-ui-muted); font-size: 12px; line-height: 1.5; }
.dc-teacher-course-lesson-list .dc-ops-text-link, .dc-teacher-course-workspace__section header > a { color: var(--dc-ui-red); font-size: 12px; font-weight: 800; white-space: nowrap; }
.dc-teacher-course-workspace__footnotes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 15px; padding-top: 15px; border-top: 1px solid var(--dc-ui-border); }
.dc-teacher-course-workspace__footnotes p { display: grid; gap: 4px; margin: 0; color: var(--dc-ui-muted); font-size: 12px; }
.dc-teacher-course-workspace__footnotes strong { color: var(--dc-ui-charcoal); font-size: 12px; }
.dc-teacher-course-workspace__footnotes a { width: fit-content; color: var(--dc-ui-red); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.dc-teacher-course-activity-list { border-top: 1px solid var(--dc-ui-border); }
.dc-teacher-course-activity-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 18px; padding: 16px 0; border-bottom: 1px solid var(--dc-ui-border); }
.dc-teacher-course-activity-list article > div > span { color: var(--dc-ui-red); font-size: 10px; font-weight: 800; letter-spacing: .04em; }
.dc-teacher-course-activity-list article > strong, .dc-teacher-course-activity-list article > span { color: var(--dc-ui-muted); font-size: 12px; }
#dc-assessment-reviews > h3 { margin: 22px 0 10px; color: var(--dc-ui-charcoal); font-size: 17px; }
#dc-assessment-reviews details { min-width: 170px; }
#dc-assessment-reviews details summary { width: fit-content; color: var(--dc-ui-red); font-weight: 800; cursor: pointer; }
#dc-assessment-reviews details > p { max-width: 65ch; margin: 10px 0; color: var(--dc-ui-ink); white-space: pre-wrap; overflow-wrap: anywhere; }
#dc-assessment-reviews details form { display: grid; gap: 10px; min-width: 240px; max-width: 440px; padding: 12px 0; }
#dc-assessment-reviews details label { display: grid; gap: 5px; color: var(--dc-ui-charcoal); font-size: 12px; font-weight: 700; }
#dc-assessment-reviews details input, #dc-assessment-reviews details textarea { width: 100%; min-height: 40px; padding: 8px 10px; border: 1px solid var(--dc-ui-border); border-radius: 0; background: var(--dc-ui-surface); color: var(--dc-ui-charcoal); font: inherit; }
#dc-assessment-reviews details textarea { min-height: 80px; resize: vertical; }
#dc-assessment-reviews details .dc-ops-button { justify-self: start; margin: 0; }
.dc-teacher-assessment-queue { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--dc-ui-border); }
.dc-teacher-assessment-queue > header { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; margin-bottom: 14px; }
.dc-teacher-assessment-queue > header h3 { margin: 0; font-size: 19px; }
.dc-teacher-assessment-queue > header p { margin: 5px 0 0; color: var(--dc-ui-muted); font-size: 13px; }
.dc-teacher-assessment-queue > h4 { margin: 22px 0 10px; font-size: 16px; }
.dc-teacher-assessment-filters { display: grid; grid-template-columns: minmax(180px, 2fr) repeat(2, minmax(145px, 1fr)) auto; gap: 10px; align-items: end; margin: 14px 0; }
.dc-teacher-assessment-filters label, .dc-teacher-review-form > label { display: grid; gap: 5px; color: var(--dc-ui-charcoal); font-size: 12px; font-weight: 700; }
.dc-teacher-assessment-filters input, .dc-teacher-assessment-filters select, .dc-teacher-review-form input:not([type="file"]), .dc-teacher-review-form textarea { width: 100%; min-height: 40px; padding: 8px 10px; border: 1px solid var(--dc-ui-border); border-radius: 0; background: var(--dc-ui-surface); color: var(--dc-ui-charcoal); font: inherit; }
.dc-teacher-review-submission-text { max-width: 65ch; margin: 10px 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.dc-teacher-review-form { display: grid; gap: 11px; min-width: 240px; max-width: 560px; padding: 12px 0; }
.dc-teacher-review-form textarea { min-height: 80px; resize: vertical; }
.dc-teacher-review-form input[type="file"] { max-width: 100%; font: inherit; }
.dc-teacher-rubric { display: grid; grid-template-columns: repeat(3, minmax(100px, 1fr)); gap: 8px; margin: 0; padding: 10px; border: 1px solid var(--dc-ui-border); }
.dc-teacher-rubric legend { padding: 0 5px; color: var(--dc-ui-charcoal); font-size: 12px; font-weight: 800; }
.dc-teacher-rubric label { display: grid; gap: 4px; font-size: 11px; }
.dc-teacher-review-form__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.dc-teacher-review-form__actions .dc-ops-button { margin: 0; }
.dc-teacher-assessment-queue .dc-role-state--overdue { display: inline-block; margin-top: 4px; padding: 2px 7px; background: var(--dc-ui-danger-bg); color: var(--dc-ui-red); font-size: 11px; }
.dc-teacher-assessment-queue audio { display: block; max-width: 250px; margin-top: 8px; }
@media (max-width: 680px) { .dc-teacher-assessment-filters { grid-template-columns: 1fr; } .dc-teacher-rubric { grid-template-columns: 1fr; } .dc-teacher-review-form__actions { align-items: stretch; flex-direction: column; } }
.dc-teacher-announcement-composer { display: grid; gap: 9px; margin-bottom: 22px; padding: 17px; border: 1px solid var(--dc-ui-border); background: var(--dc-ui-canvas); }
.dc-teacher-announcement-composer h3 { margin: 0 0 3px; color: var(--dc-ui-charcoal); font-size: 17px; }
.dc-teacher-announcement-composer input[type="text"], .dc-teacher-announcement-composer textarea { width: 100%; min-height: 42px; padding: 10px 12px; border: 1px solid var(--dc-ui-border); border-radius: 0; background: var(--dc-ui-surface); color: var(--dc-ui-charcoal); font: inherit; font-size: 13px; }
.dc-teacher-announcement-composer textarea { min-height: 90px; resize: vertical; }
.dc-teacher-announcement-composer__channel { display: flex; align-items: center; gap: 8px; color: var(--dc-ui-ink); font-size: 12px; }
.dc-teacher-announcement-composer .dc-ops-button { justify-self: start; margin: 4px 0 0; }
.dc-teacher-course-table-wrap { overflow-x: auto; }
.dc-teacher-course-table-wrap table { width: 100%; border-collapse: collapse; text-align: left; }
.dc-teacher-course-table-wrap th, .dc-teacher-course-table-wrap td { padding: 12px; border-bottom: 1px solid var(--dc-ui-border); font-size: 12px; }
.dc-teacher-course-table-wrap thead { background: var(--dc-ui-info-bg); }
.dc-teacher-course-table-wrap th { color: var(--dc-ui-charcoal); font-weight: 800; }
.dc-teacher-course-table-wrap td { color: var(--dc-ui-text); }
.dc-teacher-class-workspace__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(230px, .34fr); gap: 20px; align-items: start; }
.dc-teacher-class-workspace__content { display: grid; gap: 18px; min-width: 0; }
.dc-teacher-class-workspace__materials { min-width: 0; }
.dc-teacher-class-workspace__video { aspect-ratio: 16 / 9; background: var(--dc-ui-charcoal); }
.dc-teacher-class-workspace__video iframe { display: block; width: 100%; height: 100%; border: 0; }
.dc-teacher-class-workspace__caption-note { margin: -9px 0 0; color: var(--dc-ui-muted); font-size: 12px; }
.dc-teacher-class-workspace__content { color: var(--dc-ui-text); font-size: 14px; line-height: 1.75; }
.dc-teacher-class-workspace__content > :first-child { margin-top: 0; }
.dc-teacher-class-workspace__content > :last-child { margin-bottom: 0; }
.dc-teacher-class-workspace__transcript p { color: var(--dc-ui-muted); font-size: 13px; }
.dc-teacher-class-workspace__layout aside { padding: 18px; border: 1px solid var(--dc-ui-border); background: var(--dc-ui-surface); }
.dc-teacher-class-workspace__layout aside ol { margin: 14px 0 0; padding: 0; list-style: none; }
.dc-teacher-class-workspace__layout aside li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 8px; padding: 12px 4px; border-top: 1px solid var(--dc-ui-border); }
.dc-teacher-class-workspace__layout aside li > span { color: var(--dc-ui-muted); font-size: 11px; font-weight: 800; }
.dc-teacher-class-workspace__layout aside li > a { color: var(--dc-ui-charcoal); font-size: 12px; font-weight: 700; text-decoration: none; }
.dc-teacher-class-workspace__layout aside li.is-current { background: var(--dc-ui-info-bg); }
.dc-teacher-class-workspace__layout aside li.is-current > a { color: var(--dc-ui-red); }
.dc-teacher-class-workspace__pager { display: flex; justify-content: space-between; gap: 14px; padding-top: 14px; border-top: 1px solid var(--dc-ui-border); }
.dc-teacher-class-workspace__pager a { color: var(--dc-ui-red); font-size: 13px; font-weight: 800; text-decoration: none; }
@media (max-width: 900px) { .dc-teacher-class-workspace__layout { grid-template-columns: 1fr; } .dc-teacher-class-workspace__layout aside { order: -1; } .dc-teacher-class-workspace__layout aside ol { display: flex; gap: 6px; overflow-x: auto; } .dc-teacher-class-workspace__layout aside li { min-width: 180px; border: 1px solid var(--dc-ui-border); } }
@media (max-width: 920px) { .dc-teacher-course-workspace__summary { grid-template-columns: repeat(3, minmax(0, 1fr)); } .dc-teacher-course-workspace__summary > div:nth-child(4) { border-left: 0; border-top: 1px solid var(--dc-ui-border); } .dc-teacher-course-workspace__summary > div:nth-child(n+4) { border-top: 1px solid var(--dc-ui-border); } }
@media (max-width: 680px) { .dc-teacher-course-workspace__heading { align-items: flex-start; flex-direction: column; gap: 8px; } .dc-teacher-course-workspace__cohort { align-items: stretch; flex-direction: column; } .dc-teacher-course-workspace__cohort select { width: 100%; min-width: 0; } .dc-teacher-course-workspace__section { padding: 17px; } .dc-teacher-course-workspace__role-actions { align-items: flex-start; flex-direction: column; } .dc-teacher-course-workspace__summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dc-teacher-course-workspace__summary > div { min-height: 70px; padding: 11px 13px; } .dc-teacher-course-workspace__summary > div:nth-child(3), .dc-teacher-course-workspace__summary > div:nth-child(5) { border-left: 0; } .dc-teacher-course-workspace__summary > div:nth-child(3) { border-top: 1px solid var(--dc-ui-border); } .dc-teacher-course-workspace__summary > div:nth-child(4) { border-left: 1px solid var(--dc-ui-border); } .dc-teacher-course-workspace__summary > div:nth-child(5) { grid-column: 1 / -1; border-top: 1px solid var(--dc-ui-border); } .dc-teacher-course-workspace__next { align-items: flex-start; flex-direction: column; } .dc-teacher-course-module > h3 { grid-template-columns: 1fr auto; } .dc-teacher-course-module > h3 > span { grid-column: 1 / -1; } .dc-teacher-course-lesson-list > li { grid-template-columns: 32px minmax(0, 1fr); gap: 8px 12px; padding: 13px; } .dc-teacher-course-lesson-list > li > .dc-role-state, .dc-teacher-course-lesson-list > li > .dc-ops-text-link { grid-column: 2; justify-self: start; } .dc-teacher-course-workspace__footnotes { grid-template-columns: 1fr; } .dc-teacher-course-activity-list article { grid-template-columns: 1fr 1fr; gap: 8px; } .dc-teacher-course-activity-list article > div { grid-column: 1 / -1; } .dc-teacher-course-workspace__section > header { flex-direction: column; } }

/* Teacher course/class views extend the established dashboard system. */
.dc-teacher-class-workspace__delivery { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 14px 16px; border: 1px solid var(--dc-ui-border); background: var(--dc-ui-surface); }
.dc-teacher-class-workspace__delivery > div { display: flex; align-items: center; gap: 10px; color: var(--dc-ui-charcoal); font-size: 12px; }
.dc-teacher-class-workspace__delivery > div strong { font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.dc-teacher-class-workspace__delivery > div span { padding: 8px 11px; border: 1px solid var(--dc-ui-red); background: #fff8f8; color: var(--dc-ui-red); font-weight: 700; }
.dc-teacher-class-workspace__delivery p { margin: 0; color: var(--dc-ui-muted); font-size: 12px; }
.dc-teacher-class-workspace__delivery > a { color: var(--dc-ui-red); font-size: 12px; font-weight: 800; white-space: nowrap; }
.dc-teacher-class-workspace__delivery > div:last-child { display: flex; flex-wrap: wrap; gap: 9px 14px; }
.dc-teacher-class-workspace__delivery > div:last-child a { color: var(--dc-ui-red); font-size: 12px; font-weight: 800; white-space: nowrap; }
.dc-teacher-class-workspace__heading-actions { display: flex; align-items: center; gap: 12px; }
.dc-teacher-class-workspace__heading-actions .dc-ops-button { margin: 0; }
.dc-teacher-class-workspace__assessments a, .dc-teacher-class-workspace__completion a { color: var(--dc-ui-red); font-size: 12px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.dc-teacher-class-workspace__completion dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 16px; border: 1px solid var(--dc-ui-border); }
.dc-teacher-class-workspace__completion dl > div { padding: 16px; border-right: 1px solid var(--dc-ui-border); }
.dc-teacher-class-workspace__completion dl > div:last-child { border-right: 0; }
.dc-teacher-class-workspace__completion dt { color: var(--dc-ui-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.dc-teacher-class-workspace__completion dd { margin: 7px 0 0; color: var(--dc-ui-charcoal); font-size: 24px; font-weight: 800; font-variant-numeric: tabular-nums; }
.dc-teacher-class-workspace__completion > p { margin: 14px 0 0; }
.dc-teacher-class-workspace__completion > p .dc-ops-button { margin: 0; }
.dc-teacher-class-workspace__communication > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.dc-teacher-class-workspace__communication .dc-teacher-announcement-composer, .dc-teacher-class-workspace__communication .dc-teacher-discussion-composer { display: flex; flex-direction: column; gap: 12px; min-width: 0; margin: 0; padding: 16px; background: var(--dc-ui-canvas); }
.dc-teacher-class-workspace__communication form > h3 { min-height: 2.8em; margin: 0; color: var(--dc-ui-charcoal); font-size: 17px; line-height: 1.4; }
.dc-teacher-class-workspace__communication label:not(.dc-teacher-announcement-composer__channel) { display: grid; gap: 6px; color: var(--dc-ui-charcoal); font-size: 12px; font-weight: 700; }
.dc-teacher-class-workspace__communication label input[type="text"], .dc-teacher-class-workspace__communication label textarea { width: 100%; min-height: 40px; padding: 9px 10px; border: 1px solid var(--dc-ui-border); border-radius: 0; background: var(--dc-ui-surface); color: var(--dc-ui-charcoal); font: inherit; font-size: 13px; }
.dc-teacher-class-workspace__communication label textarea { min-height: 86px; resize: vertical; }
.dc-teacher-class-workspace__communication .dc-teacher-discussion-composer > label { flex: 1; grid-template-rows: auto minmax(86px, 1fr); }
.dc-teacher-class-workspace__communication .dc-ops-button { align-self: flex-start; margin: auto 0 0; }
.dc-teacher-class-workspace__communication > .dc-role-notice { margin: 16px 0 0; }
@media (max-width: 680px) { .dc-teacher-class-workspace__communication form > h3 { min-height: 0; } }
.dc-teacher-schedule-class form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; gap: 12px; }
.dc-teacher-schedule-class form label { display: grid; gap: 5px; color: var(--dc-ui-charcoal); font-size: 12px; font-weight: 700; }
.dc-teacher-schedule-class form input, .dc-teacher-schedule-class form select { width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid var(--dc-ui-border); border-radius: 0; background: var(--dc-ui-surface); color: var(--dc-ui-charcoal); font: inherit; font-size: 13px; }
.dc-teacher-schedule-class__meeting { grid-column: span 2; }
.dc-teacher-schedule-class form small { grid-column: 1 / -1; color: var(--dc-ui-muted); font-size: 11px; }
.dc-teacher-class-workspace__layout { grid-template-columns: minmax(0, 1.65fr) minmax(275px, .85fr); gap: 12px; }
.dc-teacher-class-workspace__content { gap: 12px; }
.dc-teacher-class-workspace__transcript { min-width: 0; max-height: 640px; overflow: hidden; padding: 17px; border: 1px solid var(--dc-ui-border); background: var(--dc-ui-surface); }
.dc-teacher-class-workspace__transcript-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--dc-ui-border); }
.dc-teacher-class-workspace__transcript-head h2 { margin: 0; font-size: 17px; }
.dc-teacher-class-workspace__transcript-head a { color: var(--dc-ui-red); font-size: 11px; font-weight: 800; }
.dc-teacher-class-workspace__transcript-note { margin: 12px 0; color: var(--dc-ui-muted); font-size: 11px; line-height: 1.5; }
.dc-teacher-class-workspace__video-meta { margin: 8px 0 0; color: var(--dc-ui-muted); font-size: 12px; }
.dc-teacher-class-workspace__video-meta strong { color: var(--dc-ui-charcoal); }
.dc-teacher-class-workspace__transcript > label:not(.screen-reader-text) { display: block; margin: 10px 0 5px; color: var(--dc-ui-charcoal); font-size: 11px; font-weight: 700; }
.dc-teacher-class-workspace__transcript > select { width: 100%; min-height: 38px; padding: 8px 10px; border: 1px solid var(--dc-ui-border); border-radius: 0; background: var(--dc-ui-surface); color: var(--dc-ui-charcoal); font: inherit; font-size: 12px; }
.dc-teacher-class-workspace__transcript-status { min-height: 16px; margin: 8px 0; color: var(--dc-ui-muted); font-size: 11px; }
.dc-teacher-class-workspace__transcript-status:empty { display: none; }
.dc-teacher-class-workspace__transcript > input[type="search"] { width: 100%; min-height: 38px; padding: 8px 10px; border: 1px solid var(--dc-ui-border); border-radius: 0; background: var(--dc-ui-surface); color: var(--dc-ui-charcoal); font: inherit; font-size: 12px; }
.dc-teacher-class-workspace__follow { margin: 10px 0; padding: 0; border: 0; background: transparent; color: var(--dc-ui-red); font: inherit; font-size: 11px; font-weight: 700; cursor: pointer; }
.dc-teacher-class-workspace__transcript-cues { max-height: 480px; overflow: auto; border-top: 1px solid var(--dc-ui-border); }
.dc-teacher-class-workspace__cue { display: grid; width: 100%; grid-template-columns: 40px minmax(0, 1fr); gap: 8px; padding: 10px 8px; border: 0; border-bottom: 1px solid var(--dc-ui-border); background: var(--dc-ui-surface); color: var(--dc-ui-text); text-align: left; font: inherit; font-size: 11px; line-height: 1.45; cursor: pointer; }
.dc-teacher-class-workspace__cue time { color: var(--dc-ui-muted); font-variant-numeric: tabular-nums; }
.dc-teacher-class-workspace__cue:hover, .dc-teacher-class-workspace__cue:focus-visible, .dc-teacher-class-workspace__cue.is-current { background: #fff2f3; color: var(--dc-ui-charcoal); }
.dc-teacher-class-workspace__class-list ol { display: grid; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--dc-ui-border); }
.dc-teacher-class-workspace__class-list li { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 12px 4px; border-bottom: 1px solid var(--dc-ui-border); }
.dc-teacher-class-workspace__class-list li > span:first-child { color: var(--dc-ui-muted); font-size: 12px; font-weight: 800; }
.dc-teacher-class-workspace__class-list li > span:nth-child(2) { display: grid; gap: 3px; }
.dc-teacher-class-workspace__class-list small { color: var(--dc-ui-muted); font-size: 10px; }
.dc-teacher-class-workspace__class-list strong { color: var(--dc-ui-charcoal); font-size: 12px; }
.dc-teacher-class-workspace__class-list a { color: var(--dc-ui-red); font-size: 11px; font-weight: 800; }
.dc-teacher-class-workspace__class-list li.is-current { background: var(--dc-ui-info-bg); }
@media (max-width: 900px) { .dc-teacher-class-workspace__layout { grid-template-columns: minmax(0, 1fr); } .dc-teacher-class-workspace__transcript { max-height: none; } .dc-teacher-class-workspace__transcript-cues { max-height: 330px; } }
@media (max-width: 680px) { .dc-teacher-class-workspace__delivery { grid-template-columns: 1fr; align-items: start; gap: 9px; } .dc-teacher-class-workspace__delivery > div { align-items: flex-start; flex-direction: column; } .dc-teacher-class-workspace__heading-actions { align-items: flex-start; flex-direction: column; } .dc-teacher-class-workspace__class-list li { grid-template-columns: 28px minmax(0, 1fr); gap: 7px 10px; } .dc-teacher-class-workspace__class-list li > :nth-child(n+3) { grid-column: 2; justify-self: start; } .dc-teacher-class-workspace__completion dl { grid-template-columns: 1fr; } .dc-teacher-class-workspace__completion dl > div { border-right: 0; border-bottom: 1px solid var(--dc-ui-border); } .dc-teacher-class-workspace__completion dl > div:last-child { border-bottom: 0; } .dc-teacher-class-workspace__communication > div { grid-template-columns: 1fr; } .dc-teacher-schedule-class form { grid-template-columns: 1fr 1fr; } .dc-teacher-schedule-class__meeting { grid-column: 1 / -1; } }
