/* ============================================================
   Prospector — design system (inspirado no padrão SiSENG descrito
   no handoff: tema claro/escuro, chips .tag, cards KPI, tabelas)
   Requer Bootstrap 5 (data-bs-theme controla o tema).
   ============================================================ */

:root {
  --pr-primary: #0d6e5f;          /* verde DataWises */
  --pr-primary-soft: #0d6e5f1a;
  --pr-radius: .65rem;
}

body { min-height: 100vh; }

/* ---------- Navbar / marca ---------- */
.navbar-prospec { border-bottom: 1px solid var(--bs-border-color); }
.navbar-prospec .navbar-brand { font-weight: 700; letter-spacing: -.02em; }
.navbar-prospec .navbar-brand .dot { color: var(--pr-primary); }

/* ---------- Hero compacto ---------- */
.hero-compact { padding: 1.1rem 0 .6rem; }
.hero-compact h1 { font-size: 1.35rem; font-weight: 700; margin: 0; }
.hero-compact .breadcrumb { margin: 0; font-size: .85rem; }

/* ---------- Chips .tag ---------- */
.tag {
  display: inline-block; padding: .18rem .55rem; border-radius: 99px;
  font-size: .75rem; font-weight: 600; line-height: 1.2; white-space: nowrap;
}
.tag-ok    { background: #19875421; color: #198754; }
.tag-warn  { background: #ffc10726; color: #b28704; }
.tag-off   { background: #6c757d21; color: #6c757d; }
.tag-info  { background: #0d6efd1f; color: #0d6efd; }
.tag-score { background: var(--pr-primary-soft); color: var(--pr-primary); }

/* ---------- KPI cards ---------- */
.kpi {
  border: 1px solid var(--bs-border-color); border-radius: var(--pr-radius);
  padding: .9rem 1.1rem; background: var(--bs-body-bg);
}
.kpi .kpi-label { font-size: .78rem; color: var(--bs-secondary-color); text-transform: uppercase; letter-spacing: .04em; }
.kpi .kpi-value { font-size: 1.55rem; font-weight: 700; line-height: 1.15; }
.kpi .kpi-sub   { font-size: .8rem; color: var(--bs-secondary-color); }

/* ---------- Tabela de leads ---------- */
.table-leads { font-size: .875rem; }
.table-leads th { white-space: nowrap; font-weight: 600; }
.table-leads td { vertical-align: middle; }
.table-leads .empresa-nome { font-weight: 600; display: block; }
.table-leads .empresa-fantasia { font-size: .78rem; color: var(--bs-secondary-color); }

/* Score como barra discreta */
.score-pill {
  display: inline-flex; align-items: center; gap: .4rem; min-width: 3.4rem;
  font-weight: 700; font-size: .85rem; color: var(--pr-primary);
}
.score-pill .bar {
  width: 42px; height: 6px; border-radius: 99px;
  background: var(--bs-border-color); overflow: hidden; flex: none;
}
.score-pill .bar > i { display: block; height: 100%; background: var(--pr-primary); }

/* ---------- Sidebar de filtros ---------- */
.filtros { position: sticky; top: 1rem; }
.filtros .form-label { font-size: .78rem; font-weight: 600; margin-bottom: .2rem; }
.filtros .form-control, .filtros .form-select { font-size: .85rem; }

/* ---------- Botões utilitários ---------- */
.btn-primary { --bs-btn-bg: var(--pr-primary); --bs-btn-border-color: var(--pr-primary);
  --bs-btn-hover-bg: #0a574b; --bs-btn-hover-border-color: #0a574b;
  --bs-btn-active-bg: #084a40; }
.btn-fav { color: #ffc107; }

/* ---------- Timeline de interações ---------- */
.timeline { list-style: none; padding-left: 0; }
.timeline li { position: relative; padding: 0 0 1rem 1.4rem; border-left: 2px solid var(--bs-border-color); margin-left: .4rem; }
.timeline li::before {
  content: ''; position: absolute; left: -6px; top: .2rem;
  width: 10px; height: 10px; border-radius: 50%; background: var(--pr-primary);
}
.timeline .quando { font-size: .75rem; color: var(--bs-secondary-color); }

/* ---------- Mapa ---------- */
#mapa-empresa { height: 320px; border-radius: var(--pr-radius); }

/* ---------- Dark mode: ajustes finos ---------- */
[data-bs-theme="dark"] .tag-ok   { background: #19875433; }
[data-bs-theme="dark"] .tag-warn { background: #ffc10733; }
[data-bs-theme="dark"] .kpi      { background: var(--bs-tertiary-bg); }
