/* Calendar-specific composition; controls retain canonical product styling. */
.tool-personal #scheduleWorkspace { gap:var(--zg-space-3); }
.tool-personal #scheduleWorkspace .schedule-toolbar { padding:var(--zg-space-3); }
.tool-personal #scheduleWorkspace .schedule-toolbar-main { flex-direction:row; align-items:center; }
.tool-personal #scheduleWorkspace .schedule-options { margin-top:var(--zg-space-2); }
.tool-personal #scheduleWorkspace summary { cursor:pointer; color:var(--zg-text-secondary); }
.tool-personal #scheduleWorkspace .schedule-filters { margin-top:var(--zg-space-2); padding-top:var(--zg-space-2); }
.tool-personal #scheduleWorkspace .schedule-actions { flex-wrap:wrap; }
.tool-personal #scheduleWorkspace .schedule-meta { display:flex; align-items:center; flex-wrap:wrap; gap:var(--zg-space-2) var(--zg-space-4); }
.tool-personal #scheduleWorkspace .schedule-status { flex:1; min-width:0; }
.tool-personal #scheduleWorkspace .schedule-publication { gap:var(--zg-space-2); padding:0; }
.tool-personal #scheduleWorkspace .schedule-publication > div:first-child { display:flex; flex-wrap:wrap; align-items:center; gap:var(--zg-space-2); }
.tool-personal #scheduleWorkspace .schedule-publication p { margin:0; font-size:var(--zg-font-body-sm); }
.tool-personal #scheduleWorkspace .schedule-color-help p { max-width:60ch; margin:var(--zg-space-2) 0; font-size:var(--zg-font-body-sm); }
.tool-personal #scheduleWorkspace .schedule-interaction-status:empty { display:none; }
.tool-personal #scheduleWorkspace .schedule-content { gap:var(--zg-space-2) var(--zg-space-4); }
.tool-personal #scheduleWorkspace .schedule-calendar-nav {
  grid-column:2; grid-row:1;
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:var(--zg-space-2); padding:var(--zg-space-2);
  min-width:0;
}
.tool-personal #scheduleWorkspace #staffingOverview { grid-column:1; grid-row:1 / 3; }
.tool-personal #scheduleWorkspace #scheduleBoard { grid-column:2; grid-row:2; min-width:0; }
.tool-personal #scheduleWorkspace .schedule-date-nav { flex-wrap:wrap; overflow:visible; }
.tool-personal #scheduleWorkspace .schedule-period { display:grid; gap:var(--zg-space-1); padding-inline:var(--zg-space-2); }
.tool-personal #scheduleWorkspace .schedule-period strong { min-width:0; text-align:start; }
.tool-personal #scheduleWorkspace #scheduleWeek { font-size:var(--zg-font-caption); }
.tool-personal #scheduleWorkspace .schedule-views { min-width:0; max-width:100%; flex-wrap:nowrap; overflow-x:auto; }
.tool-personal #scheduleWorkspace .schedule-views button { flex-shrink:0; white-space:nowrap; }
.tool-personal #scheduleWorkspace .schedule-month { min-width:0; grid-template-columns:repeat(7,minmax(0,1fr)); }
.tool-personal #scheduleWorkspace .schedule-month-weekday { position:sticky; top:0; z-index:3; padding:var(--zg-space-2); background:var(--zg-surface-soft); color:var(--zg-text-secondary); font-weight:700; border-bottom:1px solid var(--zg-border-soft); }
.tool-personal #scheduleWorkspace .schedule-month-weekday abbr { text-decoration:none; }
.tool-personal #scheduleWorkspace .is-staff-month > .schedule-calendar-nav,
.tool-personal #scheduleWorkspace .is-staff-month > #scheduleBoard { grid-column:1; }
@media (max-width:1100px) {
  .tool-personal #scheduleWorkspace .schedule-calendar-nav { grid-column:1; }
  .tool-personal #scheduleWorkspace #scheduleBoard { grid-column:1; grid-row:2; }
  .tool-personal #scheduleWorkspace #staffingOverview { grid-column:1; grid-row:3; }
}
@media (max-width:600px) {
  .tool-personal #scheduleWorkspace .schedule-period { flex:1 1 100%; padding:0; }
  .tool-personal #scheduleWorkspace .schedule-calendar-nav { gap:var(--zg-space-1); }
  .tool-personal #scheduleWorkspace .schedule-month-day { min-height:100px; padding:var(--zg-space-1); overflow-wrap:anywhere; }
  .tool-personal #scheduleWorkspace .schedule-month-count { font-size:0; }
  .tool-personal #scheduleWorkspace .schedule-month-count::before { content:attr(data-count); font-size:var(--zg-font-caption); }
  .tool-personal #scheduleWorkspace .schedule-month-day .schedule-create-at { max-width:100%; padding:var(--zg-space-1); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
}
@media print {
  .tool-personal #scheduleWorkspace .schedule-calendar-nav,
  .tool-personal #scheduleWorkspace .schedule-meta { display:none !important; }
  .tool-personal #scheduleWorkspace .schedule-month-weekday { position:static; }
}

/* Keep contextual help beside its action; a third flex child must not spread it. */
.tool-personal #scheduleWorkspace .schedule-toolbar-main { justify-content:flex-start; gap:var(--zg-space-2); }
.tool-personal #scheduleWorkspace #scheduleCreate { margin-inline-start:auto; }
.tool-personal #scheduleWorkspace .schedule-meta { display:grid; grid-template-columns:minmax(0,1fr); }
.tool-personal #scheduleWorkspace .schedule-color-help { justify-self:end; max-inline-size:100%; }
.tool-personal #scheduleWorkspace .schedule-status { min-inline-size:0; }
.tool-personal #scheduleWorkspace .schedule-bulk { border-radius:var(--zg-radius-md); }

/* The spanning hours rail must not enlarge the calendar navigation row. */
.tool-personal #scheduleWorkspace .schedule-content { grid-template-rows:auto minmax(0,1fr); align-content:start; }
