/* ══════════════════════════════════════════════════════════════════
   VIVIENNE TRADINGPANEL v0.7 — STYLESHEET
   Aesthetic: Military-Grade Cyber Terminal · Deep Space Ops Console
   Font Stack: Orbitron (titles) / Rajdhani (UI) / Share Tech Mono (data)
   ══════════════════════════════════════════════════════════════════ */

/* ── CUSTOM PROPERTIES ─────────────────────────────────────────────── */
:root {
  --bg0:       #020508;
  --bg1:       #060c12;
  --bg2:       #0a1520;
  --bg3:       #0e1e2e;
  --bg4:       #132536;
  --border:    #1a3050;
  --border2:   #243d58;

  --text1:     #d0e8ff;
  --text2:     #7aa8cc;
  --text3:     #3a6080;
  --text4:     #1e3a52;

  --green:     #00f5a0;
  --green2:    #00c97a;
  --red:       #ff2d55;
  --red2:      #cc2244;
  --yellow:    #ffd060;
  --cyan:      #00d4ff;
  --cyan2:     #0099cc;
  --orange:    #ff8c00;
  --purple:    #9966ff;
  --watch:     #ff9900;

  --accent:    #00d4ff;
  --accent2:   #00f5a0;

  --font-title: 'Orbitron', sans-serif;
  --font-ui:    'Rajdhani', sans-serif;
  --font-data:  'Share Tech Mono', monospace;

  --nav-h: 48px;
  --radius: 4px;
  --radius2: 8px;
}

/* ── RESET + BASE ───────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body {
  height: 100%; width: 100%;
  background: var(--bg0);
  color: var(--text1);
  font-family: var(--font-ui);
  font-size: 14px;
  line-height: 1.4;
  overflow: hidden;
}

/* ── SCREEN SYSTEM ──────────────────────────────────────────────────── */
.screen {
  position: fixed;
  inset: 0;
  display: none;
  flex-direction: column;
  background: var(--bg0);
}
.screen.active { display: flex; }

/* Module screens sit below the nav bar */
#screen-traderecon,
#screen-macro,
#screen-watchdog {
  top: var(--nav-h);
  overflow: hidden;
}

/* ══════════════════════════════════════════════════════════════════
   LANDING SCREEN
   ══════════════════════════════════════════════════════════════════ */
#screen-landing {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

#landing-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.landing-content {
  position: relative;
  z-index: 2;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  padding: 40px 24px;
  animation: landingReveal 1.2s ease both;
}

@keyframes landingReveal {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

.landing-eyebrow {
  font-family: var(--font-data);
  font-size: 11px;
  letter-spacing: 0.25em;
  color: var(--cyan);
  opacity: 0.7;
  animation: landingReveal 1.2s 0.1s ease both;
}

.landing-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  line-height: 1;
}

.title-welcome {
  font-family: var(--font-title);
  font-size: clamp(22px, 3vw, 36px);
  font-weight: 400;
  color: var(--text2);
  letter-spacing: 0.3em;
  animation: landingReveal 1.2s 0.2s ease both;
}

.title-commander {
  font-family: var(--font-title);
  font-size: clamp(40px, 7vw, 88px);
  font-weight: 900;
  letter-spacing: 0.12em;
  background: linear-gradient(135deg, var(--cyan) 0%, var(--green) 50%, var(--cyan) 100%);
  background-size: 200%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: landingReveal 1.2s 0.3s ease both, gradientShift 4s 1.5s ease infinite;
}

@keyframes gradientShift {
  0%,100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}

.landing-subtitle {
  font-family: var(--font-data);
  font-size: 12px;
  letter-spacing: 0.2em;
  color: var(--text3);
  animation: landingReveal 1.2s 0.4s ease both;
}

/* Status bar */
.landing-status-bar {
  display: flex;
  align-items: center;
  gap: 0;
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius2);
  padding: 10px 20px;
  animation: landingReveal 1.2s 0.5s ease both;
}

.lsb-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 20px;
}

.lsb-divider {
  width: 1px;
  height: 24px;
  background: var(--border);
}

.lsb-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--text4);
  flex-shrink: 0;
}
.lsb-dot-green { background: var(--green); box-shadow: 0 0 6px var(--green); }
.lsb-dot-cyan  { background: var(--cyan);  box-shadow: 0 0 6px var(--cyan); }
.lsb-dot-red   { background: var(--red);   box-shadow: 0 0 4px var(--red); }
.lsb-dot-yellow{ background: var(--yellow); }

.lsb-label {
  font-family: var(--font-data);
  font-size: 10px;
  color: var(--text3);
  letter-spacing: 0.1em;
}

.lsb-val {
  font-family: var(--font-data);
  font-size: 11px;
  color: var(--text2);
  min-width: 60px;
}

/* Module cards */
.module-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  max-width: 900px;
  width: 100%;
  animation: landingReveal 1.2s 0.6s ease both;
}

.module-card {
  position: relative;
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius2);
  padding: 28px 24px;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s, transform 0.15s;
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow: hidden;
}

.module-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--cyan), transparent);
  opacity: 0;
  transition: opacity 0.3s;
}

.module-card:hover {
  border-color: var(--cyan);
  background: var(--bg3);
  transform: translateY(-2px);
}

.module-card:hover::before { opacity: 1; }

.module-card:nth-child(2):hover { border-color: var(--green); }
.module-card:nth-child(2):hover::before { background: linear-gradient(90deg, transparent, var(--green), transparent); }
.module-card:nth-child(3):hover { border-color: var(--purple); }
.module-card:nth-child(3):hover::before { background: linear-gradient(90deg, transparent, var(--purple), transparent); }

.module-icon {
  font-size: 28px;
  color: var(--cyan);
  margin-bottom: 4px;
  transition: color 0.2s;
}
.module-card:nth-child(2) .module-icon { color: var(--green); }
.module-card:nth-child(3) .module-icon { color: var(--purple); }

.module-name {
  font-family: var(--font-title);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: var(--text1);
}

.module-desc {
  font-family: var(--font-ui);
  font-size: 12px;
  color: var(--text2);
  line-height: 1.5;
  flex: 1;
}

.module-tag {
  font-family: var(--font-data);
  font-size: 9px;
  letter-spacing: 0.15em;
  color: var(--text3);
}

.module-arrow {
  position: absolute;
  top: 20px; right: 20px;
  font-size: 16px;
  color: var(--text4);
  transition: color 0.2s, right 0.2s;
}
.module-card:hover .module-arrow {
  color: var(--cyan);
  right: 16px;
}
.module-card:nth-child(2):hover .module-arrow { color: var(--green); }
.module-card:nth-child(3):hover .module-arrow { color: var(--purple); }

.landing-clock {
  font-family: var(--font-data);
  font-size: 11px;
  color: var(--text4);
  letter-spacing: 0.15em;
  animation: landingReveal 1.2s 0.7s ease both;
}

/* ══════════════════════════════════════════════════════════════════
   APP NAV BAR
   ══════════════════════════════════════════════════════════════════ */
.app-nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: var(--nav-h);
  background: var(--bg1);
  border-bottom: 1px solid var(--border);
  display: none;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  z-index: 100;
  gap: 12px;
}
.app-nav.visible { display: flex; }

.nav-left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.nav-home {
  font-family: var(--font-title);
  font-size: 12px;
  font-weight: 700;
  color: var(--cyan);
  background: none;
  border: none;
  cursor: pointer;
  letter-spacing: 0.1em;
  padding: 4px 8px;
  border-radius: var(--radius);
  transition: background 0.15s;
}
.nav-home:hover { background: rgba(0,212,255,0.1); }

.nav-sep { color: var(--text4); font-size: 10px; }

.nav-breadcrumb {
  font-family: var(--font-data);
  font-size: 11px;
  color: var(--text3);
  letter-spacing: 0.1em;
}

.nav-center {
  display: flex;
  align-items: center;
  gap: 4px;
}

.nav-btn {
  font-family: var(--font-data);
  font-size: 11px;
  letter-spacing: 0.1em;
  color: var(--text3);
  background: none;
  border: 1px solid transparent;
  padding: 5px 12px;
  border-radius: var(--radius);
  cursor: pointer;
  transition: all 0.15s;
}
.nav-btn:hover { color: var(--text1); border-color: var(--border2); }
.nav-btn.active {
  color: var(--cyan);
  border-color: var(--cyan);
  background: rgba(0,212,255,0.08);
}

