/* Horario de clase: se usa en la app y en la página que genera el PDF/imagen */
.horario { width:100%; border-collapse:separate; border-spacing:2px; table-layout:fixed; font-size:12px; }
.horario th { font-weight:700; font-size:12px; color:var(--mut, #6e6e73); padding:4px 0; }
.horario thead th.h-hoy { color:#fff; background:var(--ac, #007aff); border-radius:8px; }
.horario .h-n { width:14px; font-size:11px; }
.horario td { padding:0; }
.horario tbody tr:not(.h-sep) td { height:46px; }
.h-cl { height:100%; min-height:46px; box-sizing:border-box; padding:5px 2px 5px 5px; border-radius:7px; border-left:3px solid var(--c);
  background:color-mix(in srgb, var(--c) 16%, transparent); display:flex; flex-direction:column; justify-content:center; gap:1px; overflow:hidden; }
.h-cl b { font-size:10.5px; line-height:1.15; letter-spacing:-.02em; }
.h-corto { display:none; }
@media (max-width:519px) { .h-largo { display:none; } .h-corto { display:inline; } }
.h-cl small { font-size:10px; opacity:.7; white-space:nowrap; }
.h-libre { background:color-mix(in srgb, currentColor 4%, transparent); border-radius:8px; }
.h-sep td { height:auto; padding:3px 0; font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; text-align:center; color:var(--mut, #6e6e73); }
.h-mod { width:100%; border-collapse:collapse; font-size:13px; }
.h-mod th { text-align:left; font-size:11.5px; text-transform:uppercase; letter-spacing:.04em; color:var(--mut, #6e6e73); padding:6px 8px; }
.h-mod td { padding:8px; border-top:.5px solid var(--sep, rgba(60,60,67,.2)); }
.h-mod .h-num { text-align:center; }
.h-mod .h-total td { font-weight:700; }
@media (min-width:520px) { .horario { border-spacing:3px; } .h-cl { padding:5px 4px 5px 6px; } .horario, .horario th { font-size:13px; } .h-cl b { font-size:13px; } .h-cl small { font-size:11.5px; } .horario tbody tr:not(.h-sep) td, .h-cl { min-height:54px; height:54px; } }
