/* Classroom visual refresh. Player, access and broadcast controls retain their existing behavior. */
body { background: #f5f8fd !important; }
.live-main-container { max-width: 1320px; padding: 2rem 1.5rem 4rem; }
.multi-live-hub-header { gap: 1.2rem; margin-bottom: 1.2rem; }
.live-hub-title { flex-wrap: wrap; gap: .7rem; }
.live-hub-title h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1.1; letter-spacing: -.04em; }
.live-title-accent { color: #227aff; }
.live-filter-pills { border-color: #e5edf8; border-radius: 12px; box-shadow: 0 5px 20px rgba(31, 69, 120, .04); }
.live-filter-btn { min-height: 40px; white-space: nowrap; }
.live-streams-grid { gap: 1rem; }
.stream-card, .broadcast-info-card, .live-chat-card, .live-control-deck { border-color: #e5edf8; border-radius: 18px; box-shadow: 0 10px 35px rgba(31, 69, 120, .045); }
.stream-card { padding: 1.15rem; }
.stream-card-title, .broadcast-main-topic, .chat-header h3 { font-family: Outfit, Inter, sans-serif; }
.stream-card-title { font-size: 1.05rem; }
.video-player-container { border: 0; border-radius: 18px; box-shadow: 0 12px 35px rgba(14, 40, 78, .14); }
.broadcast-info-card { padding: 1.5rem; }
.broadcast-main-topic { letter-spacing: -.025em; }
.live-chat-card { height: 660px; }
.chat-header { background: #fff; padding: 1.3rem; }
.chat-header h3 { font-size: 1.15rem; }
.chat-pinned-banner { background: #f2f7ff; border-color: #e5effc; color: #496b98; }
.chat-messages-container { padding: 1.2rem; }
.chat-input-field { min-height: 44px; }
.live-filter-btn:focus-visible, .btn-live-schedule:focus-visible, .chat-send-btn:focus-visible, .player-btn:focus-visible { outline: 3px solid #9ac3ff; outline-offset: 2px; }
@media (max-width: 1200px) { .live-chat-card { height: 520px; } }
@media (max-width: 640px) {
  .live-main-container { padding: 1.2rem 1rem 3rem; }
  .live-hub-title h2 { font-size: 1.9rem; }
  .live-filter-controls-row { gap: .7rem; }
  .live-filter-pills { width: 100%; }
  .live-streams-grid { grid-template-columns: minmax(0, 1fr); gap: .65rem; }
  .stream-card { padding: .9rem 1rem; }
  .live-theater-grid { gap: .85rem; }
  .video-stage-wrapper { gap: .75rem; min-width: 0; }
  .video-player-container, .broadcast-info-card, .live-chat-card { border-radius: 15px; }
  .broadcast-info-card { padding: 1.1rem; }
  .live-chat-card { height: 480px; }
  .chat-header { padding: 1.1rem; }
  .chat-messages-container { padding: 1rem; }
}


#topLiveStatusBadge, #totalStreamsCounter { display: none !important; }

/* Keep scheduling available to staff and hide the empty classroom controls. */
.live-hub-title, .live-filter-pills { display: none !important; }
.multi-live-hub-header:has(#btnOpenScheduleModal[style*="display: none"]) { display: none !important; }
.live-streams-grid:empty { display: none; }

body.live-page-loading .live-theater-grid { visibility: hidden; }
body.live-page-loading .live-main-container::after { content: "Loading your classroom…"; display: block; position: absolute; top: 14rem; left: 0; right: 0; text-align: center; color: #71839b; font-weight: 600; }

.zoom-join-screen { gap: 0.75rem; padding: 2rem; }
.zoom-join-screen h2, .zoom-join-screen p { margin: 0; }
.zoom-join-screen h2 { color: #f8fafc; }
.zoom-join-screen p { color: #cbd5e1; }
.zoom-join-screen p { max-width: 28rem; line-height: 1.5; }
.zoom-join-icon { display: grid; place-items: center; width: 3.5rem; height: 3.5rem; border-radius: 1rem; background: #2d8cff; color: white; font-size: 1.35rem; }
.zoom-join-button { margin-top: .5rem; background: #2d8cff; transition: transform 180ms ease-out, opacity 180ms ease-out; }
.zoom-join-button:disabled { opacity: .65; cursor: wait; }
.zoom-join-button:focus-visible { outline: 3px solid white; outline-offset: 3px; }
.zoom-field-hint { color: #64748b; font-size: .8rem; line-height: 1.5; margin: .5rem 0 0; }
@media (hover: hover) { .zoom-join-button:hover:not(:disabled) { transform: translateY(-2px); } }
@media (prefers-reduced-motion: reduce) { .zoom-join-button { transition: none; } .zoom-join-button:hover:not(:disabled) { transform: none; } }

/* Access errors need room for their explanation and recovery actions on phones. */
.video-player-container.live-access-denied { aspect-ratio: auto; min-height: 390px; }
.live-access-denied #liveClassLockedScreen { position: relative; min-height: 390px; padding: 1.5rem; }
.live-access-denied #liveClassLockedScreen > div:first-child,
.live-access-denied #liveClassLockedScreen > span,
.live-access-denied #lockedCourseFeeBadge,
.live-access-denied #lockedCourseFeeBadge + p { display: none !important; }
.live-access-denied #lockedCourseTitle { margin-top: 0 !important; }
.live-access-denied #lockedLecturerSubtitle { color: #cbd5e1 !important; line-height: 1.6; max-width: 55ch; }
.live-access-denied #btnLockedEnrollNow { white-space: normal; text-align: center; }
