:root{
  --card: #ffffff;
  --ink: #0e1e2a;
  --muted: #5b6b78;
  --line: #22404d;
  --ring: rgba(14, 30, 42, .06);
  --radius: 8px;
}

.schedule-card{
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: clamp(16px, 2.2vw, 24px);
  box-shadow: 0 6px 20px var(--ring);
}

.schedule-card__head{
  display:flex; align-items:center; gap:12px; justify-content:space-between;
  margin-bottom: 6px;
}
.schedule-card h3{
  font-size: clamp(18px, 2vw, 22px);
  margin: 0;
  color: var(--ink);
}
.badge{
  display:inline-block;
  font-size: 12px; font-weight: 600; letter-spacing:.2px;
  border: 1px solid rgba(26,162,176,.25);
  background: rgba(26,162,176,.12);
  padding: 6px 10px; white-space: nowrap;
}

.lead{ color: var(--muted); margin: 6px 0 12px; }

.timeline{ list-style:none; margin: 10px 0 0; padding: 0; position: relative; }
.timeline li{
  position: relative; padding: 0 0 14px 26px; margin: 0;
}
.timeline li:last-child{ padding-bottom: 0; }
.timeline li::before{
  content:""; position:absolute; left:9px; top:4px; width:10px; height:10px;
  background: #088594; border-radius:50%;
}
.timeline li::after{
  content:""; position:absolute; left:13px; top:14px; bottom:-2px; width:2px; background: var(--line);
}
.timeline li:last-child::after{ display:none; }

.timeline .when{
  font-weight: 700; font-size: 14px; color: var(--ink); line-height:1.2;
}
.timeline .what{
  color: var(--muted); font-size: 14px; margin-top: 2px;
}
