/* Project detail owns its inner scrolling; retain the Agency shell and tokens. */
body.sheet-open,
body:has(#model-provider-dialog[open]) { position: fixed; inset: 0; height: 100dvh; overflow: clip; }
body[data-view="project-detail"] #project-detail.active,
body[data-view="settings"] #settings.active:has(#licence-seats details[open]),
body[data-view="settings"] #settings.active:has(#licence-seats[data-real-seats="true"]),
body[data-view="operations"] #operations.active:has(#maintenance-summary) {
  position: fixed;
  top: var(--project-header-height, 76px);
  bottom: calc(104px + env(safe-area-inset-bottom));
  left: max(14px, calc((100vw - 1200px) / 2));
  right: max(14px, calc((100vw - 1200px) / 2));
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 16px 0 24px;
  margin: 0;
  animation: none;
}