.nav-right {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.nav-macro-pill {
  font-family: var(--font-data);
  font-size: 10px;
  letter-spacing: 0.12em;
  padding: 3px 10px;
  border-radius: 20px;
  border: 1px solid var(--border);
  color: var(--text3);
  background: var(--bg2);
  white-space: nowrap;
}
.nav-macro-pill.risk-on  { color: var(--green);  border-color: var(--green2);  background: rgba(0,245,160,0.08); }
.nav-macro-pill.risk-off { color: var(--red);    border-color: var(--red2);    background: rgba(255,45,85,0.08); }
.nav-macro-pill.neutral  { color: var(--yellow); border-color: #c09020;        background: rgba(255,208,96,0.08); }

.nav-server-ctl {
  display: flex;
  align-items: center;
  gap: 6px;
}

.srv-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--text4);
  flex-shrink: 0;
}
.srv-dot.online  { background: var(--green);  box-shadow: 0 0 6px var(--green); }
.srv-dot.offline { background: var(--red);    box-shadow: 0 0 4px var(--red); }
.srv-dot.starting{ background: var(--yellow); animation: pulse 0.8s infinite; }

@keyframes pulse {
  0%,100% { opacity: 1; }
  50%      { opacity: 0.3; }
}

.srv-label {
  font-family: var(--font-data);
  font-size: 10px;
  letter-spacing: 0.08em;
  color: var(--text3);
  white-space: nowrap;
}

.srv-btn {
  font-family: var(--font-data);
  font-size: 10px;
  letter-spacing: 0.1em;
  color: var(--green);
  background: rgba(0,245,160,0.08);
  border: 1px solid var(--green2);
  padding: 3px 8px;
  border-radius: var(--radius);
  cursor: pointer;
  transition: all 0.15s;
}
.srv-btn:hover { background: rgba(0,245,160,0.15); }
.srv-btn.stop-mode {
  color: var(--red);
  background: rgba(255,45,85,0.08);
  border-color: var(--red2);
}
.srv-btn.stop-mode:hover { background: rgba(255,45,85,0.15); }

.nav-clock {
  font-family: var(--font-data);
  font-size: 12px;
  color: var(--text3);
  letter-spacing: 0.1em;
  min-width: 70px;
  text-align: right;
}

/* ══════════════════════════════════════════════════════════════════
   SHARED MODULE COMPONENTS
   ══════════════════════════════════════════════════════════════════ */
.module-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px;
  border-bottom: 1px solid var(--border);
  background: var(--bg1);
  flex-shrink: 0;
  gap: 12px;
}

.mh-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.mh-icon {
  font-size: 18px;
  color: var(--cyan);
}

.mh-title {
  font-family: var(--font-title);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: var(--text1);
}

.mh-sub {
  font-family: var(--font-data);
  font-size: 10px;
  color: var(--text3);
  letter-spacing: 0.1em;
}

.mh-right {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Context chips */
.ctx-chips {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.ctx-chip {
  display: flex;
  align-items: center;
  gap: 5px;
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 3px 8px;
}

.cc-lbl {
  font-family: var(--font-data);
  font-size: 9px;
  color: var(--text3);
  letter-spacing: 0.1em;
}

.cc-val {
  font-family: var(--font-data);
  font-size: 12px;
  color: var(--text1);
  font-weight: 500;
}

/* Module toolbar */
.module-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--border);
  background: var(--bg1);
  flex-shrink: 0;
  flex-wrap: wrap;
}

/* Buttons */
.btn-primary {
  font-family: var(--font-data);
  font-size: 11px;
  letter-spacing: 0.12em;
  color: var(--bg0);
  background: var(--cyan);
  border: none;
  padding: 7px 16px;
  border-radius: var(--radius);
  cursor: pointer;
  font-weight: 700;
  transition: background 0.15s, transform 0.1s;
  white-space: nowrap;
}
.btn-primary:hover  { background: #00eeff; }
.btn-primary:active { transform: scale(0.97); }
.btn-primary:disabled { background: var(--text4); cursor: not-allowed; }

.btn-ghost {
  font-family: var(--font-data);
  font-size: 11px;
  letter-spacing: 0.1em;
  color: var(--text2);
  background: none;
  border: 1px solid var(--border2);
  padding: 5px 12px;
  border-radius: var(--radius);
  cursor: pointer;
  transition: all 0.15s;
}
.btn-ghost:hover { color: var(--text1); border-color: var(--text2); }

/* TF selector */
.tf-selector {
  display: flex;
  align-items: center;
  gap: 4px;
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 3px;
}

.tf-label {
  font-family: var(--font-data);
  font-size: 9px;
  color: var(--text3);
  letter-spacing: 0.1em;
  padding: 0 4px;
}

.tf-btn {
  font-family: var(--font-data);
  font-size: 11px;
  color: var(--text3);
  background: none;
  border: none;
  padding: 4px 10px;
  border-radius: 2px;
  cursor: pointer;
  letter-spacing: 0.05em;
  transition: all 0.15s;
}
.tf-btn:hover  { color: var(--text1); background: var(--bg3); }
.tf-btn.active { color: var(--cyan); background: rgba(0,212,255,0.12); }

/* Search + filter */
.toolbar-filters {
  display: flex;
  align-items: center;
  gap: 8px;
}

.search-box {
  font-family: var(--font-data);
  font-size: 12px;
  color: var(--text1);
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 5px 10px;
  width: 130px;
  outline: none;
  transition: border-color 0.15s;
}
.search-box:focus { border-color: var(--cyan); }
.search-box::placeholder { color: var(--text4); }

.filter-sel {
  font-family: var(--font-data);
  font-size: 11px;
  color: var(--text2);
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 5px 8px;
  outline: none;
  cursor: pointer;
}

/* WS status chip */
.ws-status-chip {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
}

.ws-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--text4);
  flex-shrink: 0;
}
.ws-dot.live    { background: var(--green); box-shadow: 0 0 6px var(--green); animation: pulse 2s infinite; }
.ws-dot.error   { background: var(--red); }
.ws-dot.connecting { background: var(--yellow); animation: pulse 0.6s infinite; }

/* Module log */
.module-log {
  background: var(--bg1);
  border-top: 1px solid var(--border);
  padding: 6px 16px;
  height: 60px;
  overflow-y: auto;
  flex-shrink: 0;
  font-family: var(--font-data);
  font-size: 10px;
  color: var(--text3);
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.log-line { display: flex; gap: 8px; }
.log-ts   { color: var(--text4); flex-shrink: 0; }
.log-ok   { color: var(--green); }
.log-warn { color: var(--yellow); }
.log-err  { color: var(--red); }
.log-info { color: var(--cyan); }

/* ══════════════════════════════════════════════════════════════════
   TRADERECON — TABLE
   ══════════════════════════════════════════════════════════════════ */
.table-wrap {
  flex: 1;
  overflow-y: auto;
  overflow-x: auto;
  padding: 0 4px 4px;
}

.data-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-data);
  font-size: 12px;
}

.data-table thead {
  position: sticky;
  top: 0;
  z-index: 10;
}

.data-table thead tr {
  background: var(--bg2);
  border-bottom: 1px solid var(--border2);
}

.data-table th {
  padding: 8px 12px;
  text-align: left;
  color: var(--text3);
  font-size: 10px;
  letter-spacing: 0.1em;
  font-weight: 400;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
  border-right: 1px solid var(--border);
}
.data-table th:hover { color: var(--text1); }
.data-table th:last-child { border-right: none; }

.data-table td {
  padding: 7px 12px;
  border-bottom: 1px solid var(--border);
  border-right: 1px solid rgba(26,48,80,0.4);
  white-space: nowrap;
  color: var(--text2);
  vertical-align: middle;
}
.data-table td:last-child { border-right: none; }

.data-table tbody tr { transition: background 0.1s; }
.data-table tbody tr:hover { background: var(--bg2); }

.table-empty {
  text-align: center;
  color: var(--text4);
  padding: 40px !important;
  font-size: 12px;
  letter-spacing: 0.1em;
}

/* Cell types */
.cell-symbol {
  color: var(--text1);
  font-weight: 500;
  letter-spacing: 0.05em;
}
.cell-price { color: var(--cyan); }
.cell-pos   { color: var(--green); }
.cell-neg   { color: var(--red); }
.cell-neutral { color: var(--text3); }
.cell-rank  { color: var(--text4); font-size: 10px; }

/* Signal badges */
.sig-badge {
  display: inline-block;
  font-family: var(--font-data);
  font-size: 10px;
  letter-spacing: 0.1em;
  padding: 2px 7px;
  border-radius: 2px;
  font-weight: 700;
}
.sig-long    { color: var(--bg0); background: var(--green); }
.sig-short   { color: var(--bg0); background: var(--red); }
.sig-watch   { color: var(--bg0); background: var(--yellow); }
.sig-hunt    { color: var(--cyan); background: rgba(0,212,255,0.15); border: 1px solid var(--cyan2); }
.sig-forming { color: var(--orange); background: rgba(255,140,0,0.15); border: 1px solid var(--orange); }
.sig-wait    { color: var(--text4); background: var(--bg3); border: 1px solid var(--border); }
.sig-chop    { color: var(--text3); background: var(--bg3); border: 1px solid var(--border); }
.sig-extended{ color: var(--purple); background: rgba(153,102,255,0.15); border: 1px solid var(--purple); }
.sig-none    { color: var(--text4); }
.sig-scanning{ color: var(--yellow); animation: pulse 0.6s infinite; }

