/* STEP79 / V93 - SAFE top navigation + docked DRAW rail.
   Scoped behind body.gp-step79-ready so it cannot affect app preload. */

:root { --gp-step79-draw-col: 72px; }

.gp-step79-header-nav {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-left: 8px;
  min-width: 0;
  flex: 0 1 auto;
}

.gp-step79-header-nav__btn {
  appearance: none !important;
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 12px !important;
  border-radius: 11px !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025)) !important;
  color: rgba(246,247,249,.88) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  font: 900 11px/1 Inter, system-ui, sans-serif !important;
  letter-spacing: .015em !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  box-shadow: inset 0 1px rgba(255,255,255,.055) !important;
  transition: background .14s ease, color .14s ease, border-color .14s ease, box-shadow .14s ease, transform .14s ease !important;
}

.gp-step79-header-nav__btn:hover {
  color: #ffffff !important;
  border-color: rgba(0,224,255,.26) !important;
  background: rgba(255,255,255,.085) !important;
}

.gp-step79-header-nav__btn:active { transform: translateY(1px) !important; }

.gp-step79-header-nav__btn.is-active,
.gp-step79-header-nav__btn.is-open {
  color: #03111d !important;
  border-color: transparent !important;
  background: linear-gradient(135deg, #0aa7ff, #00efbf) !important;
  box-shadow: 0 0 22px rgba(0,224,255,.20), inset 0 1px rgba(255,255,255,.22) !important;
}

.gp-step79-header-nav__btn[data-gp-step79-top-nav="prime-tools"].is-active,
.gp-step79-header-nav__btn[data-gp-step79-top-nav="prime-tools"].is-open {
  background: linear-gradient(135deg, #19f09b, #00dfc4) !important;
  box-shadow: 0 0 22px rgba(25,240,155,.22), inset 0 1px rgba(255,255,255,.22) !important;
}

.gp-step79-header-nav__icon { font-size: 12px; line-height: 1; }

/* Header order only after terminal is fully ready */
html body.gp-step79-ready.terminal-active .header #gp-auth-widget,
html body.gp-step79-ready.gp-terminal-active .header #gp-auth-widget {
  order: 12 !important;
  flex: 0 0 auto !important;
}

html body.gp-step79-ready.terminal-active .header .gp-step79-header-nav,
html body.gp-step79-ready.gp-terminal-active .header .gp-step79-header-nav {
  order: 13 !important;
}

html body.gp-step79-ready.terminal-active .header #gp-clean-chart-head-btn,
html body.gp-step79-ready.gp-terminal-active .header #gp-clean-chart-head-btn,
html body.gp-step79-ready.terminal-active .header [data-tv-action="cleanChart"],
html body.gp-step79-ready.gp-terminal-active .header [data-tv-action="cleanChart"] {
  order: 14 !important;
}

/* Avoid duplicate visible Settings icon when Settings is now in top nav. */
html body.gp-step79-ready.terminal-active .header .header__controls #settings-btn,
html body.gp-step79-ready.gp-terminal-active .header .header__controls #settings-btn {
  display: none !important;
}

/* Left sidebar becomes a compact DRAW dock after the rail has been safely moved. */
html body.gp-step79-ready.terminal-active .gp-terminal-side nav,
html body.gp-step79-ready.gp-terminal-active .gp-terminal-side nav,
html body.gp-step79-ready.terminal-active .gp-terminal-side .gp-plan-card,
html body.gp-step79-ready.gp-terminal-active .gp-terminal-side .gp-plan-card {
  display: none !important;
  visibility: hidden !important;
}

