/* Centro docente SinerAnt · capa canónica v22
   Una jerarquía, superficies planas y aula interna sin degradados. */

body.is-teacher-dashboard {
  --td-header-height: 72px;
  --td-sidebar-width: 220px;
  --td-ink: #172235;
  --td-muted: #66768a;
  --td-line: #dce3eb;
  --td-soft: #f5f7fa;
  --td-blue: #1f63aa;
  --td-navy: #132d4b;
  background: #f5f7f9;
}

body.is-teacher-dashboard .teacher-view,
body.is-teacher-dashboard .teacher-view * {
  background-image: none !important;
}

body.is-teacher-dashboard .learning-main {
  background: #f5f7f9;
  padding: calc(var(--td-header-height) + 32px) 34px 64px calc(var(--td-sidebar-width) + 34px);
}

body.is-teacher-dashboard .td-main {
  max-width: 1160px;
}

body.is-teacher-dashboard .teacher-course-panel.td-sidebar {
  background: var(--td-navy);
  border: 0;
  border-right: 1px solid #203d5c;
  border-radius: 0;
  box-shadow: none;
  gap: 24px;
  padding: 24px 14px;
  width: var(--td-sidebar-width);
}

.td-sidebar-course {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  display: grid;
  gap: 5px;
  padding: 0 8px 20px;
}

.td-sidebar-back {
  align-items: center;
  color: #b9c9d9;
  display: inline-flex;
  font-size: 11px;
  font-weight: 750;
  gap: 7px;
  margin-bottom: 13px;
  text-decoration: none;
}