/* Score bar */
.score-bar-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 100px;
}
.score-bar-bg {
  flex: 1;
  height: 4px;
  background: var(--bg3);
  border-radius: 2px;
  overflow: hidden;
}
.score-bar-fill {
  height: 100%;
  border-radius: 2px;
  transition: width 0.4s ease;
}
.score-val {
  font-size: 11px;
  min-width: 30px;
  text-align: right;
}

/* Action buttons in table */
.act-btn {
  font-family: var(--font-data);
  font-size: 10px;
  letter-spacing: 0.08em;
  padding: 3px 8px;
  border-radius: var(--radius);
  cursor: pointer;
  transition: all 0.15s;
  border: 1px solid;
  white-space: nowrap;
}
.act-scan {
  color: var(--cyan);
  background: rgba(0,212,255,0.08);
  border-color: var(--cyan2);
}
.act-scan:hover { background: rgba(0,212,255,0.18); }
.act-scan:disabled { color: var(--text4); background: none; border-color: var(--border); cursor: not-allowed; }
.act-detail {
  color: var(--purple);
  background: rgba(153,102,255,0.08);
  border-color: rgba(153,102,255,0.5);
}
.act-detail:hover { background: rgba(153,102,255,0.18); }

/* ══════════════════════════════════════════════════════════════════
   MACRO SIGNALS
   ══════════════════════════════════════════════════════════════════ */
.macro-regime-badge {
  font-family: var(--font-title);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.2em;
  padding: 5px 16px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  color: var(--text3);
  background: var(--bg2);
}
.macro-regime-badge.risk-on  { color: var(--green);  border-color: var(--green2);  background: rgba(0,245,160,0.08); }
.macro-regime-badge.risk-off { color: var(--red);    border-color: var(--red2);    background: rgba(255,45,85,0.08); }
.macro-regime-badge.neutral  { color: var(--yellow); border-color: #c09020;        background: rgba(255,208,96,0.08); }

.macro-offline-banner {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 24px 20px;
  padding: 24px;
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius2);
  border-left: 3px solid var(--red2);
}

.mob-icon { font-size: 32px; color: var(--text4); }

.mob-text { flex: 1; }

.mob-title {
  font-family: var(--font-title);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: var(--text1);
  margin-bottom: 4px;
}

.mob-sub {
  font-family: var(--font-ui);
  font-size: 12px;
  color: var(--text3);
}

.macro-grid {
  flex: 1;
  overflow-y: auto;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.macro-section-title {
  font-family: var(--font-data);
  font-size: 10px;
  letter-spacing: 0.2em;
  color: var(--text3);
  border-bottom: 1px solid var(--border);
  padding-bottom: 6px;
}

/* Regime row */
.regime-row {
  display: flex;
  gap: 16px;
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius2);
  padding: 16px 20px;
  align-items: flex-start;
}

.regime-score-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  min-width: 80px;
  padding-right: 20px;
  border-right: 1px solid var(--border);
}

.rsb-label {
  font-family: var(--font-data);
  font-size: 9px;
  letter-spacing: 0.1em;
  color: var(--text3);
}

.rsb-score {
  font-family: var(--font-title);
  font-size: 32px;
  font-weight: 900;
  color: var(--text1);
  line-height: 1;
}

.regime-signals {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.regime-signal-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-data);
  font-size: 11px;
}

.rsi-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.rsi-dot.bull { background: var(--green); }
.rsi-dot.bear { background: var(--red); }

/* Macro cards */
.macro-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 10px;
}

.macro-card {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius2);
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  transition: border-color 0.2s;
}
.macro-card:hover { border-color: var(--border2); }
.macro-card.bull  { border-left: 2px solid var(--green); }
.macro-card.bear  { border-left: 2px solid var(--red); }
.macro-card.neutral-card { border-left: 2px solid var(--text4); }

.mc-label {
  font-family: var(--font-data);
  font-size: 9px;
  letter-spacing: 0.15em;
  color: var(--text3);
}

.mc-value {
  font-family: var(--font-title);
  font-size: 22px;
  font-weight: 700;
  color: var(--text1);
  line-height: 1;
}

.mc-delta {
  font-family: var(--font-data);
  font-size: 11px;
}

.mc-note {
  font-family: var(--font-data);
  font-size: 10px;
  color: var(--text3);
}

.mc-error {
  font-family: var(--font-data);
  font-size: 10px;
  color: var(--red);
}

.macro-footer {
  font-family: var(--font-data);
  font-size: 10px;
  color: var(--text4);
  letter-spacing: 0.08em;
  text-align: right;
  padding-top: 4px;
}

/* ══════════════════════════════════════════════════════════════════
   WATCHDOG
   ══════════════════════════════════════════════════════════════════ */
.wd-pair-input-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pair-input {
  font-family: var(--font-data);
  font-size: 13px;
  color: var(--cyan);
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 5px 12px;
  width: 130px;
  outline: none;
  letter-spacing: 0.08em;
  transition: border-color 0.15s;
  text-transform: uppercase;
}
.pair-input:focus { border-color: var(--cyan); }

.wd-opts {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-left: auto;
}

.opt-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-data);
  font-size: 11px;
  color: var(--text3);
  cursor: pointer;
  user-select: none;
}
.opt-toggle input { accent-color: var(--cyan); }

.wd-results {
  flex: 1;
  overflow-y: auto;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.wd-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  gap: 12px;
  color: var(--text4);
}

.wdp-icon { font-size: 48px; }
.wdp-title {
  font-family: var(--font-title);
  font-size: 14px;
  letter-spacing: 0.2em;
}
.wdp-sub {
  font-family: var(--font-data);
  font-size: 11px;
  letter-spacing: 0.1em;
}


.mtf-tf {
  font-family: var(--font-data);
  font-size: 10px;
  letter-spacing: 0.1em;
  color: var(--text3);
}

.mtf-signal {
  font-family: var(--font-data);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.mtf-signal.long  { color: var(--green); }
.mtf-signal.short { color: var(--red); }
.mtf-signal.watch { color: var(--yellow); }
.mtf-signal.wait  { color: var(--text4); }

.mtf-score {
  font-family: var(--font-data);
  font-size: 10px;
  color: var(--text3);
}

/* Coherence meter */
.coherence-bar-wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.coh-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--font-data);
  font-size: 11px;
}

.coh-label { color: var(--text3); letter-spacing: 0.1em; }
.coh-score { font-size: 13px; font-weight: 700; }
.coh-confirm  { color: var(--green); }
.coh-conflict { color: var(--red); }
.coh-neutral  { color: var(--yellow); }

.coh-bar-bg {
  height: 6px;
  background: var(--bg3);
  border-radius: 3px;
  overflow: hidden;
  border: 1px solid var(--border);
}

.coh-bar-fill {
  height: 100%;
  border-radius: 3px;
  transition: width 0.5s ease;
}

.coh-verdict {
  font-family: var(--font-data);
  font-size: 11px;
  color: var(--text2);
  padding: 8px 12px;
  background: var(--bg3);
  border-radius: var(--radius);
  border: 1px solid var(--border);
  line-height: 1.5;
}

/* Indicators mini row */
.ind-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.ind-chip {
  font-family: var(--font-data);
  font-size: 10px;
  padding: 3px 8px;
  border-radius: 2px;
  background: var(--bg3);
  border: 1px solid var(--border);
  color: var(--text2);
  letter-spacing: 0.05em;
}
.ind-chip.bull { color: var(--green);  border-color: rgba(0,245,160,0.3); background: rgba(0,245,160,0.06); }
.ind-chip.bear { color: var(--red);    border-color: rgba(255,45,85,0.3);  background: rgba(255,45,85,0.06); }
.ind-chip.neutral-chip { color: var(--text3); }

/* Scrollbar styling */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: var(--bg1); }
::-webkit-scrollbar-thumb { background: var(--bg4); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--border2); }

/* Scanning animation on button */
.scanning-anim {
  position: relative;
  overflow: hidden;
}
.scanning-anim::after {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  animation: shimmer 1s infinite;
}
@keyframes shimmer {
  to { left: 100%; }
}

/* ══════════════════════════════════════════════════════════════════
   WATCHDOG v2 — FULL INFORMATIVE FLOW
   ══════════════════════════════════════════════════════════════════ */

/* WS status in header */
.wd-ws-status {
  display: flex; align-items: center; gap: 6px;
  font-family: var(--font-data); font-size: 10px;
  color: var(--text3); letter-spacing: 0.08em;
}

