/* Shared opt-in layout only. No action, permission or visibility decisions. */
@media screen {
  .app-actions {
    --app-actions-gap: calc(10px * var(--hub-ui-scale, 1));
    --app-actions-group-gap: calc(16px * var(--hub-ui-scale, 1));
    --app-actions-content-gap: calc(20px * var(--hub-ui-scale, 1));
  }
  .app-actions:not([hidden]):not(.app-actions--legacy) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--app-actions-group-gap);
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }
  .app-actions[data-layout="footer"] {
    margin-block-start: var(--app-actions-content-gap);
  }
  .app-actions > .app-actions__start:not([hidden]),
  .app-actions > .app-actions__end:not([hidden]) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--app-actions-gap);
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }
  .app-actions > .app-actions__end {
    margin-inline-start: auto;
    justify-content: flex-end;
  }
  .app-actions > .app-actions__start > *,
  .app-actions > .app-actions__end > * {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    overflow-wrap: anywhere;
  }
  .app-actions[hidden],
  .app-actions > [hidden] {
    display: none !important;
  }
  /* Existing display/hidden/grid/sticky decisions remain owned by each app. */
  html body:not(.print-mode) .app-actions--legacy {
    gap: var(--app-actions-gap) !important;
    flex-wrap: wrap;
    align-items: center;
    min-width: 0;
    max-width: 100%;
  }
  html body:not(.print-mode) .app-actions--legacy[data-layout="footer"],
  html body:not(.print-mode) .app-actions--legacy[data-layout="header"] {
    justify-content: flex-end;
  }
  html body:not(.print-mode) .app-actions--legacy[data-layout="footer"] {
    margin-block-start: var(--app-actions-content-gap) !important;
    padding-block-start: 0 !important;
  }
  html body:not(.print-mode) .app-actions--legacy[data-layout="header"] {
    margin-inline-start: auto;
  }
  html body:not(.print-mode) .app-actions--legacy[data-layout="footer"] > [data-variant="danger"]:first-child {
    margin-inline-end: auto;
  }
  html body:not(.print-mode) .app-actions--legacy[data-layout="steps"] {
    justify-content: space-between;
  }
  html body:not(.print-mode) .app-actions--legacy > :is(button,a,input[type="submit"]) {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  @media (max-width: 600px) {
    html body:not(.print-mode) :is(.section-head,.panel-head,.panel-header,.dialog-head,.modal-head):has(> .app-actions) {
      flex-wrap: wrap;
      gap: var(--app-actions-group-gap, 16px);
    }
    html body:not(.print-mode) :is(.section-head,.panel-head,.panel-header,.dialog-head,.modal-head) > .app-actions {
      flex-shrink: 0;
      margin-inline-start: auto;
    }
  }
}
