.page-title { font-weight:700; }
.schedule-card { border:0; border-radius:16px; box-shadow:0 8px 24px rgba(0,0,0,.06); }
table.schedule { min-width:960px; }
table.schedule th, table.schedule td{
  text-align:center; vertical-align:middle; border:1px solid #e8e8ef; padding:.65rem
}
table.schedule thead th{ background:#fafbff; font-weight:700; }
td.cell{ cursor:pointer; user-select:none; min-width:130px; height:64px; font-weight:700; letter-spacing:.2px }
.color-swatch{ width:34px; height:34px; border-radius:10px; border:2px solid #fff; box-shadow:0 0 0 2px #e5e7eb; cursor:pointer }
.color-swatch.active{ box-shadow:0 0 0 2px #0d6efd }
.control-wrap{ gap:.5rem; flex-wrap:wrap }
.nowrap{ white-space:nowrap }
.btn-soft{ background:#f1f5ff; border:1px solid #dde7ff }
.note{ font-size:.9rem; color:#6b7280 }
.time-pill{ background:#eef2ff; border:1px solid #e2e8f0; border-radius:999px; padding:.15rem .55rem; font-size:.85rem }
@media (max-width: 992px){ .table-responsive{ overflow-x:auto } }
