/* MENG 366 Schedule Bridge v1.0.6
   Exact v4.5.1 table geometry + section/month navigator. */
.meng366-embedded-schedule{font-family:inherit;color:#2c3e50;max-width:100%}
.meng366-embedded-schedule *{box-sizing:border-box}
.meng366-embedded-schedule .meng366-embed-heading{text-align:center;margin:6px 0 16px}
.meng366-embedded-schedule .meng366-embed-heading h4,
.meng366-embedded-schedule .meng366-section h5{color:#2c3e50;margin:6px 0 14px;text-align:center}
.meng366-embedded-schedule .meng366-embed-heading p{margin:0 0 10px;color:#566573}
.meng366-embedded-schedule .meng366-section{margin-bottom:20px}
.meng366-embedded-schedule h6{margin:10px 0 8px;color:#1f618d;font-weight:800}

/* ===== Viewer Controls ===== */
.meng366-embedded-schedule .meng366-view-controls{
  display:flex;flex-direction:column;align-items:center;gap:10px;
  margin:10px 0 18px;padding:12px;border:1px solid rgba(44,62,80,.12);
  border-radius:14px;background:#fbfcfd
}
.meng366-embedded-schedule .meng366-section-tabs{display:flex;gap:8px;justify-content:center}
.meng366-embedded-schedule .meng366-section-tab{
  appearance:none;border:1px solid #d7e0e8;background:#fff;color:#34495e;
  font-weight:900;font-size:13px;padding:8px 22px;border-radius:999px;cursor:pointer
}
.meng366-embedded-schedule .meng366-section-tab.is-active{
  background:var(--m366-header,#34495e);color:#fff;border-color:#34495e
}
.meng366-embedded-schedule .meng366-month-nav{
  display:grid;grid-template-columns:42px minmax(180px,1fr) 42px;
  align-items:center;gap:8px;width:min(100%,360px)
}
.meng366-embedded-schedule .meng366-nav-btn{
  appearance:none;width:42px;height:38px;border:1px solid #d7e0e8;border-radius:10px;
  background:#fff;color:#34495e;font-size:25px;line-height:1;cursor:pointer
}
.meng366-embedded-schedule .meng366-nav-btn:disabled{opacity:.3;cursor:default}
.meng366-embedded-schedule .meng366-month-label{text-align:center;font-weight:900;color:#1f618d;font-size:15px}

/* ===== Table Base — same geometry as schedule-block.html v4.5.1 ===== */
.meng366-embedded-schedule .csTable{
  width:100%!important;border-collapse:collapse!important;table-layout:auto!important;
  margin-bottom:18px!important;box-shadow:0 2px 8px rgba(0,0,0,0.10)!important;background:#fff!important
}
.meng366-embedded-schedule .csScroll{width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
.meng366-embedded-schedule .headRow{background:var(--m366-header,#34495e)!important;color:#fff!important}
.meng366-embedded-schedule .csTable th{
  font-size:var(--m366-header-font,13px)!important;padding:10px 8px!important;text-align:center!important;white-space:nowrap!important;
  color:#fff!important;background:var(--m366-header,#34495e)!important;border:0!important
}
.meng366-embedded-schedule .csTable td{
  font-size:var(--m366-cell-font,12px)!important;text-align:center!important;vertical-align:top!important;
  padding:8px 4px!important;line-height:1.25!important;border:1px solid rgba(0,0,0,0.06)!important;
  width:auto!important;min-width:0!important;background-clip:padding-box
}
.meng366-embedded-schedule .topicCol{
  text-align:left!important;vertical-align:middle!important;font-weight:800!important;color:#2c3e50!important;
  min-width:var(--m366-topic-width,200px)!important;width:var(--m366-topic-width,200px)!important;word-wrap:break-word!important;overflow-wrap:break-word!important
}
.meng366-embedded-schedule .outside{background:#fff!important}

/* ===== Study-Day Styling ===== */
.meng366-embedded-schedule .lecDay{background:var(--m366-lec-bg,#E7F0FF)!important;color:var(--m366-lec-text,#0B3D91)!important;font-weight:900!important;border:1px solid rgba(11,61,145,.18)!important}
.meng366-embedded-schedule .preDay{background:var(--m366-pre-bg,#F3E8FF)!important;color:var(--m366-pre-text,#5B21B6)!important;font-weight:900!important;border:1px solid rgba(91,33,182,.18)!important}
.meng366-embedded-schedule .quizDay{background:var(--m366-quiz-bg,#FFF4D6)!important;color:var(--m366-quiz-text,#92400E)!important;font-weight:900!important;border:1px solid rgba(146,64,14,.22)!important}

/* L#/P#/Q# badges — stacked under date; dynamic time hidden to match v4.5.1 */
.meng366-embedded-schedule .evs{margin-top:5px;display:flex!important;flex-direction:column!important;align-items:center!important;gap:2px!important}
.meng366-embedded-schedule .badge{
  display:inline-block!important;font-size:9px!important;font-weight:900!important;line-height:1.5!important;
  padding:0 6px!important;border-radius:999px!important;background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(0,0,0,.10)!important;white-space:nowrap!important
}
.meng366-embedded-schedule .badge small{display:none!important}

/* ===== Holidays ===== */
.meng366-embedded-schedule .holidayCell{background:var(--m366-holiday-bg,#16A34A)!important;color:var(--m366-holiday-text,#fff)!important;font-weight:900!important}
.meng366-embedded-schedule .breakCell{background:var(--m366-break-bg,#DCEEFF)!important;color:var(--m366-break-text,#0B3D91)!important;font-weight:900!important}
.meng366-embedded-schedule .examCell{background:var(--m366-exam-bg,#A0D8FF)!important;color:var(--m366-exam-text,#0B3D91)!important;font-weight:900!important}
/* Keep holiday cells visually clean: date + color only (e.g. Saudi National Day). */
.meng366-embedded-schedule .holidayName{display:none!important}

/* ===== Legend ===== */
.meng366-embedded-schedule .legendBox{
  margin-top:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(44,62,80,.15);
  background:#FBFCFC;font-size:12.5px;line-height:1.7;box-shadow:0 2px 8px rgba(0,0,0,0.06)
}
.meng366-embedded-schedule .legendBadge{
  display:inline-block;padding:4px 10px;border-radius:999px;font-weight:900;font-size:11px;
  margin:2px 6px 2px 0;border:1px solid rgba(0,0,0,.12)
}
.meng366-embedded-schedule .bL{background:#E7F0FF;color:#0B3D91}
.meng366-embedded-schedule .bP{background:#F3E8FF;color:#5B21B6}
.meng366-embedded-schedule .bQ{background:#FFF4D6;color:#92400E}
.meng366-embedded-schedule .bH{background:#16A34A;color:#fff}
.meng366-embedded-schedule .bE{background:#DCEEFF;color:#0B3D91}
.meng366-embedded-schedule .bX{background:#A0D8FF;color:#0B3D91}
.meng366-embedded-schedule .smallNote{color:#566573;font-size:12.5px;margin-top:6px}
.meng366-embedded-schedule .meng366-revision{text-align:center;color:#6b7c8f;font-size:11px;margin:14px 0 4px}
.meng366-schedule-unavailable{padding:14px;border:1px solid #e5b8b8;background:#fff4f4;color:#8a1f1f;border-radius:10px}

/* Mobile: keep the exact 8-column geometry; scroll horizontally if needed. */
@media(max-width:700px){
  .meng366-embedded-schedule .meng366-embed-heading h4{font-size:18px;line-height:1.35}
  .meng366-embedded-schedule .meng366-section h5{font-size:16px;line-height:1.35}
  .meng366-embedded-schedule .meng366-view-controls{padding:10px 8px;margin-bottom:14px}
  .meng366-embedded-schedule .meng366-section-tab{padding:7px 20px}
  .meng366-embedded-schedule .csTable{min-width:var(--m366-mobile-min,640px)!important}
  .meng366-embedded-schedule .csTable th{font-size:var(--m366-cell-font,12px)!important;padding:9px 6px!important}
  .meng366-embedded-schedule .csTable td{font-size:var(--m366-cell-font,11px)!important;padding:7px 4px!important}
  .meng366-embedded-schedule .topicCol{min-width:var(--m366-topic-width,200px)!important;width:var(--m366-topic-width,200px)!important}
}

@media print{
  .meng366-embedded-schedule .meng366-view-controls{display:none!important}
  .meng366-embedded-schedule .meng366-section{display:block!important}
  .meng366-embedded-schedule .csScroll{display:block!important;overflow:visible!important}
  .meng366-embedded-schedule h6{display:block!important}
  .meng366-embedded-schedule .csTable{min-width:0!important;box-shadow:none!important;page-break-inside:avoid}
  .meng366-embedded-schedule .legendBox{box-shadow:none}
}


/* ===== Compact course legend =====
   Student-facing legend is intentionally limited to the three academic event codes. */
.meng366-embedded-schedule .legendBox.meng366-compact-legend{
  margin:10px 0 0!important;
  padding:7px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  color:#566573!important;
  font-size:12px!important;
  line-height:1.4!important;
}
.meng366-embedded-schedule .meng366-legend-token{white-space:nowrap!important}
.meng366-embedded-schedule .meng366-legend-token strong{color:#2c3e50!important;font-weight:900!important}
.meng366-embedded-schedule .meng366-legend-sep{color:#9aa6b2!important;font-weight:700!important}
@media(max-width:700px){
  .meng366-embedded-schedule .legendBox.meng366-compact-legend{font-size:11.5px!important;gap:6px!important}
}
