/* Layout-only corrections, loaded after the inherited region dock rules. */
.workspace.atlas-layout > .viewport { grid-column: 1; grid-row: 1; }
.workspace.atlas-layout > #patient-conditions { grid-column: 2; grid-row: 1 / span 2; }
#atlas-view-settings { grid-column: 1; grid-row: 2; min-width: 0; width: 100%; }
/* Lumbar's dedicated viewer already supplies its own controls. */
.workspace.atlas-layout:has(.viewport.has-lumbar-visual) > #atlas-view-settings { display: none; }
#atlas-view-settings > details {
  position: static; margin: 0; padding: 0 12px; width: 100%; max-width: none;
  max-height: none; overflow: visible; background: #f5f8f4;
  border: 1px solid #cadad4; border-radius: 7px;
}
#atlas-view-settings > details > summary {
  display: list-item; align-content: center; min-height: 44px; height: auto;
  padding: 10px 0; text-align: left; font-size: 13px; cursor: pointer;
}
#atlas-view-settings #simple-view-options > summary { width: 100%; }
#atlas-view-settings #simple-view-options > summary::after { content: none; }
#atlas-view-settings .simple-view-content {
  position: static; display: block; width: 100%; max-height: none;
  overflow: visible; padding: 0 0 10px; margin: 0; border: 0; background: transparent;
}
#atlas-view-settings .gap-native-layers { display: flex; flex-wrap: wrap; gap: 8px 16px; padding: 4px 0; }
#atlas-view-settings .gap-native-layers label { min-height: 36px; }
#atlas-view-settings .gap-settings > label { display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }
#atlas-view-settings input[type=range] { min-width: 0; min-height: 44px; max-width: 100%; flex: 1; }
#atlas-view-settings .gap-control-note { margin: 4px 0 10px; }
.workspace.atlas-layout:not(.gap-active) #atlas-view-settings > .gap-settings { display: none; }
.workspace.atlas-layout.gap-active #atlas-view-settings > #simple-view-options { display: none !important; }
/* Region-specific dock rules must not leave controls in the 48px drawer column. */
.workspace.atlas-layout.gap-active .viewport-dock {
  display: grid !important; grid-template-columns: minmax(0, 1fr) !important;
  gap: 6px; padding: 8px;
}
.workspace.atlas-layout.gap-active .viewport-dock > * { grid-column: 1 / -1 !important; grid-row: auto !important; min-width: 0; }
.workspace.atlas-layout.gap-active #simple-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.workspace.atlas-layout.gap-active #gap-view-controls {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, .3fr);
  align-items: stretch; gap: 6px; width: 100%;
}
.workspace.atlas-layout.gap-active .gap-view-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.workspace.atlas-layout.gap-active #gap-view-controls button {
  min-width: 0; min-height: 44px; padding: 8px; line-height: 1.3;
  overflow-wrap: normal; word-break: normal; white-space: normal;
}
.workspace.atlas-layout.gap-active #gap-view-controls > button { font-size: 12px; }
/* View settings are in page flow and no longer need a reserved dock column. */
.workspace.atlas-layout:not(.gap-active) .viewport-dock { grid-template-columns: minmax(0, 1fr) !important; }
.workspace.atlas-layout .viewport-dock > #simple-comparison { grid-column: 1 / -1 !important; grid-row: auto !important; }
@media (max-width: 850px) {
  .workspace.atlas-layout > .viewport { order: 0; }
  #atlas-view-settings { order: 1; }
  .workspace.atlas-layout > #patient-conditions { order: 2; margin: 8px 0 0; }
  .workspace.atlas-layout #patient-conditions #visual-details > summary {
    display: list-item; align-content: center; min-height: 44px; padding: 10px 0; font-size: 14px;
  }
  .workspace.atlas-layout #patient-conditions #visual-details { padding: 0; border: 0; }
  .workspace.atlas-layout #patient-conditions #visual-details:not([open]) > #injury-list { display: none; }
  .workspace.atlas-layout.gap-active #gap-view-controls { grid-template-columns: minmax(0, 1fr); }
  .workspace.atlas-layout.gap-active #gap-view-controls > button { width: 100%; }
  #atlas-view-settings > details[open] { max-height: none; overflow: visible; }
}

