/* Multi-doctor Scheduling — /solutions/multi-doctor-scheduling/
   Page-only styles. Builds on style.css tokens and components. */

/* Hero: weekly roster window ----------------------------------------------- */
.ms-collage {
  position: relative;
  width: min(100%, 548px);
  margin-inline: auto;
  padding-top: 46px;
}
.ms-roster { width: 100%; }

.ms-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 12px 10px;
}
.ms-legend { display: flex; flex-wrap: wrap; gap: 6px 12px; }
.ms-key {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--muted);
}
.ms-key::before { content: ""; width: 10px; height: 10px; border-radius: 3px; background: var(--kc); }
.ms-key--opd { --kc: var(--brand); }
.ms-key--er { --kc: var(--danger); }
.ms-key--call { --kc: var(--info); }
.ms-key--leave { --kc: var(--warn); }

.ms-grid {
  display: grid;
  grid-template-columns: 100px repeat(6, minmax(0, 1fr));
  gap: 4px;
  padding: 0 12px 12px;
}
.ms-grid__corner,
.ms-grid__day {
  padding: 4px 2px;
  font-family: var(--font-mono);
  font-size: 10.5px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--soft);
}
.ms-grid__day { text-align: center; }
.ms-doc { display: grid; align-content: center; min-width: 0; line-height: 1.25; }
.ms-doc b { overflow: hidden; font-size: 11.5px; color: var(--ink); white-space: nowrap; text-overflow: ellipsis; }
.ms-doc small { font-size: 10.5px; color: var(--muted); }

.ms-cell {
  position: relative;
  display: grid;
  align-content: center;
  min-width: 0;
  min-height: 38px;
  padding: 4px 6px;
  border-left: 2px solid transparent;
  border-radius: 6px;
  font-size: 10.5px;
  line-height: 1.25;
  white-space: nowrap;
}
.ms-cell b { font-weight: 600; }
.ms-cell small { font-size: 10px; opacity: .85; }
.ms-cell--opd { border-left-color: var(--brand); background: var(--brand-tint); color: var(--brand-deep); }
.ms-cell--er { border-left-color: var(--danger); background: var(--danger-tint); color: var(--danger); }
.ms-cell--call { border-left-color: var(--info); background: var(--info-tint); color: var(--info); }
.ms-cell--leave {
  border-left-color: var(--warn);
  background: repeating-linear-gradient(135deg, var(--warn-tint) 0 6px, var(--surface) 6px 11px);
  color: var(--warn);
}
.ms-cell--off { background: var(--bg); color: var(--soft); }
.ms-cell--fixed { box-shadow: 0 0 0 2px var(--brand); }
.ms-cell--fixed .icon {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--surface);
  color: var(--brand-strong);
  stroke-width: 2.25;
}

.ms-toast {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 12px 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--ink);
  font-size: 12px;
  line-height: 1.45;
  color: var(--night-text);
}
.ms-toast > .icon { width: 16px; height: 16px; margin-top: 1px; color: var(--mint); }
.ms-toast b { color: #fff; }

.ms-chip-sync { position: absolute; top: 0; right: 14px; z-index: 3; }

/* Hide Fri and Sat on small screens (each grid row has 7 cells) */
@media (max-width: 639px) {
  .ms-collage { padding-top: 0; }
  .ms-grid { grid-template-columns: 88px repeat(4, minmax(0, 1fr)); }
  .ms-grid > :nth-child(7n + 6),
  .ms-grid > :nth-child(7n) { display: none; }
  .ms-chip-sync { position: relative; inset: auto; margin: 12px auto 0; width: fit-content; }
}
