/* STEP 47 / V61: TradingView-style compact timeframe selector.
   Keeps the existing terminal timeframe buttons in the DOM for compatibility, but moves the visible UI into one scrollable dropdown. */

body.gp-tv-timeframe-selector-ready .timeframes {
  position: relative !important;
  overflow: visible !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 5px 10px !important;
  gap: 8px !important;
  z-index: 90 !important;
}

body.gp-tv-timeframe-selector-ready .timeframes__scroll {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body.gp-tv-timeframe-selector-ready .timeframes__tools {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  white-space: nowrap !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(58, 151, 255, .42) rgba(6, 14, 28, .42) !important;
  padding-bottom: 1px !important;
}

body.gp-tv-timeframe-selector-ready .timeframes__tools::-webkit-scrollbar {
  height: 4px !important;
}

body.gp-tv-timeframe-selector-ready .timeframes__tools::-webkit-scrollbar-track {
  background: rgba(6, 14, 28, .35) !important;
}

body.gp-tv-timeframe-selector-ready .timeframes__tools::-webkit-scrollbar-thumb {
  background: rgba(58, 151, 255, .45) !important;
  border-radius: 999px !important;
}

body.gp-tv-timeframe-selector-ready .timeframes__divider,
body.gp-tv-timeframe-selector-ready .timeframe-select,
body.gp-tv-timeframe-selector-ready #timeframes > .timeframe-select {
  display: none !important;
}

body.gp-tv-timeframe-selector-ready .timeframes .timeframe-btn {
  display: none !important;
}

.gp-tv-tf-selector {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  z-index: 450 !important;
}

.gp-tv-tf-trigger {
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  height: 28px !important;
  min-width: 62px !important;
  padding: 0 10px !important;
  border: 1px solid rgba(64, 153, 255, .34) !important;
  border-radius: 8px !important;
  background: linear-gradient(180deg, rgba(14, 34, 64, .92), rgba(7, 15, 31, .98)) !important;
  color: #eaf5ff !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255, 255, 255, .05) !important;
  font: 900 12px/1 Inter, -apple-system, BlinkMacSystemFont, sans-serif !important;
  letter-spacing: .01em !important;
  cursor: pointer !important;
  user-select: none !important;
  white-space: nowrap !important;
  transition: border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

.gp-tv-tf-trigger:hover,
.gp-tv-tf-selector.is-open .gp-tv-tf-trigger {
  border-color: rgba(43, 169, 255, .72) !important;
  background: linear-gradient(180deg, rgba(20, 58, 105, .98), rgba(8, 21, 42, .98)) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .28), 0 0 20px rgba(41, 121, 255, .16), inset 0 1px 0 rgba(255, 255, 255, .07) !important;
}

.gp-tv-tf-trigger:active {
  transform: translateY(1px) !important;
}

.gp-tv-tf-trigger:focus-visible {
  outline: 2px solid rgba(43, 169, 255, .72) !important;
  outline-offset: 2px !important;
}

.gp-tv-tf-label {
  display: inline-block !important;
  min-width: 26px !important;
  text-align: center !important;
}

.gp-tv-tf-caret {
  width: 0 !important;
  height: 0 !important;
  border-left: 4px solid transparent !important;
  border-right: 4px solid transparent !important;
  border-top: 5px solid currentColor !important;
  opacity: .78 !important;
  transition: transform .16s ease, opacity .16s ease !important;
}

.gp-tv-tf-selector.is-open .gp-tv-tf-caret {
  transform: rotate(180deg) !important;
  opacity: 1 !important;
}

.gp-tv-tf-menu {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 0 !important;
  width: 248px !important;
  max-height: min(480px, calc(100dvh - 165px)) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 7px 0 !important;
  border: 1px solid rgba(91, 145, 211, .28) !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, rgba(12, 22, 38, .985), rgba(5, 10, 20, .995)) !important;
  box-shadow: 0 26px 70px rgba(0, 0, 0, .62), 0 0 0 1px rgba(255, 255, 255, .035) inset, 0 0 28px rgba(35, 139, 255, .10) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(-7px) scale(.985) !important;
  transform-origin: top left !important;
  transition: opacity .16s ease, visibility .16s ease, transform .16s ease !important;
  z-index: 2000 !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(67, 151, 255, .50) rgba(7, 15, 29, .88) !important;
}

.gp-tv-tf-selector.is-open .gp-tv-tf-menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) scale(1) !important;
}

.gp-tv-tf-menu::-webkit-scrollbar {
  width: 6px !important;
}

.gp-tv-tf-menu::-webkit-scrollbar-track {
  background: rgba(7, 15, 29, .86) !important;
}

.gp-tv-tf-menu::-webkit-scrollbar-thumb {
  background: rgba(67, 151, 255, .52) !important;
  border-radius: 999px !important;
}

.gp-tv-tf-menu__topline {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  height: 34px !important;
  padding: 0 12px 6px !important;
  margin-bottom: 3px !important;
  border-bottom: 1px solid rgba(255, 255, 255, .075) !important;
  color: rgba(234, 245, 255, .92) !important;
  font: 800 12px/1 Inter, -apple-system, BlinkMacSystemFont, sans-serif !important;
}

.gp-tv-tf-menu__topline-icon {
  display: inline-flex !important;
  width: 18px !important;
  height: 18px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 6px !important;
  color: #cfe9ff !important;
  background: rgba(255, 255, 255, .07) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
}

