/* ---------- Signals ---------- */
.signals-panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 24px 26px;
  margin-bottom: 20px;
  box-shadow: var(--shadow);
}

.signals-optin {
  display: flex; flex-direction: column; align-items: flex-start; gap: 10px;
  padding: 8px 0 4px;
}
.signals-optin-title { font-family: var(--font-body); font-size: 15px; font-weight: 600; }
.signals-optin-body { font-size: 13px; color: var(--muted-2); line-height: 1.6; max-width: 60ch; }
.signals-telegram-hint { font-size: 11px; color: var(--muted); }

.signals-stats {
  display: flex; flex-wrap: wrap; gap: 22px;
  margin-bottom: 18px; padding-bottom: 18px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.signals-stat { display: flex; flex-direction: column; gap: 2px; }
.signals-stat-value { font-family: var(--font-disp); font-size: 20px; font-weight: 700; }
.signals-stat-label { font-size: 11px; color: var(--muted); }

.signals-settings {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  margin-bottom: 18px; font-size: 12px;
}
.signals-settings-label { color: var(--muted-2); font-weight: 600; }

.near-misses {
  display: flex; flex-direction: column; gap: 8px;
  padding: 12px 14px; margin-bottom: 16px;
  background: var(--surface-hi);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
}
.near-misses-title { font-size: 11px; font-weight: 600; color: var(--muted-2); letter-spacing: 0.02em; }
.near-miss-row {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  font-size: 12px;
}
.near-miss-badge { padding: 2px 7px; font-size: 10px; }
.near-miss-symbol { font-family: var(--font-mono); font-weight: 700; color: var(--text); }
.near-miss-reason { color: var(--muted); }

.signal-list { display: flex; flex-direction: column; gap: 12px; }
.signal-card {
  padding: 14px 16px;
  background: var(--surface-hi);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
}
.signal-card-top { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; flex-wrap: wrap; }
.signal-symbol { font-family: var(--font-mono); font-size: 13px; font-weight: 700; }
.signal-badge {
  font-size: 11px; font-weight: 700; letter-spacing: 0.04em;
  padding: 3px 9px; border-radius: 999px;
}
.signal-badge-long { color: var(--bullish); background: rgba(52,211,153,0.1); border: 1px solid rgba(52,211,153,0.3); }
.signal-badge-short { color: var(--bearish); background: rgba(251,113,133,0.1); border: 1px solid rgba(251,113,133,0.3); }
.signal-chip {
  font-size: 10px; font-weight: 700; letter-spacing: 0.05em;
  padding: 3px 8px; border-radius: 999px; margin-left: auto;
}
.signal-chip-open { color: var(--accent); background: rgba(56,189,248,0.1); border: 1px solid rgba(56,189,248,0.3); }
.signal-chip-win { color: var(--bullish); background: rgba(52,211,153,0.1); border: 1px solid rgba(52,211,153,0.3); }
.signal-chip-loss { color: var(--bearish); background: rgba(251,113,133,0.1); border: 1px solid rgba(251,113,133,0.3); }
.signal-card-levels {
  display: flex; flex-wrap: wrap; gap: 16px;
  font-family: var(--font-mono); font-size: 12.5px; color: var(--muted-2);
  margin-bottom: 8px;
}
.signal-card-levels b { color: var(--text); }
.signal-card-meta {
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px;
  font-size: 11px; color: var(--muted);
}
