/* Computational Finance & FinTech course additions.
   The layout and typography come from /css/course-ml.css; this file sets the
   course identity and the few structures specific to an eight-day syllabus. */

:root[data-course="computationalfinance"]{
  --accent:#145b52;
  --accent-strong:#0b3e38;
  --accent-soft:#e5f0ed;
  --accent-hair:rgba(20,91,82,.4);
}

table.schedule td.focus{white-space:normal}

.week-label{
  display:flex;align-items:center;gap:.65rem;
  margin:1.8rem 0 .35rem;padding-bottom:.5rem;
  border-bottom:1px solid var(--accent-hair);
  font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--accent-strong);font-weight:500;
}
.week-label::before{content:"";width:22px;height:2px;background:var(--accent);border-radius:2px}
.week-label.first{margin-top:.35rem}

.course-route{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.65rem;margin:.4rem 0 1rem;
}
.route-step{
  min-width:0;padding:.85rem .85rem .9rem;border:1px solid var(--line-strong);
  border-top:3px solid var(--accent);border-radius:0 0 5px 5px;background:#fff;
}
.route-step .n{
  display:block;margin-bottom:.35rem;font-family:var(--mono);font-size:.62rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--accent);
}
.route-step .t{display:block;font-family:var(--serif);font-size:1rem;font-weight:600;line-height:1.28}
.route-step .d{display:block;margin-top:.25rem;font-size:.82rem;line-height:1.45;color:var(--ink-soft)}

.session .question{
  margin-top:.7rem;padding:.68rem .85rem;border-left:2px solid var(--accent);
  border-radius:0 3px 3px 0;background:var(--accent-soft);
  font-size:.92rem;line-height:1.5;color:var(--ink);
}
.session .question b{color:var(--accent-strong)}
.session .computational{
  margin-top:.55rem;font-family:var(--mono);font-size:.78rem;line-height:1.55;
  color:var(--ink-soft);
}
.session .computational b{
  color:var(--accent);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;
}

.reading-group{margin-top:1.55rem}
.reading-group h3{
  margin:0 0 .75rem;font-family:var(--serif);font-size:1.08rem;font-weight:600;
  color:var(--ink);
}
.reading-group h3 span{
  margin-left:.45rem;font-family:var(--mono);font-size:.58rem;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);
}

.daycard .mat-row{margin-top:.85rem}
.daycard .dc-summary{margin-bottom:.2rem}
.daycard .source-line{
  margin-top:.7rem;font-family:var(--mono);font-size:.68rem;line-height:1.5;
  color:var(--ink-faint);
}
.daycard.data-only{border-left-color:var(--warn)}
.daycard.data-only .m-num{background:var(--warn-soft);color:var(--warn)}

.workflow{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:.6rem 0 1rem;
  counter-reset:workflow;
}
.workflow div{
  position:relative;min-width:0;padding:1rem .85rem .85rem;border:1px solid var(--line);
  border-radius:5px;background:var(--paper);
}
.workflow div::before{
  counter-increment:workflow;content:counter(workflow);
  display:grid;place-items:center;width:1.45rem;height:1.45rem;margin-bottom:.5rem;
  border-radius:50%;background:var(--accent);color:#fff;
  font-family:var(--mono);font-size:.68rem;font-weight:600;
}
.workflow b{display:block;font-family:var(--serif);font-size:.94rem;margin-bottom:.2rem}
.workflow span{display:block;font-size:.8rem;line-height:1.45;color:var(--ink-soft)}

@media (max-width:760px){
  .course-route,.workflow{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:460px){
  .course-route,.workflow{grid-template-columns:1fr}
}