/* In-flow colour guidance never covers the model or its controls. */
#atlas-colour-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; padding: 10px 12px; margin: 8px 0; border: 1px solid #cadad4; border-radius: 7px; background: #f5f8f4; color: #263e37; font-size: 12px; line-height: 1.5; }
#atlas-colour-legend strong { flex-basis: 100%; }
#atlas-colour-legend span { max-width: 55ch; }
.reference-muscle-swatch { display: inline-block; width: 10px; height: 10px; margin-right: 5px; border-radius: 50%; background: #99594f; border: 1px solid #70453d; }
.lumbar-direct-labels { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 2; }
.lumbar-direct-labels svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.lumbar-direct-label { position: absolute; padding: 4px 6px; max-width: 165px; border: 1px solid #49645c; border-radius: 4px; background: rgba(255,255,255,.96); color: #213b32; font-size: 12px; line-height: 1.3; }

.lumbar-pane { position: relative; }

#atlas-colour-legend .change-swatch { display: inline-block; width: 10px; height: 10px; margin-right: 5px; background: #C12CDA; border: 1px solid #742181; }

/* F4: controls for curvature and TOS occupy their own page-flow space. */
.workspace.atlas-layout #atlas-view-settings > .atlas-external-dock {
 position: static !important; inset: auto !important; transform: none !important;
 width: 100% !important; max-width: none !important; max-height: none !important;
 margin: 0 0 8px !important; box-sizing: border-box; overflow: visible;
}
.workspace.atlas-layout.atlas-controls-outside > .viewport { min-height: 0; }
#atlas-local-colour-key { margin: 8px 0; padding: 10px 12px; border: 1px solid #cadad4; border-radius: 7px; background: #f5f8f4; color: #263e37; font-size: 13px; line-height: 1.5; }
#atlas-local-colour-key span { display: inline-block; margin-right: 8px; }
#atlas-local-colour-key i { display: inline-block; width: 10px; height: 10px; margin-right: 4px; border: 1px solid #684b40; border-radius: 50%; }
.bursa-reference-swatch { background: #fff; }
.bursa-swelling-swatch { background: #f05b45; }
/* F6: current module owns its controls; source nodes retain their listeners. */
#phone-secondary-options [data-secondary-suppressed="true"] { display: none !important; }
#current-viewer-camera-controls { display: flex; flex-wrap: wrap; gap: 6px; }
#current-viewer-camera-controls[hidden] { display: none !important; }
#current-viewer-camera-controls button { min-height: 44px; padding: 8px 12px; }

/* Append after the old direct-label rules in audit-layout.css. */
.lumbar-direct-labels { overflow: visible; }
.lumbar-direct-labels svg { overflow: visible; pointer-events: none; }
.lumbar-label-rail {
 display: flex; align-items: stretch; justify-content: space-between; gap: 8px;
 position: relative; z-index: 3; margin-top: 8px; padding: 0; height: 64px; box-sizing: border-box;
 background: #f3f5f0; pointer-events: none;
}
.lumbar-label-rail[hidden], .lumbar-direct-labels[hidden] { display: none !important; }
.lumbar-label-rail > .lumbar-direct-label {
 position: static; flex: 1 1 0; min-width: 0; width: auto; max-width: none;
 padding: 6px; font-size: 12px; line-height: 1.35; text-align: center;
 display: flex; align-items: center; justify-content: center;
 overflow-wrap: normal; white-space: normal; background: #fff;
}
@media (max-width: 850px) {
 .lumbar-label-rail { gap: 5px; }
 .lumbar-label-rail > .lumbar-direct-label { font-size: 11px; padding: 5px 3px; }
}
