/* Equyx — Live Signals */

.sig-shell { padding: 14px 18px 40px; }

.sig-top { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-bottom: 8px; }
.sig-title h2 { font-size: 15px; margin: 0; letter-spacing: .02em; }
.sig-title .muted { font-size: 11px; display: block; margin-top: 2px; }
.sig-clocks { display: flex; gap: 6px; flex-wrap: wrap; }
.sig-clock { font-size: 10.5px; padding: 3px 9px; border-radius: 3px; border: 1px solid var(--border); color: var(--muted); font-variant-numeric: tabular-nums; }
.sig-clock.open { border-color: var(--good); color: var(--good); }
.sig-clock.closed { color: var(--muted); }
.sig-status { margin-left: auto; display: flex; align-items: center; gap: 12px; font-size: 11px; color: var(--muted); font-variant-numeric: tabular-nums; }
.sig-status b { color: var(--text); }
.sig-run { display: inline-flex; align-items: center; gap: 8px; color: var(--amber, #ffa028); }
.sig-age { color: var(--amber-dim, #c8912f); }
.sig-runbtn { font-size: 11.5px; padding: 5px 14px; }

.sig-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin: 6px 0; }
.sig-num { font-size: 10.5px; color: var(--muted); display: inline-flex; align-items: center; gap: 5px; margin-right: 8px; }
.sig-num input { width: 62px; font: inherit; font-size: 11px; padding: 3px 6px; background: var(--panel, #0d0b08); color: var(--text); border: 1px solid var(--border); border-radius: 3px; }
.sig-chk { font-size: 10.5px; color: var(--muted); display: inline-flex; align-items: center; gap: 4px; margin-right: 6px; cursor: pointer; }
.sig-chk input { accent-color: var(--amber, #ffa028); margin: 0; }

.sig-search { position: relative; display: flex; align-items: center; gap: 8px; margin: 8px 0; }
.sig-search .qbar-icon { color: var(--amber, #ffa028); font-weight: 700; }
.sig-q { flex: 1 1 auto; font: inherit; font-size: 12.5px; padding: 7px 10px; background: var(--panel, #0d0b08); color: var(--text); border: 1px solid var(--border-strong, #3a3020); border-radius: 3px; min-width: 200px; }
.sig-q:focus { outline: none; border-color: var(--amber, #ffa028); }
.sig-help { font-size: 11px; color: var(--muted); border: 1px solid var(--border); border-left: 3px solid var(--amber, #ffa028); padding: 8px 12px; margin-bottom: 8px; line-height: 1.8; }
.sig-help code { background: var(--hover, #17130c); padding: 1px 5px; border-radius: 3px; color: var(--amber-dim, #c8912f); font-size: 10.5px; }
.sig-help b { color: var(--text-2); margin-right: 4px; }

.sig-changes { font-size: 11px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 6px 0; padding: 6px 10px; border: 1px solid var(--border); border-radius: 3px; }
.sig-chg { padding: 2px 8px; border-radius: 10px; border: 1px solid var(--border); color: var(--muted); }
.sig-chg i { font-style: normal; font-weight: 700; color: var(--text); margin-right: 4px; }
.sig-chg.up { border-color: var(--good); color: var(--good); }
.sig-chg.down { border-color: var(--bad); color: var(--bad); }

/* ---- dynamic filters ---- */
.sig-cnt { font-style: normal; font-size: 9.5px; margin-left: 5px; padding: 0 5px; border-radius: 8px; background: rgba(255,255,255,.07); color: var(--muted); font-variant-numeric: tabular-nums; }
.hz-btn.on .sig-cnt { background: rgba(0,0,0,.25); color: var(--on-accent, #000); }
.sig-bound { font-style: normal; font-size: 9.5px; color: var(--faint); margin-left: 4px; font-variant-numeric: tabular-nums; }
.sig-presets { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin: 4px 0 6px; }
.sig-presets .pill.empty { opacity: .4; cursor: default; }
.sig-presets .muted { font-size: 10px; margin-left: 4px; }
.sig-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--good); margin-right: 6px; vertical-align: 1px; animation: sigpulse 1.6s ease-in-out infinite; }
@keyframes sigpulse { 0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(78,201,126,.5); } 50% { opacity: .55; box-shadow: 0 0 0 4px rgba(78,201,126,0); } }

/* ---- weeks view ---- */
.sig-table col.w-week { width: 96px; }
.sig-table thead th.c-week { text-align: right; }
.c-week b { font-size: 12px; }

/* ---- predictions vs results ---- */
.sig-results { border: 1px solid var(--border); border-left: 3px solid var(--good); padding: 8px 12px; margin: 0 0 10px; font-size: 11.5px; }
.sig-results .d-h { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: var(--amber, #ffa028); margin-bottom: 6px; }
.sig-results .d-h .muted { text-transform: none; letter-spacing: 0; }
.sr-table { width: 100%; border-collapse: collapse; font-size: 11px; font-variant-numeric: tabular-nums; }
.sr-table th { font-size: 9.5px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); text-align: left; padding: 3px 8px 3px 0; border-bottom: 1px solid var(--border); }
.sr-table td { padding: 4px 8px 4px 0; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
.sr-table tr.up td:nth-child(5) b { color: var(--good); }
.sr-table tr.down td:nth-child(5) b { color: var(--bad); }
.sr-table .sig-mk { margin-left: 4px; }

/* ---- range forecast with levers ---- */
.rf { padding: 4px 16px 10px; }
.rf .d-h { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: var(--amber, #ffa028); margin-bottom: 8px; }
.rf .d-h .muted { text-transform: none; letter-spacing: 0; }
.rf-levers { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: flex-end; margin-bottom: 10px; }
.rf-slider { display: flex; flex-direction: column; font-size: 10.5px; color: var(--muted); min-width: 170px; }
.rf-slider span b { color: var(--text); margin-left: 4px; font-variant-numeric: tabular-nums; }
.rf-slider input[type=range] { width: 100%; accent-color: var(--amber, #ffa028); margin-top: 4px; }
.rf-body { display: grid; grid-template-columns: 320px 1fr; gap: 18px; align-items: start; }
.rf-chart { border: 1px solid var(--border); background: var(--panel-3, #080705); padding: 6px 8px 2px; }
.rf-fan { width: 100%; height: 150px; display: block; }
.rf-fan polygon.wide { fill: rgba(255,160,40,.14); }
.rf-fan polygon.likely { fill: rgba(255,160,40,.32); }
.rf-fan polyline.median { fill: none; stroke: var(--amber, #ffa028); stroke-width: 1.4; stroke-dasharray: 3 2; vector-effect: non-scaling-stroke; }
.rf-fan line.tgt { stroke: var(--good); stroke-width: 1; stroke-dasharray: 2 2; vector-effect: non-scaling-stroke; }
.rf-fan line.stp { stroke: var(--bad); stroke-width: 1; stroke-dasharray: 2 2; vector-effect: non-scaling-stroke; }
.rf-fan line.spot { stroke: rgba(255,255,255,.35); stroke-width: .8; vector-effect: non-scaling-stroke; }
.rf-axis { display: flex; justify-content: space-between; font-size: 9.5px; color: var(--faint); padding: 3px 0 2px; }
.rf-table { width: 100%; border-collapse: collapse; font-size: 11px; font-variant-numeric: tabular-nums; }
.rf-table th { font-size: 9.5px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); text-align: left; padding: 3px 8px 3px 0; border-bottom: 1px solid var(--border); }
.rf-table td { padding: 4px 8px 4px 0; border-bottom: 1px solid var(--border); text-align: left; }
.rf-table td i { font-style: normal; color: var(--muted); font-size: 10px; margin-left: 4px; }
.rf-table td.up b { color: var(--good); }
.rf-table td.down b { color: var(--bad); }
.sd-size input { width: 110px; font: inherit; font-size: 11px; padding: 2px 6px; background: var(--panel, #0d0b08); color: var(--text); border: 1px solid var(--border-strong, #3a3020); border-radius: 3px; }
@media (max-width: 1100px) { .rf-body { grid-template-columns: 1fr; } }

.sig-summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 4px; font-size: 11.5px; color: var(--muted); margin: 8px 0 4px; line-height: 1.7; }
.sig-summary b { color: var(--text); }
.sig-cal { color: var(--good); }
.sig-cal.off { color: var(--amber-dim, #c8912f); }
.sig-sources { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 10.5px; margin: 0 0 8px; }
.sig-src { padding: 2px 8px; border-radius: 10px; border: 1px solid var(--border); color: var(--muted); font-variant-numeric: tabular-nums; }
.sig-src.up { border-color: var(--good); color: var(--good); }
.sig-src.partial { border-color: var(--warn); color: var(--warn); }
.sig-src.down { border-color: var(--bad); color: var(--bad); }
.sig-acc { font-size: 11.5px; line-height: 1.6; color: var(--text-2); border: 1px solid var(--border); border-left: 3px solid var(--good); padding: 8px 12px; margin: 0 0 10px; }
.sig-acc b { color: var(--text); }
.sig-acc.muted { border-left-color: var(--border-strong, #3a3020); }
.sd-learned { border-left: 3px solid var(--border-strong, #3a3020); padding: 6px 10px; margin: 6px 0; font-size: 10.5px; color: var(--muted); line-height: 1.5; }
.sd-learned.up { border-left-color: var(--good); }
.sd-learned.down { border-left-color: var(--bad); }
.sd-learned b { color: var(--text-2); }

/* ---- table ---- */
/* Twelve columns in 1,140px: the width the pane has at 1600 with the analyst
   open. Nothing that decides a trade may sit off-screen on first paint. */
/* COLUMN WIDTHS ARE A CONTRACT WITH table-layout: fixed.
   A cell whose content is wider than its column does not widen the column and
   does not push its neighbour along: it overflows and PAINTS ON TOP of the
   next cell. That is how the instrument name, its strength line and the
   sparkline ended up written across the strategy column — the column was
   150px while the cell asked for 178px, a 92px sparkline and, since the
   logos, another 28px. Every column below is sized for its longest real
   content, and every cell clips, so a longer string can never overlap again;
   the table scrolls sideways instead. */
.sig-table { min-width: 1880px; }
.sig-table.all col.w-week { width: 92px; }
.sig-table col.w-rank { width: 34px; }
.sig-table col.w-stock { width: 208px; }
.sig-table col.w-setup { width: 152px; }
.sig-table col.w-px { width: 92px; }
.sig-table col.w-n { width: 92px; }
.sig-table col.w-hold { width: 132px; }
.sig-table col.w-score { width: 74px; }
.sig-table col.w-ask { width: 54px; }
.sig-table td { padding: 5px 6px; overflow: hidden; }
.sig-table td > * { max-width: 100%; }
/* the screener sizes these for its own narrower table; the signals table is
   wider and carries a logo, so it sets its own */
.sig-table .c-stock { min-width: 0; }
/* the screener puts the rating in its own column and reserves 104px for it;
   here it sits under the score, so it must not demand a width of its own */
.sig-table .c-verdict { min-width: 0; text-align: right !important; }
.sig-table .c-score { min-width: 0; }
.sig-table .st-name { max-width: 100%; }
.sig-table .spark { width: 100%; max-width: 186px; }

/* THE ROW MUST KEEP ITS NAME WHEN YOU SCROLL RIGHT.
   Seventeen columns do not fit beside the analyst, so reading the weekly
   forecasts or the hit rate scrolls the instrument out of view and every row
   becomes an anonymous line of numbers. The rank and the instrument pin to the
   left exactly as the Ask button pins to the right. */
/* A PINNED CELL MUST BE OPAQUE.
   --panel is a translucent tint over the page in every theme (in the terminal
   look it is white at 1.6%), so a pinned column painted with it lets the
   columns sliding underneath show straight through — the instrument was
   overprinted by whatever numbers happened to scroll past. The base colour is
   painted first and the tint layered on top of it, which keeps every theme's
   shade while making the cell solid. */
.sig-table th.c-rank, .sig-table td.c-rank { position: sticky; left: 0; z-index: 3; }
.sig-table th.c-stock, .sig-table td.c-stock { position: sticky; left: 34px; z-index: 3; box-shadow: 6px 0 8px -6px rgba(0,0,0,.75); }
.sig-table thead th.c-rank, .sig-table thead th.c-stock { z-index: 5; background-color: var(--amber, #ffa028); background-image: none; }
.sig-row:hover td.c-rank, .sig-row:hover td.c-stock, .sig-row:hover td.c-ask {
  background-image: linear-gradient(var(--hover, #17130c), var(--hover, #17130c));
}
.sig-row.open td.c-rank, .sig-row.open td.c-stock, .sig-row.open td.c-ask {
  background-image: linear-gradient(var(--active, #1d1710), var(--active, #1d1710));
}
/* the expanded panel spans the whole row, so it must not sit under the pinned
   columns: it scrolls with the table like the rest of the row */
.sig-detail-row td { position: relative; z-index: 1; }
.sig-table thead th.c-setup, .sig-table thead th.c-hold, .sig-table thead th.c-why { text-align: left; }
.c-setup, .c-hold, .c-why { text-align: left !important; }
.c-setup b { font-size: 11.5px; display: block; }
.c-sub { font-size: 10px; color: var(--muted); margin-top: 2px; }
.c-sub.up { color: var(--good); }
.c-sub.down { color: var(--bad); }
.c-hold b { font-size: 11.5px; display: block; white-space: nowrap; }
.c-why { font-size: 10.5px; color: var(--muted); line-height: 1.45; white-space: normal; }
.c-live.hit b { color: var(--good); }
.c-live.hit .c-sub { color: var(--good); font-weight: 700; }
.c-live.stopped b { color: var(--bad); }
.c-live.stopped .c-sub { color: var(--bad); font-weight: 700; }
.c-track b.warn { color: var(--amber, #ffa028); }
.sig-row.buy td.c-rank { border-left: 3px solid var(--good); }
.sig-row.watch td.c-rank { border-left: 3px solid var(--amber, #ffa028); }
.sig-mk { font-size: 8.5px; letter-spacing: .06em; padding: 1px 5px; border-radius: 3px; margin-left: 6px; vertical-align: 1px; border: 1px solid var(--border-strong, #3a3020); color: var(--muted); }
.sig-mk.in-nse { border-color: var(--warn); color: var(--warn); }
.sig-spark { display: block; width: 100%; height: 22px; margin-top: 4px; }
.sig-spark path { fill: none; stroke-width: 1.4; }
.sig-spark path.up { stroke: var(--good); }
.sig-spark path.down { stroke: var(--bad); }
.sig-spark line.tgt { stroke: var(--good); stroke-width: .6; stroke-dasharray: 2 2; opacity: .8; }
.sig-spark line.stp { stroke: var(--bad); stroke-width: .6; stroke-dasharray: 2 2; opacity: .8; }
.sig-table .c-profit b { font-size: 14px; }

/* ---- detail ---- */
.sig-detail-row td { background: var(--panel-2, #0a0906) !important; padding: 0 !important; }
/* The plan reads across, not down: its reasons were wrapping every three
   words in a column too narrow to hold a sentence. On a wide screen the
   plan takes the full width and the rationale and evidence sit beside each
   other under it. */
.sig-detail { display: grid; grid-template-columns: 1.6fr 1fr 1.1fr; gap: 22px; padding: 14px 16px 10px; text-align: left; font-size: 11.5px; }
@media (max-width: 1500px) { .sig-detail { grid-template-columns: 1fr 1fr; } }
@media (max-width: 1000px) { .sig-detail { grid-template-columns: 1fr; } }
.sig-detail .d-h { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: var(--amber, #ffa028); margin-bottom: 6px; }
.sig-detail .d-h .muted { text-transform: none; letter-spacing: 0; }
.sig-detail .mt { margin-top: 14px; }
.sig-detail .dp-plain { font-size: 10.5px; color: var(--muted); line-height: 1.5; }
.sig-detail .dp-plain.warn { color: var(--amber-dim, #c8912f); }
.sd-plan { border-collapse: collapse; width: 100%; }
.sd-plan td { padding: 3px 8px 3px 0; vertical-align: top; text-align: left; border-bottom: 1px solid var(--border); }
.sd-plan td:first-child { color: var(--muted); font-size: 10.5px; white-space: nowrap; width: 96px; }
.sd-plan td.dp-plain { min-width: 230px; }
.sd-plan td:nth-child(2) { white-space: nowrap; font-variant-numeric: tabular-nums; }
.sd-plan td i, .sd-hz td i { font-style: normal; color: var(--muted); font-size: 10px; margin-left: 4px; }
.sd-hz { border-collapse: collapse; width: 100%; font-variant-numeric: tabular-nums; }
.sd-hz th { font-size: 9.5px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); text-align: right; padding: 2px 6px; border-bottom: 1px solid var(--border); }
.sd-hz td { text-align: right; padding: 3px 6px; border-bottom: 1px solid var(--border); }
.sd-hz th:first-child, .sd-hz td:first-child { text-align: left; }
.sd-hz tr.on td { background: var(--active, #1d1509); color: var(--text); font-weight: 600; }
.sd-part { margin-bottom: 8px; }
.sdp-top { display: flex; justify-content: space-between; font-size: 11px; }
.sdp-top b { font-variant-numeric: tabular-nums; }
.sig-bar { height: 4px; background: var(--track, #1a1509); margin: 3px 0 3px; border-radius: 2px; overflow: hidden; }
.sig-bar span { display: block; height: 100%; background: var(--amber, #ffa028); }
.sd-pen { border-left: 3px solid var(--bad); padding: 6px 10px; margin: 6px 0; font-size: 10.5px; color: var(--muted); line-height: 1.5; }
.sd-pen b { color: #ffb4ae; }
.sd-track div { margin-bottom: 4px; }
.sd-trades { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.sd-trade { font-size: 9.5px; padding: 2px 6px; border-radius: 3px; border: 1px solid var(--border); color: var(--muted); font-variant-numeric: tabular-nums; }
.sd-trade.target { border-color: var(--good); color: var(--good); }
.sd-trade.stop { border-color: var(--bad); color: var(--bad); }
.sd-item { display: grid; grid-template-columns: 16px 1fr; gap: 0 6px; margin-bottom: 5px; }
.sd-item a { color: var(--text-2); font-size: 11px; line-height: 1.4; }
.sd-item a:hover { color: var(--amber, #ffa028); }
.sd-item i { grid-column: 2; font-style: normal; font-size: 9.5px; color: var(--faint); }
.sd-pol { font-weight: 700; text-align: center; border-radius: 3px; height: 16px; line-height: 16px; font-size: 11px; }
.sd-pol.up { color: var(--good); background: rgba(36,201,138,.13); }
.sd-pol.down { color: var(--bad); background: rgba(242,86,77,.14); }
.sd-pol.flat { color: var(--faint); }
.sd-ins table { border-collapse: collapse; width: 100%; font-size: 10.5px; font-variant-numeric: tabular-nums; }
.sd-ins td { padding: 2px 6px 2px 0; border-bottom: 1px solid var(--border); vertical-align: top; }
.sd-ins td i { font-style: normal; color: var(--faint); font-size: 9.5px; }
.sd-third div { margin-bottom: 4px; }
.sd-third i { font-style: normal; color: var(--faint); font-size: 10px; }
.sig-act { display: flex; flex-wrap: wrap; gap: 8px; padding: 6px 16px 14px; align-items: center; }
.btn-trade { background: var(--good); border-color: var(--good); color: #fff; }
.btn-trade:hover:not(:disabled) { background: #139447; border-color: #139447; }
.sig-notrade { font-size: 10.5px; }
.sig-detail .up, .sig-act .up { color: var(--good); }
.sig-detail .down { color: var(--bad); }

@media (max-width: 1400px) { .sig-detail { grid-template-columns: 1fr 1fr; } }
@media (max-width: 900px) {
  .sig-detail { grid-template-columns: 1fr; }
  .sig-status { margin-left: 0; }
}

/* icons sit with their labels, never instead of them */
.hz-lab .ico { width: 13px; height: 13px; margin-right: 4px; vertical-align: -2px; opacity: 0.85; }
.sig-act .btn .ico, .sig-runbtn .ico { width: 13px; height: 13px; margin-right: 5px; vertical-align: -2px; }
.qbar-icon .ico { width: 14px; height: 14px; vertical-align: -3px; color: var(--muted); }
.st-sym.with-logo { display: flex; align-items: center; gap: 6px; }
.st-sym.with-logo .logo { flex: 0 0 auto; }

/* a venue the signals engine does not scan, said plainly rather than shown empty */
.sig-offmarket { font-size: 11.5px; line-height: 1.6; color: var(--text-2); border: 1px solid var(--border); border-left: 3px solid var(--amber, #ffa028); padding: 8px 12px; margin: 8px 0 4px; }
.sig-offmarket b { color: var(--amber, #ffa028); }

/* ---- desk review: four seats, one sheet ---- */
.desk { margin: 14px 16px 4px; padding-top: 12px; border-top: 1px solid var(--border); }
.desk .d-h { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: var(--amber, #ffa028); margin-bottom: 8px; }
.desk .d-h .muted { text-transform: none; letter-spacing: 0; }
.desk-run { display: inline-flex; align-items: center; gap: 7px; }
.desk-run .ico { width: 14px; height: 14px; }
.desk-note { font-style: normal; color: var(--muted); font-size: 10px; margin-left: 4px; }
.desk-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
@media (max-width: 1400px) { .desk-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 820px) { .desk-grid { grid-template-columns: 1fr; } }
.desk-seat { border: 1px solid var(--border); border-top: 2px solid var(--border-strong, #3a3020); padding: 9px 11px; background: var(--panel, #0d0b08); }
.desk-seat.bad { border-top-color: var(--bad); }
.ds-h { display: flex; align-items: center; gap: 6px; font-size: 10.5px; text-transform: uppercase; letter-spacing: .07em; color: var(--text-2); margin-bottom: 6px; }
.ds-h .ico { width: 13px; height: 13px; color: var(--amber, #ffa028); }
.ds-wait { display: flex; align-items: center; gap: 7px; font-size: 10.5px; color: var(--muted); }
.ds-body { font-size: 11px; line-height: 1.6; color: var(--text-2); }
.ds-body p { margin: 0 0 6px; }
.desk-foot { font-size: 10px; color: var(--muted); line-height: 1.55; margin-top: 9px; }
.desk-foot a { color: var(--muted); text-decoration: underline; }
/* a finger taps the whole label, and the label was 18px tall on a phone */
@media (max-width: 700px), (pointer: coarse) {
  .sig-chk { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; padding: 4px 6px; }
  .sig-chk input[type=checkbox] { width: 20px; height: 20px; flex: 0 0 auto; }
}

/* ---- A PINNED COLUMN MUST BE OPAQUE ----
   Measured: the sticky rank, ticker and Ask cells resolved to alpha 0.024, so
   every column sliding sideways underneath showed straight through the one
   column that is meant to be holding still. It is the same failure as a
   transparent panel: a layer that floats over content and does not paint.
   `background-color` carries the opaque ground; `background-image` carries the
   zebra tint on top of it, so the stripe survives without the cell going
   see-through. */
.sig-table td.c-rank, .sig-table td.c-stock, .sig-table td.c-ask {
  background-color: var(--bg);
}
.sig-table tr.sig-row:nth-child(4n+1) td.c-rank,
.sig-table tr.sig-row:nth-child(4n+1) td.c-stock,
.sig-table tr.sig-row:nth-child(4n+1) td.c-ask {
  background-color: var(--surface);
}
.sig-table tr.sig-row:hover td.c-rank,
.sig-table tr.sig-row:hover td.c-stock,
.sig-table tr.sig-row:hover td.c-ask {
  background-color: var(--hover);
}
