/* Watchlist — ticks ao vivo + resize lateral */
#right-resize-handle {
  position: absolute;
  top: 0;
  left: -8px;
  width: 16px;
  height: 100%;
  cursor: col-resize;
  z-index: 120;
  touch-action: none;
}

#right-resize-handle::after {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 1px;
  background: var(--border2, #2a2a2a);
  transition: width 0.12s ease, background 0.12s ease, box-shadow 0.12s ease;
}

#right-resize-handle:hover::after,
body.right-resize-active #right-resize-handle::after {
  width: 2px;
  background: rgba(74, 143, 160, 0.75);
  box-shadow: 0 0 10px rgba(74, 143, 160, 0.28);
}

body.right-resize-active {
  cursor: col-resize !important;
  user-select: none !important;
}

body.right-resize-active * {
  cursor: col-resize !important;
}

body.view-geral-active #right-resize-handle::after {
  background: var(--inst-border-dim, rgba(255, 255, 255, 0.06));
}

body.view-geral-active #right-resize-handle:hover::after,
body.view-geral-active.right-resize-active #right-resize-handle::after {
  background: var(--inst-cyan-muted, rgba(0, 168, 204, 0.45));
  box-shadow: 0 0 10px rgba(0, 168, 204, 0.2);
}

body.fs-mode #right-resize-handle,
body.fs-chart-only #right-resize-handle,
body.ih-hub-full #right-resize-handle,
body.chat-full #right-resize-handle,
body.report-full #right-resize-handle,
body.ordens-full #right-resize-handle,
body.tp-full #right-resize-handle {
  display: none !important;
}

body.view-geral-active.fs-mode.fs-mrr-panel #right-resize-handle,
body.view-geral-active.gov-tv-wl-mode #right-resize-handle {
  display: block !important;
  pointer-events: auto !important;
  z-index: 250;
}

.wl-live-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  margin-left: 6px;
  vertical-align: middle;
  background: var(--text-dim, #444);
  opacity: 0.45;
  transition: background 0.25s ease, box-shadow 0.25s ease, opacity 0.25s ease;
}

.wl-live-dot.wl-live-on {
  background: var(--cyan, #00a8cc);
  opacity: 1;
  box-shadow: 0 0 6px rgba(0, 168, 204, 0.65);
  animation: wl-live-pulse 1.6s ease-in-out infinite;
}

@keyframes wl-live-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.55; transform: scale(0.88); }
}

.wl-price {
  font-variant-numeric: tabular-nums;
  transition: color 0.18s ease;
}

.wl-price.tick-up {
  color: var(--green, #67E6C9);
}

.wl-price.tick-dn {
  color: var(--red, #E77A7A);
}

.wl-row.wl-row--search-hidden,
.wl-section.wl-section--search-hidden {
  display: none !important;
}

.wl-row.wl-tick-up {
  background: rgba(116, 222, 198, 0.07);
}

.wl-row.wl-tick-dn {
  background: rgba(224, 134, 134, 0.07);
}

body.view-geral-active .wl-price.tick-up {
  color: var(--inst-green, #67E6C9);
}

body.view-geral-active .wl-price.tick-dn {
  color: var(--inst-red, #E77A7A);
}

body.view-geral-active .wl-row.wl-tick-up {
  background: rgba(116, 222, 198, 0.08);
}

body.view-geral-active .wl-row.wl-tick-dn {
  background: rgba(224, 134, 134, 0.08);
}

.wl-row.wl-sess-active .wl-name {
  color: var(--cyan, #00a8cc);
}

.wl-row.wl-sess-idle:not(.active) .wl-name,
.wl-row.wl-sess-idle:not(.active) .wl-price {
  color: var(--text, #d4dce4);
  opacity: 1;
}

.wl-row.wl-sess-dim:not(.active) .wl-name,
.wl-row.wl-sess-dim:not(.active) .wl-price,
.wl-row.wl-sess-dim:not(.active) .wl-pct {
  opacity: 1;
}

body.view-geral-active .wl-row.wl-sess-active .wl-name {
  color: var(--inst-cyan, #00a8cc);
}

body.view-geral-active .wl-row.wl-sess-idle:not(.active) .wl-name,
body.view-geral-active .wl-row.wl-sess-idle:not(.active) .wl-price {
  color: var(--inst-text, #d4dce4);
  opacity: 1;
}

body.view-geral-active .wl-row.wl-sess-idle:not(.active) .wl-pct.up {
  color: var(--inst-green, #67E6C9);
  opacity: 1;
}

body.view-geral-active .wl-row.wl-sess-idle:not(.active) .wl-pct.dn {
  color: var(--inst-red, #E77A7A);
  opacity: 1;
}

body.view-geral-active .wl-row.wl-sess-dim:not(.active) .wl-name,
body.view-geral-active .wl-row.wl-sess-dim:not(.active) .wl-price,
body.view-geral-active .wl-row.wl-sess-dim:not(.active) .wl-pct {
  opacity: 1;
  color: var(--inst-text, #d4dce4);
}

body.view-geral-active .wl-row.wl-sess-dim:not(.active) .wl-pct.up {
  color: var(--inst-green, #67E6C9);
  opacity: 1;
}

body.view-geral-active .wl-row.wl-sess-dim:not(.active) .wl-pct.dn {
  color: var(--inst-red, #E77A7A);
  opacity: 1;
}

/* Gap between watchlist groups (Forex → Metals → Indices → Crypto) */
.wl-section,
.wl-section-active {
  margin-top: 16px;
  margin-bottom: 6px;
}

body.view-geral-active .wl-section,
body.view-geral-active .wl-section-active {
  margin-top: 22px;
  margin-bottom: 10px;
}
