/* Staff-specific responsive composition; visual values come from Product UI v2. */
#staffMobileMenu { display:contents; }
#staffMobileMenuToggle { display:none; }
@media(max-width:900px) {
  .tool-personal .app-shell,.tool-personal .app-shell.nav-collapsed { display:block; }
  .tool-personal .app-shell .sidebar { position:relative; inline-size:100%; block-size:auto; padding:var(--zg-space-3); }
  .tool-personal .sidebar .brand { display:flex; justify-content:space-between; align-items:center; block-size:auto; padding:0; gap:var(--zg-space-3); }
  .tool-personal .sidebar .brand strong { display:block; }
  .tool-personal #navCollapse { display:none; }
  .tool-personal #staffMobileMenuToggle { display:inline-flex; }
  .tool-personal #staffMobileMenu { display:none; }
  .tool-personal .mobile-menu-open #staffMobileMenu { display:grid; gap:var(--zg-space-3); padding-block-start:var(--zg-space-3); }
  .tool-personal .sidebar nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; gap:var(--zg-space-2); }
  .tool-personal .sidebar .nav-item { inline-size:100%; min-inline-size:0; white-space:normal; justify-content:flex-start; }
  .tool-personal .nav-collapsed .sidebar .nav-item span,.tool-personal .nav-collapsed .sidebar .staff-legacy-links span { display:initial; }
  .tool-personal .sidebar .nav-item small,.tool-personal .sidebar-foot { display:none; }
  .tool-personal .nav-collapsed .sidebar .nav-item { display:grid; grid-template-columns:auto minmax(0,1fr); justify-items:start; }
  .tool-personal .nav-collapsed .staff-demo-toolbar { flex-direction:row; }
  .tool-personal .nav-collapsed #staffModeLabel:not([hidden]) { display:block; }
  .tool-personal .main { padding:var(--zg-space-4) var(--zg-space-3); min-inline-size:0; }
  .tool-personal .people-status-tabs { flex-wrap:wrap; overflow:visible; inline-size:calc(100% + var(--zg-space-3) + var(--zg-space-3)); margin-inline:calc(-1 * var(--zg-space-3)); }
  .tool-personal .people-status-tabs .staff-help-action { position:static; padding-inline:var(--zg-space-1); flex-shrink:0; }
  .tool-personal #peopleStatusTabs > .zg-tabs__actions:not(.staff-help-action) { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr)); inline-size:100%; min-inline-size:0; margin:0; padding:var(--zg-space-2) var(--zg-space-3); }
  .tool-personal #peopleStatusTabs .people-account-action,.tool-personal #peopleStatusTabs .people-primary-action.button.primary { inline-size:100%; min-inline-size:0; margin:0; white-space:normal; }
  .tool-personal #peopleStatusTabs { display:grid; grid-template-columns:minmax(0,1fr) auto; }
  .tool-personal #peopleStatusTabs > .zg-tab { grid-column:1/-1; }
  .tool-personal #peopleStatusTabs > .zg-tabs__actions:not(.staff-help-action) { grid-column:1; }
  .tool-personal #peopleStatusTabs > .staff-help-action { grid-column:2; align-self:end; margin:0; padding:0 var(--zg-space-3) var(--zg-space-2) 0; }
  .tool-personal #peopleStatusTabs .staff-help-action .zg-help-button { min-inline-size:var(--zg-touch-target-min); min-block-size:var(--zg-touch-target-min); }
  .tool-personal #scheduleWorkspaceTabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; }
  .tool-personal #scheduleWorkspaceTabs .zg-tab { min-inline-size:0; white-space:normal; justify-content:center; padding:var(--zg-space-2); text-align:center; }
  .tool-personal #scheduleWorkspace .schedule-toolbar-main { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:stretch; }
  .tool-personal #scheduleWorkspace .schedule-toolbar-main > label { grid-column:1/-1; }
  .tool-personal #scheduleWorkspace #scheduleCreate { margin-inline-start:0; }
  .tool-personal #scheduleWorkspace #scheduleAutomate { min-inline-size:0; white-space:normal; padding-inline:var(--zg-space-2); }
  .tool-personal #scheduleWorkspace .schedule-views { flex-wrap:wrap; overflow:visible; }
  .tool-personal #scheduleWorkspace .schedule-views button { min-block-size:var(--zg-touch-target-min); }
  .tool-personal #scheduleWorkspace .schedule-bulk[data-empty=true] { display:none; }
  .tool-personal #scheduleWorkspace .schedule-bulk { display:flex; flex-wrap:wrap; gap:var(--zg-space-2); }
  .tool-personal #scheduleWorkspace .schedule-bulk > strong { flex-basis:100%; }
  .tool-personal #scheduleWorkspace .schedule-help { margin:0; }
  .staff-planning .needs-directory { display:none; }
  .staff-planning .needs-detail .zg-tabs { flex-wrap:wrap; overflow:visible; }
  .staff-planning .needs-detail .zg-tab { flex:1; min-inline-size:0; white-space:normal; padding-inline:var(--zg-space-2); }
  .staff-planning [data-blocks]:has([data-block-editor]:not([hidden])) { order:-1; scroll-margin-block-start:calc(var(--zg-space-8) * 2); }
  .staff-planning #needs-pane-days > h4 { order:-2; }
  .staff-planning [data-block-editor] { scroll-margin-block-start:calc(var(--zg-space-8) * 2); }
  .staff-planning .planning-days label,.staff-planning .planning-check { min-block-size:var(--zg-touch-target-min); }
  .staff-planning .needs-day { gap:var(--zg-space-2); padding:var(--zg-space-3); }
  .staff-planning .needs-slot { margin-block-start:0; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--zg-space-1) var(--zg-space-2); align-items:center; }
  .staff-planning .needs-slot > :not(button) { grid-column:1; }
  .staff-planning .needs-slot > button { grid-column:2; grid-row:1 / 5; }
  .tool-personal #scheduleEditor .zg-modal__header { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; }
  .tool-personal #scheduleEditor .zg-modal__header > button { grid-column:2; grid-row:1; }
  .tool-personal #absenceToolbar .absence-month-nav button,.tool-personal #absenceToolbar .absence-view-toggle button { min-block-size:var(--zg-touch-target-min); min-inline-size:var(--zg-touch-target-min); }
}
@media(max-width:600px) {
  .tool-personal #templateTypeTabs { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; position:relative; top:auto; }
  .tool-personal #templateTypeTabs > .zg-tab { min-inline-size:0; white-space:normal; justify-content:flex-start; }
  .tool-personal #templateTypeTabs > .zg-tab:nth-child(odd) { grid-column:1; }
  .tool-personal #templateTypeTabs > .zg-tab:nth-child(even) { grid-column:2 / -1; }
  .tool-personal #templateTypeTabs > .zg-tabs__actions:not(.staff-help-action) { grid-column:1 / 3; display:grid; grid-template-columns:1fr; min-inline-size:0; inline-size:100%; margin:0; padding:var(--zg-space-2) var(--zg-space-3); gap:var(--zg-space-2); }
  .tool-personal #templateTypeTabs .people-account-action,.tool-personal #templateTypeTabs .people-primary-action.button.primary { inline-size:100%; min-inline-size:0; margin:0; white-space:normal; }
  .tool-personal #templateTypeTabs > .staff-help-action { grid-column:3; grid-row:3; align-self:end; margin:0; padding:0 var(--zg-space-3) var(--zg-space-2) 0; }
  .tool-personal #templateTypeTabs .zg-help-button { min-inline-size:var(--zg-touch-target-min); min-block-size:var(--zg-touch-target-min); }
  .tool-personal #contractForm .person-subnav { display:grid; grid-template-columns:1fr; overflow:visible; min-inline-size:0; }
  .tool-personal #contractForm .person-subnav button { inline-size:100%; min-inline-size:0; white-space:normal; text-align:start; justify-content:flex-start; }
  .tool-personal .rule-list .rule { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--zg-space-3); }
  .tool-personal .rule-list .rule > span { min-inline-size:0; overflow-wrap:anywhere; }
  .tool-personal .rule-list .inline-actions { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:var(--zg-space-2); }
  .tool-personal .rule-list .inline-actions > button { flex:1 1 auto; }
  .tool-personal .rule-list [data-attach-rule-form] { grid-template-columns:minmax(0,1fr); inline-size:100%; }
  .tool-personal .rule-list [data-attach-rule-form] select,.tool-personal .rule-list [data-attach-rule-form] .actions,.tool-personal .rule-list [data-attach-rule-form] .actions button { inline-size:100%; min-inline-size:0; }
  .tool-personal #scheduleWorkspace .schedule-toolbar-main { grid-template-columns:minmax(0,1fr); }
  .staff-planning .needs-list-heading { align-items:stretch; gap:var(--zg-space-2); }
  .staff-planning .needs-list-heading > .planning-actions { inline-size:100%; }
  .staff-planning .needs-list-heading .planning-actions > button { flex:1 1 auto; }
  .staff-planning .needs-table { display:block; min-inline-size:0; }
  .staff-planning .zg-table-scroll:has(.needs-table) { overflow:visible; max-block-size:none; max-height:none; }
  .staff-planning .needs-table thead { position:absolute; inline-size:1px; block-size:1px; overflow:hidden; clip-path:inset(50%); }
  .staff-planning .needs-table tbody { display:block; }
  .staff-planning .needs-table tr { display:grid; padding:var(--zg-space-3); border-block-start:1px solid var(--zg-border-default); }
  .staff-planning .needs-table td { display:block; padding:var(--zg-space-1) 0; border:0; white-space:normal; overflow-wrap:anywhere; }
  .staff-planning .needs-table td[data-mobile-label]::before { content:attr(data-mobile-label); display:block; color:var(--zg-text-muted); font-size:var(--zg-font-caption); }
  .staff-planning .needs-table td:first-child button { justify-content:flex-start; padding-inline:0; text-align:start; }
  .staff-planning .needs-table .planning-actions { padding:0; }
  .staff-planning .needs-table .planning-actions button { flex:1 1 auto; }
  .staff-planning .needs-detail { padding:var(--zg-space-3); }
  .staff-planning .planning-block { padding:var(--zg-space-3); }
  .staff-planning .needs-save > button,.staff-planning .needs-save > .planning-actions > button { flex:1 1 auto; }
}
