/*
 * Shared A1OSIS workspace layout contract.
 *
 * Loaded for demo, trial and subscribed workspace surfaces. Keeping these
 * rules outside the authenticated Communicator ensures every access mode
 * receives the same Plan Studio layout without changing the preserved
 * compatibility or compiled application assets.
 */

.plan-studio .studio-panel-toggles {
  flex-wrap: nowrap !important;
  max-width: calc(100vw - 24px) !important;
  overflow-x: auto !important;
  scrollbar-width: thin;
  width: max-content !important;
}

.plan-studio .studio-panel-toggles button {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

.plan-studio .studio-header-actions {
  max-width: min(100%, calc(100vw - 32px)) !important;
  overflow-x: auto !important;
  scrollbar-width: thin;
}

.plan-studio .studio-header-actions > * {
  flex: 0 0 auto !important;
}

.plan-studio
  .studio-header-actions
  span[data-tour="plan-handoff"] {
  display: block !important;
  margin-right: 0 !important;
  max-width: none !important;
  width: auto !important;
}

.plan-studio
  .studio-header-actions
  span[data-tour="plan-handoff"]
  .module-switch {
  display: inline-flex !important;
  max-width: none !important;
  white-space: nowrap !important;
}

.plan-studio .studio-inline-action {
  align-self: end !important;
  height: 38px !important;
}

.plan-studio .studio-inline-action .site-plan-generator {
  height: 38px !important;
}

.plan-studio .studio-viewport-controls {
  gap: 9px !important;
  grid-template-columns:
    minmax(150px, .8fr)
    minmax(105px, .55fr)
    minmax(105px, .55fr)
    minmax(150px, .8fr)
    auto !important;
  padding: 9px 12px !important;
}

.plan-studio
  .studio-viewport-controls
  input[type="range"] {
  width: clamp(84px, 9vw, 145px) !important;
}

.software-notes-panel .project-notes-list,
.project-notes-list {
  max-height: min(56vh, 620px) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.drawing-focus-mode > .studio-focus-toggle,
.drawing-fullscreen-mode > .studio-focus-toggle {
  bottom: max(8px, env(safe-area-inset-bottom)) !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
}

@media (min-width: 901px) {
  .plan-studio .studio-meta {
    align-items: end !important;
    column-gap: 10px !important;
    grid-template-columns:
      minmax(150px, .85fr)
      minmax(230px, 1.25fr)
      minmax(105px, .45fr)
      minmax(105px, .45fr)
      minmax(230px, 1.1fr)
      max-content
      max-content
      max-content !important;
    overflow-x: auto !important;
    scrollbar-width: thin;
  }

  .plan-studio .studio-meta > label {
    min-width: 0 !important;
  }

  .plan-studio .studio-meta > label:nth-child(3),
  .plan-studio .studio-meta > label:nth-child(4) {
    min-width: 105px !important;
  }

  .plan-studio .studio-meta > label:nth-child(5) {
    min-width: 230px !important;
  }
}