@media (min-width: 1181px) {
  html body.gp-step79-ready.terminal-active,
  html body.gp-step79-ready.gp-terminal-active {
    --gp-step04-side-width: var(--gp-step79-draw-col) !important;
    --gp-terminal-side-width: var(--gp-step79-draw-col) !important;
  }

  html body.gp-step79-ready.terminal-active.gp-dashboard-chart-mode #app,
  html body.gp-step79-ready.gp-terminal-active.gp-dashboard-chart-mode #app,
  html body.gp-step79-ready.terminal-active.gp-dashboard-chart-mode.gp-clean-chart-active #app,
  html body.gp-step79-ready.gp-terminal-active.gp-dashboard-chart-mode.gp-clean-chart-active #app,
  html body.gp-step79-ready.terminal-active.gp-dashboard-chart-mode.gp-clean-chart-visuals-only #app,
  html body.gp-step79-ready.gp-terminal-active.gp-dashboard-chart-mode.gp-clean-chart-visuals-only #app,
  html body.gp-step79-ready.terminal-active.gp-dashboard-chart-mode.gp-clean-dom-restored #app,
  html body.gp-step79-ready.gp-terminal-active.gp-dashboard-chart-mode.gp-clean-dom-restored #app {
    grid-template-columns: var(--gp-step79-draw-col) minmax(0, 1fr) var(--gp-step04-dom-width, var(--gp-step01-dom-width, 430px)) !important;
  }

  html body.gp-step79-ready.terminal-active.gp-dashboard-chart-mode .gp-terminal-side,
  html body.gp-step79-ready.gp-terminal-active.gp-dashboard-chart-mode .gp-terminal-side,
  html body.gp-step79-ready.terminal-active.gp-dashboard-chart-mode.gp-clean-chart-active .gp-terminal-side,
  html body.gp-step79-ready.gp-terminal-active.gp-dashboard-chart-mode.gp-clean-chart-active .gp-terminal-side,
  html body.gp-step79-ready.terminal-active.gp-dashboard-chart-mode.gp-clean-chart-visuals-only .gp-terminal-side,
  html body.gp-step79-ready.gp-terminal-active.gp-dashboard-chart-mode.gp-clean-chart-visuals-only .gp-terminal-side,
  html body.gp-step79-ready.terminal-active.gp-dashboard-chart-mode.gp-clean-dom-restored .gp-terminal-side,
  html body.gp-step79-ready.gp-terminal-active.gp-dashboard-chart-mode.gp-clean-dom-restored .gp-terminal-side {
    grid-column: 1 !important;
    grid-row: 2 / 6 !important;
    width: var(--gp-step79-draw-col) !important;
    min-width: var(--gp-step79-draw-col) !important;
    max-width: var(--gp-step79-draw-col) !important;
    padding: 6px 5px !important;
    overflow: visible !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    background: linear-gradient(180deg, rgba(7,7,8,.98), rgba(0,0,0,.98)) !important;
    border-color: rgba(255,255,255,.10) !important;
  }

  html body.gp-step79-ready.terminal-active.gp-dashboard-chart-mode .main,
  html body.gp-step79-ready.gp-terminal-active.gp-dashboard-chart-mode .main,
  html body.gp-step79-ready.terminal-active.gp-dashboard-chart-mode.gp-clean-chart-active .main,
  html body.gp-step79-ready.gp-terminal-active.gp-dashboard-chart-mode.gp-clean-chart-active .main,
  html body.gp-step79-ready.terminal-active.gp-dashboard-chart-mode.gp-clean-chart-visuals-only .main,
  html body.gp-step79-ready.gp-terminal-active.gp-dashboard-chart-mode.gp-clean-chart-visuals-only .main,
  html body.gp-step79-ready.terminal-active.gp-dashboard-chart-mode.gp-clean-dom-restored .main,
  html body.gp-step79-ready.gp-terminal-active.gp-dashboard-chart-mode.gp-clean-dom-restored .main {
    grid-column: 2 !important;
  }

  html body.gp-step79-ready.terminal-active.gp-dashboard-chart-mode .gp-market-overview,
  html body.gp-step79-ready.gp-terminal-active.gp-dashboard-chart-mode .gp-market-overview,
  html body.gp-step79-ready.terminal-active.gp-dashboard-chart-mode.gp-clean-chart-active .gp-market-overview,
  html body.gp-step79-ready.gp-terminal-active.gp-dashboard-chart-mode.gp-clean-chart-active .gp-market-overview,
  html body.gp-step79-ready.terminal-active.gp-dashboard-chart-mode.gp-clean-chart-visuals-only .gp-market-overview,
  html body.gp-step79-ready.gp-terminal-active.gp-dashboard-chart-mode.gp-clean-chart-visuals-only .gp-market-overview,
  html body.gp-step79-ready.terminal-active.gp-dashboard-chart-mode.gp-clean-dom-restored .gp-market-overview,
  html body.gp-step79-ready.gp-terminal-active.gp-dashboard-chart-mode.gp-clean-dom-restored .gp-market-overview,
  html body.gp-step79-ready.terminal-active.gp-dashboard-chart-mode .tools-panel,
  html body.gp-step79-ready.gp-terminal-active.gp-dashboard-chart-mode .tools-panel,
  html body.gp-step79-ready.terminal-active.gp-dashboard-chart-mode .gp-terminal-bottom,
  html body.gp-step79-ready.gp-terminal-active.gp-dashboard-chart-mode .gp-terminal-bottom {
    grid-column: 2 / 4 !important;
  }
}

