/* Cronograma y forma de calificación (página de alumnos y ventana del docente). */
.plan h2 { font-size: 22px; margin: 30px 0 10px; color: var(--acento); }
.plan p, .plan li { font-size: 16.5px; }
.plan li { margin-bottom: 6px; }
.plan-resumen { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 16px 0 6px; }
.plan-resumen .caja-g { background: var(--fondo-2); border: 1px solid var(--borde); border-radius: 12px; padding: 14px 18px; }
.plan-resumen .caja-g.acento { border-color: var(--acento); }
.plan-resumen b { display: block; font: 700 32px var(--fuente-titulo); color: var(--acento); }
.plan-resumen strong { display: block; margin: 2px 0 4px; }
.plan-resumen span { color: var(--texto-2); font-size: 15px; }
.plan-scroll { overflow-x: auto; }
.plan-tabla { width: 100%; border-collapse: collapse; font-size: 15.5px; margin: 6px 0; }
.plan-tabla th, .plan-tabla td { border: 1px solid var(--borde); padding: 8px 10px; text-align: left; vertical-align: top; }
.plan-tabla th { background: var(--fondo-3); white-space: nowrap; }
.plan-tabla td.pts { text-align: right; white-space: nowrap; font-weight: 700; }
.plan-tabla td.plan-acum { text-align: right; white-space: nowrap; font-weight: 700; color: var(--acento); }
.plan-tabla tr.plan-sesion td { border-top: 2px solid var(--borde); }
.plan-tabla tr.plan-libre td { color: var(--texto-3); font-style: italic; }
.plan-tabla tr.plan-trabajo-final .etiqueta { color: var(--acento); }
.plan-tabla tr.plan-evaluación .etiqueta { color: var(--ambar); }
.plan-tabla .etiqueta { font-size: 12px; }
.plan-avance { font-size: 13px; color: var(--azul); }
.plan-avance.cerrada { color: var(--rojo); }
@media (max-width: 760px) { .plan-resumen { grid-template-columns: 1fr; } }

/* Ventana del docente */
.barra-plan { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 4px 0 14px; }
.barra-plan .nota { color: var(--texto-3); font-size: 14px; margin-left: auto; }
body.presentacion .barra-plan, body.presentacion .solo-docente, body.presentacion .cabecera .derecha { display: none; }
body.presentacion .pagina { max-width: 1500px; }
body.presentacion .plan p, body.presentacion .plan li, body.presentacion .plan-tabla { font-size: 19px; }
body.presentacion .plan h2 { font-size: 28px; }
@media print {
  :root { --fondo: #fff; --fondo-2: #f5f7fa; --fondo-3: #e9eef5; --borde: #b8c4d4; --texto: #111; --texto-2: #444; --texto-3: #666; --acento: #2b5d00; }
  body { background: #fff; color: #111; }
  .barra-plan, .solo-docente, .cabecera .derecha, .imprimir { display: none; }
  .plan-tabla { break-inside: auto; }
  .plan-tabla tr { break-inside: avoid; }
  .plan h2 { break-after: avoid; }
}
