/* Scheduler module styles (Polish 17). */
.sched-heatmap { border-collapse: collapse; font-size: 10px; }
.sched-heatmap th, .sched-heatmap td { width: 13px; height: 13px; text-align: center; }
.sched-heatmap th.tick { color: #888; font-weight: 400; }
.sched-heatmap td.dow { width: 2.4rem; text-align: left; color: #555; font-weight: 600; padding-right: 4px; }
.sched-heatmap td.cell { border: 1px solid #eef0f2; background: #f8f9fa; }
.sched-heatmap td.cell.open { background: var(--bs-primary, #0d6efd); border-color: var(--bs-primary, #0d6efd); }

.sched-day:last-child { border-bottom: none !important; }

/* public booking page */
.sched-slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 8px; }
.sched-slot { padding: 10px 8px; text-align: center; border: 1px solid var(--bs-primary, #0d6efd); border-radius: 6px;
  background: #fff; color: var(--bs-primary, #0d6efd); cursor: pointer; font-weight: 600; }
.sched-slot:hover { background: var(--bs-primary, #0d6efd); color: #fff; }
.sched-slot[disabled], .sched-slot.full { opacity: .4; cursor: not-allowed; }
.sched-book-wrap { max-width: 760px; margin: 0 auto; }
.sched-tz-note { font-size: 13px; color: #555; }
.sched-daynav button.active { background: var(--bs-primary, #0d6efd); color: #fff; }

/* ---- Week grid (Bookings tab) --------------------------------------------
 * Rows are times, columns are days. The three cell states must be tellable
 * apart at a glance AND without relying on colour alone — a booked cell also
 * carries a label, and closed cells are visibly inset rather than just paler. */
.sched-week { table-layout: fixed; }
.sched-week th, .sched-week td { padding: 2px 4px; vertical-align: top; }
.sched-week-time { width: 62px; white-space: nowrap; text-align: right; }
.sched-week-today { background: rgba(13, 110, 253, .06); }
.sched-week td { height: 34px; }
.sched-cell-open   { background: rgba(25, 135, 84, .10); }
.sched-cell-booked { background: rgba(13, 110, 253, .14); }
.sched-cell-closed { background: repeating-linear-gradient(45deg, transparent, transparent 4px, rgba(0,0,0,.035) 4px, rgba(0,0,0,.035) 8px); }
.sched-week-bk {
  display: block; width: 100%; border: 0; border-radius: 3px;
  background: #0d6efd; color: #fff; font-size: 11px; line-height: 1.3;
  padding: 3px 5px; text-align: left; cursor: pointer;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.sched-week-bk:hover { background: #0b5ed7; }
.sched-key { display: inline-block; width: 14px; height: 14px; border-radius: 3px; vertical-align: -2px; }

/* admin: calendar list, edit page, availability + assignees tabs */
.sched-link-box { max-width: 320px; }
.sched-url-label { min-width: 96px; }
.sched-assignee-pick { max-width: 340px; }
.sched-dow { width: 7rem; }
.sched-window .sched-start, .sched-window .sched-end { width: 8rem; }
.sched-override .sched-ov-date { width: 11rem; }