/* Dock the Step77 DRAW rail into the narrow sidebar column. */
html body.gp-step79-ready .gp-terminal-side > .gp-draw-tv-rail.gp-step79-docked {
  position: sticky !important;
  top: 8px !important;
  left: auto !important;
  z-index: 210 !important;
  width: 56px !important;
  max-height: calc(100dvh - 96px) !important;
  overflow-y: auto !important;
  overflow-x: visible !important;
  padding: 7px 5px !important;
  margin: 0 auto !important;
  border-radius: 15px !important;
  background: linear-gradient(180deg, rgba(16,16,18,.98), rgba(5,5,6,.98)) !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.40), inset 0 1px rgba(255,255,255,.06) !important;
}

html body.gp-step79-ready .gp-terminal-side > .gp-draw-tv-rail.gp-step79-docked::-webkit-scrollbar { width: 4px; }
html body.gp-step79-ready .gp-terminal-side > .gp-draw-tv-rail.gp-step79-docked::-webkit-scrollbar-thumb { background: rgba(255,255,255,.18); border-radius: 99px; }

html body.gp-step79-ready .gp-terminal-side > .gp-draw-tv-rail.gp-step79-docked .gp-draw-tv-rail__brand {
  height: 22px !important;
  font-size: 8px !important;
}

html body.gp-step79-ready .gp-terminal-side > .gp-draw-tv-rail.gp-step79-docked .gp-draw-tv-btn {
  width: 41px !important;
  height: 39px !important;
}

html body.gp-step79-ready .gp-terminal-side > .gp-draw-tv-rail.gp-step79-docked .gp-draw-tv-state { max-width: 44px !important; }

html body.gp-step79-ready .gp-terminal-side > .gp-draw-tv-rail.gp-step79-docked .gp-draw-tv-submenu {
  left: calc(100% + 14px) !important;
  top: 46px !important;
}

/* If an older rail is still inside chart after ready, keep it hidden. */
html body.gp-step79-ready .chart-area > .gp-draw-tv-rail:not(.gp-step79-docked),
html body.gp-step79-ready #chart-area > .gp-draw-tv-rail:not(.gp-step79-docked) {
  opacity: 0 !important;
  pointer-events: none !important;
}

.gp-prime-tools-popover.gp-step79-header-positioned { z-index: 100050 !important; }

@media (max-width: 1380px) {
  .gp-step79-header-nav__btn { padding: 0 9px !important; font-size: 10px !important; }
}

@media (max-width: 1180px) {
  .gp-step79-header-nav { display: none !important; }
}
