/*
 * Targeted staging-safe layout overlay for the Grabber candidate rail.
 * Keep the candidate navigator bounded while the selected detail remains
 * independently scrollable below it.
 */
.kline-lab__right-rail-content > .grabber {
  height: 100%;
  min-height: 0;
}

.grabber > .grabber__body:has(> .grabber__candidate-list) {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  overflow: hidden;
}

.grabber > .grabber__body:has(> .grabber__candidate-list):has(> .grabber__detail) {
  grid-template-rows: minmax(8rem, 13rem) minmax(0, 1fr);
}

.grabber__body > .grabber__candidate-list {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.grabber__body > .grabber__candidate-list .grabber__candidate-main {
  gap: 0.12rem 0.5rem;
  padding-top: 0.45rem;
  padding-bottom: 0.45rem;
}

.grabber__body > .grabber__detail {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.grabber__body > .grabber__detail > header {
  position: sticky;
  z-index: 1;
  top: 0;
  border-bottom: 1px solid var(--lab-line, #2a2a2d);
  background: var(--lab-panel, #171719);
}
