/* Live class timetable (learner hub and tutor page) */
[hidden]{display:none!important}
.tt-day{margin-bottom:22px}
.tt-day h3{font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#8a5d10;margin:0 0 10px}
.tt-day h3 .today{background:var(--navy);color:#fff;border-radius:999px;padding:3px 10px;margin-left:8px;letter-spacing:.08em}
.tt-list{display:flex;flex-direction:column;gap:10px}
.tt-row{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:16px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px 16px}
.tt-row.live{border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,146,46,.18)}
.tt-time b{display:block;font-size:1.15rem;font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums}
.tt-time span{font-size:.8rem;color:var(--muted)}
.tt-what b{color:var(--navy);display:block}
.tt-what span{font-size:.86rem;color:var(--muted)}
.tt-act{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.tt-act .state{font-size:.8rem;color:var(--muted);white-space:nowrap}
.tt-act .btn{white-space:nowrap}
.tt-act .locked{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.85rem;color:var(--muted);border:2px dashed var(--line);border-radius:999px;padding:9px 16px;white-space:nowrap}
.tt-dot{width:9px;height:9px;border-radius:50%;background:#d64535;display:inline-block;animation:ttpulse 1.4s infinite}
@keyframes ttpulse{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.tt-dot{animation:none}}
.tt-empty{background:var(--paper);border:1px dashed var(--line);border-radius:16px;padding:22px;color:var(--muted);text-align:center}
@media(max-width:620px){
  .tt-row{grid-template-columns:72px minmax(0,1fr)}
  .tt-act{grid-column:1 / -1;flex-direction:row;justify-content:space-between;align-items:center}
}
