/* ============================================================
   styles-additions-v9.css — Sprint 4: AI signals UI
   ============================================================ */

/* ---------- AI status pill in masthead ---------- */
.ai-pill {
  display: inline-block;
  margin-top: 8px;
  padding: 4px 10px;
  border-radius: 14px;
  font-size: 0.78rem;
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  border: 1px solid;
  transition: all 0.15s;
}
.ai-pill:hover { transform: scale(1.03); }
.ai-pill-hidden { display: none !important; }
.ai-pill-analyzing {
  background: #E6F1FB;
  color: #1F5D9D;
  border-color: #B5D2EE;
}
.ai-pill-warning {
  background: #FAEEDA;
  color: #996024;
  border-color: #EBC685;
}
.ai-pill-batching {
  background: #FAEEDA;
  color: #996024;
  border-color: #EBC685;
}
.ai-pill-budget_full {
  background: #FAECE7;
  color: #993C1D;
  border-color: #EBB7A4;
}
.ai-pill-offline {
  background: #FAECE7;
  color: #993C1D;
  border-color: #EBB7A4;
}
.ai-pill-icon { margin-right: 2px; }
.ai-pill-spinner {
  display: inline-block;
  margin-right: 4px;
  animation: ai-pill-spin 1.2s linear infinite;
}
@keyframes ai-pill-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* ---------- Intent dot in touch detail header & touch row ---------- */
.tdm-intent-dot,
.tcpr-intent-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #b3b0a6;
  margin-left: 6px;
  flex-shrink: 0;
  cursor: help;
}
.tdm-intent-buying_signal,    .tcpr-intent-dot.tcpr-intent-buying_signal     { background: #1D9E75; box-shadow: 0 0 0 2px #E1F5EE; }
.tdm-intent-objection,         .tcpr-intent-dot.tcpr-intent-objection         { background: #993C1D; box-shadow: 0 0 0 2px #FAECE7; }
.tdm-intent-stalling,          .tcpr-intent-dot.tcpr-intent-stalling          { background: #996024; box-shadow: 0 0 0 2px #FAEEDA; }
.tdm-intent-info_gathering,    .tcpr-intent-dot.tcpr-intent-info_gathering    { background: #1F5D9D; box-shadow: 0 0 0 2px #E6F1FB; }
.tdm-intent-relationship_building, .tcpr-intent-dot.tcpr-intent-relationship_building { background: #6b5b9d; box-shadow: 0 0 0 2px #ece7f5; }
.tdm-intent-decline,           .tcpr-intent-dot.tcpr-intent-decline           { background: #993C1D; box-shadow: 0 0 0 2px #FAECE7; }
.tdm-intent-unknown,           .tcpr-intent-dot.tcpr-intent-unknown           { background: #888780; }

/* ---------- Signals section in touch detail modal ---------- */
.tdm-signals-section {
  background: linear-gradient(to bottom, #f7f4ec 0%, #faf8f3 100%);
  border-top: 2px solid #E1F5EE;
}
.tdm-signals-meta {
  flex: 1;
  font-size: 0.78rem;
  color: #888780;
  margin-left: auto;
  margin-right: 8px;
  text-align: right;
  font-family: 'IBM Plex Mono', monospace;
}
.tdm-signals-retry {
  background: white;
  border: 1px solid #d8d2c4;
  color: #6b6960;
  border-radius: 6px;
  padding: 3px 8px;
  font-size: 0.82rem;
  font-family: inherit;
  cursor: pointer;
  transition: all 0.12s;
}
.tdm-signals-retry:hover { background: #f3f0e9; color: #2a2a2a; }
.tdm-signals-retry:disabled { opacity: 0.5; cursor: not-allowed; }

.tdm-signals-pending,
.tdm-signals-error { background: #f7f4ec; }
.tdm-signals-pending-msg {
  padding: 12px;
  background: white;
  border: 1px dashed #d8d2c4;
  border-radius: 6px;
  font-size: 0.86rem;
  color: #6b6960;
  text-align: center;
}
.tdm-signals-spinner {
  display: inline-block;
  margin-right: 4px;
  animation: ai-pill-spin 1.2s linear infinite;
}
.tdm-signals-error-msg {
  padding: 10px 12px;
  background: #FAECE7;
  border: 1px solid #EBB7A4;
  border-radius: 6px;
  font-size: 0.86rem;
  color: #993C1D;
}

.tdm-signal-summary {
  background: white;
  border-left: 3px solid #1D9E75;
  padding: 10px 12px;
  border-radius: 4px;
  font-size: 0.95rem;
  color: #2a2a2a;
  line-height: 1.55;
  margin-bottom: 12px;
  font-family: 'Fraunces', serif;
}

.tdm-signal-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 12px;
}
.tdm-signal-cell {
  background: white;
  border: 1px solid #ece7db;
  border-radius: 6px;
  padding: 8px 12px;
}
.tdm-signal-cell label {
  display: block;
  font-size: 0.72rem;
  color: #888780;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 2px;
}
.tdm-signal-cell strong {
  display: block;
  font-size: 0.95rem;
  color: #2a2a2a;
  text-transform: capitalize;
}
.tdm-signal-cell span {
  display: block;
  font-size: 0.78rem;
  color: #888780;
  margin-top: 2px;
  font-family: 'IBM Plex Mono', monospace;
}

/* Intent color overrides for the strong tag in signal cell */
.tdm-signal-cell strong.tdm-intent-buying_signal      { color: #1D9E75; }
.tdm-signal-cell strong.tdm-intent-objection          { color: #993C1D; }
.tdm-signal-cell strong.tdm-intent-stalling           { color: #996024; }
.tdm-signal-cell strong.tdm-intent-info_gathering     { color: #1F5D9D; }
.tdm-signal-cell strong.tdm-intent-relationship_building { color: #6b5b9d; }
.tdm-signal-cell strong.tdm-intent-decline            { color: #993C1D; }
.tdm-signal-cell strong.tdm-sentiment-positive        { color: #1D9E75; }
.tdm-signal-cell strong.tdm-sentiment-negative        { color: #993C1D; }
.tdm-signal-cell strong.tdm-sentiment-mixed           { color: #996024; }
.tdm-signal-cell strong.tdm-sentiment-neutral         { color: #6b6960; }

.tdm-signal-block {
  background: white;
  border: 1px solid #ece7db;
  border-radius: 6px;
  padding: 10px 12px;
  margin-bottom: 8px;
}
.tdm-signal-block-buying { border-left: 3px solid #1D9E75; }
.tdm-signal-block-risk   { border-left: 3px solid #996024; }
.tdm-signal-block-label {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  color: #2a2a2a;
  margin-bottom: 6px;
}
.tdm-signal-item {
  font-size: 0.88rem;
  color: #2a2a2a;
  margin-bottom: 4px;
  cursor: help;
}
.tdm-signal-item strong {
  font-weight: 500;
}
.tdm-signal-evidence {
  display: block;
  font-size: 0.78rem;
  color: #6b6960;
  font-style: italic;
  font-family: 'Fraunces', serif;
  padding-left: 12px;
  margin-top: 1px;
  border-left: 2px solid #f3f0e9;
}
.tdm-topic-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.tdm-topic-chip {
  background: #E6F1FB;
  color: #1F5D9D;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 0.78rem;
  text-transform: lowercase;
}
.tdm-facts-list {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.tdm-fact-row {
  font-size: 0.84rem;
  color: #2a2a2a;
  padding: 3px 8px;
  background: #f7f4ec;
  border-radius: 4px;
  font-family: 'IBM Plex Mono', monospace;
}
.tdm-signals-thin {
  font-size: 0.84rem;
  color: #888780;
  font-style: italic;
  padding: 8px 0;
}

/* Mobile */
@media (max-width: 600px) {
  .tdm-signal-grid { grid-template-columns: 1fr; }
}