/* Candle countdown in toolbar */
.wd-candle-countdown {
  display: flex; align-items: center; gap: 6px;
  font-family: var(--font-data); font-size: 10px;
  color: var(--text3);
  background: var(--bg2); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 4px 10px;
}
.wdcc-val {
  font-size: 12px; color: var(--yellow); font-weight: 700;
  min-width: 40px;
}

/* Two-column body */
.wd-body-v2 {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 10px;
  flex: 1;
  overflow: hidden;
  padding: 10px 12px 0;
}

.wdv2-left, .wdv2-right {
  display: flex; flex-direction: column; gap: 10px;
  overflow-y: auto; overflow-x: hidden;
  padding-bottom: 10px;
}

/* Scrollbar for columns */
.wdv2-left::-webkit-scrollbar,
.wdv2-right::-webkit-scrollbar { width: 3px; }
.wdv2-left::-webkit-scrollbar-thumb,
.wdv2-right::-webkit-scrollbar-thumb { background: var(--bg4); border-radius: 2px; }

/* Panel base */
.wdv2-panel {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius2);
  padding: 12px 14px;
  flex-shrink: 0;
}

.wdv2-ptitle {
  font-family: var(--font-data);
  font-size: 9px; letter-spacing: 0.2em;
  color: var(--text3);
  text-transform: uppercase;
  margin-bottom: 10px;
  display: flex; justify-content: space-between; align-items: center;
}
.wdv2-ptitle-right {
  font-size: 9px; letter-spacing: 0.08em; color: var(--text3);
  text-align: right;
}

.wdv2-empty {
  text-align: center; padding: 20px;
  color: var(--text4); font-family: var(--font-data);
  font-size: 10px; letter-spacing: 0.1em;
}

/* ── LIVE TICKER ── */
.wd-price-big-wrap {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 10px;
}
.wd-price-big {
  font-family: var(--font-title);
  font-size: 38px; font-weight: 900;
  color: var(--cyan); line-height: 1;
  letter-spacing: 0.05em;
  transition: color 0.25s;
}
.wd-price-big.up   { color: var(--green); }
.wd-price-big.down { color: var(--red); }

.wd-price-ring { flex-shrink: 0; }

.wd-ticker-meta {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px;
}
.wd-tm-item {
  background: var(--bg3); border-radius: var(--radius);
  padding: 6px 8px;
  border: 1px solid var(--border);
}
.wd-tm-lbl {
  font-family: var(--font-data); font-size: 8px;
  letter-spacing: 0.12em; color: var(--text3); margin-bottom: 2px;
}
.wd-tm-val {
  font-family: var(--font-data); font-size: 12px; color: var(--text1);
}

/* ── CANDLE STRIP ── */
.wd-candle-strip {
  display: flex; gap: 6px; align-items: flex-end;
  height: 88px; padding: 4px 0;
  overflow-x: auto;
}
.wd-candle-strip::-webkit-scrollbar { height: 2px; }
.wd-candle-strip::-webkit-scrollbar-thumb { background: var(--bg4); }

.wdc-wrap {
  display: flex; flex-direction: column;
  align-items: center; gap: 2px;
  flex: 1; min-width: 36px;
  cursor: default;
}
.wdc-bar-area {
  position: relative;
  width: 100%; height: 60px;
  display: flex; align-items: center; justify-content: center;
}
.wdc-body {
  position: absolute;
  width: 60%;
  border-radius: 1px;
  min-height: 2px;
}
.wdc-wick {
  position: absolute;
  width: 1px;
  background: var(--text3);
  left: 50%; transform: translateX(-50%);
}
.wdc-label {
  font-family: var(--font-data); font-size: 8px;
  color: var(--text4); text-align: center;
  letter-spacing: 0.05em; white-space: nowrap;
}
.wdc-price {
  font-family: var(--font-data); font-size: 8px;
  color: var(--text3); text-align: center;
}
.wdc-wrap.latest .wdc-label { color: var(--cyan); }
.wdc-wrap.latest .wdc-body  { box-shadow: 0 0 4px rgba(0,212,255,0.4); }

.wd-candle-stats {
  display: flex; gap: 8px; flex-wrap: wrap; margin-top: 6px;
  padding-top: 6px; border-top: 1px solid var(--border);
}
.wdcs-item {
  font-family: var(--font-data); font-size: 10px;
  color: var(--text3);
}
.wdcs-val { color: var(--text1); margin-left: 4px; }

/* ── SCORE BARS ── */
.wd-sbar-section-lbl {
  font-family: var(--font-data); font-size: 8px;
  letter-spacing: 0.15em; color: var(--text4);
  text-transform: uppercase;
  margin: 8px 0 4px;
  padding-top: 6px; border-top: 1px solid var(--border);
}
.wd-sbar-row {
  display: flex; align-items: center; gap: 6px; margin-bottom: 4px;
}
.wd-sbar-lbl {
  font-family: var(--font-data); font-size: 9px;
  color: var(--text2); width: 75px; flex-shrink: 0;
  letter-spacing: 0.03em;
}
.wd-sbar-track {
  flex: 1; height: 4px; background: var(--bg4);
  border-radius: 2px; overflow: hidden;
}
.wd-sbar-fill {
  height: 100%; border-radius: 2px;
  transition: width 0.5s, background 0.3s;
}
.wd-sbar-val {
  font-family: var(--font-data); font-size: 9px;
  font-weight: 700; width: 36px; text-align: right; flex-shrink: 0;
}
.wd-sbar-max {
  font-family: var(--font-data); font-size: 8px;
  color: var(--text4); width: 24px; text-align: right; flex-shrink: 0;
}

