/* The same 1936 × 1188 desktop coordinates as the index. Keep the entire
   heading/content composition proportional, with the live footer outside it. */
.workspace-shell.page-composed {
  position:relative;
  display:block;
  width:100%;
  margin:0;
  padding:0;
  min-height:0;
  height:var(--page-composition-height,calc(100svh - var(--header-height)));
  overflow:clip;
}
.page-composed > .page-composition {
  --frame-width:1355.2px;
  --header-height:118.8px;
  --title-inset:47.52px;
  --workspace-gap:36px;
  --copy-size:16px;
  --page-title-scale:1;
  position:absolute;
  top:var(--page-composition-top,var(--header-height));
  left:50%;
  width:1355.2px;
  margin-left:-677.6px;
  min-height:950.4px;
  padding:47.52px 0 30px;
  display:grid;
  grid-template-rows:190.08px minmax(min-content,1fr);
  gap:0;
  transform:scale(var(--page-composition-scale,1));
  transform-origin:50% 0;
}
.page-composition .workspace-heading p { font-size:21.6px; margin-top:18px; }
.admin-shell[data-admin-screen="dashboard"] > .page-composition { grid-template-rows:190.08px auto; }

/* Match the index's centered desktop footprint without changing touch layouts. */
@media (min-width: 768px) and (not (any-pointer: coarse)) {
  html:not(.tablet-preview) body.workspace-page { --frame-width: 80vw; }
  html:not(.tablet-preview) .page-composed > .page-composition {
    --frame-width: calc(80vw / var(--page-composition-scale, 1));
    width: var(--frame-width);
    margin-left: calc(var(--frame-width) / -2);
    grid-template-columns: minmax(0, 1fr);
  }
}