.td-sidebar-back:hover { color: #ffffff; }
.td-sidebar-back svg { fill: none; height: 16px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 16px; }
.td-sidebar-course > span { color: #83b7e6; font-size: 9px; font-weight: 850; letter-spacing: 0.09em; text-transform: uppercase; }
.td-sidebar-course strong { color: #ffffff; font-size: 14px; line-height: 1.45; }
.td-sidebar-course small { color: #a9bacb; font-size: 10px; line-height: 1.45; }

body.is-teacher-dashboard .td-nav {
  display: grid;
  gap: 3px;
  padding: 0;
}

body.is-teacher-dashboard .td-nav button {
  align-items: center;
  background: transparent;
  border: 0;
  border-left: 2px solid transparent;
  border-radius: 4px;
  box-shadow: none;
  color: #bdcad7;
  display: grid;
  font: inherit;
  font-size: 11px;
  font-weight: 760;
  gap: 10px;
  grid-template-columns: 21px minmax(0, 1fr) auto;
  min-height: 45px;
  padding: 10px 10px 10px 12px;
  text-align: left;
  transform: none;
  width: 100%;
}

body.is-teacher-dashboard .td-nav button:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #ffffff;
  transform: none;
}

body.is-teacher-dashboard .td-nav button.active {
  background: rgba(255, 255, 255, 0.09);
  border-left-color: #63a8e7;
  box-shadow: none;
  color: #ffffff;
}

body.is-teacher-dashboard .td-nav button svg {
  fill: none;
  height: 20px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.65;
  width: 20px;
}

body.is-teacher-dashboard .td-nav button small {
  background: #2b4969;
  border: 0;
  border-radius: 999px;
  color: #dce8f4;
  font-size: 8px;
  font-weight: 850;
  min-width: 20px;
  padding: 3px 6px;
  text-align: center;
}

body.is-teacher-dashboard .td-nav button.active small { background: #e8f3fd; color: #1d5f9e; }

body.is-teacher-dashboard .td-panel:not(.hidden) {
  display: block;
}

body.is-teacher-dashboard .td-page-head {
  align-items: flex-end;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin: 0 0 25px;
}

body.is-teacher-dashboard .td-page-head > div:first-child {
  display: grid;
  gap: 6px;
  max-width: 730px;
}

body.is-teacher-dashboard .td-page-head h1 {
  color: var(--td-ink);
  font-size: clamp(28px, 3vw, 37px);
  font-weight: 820;
  letter-spacing: -0.045em;
  line-height: 1.08;
  margin: 0;
}

body.is-teacher-dashboard .td-page-head p {
  color: var(--td-muted);
  font-size: 12px;
  line-height: 1.55;
  margin: 0;
}

.td-eyebrow {
  color: #2b6cae;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

body.is-teacher-dashboard .td-page-actions {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
}

body.is-teacher-dashboard .td-primary-action,
body.is-teacher-dashboard .td-secondary-action,
body.is-teacher-dashboard .td-tertiary-action {
  align-items: center;
  border-radius: 6px;
  display: inline-flex;
  font: inherit;
  font-size: 10px;
  font-weight: 820;
  gap: 7px;
  justify-content: center;
  min-height: 42px;
  padding: 9px 14px;
  text-decoration: none;
}

body.is-teacher-dashboard .td-primary-action { background: var(--td-blue); border: 1px solid var(--td-blue); color: #ffffff; }
body.is-teacher-dashboard .td-primary-action:hover { background: #184f88; border-color: #184f88; }
body.is-teacher-dashboard .td-secondary-action,
body.is-teacher-dashboard .td-tertiary-action { background: #ffffff; border: 1px solid #cbd6e2; color: #29465f; }
body.is-teacher-dashboard .td-secondary-action:hover,
body.is-teacher-dashboard .td-tertiary-action:hover { background: #f3f6f9; border-color: #aebfce; }
body.is-teacher-dashboard .td-primary-action svg,
body.is-teacher-dashboard .td-secondary-action svg,
body.is-teacher-dashboard .td-tertiary-action svg { fill: none; height: 16px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 16px; }

.td-readonly-chip {
  align-items: center;
  background: transparent;
  border: 0;
  color: #42617d;
  display: inline-flex;
  font-size: 9px;
  font-weight: 800;
  gap: 7px;
  padding: 0 5px;
}

.td-readonly-chip svg { fill: none; height: 17px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; width: 17px; }

body.is-teacher-dashboard .td-card,
body.is-teacher-dashboard .td-flat-surface {
  background: #ffffff;
  border: 1px solid var(--td-line);
  border-radius: 8px;
  box-shadow: none;
}

.td-flat-surface { margin-bottom: 18px; overflow: hidden; }
.td-section-head {
  align-items: center;
  border-bottom: 1px solid #e4e9ef;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  padding: 18px 20px;
}
.td-section-head > div:first-child { display: grid; gap: 4px; }
.td-section-head h2 { color: var(--td-ink); font-size: 16px; letter-spacing: -0.015em; margin: 0; }
.td-section-head p { color: var(--td-muted); font-size: 10px; line-height: 1.5; margin: 0; }
.td-section-head > span,
.td-section-head > div:last-child > span { color: #708092; font-size: 9px; font-weight: 750; }
.td-section-head > div:last-child { align-items: center; display: flex; gap: 10px; }

/* Programa: un solo contenedor y divisores, no una tarjeta por módulo. */
body.is-teacher-dashboard .td-program-card {
  border-radius: 8px;
  overflow: visible;
  padding: 0;
}

body.is-teacher-dashboard .td-program-card > .td-program-toolbar {
  align-items: center;
  border-bottom: 1px solid #e2e8ef;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  padding: 14px 16px;
}

body.is-teacher-dashboard .td-program-toolbar-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

body.is-teacher-dashboard .td-program-toolbar-copy h2 {
  color: var(--td-ink);
  font-size: 15px;
  letter-spacing: -0.015em;
  margin: 0;
}

body.is-teacher-dashboard .td-program-toolbar-copy p {
  color: var(--td-muted);
  font-size: 10px;
  line-height: 1.4;
  margin: 0;
}

body.is-teacher-dashboard .td-program-card > .td-program-toolbar > .td-program-actions {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 7px;
}

body.is-teacher-dashboard .td-program-actions .td-primary-action,
body.is-teacher-dashboard .td-program-actions .td-secondary-action,
body.is-teacher-dashboard .td-program-actions .td-tertiary-action {
  min-height: 40px;
  padding: 8px 12px;
}

body.is-teacher-dashboard .td-program-actions [data-teacher-library-count] {
  align-items: center;
  background: #eaf0f6;
  border-radius: 999px;
  color: #46637e;
  display: inline-flex;
  font-size: 8px;
  height: 20px;
  justify-content: center;
  min-width: 20px;
  padding: 0 5px;
}

body.is-teacher-dashboard .td-course-note {
  align-items: center;
  background: #f7fafc;
  border-bottom: 1px solid #e2e8ef;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 12px 16px;
}

body.is-teacher-dashboard .td-course-note-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

body.is-teacher-dashboard .td-course-note h3 {
  color: #35516c;
  font-size: 10px;
  font-weight: 820;
  letter-spacing: 0.015em;
  margin: 0;
}

body.is-teacher-dashboard .td-course-note p {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #52687d;
  display: -webkit-box;
  font-size: 11px;
  line-height: 1.5;
  margin: 0;
  overflow: hidden;
}

body.is-teacher-dashboard .td-course-note.is-empty p {
  color: #6b7d8f;
}

body.is-teacher-dashboard .td-course-note-action {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 7px;
  color: #1f65a7;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 10px;
  font-weight: 820;
  gap: 6px;
  justify-content: center;
  min-height: 40px;
  padding: 7px 9px;
}

body.is-teacher-dashboard .td-course-note-action:hover {
  background: #eaf3fb;
}

body.is-teacher-dashboard .td-course-note-action svg {
  fill: none;
  height: 14px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  width: 14px;
}

body.is-teacher-dashboard .td-structure-status {
  margin: 0;
}

body.is-teacher-dashboard .td-structure-status:empty {
  display: none;
}

body.is-teacher-dashboard .td-structure-status:not(:empty) {
  background: #f4f8fc;
  border-bottom: 1px solid #dfe7ef;
  color: #345a7d;
  display: block;
  font-size: 10px;
  padding: 10px 16px;
}

body.is-teacher-dashboard .td-program-card .td-structure-composer {
  background: #f7f9fc;
  border-bottom: 1px solid #dfe7ef;
  border-radius: 0;
  margin: 0;
  padding: 18px 20px;
}

body.is-teacher-dashboard .td-outline {
  display: block;
  margin: 0;
  padding: 0;
}

body.is-teacher-dashboard .td-module {
  background: #ffffff;
  border: 0;
  border-bottom: 1px solid #dfe6ed;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

body.is-teacher-dashboard .td-module:last-child {
  border-bottom: 0;
}

body.is-teacher-dashboard .td-module > summary,
body.is-teacher-dashboard .td-module[open] > summary {
  background: #ffffff;
  border-radius: 0;
  display: grid;
  gap: 12px;
  grid-template-columns: 34px minmax(0, 1fr) 18px;
  min-height: 70px;
  padding: 12px 18px;
}

body.is-teacher-dashboard .td-module > summary:hover,
body.is-teacher-dashboard .td-module[open] > summary:hover {
  background: #f8fafc;
}

body.is-teacher-dashboard .td-module[open] > summary {
  border-bottom: 1px solid #e7ecf1;
}

body.is-teacher-dashboard .td-module-index {
  background: #edf4fb;
  border-radius: 5px;
  color: #2767a5;
  font-size: 9px;
  height: 32px;
}

body.is-teacher-dashboard .td-module-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

body.is-teacher-dashboard .td-module > summary .td-module-copy strong {
  color: var(--td-ink);
  font-size: 13px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

body.is-teacher-dashboard .td-module > summary .td-module-copy small {
  color: #748394;
  font-size: 9px;
  line-height: 1.4;
}

body.is-teacher-dashboard .td-module-lessons {
  background: #fbfcfe;
  border-top: 0;
  display: grid;
  padding: 0 18px 0 58px;
  position: relative;
}

body.is-teacher-dashboard .td-module-lessons::before {
  background: #dce5ee;
  bottom: 0;
  content: "";
  left: 34px;
  position: absolute;
  top: 0;
  width: 1px;
}

body.is-teacher-dashboard .td-lesson-row {
  align-items: center;
  border-bottom: 1px solid #e9eef3;
  display: grid;
  gap: 12px;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  min-height: 66px;
  padding: 11px 0;
}

body.is-teacher-dashboard .td-lesson-row:last-child {
  border-bottom: 0;
}

body.is-teacher-dashboard .td-lesson-order {
  color: #6a7f93;
  font-size: 9px;
  font-weight: 820;
  letter-spacing: 0.01em;
}

body.is-teacher-dashboard .td-lesson-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

body.is-teacher-dashboard .td-lesson-row .td-lesson-copy strong {
  color: #26394c;
  font-size: 11px;
  line-height: 1.4;
  overflow: visible;
  overflow-wrap: anywhere;
  text-overflow: clip;
  white-space: normal;
}

body.is-teacher-dashboard .td-lesson-meta {
  color: #778697;
  font-size: 9px;
  line-height: 1.45;
}

body.is-teacher-dashboard .td-lesson-actions {
  align-items: center;
  display: flex;
  gap: 6px;
}

body.is-teacher-dashboard .td-lesson-actions > button,
body.is-teacher-dashboard .td-module-actions > button {
  align-items: center;
  background: #ffffff;
  border: 1px solid #b8cadb;
  border-radius: 6px;
  color: #245d90;
  display: inline-flex;
  font: inherit;
  font-size: 9px;
  font-weight: 820;
  gap: 6px;
  justify-content: center;
  min-height: 40px;
  padding: 8px 10px;
  white-space: nowrap;
}

body.is-teacher-dashboard .td-lesson-actions > button:hover,
body.is-teacher-dashboard .td-module-actions > button:hover {
  background: #f2f7fc;
  border-color: #86aaca;
}

body.is-teacher-dashboard .td-lesson-actions > button svg,
body.is-teacher-dashboard .td-module-actions > button svg {
  fill: none;
  height: 15px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  width: 15px;
}

body.is-teacher-dashboard .td-module-actions {
  align-items: center;
  background: #ffffff;
  border-top: 1px solid #e7ecf1;
  display: flex;
  gap: 6px;
  justify-content: flex-end;
  padding: 9px 18px;
}

body.is-teacher-dashboard .td-program-card .td-row-menu > summary {
  font-size: 0;
  height: 40px;
  letter-spacing: 0;
  width: 40px;
}

body.is-teacher-dashboard .td-program-card .td-row-menu > summary .td-more-icon {
  fill: currentColor;
  height: 15px;
  stroke: none;
  width: 15px;
}

body.is-teacher-dashboard .td-program-card .td-row-menu > div {
  border-radius: 7px;
  box-shadow: 0 8px 22px rgba(18, 43, 72, 0.12);
  max-width: calc(100vw - 32px);
  min-width: 186px;
}

body.is-teacher-dashboard .td-program-card .td-row-menu > div button {
  min-height: 40px;
}

body.is-teacher-dashboard .td-empty-lessons {
  background: transparent;
  display: block;
  padding: 16px 0;
}

body.is-teacher-dashboard .td-empty-lessons p {
  color: #748394;
  font-size: 9px;
  margin: 0;
}

body.is-teacher-dashboard .td-program-empty {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
  padding: 46px 20px;
}

body.is-teacher-dashboard .td-program-card button:focus-visible,
body.is-teacher-dashboard .td-program-card summary:focus-visible {
  outline: 3px solid #164194;
  outline-offset: 2px;
}

/* Resúmenes horizontales: una franja con separadores. */
.td-assessment-summary {
  background: #ffffff;
  border: 1px solid var(--td-line);
  border-radius: 8px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 18px;
  overflow: hidden;
}

.td-assessment-summary > div {
  border-right: 1px solid #e5eaf0;
  display: grid;
  gap: 4px;
  padding: 15px 18px;
}
.td-assessment-summary > div:last-child { border-right: 0; }
.td-assessment-summary span { color: #728193; font-size: 9px; font-weight: 730; }
.td-assessment-summary strong { color: var(--td-ink); font-size: 21px; letter-spacing: -0.035em; }

.td-search {
  align-items: center;
  background: #ffffff;
  border: 1px solid #cdd7e1;
  border-radius: 6px;
  display: flex;
  gap: 8px;
  min-height: 40px;
  padding: 0 11px;
  width: min(260px, 100%);
}
.td-search svg { fill: none; height: 16px; stroke: #718196; stroke-linecap: round; stroke-width: 1.8; width: 16px; }
.td-search input { background: transparent; border: 0; color: var(--td-ink); font: inherit; font-size: 10px; min-width: 0; outline: 0; width: 100%; }

/* Evaluaciones: filas desplegables dentro de una sola superficie. */
.teacher-assignment-list { display: block; }
.td-assignment-row { border-bottom: 1px solid #e4e9ef; }
.td-assignment-row:last-child { border-bottom: 0; }
.td-assignment-row > summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(260px, 1fr) 78px 82px 18px;
  list-style: none;
  min-height: 76px;
  padding: 13px 20px;
}
.td-assignment-row > summary::-webkit-details-marker,
.td-certificate-student > summary::-webkit-details-marker { display: none; }
.td-assignment-row > summary:hover { background: #f8fafc; }
.td-assignment-row > summary > span { display: grid; gap: 4px; }
.td-assignment-row > summary > span:not(.td-assignment-main) { text-align: center; }
.td-assignment-row > summary strong { color: var(--td-ink); font-size: 12px; }
.td-assignment-row > summary small { color: #728194; font-size: 8px; line-height: 1.4; }
.td-assignment-row > summary .has-pending strong { color: #a55b1b; }
.td-assignment-row > summary svg,
.td-certificate-row > svg { fill: none; height: 18px; stroke: #718196; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; transition: transform 150ms ease; width: 18px; }
.td-assignment-row[open] > summary svg,
.td-certificate-student[open] > summary svg { transform: rotate(180deg); }
.td-assignment-detail { background: #f7f9fb; border-top: 1px solid #e5eaf0; padding: 18px 20px 20px; }
.td-assignment-instructions { display: grid; gap: 5px; margin-bottom: 17px; }
.td-assignment-instructions > span { color: #6a7a8c; font-size: 8px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.td-assignment-instructions p { color: #3b4e61; font-size: 10px; line-height: 1.55; margin: 0; }
.td-assignment-instructions small { color: #768698; font-size: 8px; }
.td-submission-list { background: #ffffff; border: 1px solid #dfe6ed; border-radius: 6px; overflow: hidden; }
.td-submission-list > header { align-items: center; border-bottom: 1px solid #e4e9ef; display: flex; justify-content: space-between; padding: 12px 14px; }
.td-submission-list > header strong { color: #2b3e51; font-size: 10px; }
.td-submission-list > header span { color: #768698; font-size: 8px; }
.td-submission-row { align-items: start; border-bottom: 1px solid #e8edf2; display: grid; gap: 14px; grid-template-columns: minmax(145px, .7fr) minmax(180px, 1fr) minmax(310px, 1.4fr); padding: 13px 14px; }
.td-submission-row:last-child { border-bottom: 0; }
.td-submission-row > div { display: grid; gap: 4px; }
.td-submission-row strong { color: #2c3f52; font-size: 9px; }
.td-submission-row small { color: #7c8998; font-size: 8px; }
.td-submission-answer p { color: #46596c; font-size: 9px; line-height: 1.5; margin: 0; }
.td-submission-answer a { color: #1e64a6; font-size: 8px; font-weight: 800; }
.td-submission-row form { align-items: end; display: grid; gap: 7px; grid-template-columns: 75px minmax(120px, 1fr) auto; }
.td-submission-row form label { color: #6f7f91; display: grid; font-size: 8px; font-weight: 750; gap: 4px; }
.td-submission-row form label > div { align-items: center; display: flex; }
.td-submission-row form input { background: #ffffff; border: 1px solid #cbd7e2; border-radius: 5px; color: #25384b; font: inherit; font-size: 9px; height: 36px; min-width: 0; padding: 7px 8px; width: 100%; }
.td-submission-row form label > div input { border-radius: 5px 0 0 5px; }
.td-submission-row form label > div b { align-items: center; background: #f2f5f8; border: 1px solid #cbd7e2; border-left: 0; border-radius: 0 5px 5px 0; color: #6a7b8d; display: flex; font-size: 8px; height: 36px; padding: 0 6px; }
.td-submission-row form button,
.td-session-actions button { background: #ffffff; border: 1px solid #b9cad9; border-radius: 5px; color: #275b88; font: inherit; font-size: 8px; font-weight: 820; min-height: 36px; padding: 7px 10px; }
.td-empty-row { padding: 18px; text-align: center; }
.td-empty-row strong { color: #34485d; font-size: 10px; }
.td-empty-row p { color: #788797; font-size: 9px; margin: 5px 0 0; }

.td-policy-chip { background: transparent; border: 1px solid #cdd8e3; border-radius: 999px; color: #5c6e81; font-size: 8px; font-weight: 800; padding: 6px 9px; }
body.is-teacher-dashboard .td-certificate-closure { grid-column: auto; overflow-x: auto; padding: 0; }
body.is-teacher-dashboard .td-certificate-closure > .td-section-head { align-items: center; border-bottom: 1px solid #e4e9ef; margin: 0; min-width: 820px; padding: 18px 20px; }
body.is-teacher-dashboard .teacher-certificate-list { display: block; gap: 0; min-width: 820px; }
body.is-teacher-dashboard .td-certificate-row { align-items: center; border-bottom: 1px solid #e7ecf1; display: grid; gap: 14px; grid-template-columns: minmax(230px, 1.25fr) minmax(110px, .65fr) minmax(100px, .6fr) minmax(150px, .8fr) 18px; min-height: 67px; padding: 10px 20px; }
.td-certificate-row.is-head { background: #f7f9fb; color: #6f7f90; font-size: 8px; font-weight: 850; letter-spacing: .05em; min-height: 38px; text-transform: uppercase; }
body.is-teacher-dashboard .td-certificate-student {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #e7ecf1;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}
body.is-teacher-dashboard .td-certificate-student.is-approved { border-color: #e7ecf1; box-shadow: none; }
body.is-teacher-dashboard .td-certificate-student:last-child { border-bottom: 0; }
body.is-teacher-dashboard .td-certificate-student:last-child > .td-certificate-row { border-bottom: 0; }
body.is-teacher-dashboard .td-certificate-student[open] > .td-certificate-row { background: #f8fafc; }
.td-certificate-row > span { display: grid; gap: 3px; }
.td-certificate-row > span > strong { color: #2d4053; font-size: 9px; }
.td-certificate-row > span > small { color: #7a8897; font-size: 8px; }
body.is-teacher-dashboard .td-certificate-identity { align-items: center; display: grid !important; gap: 10px !important; grid-template-columns: 34px minmax(0, 1fr); min-width: 0; }
.td-certificate-identity > i { align-items: center; background: #eaf1f8; border-radius: 50%; color: #285f94; display: flex; font-size: 8px; font-style: normal; font-weight: 850; height: 34px; justify-content: center; width: 34px; }
body.is-teacher-dashboard .td-certificate-identity > span {
  align-items: initial;
  background: transparent;
  border-radius: 0;
  color: inherit;
  display: grid;
  flex: initial;
  font-size: inherit;
  gap: 3px;
  height: auto;
  justify-content: initial;
  min-width: 0;
}
.td-certificate-status { color: #5c6d7e; font-size: 8px; font-weight: 800; }
.td-certificate-status.is-approved { color: #18714e; }
.td-certificate-detail { background: #f7f9fb; border-bottom: 1px solid #e1e7ed; padding: 17px 20px; }
.td-certificate-detail form { align-items: end; display: grid; gap: 10px; grid-template-columns: 120px minmax(220px, 1fr) auto; }
.td-certificate-detail form label { color: #65768a; display: grid; font-size: 8px; font-weight: 760; gap: 5px; }
.td-grade-input { align-items: center; display: flex; }
.td-certificate-detail input,
.td-certificate-detail textarea { background: #ffffff; border: 1px solid #cbd7e2; border-radius: 5px; color: #26394c; font: inherit; font-size: 9px; min-height: 38px; padding: 8px; resize: vertical; width: 100%; }
.td-grade-input b { color: #6c7d8f; font-size: 8px; margin-left: 5px; }
.td-certificate-actions { display: flex; gap: 6px; }
.td-certificate-actions button { background: #ffffff; border: 1px solid #b9cad9; border-radius: 5px; color: #275b88; font: inherit; font-size: 8px; font-weight: 820; min-height: 38px; padding: 7px 10px; }
.td-certificate-actions .td-approve-certificate { background: #1f63aa; border-color: #1f63aa; color: #ffffff; }
.td-certificate-actions button:disabled { cursor: not-allowed; opacity: .45; }
.td-certificate-blockers { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; }
.td-certificate-blockers span { color: #865e35; font-size: 8px; }
.td-certificate-detail footer { color: #718194; font-size: 8px; margin-top: 10px; }

/* Aula docente. */
.td-live-toolbar {
  align-items: center;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 12px;
  min-height: 44px;
}
.td-live-toolbar > p {
  align-items: center;
  color: #53677b;
  display: flex;
  font-size: 12px;
  gap: 8px;
  line-height: 1.45;
  margin: 0;
}
.td-live-toolbar > p i {
  background: #2b8b69;
  border-radius: 50%;
  height: 7px;
  width: 7px;
}

body.is-teacher-dashboard .teacher-session-history { overflow: visible; padding: 0; }
body.is-teacher-dashboard .teacher-session-history > .td-section-head {
  margin: 0;
  padding: 16px 18px;
}
body.is-teacher-dashboard .teacher-session-history > .td-section-head h2 { font-size: 20px; }
.td-session-count { color: #53677b !important; font-size: 11px !important; }
body.is-teacher-dashboard .teacher-session-history > [data-teacher-sessions] { display: block; }
body.is-teacher-dashboard .td-session-row {
  align-items: center;
  border-bottom: 1px solid #e4eaf0;
  display: grid;
  gap: 14px;
  grid-template-columns: 9px minmax(240px, 1fr) auto auto;
  min-height: 88px;
  padding: 15px 18px;
  position: relative;
}
body.is-teacher-dashboard .td-session-row.is-current { background: #f6faff; box-shadow: inset 3px 0 #2c70b2; }
body.is-teacher-dashboard .td-session-row.is-cancelled { background: #fafbfc; opacity: .72; }
body.is-teacher-dashboard .td-session-row:last-child { border-bottom: 0; }
.td-session-dot { background: #8b9bad; border-radius: 50%; height: 8px; width: 8px; }
.td-session-dot.is-live { background: #238761; box-shadow: 0 0 0 4px rgba(35, 135, 97, .12); }
.td-session-dot.is-scheduled { background: #3578ba; }
.td-session-dot.is-completed { background: #60809c; }
.td-session-dot.is-cancelled { background: #a2acb7; }
body.is-teacher-dashboard .td-session-copy { display: grid; gap: 4px; min-width: 0; }
body.is-teacher-dashboard .td-session-copy h3 { color: #24384c; font-size: 14px; line-height: 1.35; margin: 0; overflow-wrap: anywhere; }
body.is-teacher-dashboard .td-session-copy p {
  align-items: center;
  color: #53677b;
  display: flex;
  flex-wrap: wrap;
  font-size: 12px;
  gap: 6px;
  line-height: 1.45;
  margin: 0;
}
body.is-teacher-dashboard .td-session-copy > small { color: #53677b; font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
body.is-teacher-dashboard .td-session-copy > small strong { color: #314b63; }
.teacher-session-status { color: #49657f; font-size: 10px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.teacher-session-status.is-live { color: #14704e; }
.td-session-facts { align-items: flex-end; display: grid; gap: 5px; justify-items: end; }
.td-session-facts span { color: #53677b; font-size: 11px; white-space: nowrap; }
.td-session-facts span strong { color: #263d53; font-size: 13px; }
.td-session-facts span.is-ready { color: #176e4c; font-weight: 800; }
body.is-teacher-dashboard .td-session-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
body.is-teacher-dashboard .td-session-actions > button {
  border-radius: 6px;
  font-size: 11px;
  min-height: 40px;
  min-width: 0;
  padding: 8px 12px;
}
.td-session-actions button.is-primary { background: #1f63aa; border-color: #1f63aa; color: #ffffff; }
.td-session-actions button.is-primary:hover { background: #174f8c; border-color: #174f8c; }
.td-session-more { position: relative; }
.td-session-more > summary {
  align-items: center;
  background: #ffffff;
  border: 1px solid #b9cad9;
  border-radius: 6px;
  color: #315f88;
  cursor: pointer;
  display: flex;
  font-size: 15px;
  font-weight: 850;
  height: 40px;
  justify-content: center;
  list-style: none;
  width: 40px;
}
.td-session-more > summary::-webkit-details-marker { display: none; }
.td-session-more > div {
  background: #ffffff;
  border: 1px solid #ced9e3;
  border-radius: 7px;
  box-shadow: 0 12px 28px rgba(24, 49, 73, .15);
  display: grid;
  min-width: 150px;
  padding: 5px;
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  z-index: 8;
}
.td-session-more > div button {
  background: transparent;
  border: 0;
  border-radius: 4px;
  color: #31546f;
  font: inherit;
  font-size: 11px;
  font-weight: 750;
  min-height: 38px;
  padding: 8px 10px;
  text-align: left;
}
.td-session-more > div button:hover { background: #edf4fa; }
.td-session-more > div button.is-danger { color: #9a3e3e; }
.td-live-empty { display: grid; gap: 5px; min-height: 112px; place-content: center; padding: 22px; text-align: center; }
.td-live-empty strong { color: #2a4055; font-size: 14px; }
.td-live-empty p { color: #53677b; font-size: 12px; line-height: 1.5; margin: 0; }
.td-live-toolbar button:focus-visible,
.td-session-actions button:focus-visible,
.td-session-more > summary:focus-visible,
.td-session-more > div button:focus-visible { outline: 3px solid rgba(42, 112, 179, .28); outline-offset: 2px; }

/* Preguntas: una superficie principal y divisores sobrios. */
body.is-teacher-dashboard .td-question-shell,
body.is-teacher-dashboard .teacher-review-shell { border-radius: 8px; box-shadow: none; padding: 0; }
body.is-teacher-dashboard .teacher-question-card,
body.is-teacher-dashboard .teacher-review-card { border: 0; border-bottom: 1px solid #e5eaf0; border-radius: 0; box-shadow: none; margin: 0; padding: 18px 20px; }
body.is-teacher-dashboard .teacher-question-card:last-child,
body.is-teacher-dashboard .teacher-review-card:last-child { border-bottom: 0; }
body.is-teacher-dashboard .teacher-review-shell { margin-top: 18px; }
body.is-teacher-dashboard .teacher-review-section-head { border-bottom: 1px solid #e4e9ef; padding: 18px 20px; }

/* Diálogos: los formularios aparecen solo cuando se necesitan. */
body.is-teacher-dashboard .td-dialog-shell { border-radius: 9px; box-shadow: 0 22px 60px rgba(13, 33, 54, .24); }
body.is-teacher-dashboard .td-dialog-head { padding: 20px 22px 17px; }
body.is-teacher-dashboard .td-dialog-head h2 { font-size: 20px; }
body.is-teacher-dashboard .td-dialog-head > button { border-radius: 5px; }
body.is-teacher-dashboard .td-task-dialog form { padding: 19px 22px 22px; }
body.is-teacher-dashboard .td-task-dialog textarea,
body.is-teacher-dashboard .td-task-dialog input:not([type="file"]),
body.is-teacher-dashboard .td-task-dialog select { background: #ffffff; border: 1px solid #cbd6e1; border-radius: 6px; color: var(--td-ink); font: inherit; font-size: 10px; min-height: 43px; outline: 0; padding: 9px 10px; resize: vertical; width: 100%; }
body.is-teacher-dashboard .td-task-dialog textarea:focus,
body.is-teacher-dashboard .td-task-dialog input:focus,
body.is-teacher-dashboard .td-task-dialog select:focus { border-color: #4f88bd; box-shadow: 0 0 0 3px rgba(40, 105, 166, .1); }

@media (max-width: 1180px) {
  body.is-teacher-dashboard .learning-main { padding: calc(var(--td-header-height) + 12px) 16px 48px; }
  body.is-teacher-dashboard .teacher-course-panel.td-sidebar {
    background: #ffffff;
    border: 0;
    border-bottom: 1px solid #dce3eb;
    border-radius: 0;
    margin: 0 0 22px;
    max-width: none;
    overflow-x: auto;
    padding: 0;
    width: 100%;
  }
  body.is-teacher-dashboard .td-sidebar-course { display: none; }
  body.is-teacher-dashboard .td-nav { display: flex; gap: 0; min-width: max-content; }
  body.is-teacher-dashboard .td-nav button {
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    color: #5e6f81;
    grid-template-columns: 19px auto auto;
    min-height: 48px;
    padding: 9px 14px;
    width: auto;
  }
  body.is-teacher-dashboard .td-nav button:hover { background: #f5f7f9; color: #214f79; }
  body.is-teacher-dashboard .td-nav button.active { background: transparent; border-bottom-color: #236aa9; color: #174f82; }
  body.is-teacher-dashboard .td-nav button small,
  body.is-teacher-dashboard .td-nav button.active small { background: #e9eff5; color: #49637c; }
  .td-submission-row { grid-template-columns: minmax(145px, .7fr) minmax(180px, 1fr); }
  .td-submission-row form { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  body.is-teacher-dashboard .teacher-course-panel.td-sidebar { overflow-x: hidden; }
  body.is-teacher-dashboard .td-nav {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    min-width: 0;
    width: 100%;
  }
  body.is-teacher-dashboard .td-nav button {
    font-size: 9.5px;
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    min-width: 0;
    padding: 9px 2px;
    width: 100%;
  }
  body.is-teacher-dashboard .td-nav button svg,
  body.is-teacher-dashboard .td-nav button small { display: none; }
  body.is-teacher-dashboard .td-program-card > .td-program-toolbar {
    align-items: stretch;
    display: grid;
    gap: 13px;
    grid-template-columns: minmax(0, 1fr);
    padding: 14px;
  }
  body.is-teacher-dashboard .td-program-card > .td-program-toolbar > .td-program-actions {
    display: grid;
    gap: 7px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }
  body.is-teacher-dashboard .td-program-actions > .td-primary-action,
  body.is-teacher-dashboard .td-program-actions > .td-secondary-action,
  body.is-teacher-dashboard .td-program-actions > .td-tertiary-action {
    min-height: 44px;
    min-width: 0;
    width: 100%;
  }
  body.is-teacher-dashboard .td-program-actions > [data-teacher-new-module] {
    grid-column: auto;
    grid-row: auto;
  }
  body.is-teacher-dashboard .td-program-actions > [data-teacher-open-library] { grid-column: auto; grid-row: auto; }
  body.is-teacher-dashboard .td-course-note { gap: 10px; padding: 12px 14px; }
  body.is-teacher-dashboard .td-course-note-action { min-height: 44px; }
  body.is-teacher-dashboard .td-program-card .td-structure-composer { padding: 16px 14px; }
  body.is-teacher-dashboard .td-outline { padding: 0; }
  body.is-teacher-dashboard .td-module > summary,
  body.is-teacher-dashboard .td-module[open] > summary {
    gap: 10px;
    grid-template-columns: 32px minmax(0, 1fr) 18px;
    min-height: 66px;
    padding: 11px 14px;
  }
  body.is-teacher-dashboard .td-module-lessons { padding: 0 14px 0 44px; }
  body.is-teacher-dashboard .td-module-lessons::before { left: 25px; }
  body.is-teacher-dashboard .td-lesson-row {
    align-items: start;
    gap: 8px 10px;
    grid-template-columns: 34px minmax(0, 1fr);
    padding: 13px 0;
  }
  body.is-teacher-dashboard .td-lesson-order { padding-top: 3px; }
  body.is-teacher-dashboard .td-lesson-actions {
    grid-column: 2;
    justify-content: flex-start;
  }
  body.is-teacher-dashboard .td-lesson-actions > button,
  body.is-teacher-dashboard .td-module-actions > button,
  body.is-teacher-dashboard .td-program-card .td-row-menu > summary {
    min-height: 44px;
  }
  body.is-teacher-dashboard .td-program-card .td-row-menu > summary {
    height: 44px;
    width: 44px;
  }
  body.is-teacher-dashboard .td-program-card .td-row-menu > div button { min-height: 44px; }
  body.is-teacher-dashboard .td-module-actions { padding: 10px 14px; }
  body.is-teacher-dashboard .td-page-head { align-items: stretch; display: grid; margin-bottom: 20px; }
  body.is-teacher-dashboard .td-page-head h1 { font-size: 28px; }
  body.is-teacher-dashboard .td-page-actions {
    display: flex;
    flex-wrap: wrap;
    overflow: visible;
    width: 100%;
  }
  body.is-teacher-dashboard .td-page-actions > * {
    flex: 1 1 calc(50% - 4px);
    min-width: 0;
    width: auto;
  }
  body.is-teacher-dashboard .td-page-actions > button { width: auto; }
  .td-assessment-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .td-assessment-summary > div:nth-child(2) { border-right: 0; }
  .td-assessment-summary > div:nth-child(-n+2) { border-bottom: 1px solid #e5eaf0; }
  .td-live-toolbar { align-items: stretch; display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr); justify-content: stretch; width: 100%; }
  .td-live-toolbar > p { font-size: 11px; }
  body.is-teacher-dashboard .td-live-toolbar > .td-primary-action { min-height: 44px; width: 100%; }
  .td-assignment-row > summary { gap: 10px; grid-template-columns: minmax(180px, 1fr) 58px 18px; padding: 12px 14px; }
  .td-assignment-row > summary > span:nth-child(3) { display: none; }
  .td-assignment-detail { padding: 14px; }
  .td-submission-row { grid-template-columns: minmax(0, 1fr); }
  .td-submission-row form { grid-column: auto; grid-template-columns: 70px minmax(120px, 1fr); }
  .td-submission-row form button { grid-column: 1 / -1; }
  .td-section-head { padding: 15px 16px; }
  body.is-teacher-dashboard .teacher-session-history > .td-section-head { padding: 15px 16px; }
  body.is-teacher-dashboard .td-session-row { align-items: start; gap: 10px 12px; grid-template-columns: 8px minmax(0, 1fr); padding: 15px 16px; }
  body.is-teacher-dashboard .td-session-copy,
  body.is-teacher-dashboard .td-session-facts,
  body.is-teacher-dashboard .td-session-actions { grid-column: 2; }
  body.is-teacher-dashboard .td-session-facts { align-items: center; display: flex; flex-wrap: wrap; justify-content: flex-start; }
  body.is-teacher-dashboard .td-session-actions { justify-content: flex-start; }
  body.is-teacher-dashboard .td-session-actions > button,
  .td-session-more > summary { min-height: 44px; }
  .td-session-more > summary { height: 44px; width: 44px; }
  body.is-teacher-dashboard .td-certificate-closure {
    overflow: hidden;
  }
  body.is-teacher-dashboard .td-certificate-closure > .td-section-head {
    align-items: start;
    display: grid;
    gap: 10px;
    min-width: 0;
    padding: 16px;
  }
  body.is-teacher-dashboard .td-certificate-closure .td-policy-chip { justify-self: start; }
  body.is-teacher-dashboard .teacher-certificate-list { min-width: 0; }
  body.is-teacher-dashboard .td-certificate-row.is-head { display: none; }
  body.is-teacher-dashboard .td-certificate-student > .td-certificate-row {
    align-items: start;
    gap: 11px 14px;
    grid-template-areas:
      "identity identity arrow"
      "evidence attendance arrow"
      "status status arrow";
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 18px;
    min-height: 0;
    padding: 15px 16px;
  }
  body.is-teacher-dashboard .td-certificate-row .td-certificate-identity { grid-area: identity; }
  body.is-teacher-dashboard .td-certificate-row > span:nth-child(2) { grid-area: evidence; }
  body.is-teacher-dashboard .td-certificate-row > span:nth-child(3) { grid-area: attendance; }
  body.is-teacher-dashboard .td-certificate-row > span:nth-child(2)::before,
  body.is-teacher-dashboard .td-certificate-row > span:nth-child(3)::before {
    color: #788797;
    font-size: 7px;
    font-weight: 820;
    letter-spacing: .05em;
    text-transform: uppercase;
  }
  body.is-teacher-dashboard .td-certificate-row > span:nth-child(2)::before { content: "Evidencia"; }
  body.is-teacher-dashboard .td-certificate-row > span:nth-child(3)::before { content: "Asistencia"; }
  body.is-teacher-dashboard .td-certificate-row > .td-certificate-status { grid-area: status; }
  body.is-teacher-dashboard .td-certificate-row > svg { align-self: center; grid-area: arrow; }
  body.is-teacher-dashboard .td-certificate-detail { padding: 15px 16px; }
  body.is-teacher-dashboard .td-certificate-detail form { align-items: stretch; grid-template-columns: minmax(0, 1fr); }
  body.is-teacher-dashboard .td-certificate-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.is-teacher-dashboard .td-certificate-actions button { min-width: 0; }
  body.is-teacher-dashboard [data-teacher-live-dialog] .td-form-row {
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr);
  }
  body.is-teacher-dashboard [data-teacher-live-dialog] form > label,
  body.is-teacher-dashboard [data-teacher-live-dialog] .td-form-row > label {
    display: grid;
    gap: 6px;
    min-width: 0;
  }
  body.is-teacher-dashboard [data-teacher-live-dialog] label > span:first-child {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    line-height: 1.35;
  }
  body.is-teacher-dashboard [data-teacher-live-dialog] input,
  body.is-teacher-dashboard [data-teacher-live-dialog] select,
  body.is-teacher-dashboard [data-teacher-live-dialog] .td-input-suffix { min-width: 0; }
}

@media (max-width: 520px) {
  body.is-teacher-dashboard .learning-main { padding-left: 10px; padding-right: 10px; }
  body.is-teacher-dashboard .td-nav button { font-size: 9px; padding: 9px 1px; }
  .td-search { width: 100%; }
  .td-assignment-row > summary { grid-template-columns: minmax(0, 1fr) 18px; }
  .td-assignment-row > summary > span:not(.td-assignment-main) { display: none; }
  .td-submission-row form { grid-template-columns: minmax(0, 1fr); }
  .td-submission-row form button { grid-column: auto; }
  .td-live-details { display: grid !important; }
}

/* Evaluaciones · dos flujos claros, sin tableros de resumen */
body.is-teacher-dashboard .td-assessment-toolbar {
  align-items: center;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin-bottom: 14px;
}

body.is-teacher-dashboard .td-assessment-toolbar > div:first-child { display: grid; gap: 4px; }
body.is-teacher-dashboard .td-assessment-toolbar h2 { color: var(--td-ink); font-size: 22px; letter-spacing: -.035em; margin: 0; }
body.is-teacher-dashboard .td-assessment-toolbar p { color: #5f7083; font-size: 12px; line-height: 1.45; margin: 0; }
body.is-teacher-dashboard .td-assessment-actions { align-items: center; display: flex; gap: 8px; }
body.is-teacher-dashboard .td-assessment-actions button { min-height: 44px; }
body.is-teacher-dashboard .td-assessment-status { margin: 0 0 10px; min-height: 18px; }

body.is-teacher-dashboard .td-assessment-surface {
  border: 1px solid var(--td-line);
  border-radius: 8px;
  box-shadow: none;
  overflow: hidden;
  padding: 0;
}

body.is-teacher-dashboard .td-evaluation-item { margin: 0; }

body.is-teacher-dashboard .td-evaluation-row {
  align-items: center;
  background: #ffffff;
  border: 0;
  border-bottom: 1px solid #e2e8ef;
  color: inherit;
  cursor: pointer;
  display: grid;
  font: inherit;
  gap: 14px;
  grid-template-columns: 40px minmax(0, 1fr) minmax(145px, auto) 18px;
  min-height: 82px;
  padding: 15px 18px;
  text-align: left;
  width: 100%;
}

body.is-teacher-dashboard .td-evaluation-item:last-child .td-evaluation-row { border-bottom: 0; }
body.is-teacher-dashboard .td-evaluation-row:hover { background: #f8fafc; }
body.is-teacher-dashboard .td-evaluation-row:focus-visible { box-shadow: inset 0 0 0 3px rgba(31, 99, 170, .24); outline: 0; }
body.is-teacher-dashboard .td-evaluation-row.has-pending { box-shadow: inset 3px 0 #b86d2c; }
body.is-teacher-dashboard .td-evaluation-row.is-draft { background: #fbfaf7; box-shadow: inset 3px 0 #9a722f; }
body.is-teacher-dashboard .td-evaluation-kind {
  align-items: center;
  background: #edf4fb;
  border: 1px solid #d3e2f0;
  border-radius: 7px;
  color: #1f63aa;
  display: flex;
  font-size: 17px;
  font-weight: 850;
  height: 40px;
  justify-content: center;
  width: 40px;
}
body.is-teacher-dashboard .td-evaluation-row.is-file .td-evaluation-kind,
body.is-teacher-dashboard .td-evaluation-row.is-legacy .td-evaluation-kind { background: #eef6f1; border-color: #d2e6d9; color: #2d7656; }
body.is-teacher-dashboard .td-evaluation-copy { display: grid; gap: 3px; min-width: 0; }
body.is-teacher-dashboard .td-evaluation-copy small { color: #526c84; font-size: 11px; font-style: normal; font-weight: 780; }
body.is-teacher-dashboard .td-evaluation-copy strong { color: var(--td-ink); font-size: 14px; line-height: 1.35; overflow-wrap: anywhere; }
body.is-teacher-dashboard .td-evaluation-copy em { color: #66778a; font-size: 11px; font-style: normal; }
body.is-teacher-dashboard .td-evaluation-state { display: grid; gap: 3px; text-align: right; }
body.is-teacher-dashboard .td-evaluation-state strong { color: #42566b; font-size: 12px; }
body.is-teacher-dashboard .td-evaluation-state.has-pending strong { color: #9a551d; }
body.is-teacher-dashboard .td-evaluation-state small { color: #6b7c8e; font-size: 10px; }
body.is-teacher-dashboard .td-evaluation-row > svg { fill: none; height: 18px; stroke: #708197; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 18px; }

body.is-teacher-dashboard .td-assessment-automation {
  background: #ffffff;
  border: 1px solid #dce4ec;
  border-radius: 8px;
  margin-top: 14px;
  overflow: hidden;
}
body.is-teacher-dashboard .td-assessment-automation > header {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: 40px minmax(0, 1fr);
  padding: 14px 17px;
}
body.is-teacher-dashboard .td-automation-icon {
  align-items: center;
  background: #eaf5ef;
  border: 1px solid #d0e7d9;
  border-radius: 50%;
  display: flex;
  height: 40px;
  justify-content: center;
  width: 40px;
}
body.is-teacher-dashboard .td-automation-icon svg { fill: none; height: 21px; stroke: #24704f; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 21px; }
body.is-teacher-dashboard .td-assessment-automation > header > div { display: grid; gap: 3px; }
body.is-teacher-dashboard .td-assessment-automation > header strong { color: #263d52; font-size: 13px; }
body.is-teacher-dashboard .td-assessment-automation > header p { color: #5f7184; font-size: 11px; line-height: 1.5; margin: 0; }
body.is-teacher-dashboard .td-automatic-certificate-list { border-top: 1px solid #e3e9ef; }
body.is-teacher-dashboard .td-automatic-certificate-row {
  align-items: center;
  border-bottom: 1px solid #e7ecf1;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(210px, 1.2fr) 120px 120px minmax(210px, 1fr);
  min-height: 70px;
  padding: 11px 17px;
}
body.is-teacher-dashboard .td-automatic-certificate-row:last-of-type { border-bottom: 0; }
body.is-teacher-dashboard .td-automatic-student { align-items: center; display: grid; gap: 10px; grid-template-columns: 34px minmax(0, 1fr); min-width: 0; }
body.is-teacher-dashboard .td-automatic-student > i { align-items: center; background: #eaf1f8; border-radius: 50%; color: #285f94; display: flex; font-size: 9px; font-style: normal; font-weight: 850; height: 34px; justify-content: center; width: 34px; }
body.is-teacher-dashboard .td-automatic-student > span,
body.is-teacher-dashboard .td-automatic-evidence,
body.is-teacher-dashboard .td-automatic-grade,
body.is-teacher-dashboard .td-automatic-state > span { display: grid; gap: 3px; min-width: 0; }
body.is-teacher-dashboard .td-automatic-student strong,
body.is-teacher-dashboard .td-automatic-evidence strong,
body.is-teacher-dashboard .td-automatic-grade strong,
body.is-teacher-dashboard .td-automatic-state strong { color: #2a3f54; font-size: 11px; overflow-wrap: anywhere; }
body.is-teacher-dashboard .td-automatic-student small,
body.is-teacher-dashboard .td-automatic-evidence small,
body.is-teacher-dashboard .td-automatic-grade small,
body.is-teacher-dashboard .td-automatic-state small { color: #6a7b8d; font-size: 9px; line-height: 1.4; overflow-wrap: anywhere; }
body.is-teacher-dashboard .td-automatic-state { align-items: center; display: grid; gap: 8px; grid-template-columns: 9px minmax(0, 1fr); }
body.is-teacher-dashboard .td-automatic-state > i { background: #91a0af; border-radius: 50%; height: 8px; width: 8px; }
body.is-teacher-dashboard .td-automatic-certificate-row.is-issued .td-automatic-state > i { background: #25815b; }
body.is-teacher-dashboard .td-automatic-certificate-row.is-issued .td-automatic-state strong { color: #1b6948; }
body.is-teacher-dashboard .td-automatic-certificate-row.is-processing .td-automatic-state > i { background: #2774b7; }
body.is-teacher-dashboard .td-automatic-certificate-row.is-processing .td-automatic-state strong { color: #205f98; }
body.is-teacher-dashboard .td-automatic-certificate-row.is-failed .td-automatic-state > i { background: #b25b50; }
body.is-teacher-dashboard .td-automatic-certificate-row.is-failed .td-automatic-state strong { color: #8f493f; }
body.is-teacher-dashboard .td-automatic-unlinked-note { background: #f8fafc; border-top: 1px solid #e5eaf0; color: #67798b; font-size: 9px; line-height: 1.5; margin: 0; padding: 9px 17px; }

body.is-teacher-dashboard [data-teacher-assignment-dialog] .td-dialog-shell { max-width: 780px; }
body.is-teacher-dashboard [data-teacher-assignment-dialog] .td-dialog-head > button,
body.is-teacher-dashboard [data-teacher-assessment-detail-dialog] .td-dialog-head > button { flex-basis: 40px; height: 40px; min-height: 40px; width: 40px; }
body.is-teacher-dashboard [data-teacher-assignment-dialog] .td-dialog-actions button { min-height: 40px; }
body.is-teacher-dashboard .td-quiz-builder,
body.is-teacher-dashboard .td-assignment-file-builder { border-top: 1px solid #e0e6ed; margin-top: 4px; padding-top: 17px; }
body.is-teacher-dashboard .td-quiz-builder > header { align-items: start; display: flex; gap: 16px; justify-content: space-between; margin-bottom: 12px; }
body.is-teacher-dashboard .td-quiz-builder h3 { color: var(--td-ink); font-size: 15px; margin: 0 0 3px; }
body.is-teacher-dashboard .td-quiz-builder header p { color: #607286; font-size: 11px; line-height: 1.45; margin: 0; }
body.is-teacher-dashboard .td-quiz-builder header button,
body.is-teacher-dashboard .td-assignment-resource-form button { background: #ffffff; border: 1px solid #b9cadb; border-radius: 6px; color: #1f5f9e; cursor: pointer; font: inherit; font-size: 11px; font-weight: 800; min-height: 38px; padding: 8px 11px; }
body.is-teacher-dashboard .td-quiz-builder header button,
body.is-teacher-dashboard .td-assignment-resource-form button,
body.is-teacher-dashboard .td-quiz-question > header button { min-height: 40px; }
body.is-teacher-dashboard [data-teacher-quiz-questions] { display: grid; gap: 10px; }
body.is-teacher-dashboard .td-quiz-question { background: #f7f9fb; border: 1px solid #dce4ec; border-radius: 7px; display: grid; gap: 11px; padding: 13px; }
body.is-teacher-dashboard .td-quiz-question > header { align-items: center; display: flex; justify-content: space-between; }
body.is-teacher-dashboard .td-quiz-question > header strong { color: #263b50; font-size: 12px; }
body.is-teacher-dashboard .td-quiz-question > header button { background: transparent; border: 0; color: #8a4b42; cursor: pointer; font-size: 10px; font-weight: 750; }
body.is-teacher-dashboard .td-quiz-question > header button:disabled { opacity: .35; }
body.is-teacher-dashboard .td-quiz-question label { display: grid; gap: 5px; }
body.is-teacher-dashboard .td-quiz-question label > span,
body.is-teacher-dashboard .td-assignment-file-builder label > span { color: #52667a; font-size: 10px; font-weight: 760; }
body.is-teacher-dashboard .td-quiz-question fieldset { border: 0; display: grid; gap: 7px; margin: 0; padding: 0; }
body.is-teacher-dashboard .td-quiz-question legend { color: #52667a; font-size: 10px; font-weight: 760; margin-bottom: 6px; }
body.is-teacher-dashboard .td-quiz-question legend small { color: #738295; font-weight: 500; }
body.is-teacher-dashboard .td-quiz-option { align-items: center; display: grid !important; gap: 8px !important; grid-template-columns: 18px minmax(0, 1fr); }
body.is-teacher-dashboard .td-quiz-option > input[type="radio"] { accent-color: var(--td-blue); height: 16px; margin: 0; width: 16px; }
body.is-teacher-dashboard .td-assignment-file-builder { display: grid; gap: 8px; }
body.is-teacher-dashboard .td-assignment-file-builder > p { color: #607286; font-size: 11px; line-height: 1.45; margin: 0; }
body.is-teacher-dashboard .td-evaluation-file-input { display: grid; gap: 7px; }
body.is-teacher-dashboard .td-evaluation-file-input input { border: 1px dashed #aebfd0; border-radius: 7px; padding: 13px; }
body.is-teacher-dashboard .td-evaluation-file-input small { color: #66788a; font-size: 10px; }

body.is-teacher-dashboard .td-assessment-detail-dialog .td-dialog-shell { max-width: 940px; }
body.is-teacher-dashboard .td-assessment-detail-content { display: grid; gap: 14px; max-height: min(70vh, 720px); overflow-y: auto; padding: 18px 22px 8px; }
body.is-teacher-dashboard .td-assessment-detail-message { margin: 0; min-height: 34px; padding: 7px 22px 14px; }
body.is-teacher-dashboard .td-assessment-brief,
body.is-teacher-dashboard .td-answer-key,
body.is-teacher-dashboard .td-assignment-resources,
body.is-teacher-dashboard .td-assessment-responses { border: 1px solid #dfe6ed; border-radius: 7px; }
body.is-teacher-dashboard .td-assessment-brief { display: grid; gap: 5px; padding: 13px 15px; }
body.is-teacher-dashboard .td-assessment-brief > span { color: #536a80; font-size: 10px; font-weight: 820; text-transform: uppercase; }
body.is-teacher-dashboard .td-assessment-brief p { color: #354b60; font-size: 12px; line-height: 1.55; margin: 0; white-space: pre-wrap; }
body.is-teacher-dashboard .td-draft-notice { color: #8a5c22; font-size: 11px; }
body.is-teacher-dashboard .td-answer-key > header,
body.is-teacher-dashboard .td-assignment-resources > header,
body.is-teacher-dashboard .td-assessment-responses > header { align-items: center; border-bottom: 1px solid #e2e8ee; display: flex; justify-content: space-between; padding: 11px 14px; }
body.is-teacher-dashboard .td-answer-key > header strong,
body.is-teacher-dashboard .td-assignment-resources > header strong,
body.is-teacher-dashboard .td-assessment-responses > header strong { color: #2d4257; font-size: 12px; }
body.is-teacher-dashboard .td-answer-key > header span,
body.is-teacher-dashboard .td-assignment-resources > header span,
body.is-teacher-dashboard .td-assessment-responses > header span { color: #63768a; font-size: 10px; }
body.is-teacher-dashboard .td-answer-key ol { display: grid; gap: 0; list-style-position: inside; margin: 0; padding: 0; }
body.is-teacher-dashboard .td-answer-key li { border-bottom: 1px solid #e7ecf1; color: #3d5267; display: grid; font-size: 11px; gap: 4px; padding: 10px 14px; }
body.is-teacher-dashboard .td-answer-key li:last-child { border-bottom: 0; }
body.is-teacher-dashboard .td-answer-key li strong { color: #226145; font-size: 11px; }
body.is-teacher-dashboard .td-evaluation-files { display: grid; gap: 8px; }
body.is-teacher-dashboard .td-assignment-resources > .td-evaluation-files { padding: 12px 14px 0; }
body.is-teacher-dashboard .td-evaluation-file { align-items: center; background: #f4f8fb; border: 1px solid #cedce8; border-radius: 7px; display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr) auto; padding: 9px 10px; }
body.is-teacher-dashboard .td-evaluation-file > span:first-child { display: grid; gap: 3px; min-width: 0; }
body.is-teacher-dashboard .td-evaluation-file > span:first-child strong { color: #28445e; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.is-teacher-dashboard .td-evaluation-file > span:first-child small { color: #587995; font-size: 9px; }
body.is-teacher-dashboard .td-evaluation-file-actions { display: flex; gap: 6px; }
body.is-teacher-dashboard .td-evaluation-file-actions button { background: #ffffff; border: 1px solid #b9ccdd; border-radius: 6px; color: #1f609d; cursor: pointer; font: inherit; font-size: 10px; font-weight: 800; min-height: 40px; padding: 8px 11px; }
body.is-teacher-dashboard .td-evaluation-file-actions button:last-child { background: #1f63aa; border-color: #1f63aa; color: #ffffff; }
body.is-teacher-dashboard .td-evaluation-file-actions button:disabled { cursor: progress; opacity: .6; }
body.is-teacher-dashboard .td-assignment-resource-form { align-items: end; display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr) auto; padding: 12px 14px 14px !important; }
body.is-teacher-dashboard .td-assignment-resource-form label { color: #52687d; display: grid; font-size: 10px; font-weight: 760; gap: 5px; }
body.is-teacher-dashboard .td-assignment-resource-form input { border: 1px dashed #b6c5d4; border-radius: 6px; padding: 9px; }
body.is-teacher-dashboard .td-review-submission,
body.is-teacher-dashboard .td-quiz-result { border-bottom: 1px solid #e2e8ee; display: grid; gap: 11px; padding: 13px 14px; }
body.is-teacher-dashboard .td-review-submission:last-child,
body.is-teacher-dashboard .td-quiz-result:last-child { border-bottom: 0; }
body.is-teacher-dashboard .td-review-submission > header,
body.is-teacher-dashboard .td-quiz-result { align-items: start; }
body.is-teacher-dashboard .td-review-submission > header { display: flex; gap: 12px; justify-content: space-between; }
body.is-teacher-dashboard .td-review-submission > header > div,
body.is-teacher-dashboard .td-quiz-result > div { display: grid; gap: 3px; }
body.is-teacher-dashboard .td-review-submission > header strong,
body.is-teacher-dashboard .td-quiz-result strong { color: #263c51; font-size: 12px; }
body.is-teacher-dashboard .td-review-submission > header small,
body.is-teacher-dashboard .td-quiz-result small { color: #66788b; font-size: 10px; }
body.is-teacher-dashboard .td-review-submission > header > span { border-radius: 999px; font-size: 10px; font-weight: 800; padding: 5px 8px; }
body.is-teacher-dashboard .td-review-submission > header > span.is-pending { background: #fbf0e5; color: #90511d; }
body.is-teacher-dashboard .td-review-submission > header > span.is-graded { background: #eaf5ef; color: #206143; }
body.is-teacher-dashboard .td-review-note { color: #40566b; font-size: 11px; line-height: 1.5; margin: 0; }
body.is-teacher-dashboard .td-review-missing { color: #7b5a36; font-size: 11px; margin: 0; }
body.is-teacher-dashboard .td-submitted-files,
body.is-teacher-dashboard .td-returned-files { display: grid; gap: 6px; }
body.is-teacher-dashboard .td-submitted-files > span,
body.is-teacher-dashboard .td-returned-files > span { color: #526a80; font-size: 10px; font-weight: 770; }
body.is-teacher-dashboard .td-review-submission form { border-top: 1px solid #e5eaf0; display: grid; gap: 10px; padding: 12px 0 0 !important; }
body.is-teacher-dashboard .td-review-grade-row { display: grid; gap: 10px; grid-template-columns: 105px minmax(0, 1fr); }
body.is-teacher-dashboard .td-review-submission form label { color: #51677d; display: grid; font-size: 10px; font-weight: 760; gap: 5px; }
body.is-teacher-dashboard .td-review-grade-row label > div { align-items: center; display: flex; }
body.is-teacher-dashboard .td-review-grade-row label > div input { border-radius: 6px 0 0 6px; }
body.is-teacher-dashboard .td-review-grade-row label > div b { align-items: center; background: #eef2f6; border: 1px solid #cbd6e1; border-left: 0; border-radius: 0 6px 6px 0; color: #52677c; display: flex; font-size: 11px; height: 43px; padding: 0 8px; }
body.is-teacher-dashboard .td-review-file input { border: 1px dashed #b5c5d5; border-radius: 6px; padding: 9px; }
body.is-teacher-dashboard .td-review-file small { color: #65788b; font-size: 10px; font-weight: 500; }
body.is-teacher-dashboard .td-review-file em { color: #718296; font-size: 9px; font-style: normal; font-weight: 550; }
body.is-teacher-dashboard .td-review-submission form > button { justify-self: end; min-height: 42px; }
body.is-teacher-dashboard .td-evaluation-external { color: #1c609f; font-size: 11px; font-weight: 780; }
body.is-teacher-dashboard .td-quiz-result { grid-template-columns: minmax(0, 1fr) auto; }
body.is-teacher-dashboard .td-quiz-result > details { grid-column: 1 / -1; }
body.is-teacher-dashboard .td-quiz-result > details summary { color: #1d609f; cursor: pointer; font-size: 10px; font-weight: 780; }
body.is-teacher-dashboard .td-quiz-result ol { display: grid; gap: 7px; margin: 9px 0 0; padding-left: 20px; }
body.is-teacher-dashboard .td-quiz-result li { color: #41576c; font-size: 10px; line-height: 1.45; }
body.is-teacher-dashboard .td-quiz-result li span,
body.is-teacher-dashboard .td-quiz-result li small { display: block; }
body.is-teacher-dashboard .td-quiz-result li.is-correct > strong { color: #226145; }
body.is-teacher-dashboard .td-quiz-result li.is-incorrect > strong { color: #8f493f; }

@media (max-width: 720px) {
  body.is-teacher-dashboard .td-assessment-toolbar { align-items: stretch; display: grid; gap: 12px; }
  body.is-teacher-dashboard .td-assessment-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.is-teacher-dashboard .td-assessment-actions button { justify-content: center; min-height: 44px; min-width: 0; padding-left: 9px; padding-right: 9px; }
  body.is-teacher-dashboard .td-evaluation-row { gap: 10px; grid-template-columns: 38px minmax(0, 1fr) 16px; min-height: 88px; padding: 13px; }
  body.is-teacher-dashboard .td-evaluation-kind { height: 38px; width: 38px; }
  body.is-teacher-dashboard .td-evaluation-state { grid-column: 2; grid-row: 2; text-align: left; }
  body.is-teacher-dashboard .td-evaluation-row > svg { grid-column: 3; grid-row: 1 / 3; }
  body.is-teacher-dashboard .td-assessment-automation > header { align-items: start; padding: 13px; }
  body.is-teacher-dashboard .td-automatic-certificate-row { align-items: start; gap: 10px 12px; grid-template-columns: minmax(0, 1fr) auto; padding: 13px; }
  body.is-teacher-dashboard .td-automatic-student { grid-column: 1 / -1; }
  body.is-teacher-dashboard .td-automatic-evidence { grid-column: 1; }
  body.is-teacher-dashboard .td-automatic-grade { grid-column: 2; text-align: right; }
  body.is-teacher-dashboard .td-automatic-state { grid-column: 1 / -1; }
  body.is-teacher-dashboard .td-evaluation-file { align-items: stretch; grid-template-columns: minmax(0, 1fr); }
  body.is-teacher-dashboard .td-evaluation-file-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.is-teacher-dashboard .td-evaluation-file-actions button { min-height: 44px; }
  body.is-teacher-dashboard .td-quiz-builder > header { align-items: stretch; display: grid; }
  body.is-teacher-dashboard .td-quiz-builder header button { min-height: 44px; }
  body.is-teacher-dashboard [data-teacher-assignment-dialog] .td-dialog-shell,
  body.is-teacher-dashboard [data-teacher-assessment-detail-dialog] .td-dialog-shell { min-height: 0; max-height: calc(100dvh - 40px); }
  body.is-teacher-dashboard [data-teacher-assignment-dialog] .td-dialog-head > button,
  body.is-teacher-dashboard [data-teacher-assessment-detail-dialog] .td-dialog-head > button { flex-basis: 44px; height: 44px; min-height: 44px; width: 44px; }
  body.is-teacher-dashboard [data-teacher-assignment-dialog] .td-dialog-actions button,
  body.is-teacher-dashboard .td-quiz-question > header button { min-height: 44px; }
  body.is-teacher-dashboard [data-teacher-assignment-dialog] .td-dialog-actions > div > button { height: 44px; min-height: 44px; }
  body.is-teacher-dashboard .td-assessment-detail-content { max-height: 72vh; padding: 14px; }
  body.is-teacher-dashboard .td-assessment-detail-message { padding-left: 14px; padding-right: 14px; }
  body.is-teacher-dashboard .td-assignment-resource-form,
  body.is-teacher-dashboard .td-review-grade-row { grid-template-columns: minmax(0, 1fr); }
  body.is-teacher-dashboard .td-assignment-resource-form button,
  body.is-teacher-dashboard .td-review-submission form > button { justify-self: stretch; min-height: 44px; }
  body.is-teacher-dashboard .td-evaluation-file { max-width: 100%; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  body.is-teacher-dashboard .teacher-view * { scroll-behavior: auto !important; transition: none !important; }
}

/* Aula docente minimal: navegación clara y clases sin ruido visual. */
body.is-teacher-dashboard {
  --td-sidebar-width: 214px;
  --td-blue: #164194;
}

body.is-teacher-dashboard .teacher-course-panel.td-sidebar {
  background: #ffffff;
  border: 0;
  border-right: 1px solid #d8e2ec;
  box-shadow: none;
  gap: 16px;
  padding: 20px 12px 24px;
  scrollbar-color: #c8d5e1 transparent;
}

body.is-teacher-dashboard .td-sidebar-course {
  border-bottom: 1px solid #e2e9f0;
  gap: 7px;
  padding: 0 8px 16px;
}

body.is-teacher-dashboard .td-sidebar-course > span,
body.is-teacher-dashboard .td-sidebar-course > small {
  display: none;
}

body.is-teacher-dashboard .td-sidebar-back {
  color: #597084;
  font-size: 11px;
  margin-bottom: 4px;
}

body.is-teacher-dashboard .td-sidebar-back:hover {
  color: #164194;
}

body.is-teacher-dashboard .td-sidebar-course strong {
  color: #172b43;
  font-size: 14px;
  line-height: 1.35;
}

body.is-teacher-dashboard .td-nav {
  gap: 4px;
}

body.is-teacher-dashboard .td-nav button {
  background: transparent;
  border: 1px solid transparent;
  border-radius: 8px;
  color: #50677c;
  min-height: 44px;
  padding: 9px 10px;
}

body.is-teacher-dashboard .td-nav button:hover {
  background: #f2f6fa;
  border-color: #e1e9f0;
  color: #164194;
}

body.is-teacher-dashboard .td-nav button.active {
  background: #eaf2fa;
  border-color: #cfdeeb;
  border-left-color: #1d71b8;
  box-shadow: none;
  color: #164194;
}

body.is-teacher-dashboard .td-nav button svg,
body.is-teacher-dashboard .td-nav button.active svg {
  stroke: currentColor;
}

body.is-teacher-dashboard .td-nav button small,
body.is-teacher-dashboard .td-nav button.active small {
  background: #dbe9f6;
  color: #164194;
}

body.is-teacher-dashboard .td-live-toolbar {
  justify-content: flex-end;
  margin-bottom: 10px;
  min-height: 40px;
}

body.is-teacher-dashboard .td-live-toolbar > p {
  display: none;
}

body.is-teacher-dashboard .teacher-session-history > .td-section-head {
  padding: 14px 16px;
}

body.is-teacher-dashboard .teacher-session-history > .td-section-head h2 {
  font-size: 18px;
}

body.is-teacher-dashboard .td-session-row {
  gap: 12px;
  grid-template-columns: 8px minmax(0, 1fr) auto;
  min-height: 72px;
  padding: 12px 16px;
}

body.is-teacher-dashboard .td-session-copy {
  gap: 3px;
}

body.is-teacher-dashboard .td-session-copy h3 {
  color: #172b43;
  font-size: 15px;
}

body.is-teacher-dashboard .td-session-copy p {
  color: #64778a;
  font-size: 12px;
}

body.is-teacher-dashboard .teacher-session-status {
  color: #52708c;
  font-size: 9px;
  letter-spacing: 0.055em;
}

body.is-teacher-dashboard .td-session-copy > small,
body.is-teacher-dashboard .td-session-facts {
  display: none;
}

body.is-teacher-dashboard .td-session-actions > button {
  min-height: 38px;
  padding: 8px 13px;
}

body.is-teacher-dashboard .td-session-actions button.is-primary {
  background: #164194;
  border-color: #164194;
}

body.is-teacher-dashboard .td-session-actions button.is-primary:hover {
  background: #1d71b8;
  border-color: #1d71b8;
}

@media (max-width: 720px) {
  body.is-teacher-dashboard .td-session-row {
    align-items: start;
    grid-template-columns: 8px minmax(0, 1fr);
    padding: 13px 14px;
  }

  body.is-teacher-dashboard .td-session-actions {
    grid-column: 2;
    justify-content: flex-start;
  }

  body.is-teacher-dashboard .td-session-actions > button,
  body.is-teacher-dashboard .td-session-more > summary {
    height: 44px;
    min-height: 44px;
  }

  body.is-teacher-dashboard .td-session-more > summary {
    width: 44px;
  }
}

/* Evaluaciones docentes: una decisión por vez, sin paneles ni scroll duplicado. */
body.is-teacher-dashboard .td-assessment-toolbar {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 12px;
  min-height: 44px;
}

body.is-teacher-dashboard .td-assessment-heading p {
  color: #52677b;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  margin: 0;
}

body.is-teacher-dashboard .td-new-assessment {
  flex: 0 0 auto;
  position: relative;
  z-index: 8;
}

body.is-teacher-dashboard .td-new-assessment > summary {
  cursor: pointer;
  list-style: none;
  min-height: 44px;
  user-select: none;
}

body.is-teacher-dashboard .td-new-assessment > summary::-webkit-details-marker,
body.is-teacher-dashboard .td-assessment-automation > summary::-webkit-details-marker,
body.is-teacher-dashboard .td-review-submission summary::-webkit-details-marker,
body.is-teacher-dashboard .td-answer-key > summary::-webkit-details-marker,
body.is-teacher-dashboard .td-optional-upload > summary::-webkit-details-marker,
body.is-teacher-dashboard .td-grade-editor > summary::-webkit-details-marker,
body.is-teacher-dashboard .td-review-file-option > summary::-webkit-details-marker {
  display: none;
}

body.is-teacher-dashboard .td-new-assessment > summary:focus-visible,
body.is-teacher-dashboard .td-assessment-automation > summary:focus-visible,
body.is-teacher-dashboard .td-review-submission summary:focus-visible,
body.is-teacher-dashboard .td-answer-key > summary:focus-visible,
body.is-teacher-dashboard .td-optional-upload > summary:focus-visible,
body.is-teacher-dashboard .td-grade-editor > summary:focus-visible,
body.is-teacher-dashboard .td-review-file-option > summary:focus-visible {
  outline: 3px solid #164194;
  outline-offset: 2px;
}

body.is-teacher-dashboard .td-new-assessment > div {
  background: #ffffff;
  border: 1px solid #cfdbe6;
  border-radius: 10px;
  box-shadow: 0 16px 38px rgba(18, 43, 68, .16);
  display: grid;
  gap: 4px;
  min-width: 290px;
  padding: 6px;
  position: absolute;
  right: 0;
  top: calc(100% + 7px);
}

body.is-teacher-dashboard .td-new-assessment > div button {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 7px;
  color: #263e55;
  cursor: pointer;
  display: grid;
  font: inherit;
  gap: 11px;
  grid-template-columns: 34px minmax(0, 1fr);
  min-height: 58px;
  padding: 9px 10px;
  text-align: left;
  width: 100%;
}

body.is-teacher-dashboard .td-new-assessment > div button:hover { background: #f0f5fa; }
body.is-teacher-dashboard .td-new-assessment > div button:focus-visible { outline: 3px solid #164194; outline-offset: -2px; }
body.is-teacher-dashboard .td-new-assessment > div button svg { fill: none; height: 20px; justify-self: center; stroke: #1d71b8; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 20px; }
body.is-teacher-dashboard .td-new-assessment > div button span { display: grid; gap: 2px; }
body.is-teacher-dashboard .td-new-assessment > div button strong { color: #203850; font-size: 12px; }
body.is-teacher-dashboard .td-new-assessment > div button small { color: #607488; font-size: 11px; }

body.is-teacher-dashboard .td-assessment-status { margin: 0; min-height: 0; }
body.is-teacher-dashboard .td-assessment-status:empty { display: none; }

body.is-teacher-dashboard .td-evaluation-row {
  gap: 13px;
  grid-template-columns: 38px minmax(0, 1fr) auto 16px;
  min-height: 74px;
  padding: 12px 16px;
}

body.is-teacher-dashboard .td-evaluation-kind { font-size: 15px; height: 38px; width: 38px; }
body.is-teacher-dashboard .td-evaluation-copy { gap: 2px; }
body.is-teacher-dashboard .td-evaluation-copy small { font-size: 11px; }
body.is-teacher-dashboard .td-evaluation-copy strong { font-size: 13px; }
body.is-teacher-dashboard .td-evaluation-copy em { font-size: 11px; }
body.is-teacher-dashboard .td-evaluation-state { background: #f0f4f7; border-radius: 999px; display: block; padding: 6px 9px; text-align: center; }
body.is-teacher-dashboard .td-evaluation-state strong { color: #40566b; font-size: 11px; white-space: nowrap; }
body.is-teacher-dashboard .td-evaluation-state.has-pending { background: #fff1e5; }
body.is-teacher-dashboard .td-evaluation-state.has-pending strong { color: #8e4c18; }
body.is-teacher-dashboard .td-evaluation-row:focus-visible { box-shadow: none; outline: 3px solid #164194; outline-offset: -3px; }

body.is-teacher-dashboard .td-assessment-automation {
  background: #ffffff;
  border: 1px solid #dce4ec;
  border-radius: 8px;
  margin-top: 12px;
  overflow: hidden;
}

body.is-teacher-dashboard .td-assessment-automation > summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: 11px;
  grid-template-columns: 34px minmax(0, 1fr) 18px;
  list-style: none;
  min-height: 58px;
  padding: 10px 14px;
}

body.is-teacher-dashboard .td-assessment-automation > summary:hover { background: #f8fafc; }
body.is-teacher-dashboard .td-assessment-automation .td-automation-icon { height: 34px; width: 34px; }
body.is-teacher-dashboard .td-assessment-automation .td-automation-icon svg { height: 18px; width: 18px; }
body.is-teacher-dashboard .td-assessment-automation > summary > span:nth-child(2) { display: grid; gap: 2px; }
body.is-teacher-dashboard .td-assessment-automation > summary strong { color: #2a4055; font-size: 12px; }
body.is-teacher-dashboard .td-assessment-automation > summary small { color: #627589; font-size: 11px; }
body.is-teacher-dashboard .td-assessment-automation > summary > svg { fill: none; height: 17px; stroke: #64798e; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; transition: transform 150ms ease; width: 17px; }
body.is-teacher-dashboard .td-assessment-automation[open] > summary > svg { transform: rotate(180deg); }
body.is-teacher-dashboard .td-assessment-automation-body { border-top: 1px solid #e3e9ef; }
body.is-teacher-dashboard .td-assessment-automation-body > p { color: #536a7e; font-size: 12px; line-height: 1.5; margin: 0; padding: 12px 16px; }
body.is-teacher-dashboard .td-assessment-automation-body .td-automatic-certificate-list { border-top: 1px solid #e7ecf1; }

body.is-teacher-dashboard .td-assessment-detail-dialog {
  width: min(920px, calc(100vw - 40px));
}

body.is-teacher-dashboard .td-assessment-detail-dialog .td-dialog-shell {
  display: flex;
  flex-direction: column;
  max-height: calc(100dvh - 32px);
  max-width: none;
  overflow: hidden;
  width: 100%;
}

body.is-teacher-dashboard .td-assessment-detail-dialog .td-dialog-head {
  flex: 0 0 auto;
  padding: 18px 22px 16px;
}

body.is-teacher-dashboard .td-assessment-detail-dialog .td-dialog-head h2 { font-size: 20px; }
body.is-teacher-dashboard .td-assessment-detail-dialog .td-dialog-head p { font-size: 12px; }
body.is-teacher-dashboard .td-assessment-detail-dialog .td-dialog-head > button { flex-basis: 40px; height: 40px; min-height: 40px; width: 40px; }

body.is-teacher-dashboard .td-assessment-detail-content {
  flex: 1 1 auto;
  max-height: none;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 18px 20px 20px;
}

body.is-teacher-dashboard .td-assessment-detail-message { flex: 0 0 auto; margin: 0; min-height: 0; padding: 10px 20px 13px; }
body.is-teacher-dashboard .td-assessment-detail-message:empty { display: none; }

body.is-teacher-dashboard .td-assessment-detail-grid {
  align-items: start;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(230px, .72fr) minmax(0, 1.45fr);
}

body.is-teacher-dashboard .td-assessment-context { display: grid; gap: 12px; min-width: 0; }
body.is-teacher-dashboard .td-assessment-brief,
body.is-teacher-dashboard .td-answer-key,
body.is-teacher-dashboard .td-assignment-resources,
body.is-teacher-dashboard .td-assessment-responses { border: 1px solid #dce5ed; border-radius: 9px; overflow: hidden; }
body.is-teacher-dashboard .td-assessment-brief { background: #f7f9fb; gap: 6px; padding: 13px 14px; }
body.is-teacher-dashboard .td-assessment-brief > span { color: #526a80; font-size: 11px; letter-spacing: .02em; text-transform: none; }
body.is-teacher-dashboard .td-assessment-brief p { color: #314a61; font-size: 13px; line-height: 1.55; }
body.is-teacher-dashboard .td-draft-notice { font-size: 11px; }

body.is-teacher-dashboard .td-answer-key > summary,
body.is-teacher-dashboard .td-assignment-resources > header,
body.is-teacher-dashboard .td-assessment-responses > header {
  align-items: center;
  border-bottom: 1px solid #e2e8ee;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  min-height: 46px;
  padding: 10px 13px;
}

body.is-teacher-dashboard .td-answer-key > summary { border-bottom: 0; cursor: pointer; list-style: none; }
body.is-teacher-dashboard .td-answer-key[open] > summary { border-bottom: 1px solid #e2e8ee; }
body.is-teacher-dashboard .td-answer-key > summary strong,
body.is-teacher-dashboard .td-assignment-resources > header strong,
body.is-teacher-dashboard .td-assessment-responses > header strong { color: #263e55; font-size: 13px; }
body.is-teacher-dashboard .td-answer-key > summary span,
body.is-teacher-dashboard .td-assignment-resources > header span,
body.is-teacher-dashboard .td-assessment-responses > header span { color: #5f7488; font-size: 11px; }
body.is-teacher-dashboard .td-answer-key > summary svg { fill: none; height: 16px; margin-left: auto; stroke: #61778b; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; transition: transform 150ms ease; width: 16px; }
body.is-teacher-dashboard .td-answer-key[open] > summary svg { transform: rotate(180deg); }
body.is-teacher-dashboard .td-answer-key li { font-size: 12px; padding: 10px 13px; }
body.is-teacher-dashboard .td-answer-key li strong { font-size: 12px; }

body.is-teacher-dashboard .td-assignment-resources > .td-evaluation-files { padding: 10px 12px 0; }
body.is-teacher-dashboard .td-optional-upload { padding: 10px 12px 12px; }
body.is-teacher-dashboard .td-optional-upload > summary,
body.is-teacher-dashboard .td-grade-editor > summary,
body.is-teacher-dashboard .td-review-file-option > summary {
  color: #175f9e;
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
  list-style: none;
  min-height: 40px;
  padding: 10px 0;
}

body.is-teacher-dashboard .td-assignment-resource-form {
  align-items: end;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 4px 0 0 !important;
}
body.is-teacher-dashboard .td-assignment-resource-form input { background: #ffffff; font-size: 11px; padding: 8px; }
body.is-teacher-dashboard .td-assignment-resource-form button { min-height: 40px; }

body.is-teacher-dashboard .td-submission-list { display: grid; }
body.is-teacher-dashboard .td-review-submission { border-bottom: 1px solid #e3e9ef; display: block; gap: 0; margin: 0; padding: 0; }
body.is-teacher-dashboard .td-review-submission:last-child { border-bottom: 0; }
body.is-teacher-dashboard .td-review-submission > details > summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) auto 17px;
  list-style: none;
  min-height: 62px;
  padding: 10px 13px;
}
body.is-teacher-dashboard .td-review-submission.is-pending > details > summary { box-shadow: inset 3px 0 #c07831; }
body.is-teacher-dashboard .td-review-submission > details > summary:hover { background: #f8fafc; }
body.is-teacher-dashboard .td-review-submission > details > summary > span { display: grid; gap: 2px; min-width: 0; }
body.is-teacher-dashboard .td-review-submission > details > summary strong { color: #263e55; font-size: 13px; }
body.is-teacher-dashboard .td-review-submission > details > summary small { color: #617589; font-size: 11px; }
body.is-teacher-dashboard .td-review-submission > details > summary > b { border-radius: 999px; font-size: 11px; padding: 5px 8px; }
body.is-teacher-dashboard .td-review-submission > details > summary > b.is-pending { background: #fff1e5; color: #8c4c1b; }
body.is-teacher-dashboard .td-review-submission > details > summary > b.is-graded { background: #eaf5ef; color: #216548; }
body.is-teacher-dashboard .td-review-submission > details > summary > svg { fill: none; height: 16px; stroke: #657a8e; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; transition: transform 150ms ease; width: 16px; }
body.is-teacher-dashboard .td-review-submission > details[open] > summary > svg { transform: rotate(180deg); }

body.is-teacher-dashboard .td-review-body { background: #fbfcfd; border-top: 1px solid #e5ebf0; display: grid; gap: 12px; padding: 13px; }
body.is-teacher-dashboard .td-written-answer,
body.is-teacher-dashboard .td-published-grade { display: grid; gap: 5px; }
body.is-teacher-dashboard .td-written-answer > span,
body.is-teacher-dashboard .td-published-grade > span,
body.is-teacher-dashboard .td-submitted-files > span,
body.is-teacher-dashboard .td-returned-files > span { color: #4e667b; font-size: 11px; font-weight: 780; }
body.is-teacher-dashboard .td-written-answer p,
body.is-teacher-dashboard .td-published-grade p { color: #344d63; font-size: 12px; line-height: 1.55; margin: 0; }
body.is-teacher-dashboard .td-published-grade { background: #ffffff; border: 1px solid #dfe7ee; border-radius: 7px; padding: 10px 11px; }
body.is-teacher-dashboard .td-review-missing { font-size: 12px; }

body.is-teacher-dashboard .td-review-submission form { border-top: 1px solid #e1e7ed; display: grid; gap: 11px; padding: 12px 0 0 !important; }
body.is-teacher-dashboard .td-review-grade-row { gap: 10px; grid-template-columns: 100px minmax(0, 1fr); }
body.is-teacher-dashboard .td-review-submission form label { font-size: 11px; gap: 6px; }
body.is-teacher-dashboard .td-review-submission form textarea { font-size: 12px; line-height: 1.45; }
body.is-teacher-dashboard .td-review-file-option > summary { align-items: center; display: flex; gap: 6px; width: max-content; }
body.is-teacher-dashboard .td-review-file-option > summary small { color: #687b8d; font-size: 10px; font-weight: 650; }
body.is-teacher-dashboard .td-review-file { padding-top: 4px; }
body.is-teacher-dashboard .td-review-file input { background: #ffffff; font-size: 11px; }
body.is-teacher-dashboard .td-review-file small { font-size: 11px; }
body.is-teacher-dashboard .td-review-submission form > button { font-size: 12px; justify-self: end; min-height: 40px; }
body.is-teacher-dashboard .td-grade-editor { border-top: 1px solid #e0e7ed; }

body.is-teacher-dashboard .td-evaluation-file { padding: 8px 9px; }
body.is-teacher-dashboard .td-evaluation-file > span:first-child strong { font-size: 12px; }
body.is-teacher-dashboard .td-evaluation-file > span:first-child small { font-size: 10px; }
body.is-teacher-dashboard .td-evaluation-file-actions button { font-size: 11px; }
body.is-teacher-dashboard .td-quiz-result strong { font-size: 12px; }
body.is-teacher-dashboard .td-quiz-result small,
body.is-teacher-dashboard .td-quiz-result > details summary,
body.is-teacher-dashboard .td-quiz-result li { font-size: 11px; }

body.is-teacher-dashboard .td-assessment-automation > summary:focus-visible,
body.is-teacher-dashboard .td-answer-key > summary:focus-visible,
body.is-teacher-dashboard .td-review-submission > details > summary:focus-visible {
  outline-offset: -3px;
}

body.is-teacher-dashboard .td-automatic-student strong,
body.is-teacher-dashboard .td-automatic-evidence strong,
body.is-teacher-dashboard .td-automatic-grade strong,
body.is-teacher-dashboard .td-automatic-state strong { font-size: 12px; }

body.is-teacher-dashboard .td-automatic-student small,
body.is-teacher-dashboard .td-automatic-evidence small,
body.is-teacher-dashboard .td-automatic-grade small,
body.is-teacher-dashboard .td-automatic-state small,
body.is-teacher-dashboard .td-automatic-unlinked-note { font-size: 11px; }

@media (max-width: 720px) {
  body.is-teacher-dashboard .td-assessment-toolbar { align-items: stretch; gap: 10px; }
  body.is-teacher-dashboard .td-assessment-heading { align-items: center; display: flex; min-width: 0; }
  body.is-teacher-dashboard .td-assessment-heading p { font-size: 12px; }
  body.is-teacher-dashboard .td-new-assessment > summary { min-height: 44px; padding-left: 11px; padding-right: 11px; }
  body.is-teacher-dashboard .td-new-assessment > div { max-width: calc(100vw - 30px); min-width: min(290px, calc(100vw - 30px)); }
  body.is-teacher-dashboard .td-new-assessment > div button { min-height: 60px; }
  body.is-teacher-dashboard .td-evaluation-row { grid-template-columns: 36px minmax(0, 1fr) 16px; min-height: 84px; padding: 11px 12px; }
  body.is-teacher-dashboard .td-evaluation-kind { height: 36px; width: 36px; }
  body.is-teacher-dashboard .td-evaluation-state { grid-column: 2; grid-row: 2; justify-self: start; }
  body.is-teacher-dashboard .td-evaluation-row > svg { grid-column: 3; grid-row: 1 / 3; }
  body.is-teacher-dashboard .td-assessment-automation > summary { grid-template-columns: 34px minmax(0, 1fr) 17px; }
  body.is-teacher-dashboard .td-automatic-certificate-row { grid-template-columns: minmax(0, 1fr) auto; }

  body.is-teacher-dashboard .td-assessment-detail-dialog { height: 100dvh; margin: 0; max-height: 100dvh; max-width: 100vw; width: 100vw; }
  body.is-teacher-dashboard .td-assessment-detail-dialog[open] { animation: none; }
  body.is-teacher-dashboard .td-assessment-detail-dialog .td-dialog-shell { border: 0; border-radius: 0; max-height: 100dvh; min-height: 100dvh; }
  body.is-teacher-dashboard .td-assessment-detail-dialog .td-dialog-head { padding: 15px 16px 13px; }
  body.is-teacher-dashboard .td-assessment-detail-dialog .td-dialog-head > button { flex-basis: 44px; height: 44px; min-height: 44px; width: 44px; }
  body.is-teacher-dashboard .td-assessment-detail-content { max-height: none; padding: 14px; }
  body.is-teacher-dashboard .td-assessment-detail-grid { grid-template-columns: minmax(0, 1fr); }
  body.is-teacher-dashboard .td-assessment-responses { grid-row: 1; }
  body.is-teacher-dashboard .td-assessment-context { gap: 10px; grid-row: 2; }
  body.is-teacher-dashboard .td-assessment-detail-message { padding-left: 14px; padding-right: 14px; }
  body.is-teacher-dashboard .td-assignment-resource-form,
  body.is-teacher-dashboard .td-review-grade-row { grid-template-columns: minmax(0, 1fr); }
  body.is-teacher-dashboard .td-assignment-resource-form button,
  body.is-teacher-dashboard .td-review-submission form > button { justify-self: stretch; min-height: 44px; width: 100%; }
  body.is-teacher-dashboard .td-optional-upload > summary,
  body.is-teacher-dashboard .td-grade-editor > summary,
  body.is-teacher-dashboard .td-review-file-option > summary { min-height: 44px; }
  body.is-teacher-dashboard .td-review-submission > details > summary { min-height: 64px; padding: 10px 12px; }
  body.is-teacher-dashboard .td-evaluation-file-actions button { min-height: 44px; }
  body.is-teacher-dashboard .td-assessment-detail-dialog input { min-height: 44px; }
}