.wd-score-total-row {
  display: flex; align-items: flex-end;
  justify-content: space-between;
  margin-top: 10px; padding-top: 8px;
  border-top: 1px solid var(--border);
}
.wd-score-total-lbl {
  font-family: var(--font-data); font-size: 9px;
  letter-spacing: 0.1em; color: var(--text3); margin-bottom: 3px;
}
.wd-score-total-val {
  font-family: var(--font-title); font-size: 24px;
  font-weight: 900; line-height: 1;
}
.wd-gate-pills {
  display: flex; gap: 4px; flex-wrap: wrap;
  max-width: 180px; justify-content: flex-end;
}
.wd-gate-pill {
  font-family: var(--font-data); font-size: 9px;
  padding: 2px 7px; border-radius: 3px; font-weight: 600;
  letter-spacing: 0.05em; border: 1px solid;
}
.wdgp-ok   { border-color: var(--green2); color: var(--green); background: rgba(0,245,160,0.07); }
.wdgp-fail { border-color: var(--red2);   color: var(--red);   background: rgba(255,45,85,0.07); }
.wdgp-warn { border-color: #c09020;       color: var(--yellow);background: rgba(255,208,96,0.05); }
.wdgp-ext  { border-color: var(--purple); color: var(--purple);background: rgba(153,102,255,0.07); }

/* [v2.0] Regime gate pills */
.wdgp-regime-low      { border-color: var(--cyan2);  color: var(--cyan2);  background: rgba(0,153,204,0.07); }
.wdgp-regime-normal   { border-color: var(--text3);  color: var(--text3);  background: rgba(58,96,128,0.07); }
.wdgp-regime-elevated { border-color: #c09020;       color: var(--yellow); background: rgba(255,208,96,0.05); }
.wdgp-regime-chaos    { border-color: var(--red2);   color: var(--red);    background: rgba(255,45,85,0.07);
                         animation: pulse 0.8s ease-in-out infinite; }

/* [v8.0] Setup archetype gate pill — purple, signals a named strategy matched */
.wdgp-setup {
  border-color: #7744cc;
  color: var(--purple);
  background: rgba(153,102,255,0.09);
  letter-spacing: 0.04em;
}

/* PSI Panel */
.wd-psi-panel {
  background: var(--bg3); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 10px 12px; margin-top: 10px;
}
.wd-psi-panel.psi-hunt    { border-color: #008877; background: rgba(0,204,187,0.03); }
.wd-psi-panel.psi-forming { border-color: #7744cc; background: rgba(170,102,255,0.03); }
.wd-psi-panel.psi-watch   { border-color: #cc8800; background: rgba(255,170,0,0.03); }

.wd-psi-hdr {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 8px;
}
.wd-psi-lbl {
  font-family: var(--font-data); font-size: 9px;
  letter-spacing: 0.15em; color: var(--text3);
}
.wd-psi-badge {
  font-family: var(--font-data); font-size: 9px; font-weight: 700;
  padding: 2px 8px; border-radius: 10px; letter-spacing: 0.08em;
  border: 1px solid;
}
.psb-inactive { border-color: var(--text4); color: var(--text4); background: none; }
.psb-hunt     { border-color: #008877; color: #00ccbb; background: rgba(0,204,187,0.1); }
.psb-forming  { border-color: #7744cc; color: #aa66ff; background: rgba(170,102,255,0.1); }
.psb-watch    { border-color: #cc8800; color: #ffaa00; background: rgba(255,170,0,0.1); }

.wd-mat-wrap {
  display: flex; align-items: center; gap: 8px; margin-bottom: 8px;
}
.wd-mat-lbl {
  font-family: var(--font-data); font-size: 9px;
  color: var(--text2); white-space: nowrap; letter-spacing: 0.05em;
}
.wd-mat-bg {
  flex: 1; height: 5px; background: var(--bg4);
  border-radius: 3px; overflow: hidden;
}
.wd-mat-fill {
  height: 100%; border-radius: 3px; transition: width 0.6s;
}
.wd-mat-pct {
  font-family: var(--font-data); font-size: 10px; font-weight: 700;
  min-width: 32px; text-align: right;
}

.wd-psi-reasons {
  display: flex; flex-direction: column; gap: 2px; margin-bottom: 6px;
}
.wd-psi-reason {
  font-family: var(--font-data); font-size: 9px; color: var(--text2);
  padding: 3px 8px; background: var(--bg4);
  border-radius: 3px; border-left: 2px solid var(--text3);
}
.wd-psi-reason.rh { border-left-color: #ffaa00; color: var(--text1); }
.wd-psi-reason.rm { border-left-color: #aa66ff; }

.wd-cross-events { display: flex; flex-wrap: wrap; gap: 4px; }
.wd-cross-badge {
  font-family: var(--font-data); font-size: 8px; font-weight: 700;
  padding: 2px 6px; border-radius: 3px; letter-spacing: 0.05em;
  border: 1px solid;
}
.wdcb-conf-bull { background: rgba(0,245,160,0.1); border-color: var(--green2); color: var(--green); }
.wdcb-conf-bear { background: rgba(255,45,85,0.1); border-color: var(--red2);   color: var(--red); }
.wdcb-form-bull { background: rgba(255,170,0,0.1); border-color: #cc8800;       color: #ffaa00; }
.wdcb-form-bear { background: rgba(153,102,255,0.1);border-color: #7744cc;      color: #aa66ff; }

/* ── STRUCTURAL MAP ── */
.wd-price-ladder { display: flex; flex-direction: column; gap: 2px; }
.wdl-item {
  display: flex; align-items: center; gap: 8px;
  padding: 5px 8px; border-radius: 3px; font-size: 10px;
  border-left: 2px solid transparent;
}
.wdl-res     { background: rgba(255,45,85,0.04);   border-left-color: var(--red2); }
.wdl-sup     { background: rgba(0,245,160,0.04);   border-left-color: var(--green2); }
.wdl-current { background: rgba(0,212,255,0.06);   border-left-color: var(--cyan); font-weight: 700; }
.wdl-entry   { background: rgba(255,208,96,0.04);  border-left-color: var(--yellow); }
.wdl-sl      { background: rgba(255,45,85,0.06);   border-left-color: var(--red); }
.wdl-tp      { background: rgba(0,245,160,0.04);   border-left-color: var(--green); }
.wdl-ema     { background: rgba(0,170,255,0.03);   border-left-color: var(--cyan2); }
.wdl-sep     { height: 1px; background: var(--border); margin: 2px 0; position: relative; }
.wdl-sep-lbl {
  position: absolute; left: 50%; transform: translateX(-50%); top: -7px;
  font-family: var(--font-data); font-size: 8px; color: var(--cyan);
  background: var(--bg2); padding: 0 6px; letter-spacing: 0.08em;
}
.wdl-label  { font-family: var(--font-data); font-size: 9px; color: var(--text3); width: 75px; flex-shrink: 0; letter-spacing: 0.03em; }
.wdl-price  { font-family: var(--font-data); font-size: 11px; flex: 1; }
.wdl-meta   { font-family: var(--font-data); font-size: 8px; color: var(--text3); text-align: right; }
.wdl-dots   { display: flex; gap: 2px; }
.wdl-dot    { width: 4px; height: 4px; border-radius: 50%; background: var(--border2); }
.wdl-dot.on { background: var(--text2); }

.wd-ema-levels {
  display: flex; gap: 5px; flex-wrap: wrap; margin-top: 8px;
}
.wd-ema-pill {
  font-family: var(--font-data); font-size: 9px;
  padding: 2px 8px; border-radius: 3px;
  background: var(--bg3); border: 1px solid var(--border);
}

/* ── MTF GRID ── */
.wd-mtf-grid {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 7px;
}
.wd-mtf-card {
  background: var(--bg3); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 8px 10px;
  border-left: 3px solid var(--text4);
  transition: border-color 0.2s;
}
.wd-mtf-card.bull { border-left-color: var(--green); }
.wd-mtf-card.bear { border-left-color: var(--red); }
.wd-mtf-card.neutral-mtf { border-left-color: var(--text4); }
.wd-mtf-tf   { font-family: var(--font-data); font-size: 9px; letter-spacing: 0.12em; color: var(--text3); margin-bottom: 4px; }
.wd-mtf-dir  { font-family: var(--font-data); font-size: 12px; font-weight: 700; margin-bottom: 3px; }
.wd-mtf-row  { display: flex; justify-content: space-between; font-family: var(--font-data); font-size: 9px; color: var(--text2); margin-bottom: 2px; }
.wd-mtf-align {
  display: inline-block; font-family: var(--font-data);
  font-size: 8px; padding: 1px 5px; border-radius: 2px; margin-top: 3px; font-weight: 600;
}
.mtf-align-yes { background: rgba(0,245,160,0.1); color: var(--green); }
.mtf-align-no  { background: rgba(255,45,85,0.1);  color: var(--red); }
.mtf-align-cur { background: rgba(0,212,255,0.08);  color: var(--cyan); }

/* ── LEVELS GRID ── */
.wd-levels-grid {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 7px;
}
.wdlv-item {
  background: var(--bg3); border-radius: var(--radius);
  padding: 8px 10px; border: 1px solid var(--border);
}
.wdlv-lbl  { font-family: var(--font-data); font-size: 8px; letter-spacing: 0.12em; color: var(--text3); text-transform: uppercase; margin-bottom: 4px; }
.wdlv-val  { font-family: var(--font-data); font-size: 13px; font-weight: 500; }
.wdlv-sub  { font-family: var(--font-data); font-size: 8px; color: var(--text3); margin-top: 2px; }
.wdlv-src  {
  display: inline-block; font-family: var(--font-data); font-size: 8px;
  padding: 1px 5px; border-radius: 2px; margin-top: 3px; font-weight: 600; border: 1px solid;
}
.src-struct { border-color: var(--green2); color: var(--green); background: rgba(0,245,160,0.06); }
.src-atr    { border-color: #c09020;       color: var(--yellow);background: rgba(255,208,96,0.04); }

.wdlv-entry  { color: var(--yellow); }
.wdlv-sl     { color: var(--red); }
.wdlv-inv    { color: var(--orange); }
.wdlv-tp     { color: var(--green); }
.wdlv-rr-good{ color: var(--green); font-size: 16px; }
.wdlv-rr-bad { color: var(--red); font-size: 16px; }

/* ── COHERENCE ── */
.wd-coh-bar-wrap { display: flex; flex-direction: column; gap: 5px; margin-bottom: 10px; }
.wd-coh-hdr { display: flex; justify-content: space-between; align-items: center; }
.wd-coh-score-lbl { font-family: var(--font-data); font-size: 11px; }
.wd-coh-score-val { font-family: var(--font-data); font-size: 13px; font-weight: 700; }
.coh-confirm  { color: var(--green); }
.coh-conflict { color: var(--red); }
.coh-neutral  { color: var(--yellow); }
.wd-coh-bar-bg { height: 5px; background: var(--bg3); border-radius: 3px; overflow: hidden; border: 1px solid var(--border); }
.wd-coh-bar-fill { height: 100%; border-radius: 3px; transition: width 0.5s; }
.wd-coh-factors { display: flex; flex-direction: column; gap: 3px; }
.wd-coh-factor {
  font-family: var(--font-data); font-size: 10px;
  padding: 4px 8px; border-radius: 3px; border-left: 2px solid;
}
.wd-coh-factor.bull { border-left-color: var(--green); background: rgba(0,245,160,0.04); color: var(--text1); }
.wd-coh-factor.bear { border-left-color: var(--red);   background: rgba(255,45,85,0.04);  color: var(--text1); }

/* ── VERDICT ── */
.wd-verdict-wrap {
  padding: 0 12px 8px;
  flex-shrink: 0;
}
.wd-verdict-panel {
  border-radius: var(--radius2); border: 1px solid var(--border);
}
.wd-verdict-panel.vs-strong   { background: rgba(0,245,160,0.04); border-color: rgba(0,245,160,0.3); }
.wd-verdict-panel.vs-cond     { background: rgba(255,208,96,0.03); border-color: rgba(255,208,96,0.25); }
.wd-verdict-panel.vs-wait     { background: rgba(153,102,255,0.04); border-color: rgba(153,102,255,0.25); }
.wd-verdict-panel.vs-block    { background: rgba(255,45,85,0.04); border-color: rgba(255,45,85,0.25); }
.wd-verdict-panel.vs-standdown{ background: rgba(255,45,85,0.07); border-color: rgba(255,45,85,0.45); }

.wd-verdict-header {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; border-bottom: 1px solid rgba(255,255,255,0.04);
}
.wd-verdict-icon  { font-size: 18px; line-height: 1; }
.wd-verdict-title {
  font-family: var(--font-title); font-size: 13px;
  font-weight: 700; letter-spacing: 0.15em;
}

.wd-verdict-checklist {
  display: grid; grid-template-columns: repeat(3,1fr);
  gap: 3px; padding: 10px 14px;
}
.wd-vi {
  display: flex; align-items: flex-start; gap: 6px;
  font-family: var(--font-data); font-size: 10px; padding: 2px 0;
}
.wd-vi-ico { width: 14px; flex-shrink: 0; font-size: 11px; line-height: 1.4; }
.wd-vi-txt { color: var(--text2); line-height: 1.4; }
.wd-vi-txt strong { color: var(--text1); }

/* ══════════════════════════════════════════════════════════════════
   STRUCTURAL MAP — direction banner, entry zones, tags
   ══════════════════════════════════════════════════════════════════ */
.wdl-dir-banner {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 12px; border-radius: var(--radius);
  border: 1px solid; margin-bottom: 8px;
}
.wdl-dir-arrow { font-size: 16px; }
.wdl-dir-txt {
  font-family: var(--font-title); font-size: 14px;
  font-weight: 900; letter-spacing: 0.15em;
}
.wdl-dir-state {
  font-family: var(--font-data); font-size: 10px;
  color: var(--text3); letter-spacing: 0.1em;
  background: var(--bg3); border: 1px solid var(--border);
  padding: 2px 7px; border-radius: 2px;
}
.wdl-dir-score {
  font-family: var(--font-data); font-size: 13px;
  font-weight: 700; margin-left: auto;
}

/* Entry zone rows */
.wdl-entry-agg {
  background: rgba(255,208,96,0.07);
  border-left: 2px solid var(--yellow);
  animation: entryPulse 2s infinite;
}
.wdl-entry-pat {
  background: rgba(0,212,255,0.05);
  border-left: 2px solid var(--cyan2);
  border-style: dashed;
  border-left-style: solid;
}
@keyframes entryPulse {
  0%,100% { background: rgba(255,208,96,0.07); }
  50%      { background: rgba(255,208,96,0.13); }
}

/* Row tags */
.wdl-tag {
  font-family: var(--font-data); font-size: 8px;
  letter-spacing: 0.1em; font-weight: 700;
  padding: 2px 5px; border-radius: 2px; border: 1px solid;
}
.wdl-tag-agg { color: var(--yellow); border-color: #c09020; background: rgba(255,208,96,0.1); }
.wdl-tag-pat { color: var(--cyan);   border-color: var(--cyan2); background: rgba(0,212,255,0.08); }
.wdl-tag-tp  { color: var(--green);  border-color: var(--green2); background: rgba(0,245,160,0.06); }
.wdl-tag-sl  { color: var(--red);    border-color: var(--red2); background: rgba(255,45,85,0.06); }

/* Watchdog pair select (dropdown style) */
.wd-pair-select {
  font-family: var(--font-data); font-size: 13px;
  color: var(--cyan); background: var(--bg2);
  border: 1px solid var(--cyan2);
  border-radius: var(--radius); padding: 5px 10px;
  outline: none; cursor: pointer;
  min-width: 160px; letter-spacing: 0.05em;
}
.wd-pair-select option { background: var(--bg1); color: var(--text1); }
.wd-pair-select:focus  { border-color: var(--cyan); }

/* Alarm bar */
.wd-alarm-bar {
  display: flex; align-items: center; gap: 12px;
  padding: 6px 16px;
  background: var(--bg1);
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
  min-height: 36px;
  flex-wrap: wrap;
}
.wdab-title {
  font-family: var(--font-data); font-size: 9px;
  letter-spacing: 0.15em; color: var(--text3);
  white-space: nowrap;
}
.wd-alarm-list {
  display: flex; align-items: center; gap: 8px;
  flex: 1; flex-wrap: wrap;
}
.wda-empty {
  font-family: var(--font-data); font-size: 10px;
  color: var(--text4); letter-spacing: 0.08em;
}
.wda-item {
  display: flex; align-items: center; gap: 6px;
  font-family: var(--font-data); font-size: 10px;
  padding: 3px 8px; border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--bg2);
}
.wda-item.armed    { border-color: #c09020; background: rgba(255,208,96,0.06); }
.wda-item.triggered{ border-color: var(--green2); background: rgba(0,245,160,0.07); animation: pulse 1s infinite; }
.wda-label { color: var(--text2); }
.wda-val   { color: var(--cyan); font-weight: 700; }
.wda-status{ font-size: 9px; color: var(--text3); }
.wda-rm    {
  font-family: var(--font-data); font-size: 9px;
  background: none; border: none; color: var(--text4);
  cursor: pointer; padding: 0 2px; line-height: 1;
}
.wda-rm:hover { color: var(--red); }

/* TradeRecon auto-scan controls */
.tr-auto-countdown {
  font-family: var(--font-data); font-size: 11px;
  color: var(--yellow); letter-spacing: 0.08em;
  min-width: 45px;
}
.btn-ghost.auto-active {
  color: var(--green); border-color: var(--green2);
  background: rgba(0,245,160,0.08);
  animation: pulse 2s infinite;
}

/* Watchdog pair combo — writable input with datalist */
.wd-pair-combo { position: relative; }
.wd-pair-combo { position: relative; display: inline-block; }
.wd-pair-combo::after {
  content: '▾';
  position: absolute; right: 8px; top: 50%;
  transform: translateY(-50%);
  color: var(--cyan2); font-size: 11px;
  pointer-events: none;
}
.wd-pair-text {
  font-family: var(--font-data); font-size: 13px;
  color: var(--cyan); background: var(--bg2);
  border: 1px solid var(--cyan2);
  border-radius: var(--radius); padding: 5px 28px 5px 10px;
  outline: none; min-width: 170px; letter-spacing: 0.06em;
  text-transform: uppercase; cursor: pointer;
}
.wd-pair-text:focus { border-color: var(--cyan); cursor: text; }
.wd-pair-text::placeholder { color: var(--text4); text-transform: none; }

/* ══════════════════════════════════════════════════════════════════
   C5 — MACRO STALENESS BADGES
   nav-macro-stale: inline badge next to regime pill in nav
   macro-stale-inline: inline warning inside coherence panel
   ══════════════════════════════════════════════════════════════════ */
.macro-stale-badge {
  display: inline-block;
  font-family: var(--font-data); font-size: 9px;
  letter-spacing: 0.08em; border-radius: 3px;
  padding: 2px 6px; margin-left: 6px;
  transition: all 0.3s;
}
.macro-stale-badge:empty { display: none; }

.macro-stale-badge.stale-warn {
  background: rgba(255,140,0,0.15);
  color: var(--yellow);
  border: 1px solid rgba(255,140,0,0.3);
}
.macro-stale-badge.stale-stale {
  background: rgba(255,45,85,0.15);
  color: var(--red);
  border: 1px solid rgba(255,45,85,0.35);
  animation: pulse 2s infinite;
}
.macro-stale-badge.stale-missing {
  background: rgba(58,96,128,0.2);
  color: var(--text4);
  border: 1px solid var(--border1);
}

.macro-stale-inline {
  font-family: var(--font-data); font-size: 10px;
  letter-spacing: 0.06em; border-radius: 3px;
  padding: 4px 8px; margin-bottom: 8px;
}
.macro-stale-inline.stale-warn {
  background: rgba(255,140,0,0.1);
  color: var(--yellow);
  border-left: 2px solid var(--yellow);
}
.macro-stale-inline.stale-stale {
  background: rgba(255,45,85,0.1);
  color: var(--red);
  border-left: 2px solid var(--red);
}

/* ══════════════════════════════════════════════════════════════════
   C1 — BATCH SCAN BUTTON
   Matches existing act-btn / scanning-anim patterns
   ══════════════════════════════════════════════════════════════════ */
#tr-batchscan-btn {
  font-family: var(--font-data); font-size: 11px;
  letter-spacing: 0.08em; border-radius: var(--radius);
  padding: 5px 12px; cursor: pointer;
  background: rgba(0,212,255,0.08);
  color: var(--cyan); border: 1px solid var(--cyan2);
  transition: all 0.2s;
}
#tr-batchscan-btn:hover {
  background: rgba(0,212,255,0.18);
  border-color: var(--cyan);
}
#tr-batchscan-btn:disabled {
  opacity: 0.5; cursor: not-allowed;
}

/* ══════════════════════════════════════════════════════════════════
   T1 — WATCHLIST PSI MONITOR STRIP
   ══════════════════════════════════════════════════════════════════ */
.wl-strip-wrap {
  margin: 0 0 12px 0;
  border: 1px solid rgba(0,212,255,0.15);
  border-radius: var(--radius);
  background: rgba(0,12,24,0.6);
  overflow: hidden;
}
.wl-strip-header {
  display: flex; align-items: center; gap: 10px;
  padding: 6px 12px;
  border-bottom: 1px solid rgba(0,212,255,0.1);
  background: rgba(0,212,255,0.04);
}
.wl-strip-title {
  font-family: var(--font-data); font-size: 10px;
  color: var(--yellow); letter-spacing: 0.1em;
}
.wl-strip-sub {
  font-family: var(--font-data); font-size: 9px;
  color: var(--text4); letter-spacing: 0.06em;
}
.wl-strip {
  display: flex; flex-wrap: nowrap; gap: 8px;
  padding: 10px 12px;
  overflow-x: auto;
}
.wl-strip::-webkit-scrollbar { height: 3px; }
.wl-strip::-webkit-scrollbar-thumb { background: var(--cyan2); border-radius: 2px; }

/* Watchlist cards */
.wl-card {
  flex: 0 0 auto; width: 120px;
  border: 1px solid var(--border1);
  border-radius: var(--radius);
  background: var(--bg2);
  padding: 8px;
  display: flex; flex-direction: column; gap: 5px;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.wl-card:hover { border-color: var(--cyan2); }

/* State transition — glowing border */
.wl-card.wl-card-transition {
  border-color: var(--yellow);
  box-shadow: 0 0 8px rgba(255,208,96,0.3);
  animation: pulse 1.5s 3;
}
.wl-card.wl-card-scanning { opacity: 0.6; animation: pulse 0.8s infinite; }
.wl-card.wl-card-aged  { border-color: rgba(255,208,96,0.2); opacity: 0.8; }
.wl-card.wl-card-stale { opacity: 0.45; border-color: var(--border1); }

.wlc-header {
  display: flex; align-items: center; gap: 4px;
}
.wlc-sym {
  font-family: var(--font-data); font-size: 11px;
  color: var(--cyan); font-weight: 600;
  letter-spacing: 0.04em; flex: 1;
}
.wlc-dir {
  font-family: var(--font-data); font-size: 9px;
  letter-spacing: 0.06em;
}
.wlc-rm {
  background: none; border: none; cursor: pointer;
  color: var(--text4); font-size: 9px; padding: 0 1px;
  line-height: 1;
}
.wlc-rm:hover { color: var(--red); }

.wlc-state { font-size: 9px !important; padding: 2px 5px !important; }

.wlc-mat-wrap {
  display: flex; align-items: center; gap: 5px;
}
.wlc-mat-track {
  flex: 1; height: 3px;
  background: var(--bg3); border-radius: 2px; overflow: hidden;
}
.wlc-mat-fill {
  height: 100%; border-radius: 2px;
  transition: width 0.4s ease;
}
.wlc-mat-pct {
  font-family: var(--font-data); font-size: 9px;
  min-width: 28px; text-align: right;
}
.wlc-score {
  font-family: var(--font-data); font-size: 10px;
  letter-spacing: 0.04em; text-align: right;
}

/* ══════════════════════════════════════════════════════════════════
   T2 — TABLE DECLUTTER: star column, compact actions, heatmap
   ══════════════════════════════════════════════════════════════════ */
.th-star { width: 22px; text-align: center; cursor: default; color: var(--yellow); }
.cell-star {
  width: 22px; text-align: center;
  font-size: 12px; user-select: none;
  transition: color 0.2s;
}
.cell-star:hover { color: var(--yellow) !important; }

/* T2: compact action buttons — icon-only */
.cell-actions { white-space: nowrap; }
.act-btn {
  font-family: var(--font-data); font-size: 11px;
  padding: 3px 7px; border-radius: 3px;
  cursor: pointer; transition: all 0.15s;
  border: 1px solid var(--border1);
  background: transparent; color: var(--text2);
}
.act-btn:hover { border-color: var(--cyan2); color: var(--cyan); background: rgba(0,212,255,0.08); }
.act-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.act-scan:hover  { border-color: var(--cyan2); }
.act-detail:hover { border-color: var(--green2); color: var(--green); background: rgba(0,245,160,0.06); }

/* ══════════════════════════════════════════════════════════════════
   T4 — SCAN FRESHNESS BADGES
   ══════════════════════════════════════════════════════════════════ */
.cell-fresh { width: 44px; text-align: center; }
.fresh-badge {
  font-family: var(--font-data); font-size: 8px;
  letter-spacing: 0.06em; border-radius: 2px;
  padding: 1px 4px;
}
.fresh-ok    { color: var(--green2);  background: rgba(0,245,160,0.08); }
.fresh-aged  { color: var(--yellow);  background: rgba(255,208,96,0.08); }
.fresh-stale { color: var(--text4);   background: rgba(58,96,128,0.15); }

/* ══════════════════════════════════════════════════════════════════
   T6 — PSI MATURITY COLUMN + CROSS EVENTS + COHERENCE BADGE
   ══════════════════════════════════════════════════════════════════ */
.cell-psi  { width: 80px; }
.cell-cross { width: 52px; text-align: center; }

.tr-psi-wrap {
  display: flex; align-items: center; gap: 5px;
}
.tr-psi-track {
  flex: 1; height: 3px;
  background: var(--bg3); border-radius: 2px; overflow: hidden;
  min-width: 32px;
}
.tr-psi-fill {
  height: 100%; border-radius: 2px;
  transition: width 0.4s ease;
}
.tr-psi-pct {
  font-family: var(--font-data); font-size: 9px;
  min-width: 26px; text-align: right; letter-spacing: 0.04em;
}

/* Cross event dots — colored by bull/bear, confirmed/forming */
.tr-cross-dot {
  display: inline-block;
  width: 6px; height: 6px; border-radius: 50%;
  margin: 0 1px; vertical-align: middle;
  opacity: 0.85;
}

/* [v1.0] Absorption dot — orange, slightly larger than cross dots */
.tr-absorb-dot {
  display: inline-block;
  width: 8px; height: 8px; border-radius: 50%;
  margin: 0 1px; vertical-align: middle;
  background: #ff8800;
  opacity: 0.92;
  box-shadow: 0 0 4px rgba(255, 136, 0, 0.5);
}

/* [v2.0] Regime dot — size matches cross dot, color set inline by regime tier */
.tr-regime-dot {
  width: 5px; height: 5px;
  border-radius: 2px; /* square-ish to distinguish from round cross dots */
  opacity: 0.75;
}

/* [v8.0] Setup archetype dot — purple diamond-ish, signals named strategy matched */
.tr-setup-dot {
  display: inline-block;
  width: 7px; height: 7px;
  border-radius: 1px;
  transform: rotate(45deg);
  margin: 0 2px; vertical-align: middle;
  background: var(--purple);
  opacity: 0.88;
  box-shadow: 0 0 4px rgba(153,102,255,0.4);
}

/* [v1.0] Liquidity pressure squeeze warning badge in verdict checklist */
.wdlq-squeeze {
  display: inline-block;
  background: rgba(255, 204, 0, 0.12);
  border: 1px solid rgba(255, 204, 0, 0.35);
  color: var(--yellow);
  font-size: 9px; font-family: var(--font-data);
  padding: 1px 5px; border-radius: 3px;
  letter-spacing: 0.05em;
  animation: pulse 1.4s ease-in-out infinite;
}

/* [v1.0] POC migration direction pill in EMA levels area */
.wd-poc-dir {
  display: inline-flex; align-items: center; gap: 3px;
  border-top: 1px solid rgba(255,255,255,0.04);
  margin-top: 2px;
  padding-top: 3px;
}
.wd-poc-dir-lbl {
  font-family: var(--font-data);
  font-size: 9px;
  letter-spacing: 0.04em;
  font-weight: 600;
}

/* Inline macro coherence badge in signal cell */
.tr-coh-badge {
  font-family: var(--font-data); font-size: 9px;
  margin-left: 4px; letter-spacing: 0.04em;
  opacity: 0.85;
}

/* ══════════════════════════════════════════════════════════════════
   T7 — SIGNAL TRANSITION TOASTS
   ══════════════════════════════════════════════════════════════════ */
.toast-container {
  position: fixed;
  top: 52px; right: 16px;
  z-index: 9999;
  display: flex; flex-direction: column; gap: 6px;
  pointer-events: none;
  max-width: 320px;
}

.toast-item {
  display: flex; align-items: center; gap: 8px;
  background: var(--bg2);
  border: 1px solid var(--border1);
  border-left: 3px solid var(--cyan);
  border-radius: var(--radius);
  padding: 8px 10px;
  pointer-events: all;
  cursor: pointer;
  animation: toastSlideIn 0.25s ease;
  transition: opacity 0.3s;
  box-shadow: 0 4px 16px rgba(0,0,0,0.4);
}
.toast-item:hover { border-color: var(--cyan); background: var(--bg3); }

/* State-specific left border color */
.toast-long    { border-left-color: var(--green); }
.toast-short   { border-left-color: var(--red); }
.toast-watch   { border-left-color: var(--yellow); }
.toast-forming { border-left-color: var(--orange, #ff8c00); }
.toast-hunt    { border-left-color: var(--cyan); }

.toast-sym {
  font-family: var(--font-data); font-size: 11px;
  color: var(--cyan); font-weight: 600;
  letter-spacing: 0.05em; white-space: nowrap;
}
.toast-label {
  font-family: var(--font-data); font-size: 10px;
  letter-spacing: 0.06em; flex: 1;
}
.toast-score {
  font-family: var(--font-data); font-size: 9px;
  color: var(--text3); white-space: nowrap;
}
.toast-close {
  background: none; border: none; cursor: pointer;
  color: var(--text4); font-size: 10px; padding: 0 2px;
  line-height: 1; flex-shrink: 0;
}
.toast-close:hover { color: var(--red); }

@keyframes toastSlideIn {
  from { opacity: 0; transform: translateX(20px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* ══════════════════════════════════════════════════════════════════
   T8 — WATCHDOG QUICK-SWITCH NAV BUTTONS
   ══════════════════════════════════════════════════════════════════ */
.wd-nav-btn {
  font-family: var(--font-data); font-size: 10px;
  letter-spacing: 0.08em; padding: 5px 10px;
  border-radius: var(--radius);
  background: rgba(0,212,255,0.06);
  color: var(--cyan2); border: 1px solid var(--border1);
  cursor: pointer; transition: all 0.2s;
}
.wd-nav-btn:hover {
  background: rgba(0,212,255,0.14);
  color: var(--cyan); border-color: var(--cyan2);
}

/* Keyboard hint tooltip — shown in Watchdog toolbar */
.wd-key-hint {
  font-family: var(--font-data); font-size: 9px;
  color: var(--text4); letter-spacing: 0.06em;
  margin-left: 4px;
}

/* ══════════════════════════════════════════════════════════════════
   X4 — RESPONSIVE WATCHDOG GRID (<1600px / <1280px)
   Left column fixed at 380px is fine at 1920px.
   Shrinks gracefully on 1440px laptops and below.
   ══════════════════════════════════════════════════════════════════ */
@media (max-width: 1600px) {
  .wd-body-v2 {
    grid-template-columns: 320px 1fr;
  }
}
@media (max-width: 1280px) {
  .wd-body-v2 {
    grid-template-columns: 270px 1fr;
    gap: 8px;
    padding: 8px 10px 0;
  }
}
@media (max-width: 1100px) {
  /* Single column stacked — tablets / small desktops */
  .wd-body-v2 {
    grid-template-columns: 1fr;
    overflow-y: auto;
    overflow-x: hidden;
  }
}

/* ══════════════════════════════════════════════════════════════════
   SIGNAL LOG SCREEN
   ══════════════════════════════════════════════════════════════════ */

/* Nav badge — live count of today's signals */
.nav-siglog-badge {
  display: inline-block;
  font-family: var(--font-data); font-size: 8px;
  background: var(--green); color: var(--bg1);
  border-radius: 8px; padding: 1px 5px;
  margin-left: 5px; font-weight: 700;
  line-height: 1.4; vertical-align: middle;
  animation: pulse 2s infinite;
}

/* Direction filter button group */
.slg-dir-filter {
  display: flex; gap: 2px;
  border: 1px solid var(--border1); border-radius: var(--radius);
  overflow: hidden;
}
.slg-dir-btn {
  font-family: var(--font-data); font-size: 10px;
  letter-spacing: 0.08em; padding: 5px 12px;
  background: transparent; border: none;
  color: var(--text3); cursor: pointer;
  transition: all 0.15s;
}
.slg-dir-btn:hover  { background: rgba(0,212,255,0.08); color: var(--cyan); }
.slg-dir-btn.active { background: rgba(0,212,255,0.12); color: var(--cyan); }

/* Scroll container */
.slg-scroll {
  flex: 1; overflow-y: auto; overflow-x: hidden;
  padding: 0 12px 12px;
}
.slg-scroll::-webkit-scrollbar { width: 4px; }
.slg-scroll::-webkit-scrollbar-thumb { background: var(--cyan2); border-radius: 2px; }

/* Empty state */
.slg-empty {
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  padding: 60px 20px; gap: 10px;
  color: var(--text4);
}
.slg-empty-icon { font-size: 32px; opacity: 0.3; }
.slg-empty-txt  { font-family: var(--font-data); font-size: 13px; letter-spacing: 0.1em; }
.slg-empty-sub  { font-family: var(--font-data); font-size: 10px; color: var(--text4); text-align: center; max-width: 340px; line-height: 1.5; }

/* Date group */
.slg-date-group { margin-bottom: 16px; }
.slg-date-hdr {
  display: flex; align-items: center; justify-content: space-between;
  padding: 6px 0 6px 4px;
  border-bottom: 1px solid var(--border1);
  margin-bottom: 6px;
}
.slg-date-lbl {
  font-family: var(--font-data); font-size: 10px;
  color: var(--cyan2); letter-spacing: 0.1em;
  text-transform: uppercase;
}
.slg-date-count {
  font-family: var(--font-data); font-size: 9px;
  color: var(--text4); letter-spacing: 0.06em;
}

/* Entry card */
.slg-entry {
  display: flex; align-items: center; gap: 12px;
  padding: 9px 12px;
  border: 1px solid var(--border1);
  border-radius: var(--radius);
  background: var(--bg2);
  margin-bottom: 4px;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
}
.slg-entry:hover {
  border-color: var(--cyan2);
  background: var(--bg3);
}

/* Prime entries — WATCH/LONG/SHORT transitions get highlighted */
.slg-entry-prime {
  border-color: rgba(0,212,255,0.2);
  background: rgba(0,12,24,0.8);
}
.slg-entry-prime:hover { border-color: var(--cyan); }

.slg-entry-left {
  display: flex; flex-direction: column; gap: 2px;
  min-width: 80px;
}
.slg-time {
  font-family: var(--font-data); font-size: 11px;
  color: var(--cyan); letter-spacing: 0.04em;
}
.slg-sym {
  font-family: var(--font-data); font-size: 13px;
  color: var(--text1); font-weight: 600; letter-spacing: 0.04em;
}
.slg-tf {
  font-family: var(--font-data); font-size: 9px;
  color: var(--text4); letter-spacing: 0.08em;
}

.slg-entry-mid {
  display: flex; align-items: center; gap: 6px;
  flex: 0 0 auto; min-width: 160px;
}
.slg-prev {
  font-family: var(--font-data); font-size: 10px;
  color: var(--text3); letter-spacing: 0.06em;
}
.slg-arrow {
  color: var(--text4); font-size: 11px;
}
.slg-new {
  font-size: 9px !important; padding: 2px 6px !important;
}

.slg-entry-right {
  display: flex; align-items: center; gap: 10px;
  flex: 1;
}
.slg-dir {
  font-family: var(--font-data); font-size: 11px;
  font-weight: 600; letter-spacing: 0.06em;
  min-width: 54px;
}
.slg-score {
  font-family: var(--font-data); font-size: 11px;
  letter-spacing: 0.04em; min-width: 32px;
}
.slg-psi {
  font-family: var(--font-data); font-size: 9px;
  color: var(--text4); letter-spacing: 0.04em;
}
.slg-src {
  font-family: var(--font-data); font-size: 9px;
  letter-spacing: 0.06em; opacity: 0.7;
}

.slg-entry-action {
  color: var(--text4); font-size: 13px;
  margin-left: auto; flex-shrink: 0;
  transition: color 0.2s;
}
.slg-entry:hover .slg-entry-action { color: var(--cyan); }

/* ── Regime banner chip sub-labels (v2.0b) ──────────────────────── */
.wd-regime-delta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.wrd-lbl {
  font-size: 8px;
  color: var(--text4);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.wrd-val {
  font-size: 10px;
  color: var(--text2);
  font-weight: 600;
  font-family: var(--font-data);
}
.wrd-delta {
  font-size: 9px;
  font-family: var(--font-data);
  letter-spacing: 0.03em;
}
.wd-regime-delta-changed {
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.10);
}
