@layer modules {
  /* Shopfloor owns only its terminal composition; controls and theme are central. */
  .shopfloor-page { margin: 0; color-scheme: light; }
  .shopfloor-page:has([data-shopfloor-page="home"]) { --entry-footer-block-space: var(--space-1); }
  .shopfloor-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-3); }
  .shopfloor-actions form { margin: 0; }
  .shopfloor-main:has(.app-auth-layout) { display: grid; align-content: center; }
  .shopfloor-main:has([data-shopfloor-page="home"]) { padding-block: var(--entry-main-block-space, var(--space-4)) var(--space-1); }
  [data-shopfloor-page="home"] > .app-section-label { margin-block: var(--space-2); }
  .shopfloor-start-main { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); align-items: stretch; gap: var(--space-5); }
  /* Owner wrappers must fill the shared card before either final action row can align. */
  [data-shopfloor-page="home"] #shopfloor-attendance .app-form-section-content > [data-shopfloor-clock] { flex: 1; display: flex; flex-direction: column; }
  [data-shopfloor-page="home"] #shopfloor-current-order .app-form-section-content > .app-action-grid,
  [data-shopfloor-page="home"] #shopfloor-attendance [data-shopfloor-clock] > .app-action-grid { margin-block-start: auto; padding-block-start: var(--space-3); }
  [data-shopfloor-page="home"] #shopfloor-current-order .app-form-section-content > .shopfloor-home-previews { flex: 1 1 auto; min-block-size: 0; }
  .shopfloor-home-preview-list { display: grid; gap: var(--space-3); align-content: start; }
  .shopfloor-home-clock { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); margin-block-start: var(--space-1); }
  .shopfloor-destinations { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
  .shopfloor-personal-actions { justify-content: flex-end; margin-block-start: var(--space-5); }
  .shopfloor-workspace.is-workplace { display: grid; grid-template-columns: 11.75rem minmax(0, 1fr); align-items: start; gap: var(--space-5); }
  .shopfloor-workplace-navigation { display: grid; gap: var(--space-3); }
  .shopfloor-workspace-content { min-inline-size: 0; }
  .shopfloor-workplace-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
  .shopfloor-operation-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--space-2); }
  .shopfloor-operation-stamp { margin: 0; flex: 0 0 auto; inline-size: max-content; max-inline-size: 100%; }
  #shopfloor-active-operation .app-form-section-actions { flex-wrap: wrap; }
  .shopfloor-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
  .shopfloor-section-actions { display: grid; gap: var(--space-4); }
  [data-shopfloor-page="workplace"] .shopfloor-sections { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); }
  [data-shopfloor-page="workplace"] #shopfloor-current_order { grid-column: 1; grid-row: 1; }
  [data-shopfloor-page="workplace"] #shopfloor-instructions { grid-column: 1; grid-row: 2; }
  [data-shopfloor-page="workplace"] #shopfloor-feedback { grid-column: 2; grid-row: 1 / span 2; }
  [data-shopfloor-page="workplace"] #shopfloor-material, [data-shopfloor-page="shifts"] .shopfloor-sections > section { grid-column: 1 / -1; }
  .shopfloor-sections > section:only-child { grid-column: 1 / -1; }
  .shopfloor-time-summary { margin-block-end: var(--space-5); }
  .shopfloor-time-period { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); max-inline-size: 38rem; }
  .shopfloor-time-day { display: grid; justify-items: start; gap: var(--space-2); }
  .shopfloor-time-summary .app-form-section-content > :is(.shopfloor-leave-summary, [data-shopfloor-clock]) { flex: 1; display: flex; flex-direction: column; }
  .shopfloor-time-summary :is(.shopfloor-leave-summary, [data-shopfloor-clock]) > .app-action-grid { margin-block-start: auto; padding-block-start: var(--space-3); }
  @media (min-width: 46.001rem) {
    [data-shopfloor-page="home"] #shopfloor-current-order { contain: size; min-block-size: 0; }
    [data-shopfloor-page="home"] #shopfloor-current-order :is(.app-form-section-body,.app-form-section-content) { min-block-size: 0; }
    .shopfloor-home-previews { overflow: hidden; }
    .shopfloor-main:has([data-shopfloor-page="home"]) { display: flex; flex-direction: column; }
    [data-shopfloor-page="home"] { flex: 1; display: flex; flex-direction: column; }
    [data-shopfloor-page="home"] > .shopfloor-heading, [data-shopfloor-page="home"] > .app-section-label { flex: 0 0 auto; }
    .shopfloor-start-main { flex: 0 0 auto; }
    .shopfloor-destinations { flex: 0 0 auto; }
  }
  @media (max-width: 60rem) {
    [data-shopfloor-page="workplace"] .shopfloor-sections { grid-template-columns: minmax(0, 1fr); }
    [data-shopfloor-page="workplace"] :is(#shopfloor-current_order, #shopfloor-instructions, #shopfloor-feedback, #shopfloor-material) { grid-column: 1; grid-row: auto; }
  }
  @media (max-width: 46rem) {
    .shopfloor-start-main, .shopfloor-destinations, .shopfloor-sections { grid-template-columns: minmax(0, 1fr); }
    .shopfloor-workspace.is-workplace { grid-template-columns: minmax(0, 1fr); }
    .shopfloor-workplace-navigation { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
  }
  @media (max-width: 24rem) { .shopfloor-workplace-navigation { grid-template-columns: minmax(0, 1fr); } }
}