.gp-tv-tf-section {
  padding: 3px 0 5px !important;
}

.gp-tv-tf-section + .gp-tv-tf-section {
  border-top: 1px solid rgba(255, 255, 255, .07) !important;
}

.gp-tv-tf-section-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 28px !important;
  padding: 0 12px !important;
  color: rgba(152, 170, 193, .86) !important;
  font: 800 10px/1 Inter, -apple-system, BlinkMacSystemFont, sans-serif !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.gp-tv-tf-section-title::after {
  content: "⌃" !important;
  color: rgba(152, 170, 193, .54) !important;
  font-size: 11px !important;
  transform: rotate(0deg) !important;
}

.gp-tv-tf-option {
  appearance: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 34px !important;
  padding: 8px 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(232, 241, 252, .95) !important;
  font: 700 13px/1.15 Inter, -apple-system, BlinkMacSystemFont, sans-serif !important;
  text-align: left !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background .14s ease, color .14s ease !important;
}

.gp-tv-tf-option:hover,
.gp-tv-tf-option:focus-visible {
  outline: none !important;
  color: #ffffff !important;
  background: rgba(73, 116, 162, .22) !important;
}

.gp-tv-tf-option.is-active {
  color: #ffffff !important;
  background: linear-gradient(90deg, rgba(41, 121, 255, .95), rgba(20, 94, 213, .88)) !important;
}

.gp-tv-tf-option__value {
  color: rgba(197, 216, 238, .74) !important;
  font: 800 11px/1 JetBrains Mono, monospace !important;
  letter-spacing: .02em !important;
}

.gp-tv-tf-option.is-active .gp-tv-tf-option__value {
  color: rgba(255, 255, 255, .86) !important;
}

.gp-tv-tf-option.is-active::after {
  content: "✓" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

body.gp-chart-tab-fullscreen.gp-tv-timeframe-selector-ready .timeframes {
  overflow: visible !important;
  z-index: 120010 !important;
}

body.gp-chart-tab-fullscreen .gp-tv-tf-selector {
  z-index: 120030 !important;
}

body.gp-chart-tab-fullscreen .gp-tv-tf-menu {
  max-height: min(560px, calc(100dvh - 84px)) !important;
  z-index: 120040 !important;
}

@media (max-width: 768px) {
  body.gp-tv-timeframe-selector-ready .timeframes {
    height: 40px !important;
    min-height: 40px !important;
    padding: 6px 8px !important;
  }

  .gp-tv-tf-trigger {
    height: 30px !important;
    min-width: 66px !important;
  }

  .gp-tv-tf-menu {
    width: min(260px, calc(100vw - 28px)) !important;
    max-height: min(430px, calc(100dvh - 140px)) !important;
  }
}



body.chart-theme-light .gp-tv-tf-trigger {
  background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(241, 245, 249, .98)) !important;
  border-color: rgba(15, 23, 42, .16) !important;
  color: #0f172a !important;
  box-shadow: 0 5px 14px rgba(15, 23, 42, .10), inset 0 1px 0 rgba(255, 255, 255, .86) !important;
}

body.chart-theme-light .gp-tv-tf-trigger:hover,
body.chart-theme-light .gp-tv-tf-selector.is-open .gp-tv-tf-trigger {
  background: #eef6ff !important;
  border-color: rgba(37, 99, 235, .35) !important;
  color: #0f172a !important;
}

body.chart-theme-light .gp-tv-tf-menu {
  background: rgba(255, 255, 255, .985) !important;
  border-color: rgba(15, 23, 42, .14) !important;
  box-shadow: 0 24px 66px rgba(15, 23, 42, .22), 0 0 0 1px rgba(255, 255, 255, .78) inset !important;
  scrollbar-color: rgba(100, 116, 139, .58) rgba(15, 23, 42, .04) !important;
}

body.chart-theme-light .gp-tv-tf-menu__topline,
body.chart-theme-light .gp-tv-tf-option {
  color: #0f172a !important;
}

body.chart-theme-light .gp-tv-tf-menu__topline {
  border-bottom-color: rgba(15, 23, 42, .10) !important;
}

body.chart-theme-light .gp-tv-tf-menu__topline-icon {
  color: #334155 !important;
  background: rgba(15, 23, 42, .07) !important;
}

body.chart-theme-light .gp-tv-tf-section + .gp-tv-tf-section {
  border-top-color: rgba(15, 23, 42, .10) !important;
}

body.chart-theme-light .gp-tv-tf-section-title {
  color: rgba(71, 85, 105, .80) !important;
}

body.chart-theme-light .gp-tv-tf-option:hover,
body.chart-theme-light .gp-tv-tf-option:focus-visible {
  background: rgba(37, 99, 235, .10) !important;
  color: #0f172a !important;
}

body.chart-theme-light .gp-tv-tf-option.is-active {
  color: #ffffff !important;
  background: linear-gradient(90deg, rgba(37, 99, 235, .90), rgba(14, 165, 233, .78)) !important;
}

body.chart-theme-light .gp-tv-tf-option__value {
  color: rgba(71, 85, 105, .78) !important;
}

body.chart-theme-light .gp-tv-tf-option.is-active .gp-tv-tf-option__value {
  color: rgba(255, 255, 255, .86) !important;
}
