.staff-planning .planning-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr)); gap:var(--zg-space-4); }
.staff-planning .planning-stack { display:grid; grid-auto-rows:max-content; gap:var(--zg-space-4); align-content:start; min-inline-size:0; }
.staff-planning .planning-actions { display:flex; flex-wrap:wrap; gap:var(--zg-space-2); align-items:center; }
.staff-planning .planning-days { display:flex; flex-wrap:wrap; gap:var(--zg-space-3); }
.staff-planning .planning-block { display:grid; gap:var(--zg-space-3); }
.staff-planning .planning-scroll { overflow:auto; }
.staff-planning .planning-table { min-inline-size:40rem; inline-size:100%; }
.staff-planning .planning-table th,.staff-planning .planning-table td { text-align:start; vertical-align:top; padding:var(--zg-space-2); }
.staff-planning .planning-table caption { text-align:start; }
.staff-planning .planning-source { white-space:pre-wrap; overflow-wrap:anywhere; }
.staff-planning [hidden] { display:none!important; }
.staff-planning label { display:grid; gap:var(--zg-space-2); }
.staff-planning .planning-days label { display:flex; align-items:center; }
.staff-planning .planning-check { display:flex; align-items:center; gap:var(--zg-space-2); }
.staff-planning :is(h3,h4,p) { margin:0; }
.staff-planning [data-status]:empty { display:none; }
.staff-planning .needs-week { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr)); gap:var(--zg-space-2); }
.staff-planning .needs-day { min-inline-size:0; }
.staff-planning .needs-slot { margin-block-start:var(--zg-space-3); overflow-wrap:anywhere; }
.staff-planning .needs-muted { color:var(--zg-text-secondary); }
.staff-planning .needs-timezone { align-self:end; }
.staff-planning .needs-steps { display:flex; flex-wrap:wrap; gap:var(--zg-space-4) var(--zg-space-8); padding-inline-start:var(--zg-space-5); margin:0; }
.staff-planning .needs-day-shortcuts { margin-block-start:var(--zg-space-3); }
.staff-planning details > :not(summary) { margin-block-start:var(--zg-space-3); }
.staff-planning .planning-block { min-inline-size:0; margin:0; }
.staff-planning .needs-welcome > button { justify-self:start; }
.staff-planning .zg-modal__header { justify-content:space-between; }
