
/* partner-schedule.css */
.ps-grid {
  --ps-col-width: 115px;
  --ps-time-width: 70px;
  --ps-cell-pad: 6px;
  overflow: auto;
}
.ps-grid .hdr, .ps-grid .cell, .ps-grid .time {
  border-bottom: 1px solid #eee;
  border-right: 1px solid #eee;
}
.ps-grid .row { display: grid; grid-template-columns: var(--ps-time-width) repeat(7, var(--ps-col-width)); }
.ps-grid .row.hdrs { position: sticky; top: 0; background: #fff; z-index: 2; }
.ps-grid .time, .ps-grid .hdr { padding: var(--ps-cell-pad); font-size: 12px; display:flex; align-items:center; justify-content:center; white-space:nowrap;}
.ps-grid .hdr { font-weight:600; }
.ps-grid .time { color:#666; background:#fafafa; position: sticky; left: 0; z-index:1; }
.ps-grid .cell { padding: var(--ps-cell-pad); display:flex; align-items:center; justify-content:center; }
.ps-grid .pill {
  min-width: 36px; text-align:center; font-weight:600; border-radius: 999px;
  padding: 2px 8px; font-size: 12px; line-height: 1.5;
}
.ps-grid .pill.open  { background: #e9f7ef; color: #1e7e34; border: 1px solid #b7e1c0; }
.ps-grid .pill.closed{ background: #f2f2f2; color: #666; border: 1px solid #ddd; }
.ps-grid .cell button.pill { cursor: pointer; }
.ps-grid .hdr.sel { outline: 2px solid #0d6efd; outline-offset: -2px; border-radius:4px; }
.ps-grid .row:hover .time { background:#f3f3f3; }
.ps-grid .cell:hover { background:#fbfbfb; }
