/* =========================================================
   MARKET TABLE — UnusualWhales-style (Bootstrap-safe)
   Hover FIXED — NO ROW BORDERS
   ========================================================= */

/* Base table */
.market-table{
  font-family: inherit;
  font-size: 12px;
  line-height: 1.2;

  /* Bootstrap variables (CRITICAL) */
  --bs-table-bg: rgba(0,0,0,.14);
  --bs-table-hover-bg: rgba(255,255,255,.020);
  --bs-table-border-color: rgba(255,255,255,.08);

  color: rgba(255,255,255,.88);
}

/* =========================
   HARD RESET — kill ALL borders
   ========================= */
table.market-table,
table.market-table > :not(caption) > * > *{
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

table.market-table td,
table.market-table th{
  border-top: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
}

table.market-table tbody tr{
  border: 0 !important;
}

table.market-table > :not(caption) > *{
  border-top: 0 !important;
}

/* =========================
   Header (keep divider)
   ========================= */
.market-table thead th{
  background: rgba(0,0,0,.55);
  color: rgba(255,255,255,.75);
  font-weight: 700;
  letter-spacing: .2px;
  padding: 10px 10px;
  vertical-align: middle;
  horizontal-align: middle;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
}
/* =========================
   ECON CARD (Market Overview)
   ========================= */
.econ-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.econ-grid-2{
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media (max-width: 1100px){
  .econ-grid-2{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 700px){
  .econ-grid{ grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .econ-grid-2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.econ-kpi{
  padding: 12px 12px;
  border-radius: 14px;
  background: rgba(0,0,0,.24);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
  min-height: 74px;
}

.econ-label{
  font-size: 11px;
  letter-spacing: .25px;
  color: rgba(255,255,255,.70);
  margin-bottom: 6px;
  font-weight: 650;
}

.econ-value{
  font-size: 18px;
  font-weight: 900;
  color: rgba(255,255,255,.92);
  line-height: 1.1;
}

.econ-sub{
  margin-top: 6px;
  font-size: 10.5px;
  color: rgba(255,255,255,.55);
}

.econ-divider{
  height: 1px;
  background: rgba(255,255,255,.08);
  margin: 12px 0;
}


/* =========================
   Cells (compact)
   ========================= */
.market-table td{
  padding: 8px 10px;
  vertical-align: middle;
}

/* =========================
   Zebra rows (soft, no lines)
   ========================= */
.market-table tbody tr:nth-child(odd) td{
  background: rgba(255,255,255,.015);
}

.market-table tbody tr:nth-child(even) td{
  background: rgba(255,255,255,.025);
}

/* =========================
   Hover (real bootstrap override)
   ========================= */
table.market-table.table-hover > tbody > tr:hover > *{
  background-color: rgba(255,255,255,.040) !important; /* antes .020 */
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
}


/* =========================
   Links
   ========================= */
.market-table .ticker-link{
  color: rgba(255,255,255,.92) !important;
  text-decoration: none;
  font-weight: 700;
}

.market-table .ticker-link:hover{
  text-decoration: underline;
}

/* =========================
   Force text color
   ========================= */
.market-table td,
.market-table td a{
  color: rgba(255,255,255,.90) !important;
}

/* =========================
   Chg %
   ========================= */
.market-table .chg-pos{
  color: #2ecc71 !important;
  font-weight: 800;
}

.market-table .chg-neg{
  color: #ff5252 !important;
  font-weight: 800;
}

.market-table .chg-flat{
  color: rgba(255,255,255,.65) !important;
  font-weight: 700;
}
/* ─────────────────────────────
   Economic Pulse — subcards
   ───────────────────────────── */

.econ-pulse-wrap{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.econ-subcard{
  border-radius: 16px;
  background: rgba(0,0,0,.16);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.07);
  padding: 12px;
}

.econ-subhead{
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .25px;
  color: rgba(255,255,255,.75);
  margin: 2px 2px 10px 2px;
  text-transform: uppercase;
}

/* grids */
.econ-grid.econ-grid-3{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.econ-grid.econ-grid-6{
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media (max-width: 1100px){
  .econ-grid.econ-grid-6{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 700px){
  .econ-grid.econ-grid-3{ grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .econ-grid.econ-grid-6{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* trend coloring (purely direction-based, not “good/bad”) */
.trend-up{ color: #2ecc71 !important; }
.trend-down{ color: #ff5252 !important; }
.trend-flat{ color: rgba(255,255,255,.92) !important; }

/* Tooltip look */
.econ-tooltip .tooltip-inner{
  max-width: 320px;
  text-align: left;
  background: rgba(0,0,0,.92);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 55px rgba(0,0,0,.70);
  border-radius: 14px;
  padding: 10px 10px;
  color: rgba(255,255,255,.90);
}

.econ-tip-head{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.econ-tip-trend{
  font-weight: 900;
  letter-spacing: .2px;
  font-size: 12px;
}

.econ-tip-last{
  font-size: 11px;
  color: rgba(255,255,255,.60);
  font-weight: 650;
}

.econ-tip-body{
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.econ-tip-row{
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 4px 6px;
  border-radius: 10px;
  background: rgba(255,255,255,.03);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
}

.econ-tip-date{
  font-size: 11px;
  color: rgba(255,255,255,.68);
  font-weight: 650;
}

.econ-tip-val{
  font-size: 11px;
  font-weight: 900;
  color: rgba(255,255,255,.92);
}
.econ-subsection{
  margin-top: 10px;
  margin-bottom: 6px;
  font-size: 11px;
  letter-spacing: .6px;
  font-weight: 700;
  color: rgba(255,255,255,.65);
}

.econ-subsection-muted{
  color: rgba(140,180,255,.65);
}
.econ-tip-wrap{ display: flex; flex-direction: column; gap: 8px; }

.econ-tip-explain-wrap{
  padding: 8px 8px;
  border-radius: 12px;
  background: rgba(255,255,255,.03);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
}

.econ-tip-title{
  font-size: 12px;
  font-weight: 900;
  margin-bottom: 6px;
  color: rgba(255,255,255,.92);
}

.econ-tip-explain .econ-tip-line{
  font-size: 11px;
  line-height: 1.35;
  color: rgba(255,255,255,.78);
}

.econ-tip-minihead{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom: 6px;
}

.econ-tip-delta{
  font-size: 11px;
  font-weight: 800;
  color: rgba(255,255,255,.65);
}
.econ-tip-minihead{
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
}

.econ-tip-trend-label{
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .3px;
}

.econ-tip-trend-arrow{
  font-size: 12px;
  font-weight: 900;
}

/* delta stays neutral */
.econ-tip-delta{
  margin-left: auto;
  font-size: 11px;
  font-weight: 800;
  color: rgba(255,255,255,.65);
}
/* assets/market_major_tape.css */

.gt-tape-wrap{
  width: 100%;
  margin: 6px 0 10px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.40));
  box-shadow: 0 18px 55px rgba(0,0,0,.60);
  position: relative;
  overflow: hidden;
}

.gt-tape-title{
  position: absolute;
  top: 10px;
  left: 12px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .35px;
  color: rgba(255,255,255,.92);
  text-transform: uppercase;
  z-index: 2;
  pointer-events: none;
}

.gt-tape-viewport{
  overflow: hidden;
  padding-left: 130px; /* space for title */
}

.gt-tape-track{
  display: inline-flex;
  align-items: center;
  gap: 14px;
  white-space: nowrap;
  will-change: transform;
  animation: gtTapeScroll 42s linear infinite;
}

.gt-tape-item{
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  font-size: 13px;
  letter-spacing: .2px;
  opacity: .92;
}

.gt-tape-sym{
  font-weight: 900;
  opacity: .95;
}

.gt-tape-last{
  opacity: .86;
}

.gt-tape-dot{
  opacity: .30;
  padding: 0 6px;
}

.gt-tape-chg{
  font-weight: 800;
}

.gt-tape-pos{ color: #2ecc71; }
.gt-tape-neg{ color: #ff5252; }
.gt-tape-flat{ color: rgba(255,255,255,.55); }

@keyframes gtTapeScroll{
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.gt-tape-wrap:hover .gt-tape-track{
  animation-play-state: paused;
}
/* assets/market_major_tape.css */

.gt-tape-wrap{
  width: 100%;
  margin: 6px 0 10px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.40));
  box-shadow: 0 18px 55px rgba(0,0,0,.60);
  overflow: hidden;
}

.gt-tape-title{
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .35px;
  color: rgba(255,255,255,.92);
  text-transform: uppercase;
  margin: 0 0 6px 0;  /* ✅ space above ticker row */
}

.gt-tape-viewport{
  overflow: hidden;
}

.gt-tape-track{
  display: inline-flex;
  align-items: center;
  gap: 14px;
  white-space: nowrap;
  will-change: transform;
  animation: gtTapeScroll 42s linear infinite;
}

.gt-tape-item{
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  font-size: 13px;
  letter-spacing: .2px;
  opacity: .92;
}

.gt-tape-sym{
  font-weight: 900;
  opacity: .95;
}

.gt-tape-last{
  opacity: .86;
}

.gt-tape-dot{
  opacity: .30;
  padding: 0 6px;
}

.gt-tape-chg{
  font-weight: 800;
}

.gt-tape-pos{ color: #2ecc71; }
.gt-tape-neg{ color: #ff5252; }
.gt-tape-flat{ color: rgba(255,255,255,.55); }

@keyframes gtTapeScroll{
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.gt-tape-wrap:hover .gt-tape-track{
  animation-play-state: paused;
}
/* =========================================================
   MARKET — MAJOR INDEXES LED TAPE
   Square black bar + "LED/terminal" look
   ========================================================= */

/* wrapper (title + bar) */
.gt-led-wrap{
  width: 100%;
  margin: 6px 0 10px;
}

/* title above bar */
.gt-led-title{
  font: inherit;                 /* ✅ as requested */
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .35px;
  text-transform: uppercase;
  color: rgba(255,255,255,.92);
  margin: 0 0 6px 0;
}

/* black bar */
.gt-led-viewport{
  border-radius: 0;              /* ✅ square corners */
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.92);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.35);
  overflow: hidden;
  padding: 8px 10px;
}

/* scrolling track */
.gt-led-track{
  display: inline-flex;
  align-items: center;
  gap: 14px;
  white-space: nowrap;
  will-change: transform;
  animation: gtLedScroll 44s linear infinite;
}

/* pause on hover (optional) */
.gt-led-viewport:hover .gt-led-track{
  animation-play-state: paused;
}

/* individual item */
.gt-tape-item{
  display: inline-flex;
  align-items: baseline;
  gap: 10px;

  /* ✅ "informatica / LED board" feel */
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 13px;
  letter-spacing: .25px;

  color: rgba(255,255,255,.90);
  text-shadow: 0 0 10px rgba(46,204,113,.08);
}

/* symbol */
.gt-tape-sym{
  font-weight: 900;
  color: rgba(255,255,255,.96);
}

/* last */
.gt-tape-last{
  color: rgba(255,255,255,.82);
}

/* separator dot */
.gt-led-dot{
  opacity: .30;
  padding: 0 6px;
}

/* change */
.gt-tape-chg{
  font-weight: 900;
}

/* colors */
.gt-tape-pos{ color: #2ecc71; text-shadow: 0 0 10px rgba(46,204,113,.18); }
.gt-tape-neg{ color: #ff5252; text-shadow: 0 0 10px rgba(255,82,82,.16); }
.gt-tape-flat{ color: rgba(255,255,255,.55); }

/* animation */
@keyframes gtLedScroll{
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.gt-tape-item{
  font-size: 16px;
}

.gt-tape-sym{
  font-size: 17px;
}
