/* Explicit Builder-only enhancement. Phone uses the established day editor. */
body.app-reference.page-manager-rota .rota-absence-editor > summary { cursor:pointer; }
body.app-reference.page-manager-rota .rota-absence-edit-form label { min-width:0; }
body.app-reference.page-manager-rota .rota-absence-edit-form :is(input[type=date],select) { width:100%; min-width:0; max-width:100%; box-sizing:border-box; }
body.app-reference.page-manager-rota .rota-absence-confirm { display:flex; align-items:flex-start; gap:8px; }
body.app-reference.page-manager-rota .rota-absence-confirm input { width:auto; flex-shrink:0; margin-top:3px; }
@media (max-width:1100px) {
  /* The mobile absence region is in document flow, not a modal. */
  body.app-reference.page-manager-rota.rota-popover-open:has(.rota-absence-editor[open]) { overflow:auto; }
  body.app-reference.page-manager-rota .rota-absence-editor > summary { min-height:44px; }
  body.app-reference.page-manager-rota .rota-absence-editor[open]::before { display:none; }
  body.app-reference.page-manager-rota .rota-absence-editor .rota-week-shift-popover { position:static; transform:none; width:100%; max-width:100%; height:auto; max-height:none; overflow:visible; margin:0; }
}
body.app-reference.page-manager-rota .rota-hero .rota-focus-toggle { display: none; }
@media (min-width:1101px) {
  body.app-reference.page-manager-rota .rota-hero .rota-focus-toggle { display: inline-flex; }
  body.app-reference.page-manager-rota.rota-focus .app-shell { display: block; }
  body.app-reference.page-manager-rota.rota-focus .sidebar,
  body.app-reference.page-manager-rota.rota-focus .shell-topline,
  body.app-reference.page-manager-rota.rota-focus [data-builder-start],
  body.app-reference.page-manager-rota.rota-focus #rota-review-status,
  body.app-reference.page-manager-rota.rota-focus .rota-tabs,
  body.app-reference.page-manager-rota.rota-focus .rota-manager-summary-bar,
  body.app-reference.page-manager-rota.rota-focus .rota-empty-week { display:none; }
  body.app-reference.page-manager-rota.rota-focus .content-shell { width:100%; max-width:none; padding:18px; margin:0; }
  body.app-reference.page-manager-rota.rota-focus .rota-week-nav { display:flex; gap:8px; align-items:center; }
  body.app-reference.page-manager-rota.rota-focus .rota-hero { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
  body.app-reference.page-manager-rota.rota-focus .rota-hero-copy { margin-right:auto; }
  body.app-reference.page-manager-rota.rota-focus .rota-nav-button-group { flex-wrap:nowrap; }
  body.app-reference.page-manager-rota.rota-focus .rota-week-options[open] { position:relative; }
  body.app-reference.page-manager-rota.rota-focus .rota-date-jump { position:absolute; right:0; top:100%; z-index:50; width:300px; padding:12px; background:white; border:1px solid #cad5e1; }
  body.app-reference.page-manager-rota.rota-focus .rota-hero h2 { font-size:22px; }
  body.app-reference.page-manager-rota.rota-focus .rota-hero { margin:0 0 10px; padding:0; min-height:0; }
  body.app-reference.page-manager-rota.rota-focus .rota-manager-command-centre { margin:0 0 10px; }
  body.app-reference.page-manager-rota.rota-focus .rota-primary-actions { display:flex; justify-content:flex-end; }
  body.app-reference.page-manager-rota.rota-focus .rota-primary-actions > :not([data-testid="rota-action-publish"]) { display:none; }
  body.app-reference.page-manager-rota.rota-focus #published-week-rota { padding:0; margin-right:304px; }
  body.app-reference.page-manager-rota.rota-focus .rota-week-editor-scroll { max-height:calc(100vh - 230px); overflow:auto; }
  body.app-reference.page-manager-rota.rota-focus .rota-staff-week-table { display:table; table-layout:fixed; width:100%; min-width:0; }
  body.app-reference.page-manager-rota.rota-focus .rota-week-person-heading,
  body.app-reference.page-manager-rota.rota-focus .rota-week-person { width:156px; min-width:156px; padding:2px 10px; }
  body.app-reference.page-manager-rota.rota-focus .rota-week-person-avatar { display:none; }
  body.app-reference.page-manager-rota.rota-focus .rota-week-person-copy strong { font-size:12px; }
  body.app-reference.page-manager-rota.rota-focus .rota-week-staff-cell { height:49px; min-width:0; padding:3px; }
  body.app-reference.page-manager-rota.rota-focus .rota-week-shift-editor > summary { min-height:38px; padding:3px 5px; gap:0; font-size:12px; }
  body.app-reference.page-manager-rota.rota-focus .rota-week-shift-state { padding:0; font-size:9px; }
  body.app-reference.page-manager-rota.rota-focus .rota-week-cell-add { margin:0; }
  body.app-reference.page-manager-rota.rota-focus .has-shifts > .rota-week-cell-add > summary { min-height:16px; font-size:10px; padding:0; }
  body.app-reference.page-manager-rota.rota-focus .rota-week-cell-add > summary { min-height:40px; padding:3px; }
  body.app-reference.page-manager-rota.rota-focus .rota-week-shift-editor[open]::before,
  body.app-reference.page-manager-rota.rota-focus .rota-week-cell-add[open]::before { display:none; }
  body.app-reference.page-manager-rota.rota-focus :is(.rota-week-shift-popover,.rota-week-cell-add-popover) {
    position:fixed; top:120px; right:18px; left:auto; transform:none;
    width:290px; max-height:calc(100vh - 138px); padding:14px;
    border-radius:8px; background:white; box-shadow:none;
  }
  body.app-reference.page-manager-rota.rota-focus .rota-form-grid { grid-template-columns:1fr 1fr; }
  body.app-reference.page-manager-rota.rota-focus .rota-form-grid label { min-width:0; }
  body.app-reference.page-manager-rota.rota-focus .rota-form-grid label:first-child,
  body.app-reference.page-manager-rota.rota-focus .rota-form-grid label:nth-child(n+4) { grid-column:1 / -1; }
  /* Keep native time segments and picker indicators fully visible. */
  body.app-reference.page-manager-rota.rota-focus .rota-form-grid label:has(input[type="time"]) { grid-column:1 / -1; }
  body.app-reference.page-manager-rota.rota-focus .content-shell { position:relative; }
  body.app-reference.page-manager-rota.rota-focus .rota-hero { padding-right:230px; }
  body.app-reference.page-manager-rota.rota-focus .rota-manager-command-centre { margin:0; }
  body.app-reference.page-manager-rota.rota-focus [data-testid="rota-action-publish"] { position:absolute; top:18px; right:18px; width:220px; }
  body.app-reference.page-manager-rota.rota-focus [data-testid="rota-action-publish"] button { margin:0; }
  body.app-reference.page-manager-rota.rota-focus .rota-edit-form { padding:0; }
  body.app-reference.page-manager-rota.rota-focus .rota-edit-form textarea { min-height:60px; }
  /* Capacity slots are not people; normal view retains configuration. */
  body.app-reference.page-manager-rota.rota-focus .rota-week-template-row,
  body.app-reference.page-manager-rota.rota-focus .rota-template-slot-note,
  body.app-reference.page-manager-rota.rota-focus #rota-configuration,
  body.app-reference.page-manager-rota.rota-focus .rota-workflow-tools { display:none; }
  body.app-reference.page-manager-rota.rota-focus .rota-week-cell-shifts { gap:3px; }
  body.app-reference.page-manager-rota.rota-focus .rota-week-shift-editor > summary { display:flex; flex-wrap:wrap; align-content:center; column-gap:3px; line-height:15px; min-height:42px; padding:3px; border-radius:5px; }
  body.app-reference.page-manager-rota.rota-focus .rota-week-shift-time { flex-basis:100%; font-size:12px; }
  body.app-reference.page-manager-rota.rota-focus .rota-week-shift-editor > summary strong { font-size:11px; font-weight:400; }
  body.app-reference.page-manager-rota.rota-focus .rota-week-shift-state { font-size:11px; font-weight:400; text-transform:capitalize; margin-right:25px; line-height:15px; }
  body.app-reference.page-manager-rota.rota-focus .has-shifts > .rota-week-cell-add { position:absolute; bottom:3px; right:3px; }
  body.app-reference.page-manager-rota.rota-focus .has-shifts > .rota-week-cell-add > summary { min-height:24px; width:25px; padding:0; font-size:11px; display:flex; align-items:center; justify-content:center; }
  body.app-reference.page-manager-rota.rota-focus .has-shifts > .rota-week-cell-add > summary::before { display:none; }
  /* Absence-only cells share single-shift density, not paragraph + empty Add rows.
     Keep mixed absence/shift content in normal flow: never clamp real shifts. */
  body.app-reference.page-manager-rota.rota-focus .rota-week-absence { margin:0; padding:3px; font-size:12px; line-height:18px; }
  body.app-reference.page-manager-rota.rota-focus .rota-week-staff-cell:not(.has-shifts) > .rota-week-absence { min-height:42px; padding:0; }
  body.app-reference.page-manager-rota.rota-focus .rota-absence-editor > summary { padding-right:32px; }
  body.app-reference.page-manager-rota.rota-focus .rota-week-staff-cell:not(.has-shifts):has(> .rota-week-absence) > .rota-week-cell-add { position:absolute; bottom:3px; right:3px; }
  body.app-reference.page-manager-rota.rota-focus .rota-week-staff-cell:not(.has-shifts):has(> .rota-week-absence) > .rota-week-cell-add > summary { min-height:24px; width:25px; padding:0; font-size:11px; display:flex; align-items:center; justify-content:center; }
  body.app-reference.page-manager-rota.rota-focus .rota-week-staff-cell:not(.has-shifts):has(> .rota-week-absence) > .rota-week-cell-add > summary::before { display:none; }
}
