/* ========================================
   SCOUT — Core CSS
   Source of truth: docs/DESIGN_SYSTEM.md v2.0
   Token: --gold = #0A9E5E (NF green)
   Legacy blocks remain until DS migration cleanup (Lote G/H/I doutrina)
   ======================================== */

/* ========================================
   1. DESIGN TOKENS (:root)
   ======================================== */
:root {
  /* === CORES BASE === */
  --bg: #FFFFFF;
  --surface: #F9FAFB;
  --text: #1F2937;
  --text-muted: #6B7280;
  --gold: #0A9E5E;
  --green: #10B981;
  --red: #EF4444;
  --blue: #3B82F6;
  --border: #E5E7EB;

  /* === CORES NOVAS === */
  --orange: #F59E0B;
  --yellow: #EAB308;
  --purple: #8B5CF6;
  --surface-hover: #F3F4F6;
  --surface-active: #E5E7EB;

  /* === CORES LIGHT (backgrounds semânticos) === */
  --gold-light: rgba(10, 158, 94, 0.08);
  --red-light: rgba(239, 68, 68, 0.06);
  --green-light: rgba(16, 185, 129, 0.06);
  --blue-light: rgba(59, 130, 246, 0.06);
  --orange-light: rgba(245, 158, 11, 0.08);
  --yellow-light: rgba(234, 179, 8, 0.08);
  --purple-light: rgba(139, 92, 246, 0.06);

  /* === TIPOGRAFIA === */
  --mono: 'IBM Plex Mono', monospace;
  --sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  /* M9 DS Sprint 1 #1: --display estava referenciada (.scout-wordmark + .product-mark) mas nunca definida.
     Browser caia em fallback default. Inter Tight via Google Fonts em index.html. */
  /* A11 Vera (Kai 2026-07-26): --display REMOVIDO (DS v1.13 já tinha removido). Inter sans 700/800 substitui. */

  /* === ESCALA TIPOGRÁFICA === */
  --text-h1: 28px;
  --text-h2: 20px;
  --text-h3: 16px;
  --text-body: 14px;
  --text-small: 13px;
  --text-label: 11px;
  --text-micro: 10px;
  --text-caption: 9px;

  /* === SPACING === */
  --space-2xs: 2px;
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;

  /* === RADIUS === */
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 10px;
  --radius-full: 9999px;

  /* === SHADOWS === */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);

  /* === TRANSITIONS === */
  --ease-fast: 0.15s ease;
  --ease-default: 0.2s ease;
  --ease-slow: 0.3s ease;

  /* Detail header grid */
  --detail-gap: 20px;
  --detail-pad: 20px;
}

/* ========================================
   2. RESET & BASE
   ======================================== */
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  font-family: var(--sans);
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* ========================================
   3. LAYOUT (header, container, nav)
   ======================================== */

/* Header — white bg, 1px border (DS 7.1) */
.header {
  background: var(--bg);
  border-bottom: 1px solid var(--border);
  padding: 0;
  position: sticky;
  top: 0;
  z-index: 100;
}
.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 16px;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
}
.logo {
  font-family: var(--mono);
  font-weight: 600;
  font-size: 20px;
  color: var(--gold);
  letter-spacing: 0.05em;
  padding: 12px 0;
  display: flex;
  align-items: center;
}

/* v24.11.2 (Anna 2026-05-09): chart-fallback DS-conforme — extrai inline styles do botão TradingView lazy-load. */
.chart-fallback {
  padding: 24px;
  text-align: center;
  border: 1px dashed var(--border);
  border-radius: 6px;
}
.chart-fallback-label {
  margin-bottom: 12px;
  font-family: var(--sans);
  font-size: 13px;
  color: var(--text);
}
.btn-chart-load {
  margin-right: 8px;
  padding: 6px 12px;
  font-family: var(--mono);
  font-size: 11px;
  cursor: pointer;
  border: 1px solid var(--gold);
  background: var(--gold-light);
  color: var(--gold);
  border-radius: 4px;
  transition: all var(--ease-default);
}
.btn-chart-load:hover {
  background: var(--gold);
  color: white;
}
.link-chart-external {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--text-muted);
  text-decoration: none;
}
.link-chart-external:hover {
  color: var(--text);
  text-decoration: underline;
}

/* DS v1.10 §00.5 — Marca Scout (wordmark only). Substitui .logo legacy.
   Brackets em mono+text-muted, nome em Inter Tight 700+text. Em fundo escuro brackets viram NF green. */
/* Wordmark conforme DS v1.13 (docs/DESIGN_SYSTEM.md § 02):
   Anna 2026-05-10 fix drift — header estava preto inteiro (font-family display + weight 700 + brackets muted).
   DS oficial: Inter sans 800 + brackets IBM Plex Mono gold. */
.scout-wordmark {
  font-family: var(--sans);
  font-weight: 800;
  font-size: 20px;
  letter-spacing: -0.04em;
  color: var(--text);
  display: inline-flex;
  align-items: baseline;
  padding: 12px 0;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
}
.scout-wordmark .br {
  font-family: var(--mono);
  font-weight: 500;
  color: var(--text-muted); /* A05 Vera (Kai 2026-07-26 · A): brackets muted no light (sobriedade observatório). */
  padding: 0 0.06em;
  letter-spacing: 0;
}
/* A05: brackets viram NF green em dark mode pra afirmar accent */
.dark .scout-wordmark .br,
.scout-wordmark.on-dark .br { color: var(--gold); }
/* Dark mode mantém: wordmark branco, brackets gold (mesmos do light) */
.dark .scout-wordmark, .scout-wordmark.on-dark { color: #fff; }
.dark .scout-wordmark .br, .scout-wordmark.on-dark .br { color: var(--gold); }

/* Nav tabs — underline style (DS 7.2) */
.nav {
  display: flex;
  gap: 0;
  align-items: stretch;
}
.nav-tab {
  font-family: var(--mono);
  font-size: var(--text-label);
  padding: 14px 16px;
  cursor: pointer;
  transition: all var(--ease-default);
  color: var(--text-muted);
  border: none;
  border-bottom: 2px solid transparent;
  background: transparent;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  text-decoration: none;
  display: flex;
  align-items: center;
}
.nav-tab:hover {
  color: var(--text);
  border-bottom-color: var(--border);
}
.nav-tab.active {
  color: var(--gold);
  border-bottom-color: var(--gold);
  font-weight: 600;
}
.nav-tab.disabled {
  opacity: 0.35;
  cursor: default;
}

.container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Header meta */
.header-version {
  font-family: var(--mono);
  font-size: var(--text-label);
  color: var(--text-muted);
  opacity: 0.6;
  display: flex;
  align-items: center;
}
.header-count {
  font-family: var(--mono);
  font-size: var(--text-label);
  color: var(--text-muted);
  display: flex;
  align-items: center;
}

/* Header search */
/* v25.6.40 DS pass: mono → sans (A13 audit 2026-05-18). Header search é input
   de usuário, não chrome técnico. Inter sans com tabular-nums quando vier
   number (placeholder textual aqui). */
#searchInput {
  font-family: var(--sans);
  padding: 8px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  font-size: var(--text-small);
  background: var(--bg);
  color: var(--text);
  width: 280px;
  transition: all var(--ease-default);
  align-self: center;
}
#searchInput:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px var(--gold-light);
}
#searchInput::placeholder {
  color: var(--text-muted);
}

/* ========================================
   4. BOARD (cards grid, controles, badges)
   ======================================== */
.board-controls {
  display: flex;
  gap: 12px;
  padding: var(--space-md) 0;
  flex-wrap: wrap;
  align-items: center;
}
/* v25.6.40 DS pass: mono → sans (A13 audit). Inputs/selects de usuário usam
   sans; mono fica restrito a chrome estrutural per DS v1.13. */
.board-controls input,
.board-controls select {
  font-family: var(--sans);
  padding: 8px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  font-size: var(--text-small);
  background: var(--bg);
  color: var(--text);
}
.board-controls input {
  width: 280px;
}
.board-controls input::placeholder {
  color: var(--text-muted);
}
.board-controls input:focus,
.board-controls select:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px var(--gold-light);
}

.board-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: var(--space-md);
  padding-bottom: var(--space-2xl);
}

/* Board cards (DS 7.3) */
.card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-md);
  cursor: pointer;
  transition: all var(--ease-default);
  display: flex;
  flex-direction: column;
}
.card:hover {
  border-color: var(--gold);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.card-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--space-sm);
  margin-bottom: 10px;
}
.card-top-left {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  min-width: 0;
  flex: 1;
}
.card-rank {
  font-family: var(--mono);
  font-size: var(--text-label);
  color: var(--text-muted);
  font-weight: 600;
  flex-shrink: 0;
  min-width: 24px;
}
.card-icon {
  font-size: 20px;
  flex-shrink: 0;
  line-height: 1.3;
}
.card-info {
  min-width: 0;
  flex: 1;
}
.card-name {
  font-weight: 600;
  font-size: var(--text-body);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* v25.6.40 DS pass: mono → sans (A14 audit). Setor é texto descritivo, não
   identificador técnico — sans per DS v1.13. */
.card-sector {
  font-size: var(--text-label);
  color: var(--text-muted);
  font-family: var(--sans);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: var(--space-2xs);
}

/* Score badges — grid in cards (DS 7.4) */
.card-badges,
.badges {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--space-xs);
  margin-bottom: var(--space-sm);
}
.score-badge,
.sbadge {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 5px 2px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 5px;
  min-width: 0;
}
.score-badge .score-label,
.sbadge .sl {
  font-family: var(--mono);
  font-size: var(--text-caption);
  text-transform: uppercase;
  color: var(--text-muted);
  letter-spacing: 0.3px;
  line-height: 1;
  margin-bottom: var(--space-2xs);
}
/* v25.6.40 DS pass: mono → sans + tabular-nums (A14 audit). Score numérico
   data, não chrome — sans com tnum per DS v1.13. */
.score-badge .score-val,
.sbadge .sv {
  font-family: var(--sans);
  font-variant-numeric: tabular-nums;
  font-size: var(--text-small);
  font-weight: 600;
  line-height: 1.2;
}

/* Fit tweet on card */
.card-fit-tweet {
  font-size: var(--text-label);
  color: var(--text-muted);
  line-height: 1.4;
  padding: 6px 8px;
  background: var(--bg);
  border-left: 2px solid var(--border);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
}

/* Badge (generic) */
.badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
  font-size: var(--text-small);
  font-weight: 600;
  color: #fff;
}

/* Status badge — SOLID bg + white text (DS 05) */
.status-badge,
.stbadge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
  font-size: var(--text-micro);
  font-weight: 600;
  color: #fff;
  font-family: var(--mono);
  letter-spacing: 0.3px;
  white-space: nowrap;
  flex-shrink: 0;
}
.st-analyzed { background: var(--green); }
.st-queued   { background: var(--blue); }
.st-inactive { background: var(--text-muted); }
.st-excluido { background: var(--red); }
.st-warn     { background: var(--orange); }

/* Board loading */
.board-loading {
  text-align: center;
  padding: var(--space-lg);
  font-family: var(--mono);
  font-size: var(--text-small);
  color: var(--text-muted);
}

/* Completude dots on cards (DS 06) */
.card-completude,
.card-completude-v24 {
  display: flex;
  gap: 3px;
  align-items: center;
  margin-top: 6px;
}
.card-completude .cdot,
.card-completude-v24 .cdot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.card-completude .cdot-done,
.card-completude-v24 .cdot-done  { background: var(--gold); }
.card-completude .cdot-empty,
.card-completude-v24 .cdot-empty { background: var(--border); }
.card-completude-count {
  font-family: var(--mono);
  font-size: var(--text-caption);
  color: var(--text-muted);
  margin-left: var(--space-xs);
}

/* ========================================
   5. DETAIL VIEW
   ======================================== */
.view-panel { display: none; }
.view-panel.active { display: block; }

/* Detail header */
.detail-header {
  padding: var(--detail-pad) 0;
  border-bottom: 1px solid var(--border);
  margin-bottom: var(--detail-gap);
}
.detail-header-v24 {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--detail-gap);
  align-items: start;
  padding: var(--detail-pad) 0;
  border-bottom: 1px solid var(--border);
  margin-bottom: var(--detail-gap);
}
.detail-header h1 {
  font-size: var(--text-h2);
  margin: 4px 0;
}
.detail-header-v24 h1 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 4px 0;
  color: var(--text);
}
.detail-subtitle {
  font-family: var(--mono);
  font-size: var(--text-small);
  color: var(--text-muted);
  margin-bottom: 8px;
}

/* Detail badges (score cards in header) — compact */
.detail-badges {
  display: flex;
  gap: var(--space-xs);
  flex-wrap: wrap;
  margin-bottom: 6px;
}
.detail-badges .score-badge,
.detail-badges .sbadge {
  padding: 4px 8px;
  background: var(--bg);
  border: 1px solid var(--border);
}
.detail-badges .score-badge .score-val,
.detail-badges .sbadge .sv {
  font-size: 14px;
}

/* Detail header side */
.detail-header-side {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 200px;
}

/* Detail description */
.detail-desc {
  color: var(--text-muted);
  font-size: var(--text-body);
  margin-top: var(--space-sm);
}

/* Detail links row */
.detail-links {
  display: flex;
  gap: var(--space-sm);
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.detail-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: 6px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--bg);
  text-decoration: none;
  font-family: var(--mono);
  font-size: var(--text-label);
  color: var(--blue);
  cursor: pointer;
  transition: all var(--ease-fast);
}
.detail-link:hover {
  border-color: var(--blue);
  background: rgba(59, 130, 246, 0.04);
}

/* Detail rank pills */
.detail-rank {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 12px;
}
.rank-pill {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: 4px 10px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-full);
  font-family: var(--mono);
  font-size: var(--text-label);
  color: var(--text-muted);
}

/* Detail meta */
.detail-meta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
  padding: var(--space-sm) 0;
  font-family: var(--mono);
  font-size: var(--text-label);
  color: var(--text-muted);
}
.detail-meta-item { display: flex; align-items: center; gap: var(--space-xs); }
.detail-meta-sep { color: var(--border); }

/* Freshness badge */
.detail-freshness {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: var(--gold-light);
  border: 1px solid rgba(10, 158, 94, 0.3);
  border-radius: var(--radius-md);
  font-family: var(--mono);
  font-size: var(--text-label);
  color: var(--gold);
  font-weight: 500;
}
.freshness-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
}
.freshness-badge {
  font-family: var(--mono);
  font-size: var(--text-label);
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
}
.freshness-none { background: rgba(239,68,68,0.1); color: var(--red); }
.freshness-ok   { background: var(--gold-light); color: var(--gold); }
.freshness-warn { background: var(--orange-light); color: var(--orange); }
.freshness-old  { background: var(--red-light); color: var(--red); }

/* Completude bar/dots (detail) */
.completude-bar {
  display: flex;
  gap: var(--space-sm);
  align-items: center;
  padding: 12px 0;
}
.completude-progress {
  flex: 1;
  height: 6px;
  background: var(--border);
  border-radius: 3px;
  overflow: hidden;
}
.completude-fill {
  height: 100%;
  background: var(--gold);
  transition: width var(--ease-slow);
  border-radius: 3px;
}
.completude-pct {
  font-family: var(--sans);
  font-variant-numeric: tabular-nums;
  font-size: 10px;
  font-weight: 600;
  color: var(--text-muted);
  min-width: 40px;
  text-align: right;
}
.completude-dots {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 10px;
}
.completude-dot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xs);
}
.completude-dot-mark {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--border);
  flex-shrink: 0;
}
.completude-dot-mark.complete { background: var(--gold); }
.completude-dot-mark.partial  { background: var(--border); border: 1px solid var(--gold); box-sizing: border-box; }
.completude-dot-label {
  font-family: var(--mono);
  font-size: var(--text-micro);
  color: var(--text-muted);
  text-align: center;
  white-space: nowrap;
}

/* Fit tweet (detail) */
.fit-tweet {
  padding: 12px 16px;
  background: var(--green-light);
  border-left: 4px solid var(--green);
  border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
  margin: 12px 0;
}
.fit-tweet-label {
  font-family: var(--mono);
  font-size: var(--text-label);
  color: var(--green);
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: var(--space-xs);
}
.fit-tweet-text {
  font-size: var(--text-body);
  color: var(--text);
  line-height: 1.5;
}

/* Back button */
.back-btn {
  font-family: var(--mono);
  font-size: var(--text-small);
  padding: 6px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--bg);
  cursor: pointer;
  color: var(--text);
  transition: all var(--ease-default);
}
.back-btn:hover { background: var(--surface); }

/* Detail tabs — underline style (DS 7.2) */
.detail-tabs {
  display: flex;
  gap: 0;
  padding: 0;
  border-bottom: 1px solid var(--border);
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
}
.detail-tabs::-webkit-scrollbar { display: none; }
.dtab-btn {
  font-family: var(--mono);
  font-size: var(--text-label);
  padding: 8px 10px;
  border: none;
  border-bottom: 2px solid transparent;
  background: transparent;
  cursor: pointer;
  color: var(--text-muted);
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  transition: all var(--ease-default);
  flex-shrink: 0;
}
.dtab-btn:hover {
  color: var(--text);
  border-bottom-color: var(--border);
}
.dtab-btn.active {
  color: var(--gold);
  border-bottom-color: var(--gold);
  font-weight: 600;
}
.dtab-panel { display: none; }

/* ========================================
   6. DATA DISPLAY (tables, sections, text-blocks)
   ======================================== */

/* Section block (DS 7.5 — sblock) — compact */
.section-block,
.sblock {
  margin: var(--space-sm) 0;
  padding: 10px 12px;
  background: var(--surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
}
.section-block h3,
.sblock h3 {
  font-size: var(--text-body);
  margin-bottom: 6px;
  color: var(--gold);
  font-family: var(--mono);
}
.section-block h4,
.sblock h4 {
  font-size: var(--text-small);
  margin-bottom: var(--space-xs);
  font-family: var(--mono);
  color: var(--text);
}

/* Collapsible details inside sblock */
.sblock details summary {
  cursor: pointer;
  list-style: none;
}
.sblock details summary::-webkit-details-marker { display: none; }
.sblock details summary::before {
  content: '▸ ';
  font-size: var(--text-small);
  color: var(--text-muted);
}
.sblock details[open] summary::before { content: '▾ '; }
.sblock details summary h3 { display: inline; }

/* Data tables (DS 08 — dtable) */
.data-table,
.dtable {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--text-small);
  margin: var(--space-sm) 0;
  table-layout: fixed;
}
.data-table th,
.dtable th {
  background: var(--surface);
  padding: 4px 8px;
  text-align: left;
  font-weight: 600;
  border-bottom: 2px solid var(--border);
  font-family: var(--mono);
  font-size: var(--text-label);
  text-transform: uppercase;
  color: var(--text);
  user-select: none;
}
.data-table td,
.dtable td {
  padding: 4px 8px;
  border-bottom: 1px solid var(--border);
  vertical-align: top;
  word-wrap: break-word;
}
.data-table tr:hover,
.dtable tr:hover {
  background: #FEFCE8;
}
.dtable th.sortable { cursor: pointer; transition: color var(--ease-fast); }
.dtable th.sortable:hover { color: var(--gold); }
.dtable th.th-sort-desc,
.dtable th.th-sort-asc { color: var(--gold); }
.dtable th.th-sort-desc::after { content: ' ▼'; font-size: 9px; }
.dtable th.th-sort-asc::after  { content: ' ▲'; font-size: 9px; }

/* Key-value table variant */
.dtable-kv { table-layout: fixed; }
.dtable-kv td:first-child,
.kv-label {
  font-weight: 500;
  color: var(--text-muted);
  font-size: var(--text-label);
  font-family: var(--mono);
  text-transform: uppercase;
  vertical-align: top;
}

.label-cell {
  font-weight: 500;
  color: var(--text);
  width: 200px;
  min-width: 200px;
}
.narrative {
  font-size: var(--text-small);
  color: var(--text-muted);
  line-height: 1.6;
  margin-top: var(--space-sm);
}

/* Text block (DS 7.6 — tblock) */
.text-block,
.tblock {
  padding: 12px 16px;
  background: var(--surface);
  border-left: 3px solid var(--gold);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  margin: 12px 0;
  font-size: var(--text-small);
  line-height: 1.6;
  color: var(--text);
}
.text-block-label,
.tblock-label {
  font-family: var(--mono);
  font-size: var(--text-micro);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--gold);
  font-weight: 600;
  margin-bottom: var(--space-xs);
}

.formula {
  font-size: var(--text-small);
  color: var(--text-muted);
  margin-bottom: var(--space-sm);
}

/* Assess boxes (DS 7.7 — abox) */
.assess-box,
.abox {
  padding: 12px;
  border-radius: var(--radius-md);
  margin-bottom: var(--space-sm);
}
.risk-box,
.abox-risk { background: var(--red-light); border-left: 3px solid var(--red); }
.abox-fit  { background: var(--green-light); border-left: 3px solid var(--green); }
.abox-info { background: var(--blue-light); border-left: 3px solid var(--blue); }
.assess-label,
.abox-label {
  font-family: var(--mono);
  font-size: var(--text-label);
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: var(--space-xs);
}

.scandal-box {
  padding: 12px;
  background: var(--red-light);
  border-left: 3px solid var(--red);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  margin: 12px 0;
}

/* Content items */
.interview-item,
.qa-item,
.media-item,
.news-item,
.topic-item,
.brand-item {
  margin-bottom: var(--space-md);
  padding: 12px;
  background: var(--bg);
  border-left: 3px solid var(--gold);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}
.interview-item h4 {
  color: var(--gold);
  font-family: var(--mono);
  font-size: var(--text-label);
  text-transform: uppercase;
  margin-bottom: var(--space-xs);
}
.qa-q { font-weight: 500; margin-bottom: var(--space-xs); }
.qa-a { color: var(--text-muted); }
.news-date,
.media-sentiment { font-size: var(--text-label); color: var(--text-muted); }
.news-source { font-size: var(--text-label); color: var(--text-muted); font-style: italic; }
.stakeholder-item {
  margin-bottom: var(--space-sm);
  padding: var(--space-sm);
  background: var(--bg);
  border-radius: var(--radius-sm);
}
.topic-section {
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid var(--border);
}
.empty-msg {
  color: var(--text-muted);
  font-style: italic;
  padding: 20px;
  text-align: center;
}

/* ========================================
   7. SCORE COLORS (DS 04)
   ======================================== */
.sc-vhigh { color: #059669; }
.sc-high  { color: #10B981; }
.sc-mid   { color: #F59E0B; }
.sc-low   { color: #EF4444; }
.sc-vlow  { color: #B91C1C; }

/* ========================================
   8. CONFIDENCE BADGES (DS 03)
   ======================================== */
.cb {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: 2px 8px;
  border-radius: var(--radius-sm);
  font-family: var(--mono);
  font-size: var(--text-micro);
  font-weight: 600;
}
.cb-verified    { background: rgba(16, 185, 129, 0.1);  color: #059669; }
.cb-inferred    { background: rgba(234, 179, 8, 0.12);  color: #A16207; }
.cb-interpreted { background: rgba(245, 158, 11, 0.12); color: #B45309; }
.cb-unknown     { background: rgba(107, 114, 128, 0.1); color: #6B7280; }
.cb-manual      { background: rgba(139, 92, 246, 0.1);  color: #7C3AED; }

/* Match confidence (Orbit) */
.mb {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: 2px 10px;
  border-radius: var(--radius-sm);
  font-family: var(--mono);
  font-size: var(--text-label);
  font-weight: 600;
}
.mb-5 { background: rgba(16, 185, 129, 0.12); color: #059669; }
.mb-4 { background: rgba(59, 130, 246, 0.1);  color: #2563EB; }
.mb-3 { background: rgba(234, 179, 8, 0.12);  color: #A16207; }
.mb-2 { background: rgba(245, 158, 11, 0.12); color: #B45309; }
.mb-1 { background: rgba(107, 114, 128, 0.1); color: #6B7280; }

/* Provenance tooltip */
.prov {
  background: var(--text);
  color: #fff;
  padding: 10px 14px;
  border-radius: var(--radius-md);
  font-size: var(--text-label);
  line-height: 1.5;
  max-width: 300px;
  box-shadow: var(--shadow-lg);
}
.prov-src  { color: var(--gold); font-family: var(--mono); font-weight: 600; }
.prov-date { color: #9CA3AF; font-family: var(--mono); font-size: var(--text-micro); }

/* ========================================
   9. COMPLETUDE DOTS (DS 06)
   ======================================== */
.dots {
  display: flex;
  gap: 3px;
  align-items: center;
  margin-top: 6px;
}
.dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
}
.dot-full  { background: var(--gold); }
.dot-part  { background: var(--border); border: 1px solid var(--gold); box-sizing: border-box; }
.dot-empty { background: var(--border); }

/* ========================================
   10. PIPELINE BADGES (DS 09)
   ======================================== */
.pb {
  display: inline-block;
  padding: 3px 10px;
  border-radius: var(--radius-sm);
  font-family: var(--mono);
  font-size: var(--text-micro);
  font-weight: 600;
  letter-spacing: 0.3px;
}
/* Canonical 6-stage pipeline badges */
.pb-ident   { background: rgba(156, 163, 175, 0.12); color: #6B7280; }  /* IDENTIFICADO */
.pb-conect  { background: rgba(59, 130, 246, 0.10);  color: #3B82F6; }  /* CONECTADO */
.pb-qualif  { background: rgba(139, 92, 246, 0.10);  color: #8B5CF6; }  /* QUALIFICADO */
.pb-contact { background: rgba(217, 119, 6, 0.10);   color: #D97706; }  /* CONTACTADO */
.pb-agend   { background: rgba(16, 185, 129, 0.10);  color: #10B981; }  /* AGENDADO */
.pb-wip     { background: rgba(245, 158, 11, 0.10);  color: #F59E0B; }  /* EM_ANDAMENTO */
.pb-nutrir  { background: rgba(236, 72, 153, 0.10);  color: #EC4899; }  /* NUTRIR */
.pb-concl   { background: rgba(6, 95, 70, 0.12);     color: #065F46; }  /* CONCLUIDO */

/* Funnel bar */
.funnel { display: flex; height: 28px; border-radius: var(--radius-sm); overflow: hidden; gap: 2px; }
.funnel-seg {
  display: flex; align-items: center; justify-content: center;
  font-family: var(--mono); font-size: var(--text-caption); font-weight: 600; color: #fff;
}
.funnel-bar {
  height: 8px;
  background: var(--border);
  border-radius: var(--radius-sm);
  overflow: hidden;
  margin: var(--space-sm) 0;
}

/* ========================================
   11. GAUGES, TOOLTIPS, URGÊNCIA (DS 7.8-7.10)
   ======================================== */

/* Gauge bars */
.gauge-bar,
.gauge {
  height: 8px;
  border-radius: var(--radius-sm);
  background: var(--border);
  overflow: hidden;
  margin: var(--space-xs) 0;
}
.gauge-fill {
  height: 100%;
  border-radius: var(--radius-sm);
  transition: width var(--ease-slow);
}
.gauge-val {
  font-family: var(--sans);
  font-variant-numeric: tabular-nums;
  font-size: 12px;
  font-weight: 600;
}
.cell-gauge {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.cell-gauge .gauge { flex: 1; height: 6px; }
.cell-gauge .gauge-val { min-width: 32px; text-align: right; }

/* Tooltips (DS 7.9) */
.tooltip-wrap,
.tip { position: relative; cursor: help; display: inline-block; }
.tooltip-wrap .tooltip,
.tip .tiptext {
  display: none;
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: var(--text);
  color: #fff;
  padding: 6px 10px;
  border-radius: var(--radius-sm);
  font-size: var(--text-label);
  white-space: nowrap;
  z-index: 300;
  margin-bottom: var(--space-xs);
  font-family: var(--sans);
  font-weight: 400;
  box-shadow: var(--shadow-md);
}
.tooltip-wrap:hover .tooltip,
.tip:hover .tiptext { display: block; }

/* Hints (DS 12) */
.hint { position: relative; cursor: help; }
.hint-content {
  display: none;
  position: absolute;
  bottom: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
  background: var(--text);
  color: #fff;
  padding: 8px 12px;
  border-radius: var(--radius-sm);
  font-size: var(--text-label);
  font-family: var(--sans);
  font-weight: 400;
  line-height: 1.5;
  white-space: normal;
  max-width: 300px;
  min-width: 120px;
  z-index: 300;
  box-shadow: var(--shadow-md);
  pointer-events: none;
}
.hint-content::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: var(--text);
}
.hint:hover .hint-content { display: block; }
.hint-prov .hint-src  { color: var(--gold); font-family: var(--mono); font-weight: 600; font-size: var(--text-micro); }
.hint-prov .hint-date { color: #9CA3AF; font-family: var(--mono); font-size: var(--text-micro); display: block; margin-top: var(--space-2xs); }
.hint-prov .hint-val  { margin-top: var(--space-xs); }

/* Urgência (DS 7.10) */
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.6; } }
.urgencia,
.urgencia-critica {
  animation: pulse 1.5s ease-in-out infinite;
  background: rgba(239, 68, 68, 0.12);
  color: var(--red);
  font-weight: 700;
  padding: 6px 12px;
  border-radius: var(--radius-sm);
  font-family: var(--mono);
  font-size: var(--text-label);
}

/* Spinner (DS 7.11) */
@keyframes spin { to { transform: rotate(360deg); } }
.spinner,
.loading-spinner {
  display: inline-block;
  width: 18px;
  height: 18px;
  border: 2px solid var(--border);
  border-top-color: var(--gold);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  margin-right: var(--space-sm);
  vertical-align: middle;
}

/* Deep links (DS 7.12) */
.dlinks { display: inline-flex; gap: 6px; }
.dlink {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  font-size: var(--text-body);
  transition: all var(--ease-default);
  cursor: pointer;
  text-decoration: none;
  color: var(--blue);
}
.dlink:hover { border-color: var(--gold); background: var(--gold-light); }
.dlink-li { color: #0A66C2; }
.dlink-li:hover { border-color: #0A66C2; background: rgba(10, 102, 194, 0.08); }
.dlink-email { color: var(--gold); }
.dlink-email:hover { border-color: var(--gold); }
.dlink-wa { color: #25D366; }
.dlink-wa:hover { border-color: #25D366; background: rgba(37, 211, 102, 0.08); }

/* ========================================
   12. MIRA / ICI
   ======================================== */
.ici-radar-container {
  max-width: 450px;
  margin: var(--space-md) auto;
}
.ici-category-badge {
  display: inline-block;
  padding: 1px 6px;
  border-radius: 3px;
  font-size: var(--text-caption);
  font-family: var(--mono);
  margin-top: var(--space-2xs);
}
.ici-mkt { color: var(--blue); }
.ici-fin { color: var(--green); }
.ici-dig { color: var(--purple); }
.ici-gov { color: var(--orange); }
.ici-fis { color: var(--red); }

/* ========================================
   13. REFORMA TRIBUTÁRIA
   ======================================== */
.reforma-hero {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: var(--space-md);
}
.reforma-score-card {
  text-align: center;
  padding: var(--space-md);
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
}
.reforma-score-card .score-val {
  font-family: var(--sans);
  font-variant-numeric: tabular-nums;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.reforma-score-card .score-label {
  font-family: var(--mono);
  font-size: var(--text-micro);
  text-transform: uppercase;
  color: var(--text-muted);
  letter-spacing: 0.5px;
}
.reforma-delta {
  text-align: center;
  padding: 12px;
  font-family: var(--mono);
  font-size: var(--text-body);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-md);
}
.reforma-insight-box {
  padding: var(--space-md);
  border: 2px solid var(--gold);
  border-radius: var(--radius-lg);
  background: var(--gold-light);
  margin: var(--space-md) 0;
}
.reforma-insight-box .insight-label {
  font-family: var(--mono);
  font-size: var(--text-label);
  color: var(--gold);
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: var(--space-sm);
}
.reforma-impact-card {
  padding: 12px;
  background: var(--bg);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-sm);
}

/* ========================================
   14. COMPARE, RANKING, MÉTRICAS
   ======================================== */
.metrics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: var(--space-md);
  margin-bottom: 20px;
}
.metric-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-md);
  text-align: center;
}
.metric-card h3 {
  font-family: var(--mono);
  font-size: var(--text-body);
  color: var(--gold);
  margin-bottom: var(--space-sm);
}
.metrics-stat {
  font-family: var(--sans);
  font-variant-numeric: tabular-nums;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.metrics-stat-label {
  font-size: var(--text-label);
  color: var(--text-muted);
  margin-top: var(--space-xs);
}

/* Section header */
.section-header {
  font-family: var(--mono);
  font-size: var(--text-h2);
  font-weight: 700;
  color: var(--text);
  margin: 20px 0 var(--space-md) 0;
  padding-bottom: var(--space-sm);
  border-bottom: 2px solid var(--gold);
}

/* Compare controls */
.compare-controls {
  display: flex;
  gap: 12px;
  margin-bottom: var(--space-md);
  flex-wrap: wrap;
  align-items: center;
}

/* Ranking controls */
.ranking-controls {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
  flex-wrap: wrap;
  align-items: center;
}
.ranking-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: var(--space-lg);
}
.ranking-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: var(--text-small);
  font-family: var(--mono);
  cursor: pointer;
}

/* ========================================
   15. FORM CONTROLS
   ======================================== */
.select-v24,
.scout-select {
  font-family: var(--mono);
  font-size: var(--text-small);
  padding: 8px 32px 8px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--bg);
  color: var(--text);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 5l3 3 3-3' stroke='%236B7280' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  min-width: 140px;
  transition: all var(--ease-default);
}
.select-v24:hover,
.scout-select:hover { border-color: var(--text-muted); }
.select-v24:focus,
.scout-select:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px var(--gold-light);
}

.input-v24 {
  padding: 8px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  font-size: var(--text-small);
  font-family: var(--mono);
  background: var(--bg);
  color: var(--text);
  transition: all var(--ease-default);
}
.input-v24:hover,
.input-v24:focus {
  border-color: var(--gold);
  outline: none;
  box-shadow: 0 0 0 3px var(--gold-light);
}
.input-v24::placeholder { color: var(--text-muted); }
.checkbox-v24 { cursor: pointer; accent-color: var(--gold); }

/* ========================================
   16. BUTTONS (DS 7.2.2)
   ======================================== */

/* Ghost — default for section actions */
.btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--mono);
  font-size: var(--text-label);
  font-weight: 600;
  padding: 10px 20px;
  background: transparent;
  color: var(--text-muted);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  cursor: pointer;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  transition: all var(--ease-default);
}
.btn-ghost:hover { border-color: var(--gold); color: var(--text); }

/* Base button (modal) */
.btn {
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: all var(--ease-default);
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--text);
}
.btn:hover { border-color: var(--text-muted); }
.btn-primary {
  background: var(--gold);
  color: #fff;
  border-color: var(--gold);
  font-weight: 600;
}
.btn-primary:hover { opacity: 0.9; }
.btn-danger {
  background: var(--red);
  color: #fff;
  border-color: var(--red);
}
.btn-danger:hover { opacity: 0.9; }
.btn-sm {
  font-size: var(--text-label); padding: 4px 10px;
  border: 1px solid var(--border); border-radius: var(--radius-sm);
  background: var(--surface); color: var(--text); cursor: pointer;
  font-family: var(--mono);
}
.btn-sm:hover { border-color: var(--text-muted); }
.btn-sm.btn-primary { background: var(--gold); color: #fff; border-color: var(--gold); font-weight: 600; }
.btn-sm.btn-primary:hover { opacity: 0.9; }

/* Gate 1 Q&A cards */
.gate1-card {
  border: 1px solid var(--border); border-radius: var(--radius-md);
  padding: 12px; margin-bottom: var(--space-sm);
}
.gate1-p1 { border-left: 3px solid var(--red); }
.gate1-p2 { border-left: 3px solid var(--gold); }
.gate1-p3 { border-left: 3px solid var(--border); }
.gate1-answered { opacity: 0.7; }
.gate1-header {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: var(--space-xs);
}
.gate1-priority {
  font-family: var(--mono); font-size: var(--text-label);
  font-weight: 600; text-transform: uppercase;
}
.gate1-status { font-family: var(--mono); font-size: var(--text-label); }
.gate1-status-done { color: var(--gold); }
.gate1-question { font-weight: 500; margin-bottom: var(--space-sm); }
.gate1-answer { color: var(--text-muted); margin-bottom: var(--space-sm); }
.gate1-textarea {
  width: 100%; min-height: 60px; padding: var(--space-sm);
  border: 1px solid var(--border); border-radius: var(--radius-sm);
  font-family: var(--sans); font-size: var(--text-body);
  resize: vertical;
}
.gate1-actions { display: flex; gap: var(--space-xs); }

/* Link button */
.btn-link {
  font-family: var(--mono);
  font-size: var(--text-small);
  padding: 6px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--bg);
  cursor: pointer;
  color: var(--text);
  transition: all var(--ease-default);
}
.btn-link:hover { background: var(--surface); }

/* Gold CTA */
.btn-gold {
  padding: 8px 16px;
  background: var(--gold);
  color: #fff;
  border: none;
  border-radius: var(--radius-md);
  font-family: var(--mono);
  font-size: var(--text-label);
  font-weight: 600;
  cursor: pointer;
  transition: opacity var(--ease-fast);
}
.btn-gold:hover { opacity: 0.9; }

/* Clear button */
.btn-clear {
  padding: 8px 16px;
  background: none;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  font-family: var(--mono);
  font-size: var(--text-label);
  cursor: pointer;
  color: var(--text-muted);
  transition: border-color var(--ease-fast);
}
.btn-clear:hover { border-color: var(--gold); }

/* Load more */
.btn-load-more {
  padding: 8px 24px;
  border: 1px solid var(--gold);
  color: var(--gold);
  background: none;
  border-radius: var(--radius-md);
  font-family: var(--mono);
  font-size: var(--text-small);
  cursor: pointer;
  font-weight: 600;
  transition: all var(--ease-fast);
}
.btn-load-more:hover { background: var(--gold-light); }

/* Add/remove (compare) */
.btn-add {
  background: none;
  border: 1px solid var(--green);
  color: var(--green);
  border-radius: var(--radius-sm);
  cursor: pointer;
  font-size: var(--text-label);
  padding: 2px 8px;
  font-family: var(--mono);
  transition: all var(--ease-fast);
}
.btn-add:hover { background: var(--green-light); }
.btn-remove {
  background: none;
  border: none;
  color: var(--red);
  cursor: pointer;
  font-size: 14px;
  transition: opacity var(--ease-fast);
}
.btn-remove:hover { opacity: 0.7; }

/* Orbit CTA */
.btn-orbit {
  display: inline-block;
  padding: 10px 20px;
  background: var(--gold);
  color: #fff;
  text-decoration: none;
  border-radius: var(--radius-md);
  font-family: var(--mono);
  font-size: var(--text-small);
  font-weight: 600;
  margin-top: 12px;
  transition: opacity var(--ease-default);
}
.btn-orbit:hover { opacity: 0.85; }

/* Compare button (legacy) */
.compare-btn {
  font-family: var(--mono);
  padding: 8px 16px;
  background: var(--gold);
  color: #fff;
  border: none;
  border-radius: var(--radius-md);
  cursor: pointer;
  font-size: var(--text-small);
}
.compare-btn:hover { opacity: 0.9; }

/* ========================================
   17. CUSTOM DROPDOWNS (DS 8b)
   ======================================== */
.dd-trigger {
  font-family: var(--sans);
  font-size: var(--text-small);
  padding: 8px 32px 8px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--bg);
  color: var(--text);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  position: relative;
  transition: all var(--ease-default);
}
.dd-trigger:hover { border-color: var(--text-muted); }
.dd-trigger:focus,
.dd-trigger[aria-expanded="true"] {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px var(--gold-light);
}
.dd-trigger::after {
  content: '';
  width: 0; height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid var(--text-muted);
  position: absolute;
  right: 12px;
  transition: transform var(--ease-fast);
}
.dd-trigger[aria-expanded="true"]::after { transform: rotate(180deg); }

.dd-panel {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  min-width: 100%;
  max-width: 280px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  z-index: 50;
  padding: var(--space-xs) 0;
  opacity: 0;
  transform: translateY(-4px);
  pointer-events: none;
  transition: all var(--ease-fast);
}
.dd-panel.open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.dd-item {
  padding: 8px 12px;
  font-size: var(--text-small);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  transition: background var(--ease-fast);
}
.dd-item:hover { background: var(--surface-hover); }
.dd-item.selected { background: var(--gold-light); color: var(--gold); font-weight: 500; }
.dd-item.selected::before {
  content: '✓'; font-family: var(--mono); font-size: var(--text-label);
  color: var(--gold); width: 16px;
}
.dd-sep { height: 1px; background: var(--border); margin: var(--space-xs) 0; }
.dd-group {
  font-family: var(--mono);
  font-size: var(--text-micro);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  padding: 8px 12px 4px;
  font-weight: 600;
}
.dd-trigger-icon {
  width: 32px; height: 32px;
  border-radius: var(--radius-sm);
  border: 1px solid transparent;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; cursor: pointer;
  transition: all var(--ease-default);
}
.dd-trigger-icon:hover { background: var(--surface-hover); border-color: var(--border); }

/* Column filter */
.th-filter { position: relative; }
.th-filter-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 18px; height: 18px; border-radius: var(--radius-sm);
  font-size: var(--text-micro); color: var(--text-muted);
  cursor: pointer; transition: all var(--ease-fast);
  vertical-align: middle; margin-left: var(--space-xs);
}
.th-filter-icon:hover,
.th-filter-icon.active { color: var(--gold); background: var(--gold-light); }
.th-filter-panel {
  position: absolute; top: calc(100% + 4px); left: 0;
  min-width: 160px; max-width: 220px; max-height: 240px;
  overflow-y: auto; background: var(--bg);
  border: 1px solid var(--border); border-radius: var(--radius-md);
  box-shadow: var(--shadow-md); z-index: 50; padding: var(--space-xs) 0;
}

/* ========================================
   18. MODALS (DS 12)
   ======================================== */
.modal-overlay {
  position: fixed; inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 90;
  opacity: 0; pointer-events: none;
  transition: opacity var(--ease-default);
}
.modal-overlay.open { opacity: 1; pointer-events: auto; }

.modal {
  position: fixed; top: 50%; left: 50%;
  transform: translate(-50%, -50%) scale(0.96);
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  z-index: 100;
  max-width: 600px; width: 90vw; max-height: 80vh;
  overflow-y: auto;
  opacity: 0; pointer-events: none;
  transition: all var(--ease-default);
}
.modal.open { opacity: 1; pointer-events: auto; transform: translate(-50%, -50%) scale(1); }
.modal-header {
  display: flex; justify-content: space-between; align-items: center;
  padding: var(--space-md) 20px; border-bottom: 1px solid var(--border);
}
.modal-title {
  font-family: var(--sans); font-size: var(--text-body); font-weight: 700;
  color: var(--text); letter-spacing: -0.01em;
}
.modal-close {
  width: 28px; height: 28px; border: none; background: none;
  font-size: 16px; color: var(--text-muted); cursor: pointer;
  border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
  transition: all var(--ease-fast);
}
.modal-close:hover { background: var(--surface-hover); color: var(--text); }
.modal-body { padding: 20px; }
.modal-footer {
  display: flex; justify-content: flex-end; gap: var(--space-sm);
  padding: var(--space-md) 20px; border-top: 1px solid var(--border);
}

/* ========================================
   19. TOASTS (DS 12)
   ======================================== */
.toast {
  padding: 12px 20px;
  border-radius: var(--radius-md);
  font-family: var(--mono);
  font-size: var(--text-label);
  color: #fff;
  box-shadow: var(--shadow-lg);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  max-width: 340px;
}
.toast-ok   { background: #059669; }
.toast-err  { background: #DC2626; }
.toast-info { background: #2563EB; }

/* ========================================
   20. TERMINAL AESTHETIC (DS 10)
   ======================================== */
.term {
  background: #0D1117; color: #C9D1D9;
  border-radius: var(--radius-lg); padding: var(--space-md);
  font-family: var(--mono); font-size: var(--text-small); line-height: 1.7;
  overflow-x: auto; border: 1px solid #21262D;
}
.term-header {
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 16px; background: #161B22;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  margin: -16px -16px 12px; border-bottom: 1px solid #21262D;
}
.term-title {
  font-family: var(--mono); font-size: var(--text-label); font-weight: 600;
  color: #8B949E; text-transform: uppercase; letter-spacing: 0.1em;
}
.term-dots span { width: 10px; height: 10px; border-radius: 50%; }
.term-line   { margin-bottom: var(--space-2xs); }
.term-ts     { color: #484F58; margin-right: var(--space-sm); }
.term-agent  { color: #58A6FF; }
.term-ok     { color: #3FB950; }
.term-warn   { color: #D29922; }
.term-fail   { color: #F85149; }
.term-dim    { color: #484F58; }
.term-accent { color: #0A9E5E; }
.term-cursor {
  display: inline-block; width: 7px; height: 14px; background: #0A9E5E;
  animation: blink 1s step-end infinite;
}
@keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }

/* Terminal toast */
.toast-term {
  background: #161B22; color: #C9D1D9;
  border: 1px solid #21262D; font-family: var(--mono);
}

/* Agent cards (DS 10) */
.acard {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-md);
}
.acard-head {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 12px;
}
.acard-name {
  font-family: var(--mono); font-size: var(--text-small);
  font-weight: 600; color: var(--text);
}
.acard-status {
  font-family: var(--mono); font-size: var(--text-micro);
  font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em;
}
.acard-status-ok   { color: var(--green); }
.acard-status-warn { color: var(--orange); }
.acard-status-fail { color: var(--red); }
.acard-status-idle { color: var(--text-muted); }
.acard-dot {
  width: 8px; height: 8px; border-radius: 50%;
  display: inline-block; margin-right: 6px; vertical-align: middle;
}
.acard-meta {
  font-family: var(--mono); font-size: var(--text-label);
  color: var(--text-muted); margin-top: var(--space-sm); line-height: 1.6;
}
.acard-meta strong { color: var(--text); font-weight: 600; }

/* Terminal variant */
.acard-term {
  background: #0D1117; border: 1px solid #21262D;
  border-radius: var(--radius-lg); padding: var(--space-md); color: #C9D1D9;
}
.acard-term .acard-name { color: #58A6FF; }
.acard-term .acard-meta { color: #8B949E; }
.acard-term .acard-meta strong { color: #C9D1D9; }
.acard-term .gauge { background: #21262D; }

/* ========================================
   21. SKELETON LOADING (DS 12)
   ======================================== */
@keyframes shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } }
.skel {
  background: linear-gradient(90deg, var(--surface) 25%, var(--surface-hover) 50%, var(--surface) 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s ease-in-out infinite;
  border-radius: var(--radius-sm);
}
.skel-t { height: 14px; margin-bottom: var(--space-sm); }
.skel-h { height: 20px; width: 60%; margin-bottom: 12px; }
.skel-b { height: 32px; }

/* ========================================
   22. EMPTY STATES & NULL (DS 12)
   ======================================== */
.empty {
  text-align: center;
  padding: 40px 20px;
}
.empty-icon { font-size: 28px; margin-bottom: var(--space-sm); opacity: 0.4; }
.empty-text { font-size: var(--text-small); color: var(--text-muted); font-style: italic; }
.null { color: var(--text-muted); font-style: italic; }

/* ========================================
   23. GRIDS & LAYOUT HELPERS
   ======================================== */
.t-grid   { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 8px 0; }
.t-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 8px 0; }
.t-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin: 8px 0; }

/* Column helpers */
.col-mono   { font-family: var(--mono); font-size: var(--text-small); }
.col-num    { text-align: right; font-family: var(--mono); font-weight: 600; white-space: nowrap; }
.col-money  { text-align: right; font-family: var(--mono); }
.col-date   { font-family: var(--mono); font-size: var(--text-label); color: var(--text-muted); }
.col-status { text-align: center; }
.col-action { text-align: center; white-space: nowrap; }
.col-rank   { text-align: right; width: 36px; }
.col-name   { text-align: left; }
.src { font-family: var(--mono); font-size: var(--text-micro); color: var(--text-muted); }
.truncate { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 0; }
.clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nowrap { white-space: nowrap; }

/* Cell highlights (DS 8.7) */
.cell-exceptional { background: rgba(5, 150, 105, 0.06); color: #059669; font-weight: 600; }
.cell-critical    { background: rgba(185, 28, 28, 0.06); color: #B91C1C; font-weight: 600; }
.cell-warning     { background: rgba(245, 158, 11, 0.06); color: #B45309; font-weight: 600; }
.row-selected     { background: rgba(10, 158, 94, 0.04); }
.row-selected .card-name { color: var(--gold); font-weight: 600; }

/* Table layout helpers (DS 8.13) */
.t-full { width: 100%; }

/* ========================================
   24. SOURCE BADGES
   ======================================== */
.srcb {
  display: inline-block;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
  font-size: var(--text-micro);
  font-family: var(--mono);
  font-weight: 500;
}
.src-linkedin { background: rgba(10, 102, 194, 0.12); color: #0A66C2; }
.src-google   { background: rgba(66, 133, 244, 0.12); color: #4285F4; }
.src-agent    { background: var(--gold-light); color: var(--gold); }
.src-imported { background: rgba(107, 114, 128, 0.12); color: #6B7280; }
.src-wiki     { background: var(--green-light); color: #059669; }
.src-unknown  { background: rgba(107, 114, 128, 0.08); color: #9CA3AF; }

/* Match confidence (legacy mc) */
.mc {
  display: inline-block;
  padding: 2px 6px;
  border-radius: var(--radius-sm);
  font-size: var(--text-micro);
  font-family: var(--mono);
  font-weight: 600;
}
.mc-5 { background: rgba(5, 150, 105, 0.15); color: #059669; }
.mc-4 { background: rgba(16, 185, 129, 0.12); color: #10B981; }
.mc-3 { background: rgba(245, 158, 11, 0.12); color: #D97706; }
.mc-2 { background: rgba(239, 68, 68, 0.1); color: #EF4444; }
.mc-1 { background: rgba(107, 114, 128, 0.1); color: #6B7280; }

/* Detail score (large) */
.detail-score {
  font-family: var(--mono);
  font-size: var(--text-h1);
  font-weight: 700;
}
.score-label {
  display: block;
  font-size: var(--text-micro);
  font-family: var(--mono);
  color: var(--text-muted);
  margin-bottom: var(--space-2xs);
}

/* ========================================
   25. FILTER CHIPS & PESSOAS
   ======================================== */
.filter-chips {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: var(--space-sm) 0;
}
.filter-chip {
  font-family: var(--mono);
  font-size: var(--text-label);
  padding: 4px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-full);
  background: var(--bg);
  cursor: pointer;
  color: var(--text-muted);
  transition: all var(--ease-fast);
}
.filter-chip:hover { border-color: var(--gold); color: var(--gold); }
.filter-chip.active { background: var(--gold); color: #fff; border-color: var(--gold); }
.filter-toggle {
  font-family: var(--mono);
  font-size: var(--text-label);
  padding: 4px 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--bg);
  cursor: pointer;
  color: var(--text-muted);
}
.filter-toggle:hover { border-color: var(--gold); }

/* Pessoas filters & rows */
.pessoas-filters {
  display: flex; gap: var(--space-sm); flex-wrap: wrap;
  align-items: center; padding: 12px 0;
  border-bottom: 1px solid var(--border); margin-bottom: 12px;
}
.pessoa-row {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 12px; border-bottom: 1px solid var(--border);
  transition: background var(--ease-fast);
}
.pessoa-row:hover { background: var(--gold-light); }
.pessoa-row:last-child { border-bottom: none; }

/* Previous companies */
.prev-companies { margin-top: var(--space-xs); }
.pc-list { display: flex; gap: var(--space-xs); flex-wrap: wrap; }
.pc-item {
  display: inline-flex; align-items: center; gap: 3px;
  padding: 1px 6px; background: var(--blue-light);
  border-radius: 3px; font-size: var(--text-micro); font-family: var(--mono); color: var(--blue);
}
.pc-role { color: var(--text-muted); font-size: var(--text-caption); }

/* Tab completude */
.tab-c { position: relative; padding-right: 22px !important; }
.tab-c::after {
  content: ''; position: absolute; top: 6px; right: 6px;
  width: 6px; height: 6px; border-radius: 50%;
}
.tc-good::after { background: var(--green); }
.tc-mid::after  { background: var(--orange); }
.tc-poor::after { background: var(--red); }

/* Tab status dot */
.tab-dot {
  width: 6px; height: 6px; border-radius: 50%;
  display: inline-block; margin-left: var(--space-xs);
}

/* Confidence slider */
.confidence-slider { width: 100%; accent-color: var(--gold); }

/* Fit breakdown segments */
.fb-seg {
  padding: 10px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  text-align: center;
}

/* ========================================
   26. DETAIL HEADER V24 HELPERS
   ======================================== */
.detail-top-row {
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: var(--space-sm);
}
.detail-actions {
  display: flex; gap: var(--space-sm); align-items: center;
  font-size: var(--text-label); font-family: var(--mono);
}
.detail-action-link {
  color: var(--blue); text-decoration: none;
  padding: 6px 12px; border: 1px solid var(--border);
  border-radius: var(--radius-md); transition: border-color var(--ease-fast);
}
.detail-action-link:hover { border-color: var(--blue); }
.detail-enrich-btn {
  color: #fff; background: var(--gold); text-decoration: none;
  padding: 6px 12px; border-radius: var(--radius-md);
  font-weight: 600; font-size: var(--text-label); transition: opacity var(--ease-fast);
}
.detail-enrich-btn:hover { opacity: 0.85; }
.detail-contacts-pill {
  padding: 6px 12px; border: 1px solid var(--border);
  border-radius: var(--radius-md); color: var(--text-muted);
}
.detail-status-pill {
  padding: 6px 12px; border-radius: var(--radius-md);
  color: #fff; font-weight: 600;
}
.detail-meta-line {
  font-family: var(--mono); font-size: var(--text-small);
  color: var(--text-muted); margin-bottom: var(--space-sm);
}
.detail-rank-pills {
  display: flex; gap: 12px; margin-bottom: var(--space-sm);
  font-family: var(--mono); font-size: var(--text-label);
}
.detail-rank-pill {
  padding: 3px 10px; background: var(--surface);
  border: 1px solid var(--border); border-radius: var(--radius-full); font-weight: 600;
}
.detail-rank-pill-global { color: var(--gold); }
.detail-rank-pill-sector { color: var(--blue); }

/* Enrichment bar (inline with header) */
.enrichment-bar {
  display: flex; align-items: center; gap: var(--space-sm);
  padding: var(--space-sm) 0; margin-bottom: var(--space-xs);
}
.enrichment-label {
  font-family: var(--mono); font-size: var(--text-label); font-weight: 600;
  color: var(--gold); white-space: nowrap;
}
.enrichment-track {
  flex: 1; max-width: 200px; height: 4px;
  background: var(--border); border-radius: 2px; overflow: hidden;
}
.enrichment-track-fill {
  height: 100%; border-radius: 2px;
  background: var(--gold); transition: width var(--ease-slow);
}

/* Gauge fill semantic classes (no inline background) */
.gauge-fill-score.sc-vhigh { background: #059669; }
.gauge-fill-score.sc-high  { background: #10B981; }
.gauge-fill-score.sc-mid   { background: #F59E0B; }
.gauge-fill-score.sc-low   { background: #6B7280; }
.gauge-fill-score.sc-vlow  { background: #EF4444; }

/* Market section (finance tab) */
.market-header {
  display: flex; align-items: center; gap: var(--space-sm);
  flex-wrap: wrap; margin-bottom: var(--space-md);
}
.ticker-badge {
  display: inline-block; padding: 4px 12px;
  background: var(--gold-light); color: var(--gold);
  font-family: var(--mono); font-size: var(--text-small);
  font-weight: 600; border-radius: var(--radius-md);
}
.ticker-badge-secondary {
  background: var(--blue-light); color: var(--blue);
}
.market-exchange {
  font-family: var(--mono); font-size: var(--text-label);
  color: var(--text-muted); text-transform: uppercase;
}
.market-mcap {
  font-family: var(--mono); font-size: var(--text-small);
  font-weight: 600; color: var(--text);
}
.market-other-label {
  font-family: var(--mono); font-size: var(--text-micro);
  color: var(--text-muted); text-transform: uppercase;
}
.stock-chart-container {
  width: 100%; height: 300px; border-radius: var(--radius-md);
  border: 1px solid var(--border); overflow: hidden;
}

/* WhatsApp phone link (pessoas tab) */
.wa-phone-link {
  color: var(--text); text-decoration: none;
  font-family: var(--mono); font-size: var(--text-small);
}
.wa-phone-link:hover { color: var(--gold); }

/* LinkedIn connect button */
.dlink-connect {
  background: var(--blue-light); color: var(--blue);
  font-weight: 700; font-size: 14px;
}

/* Force bar (agent trigger) */
.detail-force-bar { display: flex; gap: 6px; padding: var(--space-sm) 0; flex-wrap: wrap; }
.detail-force-all { padding: var(--space-sm) 0; }

/* Org level */
.org-level { padding-left: 24px; border-left: 2px solid var(--border); margin-left: 12px; }

/* Orbit scatter plot */
.orbit-placeholder { text-align: center; color: var(--text-muted); padding: 40px 0; }
.orbit-svg { width: 100%; max-height: 620px; background: var(--card-bg, #fff); border-radius: 8px; border: 1px solid var(--border, #e5e7eb); }
.orbit-grid { stroke: var(--border, #e5e7eb); stroke-width: 0.5; }
.orbit-axis-label { font-size: 11px; fill: var(--text-muted, #9ca3af); text-anchor: middle; }
.orbit-axis-y { text-anchor: end; }
.orbit-axis-title { font-size: 12px; fill: var(--text-muted, #6b7280); text-anchor: middle; font-weight: 500; }
.orbit-quadrant { font-size: 11px; fill: var(--text-muted, #9ca3af); opacity: 0.6; }
.orbit-label { font-size: 10px; fill: var(--text-primary, #374151); pointer-events: none; }
.orbit-dot:hover circle { fill-opacity: 1; stroke-width: 2.5; }
.orbit-dot:hover .orbit-label { font-weight: 600; }
.orbit-legend { display: flex; flex-wrap: wrap; gap: 12px; padding: 12px 0; }
.orbit-legend-item { display: flex; align-items: center; gap: 4px; font-size: 12px; color: var(--text-secondary, #6b7280); }
.orbit-legend-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.orbit-stats { display: flex; gap: 16px; padding: 8px 0; font-size: 13px; color: var(--text-secondary, #6b7280); }
.orbit-highlight { color: var(--accent, #059669); font-weight: 600; }

/* ========================================
   27. BRIEF & PRINT-READY
   ======================================== */
.brief,
.brief-card {
  border: 2px solid var(--gold);
  border-radius: var(--radius-xl);
  padding: var(--space-lg);
  background: var(--surface);
  position: relative;
}
.brief-header {
  display: flex; justify-content: space-between; align-items: flex-start;
  margin-bottom: var(--space-md); gap: 12px; flex-wrap: wrap;
}
.brief-title {
  font-family: var(--mono); font-size: 18px; font-weight: 600; color: var(--gold);
}
.brief-subtitle {
  font-family: var(--mono); font-size: var(--text-label); color: var(--text-muted); margin-top: var(--space-xs);
}
.brief-print-btn {
  font-family: var(--mono); font-size: var(--text-label);
  padding: 6px 14px; background: var(--gold); color: #fff;
  border: none; border-radius: var(--radius-md);
  cursor: pointer; font-weight: 600; white-space: nowrap;
}
.brief-print-btn:hover { opacity: .85; }
.brief-summary {
  font-size: var(--text-body); line-height: 1.6; color: var(--text);
  margin-bottom: var(--space-md); padding: 12px 16px; background: var(--bg);
  border-left: 3px solid var(--gold); border-radius: 0 var(--radius-md) var(--radius-md) 0;
}
.brief-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: var(--space-md); margin-bottom: var(--space-md);
}
.brief-box {
  background: var(--bg); border: 1px solid var(--border);
  border-radius: var(--radius-lg); padding: 14px;
}
.brief-box h4 {
  font-family: var(--mono); font-size: var(--text-label);
  text-transform: uppercase; color: var(--gold);
  letter-spacing: .5px; margin-bottom: var(--space-sm);
}
.brief-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: var(--space-xs) 0; font-size: var(--text-small);
  border-bottom: 1px solid #f5f5f5;
}
.brief-row:last-child { border-bottom: none; }
.brief-row .blabel { color: var(--text-muted); font-size: var(--text-label); }
.brief-row .bval { font-weight: 500; }
.brief-risk { color: var(--red); }
.brief-opp { color: var(--green); }
.brief-news {
  font-size: var(--text-small); padding: 10px 14px; background: var(--bg);
  border-radius: var(--radius-md); border: 1px solid var(--border);
  margin-bottom: 12px;
}
.brief-news-title { font-weight: 600; font-size: var(--text-small); margin-bottom: var(--space-2xs); }
.brief-news-meta { font-size: var(--text-label); color: var(--text-muted); font-family: var(--mono); }
.brief-reforma {
  padding: 10px 14px; border-radius: var(--radius-md);
  font-size: var(--text-small); margin-bottom: 12px;
}
.brief-meta {
  font-family: var(--mono); font-size: var(--text-micro);
  color: var(--text-muted); text-align: right; margin-top: 12px;
}

/* ========================================
   28. DARK MODE (DS preview)
   ======================================== */
[data-theme="dark"] {
  --bg: #111827;
  --surface: #1F2937;
  --text: #F9FAFB;
  --text-muted: #9CA3AF;
  --border: #374151;
  --surface-hover: #374151;
  --surface-active: #4B5563;
  --gold-light: rgba(10, 158, 94, 0.15);
  --red-light: rgba(239, 68, 68, 0.12);
  --green-light: rgba(16, 185, 129, 0.12);
  --blue-light: rgba(59, 130, 246, 0.12);
  --orange-light: rgba(245, 158, 11, 0.15);
  --yellow-light: rgba(234, 179, 8, 0.15);
  --purple-light: rgba(139, 92, 246, 0.12);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.2);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.4);
}

/* Dark mode — score colors */
[data-theme="dark"] .sc-vhigh { color: #34D399; }
[data-theme="dark"] .sc-high  { color: #10B981; }
[data-theme="dark"] .sc-mid   { color: #FBBF24; }
[data-theme="dark"] .sc-low   { color: #F87171; }
[data-theme="dark"] .sc-vlow  { color: #FCA5A5; }

/* Dark mode — confidence badges */
[data-theme="dark"] .cb-verified    { background: rgba(16, 185, 129, 0.2);  color: #34D399; }
[data-theme="dark"] .cb-inferred    { background: rgba(234, 179, 8, 0.2);   color: #FBBF24; }
[data-theme="dark"] .cb-interpreted { background: rgba(245, 158, 11, 0.2);  color: #FCD34D; }
[data-theme="dark"] .cb-unknown     { background: rgba(107, 114, 128, 0.2); color: #9CA3AF; }
[data-theme="dark"] .cb-manual      { background: rgba(139, 92, 246, 0.2);  color: #A78BFA; }

/* Dark mode — match confidence */
[data-theme="dark"] .mb-5 { background: rgba(16, 185, 129, 0.2);  color: #34D399; }
[data-theme="dark"] .mb-4 { background: rgba(59, 130, 246, 0.2);  color: #60A5FA; }
[data-theme="dark"] .mb-3 { background: rgba(234, 179, 8, 0.2);   color: #FBBF24; }
[data-theme="dark"] .mb-2 { background: rgba(245, 158, 11, 0.2);  color: #FCD34D; }
[data-theme="dark"] .mb-1 { background: rgba(107, 114, 128, 0.2); color: #9CA3AF; }

/* Dark mode — table hover */
[data-theme="dark"] .data-table tr:hover,
[data-theme="dark"] .dtable tr:hover { background: rgba(234, 179, 8, 0.06); }

/* Dark mode — cell highlights */
[data-theme="dark"] .cell-exceptional { background: rgba(52, 211, 153, 0.1);  color: #34D399; }
[data-theme="dark"] .cell-critical    { background: rgba(248, 113, 113, 0.1); color: #FCA5A5; }
[data-theme="dark"] .cell-warning     { background: rgba(251, 191, 36, 0.1);  color: #FBBF24; }

/* Dark mode — tooltips/hints */
[data-theme="dark"] .tip .tiptext,
[data-theme="dark"] .tooltip-wrap .tooltip { background: #F9FAFB; color: #111827; }
[data-theme="dark"] .hint-content { background: var(--surface); color: var(--text); border: 1px solid var(--border); }
[data-theme="dark"] .hint-content::after { border-top-color: var(--surface); }

/* Dark mode — provenance */
[data-theme="dark"] .prov { background: var(--surface); color: var(--text); }

/* Dark mode — dropdowns & selects */
[data-theme="dark"] .dd-panel { background: var(--surface); }
[data-theme="dark"] .scout-select,
[data-theme="dark"] .select-v24 {
  background-color: var(--surface);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 5l3 3 3-3' stroke='%239CA3AF' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
}

/* Dark mode — board controls */
[data-theme="dark"] .board-controls input,
[data-theme="dark"] .board-controls select,
[data-theme="dark"] .input-v24,
[data-theme="dark"] #searchInput { background: var(--surface); color: var(--text); }

/* Dark mode — canonical pipeline badges */
[data-theme="dark"] .pb-ident   { background: rgba(156, 163, 175, 0.2); color: #9CA3AF; }
[data-theme="dark"] .pb-conect  { background: rgba(59, 130, 246, 0.2);  color: #60A5FA; }
[data-theme="dark"] .pb-qualif  { background: rgba(139, 92, 246, 0.2);  color: #A78BFA; }
[data-theme="dark"] .pb-contact { background: rgba(217, 119, 6, 0.2);   color: #F59E0B; }
[data-theme="dark"] .pb-agend   { background: rgba(16, 185, 129, 0.2);  color: #34D399; }
[data-theme="dark"] .pb-wip     { background: rgba(245, 158, 11, 0.2);  color: #FBBF24; }
[data-theme="dark"] .pb-nutrir  { background: rgba(236, 72, 153, 0.2);  color: #F472B6; }
[data-theme="dark"] .pb-concl   { background: rgba(6, 95, 70, 0.2);     color: #34D399; }

/* Dark mode — row selected */
[data-theme="dark"] .row-selected { background: rgba(10, 158, 94, 0.08); }

/* Dark mode — nav fade gradient */
[data-theme="dark"] .nav-fade-wrap::before {
  background: linear-gradient(to right, var(--bg) 0%, rgba(17, 24, 39, 0) 100%);
}
[data-theme="dark"] .nav-fade-wrap::after {
  background: linear-gradient(to left, var(--bg) 0%, rgba(17, 24, 39, 0) 100%);
}

/* ========================================
   29. RESPONSIVE (DS §14c — 4 breakpoints)
   Phone ≤599 | Tablet 600-1023 | Desktop 1024-1399 | Wide ≥1400
   ======================================== */

/* ── Touch targets — Phone + Tablet ─────────────────────── */
@media (max-width: 1023px) {
  .scout-tabs { gap: 0; }
  .scout-tabs .tab { padding: 14px 12px; }
  select, input[type="text"], input[type="search"], input[type="email"],
  input[type="url"], input[type="number"], input[type="date"],
  input[type="datetime-local"], textarea {
    min-height: 48px;
    font-size: 16px; /* impede zoom no iOS */
  }
  /* Tabelas com scroll horizontal */
  .table-scroll-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0 -12px;
    padding: 0 12px;
    position: relative;
  }
  .table-scroll-wrap table { min-width: 600px; }
  .table-scroll-wrap td:first-child,
  .table-scroll-wrap th:first-child {
    position: sticky; left: 0; z-index: 1; background: var(--bg);
  }
  .table-scroll-wrap::after {
    content: ''; position: absolute; top: 0; right: 0; bottom: 0; width: 24px;
    background: linear-gradient(to left, rgba(0,0,0,0.06), transparent);
    pointer-events: none;
  }
  .table-scroll-wrap.scrolled-end::after { opacity: 0; }
}

/* ── Tablet (600-1023) ──────────────────────────────────── */
@media (min-width: 600px) and (max-width: 1023px) {
  .board-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .t-grid-3 { grid-template-columns: 1fr 1fr; }
  .modal-content, .modal, .orbit-contact-modal { max-width: 560px; }

  /* Orbit kanban tablet: 2-3 columns visible */
  .orbit-kanban { gap: 6px; }
  .orbit-column, .orbit-column-cards { min-width: 220px; }
  .orbit-card-name { font-size: 14px; }
  .orbit-card-sub { font-size: 12px; }
  .orbit-card-advance,
  .orbit-card-schedule,
  .orbit-card-ata-btn { min-height: 36px; min-width: 36px; font-size: 14px; }
  .orbit-modal-grid { grid-template-columns: 1fr 1fr; }
}

/* ── Desktop ≤900 (legacy compat) ───────────────────────── */
@media (max-width: 900px) {
  .mira-columns { grid-template-columns: 1fr !important; }
  .ranking-grid { grid-template-columns: 1fr; }
  .detail-header-v24 { grid-template-columns: 1fr; }
  .detail-header-side { min-width: auto; }
}

/* ── Phone + Tablet ≤768 ─────────────────────────────────── */
@media (max-width: 768px) {
  .card-badges,
  .badges { grid-template-columns: repeat(3, 1fr); }
  .board-controls { flex-direction: column; }
  .board-controls input { width: 100%; }
  .nav { flex-wrap: wrap; }
  .reforma-hero { grid-template-columns: 1fr; }
  .brief-grid { grid-template-columns: 1fr; }
  .t-grid,
  .t-grid-2,
  .t-grid-4 { grid-template-columns: 1fr; }
  .pessoa-row { flex-direction: column; }
  #searchInput { width: 100%; }
}

/* ── Phone only (≤599) ───────────────────────────────────── */
@media (max-width: 599px) {
  /* Tipografia mobile */
  :root {
    --text-h1: 20px;
    --text-h2: 16px;
    --text-h3: 14px;
    --text-body: 13px;
    --text-small: 11px;
  }
  body { line-height: 1.6; }

  /* Bottom nav */
  .scout-header {
    position: fixed; bottom: 0; left: 0; right: 0; top: auto;
    z-index: 200; border-bottom: none;
    border-top: 1px solid var(--border);
    padding: 0; padding-bottom: env(safe-area-inset-bottom);
    background: var(--bg);
  }
  .scout-header .tab {
    flex: 1; text-align: center;
    padding: 8px 4px 6px; font-size: 9px;
    min-height: auto;
    border-bottom: none; border-top: 2px solid transparent;
  }
  .scout-header .tab.active {
    border-top-color: var(--gold); border-bottom-color: transparent;
  }
  body { padding-bottom: calc(60px + env(safe-area-inset-bottom)); }
  .scout-header .brand { display: none; }

  /* Sub-tabs horizontal scroll */
  .nav-fade-wrap { position: sticky; top: 0; z-index: 150; }
  .scout-nav {
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    scrollbar-width: none; gap: 0; padding: 0 12px;
  }
  .scout-nav::-webkit-scrollbar { display: none; }
  .scout-nav a { white-space: nowrap; flex-shrink: 0; padding: 12px 14px; font-size: 10px; }
  .nav-fade-wrap::before,
  .nav-fade-wrap::after { width: 24px; }

  /* Layout grid adaptations */
  .board-grid {
    grid-template-columns: 1fr; gap: 12px;
    padding: 0 0 80px;
  }
  .t-grid-2, .t-grid-3 { grid-template-columns: 1fr; gap: 16px; }
  .detail-section { padding: 12px; }
  .container { padding: 0 12px; }
  .score-grid { grid-template-columns: 1fr 1fr; gap: 8px; }

  /* Modal → bottom sheet */
  .modal-overlay { align-items: flex-end; }
  .modal-content, .modal, .orbit-contact-modal {
    width: 100%; max-width: 100%; max-height: 92vh; margin: 0;
    border-radius: var(--radius-lg, 12px) var(--radius-lg, 12px) 0 0;
    overflow-y: auto; -webkit-overflow-scrolling: touch;
  }
  .modal-content::before, .modal::before {
    content: ''; display: block; width: 36px; height: 4px;
    background: var(--border); border-radius: 2px; margin: 8px auto 12px;
  }

  /* Cards mobile */
  .board-card { padding: 12px; border-radius: var(--radius-sm, 6px); }
  .board-card .gauge { height: 4px; }
  .board-card .badges { flex-wrap: wrap; gap: 4px; }
  .board-card .stbadge { font-size: 8px; padding: 2px 6px; }
  .agent-card { padding: 12px; }

  /* Filtros mobile */
  .board-controls { flex-direction: column; gap: 8px; }
  .board-controls input[type="search"] { width: 100%; order: -1; }

  /* ── Orbit subnav mobile ── */
  .orbit-subnav {
    flex-wrap: wrap; gap: 0; padding: 0;
    border-bottom: 1px solid var(--border);
  }
  .orbit-subnav-tabs {
    width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch;
    scrollbar-width: none; display: flex;
  }
  .orbit-subnav-tabs::-webkit-scrollbar { display: none; }
  .orbit-subnav-tab {
    flex-shrink: 0; padding: 12px 14px; font-size: 11px;
    min-height: 44px; display: flex; align-items: center;
  }
  .orbit-subnav-right {
    width: 100%; justify-content: flex-end;
    padding: 6px 8px; border-top: 1px solid var(--border);
    gap: 8px;
  }
  .orbit-view-toggle { order: 1; }
  .orbit-toggle-btn { min-height: 36px; min-width: 36px; font-size: 14px; padding: 6px 10px; }
  .orbit-new-contact-btn { min-height: 36px; padding: 6px 14px; font-size: 11px; order: 2; }

  /* ── Orbit kanban mobile — horizontal snap scroll ── */
  .orbit-kanban {
    scroll-snap-type: x mandatory; gap: 0; padding-bottom: 12px;
    -webkit-overflow-scrolling: touch;
  }
  .orbit-column, .orbit-column-cards {
    min-width: 85vw; max-width: 85vw; flex: 0 0 85vw;
    scroll-snap-align: start; margin-right: 8px;
    border-radius: var(--radius-md); padding: 8px;
  }
  .orbit-column-collapsed {
    min-width: 44px; max-width: 44px; flex: 0 0 44px;
    scroll-snap-align: start;
  }
  .orbit-column-header { padding: 8px; font-size: 11px; }
  .orbit-column-lupa { min-height: 36px; min-width: 36px; font-size: 14px; padding: 4px 8px; }

  /* ── Orbit cards mobile ── */
  .orbit-card {
    padding: 12px; margin-bottom: 6px;
  }
  .orbit-card-name { font-size: 15px; }
  .orbit-card-sub { font-size: 13px; margin-top: 2px; }
  .orbit-card-header { gap: 8px; }
  .orbit-card-actions { gap: 6px; }
  .orbit-card-advance,
  .orbit-card-schedule,
  .orbit-card-ata-btn {
    min-height: 36px; min-width: 36px; font-size: 16px;
    padding: 6px 10px; display: flex; align-items: center; justify-content: center;
  }
  .orbit-card-cadence { font-size: 11px; }
  .orbit-card-notes { font-size: 12px; margin-top: 4px; }
  .orbit-card-nurture { font-size: 12px; margin-top: 4px; }
  .orbit-card[draggable="true"] { cursor: default; } /* disable drag cursor on touch */

  /* ── Novo contato modal mobile ── */
  .orbit-new-modal { max-width: 100%; }
  .orbit-search-fields { flex-direction: column; gap: 6px; }
  .orbit-search-fields input { min-height: 48px; font-size: 16px; }
  .orbit-search-row { padding: 10px 8px; min-height: 48px; }
  .orbit-search-row-name { font-size: 15px; }
  .orbit-search-row-detail { font-size: 13px; }
  .orbit-search-row-action { font-size: 13px; padding: 4px 0; }
  .orbit-search-results { max-height: 50vh; }

  /* ── Contact modal mobile — full bottom sheet ── */
  .orbit-contact-modal {
    max-width: 100%; width: 100%; max-height: 95vh;
  }
  .orbit-modal-grid { grid-template-columns: 1fr; }
  .orbit-modal-schedule-row { flex-direction: column; }
  .orbit-modal-section-title { font-size: 13px; }
  .orbit-modal-label { font-size: 12px; }
  .orbit-modal-field input,
  .orbit-modal-field select,
  .orbit-modal-field textarea {
    min-height: 48px; font-size: 16px;
  }
  .orbit-modal-advance {
    min-height: 48px; font-size: 14px; width: 100%;
  }

  /* ── Agenda mobile ── */
  .orbit-agenda-item { padding: 14px 12px; }
  .orbit-agenda-who { font-size: 15px; }
  .orbit-agenda-action { font-size: 13px; }
  .orbit-agenda-buttons { gap: 8px; flex-wrap: wrap; }
  .orbit-agenda-buttons button,
  .orbit-agenda-buttons .btn-ghost {
    min-height: 44px; min-width: 44px; font-size: 13px;
    padding: 8px 14px; flex: 1;
  }
  .orbit-agenda-section-title { font-size: 14px; }
  .orbit-task-nurture { padding: 12px; }

  /* ── Explorer mobile — table scroll ── */
  .orbit-list-table { min-width: 600px; }
  .orbit-panel { overflow-x: auto; -webkit-overflow-scrolling: touch; }

  /* ── Orbit summary bar ── */
  .orbit-todo-summary { flex-wrap: wrap; gap: 8px; }

  /* Landscape: hide bottom nav */
  @media (orientation: landscape) {
    .scout-header { display: none; }
    body { padding-bottom: 0; }
  }
}

/* ========================================
   30. PRINT MEDIA (DS 15)
   ======================================== */

/* M9 furar fila v24.11.6 (Anna 2026-05-10): botão "Exportar PDF" no header global, ao lado do sino. */
.scout-print-btn-wrap {
  display: inline-flex;
  align-items: center;
  margin: 0 4px 0 0;
}
.scout-print-btn {
  appearance: none;
  background: transparent;
  color: var(--text-muted, #6b7280);
  border: none;
  border-radius: 4px;
  padding: 6px 8px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background var(--ease-default, 160ms ease) 0s, color var(--ease-default, 160ms ease) 0s;
}
.scout-print-btn:hover {
  background: var(--surface-hover, rgba(0,0,0,0.04));
  color: var(--text, #1F2937);
}
.scout-print-btn:active {
  background: var(--surface-active, rgba(0,0,0,0.08));
}
.scout-print-btn:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

@media print {
  /* === RESET === */
  body {
    background: #fff !important;
    color: #1F2937 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* === FORCE LIGHT === */
  html[data-theme="dark"] {
    --bg: #FFFFFF;
    --surface: #F9FAFB;
    --text: #1F2937;
    --text-muted: #6B7280;
    --border: #E5E7EB;
    --surface-hover: #F3F4F6;
    --surface-active: #E5E7EB;
    --gold-light: rgba(10, 158, 94, 0.08);
    --red-light: rgba(239, 68, 68, 0.06);
    --green-light: rgba(16, 185, 129, 0.06);
    --blue-light: rgba(59, 130, 246, 0.06);
    --shadow-sm: none;
    --shadow-md: none;
    --shadow-lg: none;
  }

  /* === HIDE: navigation & chrome === */
  .header,
  .nav,
  .scout-nav,
  .board-controls,
  .back-btn,
  .theme-toggle,
  .toast,
  .toast-container,
  .toast-term,
  .modal-overlay,
  .modal,
  .spinner,
  .loading-spinner,
  .board-loading,
  .urgencia,
  .urgencia-critica { display: none !important; }

  /* === HIDE: tabs & non-brief panels === */
  .detail-tabs,
  .dtab-btn,
  .brief-print-btn,
  .dtab-panel:not([data-panel="overview"]):not([data-panel="brief"]) { display: none !important; }

  /* === HIDE: interactives === */
  .dd-trigger,
  .dd-panel,
  .scout-select,
  .select-v24,
  .compare-btn,
  .btn-orbit,
  .btn-gold,
  .dlink,
  .dlinks { display: none !important; }

  /* === HIDE: terminal === */
  .term,
  .acard-term { display: none !important; }

  /* === FORCE BRIEF VISIBLE === */
  .dtab-panel[data-panel="overview"],
  .dtab-panel[data-panel="brief"] { display: block !important; }

  /* === CONTAINER === */
  .container {
    max-width: 100% !important;
    padding: 0 10px !important;
    margin: 0 !important;
  }

  /* === DETAIL HEADER === */
  .detail-header,
  .detail-header-v24 {
    padding: 10px 0 !important;
    border: none !important;
    margin-bottom: 10px !important;
  }
  .detail-header h1,
  .detail-header-v24 h1 {
    font-size: 22px !important;
    margin: 4px 0 !important;
  }
  .detail-badges { display: none !important; }
  .detail-subtitle { font-size: 11px !important; }

  /* === BRIEF CARD === */
  .brief-card,
  .brief {
    border: 1px solid #ccc !important;
    border-radius: 0 !important;
    padding: 16px !important;
    background: #fff !important;
    box-shadow: none !important;
    page-break-inside: avoid;
  }
  .brief-header { margin-bottom: 12px !important; page-break-inside: avoid; }
  .brief-title { font-size: 16px !important; color: #1F2937 !important; }
  .brief-subtitle { font-size: 10px !important; }
  .brief-summary {
    font-size: 13px !important; line-height: 1.5 !important;
    padding: 10px 12px !important; border-left: 3px solid #1F2937 !important;
    background: #F9FAFB !important; page-break-inside: avoid;
  }
  .brief-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important; page-break-inside: avoid;
  }
  .brief-box {
    padding: 10px !important; border: 1px solid #E5E7EB !important;
    border-radius: 4px !important; background: #fff !important;
    page-break-inside: avoid;
  }
  .brief-box h4 { font-size: 10px !important; color: #1F2937 !important; margin-bottom: 6px !important; }
  .brief-row { font-size: 11px !important; padding: 2px 0 !important; }
  .brief-risk { color: #DC2626 !important; }
  .brief-opp  { color: #059669 !important; }
  .brief-news { padding: 8px 10px !important; font-size: 11px !important; border: 1px solid #E5E7EB !important; page-break-inside: avoid; }
  .brief-news-title { font-size: 11px !important; }
  .brief-news-meta  { font-size: 9px !important; }
  .brief-reforma { font-size: 11px !important; padding: 8px 10px !important; page-break-inside: avoid; }
  .brief-meta { font-size: 9px !important; margin-top: 8px !important; border-top: 1px solid #E5E7EB; padding-top: 6px; }

  /* === TABLES === */
  .dtable,
  .data-table { font-size: 11px !important; border-collapse: collapse !important; }
  .dtable th,
  .data-table th {
    font-size: 9px !important; padding: 4px 8px !important;
    background: #F9FAFB !important; border-bottom: 1px solid #ccc !important;
  }
  .dtable td,
  .data-table td { padding: 4px 8px !important; border-bottom: 1px solid #E5E7EB !important; }
  .dtable tr:hover,
  .data-table tr:hover { background: transparent !important; }

  /* Score colors — keep legible */
  .sc-vhigh { color: #059669 !important; }
  .sc-high  { color: #10B981 !important; }
  .sc-mid   { color: #B45309 !important; }
  .sc-low   { color: #DC2626 !important; }
  .sc-vlow  { color: #991B1B !important; }

  /* Badges */
  .stbadge { font-size: 8px !important; padding: 1px 6px !important; }
  .cb { font-size: 9px !important; padding: 1px 4px !important; background: transparent !important; border: 1px solid currentColor !important; }
  .pb { font-size: 8px !important; padding: 1px 6px !important; background: transparent !important; border: 1px solid currentColor !important; }

  /* Section blocks */
  .sblock,
  .section-block { break-inside: avoid; border-color: #ddd; }

  /* Kill animations */
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }

  /* M9 furar fila v24.11.6: export GLOBAL — qualquer rota visível na hora do click */
  /* Esconder chrome (header, nav, sub-tabs, sino, botão print, modais, overlays) */
  body.printing-current .header,
  body.printing-current .scout-nav,
  body.printing-current .nav,
  body.printing-current .motor-sub-nav, /* PR-04.4 alias: legacy class removida, .tab-bar usa selector próprio abaixo */
  body.printing-current .tab-bar,
  body.printing-current .scout-print-btn-wrap,
  body.printing-current .intel-notif-bell,
  body.printing-current #userBadge,
  body.printing-current #userBadgeMenu,
  body.printing-current [data-print-hide],
  body.printing-current .toast,
  body.printing-current .toast-container,
  body.printing-current .modal-overlay,
  body.printing-current .modal,
  body.printing-current .intel-overlay,
  body.printing-current .board-controls,
  body.printing-current .back-btn,
  body.printing-current .theme-toggle,
  body.printing-current .spinner {
    display: none !important;
  }
  /* Conteúdo principal: ocupa página inteira */
  body.printing-current,
  body.printing-current #scoutMain,
  body.printing-current #motorView,
  body.printing-current .motor-content,
  body.printing-current .motor-metrics-anchor,
  body.printing-current .motor-sobre-wrap,
  body.printing-current #boardView,
  body.printing-current #detailView,
  body.printing-current #rankingView,
  body.printing-current #orbitView,
  body.printing-current #intelView,
  body.printing-current #compareView {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;
    width: 100% !important;
    background: white !important;
  }
  /* Page-break: evitar cortes no meio de cards/seções */
  body.printing-current .metric-card,
  body.printing-current .ref-pipe-col,
  body.printing-current .ref-section,
  body.printing-current .ref-api-card,
  body.printing-current .num-card,
  body.printing-current .module,
  body.printing-current .sblock,
  body.printing-current .author,
  body.printing-current section,
  body.printing-current article,
  body.printing-current table {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  body.printing-current h1,
  body.printing-current h2,
  body.printing-current h3,
  body.printing-current .motor-h1,
  body.printing-current .motor-section-h2 {
    break-after: avoid !important;
    page-break-after: avoid !important;
  }
  /* Tipografia print-friendly */
  body.printing-current {
    font-size: 11pt !important;
    line-height: 1.5 !important;
    color: #1F2937 !important;
  }
  body.printing-current h1, body.printing-current .motor-h1 {
    font-size: 22pt !important;
    margin: 0 0 12pt !important;
  }
  body.printing-current h2, body.printing-current .motor-section-h2 {
    font-size: 16pt !important;
    margin: 16pt 0 8pt !important;
  }
  body.printing-current h3 {
    font-size: 13pt !important;
    margin: 12pt 0 6pt !important;
  }
  /* Margem da página */
  @page {
    size: A4;
    margin: 1.5cm 1.2cm;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   REFORMA TRIBUTÁRIA — Hero, Delta, Impact, Insight
   ═══════════════════════════════════════════════════════════════════════════ */

.reforma-hero {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 8px;
}
.reforma-score-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 12px;
  text-align: center;
}
.reforma-score-card .score-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: var(--text-muted);
  margin-bottom: 4px;
}
.reforma-score-card .score-val {
  font-size: 28px;
  font-weight: 800;
  font-family: var(--mono);
  line-height: 1.1;
}
.urgencia-critica {
  animation: urgPulse 2s ease-in-out infinite;
}
@keyframes urgPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.3); }
  50% { box-shadow: 0 0 12px 4px rgba(239, 68, 68, 0.15); }
}
.reforma-delta {
  border-radius: 6px;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 600;
  font-family: var(--mono);
  text-align: center;
  line-height: 1.6;
}
.reforma-impact-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 8px 12px;
  margin-bottom: 4px;
  font-size: var(--text-small);
  line-height: 1.4;
}
.reforma-insight-box {
  background: rgba(10, 158, 94, 0.06);
  border: 1px solid var(--gold);
  border-radius: 6px;
  padding: 12px;
  margin-top: 8px;
}
.reforma-insight-box .insight-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  color: var(--gold);
  margin-bottom: 4px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   TI TAB — Maturity, Budget, Stack, Vendors, SaaS
   ═══════════════════════════════════════════════════════════════════════════ */

.maturity-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  gap: 6px;
}
.maturity-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 8px;
  text-align: center;
}
.maturity-card .mc-label {
  font-size: 10px;
  font-weight: 600;
  color: var(--text-muted);
  margin-bottom: 2px;
  letter-spacing: 0.5px;
}
.maturity-card .mc-value {
  font-size: var(--text-small);
  font-weight: 700;
}
.ti-budget-hero {
  text-align: center;
  padding: 12px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 6px;
}
.ti-budget-value {
  font-size: 32px;
  font-weight: 800;
  font-family: var(--mono);
  color: var(--gold);
  line-height: 1.1;
}
.ti-budget-meta {
  font-size: 11px;
  color: var(--text-muted);
  margin-top: 4px;
}
.ti-confidence-high { color: var(--green); font-weight: 600; }
.ti-confidence-medium { color: var(--orange); font-weight: 600; }
.ti-confidence-low { color: var(--red); font-weight: 600; }
.tech-keyword-badge {
  display: inline-block;
  background: rgba(10, 158, 94, 0.1);
  color: var(--gold);
  border: 1px solid rgba(10, 158, 94, 0.3);
  border-radius: 4px;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 500;
  margin: 2px;
}
.compliance-badge {
  display: inline-block;
  background: rgba(59, 130, 246, 0.1);
  color: #3B82F6;
  border: 1px solid rgba(59, 130, 246, 0.3);
  border-radius: 4px;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 600;
  margin: 2px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   FINANCE — KPI Toggle, M&A
   ═══════════════════════════════════════════════════════════════════════════ */

.kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 6px;
}
.kpi-cell {
  display: flex;
  flex-direction: column;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 6px 10px;
}
.kpi-cell-label {
  font-size: 10px;
  font-weight: 600;
  color: var(--text-muted);
  font-family: var(--mono);
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.kpi-cell-value {
  font-size: 14px;
  font-weight: 700;
  font-family: var(--mono);
  color: var(--text);
}
.kpi-toggle-group {
  display: flex;
  gap: 0;
  margin-bottom: 12px;
  border: 1px solid var(--border);
  border-radius: 6px;
  overflow: hidden;
  width: fit-content;
}
.kpi-toggle-btn {
  padding: 4px 12px;
  font-size: 11px;
  font-weight: 600;
  background: var(--surface);
  color: var(--text-muted);
  border: none;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.kpi-toggle-btn:hover { background: var(--hover); }
.kpi-toggle-active {
  background: var(--gold) !important;
  color: #fff !important;
}
.market-header {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.ticker-badge {
  display: inline-block;
  background: var(--gold);
  color: #fff;
  font-weight: 700;
  font-family: var(--mono);
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 13px;
}
.ticker-badge-secondary {
  background: transparent;
  color: var(--text-muted);
  border: 1px solid var(--border);
}
.market-exchange { color: var(--text-muted); font-size: 13px; }
.market-mcap { font-weight: 600; font-size: 13px; }
.market-other-label { color: var(--text-muted); font-size: var(--text-label); }
.stock-chart-container { min-height: 250px; margin-top: 4px; }

/* ═══════════════════════════════════════════════════════════════════════════
   PESSOAS — Funnel, Warmth, Committees, Orbit
   ═══════════════════════════════════════════════════════════════════════════ */

.funnel-bar {
  display: flex;
  height: 20px;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 12px;
  background: var(--surface);
  border: 1px solid var(--border);
}
.fb-seg { min-width: 2px; }
/* Canonical funnel bar colors (match ORBIT_STAGES) */
.fb-identificado { background: #9CA3AF; }
.fb-conectado { background: #3B82F6; }
.fb-qualificado { background: #8B5CF6; }
.fb-contactado { background: #D97706; }
.fb-agendado { background: #10B981; }
.fb-concluido { background: #065F46; }
.warmth-hot { color: #EF4444; font-weight: 600; }
.warmth-warm { color: #F59E0B; font-weight: 600; }
.warmth-cold { color: #6B7280; }
.warmth-none { color: var(--text-muted); }
.committee-badge {
  display: inline-block;
  background: rgba(139, 92, 246, 0.1);
  color: #8B5CF6;
  border: 1px solid rgba(139, 92, 246, 0.3);
  border-radius: 4px;
  padding: 1px 6px;
  font-size: 11px;
  font-weight: 500;
  margin: 1px;
}
.wa-phone-link {
  color: #25D366;
  text-decoration: none;
  font-weight: 500;
}
.wa-phone-link:hover { text-decoration: underline; }
.dlinks { display: flex; gap: 4px; }
.dlink {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  color: #fff;
}
.dlink-li { background: #0A66C2; }
.dlink-connect { background: #10B981; }
.dlink-email { background: #6B7280; }

/* ═══════════════════════════════════════════════════════════════════════════
   CADASTRO — Google Maps Embed
   ═══════════════════════════════════════════════════════════════════════════ */

.map-embed {
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--border);
}
.map-embed iframe {
  display: block;
  width: 100%;
  min-height: 200px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   AGENTS PAGE — Health badges, type badges, graph, terminal
   ═══════════════════════════════════════════════════════════════════════════ */

/* Agent health badges (DS tokens) */
.health-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: var(--radius-full);
  font-size: var(--text-label);
  font-weight: 600;
  font-family: var(--mono);
  cursor: pointer;
  user-select: none;
  transition: opacity var(--ease-default);
}
.health-badge.off { opacity: 0.3; }
.health-HEALTHY { background: var(--green-light); color: var(--green); }
.health-DEGRADED { background: var(--orange-light); color: var(--orange); }
.health-CRITICAL { background: var(--red-light); color: var(--red); }
.health-TRIPPED { background: var(--red-light); color: var(--red); font-weight: 700; }
.health-IDLE { background: var(--surface-active); color: var(--text-muted); }
.health-DISABLED { background: var(--surface-active); color: var(--text-muted); opacity: 0.6; }

/* Agent type badges */
.agent-type {
  display: inline-block;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
  font-size: var(--text-label);
  font-weight: 600;
  font-family: var(--mono);
  letter-spacing: 0.02em;
}
.agent-type-COL { background: var(--blue-light); color: var(--blue); }
.agent-type-LLM { background: var(--purple-light); color: var(--purple); }
.agent-type-MOD { background: var(--orange-light); color: var(--orange); }
.agent-type-PROC { background: var(--green-light); color: var(--green); }
.agent-type-VAL { background: var(--gold-light); color: var(--gold); }
.agent-type-WRITE { background: var(--blue-light); color: #2563EB; }

/* Agent graph layout */
.agent-graph {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--space-md);
  padding: var(--space-md) 0;
  overflow-x: auto;
}
.agent-graph-col {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 170px;
}
.agent-graph-col-header {
  font-family: var(--mono);
  font-size: var(--text-label);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-muted);
  padding: var(--space-xs) var(--space-sm);
  border-bottom: 2px solid var(--border);
  margin-bottom: var(--space-xs);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}

/* Agent graph node */
.agent-node {
  padding: var(--space-sm) 10px;
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  background: var(--surface);
  cursor: pointer;
  transition: all var(--ease-default);
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.agent-node:hover {
  border-color: var(--text-muted);
  box-shadow: var(--shadow-sm);
}
.agent-node-name {
  font-family: var(--mono);
  font-size: var(--text-small);
  font-weight: 600;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.agent-node-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  font-size: var(--text-label);
  color: var(--text-muted);
}
.agent-node-check {
  width: 14px;
  height: 14px;
  accent-color: var(--gold);
  cursor: pointer;
}

/* Agent node states */
.agent-node.node-idle { border-color: var(--border); background: var(--surface); }
.agent-node.node-running { border-color: var(--gold); background: var(--gold-light); animation: agent-pulse 1.5s ease-in-out infinite; }
.agent-node.node-ok { border-color: var(--green); background: var(--green-light); }
.agent-node.node-skipped { border-color: var(--orange); background: var(--orange-light); }
.agent-node.node-error { border-color: var(--red); background: var(--red-light); }

@keyframes agent-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

/* Agent node inline reason (error/skip/ok detail) */
.agent-node-reason {
  font-size: var(--text-label);
  font-family: var(--mono);
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Agent node expanded detail */
.agent-node-detail {
  margin-top: var(--space-sm);
  padding: var(--space-sm);
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
}

/* Terminal log */
.agent-terminal {
  background: #1a1a2e;
  color: #E0E0E0;
  font-family: var(--mono);
  font-size: var(--text-small);
  padding: var(--space-md);
  border-radius: var(--radius-lg);
  height: 200px;
  overflow-y: auto;
  line-height: 1.7;
}
.agent-terminal .log-ok { color: var(--green); }
.agent-terminal .log-skip { color: var(--orange); }
.agent-terminal .log-error { color: var(--red); }
.agent-terminal .log-info { color: #8B8B8B; }
.agent-terminal .log-separator { color: #4B5563; }

/* Agent summary card */
.agent-summary {
  padding: var(--space-md);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
}
.agent-summary-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-sm);
  border-bottom: 1px solid var(--border);
}
.agent-summary-section {
  margin-bottom: var(--space-md);
}
.agent-summary-section h4 {
  font-family: var(--mono);
  font-size: var(--text-small);
  color: var(--text-muted);
  margin-bottom: var(--space-xs);
}

/* Force toggle */
.force-toggle {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-xs) var(--space-sm);
  border-radius: var(--radius-sm);
  font-family: var(--mono);
  font-size: var(--text-label);
  cursor: pointer;
  user-select: none;
  transition: all var(--ease-default);
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text-muted);
}
.force-toggle.active {
  border-color: var(--orange);
  background: var(--orange-light);
  color: var(--orange);
  font-weight: 600;
}

/* Agent controls bar */
.agent-controls {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) 0;
  flex-wrap: wrap;
}

/* Agent company selector */
.agent-company-selector {
  position: relative;
  width: 100%;
  max-width: 480px;
}
.agent-company-selector input {
  width: 100%;
  font-family: var(--mono);
  padding: 10px 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  font-size: var(--text-body);
  background: var(--bg);
  color: var(--text);
  transition: all var(--ease-default);
}
.agent-company-selector input:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px var(--gold-light);
}
.agent-company-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  max-height: 300px;
  overflow-y: auto;
  background: var(--bg);
  border: 1px solid var(--border);
  border-top: none;
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  box-shadow: var(--shadow-md);
  z-index: 100;
  display: none;
}
.agent-company-dropdown.open { display: block; }
.agent-company-option {
  padding: var(--space-sm) 14px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: var(--text-small);
  transition: background var(--ease-fast);
}
.agent-company-option:hover { background: var(--surface-hover); }
.agent-company-option-name { font-weight: 600; }
.agent-company-option-meta { color: var(--text-muted); font-size: var(--text-label); }
.agent-company-create { border-bottom: 1px solid var(--border); background: rgba(217, 119, 6, 0.04); }
.agent-company-create .agent-company-option-name { color: var(--gold); }

/* Company info bar */
.agent-company-info {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-sm) var(--space-md);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  margin: var(--space-sm) 0;
  font-family: var(--mono);
  font-size: var(--text-small);
}
.agent-company-info .company-name {
  font-weight: 600;
  font-size: var(--text-body);
  color: var(--text);
}

/* Observability filters */
.obs-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) 0;
}
.obs-filters select,
.obs-filters input {
  font-family: var(--mono);
  padding: 8px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  font-size: var(--text-small);
  background: var(--bg);
  color: var(--text);
}
.obs-filters select:focus,
.obs-filters input:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px var(--gold-light);
}
.obs-filters input::placeholder { color: var(--text-muted); }

/* Observability summary metrics */
.obs-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-md);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  margin: var(--space-sm) 0;
}
.obs-metric {
  font-size: var(--text-small);
  color: var(--text-muted);
  font-family: var(--mono);
}
.obs-metric b { color: var(--text); font-size: var(--text-body); }

/* Observability detail expansion */
.obs-detail {
  background: var(--surface);
  border-left: 3px solid var(--gold);
  padding: var(--space-md);
  margin: var(--space-xs) 0;
}
.obs-detail h3 {
  color: var(--gold);
  font-family: var(--mono);
  font-size: var(--text-body);
  margin-bottom: var(--space-sm);
}
.obs-detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-md);
  margin-top: var(--space-md);
}
.obs-chart-box {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: var(--space-sm);
  min-height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.obs-chart-box canvas { max-height: 150px; }

/* Color utility classes */
.col-green { color: var(--green); }
.col-orange { color: var(--orange); }
.col-red { color: var(--red); }
.col-muted { color: var(--text-muted); }

/* Percentage color classes */
.pct-green { color: var(--green); }
.pct-yellow { color: var(--orange); }
.pct-red { color: var(--red); }

/* Truncate utility */
.truncate {
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
  vertical-align: middle;
}

/* Sub-tabs border */
.subtab-bar { border-bottom: 1px solid var(--border); }

/* Agent arrows between columns */
.agent-graph-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  font-size: 18px;
  min-width: 24px;
  align-self: center;
}

/* Responsive: stack graph columns */
@media (max-width: 1200px) {
  .agent-graph { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  .agent-graph { grid-template-columns: 1fr 1fr; }
  .obs-detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .agent-graph { grid-template-columns: 1fr; }
}

/* ====== Score Display Classes (DS-compliant) ====== */
.score-hero { font-family: var(--mono); font-size: var(--text-h1); font-weight: 700; line-height: 1.2; }
.score-card-num { font-family: var(--mono); font-size: var(--text-h2); font-weight: 700; line-height: 1.2; }
.score-secondary { font-family: var(--mono); font-size: var(--text-h3); font-weight: 700; line-height: 1.2; }
.score-verdict { font-family: var(--mono); font-size: var(--text-h2); font-weight: 700; line-height: 1.2; }
.verdict-label { margin-left: 8px; font-weight: 600; font-family: var(--sans); font-size: var(--text-h3); }
.desc-muted { margin: 0; color: var(--text-muted); }
.score-desc { font-size: var(--text-label); color: var(--text-muted); }
.score-formula { color: var(--text-muted); margin-top: 4px; font-family: var(--mono); font-size: var(--text-small); }
.text-center { text-align: center; }

/* ════════════════════════════════════════════════════════════════════════
   Detail Header — DS1.9 layout B (info esquerda + 4 metrics direita)
   Decisão Anna 2026-05-06.
   Substitui o header 3-rows antigo. Borda dourada lateral como acento.
   ════════════════════════════════════════════════════════════════════════ */
.dh.dh-b {
  display: grid;
  grid-template-columns: 1fr 480px;
  gap: 24px;
  padding: 24px;
  border-left: 4px solid var(--gold);
  border-bottom: 1px solid var(--border);
  background: var(--bg);
  align-items: center;
}
.dh-b-left .dh-b-name {
  font-size: 24px; font-weight: 700; color: var(--text);
  letter-spacing: -.3px; margin: 0;
  font-family: var(--sans);
}
.dh-b-sub {
  margin-top: 4px; font-size: 12px; color: var(--text-muted);
  font-family: var(--mono); letter-spacing: .3px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  max-width: 100%;
}
.dh-b-pills {
  display: flex; gap: 6px; margin-top: 10px; flex-wrap: wrap;
}
.dh-b-pill {
  padding: 3px 8px; border-radius: 3px;
  font-family: var(--mono); font-size: 9px; font-weight: 600;
  letter-spacing: .8px; text-transform: uppercase;
  text-decoration: none;
}
.dh-b-pill.pill-sector { background: rgba(59,130,246,.10); color: #1E40AF; }
.dh-b-pill.pill-state { background: rgba(16,185,129,.10); color: var(--green, #10B981); }
.dh-b-pill.pill-state.st-queued { background: rgba(59,130,246,.10); color: #1E40AF; }
.dh-b-pill.pill-state.st-inactive { background: rgba(107,114,128,.10); color: var(--text-muted); }
.dh-b-pill.pill-state.st-merged { background: rgba(139,92,246,.10); color: #5B21B6; }
.dh-b-pill.pill-rank { background: var(--surface); color: var(--text-muted); }
/* GAP-03 (M8 Etapa 2): pill political_risk no header — tom neutro (ADR-24 regra: tokens existentes, não inventar cor). */
.dh-b-pill.pill-pol-risk { background: var(--surface); color: var(--text-muted); }
.dh-b-pill.pill-link { background: var(--gold-light); color: var(--gold); cursor: pointer; }
.dh-b-pill.pill-link:hover { background: var(--gold); color: white; }
.dh-b-pill.pill-verdict.verdict-target { background: rgba(16,185,129,.15); color: #047857; }
.dh-b-pill.pill-verdict.verdict-alta { background: rgba(16,185,129,.10); color: #10B981; }
.dh-b-pill.pill-verdict.verdict-moderada { background: rgba(245,158,11,.10); color: #F59E0B; }
.dh-b-pill.pill-verdict.verdict-baixa { background: rgba(107,114,128,.10); color: #6B7280; }
.dh-b-pill.pill-verdict.verdict-descarte { background: rgba(239,68,68,.10); color: var(--red); }
/* Anna 2026-05-08: empresa queued/sem score não recebe verdict — fica PENDENTE ANÁLISE */
.dh-b-pill.pill-verdict.verdict-pending { background: rgba(217,119,6,.12); color: #B45309; border: 1px dashed rgba(217,119,6,.45); }

.dh-b-metrics {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border: 1px solid var(--border); border-radius: 6px; overflow: hidden;
}
.dh-b-metric {
  padding: 10px 12px; text-align: center;
  border-right: 1px solid var(--border);
}
.dh-b-metric:last-child { border-right: none; }
.dh-b-metric .label {
  font-family: var(--mono); font-size: 9px; color: var(--text-muted);
  letter-spacing: 1px; text-transform: uppercase;
}
.dh-b-metric .value {
  font-family: var(--mono); font-size: 20px; font-weight: 700;
  color: var(--text); margin-top: 2px;
}
.dh-b-metric .value.gold { color: var(--gold); }
.dh-b-metric .value.high { color: var(--green, #10B981); }
.dh-b-metric .value.warn { color: var(--orange, #F59E0B); }
.dh-b-metric .value.low { color: var(--red); }

@media (max-width: 768px) {
  .dh.dh-b {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 16px 20px;
    border-left-width: 3px;
  }
  .dh-b-left .dh-b-name { font-size: 20px; }
  .dh-b-sub { white-space: normal; }
  .dh-b-metric .value { font-size: 17px; }
}

/* ────── Legacy detail header (mantido pra outras telas que ainda usam .dh sem .dh-b) ────── */
.dh:not(.dh-b) { border-bottom: 1px solid var(--border); padding: 12px 24px; background: var(--bg); }
.dh-row1 { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; margin-bottom: 8px; }
.dh-name { font-family: var(--sans); font-size: 18px; font-weight: 600; color: var(--text); white-space: nowrap; }
.dh-sep { color: var(--border); font-size: 14px; user-select: none; }
.dh-meta { font-family: var(--mono); font-size: 13px; color: var(--text-muted); white-space: nowrap; }
.dh-sector-icon { font-size: 14px; margin-right: 2px; }
.dh-row2 { display: flex; align-items: center; gap: 0; flex-wrap: wrap; font-family: var(--mono); font-size: 13px; }
.dh-cell { display: flex; align-items: center; gap: 4px; padding: 4px 10px; border-right: 1px solid var(--border); white-space: nowrap; }
.dh-cell:last-child { border-right: none; }
.dh-cell:first-child { padding-left: 0; }
.dh-label { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: 500; }
.dh-value { font-weight: 600; font-size: 13px; }
.sc-vhigh { color: #059669; }
.sc-high { color: #10B981; }
.sc-mid { color: var(--orange); }
.sc-low { color: #EF4444; }
.dh-rank { background: var(--gold); color: white; font-size: 10px; font-weight: 600; padding: 2px 8px; border-radius: var(--radius-full); font-family: var(--mono); }
.dh-rank-sector { background: var(--blue); }
.dh-link { color: var(--blue); text-decoration: none; font-size: 13px; font-family: var(--mono); }
.dh-link:hover { text-decoration: underline; }
.dh-contacts { color: var(--text-muted); font-size: 13px; }
.dh-fresh { font-size: 10px; color: var(--text-muted); }
.dh-fresh-ok { color: var(--green); }
.dh-fresh-warn { color: var(--orange); }
.dh-fresh-old { color: var(--red); }
.dh-enrich-pct { font-size: 10px; font-weight: 600; color: var(--gold); }
.dh-enrich-track { width: 60px; height: 4px; background: var(--border); border-radius: 2px; overflow: hidden; }
.dh-enrich-fill { height: 100%; background: var(--gold); border-radius: 2px; }
.dh-enrich-btn { background: var(--gold); color: white; border: none; font-family: var(--mono); font-size: 10px; font-weight: 600; padding: 3px 10px; border-radius: var(--radius-sm); cursor: pointer; text-decoration: none; white-space: nowrap; }
.dh-enrich-btn:hover { opacity: 0.85; }
.dh-priority { font-size: 10px; font-weight: 600; padding: 2px 8px; border-radius: var(--radius-full); text-transform: uppercase; letter-spacing: 0.5px; }
.dh-priority-alta { background: rgba(239, 68, 68, 0.1); color: #EF4444; }
.dh-priority-moderada { background: rgba(245, 158, 11, 0.1); color: #F59E0B; }
.dh-priority-target { background: rgba(10, 158, 94, 0.1); color: #0A9E5E; }

/* ========================================
   UTILITY CLASSES (Inline-style elimination)
   Added: 2026-04-07
   ======================================== */

/* --- Layout --- */
.flex-row { display: flex; align-items: center; gap: var(--space-sm); }
.flex-baseline { display: flex; align-items: baseline; gap: var(--space-sm); }
.flex-wrap { flex-wrap: wrap; }
.flex-between { display: flex; justify-content: space-between; }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-md); }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-md); }
.grid-auto { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: var(--space-sm); }
.text-center { text-align: center; }

/* --- Spacing --- */
.mt-xs { margin-top: var(--space-xs); }
.mt-sm { margin-top: var(--space-sm); }
.mt-md { margin-top: var(--space-md); }
.mb-xs { margin-bottom: var(--space-xs); }
.mb-sm { margin-bottom: var(--space-sm); }
.mb-md { margin-bottom: var(--space-md); }
.pt-sm { padding-top: var(--space-sm); }
.pb-sm { padding-bottom: var(--space-sm); }
.py-sm { padding-top: var(--space-sm); padding-bottom: var(--space-sm); }
.py-md { padding-top: var(--space-md); padding-bottom: var(--space-md); }
.gap-md { gap: var(--space-md); }

/* --- Colgroup --- */
.col-kv { width: 160px; }
.col-kv-wide { width: 200px; }
.col-kv-narrow { width: 120px; }
.col-num-w { width: 140px; }

/* --- Typography --- */
.fw-600 { font-weight: 600; }
.fw-500 { font-weight: 500; }
.text-muted { color: var(--text-muted); }
.font-mono { font-family: var(--mono); }
.font-label { font-family: var(--mono); font-size: var(--text-label); font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }

/* --- Misc --- */
.scroll-y-400 { max-height: 400px; overflow-y: auto; }
.img-thumb { max-height: 40px; max-width: 120px; border-radius: var(--radius-sm); }
.border-none { border: 0; }
.flex-1 { flex: 1; }
.w-full { width: 100%; }
.min-w-40 { min-width: 40px; }
.min-w-50 { min-width: 50px; }
.min-w-120 { min-width: 120px; }
.text-right { text-align: right; }
.text-small { font-size: var(--text-small); }
.text-label-size { font-size: var(--text-label); }
.text-body-size { font-size: var(--text-body); }
.items-center { align-items: center; }
.col-kv-180 { width: 180px; }

/* --- Section divider --- */
.section-divider { border-top: 2px dashed var(--border); margin: var(--space-lg) 0; padding-top: var(--space-md); }

/* --- Inline KV row (flex between) --- */
.kv-row-line { display: flex; justify-content: space-between; padding: var(--space-xs) 0; border-bottom: 1px solid var(--border); }

/* --- Dynamic border-left accents --- */
.border-l-green { border-left: 3px solid var(--green); }
.border-l-red { border-left: 3px solid var(--red); }
.border-l-orange { border-left: 3px solid var(--orange); }
.border-l-muted { border-left: 3px solid var(--text-muted); }

/* --- Dynamic border accents (full) --- */
.border-2-red { border: 2px solid var(--red); }
.border-2-orange-dark { border: 2px solid #F97316; }
.border-2-orange { border: 2px solid var(--orange); }
.border-2-muted { border: 2px solid #6B7280; }

/* --- Delta indicator boxes --- */
.reforma-delta-up { background: rgba(239,68,68,0.06); border: 1px solid var(--red); color: var(--red); }
.reforma-delta-down { background: rgba(16,185,129,0.06); border: 1px solid var(--green); color: var(--green); }
.reforma-delta-neutral { background: rgba(0,0,0,0.02); border: 1px solid var(--text-muted); color: var(--text-muted); }

/* --- Sub-heading (h4 replacement) --- */
.sub-heading { margin-top: var(--space-sm); font-size: var(--text-small); color: var(--gold); }

/* --- Insight metadata line --- */
.insight-meta { font-size: var(--text-label); color: var(--text-muted); margin-top: var(--space-xs); font-family: var(--mono); }

/* --- Error messages --- */
.error-msg { color: var(--red); padding: var(--space-sm); }
.error-msg-lg { color: var(--red); padding: var(--space-lg); }

/* --- Maturity card dynamic colors --- */
.mc-value-basic { color: #6B7280; }
.mc-value-exploring { color: var(--orange); }
.mc-value-hybrid { color: #3B82F6; }
.mc-value-advanced { color: #10B981; }
.mc-value-mature { color: var(--gold); }

/* --- Nota line --- */
.nota-line { font-size: var(--text-small); margin: var(--space-xs) 0; }
.mr-sm { margin-right: var(--space-sm); }
.link-gold { color: var(--gold); }
.link-gold:hover { text-decoration: underline; }
.scandal-box { border-color: var(--red); background: var(--red-light); }

/* ══════════════════════════════════════════════════════════════════════════
   ORBIT CRM
   ══════════════════════════════════════════════════════════════════════════ */

/* Sub-navigation */
.orbit-subnav { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--border); margin-bottom: var(--space-md); padding-top: var(--space-sm); }
.orbit-subnav-tab { padding: 8px 16px; font-family: var(--mono); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; cursor: pointer; border: none; border-bottom: 2px solid transparent; background: none; color: var(--text-muted); transition: var(--ease-default); }
.orbit-subnav-tab:hover { color: var(--text); }
.orbit-subnav-tab.active { color: var(--gold); border-bottom-color: var(--gold); }
.orbit-panel { min-height: 400px; }

/* Toolbar */
.orbit-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 16px; }
.orbit-search { width: 220px; }

/* Kanban Pipeline */
.orbit-kanban { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 8px; min-height: 300px; }
.orbit-column { min-width: 200px; flex: 1 1 0; background: var(--surface); border-radius: var(--radius-lg); padding: 6px; }
.orbit-column-header { font-family: var(--mono); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; padding: 5px 6px; border-bottom: 1px solid var(--border); margin-bottom: 6px; display: flex; align-items: center; gap: 5px; }
.orbit-column-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.orbit-column-count { color: var(--text-muted); font-weight: 400; }

/* Contact Cards */
.orbit-card { background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 8px 10px; margin-bottom: 4px; cursor: pointer; transition: var(--ease-default); }
.orbit-card:hover { border-color: var(--gold); box-shadow: var(--shadow-sm); }
.orbit-card-name { font-weight: 600; font-size: 13px; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.orbit-card-sub { font-size: 11px; color: var(--text-muted); margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.orbit-card-sub .orbit-card-company { color: var(--gold); cursor: pointer; }
.orbit-card-sub .orbit-card-company:hover { text-decoration: underline; }
.orbit-card-role { font-size: 11px; color: var(--text-muted); margin-top: 1px; }
.orbit-card-company { font-size: 11px; color: var(--gold); cursor: pointer; }
.orbit-card-company:hover { text-decoration: underline; }
.orbit-card-meta { display: flex; gap: 4px; margin-top: 6px; flex-wrap: wrap; }
.orbit-card-warmth { font-size: 11px; color: var(--text-muted); margin-top: 4px; }
.orbit-card-action { font-size: 11px; color: var(--orange); margin-top: 4px; font-family: var(--mono); }
.orbit-card-links { display: flex; gap: 6px; margin-top: 6px; }
.orbit-card-links a { font-size: 11px; color: var(--gold); text-decoration: none; }
.orbit-card-links a:hover { text-decoration: underline; }

/* Explorer */
.orbit-explorer { display: grid; grid-template-columns: 220px 1fr; gap: 16px; }
.orbit-facets { background: var(--surface); border-radius: var(--radius-lg); padding: 12px; }
.orbit-facet-group { margin-bottom: 16px; }
.orbit-facet-title { font-family: var(--mono); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: var(--gold); margin-bottom: 6px; }
.orbit-facet-option { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--text); padding: 2px 0; }
.orbit-facet-option input[type="checkbox"] { accent-color: var(--gold); }
.orbit-explorer-search { width: 100%; margin-bottom: 12px; }

/* Agenda */
.orbit-agenda-section { margin-bottom: 24px; }
.orbit-agenda-section-title { font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--text); margin-bottom: 12px; padding-bottom: 6px; border-bottom: 1px solid var(--border); }
.orbit-agenda-week { font-family: var(--mono); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: var(--gold); margin: 12px 0 6px; }
.orbit-agenda-item { background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 12px; margin-bottom: 8px; }
.orbit-agenda-overdue { border-left: 3px solid var(--red); }
.orbit-agenda-today { border-left: 3px solid var(--orange); }
.orbit-agenda-upcoming { border-left: 3px solid var(--blue); }
.orbit-agenda-cold { border-left: 3px solid var(--yellow); }
.orbit-agenda-urgency { font-family: var(--mono); font-size: 11px; font-weight: 600; margin-bottom: 4px; }
.orbit-agenda-overdue .orbit-agenda-urgency { color: var(--red); }
.orbit-agenda-today .orbit-agenda-urgency { color: var(--orange); }
.orbit-agenda-who { font-size: 14px; font-weight: 500; color: var(--text); }
.orbit-agenda-action { font-family: var(--mono); font-size: 12px; color: var(--orange); margin-top: 4px; }
.orbit-agenda-buttons { display: flex; gap: 8px; margin-top: 8px; }

/* Buttons */
.orbit-btn { font-family: var(--mono); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.3px; padding: 6px 12px; border-radius: var(--radius-md); cursor: pointer; transition: var(--ease-default); border: 1px solid var(--border); background: var(--bg); color: var(--text); }
.orbit-btn:hover { background: var(--surface-hover); }
.orbit-btn-primary { background: var(--gold); color: white; border-color: var(--gold); }
.orbit-btn-primary:hover { opacity: 0.9; }
.orbit-btn-secondary { background: var(--surface); color: var(--gold); border-color: var(--gold); }
.orbit-btn-done { color: var(--green); border-color: var(--green); }
.orbit-btn-done:hover { background: var(--green-light); }
.orbit-btn-snooze { color: var(--blue); border-color: var(--blue); }
.orbit-btn-snooze:hover { background: var(--blue-light); }
.orbit-btn-view { color: var(--gold); border-color: var(--gold); }

/* Upload */
.orbit-upload-zone { border: 2px dashed var(--border); border-radius: var(--radius-lg); padding: 40px; text-align: center; transition: var(--ease-default); margin-bottom: 24px; }
.orbit-upload-zone.dragover { border-color: var(--gold); background: var(--gold-light); }
.orbit-upload-icon { font-size: 32px; margin-bottom: 8px; }
.orbit-upload-text { font-size: 14px; color: var(--text-muted); margin-bottom: 12px; }
.orbit-upload-preview { margin: 16px 0; }
.orbit-upload-stats { font-family: var(--mono); font-size: 13px; color: var(--text); margin: 12px 0; }

/* Form */
.orbit-form { max-width: 500px; margin-top: 24px; }
.orbit-form-title { font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--gold); margin-bottom: 16px; text-transform: uppercase; letter-spacing: 0.5px; }
.orbit-form-row { margin-bottom: 12px; }
.orbit-form-label { display: block; font-family: var(--mono); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-muted); margin-bottom: 4px; }
.orbit-textarea { min-height: 80px; resize: vertical; width: 100%; box-sizing: border-box; }
.orbit-contact-modal .modal-footer { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--border); }
.orbit-contact-modal .modal-footer .orbit-modal-advance { padding: 10px 24px; font-weight: 600; }

/* Match section */
.orbit-match-section { margin-top: 32px; }
.orbit-match-desc { font-size: 13px; color: var(--text-muted); margin-bottom: 12px; }
.orbit-match-results { margin-top: 16px; }

/* Toast/feedback */
.orbit-toast { position: fixed; bottom: 20px; right: 20px; padding: 12px 20px; border-radius: var(--radius-md); font-family: var(--mono); font-size: 12px; font-weight: 600; z-index: 1000; animation: orbitToastIn 0.3s ease; }
.orbit-toast-success { background: var(--green); color: white; }
.orbit-toast-error { background: var(--red); color: white; }
@keyframes orbitToastIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

/* Stats */
.orbit-stats { font-family: var(--mono); font-size: 12px; color: var(--text-muted); margin-bottom: 12px; display: flex; gap: 8px; flex-wrap: wrap; }

/* Empty state */
.orbit-empty { text-align: center; padding: 40px; color: var(--text-muted); }

/* ── Orbit CRM — missing classes (coverage fix) ─────────────────────────── */

/* Filters toolbar */
.orbit-filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 16px; padding: 12px; background: var(--surface); border-radius: var(--radius-md); }
.orbit-company-select { font-family: var(--mono); font-size: 12px; padding: 6px 10px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg); color: var(--text); min-width: 180px; }
.orbit-warmth-select { font-family: var(--mono); font-size: 12px; padding: 6px 10px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg); color: var(--text); }
.orbit-conf-label { font-family: var(--mono); font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; display: inline-flex; align-items: center; gap: 6px; }
.orbit-garbage-check, .orbit-pf-check { font-family: var(--mono); font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; user-select: none; }
.orbit-garbage-check input, .orbit-pf-check input { cursor: pointer; }

/* Explorer layout */
.orbit-explorer-layout { display: grid; grid-template-columns: 220px 1fr; gap: 16px; align-items: start; }
.orbit-explorer-main { min-width: 0; }
.orbit-explorer-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; gap: 12px; flex-wrap: wrap; }
.orbit-explorer-count { font-family: var(--mono); font-size: 12px; color: var(--text-muted); }
.orbit-explorer-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.orbit-explorer-table th { font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-muted); padding: 8px 6px; border-bottom: 1px solid var(--border); text-align: left; cursor: pointer; user-select: none; white-space: nowrap; }
.orbit-explorer-table th:hover { color: var(--gold); }
.orbit-explorer-table td { padding: 8px 6px; border-bottom: 1px solid var(--border); vertical-align: top; }
.orbit-explorer-table tr:hover td { background: var(--surface); }
.orbit-facet-check { display: flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 11px; color: var(--text); padding: 3px 0; cursor: pointer; user-select: none; }
.orbit-facet-check input { cursor: pointer; }
.orbit-facet-check:hover { color: var(--gold); }

/* Agenda (legacy) */
.orbit-agenda { display: flex; flex-direction: column; gap: 24px; }
.orbit-agenda-list { display: flex; flex-direction: column; gap: 8px; }
.orbit-agenda-section-empty { font-family: var(--mono); font-size: 12px; color: var(--text-muted); padding: 16px; text-align: center; background: var(--surface); border-radius: var(--radius-md); font-style: italic; }
.orbit-agenda-week-header { font-family: var(--mono); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-muted); margin: 12px 0 6px 0; padding-bottom: 4px; border-bottom: 1px solid var(--border); }
.orbit-agenda-cold-header { font-family: var(--mono); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: var(--orange); margin: 12px 0 6px 0; padding-bottom: 4px; border-bottom: 1px solid var(--orange); }

/* ── Orbit To-Do Central v2 ────────────────────────────────────────────── */
.orbit-todo { display: flex; flex-direction: column; gap: 24px; padding: 4px 0; }
.orbit-todo-summary { display: flex; align-items: center; gap: 16px; padding: 12px 16px; background: var(--surface); border-radius: var(--radius-md); border: 1px solid var(--border); }
.orbit-todo-summary-total { font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--text); }
.orbit-todo-summary-alert { font-family: var(--mono); font-size: 12px; font-weight: 600; color: var(--red); }
.orbit-todo-summary-cold { font-family: var(--mono); font-size: 12px; font-weight: 600; color: var(--blue); }
.orbit-todo-section { margin-bottom: 4px; }
.orbit-todo-section-header { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; padding-bottom: 6px; border-bottom: 1px solid var(--border); }
.orbit-todo-section-title { font-family: var(--mono); font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: var(--gold); }
.orbit-todo-section-count { font-family: var(--mono); font-size: 11px; font-weight: 600; color: var(--text-muted); background: var(--surface); padding: 1px 6px; border-radius: 10px; }
.orbit-todo-empty { font-family: var(--mono); font-size: 12px; color: var(--text-muted); padding: 12px 16px; text-align: center; background: var(--surface); border-radius: var(--radius-md); font-style: italic; }
.orbit-todo-cards { display: flex; flex-direction: column; gap: 6px; }
.orbit-todo-week-label { font-family: var(--mono); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-muted); margin: 10px 0 4px 0; }
.orbit-task-card { background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 10px 14px; transition: all var(--ease-default); }
.orbit-task-card:hover { border-color: var(--gold); box-shadow: 0 1px 4px rgba(0,0,0,0.06); }
.orbit-task-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.orbit-task-badge { font-family: var(--mono); font-size: 11px; font-weight: 600; }
.orbit-task-date { font-family: var(--mono); font-size: 11px; color: var(--text-muted); }
.orbit-task-name { font-size: 14px; font-weight: 500; color: var(--text); }
.orbit-task-meta { font-family: var(--mono); font-size: 11px; color: var(--text-muted); margin-top: 2px; }
.orbit-task-action { font-family: var(--mono); font-size: 12px; color: var(--orange); margin-top: 6px; }

/* Generic helpers */
.orbit-link { color: var(--gold); text-decoration: none; font-weight: 500; }
.orbit-link:hover { text-decoration: underline; }
.orbit-loading { font-family: var(--mono); font-size: 12px; color: var(--text-muted); padding: 24px; text-align: center; }
.orbit-show-more { display: block; margin: 16px auto; padding: 8px 20px; font-family: var(--mono); font-size: 12px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); cursor: pointer; color: var(--text); transition: all var(--ease-default); }
.orbit-show-more:hover { background: var(--gold); color: white; border-color: var(--gold); }
.orbit-preview-checkbox { display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 11px; color: var(--text); cursor: pointer; }

/* ── Orbit CRM — design system compliance classes ────────────────────── */

/* Section block spacing (replaces inline margin-bottom: 32px) */
.orbit-section-block { margin-bottom: var(--space-xl); }

/* Facet title — label style per §02 */
.orbit-facet-title { font-family: var(--mono); font-size: var(--text-label); font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-muted); margin-bottom: var(--space-sm); }

/* Agenda section title — h3 per §02: mono, 16px, 600, gold */
.orbit-agenda-section-title { font-family: var(--mono); font-size: var(--text-h3); font-weight: 600; color: var(--gold); margin-bottom: var(--space-sm); }
.col-check { width: 30px; }

/* ── Orbit Pipeline v2 — counter columns, card headers, advance, ata ── */

/* Counter-only columns (IDENTIFICADO, CONECTADO) */
.orbit-column-counter { min-width: 180px; max-width: 220px; }
.orbit-column-lupa { background: none; border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 2px 6px; cursor: pointer; font-size: 12px; line-height: 1; color: var(--text-muted); transition: all var(--ease-default); margin-left: auto; }
.orbit-column-lupa:hover { border-color: var(--gold); color: var(--gold); }
.orbit-column-search-overlay { padding: var(--space-sm) 0; }
.orbit-column-search-overlay[hidden] { display: none; }
.orbit-counter-search { width: 100%; margin-bottom: var(--space-sm); }
.orbit-counter-results { display: flex; flex-direction: column; gap: var(--space-xs); }
.orbit-counter-item { display: flex; align-items: center; justify-content: space-between; padding: var(--space-sm); background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius-md); font-size: var(--text-small); }
.orbit-counter-item-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.orbit-counter-item-name { font-family: var(--mono); font-weight: 600; font-size: var(--text-small); color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.orbit-counter-item-role { font-family: var(--sans); font-size: var(--text-label); color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.orbit-counter-item-company { font-family: var(--sans); font-size: var(--text-label); color: var(--gold); }
.orbit-promote-btn { font-family: var(--mono); font-size: var(--text-label); font-weight: 600; padding: 4px 8px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: none; color: var(--text-muted); cursor: pointer; transition: all var(--ease-default); white-space: nowrap; flex-shrink: 0; }
.orbit-promote-btn:hover { border-color: var(--gold); color: var(--gold); }

/* Card columns container */
.orbit-column-cards { min-width: 200px; flex: 1 1 0; }
.orbit-column-cards-container { display: flex; flex-direction: column; gap: var(--space-sm); min-height: 60px; }

/* Card header (name + advance) */
.orbit-card-header { display: flex; align-items: center; justify-content: space-between; gap: 4px; }
.orbit-card-advance { font-size: 12px; padding: 1px 5px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: none; color: var(--text-muted); cursor: pointer; transition: all var(--ease-default); flex-shrink: 0; line-height: 1; }
.orbit-card-advance:hover { border-color: var(--gold); color: var(--gold); background: var(--gold-light); }

/* Card notes snippet */
.orbit-card-notes { font-family: var(--sans); font-size: var(--text-label); color: var(--text-muted); font-style: italic; margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.orbit-card-nurture { font-size: var(--text-label); color: #EC4899; margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.orbit-card-cadence { font-size: 9px; color: var(--text-muted); font-family: var(--mono); }
.orbit-task-nurture { border-left: 3px solid #EC4899; }
.orbit-todo-summary-nurture { color: #EC4899; font-weight: 600; }

/* CONCLUIDO ata button + notes */
.orbit-card-ata-btn { font-family: var(--mono); font-size: 11px; padding: 1px 5px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: none; color: var(--text-muted); cursor: pointer; transition: all var(--ease-default); line-height: 1; }
.orbit-card-ata-btn:hover { border-color: var(--gold); color: var(--gold); }
.orbit-concluido-notes { width: 100%; min-height: 80px; resize: vertical; margin-top: var(--space-sm); font-family: var(--sans); font-size: var(--text-small); padding: var(--space-sm); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--bg); color: var(--text); }
.orbit-ata-save { font-family: var(--mono); font-size: var(--text-label); font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; padding: 6px 12px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: none; color: var(--text-muted); cursor: pointer; transition: all var(--ease-default); margin-top: var(--space-xs); }
.orbit-ata-save:hover { border-color: var(--gold); color: var(--text); }

/* Card actions row (advance + schedule buttons) */
.orbit-card-actions { display: flex; align-items: center; gap: 2px; flex-shrink: 0; }
.orbit-card-schedule { font-size: 12px; padding: 1px 5px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: none; color: var(--text-muted); cursor: pointer; transition: all var(--ease-default); flex-shrink: 0; line-height: 1; }
.orbit-card-schedule:hover { border-color: var(--gold); color: var(--gold); background: var(--gold-light); }

/* Schedule form (inline on card) */
.orbit-schedule-form { margin-top: var(--space-sm); padding: var(--space-sm); border-top: 1px solid var(--border); display: flex; flex-direction: column; gap: var(--space-xs); }
.orbit-schedule-form .orbit-form-row { display: flex; flex-direction: column; gap: 2px; }
.orbit-schedule-form .orbit-form-label { font-family: var(--mono); font-size: var(--text-label); font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; }
.orbit-schedule-form .input-v24 { width: 100%; font-family: var(--sans); font-size: var(--text-small); padding: 6px 8px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg); color: var(--text); }
.orbit-schedule-form .orbit-schedule-generate { margin-top: var(--space-xs); align-self: flex-start; }
.orbit-schedule-actions { display: flex; gap: var(--space-sm); margin-top: var(--space-xs); }
.orbit-schedule-status { font-family: var(--mono); font-size: var(--text-label); color: var(--text-muted); margin-top: var(--space-xs); min-height: 16px; }
.orbit-schedule-status a { color: var(--gold); }

/* View toggle (kanban/lista) */
.orbit-subnav-tabs { display: flex; gap: 0; }
.orbit-view-toggle { display: flex; gap: 0; border: 1px solid var(--border); border-radius: var(--radius-sm); overflow: hidden; }
.orbit-view-toggle[hidden] { display: none; }
.orbit-toggle-btn { background: none; border: none; padding: 3px 7px; font-size: 12px; cursor: pointer; color: var(--text-muted); transition: all var(--ease-default); line-height: 1; }
.orbit-toggle-btn:hover { color: var(--text); background: var(--surface); }
.orbit-toggle-btn.active { background: var(--surface); color: var(--gold); }
.orbit-subnav { gap: var(--space-sm); }
.orbit-subnav-right { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.orbit-subnav-counters { display: flex; gap: 6px; align-items: center; }
.orbit-subnav-counters[hidden] { display: none; }
.orbit-subnav-counter { display: inline-flex; align-items: center; gap: 4px; font-family: var(--mono); font-size: 10px; color: var(--text-muted); padding: 3px 8px; border: 1px solid var(--border); border-radius: var(--radius-sm); border-left: 3px solid; background: var(--surface); }
.orbit-subnav-counter strong { color: var(--text); font-size: 11px; }
.orbit-new-contact-btn { font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-muted); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 3px 10px; background: none; }
.orbit-new-contact-btn:hover { color: var(--gold); border-color: var(--gold); background: var(--surface); }

/* Contacts Import (admin/agents.html > Contatos) */
.ci-wrapper { display: flex; flex-direction: column; gap: 16px; }
.ci-section-block { border: 1px solid var(--border); border-radius: var(--radius-md); padding: 16px; background: var(--bg); }
.ci-title { font-family: var(--mono); font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: var(--gold); margin: 0 0 10px; }
.ci-drop { border: 2px dashed var(--border); border-radius: var(--radius-sm); padding: 20px; text-align: center; transition: border-color 0.2s; font-size: 13px; color: var(--text-muted); }
.ci-drop.dragover { border-color: var(--gold); background: rgba(217, 119, 6, 0.04); }
.ci-stats { font-family: var(--mono); font-size: 12px; color: var(--text); margin-top: 10px; }

/* List view */
.orbit-list-counters { display: flex; gap: var(--space-md); margin-bottom: var(--space-md); padding: var(--space-sm) 0; }
.orbit-list-counter-badge { display: inline-flex; align-items: center; gap: var(--space-xs); font-family: var(--mono); font-size: var(--text-small); color: var(--text-muted); }
.orbit-list-counter-badge strong { color: var(--text); font-size: var(--text-h3); }
.orbit-list-table { width: 100%; }
.orbit-list-stage-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 6px; vertical-align: middle; }

/* Drag state */
.orbit-column-cards.drag-over { background: var(--gold-light); outline: 2px dashed var(--gold); outline-offset: -2px; }
.orbit-card.dragging { opacity: 0.4; }
.orbit-card[draggable="true"] { cursor: grab; }
.orbit-card[draggable="true"]:active { cursor: grabbing; opacity: 0.7; }

/* New Contact Search Modal */
.orbit-new-modal { max-width: 560px; }
.orbit-search-fields { display: flex; gap: 8px; margin-bottom: 8px; }
.orbit-search-fields input { flex: 1; }
.orbit-search-results { max-height: 320px; overflow-y: auto; }
.orbit-search-group-label { font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-muted); padding: 8px 0 4px; border-bottom: 1px solid var(--border); margin-bottom: 4px; }
.orbit-search-row { display: flex; align-items: center; justify-content: space-between; padding: 6px 8px; border-radius: var(--radius-sm); cursor: pointer; transition: background 0.15s; }
.orbit-search-row:hover { background: var(--surface); }
.orbit-search-row-main { display: flex; flex-direction: column; gap: 1px; min-width: 0; flex: 1; }
.orbit-search-row-name { font-size: 13px; font-weight: 600; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.orbit-search-row-detail { font-size: 11px; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.orbit-search-row-stage { font-family: var(--mono); font-size: 10px; color: var(--text-muted); text-transform: uppercase; flex-shrink: 0; margin-left: 8px; }
.orbit-search-row-action { font-family: var(--mono); font-size: 11px; color: var(--gold); flex-shrink: 0; }
.orbit-search-create { border-top: 1px solid var(--border); margin-top: 8px; padding-top: 8px; }
.orbit-search-loading { font-family: var(--mono); font-size: 11px; color: var(--text-muted); padding: 12px 0; text-align: center; }
.orbit-search-empty { font-size: 12px; color: var(--text-muted); padding: 12px 0; text-align: center; }
.orbit-new-form[hidden] { display: none; }
.orbit-new-form { border-top: 1px solid var(--border); margin-top: 12px; padding-top: 12px; }

/* Contact Modal */
.orbit-contact-modal { max-width: 820px; width: 90vw; max-height: 90vh; display: flex; flex-direction: column; }
.orbit-contact-modal .modal-body { overflow-y: auto; flex: 1; }
.orbit-modal-header-sticky { position: sticky; top: 0; z-index: 10; background: var(--bg); border-bottom: 1px solid var(--border); }
.modal-title-group { display: flex; align-items: center; gap: var(--space-sm); }
.orbit-modal-stage { font-family: var(--mono); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: var(--bg); padding: 2px 8px; border-radius: var(--radius-sm); }
.orbit-modal-section { margin-bottom: var(--space-lg); }
.orbit-modal-section-title { font-family: var(--mono); font-size: var(--text-label); font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-muted); margin-bottom: var(--space-sm); border-bottom: 1px solid var(--border); padding-bottom: var(--space-xs); }
.orbit-modal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-sm) var(--space-md); }
.orbit-modal-field { display: flex; flex-direction: column; gap: 2px; }
.orbit-modal-label { font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-muted); }
.orbit-modal-value { font-size: var(--text-small); color: var(--text); word-break: break-word; }
.orbit-modal-value-editable { font-size: var(--text-small); color: var(--text); word-break: break-word; background: none; border: 1px solid transparent; border-radius: var(--radius-sm); padding: 2px 4px; margin: -2px -4px; transition: border-color 0.15s; }
.orbit-modal-value-editable:hover { border-color: var(--border); }
.orbit-modal-value-editable:focus { border-color: var(--gold); outline: none; background: var(--surface); }
.orbit-modal-action-row { display: flex; gap: var(--space-sm); }
.orbit-modal-action-input { flex: 1; }
.orbit-modal-action-date { width: 160px; flex-shrink: 0; }
.orbit-modal-advance-row { margin-top: var(--space-sm); }
.orbit-modal-advance { color: var(--gold); border-color: var(--gold); }
.orbit-modal-advance:hover { background: var(--gold-light); }
.orbit-modal-notes { width: 100%; resize: vertical; font-family: var(--mono); font-size: var(--text-small); }
.orbit-modal-calendar { margin-bottom: var(--space-sm); }
.orbit-modal-events { display: flex; flex-direction: column; gap: var(--space-xs); }
.orbit-modal-event { display: flex; align-items: center; gap: var(--space-sm); padding: var(--space-xs) var(--space-sm); background: var(--surface); border-radius: var(--radius-sm); font-size: var(--text-small); }
.orbit-modal-event-date { font-family: var(--mono); font-size: 11px; color: var(--text-muted); white-space: nowrap; }
.orbit-modal-event-title { flex: 1; color: var(--text); }
.orbit-modal-header-actions { display: flex; align-items: center; gap: var(--space-sm); }
.orbit-modal-status { font-family: var(--mono); font-size: 11px; transition: opacity 0.3s; }
.orbit-modal-status-ok { color: var(--green, #10B981); }
.orbit-modal-status-error { color: var(--red, #EF4444); }
.orbit-modal-notes-existing { margin-bottom: var(--space-sm); max-height: 200px; overflow-y: auto; }
.orbit-modal-note-line { font-size: var(--text-small); color: var(--text); padding: 2px 0; border-bottom: 1px solid var(--border); font-family: var(--mono); line-height: 1.5; }
.orbit-modal-notes-input { width: 100%; resize: vertical; font-family: var(--mono); font-size: var(--text-small); }
.orbit-modal-current-action { display: flex; align-items: center; gap: var(--space-sm); padding: var(--space-sm); background: var(--surface); border-radius: var(--radius-sm); border-left: 3px solid var(--gold, #D97706); margin-bottom: var(--space-sm); }
.orbit-modal-current-action-text { flex: 1; font-size: var(--text-small); font-weight: 500; }
.orbit-modal-current-action-date { font-family: var(--mono); font-size: 11px; color: var(--text-muted); }
.orbit-modal-complete-action { font-size: 12px; color: var(--green, #10B981); border-color: var(--green, #10B981); flex-shrink: 0; }
.orbit-modal-complete-action:hover { background: rgba(16, 185, 129, 0.1); }
.orbit-modal-cal-login { display: flex; align-items: center; gap: var(--space-sm); }
.orbit-modal-cal-actions { margin-top: var(--space-sm); }
.orbit-modal-cal-create-row { display: flex; gap: var(--space-sm); align-items: center; flex-wrap: wrap; }
.orbit-modal-cal-title { flex: 1; min-width: 200px; }
.orbit-modal-cal-datetime { width: 200px; }
.orbit-modal-cal-create-btn { white-space: nowrap; flex-shrink: 0; }
.orbit-modal-cal-result { margin-top: var(--space-xs); font-size: var(--text-small); }
.orbit-modal-event-related { border-left: 3px solid var(--gold, #D97706); background: rgba(217, 119, 6, 0.05); }
.orbit-modal-ai-btn { font-size: 12px; margin-top: var(--space-xs); }
.orbit-modal-ai-result { margin-top: var(--space-sm); }

/* Origins — multi-tag "de onde veio a pessoa" */
.orbit-origins { display: flex; flex-direction: column; gap: 6px; }
.orbit-origins-chips { display: flex; flex-wrap: wrap; gap: 4px; min-height: 22px; }
.orbit-origin-chip { display: inline-flex; align-items: center; gap: 4px; font-family: var(--mono); font-size: 11px; background: var(--surface); border: 1px solid var(--border); color: var(--text); padding: 2px 6px 2px 8px; border-radius: 10px; }
.orbit-origin-chip-x { background: none; border: none; color: var(--text-muted); cursor: pointer; padding: 0; font-size: 13px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; width: 14px; height: 14px; border-radius: 50%; }
.orbit-origin-chip-x:hover { background: var(--border); color: var(--text); }
.orbit-origins-input-wrap { position: relative; }
.orbit-origins-input { width: 100%; font-size: var(--text-small); }
.orbit-origins-dropdown { position: absolute; top: calc(100% + 2px); left: 0; right: 0; max-height: 200px; overflow-y: auto; background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius-sm); box-shadow: var(--shadow-md, 0 4px 12px rgba(0,0,0,0.08)); z-index: 200; }
.orbit-origin-dd-opt { display: flex; align-items: center; padding: 6px 10px; font-size: 12px; cursor: pointer; border-bottom: 1px solid var(--border); }
.orbit-origin-dd-opt:last-child { border-bottom: none; }
.orbit-origin-dd-opt:hover { background: var(--surface-hover, var(--surface)); }
.orbit-origin-dd-create { color: var(--gold); font-weight: 500; }
.orbit-modal-ai-suggestion { padding: var(--space-sm); background: rgba(139, 92, 246, 0.05); border: 1px solid rgba(139, 92, 246, 0.2); border-radius: var(--radius-sm); }
.orbit-modal-ai-header { font-family: var(--mono); font-size: 11px; font-weight: 600; text-transform: uppercase; color: #8B5CF6; margin-bottom: var(--space-xs); }
.orbit-modal-ai-summary { font-size: var(--text-small); color: var(--text-muted); margin-bottom: var(--space-xs); }
.orbit-modal-ai-action { font-size: var(--text-small); margin-bottom: var(--space-xs); }
.orbit-modal-ai-accept { font-size: 11px; color: var(--green, #10B981); border-color: var(--green, #10B981); margin-left: var(--space-xs); }
.orbit-modal-ai-urgency { font-size: var(--text-small); color: var(--text-muted); }
.orbit-modal-ai-tags { display: flex; gap: 4px; flex-wrap: wrap; margin-top: var(--space-xs); }
.orbit-modal-ai-tag { font-family: var(--mono); font-size: 10px; padding: 1px 6px; background: rgba(139, 92, 246, 0.1); border-radius: var(--radius-sm); color: #8B5CF6; }
.orbit-modal-ai-todos-created { font-family: var(--mono); font-size: 12px; font-weight: 600; color: var(--green); margin: var(--space-xs) 0; }
.orbit-modal-ai-outcome { font-size: var(--text-small); margin-top: var(--space-xs); padding: 6px 8px; background: var(--surface); border-radius: var(--radius-sm); }

/* To-Dos in modal */
.orbit-modal-todos { display: flex; flex-direction: column; gap: 4px; margin-bottom: 8px; max-height: 300px; overflow-y: auto; }
.orbit-modal-todo-item { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: var(--radius-sm); font-size: 13px; min-height: 36px; }
.orbit-modal-todo-pending { background: var(--bg); border: 1px solid var(--border); border-left: 3px solid var(--orange); }
.orbit-modal-todo-pending:hover { border-color: var(--gold); background: var(--surface); }
.orbit-modal-todo-completed { opacity: 0.5; }
.orbit-modal-todo-check { background: none; border: 1px solid var(--border); border-radius: 50%; width: 20px; height: 20px; cursor: pointer; font-size: 12px; display: flex; align-items: center; justify-content: center; color: var(--text-muted); flex-shrink: 0; transition: all var(--ease-default); }
.orbit-modal-todo-check:hover { border-color: var(--green); color: var(--green); }
.orbit-modal-todo-check-done { color: var(--green); font-size: 12px; width: 20px; text-align: center; flex-shrink: 0; }
.orbit-modal-todo-prio { font-size: 11px; flex-shrink: 0; }
.orbit-modal-todo-title { flex: 1; min-width: 0; }
.orbit-modal-todo-title-done { text-decoration: line-through; color: var(--text-muted); }
.orbit-modal-todo-due { font-family: var(--mono); font-size: 11px; color: var(--text-muted); flex-shrink: 0; }
.orbit-modal-todo-source { font-family: var(--mono); font-size: 10px; color: var(--text-muted); opacity: 0.6; flex-shrink: 0; }
.orbit-modal-todo-done-header { font-family: var(--mono); font-size: 11px; color: var(--text-muted); margin: 8px 0 4px; text-transform: uppercase; letter-spacing: 0.5px; }
.orbit-modal-todo-add-row { display: flex; gap: 8px; align-items: center; }
.orbit-modal-todo-input { flex: 1; }
.orbit-modal-todo-date { width: 140px; flex-shrink: 0; }

/* Outcome section */
.orbit-modal-outcome-section { padding: 12px; background: var(--surface); border-radius: var(--radius-md); border: 1px solid var(--border); }
.orbit-modal-outcome-options { display: flex; gap: 8px; flex-wrap: wrap; }
.orbit-modal-outcome-option { display: flex; align-items: center; gap: 4px; cursor: pointer; }
.orbit-modal-outcome-option input { cursor: pointer; }
.orbit-modal-outcome-label { font-family: var(--mono); font-size: 12px; font-weight: 600; padding: 4px 10px; border: 2px solid var(--border); border-radius: var(--radius-sm); transition: all var(--ease-default); }
.orbit-modal-outcome-option input:checked + .orbit-modal-outcome-label { background: var(--surface-active); }

/* Schedule meeting section */
.orbit-modal-schedule-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.orbit-modal-schedule-title { flex: 1; min-width: 200px; }
.orbit-modal-schedule-datetime { width: 200px; flex-shrink: 0; }
.orbit-modal-schedule-btn { white-space: nowrap; flex-shrink: 0; color: var(--gold); border-color: var(--gold); font-weight: 600; }
.orbit-modal-schedule-btn:hover { background: var(--gold-light); }
.orbit-modal-sched-result { margin-top: 8px; font-size: 12px; }
.orbit-modal-cal-filter-label { font-family: var(--mono); font-size: 11px; color: var(--text-muted); margin-bottom: var(--space-xs); }
.orbit-modal-event-attendees { font-size: 11px; color: var(--text-muted); width: 100%; margin-top: 2px; }

/* Calendar Scan tab */
.orbit-cal-scan-results { padding: var(--space-sm) 0; }
.orbit-cal-scan-summary { display: flex; justify-content: space-between; align-items: center; padding: var(--space-sm); background: var(--surface); border-radius: var(--radius-sm); margin-bottom: var(--space-md); font-family: var(--mono); font-size: var(--text-small); }
.orbit-cal-scan-section { margin-bottom: var(--space-lg); }
.orbit-cal-scan-section-title { font-family: var(--mono); font-size: var(--text-label); font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-muted); margin-bottom: var(--space-sm); border-bottom: 1px solid var(--border); padding-bottom: var(--space-xs); }
.orbit-cal-scan-new-person { padding: var(--space-sm); background: var(--surface); border-radius: var(--radius-sm); border-left: 3px solid #8B5CF6; margin-bottom: var(--space-sm); }
.orbit-cal-scan-new-info { display: flex; align-items: center; gap: var(--space-sm); flex-wrap: wrap; margin-bottom: var(--space-xs); }
.orbit-cal-scan-event-count { font-family: var(--mono); font-size: 11px; background: rgba(139, 92, 246, 0.1); padding: 1px 6px; border-radius: var(--radius-sm); color: #8B5CF6; }
.orbit-cal-scan-new-events { font-size: var(--text-small); color: var(--text-muted); margin-bottom: var(--space-xs); line-height: 1.5; }
.orbit-cal-scan-add { font-size: 12px; color: #8B5CF6; border-color: #8B5CF6; }
.orbit-cal-scan-matched { padding: var(--space-sm); background: var(--surface); border-radius: var(--radius-sm); border-left: 3px solid var(--gold, #D97706); margin-bottom: var(--space-sm); }
.orbit-cal-scan-matched:hover { background: rgba(217, 119, 6, 0.05); }
.orbit-cal-scan-matched-info { display: flex; align-items: center; gap: var(--space-sm); flex-wrap: wrap; margin-bottom: var(--space-xs); }
.orbit-cal-scan-stage { font-family: var(--mono); font-size: 10px; font-weight: 600; text-transform: uppercase; background: var(--border); padding: 1px 6px; border-radius: var(--radius-sm); }
.orbit-cal-scan-matched-events { font-size: var(--text-small); color: var(--text-muted); line-height: 1.5; }
.orbit-cal-scan-error { padding: var(--space-md); text-align: center; color: var(--text-muted); }
.orbit-modal-history-list { display: flex; flex-direction: column; gap: var(--space-sm); }
.orbit-modal-history-item { padding: var(--space-sm); background: var(--surface); border-radius: var(--radius-sm); border-left: 3px solid var(--border); }
.orbit-modal-history-date { font-family: var(--mono); font-size: 11px; color: var(--text-muted); margin-bottom: 2px; }
.orbit-modal-history-channel { background: var(--border); padding: 1px 6px; border-radius: var(--radius-sm); font-size: 10px; text-transform: uppercase; margin-left: var(--space-xs); }
.orbit-modal-history-subject { font-size: var(--text-small); color: var(--text); font-weight: 500; }
.orbit-modal-history-notes { font-size: var(--text-small); color: var(--text-muted); margin-top: 2px; }
.orbit-modal-history-outcome { font-family: var(--mono); font-size: 10px; color: var(--text-muted); margin-top: 2px; }

/* Collapse/expand columns */
.orbit-collapse-btn { background: none; border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 1px 5px; cursor: pointer; font-size: 12px; line-height: 1; color: var(--text-muted); transition: all var(--ease-default); flex-shrink: 0; }
.orbit-collapse-btn:hover { border-color: var(--gold); color: var(--gold); }
/* Collapsed columns in card area — vertical thin strip */
.orbit-column-collapsed { min-width: 36px; max-width: 36px; flex: 0 0 36px; background: var(--surface); border-radius: var(--radius-lg); padding: 8px 4px; display: flex; flex-direction: column; align-items: center; gap: 8px; cursor: pointer; transition: all 0.2s ease; }
.orbit-column-collapsed:hover { background: var(--gold-light); border-color: var(--gold); }
.orbit-collapsed-label { writing-mode: vertical-lr; text-orientation: mixed; font-family: var(--mono); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-muted); }
.orbit-column-collapsed .orbit-column-count { font-family: var(--mono); font-size: 10px; color: var(--text-muted); }
.orbit-column-collapsed .orbit-column-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.orbit-column-collapsed .orbit-collapse-btn { margin-bottom: 4px; }
/* Counter stages are now rendered as toolbar badges — no separate columns */

/* ========================================
   LOGIN OVERLAY
   ======================================== */
/* ========================================
   SCOUT LOADING (boot splash) — Kai-UX 2026-05-10
   Mockup aprovado: design-explorations/07-loading-screen.html
   ======================================== */
.scout-loading {
  position: fixed; inset: 0; z-index: 10000;
  display: flex; align-items: center; justify-content: center;
  background: var(--bg);
  font-family: var(--sans);
  transition: opacity 0.3s ease;
}
.scout-loading.is-hiding { opacity: 0; pointer-events: none; }
.scout-loading__stage { text-align: center; padding: 24px; max-width: 560px; }
.scout-loading__glyph { width: 80px; height: 80px; margin: 0 auto 22px; }
.scout-loading__glyph svg { width: 100%; height: 100%; }
.scout-loading__scan { transform-origin: center; animation: scLoadScan 2s linear infinite; }
@keyframes scLoadScan { 0% { transform: rotate(0deg) } 100% { transform: rotate(360deg) } }
.scout-loading__pulse circle { animation: scLoadPulse 1.4s ease-in-out infinite; }
@keyframes scLoadPulse { 0%,100% { opacity: 1; r: 4 } 50% { opacity: 0.3; r: 8 } }
.scout-loading__wordmark { margin-bottom: 12px; }
.scout-loading__wordmark .scout-wordmark { font-size: 34px; line-height: 1; }
.scout-loading__kicker {
  font-family: var(--mono); font-size: 10px; font-weight: 700;
  color: var(--gold); text-transform: uppercase; letter-spacing: 0.14em;
  margin-bottom: 20px;
}
.scout-loading__divider { width: 32px; height: 1px; background: var(--gold); margin: 0 auto 20px; opacity: 0.6; }
.scout-loading__line {
  font-family: var(--sans); font-size: 14px; color: var(--text);
  font-style: italic; min-height: 22px; margin-bottom: 22px;
  max-width: 520px; margin-left: auto; margin-right: auto; line-height: 1.5;
}
.scout-loading__line::before { content: "› "; color: var(--gold); font-style: normal; font-family: var(--mono); }
.scout-loading__dots { display: inline-block; min-width: 18px; text-align: left; font-style: normal; }
.scout-loading__progress {
  width: 220px; height: 2px; background: var(--surface);
  margin: 0 auto; border-radius: 1px; overflow: hidden;
}
.scout-loading__progress-fill {
  height: 100%; background: var(--gold);
  animation: scLoadProgress 6s ease-in-out infinite;
}
@keyframes scLoadProgress {
  0% { width: 0%; } 30% { width: 35%; } 60% { width: 72%; }
  85% { width: 89%; } 99% { width: 99%; } 100% { width: 99%; }
}

/* ========================================
   SCOUT LOGIN (split screen) — Kai-UX 2026-05-10
   Mockup aprovado: design-explorations/08-login-screen.html
   ======================================== */
.scout-login {
  position: fixed; inset: 0; z-index: 9999;
  display: flex;
  background: var(--bg);
  font-family: var(--sans);
}
.scout-login.d-none { display: none; }

/* === LADO ESQUERDO · dark · hero === */
.scout-login__left {
  flex: 1 1 55%; background: var(--text); color: white;
  padding: 56px; position: relative;
  display: grid; grid-template-rows: auto 1fr auto; gap: 24px;
}
.scout-login__left .scout-wordmark { color: white; }
.scout-login__wordmark { font-size: 56px; line-height: 1; }
.scout-login__center { align-self: center; }
.scout-login__kicker {
  font-family: var(--mono); font-size: 11px; font-weight: 700;
  color: var(--gold); text-transform: uppercase; letter-spacing: 0.14em;
  margin-bottom: 14px;
}
.scout-login__hero {
  font-family: var(--sans); font-weight: 800; font-size: 48px;
  letter-spacing: -0.03em; line-height: 1.05; color: white;
  margin-bottom: 18px; max-width: 460px;
}
.scout-login__hero em { color: var(--gold); font-style: normal; }
.scout-login__lead {
  font-family: var(--sans); font-size: 15px; color: rgba(255,255,255,0.7);
  line-height: 1.55; max-width: 460px;
}

/* Glifo retículo no canto superior direito do hero */
.scout-login__glyph {
  position: absolute; top: 56px; right: 56px; width: 64px; height: 64px; opacity: 0.5;
}
.scout-login__glyph svg { width: 100%; height: 100%; }
.scout-login__scan { animation: scLoginGlyph 4s linear infinite; transform-origin: center; }
@keyframes scLoginGlyph { 0% { transform: rotate(0deg) } 100% { transform: rotate(360deg) } }

/* Footer esquerdo — TOS + powered by */
.scout-login__footer { display: flex; flex-direction: column; gap: 8px; }
.scout-login__tos {
  font-family: var(--sans); font-size: 11px; color: rgba(255,255,255,0.5);
  line-height: 1.55; max-width: 540px;
}
.scout-login__tos a { color: rgba(255,255,255,0.85); text-decoration: underline; text-decoration-color: var(--gold); }
.scout-login__tos strong { color: rgba(255,255,255,0.85); font-weight: 600; }
.scout-login__powered {
  font-family: var(--mono); font-size: 10px; color: rgba(255,255,255,0.4);
  text-transform: uppercase; letter-spacing: 0.1em; margin-top: 6px;
}
.scout-login__powered strong { color: rgba(255,255,255,0.7); font-weight: 600; }

/* === LADO DIREITO · branco · SSO === */
.scout-login__right {
  flex: 1 1 45%; padding: 56px 64px;
  display: grid; grid-template-rows: auto 1fr auto;
  background: var(--bg);
}
.scout-login__right-top {} /* spacer */
.scout-login__right-inner { align-self: center; width: 100%; max-width: 340px; margin: 0 auto; }
.scout-login__sso-btn {
  display: flex; align-items: center; justify-content: center; gap: 12px;
  width: 100%; padding: 14px 18px; margin-bottom: 10px;
  background: white; border: 1px solid var(--border); border-radius: 6px;
  font-family: var(--sans); font-size: 14px; font-weight: 600; color: var(--text);
  cursor: pointer; transition: all 0.15s;
}
.scout-login__sso-btn:hover { border-color: var(--text); background: var(--surface); }
.scout-login__sso-btn:focus { outline: 2px solid var(--gold); outline-offset: 2px; }
.scout-login__sso-btn:disabled { opacity: 0.5; cursor: wait; }
.scout-login__sso-btn svg { width: 20px; height: 20px; flex-shrink: 0; }
.scout-login__error {
  margin-top: 12px; padding: 10px 14px; border-radius: 6px;
  background: rgba(239,68,68,0.08); border: 1px solid rgba(239,68,68,0.2);
  color: var(--red); font-size: 12px; line-height: 1.5;
}
.scout-login__right-footer {
  font-family: var(--sans); font-size: 12px; color: var(--text-muted);
  line-height: 1.55; text-align: center;
}
.scout-login__right-footer a {
  color: var(--gold); text-decoration: none; font-weight: 600; margin-left: 4px;
  transition: opacity 0.15s;
}
.scout-login__right-footer a:hover { opacity: 0.8; text-decoration: underline; }

/* Responsive — abaixo de 800px empilha vertical */
@media (max-width: 800px) {
  .scout-login { flex-direction: column; overflow-y: auto; }
  .scout-login__left, .scout-login__right { flex: none; padding: 32px 24px; }
  .scout-login__wordmark { font-size: 42px; }
  .scout-login__hero { font-size: 32px; }
  .scout-login__glyph { width: 48px; height: 48px; top: 32px; right: 24px; }
  .scout-login__right { grid-template-rows: auto auto auto; }
  .scout-login__right-top { display: none; }
}
.header-logout {
  background: none; border: none; color: var(--text-muted);
  font-size: 16px; cursor: pointer; padding: 4px 8px;
  border-radius: 4px; transition: color 0.15s;
}
.header-logout:hover { color: var(--red); }

/* ═══ User badge no header — minimalista, com dropdown (M3) ═══ */
.header-user-badge {
  position: relative;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 8px; border-radius: 4px;
  background: transparent; border: none;
  font-size: 11px; max-width: 220px; cursor: pointer;
}
.header-user-badge:hover { background: var(--surface); }
.header-user-provider {
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--text-muted); flex-shrink: 0;
}
.header-user-provider svg { display: block; }
.header-user-role {
  font-family: var(--mono); font-size: 10px; font-weight: 700;
  color: white; letter-spacing: 0;
  background: var(--red); padding: 2px 5px; border-radius: 3px;
  flex-shrink: 0; line-height: 1;
}
.header-user-email {
  font-family: var(--mono); color: var(--text-muted); font-size: 11px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* Dropdown menu do user (M3)
   BUG-04 fix v3 (Anna 2026-05-09): position:fixed em vez de absolute pra
   sair do stacking context do .header (z-index:100, sticky) — senão o menu
   fica atrás do .intel-overlay (z-index:9998) na rota INTEL mesmo com
   z-index:9999 maior. Top:56px = logo abaixo do header (48px em mobile). */
.header-user-menu {
  position: fixed; top: 62px; right: 16px;
  background: var(--bg); border: 1px solid var(--border); border-radius: 6px;
  box-shadow: 0 4px 16px rgba(0,0,0,.08);
  min-width: 220px; z-index: 10001;
  display: flex; flex-direction: column; padding: 6px 0;
}
@media (max-width: 599px) {
  .header-user-menu { top: 54px; right: 12px; }
}
.header-user-menu[hidden] { display: none; }
.header-user-menu-info {
  padding: 8px 14px 10px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 4px;
}
.header-user-menu-name { font-size: 13px; font-weight: 600; color: var(--text); }
.header-user-menu-email {
  font-family: var(--mono); font-size: 11px; color: var(--text-muted);
  margin-top: 2px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.header-user-menu-item {
  display: block; padding: 8px 14px;
  font-size: 12px; color: var(--text); text-decoration: none;
  background: none; border: none; cursor: pointer; text-align: left;
  font-family: var(--sans); width: 100%;
}
.header-user-menu-item:hover { background: var(--surface); color: var(--gold); }
.header-user-menu-logout {
  border-top: 1px solid var(--border); margin-top: 4px; color: var(--red);
}
.header-user-menu-logout:hover { background: rgba(239,68,68,.06); color: var(--red); }

@media (max-width: 720px) {
  .header-user-badge { max-width: 140px; }
  .header-user-email { font-size: 10px; }
}

/* Busca: lupa colapsada por default, expande ao clicar no botão (desktop) */
@media (min-width: 1024px) /* XCUT-11: 769→1024 canônico */ {
  .header-inner #searchInput {
    width: 0; min-width: 0; padding: 0;
    border: 0; background: transparent;
    overflow: hidden; opacity: 0;
    transition: width .2s ease, opacity .15s ease, padding .2s ease;
  }
  .header-inner.header-search-open #searchInput {
    width: 240px; min-width: 240px; padding: 8px 12px;
    border: 1px solid var(--border); background: var(--bg);
    opacity: 1;
  }
  .header-inner #headerSearchBtn {
    display: inline-flex; align-items: center; justify-content: center;
    background: transparent; border: none;
    color: var(--text-muted); cursor: pointer;
    padding: 8px; min-width: 36px; min-height: 36px;
    transition: color var(--ease-fast);
  }
  .header-inner #headerSearchBtn:hover { color: var(--gold); }
  .header-inner.header-search-open #headerSearchBtn { color: var(--gold); }
}

/* Body scroll lock quando overlay INTEL aberto */
body.intel-overlay-open {
  overflow: hidden;
}

/* Agentes via iframe (rota #agents — header parent visível) */
.agents-view {
  width: 100%;
  height: calc(100vh - 56px);
  padding: 0;
}
.agents-iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
@media (max-width: 599px) {
  .agents-view { height: calc(100vh - 48px); }
}

/* Versão na tela de login (M3) */
.login-version {
  font-family: var(--mono); font-size: 10px; color: var(--text-muted);
  text-align: center; margin-top: 4px; opacity: .65;
}

/* ═══════════════════════════════════════════════════════════════════════
 * INTEL Onboarding overlay (M2 Story 5)
 * Versão B: card 920px, sidebar com fluxo numerado + form em 2 colunas
 * ═══════════════════════════════════════════════════════════════════════ */
.intel-overlay {
  position: fixed; left: 0; right: 0; bottom: 0;
  top: 56px;            /* default: respeita o header do Scout */
  z-index: 9998;
  background: var(--bg);
  /* BUG-03 fix (Anna 2026-05-09): overlay cobria a border-bottom do .header
     (linha cinza visível em /board, sumida em /intel). border-top emula. */
  border-top: 1px solid var(--border);
  overflow-y: auto;
  padding: 24px 28px;
  font-family: var(--sans);
  display: flex; align-items: flex-start; justify-content: center;
}
/* Quando INTEL está aberto, Scout core fica oculto pra parecer página própria
   (não overlay sobreposto). M3+ behavior. */
body.intel-overlay-open > .container { display: none; }
/* Fullscreen — pra cadastro / aprovação / restricted (sem header) */
.intel-overlay.intel-overlay-fullscreen { top: 0; }
/* Header já tem "INTEL" tab + breadcrumb específico do conteúdo. .intel-brand é redundante. */
/* Eyebrows duplicam contexto que já vem do nav-tab "INTEL" + título da página */
.intel-overlay .intel-brand,
.intel-overlay .intel-crumb { display: none; }
@media (max-width: 599px) {
  .intel-overlay { top: 48px; padding: 16px 14px; }
}
.intel-card {
  background: var(--bg); border: 1px solid var(--border); border-radius: 12px;
  padding: 32px; width: 100%; max-width: 720px;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
/* M3+ — wide cobre página inteira (subset list/form/notifications/board) */
.intel-card-wide {
  max-width: none;
  width: 100%;
  padding: 24px 28px;
}
/* M4.3 — board do subset (alias de wide pra clareza histórica) */
.intel-card-board {
  max-width: none;
  width: 100%;
  padding: 24px 28px;
}
@media (max-width: 599px) {
  .intel-card { padding: 24px 18px; }
  .intel-card-wide,
  .intel-card-board { padding: 18px 14px; }
}
.intel-brand {
  font-family: var(--mono); color: var(--gold); font-weight: 600;
  letter-spacing: 4px; font-size: 18px; margin-bottom: 4px;
}
.intel-h1 { font-size: 24px; font-weight: 600; margin: 0 0 6px; letter-spacing: -.3px; color: var(--text); }
.intel-subtitle { color: var(--text-muted); font-size: 13px; margin: 0 0 28px; }

.intel-grid {
  display: grid; gap: 24px; grid-template-columns: 200px 1fr; align-items: flex-start;
}
.intel-side {
  padding: 16px; background: var(--gold-light); border-radius: 8px;
  border: 1px solid rgba(10,158,94,.15);
}
.intel-side h3 {
  font-family: var(--mono); color: var(--gold); font-size: 13px;
  font-weight: 600; margin: 0 0 8px; letter-spacing: .5px;
}
.intel-side p { margin: 0 0 8px; font-size: 12px; color: var(--text); line-height: 1.5; }
.intel-side .step-active { color: var(--gold); font-weight: 600; }
.intel-step-note {
  font-family: var(--mono); font-size: 11px; color: var(--text-muted);
  margin-top: 12px; line-height: 1.5;
}

.intel-tag-ok {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--gold-light); color: var(--gold);
  padding: 6px 12px; border-radius: 6px; font-family: var(--mono);
  font-size: 11px; font-weight: 600; margin-bottom: 24px;
}
.intel-tag-ok::before { content: "●"; font-size: 10px; }

.intel-field { margin-bottom: 18px; }
.intel-row { display: grid; gap: 16px; margin-bottom: 18px; }
.intel-row-2 { grid-template-columns: 1fr 1fr; }

.intel-overlay label {
  display: block; font-size: 12px; font-weight: 500; color: var(--text-muted);
  margin-bottom: 6px; text-transform: uppercase; letter-spacing: .5px;
}
.intel-overlay label .req { color: var(--red); margin-left: 2px; }
.intel-overlay label .opt {
  color: var(--text-muted); font-weight: 400; text-transform: none;
  letter-spacing: 0; margin-left: 6px; font-size: 11px;
}
.intel-overlay input,
.intel-overlay textarea {
  width: 100%; padding: 10px 12px; border: 1px solid var(--border); border-radius: 6px;
  font-family: var(--sans); font-size: 14px; color: var(--text); background: var(--bg);
  transition: border-color .15s, box-shadow .15s;
}
.intel-overlay input:focus,
.intel-overlay textarea:focus {
  outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px var(--gold-light);
}
.intel-overlay input[readonly] {
  background: var(--surface); color: var(--text-muted); cursor: not-allowed;
}
.intel-overlay textarea { min-height: 80px; resize: vertical; }

.intel-error {
  font-size: 13px; color: var(--red);
  padding: 10px 14px; background: var(--red-light);
  border-radius: 6px; margin: 16px 0 0;
}

.intel-actions {
  display: flex; gap: 12px; margin-top: 32px; padding-top: 24px;
  border-top: 1px solid var(--border); justify-content: flex-end;
}
.intel-actions-center { justify-content: center; flex-wrap: wrap; }

.intel-btn-primary, .intel-btn-ghost {
  padding: 11px 22px; border-radius: 6px; font-family: var(--sans);
  font-weight: 500; font-size: 14px; cursor: pointer;
  transition: background .15s, border-color .15s, color .15s;
}
.intel-btn-primary { background: var(--gold); color: white; border: 1px solid var(--gold); }
.intel-btn-primary:hover { background: #088c52; border-color: #088c52; }
.intel-btn-primary:disabled { opacity: .5; cursor: wait; }
.intel-btn-ghost { background: transparent; color: var(--text-muted); border: 1px solid var(--border); }
.intel-btn-ghost:hover { background: var(--surface-hover); color: var(--text); }

.intel-status-box {
  padding: 20px 24px; border-radius: 8px; border: 1px solid var(--border);
  background: var(--surface); margin: 16px 0 24px; text-align: center;
}
.intel-status-box p { margin: 8px 0 0; font-size: 13px; color: var(--text); line-height: 1.6; }
.intel-status-label {
  font-family: var(--mono); font-size: 11px; font-weight: 600;
  color: var(--text-muted); letter-spacing: 1px;
}
.intel-status-value {
  font-family: var(--mono); font-size: 18px; font-weight: 600;
  color: var(--text); letter-spacing: 1px; margin-top: 4px;
}
.intel-status-pending { background: var(--gold-light); border-color: rgba(10,158,94,.25); }
.intel-status-pending .intel-status-value { color: var(--gold); }
.intel-status-active { background: var(--green-light); border-color: rgba(16,185,129,.25); }
.intel-status-active .intel-status-value { color: var(--green); }
.intel-status-rejected { background: var(--red-light); border-color: rgba(239,68,68,.25); }
.intel-status-rejected .intel-status-value { color: var(--red); }

.intel-overlay code {
  font-family: var(--mono); font-size: 13px;
  background: var(--surface); padding: 2px 6px; border-radius: 4px;
}

/* ─── Aprovações (Story 6) ─── */
.intel-approvals-list { display: flex; flex-direction: column; gap: 16px; margin: 16px 0 8px; }
.intel-pending-card {
  border: 1px solid var(--border); border-radius: 8px;
  padding: 18px 20px; background: var(--bg); transition: opacity .15s;
}
.intel-pending-head {
  display: flex; justify-content: space-between; align-items: flex-start;
  gap: 12px; margin-bottom: 14px; padding-bottom: 12px;
  border-bottom: 1px solid var(--border);
}
.intel-pending-name { font-size: 15px; font-weight: 600; color: var(--text); }
.intel-pending-email {
  font-family: var(--mono); font-size: 11px; color: var(--text-muted); margin-top: 2px;
}
.intel-pending-prov {
  background: var(--gold-light); color: var(--gold);
  padding: 1px 6px; border-radius: 3px; font-weight: 600;
}
.intel-pending-date {
  font-family: var(--mono); font-size: 10px; color: var(--text-muted);
  white-space: nowrap; flex-shrink: 0;
}
.intel-pending-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px 20px; margin-bottom: 14px;
}
.intel-pending-field-wide { grid-column: 1 / -1; }
.intel-pending-field label {
  display: block; font-family: var(--mono); font-size: 10px; font-weight: 600;
  color: var(--text-muted); letter-spacing: .8px; margin-bottom: 4px; text-transform: uppercase;
}
.intel-pending-field > div { font-size: 13px; color: var(--text); word-break: break-word; }
.intel-pii-row { display: inline-flex; align-items: center; gap: 8px; }
.intel-pii-masked { font-family: var(--mono); }
.intel-empty { color: var(--text-muted); font-style: italic; font-size: 12px; }
.intel-btn-tiny {
  padding: 2px 8px; font-size: 10px; font-family: var(--mono);
  background: transparent; color: var(--text-muted); border: 1px solid var(--border);
  border-radius: 3px; cursor: pointer; letter-spacing: .5px; text-transform: uppercase;
}
.intel-btn-tiny:hover { color: var(--gold); border-color: var(--gold); }
.intel-pending-actions {
  display: flex; justify-content: flex-end; gap: 10px; padding-top: 12px;
  border-top: 1px solid var(--border);
}
.intel-pending-actions button { padding: 8px 18px; font-size: 13px; }

@media (max-width: 720px) {
  .intel-pending-grid { grid-template-columns: 1fr; }
  .intel-pending-head { flex-direction: column; }
}

@media (max-width: 720px) {
  .intel-card { padding: 28px 20px; }
  .intel-grid { grid-template-columns: 1fr; }
  .intel-row-2 { grid-template-columns: 1fr; }
  .intel-actions { flex-direction: column-reverse; }
  .intel-actions-center { flex-direction: row; }
}

/* ═══ Toast notifications ═══ */
.toast-container {
  position: fixed; top: 16px; right: 16px; z-index: 10000;
  display: flex; flex-direction: column; gap: 8px;
  pointer-events: none;
}
.toast {
  pointer-events: auto; cursor: pointer;
  padding: 12px 16px; border-radius: 8px;
  font-family: var(--sans); font-size: var(--text-small);
  max-width: 380px; box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  animation: toast-in 0.2s ease;
}
.toast-error { background: var(--red); color: #fff; }
.toast-warn  { background: var(--orange); color: #fff; }
.toast-info  { background: var(--blue); color: #fff; }
@keyframes toast-in { from { opacity: 0; transform: translateX(20px); } to { opacity: 1; transform: none; } }

/* ═══ Utility classes (Batch 8 — inline style extraction) ═══ */

/* Display */
.d-none { display: none; }
.d-flex { display: flex; }
.d-inline-block { display: inline-block; }

/* Flex */
.flex-row     { display: flex; flex-direction: row; }
.flex-col     { display: flex; flex-direction: column; }
.flex-center  { display: flex; align-items: center; justify-content: center; }
.flex-1       { flex: 1; }
.items-center { align-items: center; }
.gap-4  { gap: 4px; }
.gap-6  { gap: 6px; }
.gap-8  { gap: 8px; }

/* Spacing */
.mt-4  { margin-top: 4px; }
.mt-6  { margin-top: 6px; }
.mt-8  { margin-top: 8px; }
.mt-10 { margin-top: 10px; }
.mb-4  { margin-bottom: 4px; }
.mb-8  { margin-bottom: 8px; }
.mb-10 { margin-bottom: 10px; }

/* Text */
.text-ok   { color: var(--green); }
.text-err  { color: var(--red); }
.text-center { text-align: center; }
.text-right  { text-align: right; }
.text-xs   { font-size: 11px; }
.text-xxs  { font-size: 10px; }

/* Tables — clickable row */
.row-clickable { cursor: pointer; }

/* Charts fallback link */
.chart-fallback {
  display: flex; align-items: center; justify-content: center;
  height: 100%; font-size: 13px; color: var(--text-muted);
}

/* Score breakdown bar row (utils.js scoreDimBreakdown) */
.score-bar-row {
  display: flex; align-items: center; gap: 8px; margin: 6px 0;
}
.score-bar-name {
  width: 90px; font-family: var(--mono); font-size: 11px; color: var(--text);
}
.score-bar-track {
  flex: 1; height: 8px; background: var(--border);
  border-radius: 4px; overflow: hidden;
}
.score-bar-fill { height: 100%; border-radius: 4px; }
.score-bar-val {
  width: 40px; text-align: right; font-family: var(--mono);
  font-size: 12px; font-weight: 600;
}
.score-bar-weight {
  width: 35px; text-align: right; font-family: var(--mono);
  font-size: 10px; color: var(--text-muted);
}
.score-bar-weighted {
  width: 40px; text-align: right; font-family: var(--mono);
  font-size: 11px; color: var(--gold);
}

/* Raw data details (utils.js rawDataDetails) */
.raw-data-summary {
  cursor: pointer; font-family: var(--mono); font-size: 12px;
  color: var(--text-muted); padding: 8px 0;
}
.raw-data-field-name {
  font-family: var(--mono); font-size: 10px; color: var(--text-muted);
}

/* Orbit modal — input stack (referral form) */
.input-stack > .input-v24 { margin-bottom: 4px; }

/* Orbit modal — flex actions */
.orbit-modal-actions { display: flex; gap: 6px; margin-top: 6px; }

/* Orbit modal — inline label qualifiers */
.orbit-label-qualifier {
  font-weight: 400; text-transform: none; letter-spacing: 0;
}

/* Humanize badge — generic */
.humanize-badge {
  display: inline-block; padding: 2px 10px; border-radius: 4px;
  font-size: 12px; font-weight: 600;
}
.humanize-badge-empty { background: #f3f4f6; color: #6B7280; }

/* Foreign type badge */
.foreign-type-badge {
  display: inline-block; padding: 1px 6px; font-size: 10px;
  font-family: var(--mono); background: #3B82F615; color: #3B82F6;
  border-radius: 3px; margin-left: 4px;
}

/* Contacts import */
.ci-drop-icon { font-size: 24px; }
.ci-more-hint { margin-top: 4px; font-size: 11px; }
.ci-desc { font-size: 12px; margin-bottom: 10px; }

/* Ranking — search input */
#miraSearchInput { width: 200px; }
#miraSectorSelect { margin-bottom: 8px; }
#compareSearch { width: 220px; }

/* Markdown inline list */
.md-list { margin: 4px 0 4px 20px; padding: 0; }

/* Orbit explorer — company link */
[data-company-link] { text-decoration: underline; cursor: pointer; }

/* Mira search & load more */
.mira-load-more { text-align: center; padding: 12px; }

/* Orbit modal — todo inline edits */
.orbit-modal-todo-title-edit { flex: 1; min-width: 120px; }
.orbit-modal-todo-due-edit   { width: 130px; }
.orbit-modal-todo-prio-edit  { width: 48px; }
.orbit-modal-sched-duration  { width: 70px; }

/* Orbit modal — referral search results */
.orbit-modal-referral-search-results {
  max-height: 160px; overflow-y: auto; margin-top: 4px;
}

/* Orbit modal — referral form (padding/border from inline) */
.orbit-modal-referral-form {
  margin-top: 8px; padding: 10px;
  border: 1px solid var(--border); border-radius: 6px;
}

/* Orbit modal — referral item & search item */
.orbit-modal-referral-item {
  display: flex; justify-content: space-between;
  padding: 4px 0; cursor: pointer;
}
.orbit-ref-search-item {
  padding: 4px 6px; cursor: pointer;
  border-bottom: 1px solid var(--border);
}

/* Orbit tags hint */
.orbit-tags-hint { font-size: 11px; }

/* Metrics stat colors */
.metrics-stat-gold   { color: var(--gold); }
.metrics-stat-blue   { color: var(--blue); }
.metrics-stat-green  { color: var(--green); }
.metrics-stat-orange { color: var(--orange); }

/* Orbit modal — full-width grid field */
.orbit-modal-field-full { grid-column: 1 / -1; }

/* Orbit modal — AI checkbox label */
.orbit-ai-label {
  display: flex; gap: 6px; align-items: center;
  margin-top: 6px; font-size: 12px;
}

/* ========================================
   REFERENCIAL — Showcase page
   Bloomberg density × Linear polish × Stripe clarity
   ======================================== */

/* Hero — minimal, impactful */
.ref-hero { text-align: center; padding: 56px 24px 40px; margin-bottom: 0; }
.ref-hero-title { font-family: var(--mono); font-size: 48px; font-weight: 700; color: var(--gold); letter-spacing: 12px; margin: 0; }
.ref-hero-sub { font-size: 15px; font-weight: 500; color: var(--text); margin: 8px 0 0; letter-spacing: 2px; text-transform: uppercase; }
.ref-hero-desc { font-size: 14px; color: var(--text-muted); max-width: 680px; margin: 20px auto 0; line-height: 1.75; }

/* Section titles — left-aligned accent bar */
.ref-section-title { font-size: 16px; font-weight: 700; color: var(--text); margin: 0 0 20px; padding-left: 12px; border-left: 3px solid var(--gold); display: block; line-height: 1.3; }

/* KPI strip — horizontal, no boxes */
.ref-kpi-row { display: flex; gap: 0; justify-content: center; margin: 0 0 40px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.ref-kpi { padding: 20px 24px; text-align: center; flex: 1; border-right: 1px solid var(--border); }
.ref-kpi:last-child { border-right: none; }
/* Story 30 (Anna 2026-05-10): DS sweep — KPI val era --mono+--gold, agora --sans+--text.
   DS §00.5: --gold é só accent (1 ponto por glifo, brackets dark), não cor primária UI. */
.ref-kpi-val { font-family: var(--sans); font-size: 32px; font-weight: 700; color: var(--text); line-height: 1; letter-spacing: -0.02em; }
.ref-kpi-label { font-size: 10px; color: var(--text-muted); margin-top: 6px; text-transform: uppercase; letter-spacing: 0.8px; }

/* Arch diagram */
.ref-arch-diagram { overflow-x: auto; margin-bottom: 24px; }
.ref-arch-svg { width: 100%; max-width: 900px; margin: 0 auto; display: block; }
.ref-arch-svg text { font-family: var(--sans); }
.ref-arch-svg code { font-family: var(--mono); }

/* Arch cards — borderless, subtle */
.ref-arch-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
.ref-arch-card { padding: 20px; border-right: 1px solid var(--border); }
.ref-arch-card:last-child { border-right: none; }
.ref-arch-icon { font-size: 20px; margin-bottom: 8px; }
.ref-arch-label { font-size: 13px; font-weight: 700; color: var(--text); margin-bottom: 6px; }
.ref-arch-detail { font-size: 12px; color: var(--text-muted); line-height: 1.65; }
.ref-arch-detail code { font-family: var(--mono); font-size: 11px; background: var(--surface); padding: 1px 4px; border-radius: 3px; }

/* Design System link */
.ref-ds-link { display: flex; align-items: center; gap: 12px; margin-top: 20px; }
.ref-ds-btn { font-family: var(--mono); font-size: 12px; font-weight: 600; color: var(--gold); text-decoration: none; padding: 6px 14px; border: 1px solid var(--gold); border-radius: 6px; transition: all 0.15s; }
.ref-ds-btn:hover { background: var(--gold); color: #fff; }
.ref-ds-hint { font-size: 11px; color: var(--text-muted); }

/* API grid — compact table-like rows, no card boxes */
.ref-api-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 1px solid var(--border); border-radius: 6px; overflow: hidden; }
.ref-api-card { padding: 10px 14px; border-bottom: 1px solid var(--border); border-right: 1px solid var(--border); }
.ref-api-card:nth-child(2n) { border-right: none; }
.ref-api-card:nth-last-child(-n+2) { border-bottom: none; }
.ref-api-header { display: flex; justify-content: space-between; align-items: center; }
.ref-api-name { font-weight: 600; font-size: 13px; color: var(--text); }
.ref-api-scope { font-family: var(--mono); font-size: 11px; color: var(--gold); font-weight: 500; margin-top: 2px; }
.ref-api-desc { font-size: 11px; color: var(--text-muted); line-height: 1.5; margin-top: 2px; }

/* Tags — pill style */
.ref-tag { font-family: var(--mono); font-size: 9px; font-weight: 600; padding: 2px 7px; border-radius: 3px; text-transform: uppercase; letter-spacing: 0.5px; }
.ref-tag-col  { background: #DBEAFE; color: #1E40AF; }
.ref-tag-llm  { background: #EDE9FE; color: #5B21B6; }
.ref-tag-crm  { background: #D1FAE5; color: #065F46; }
.ref-tag-auth { background: #FEF3C7; color: #92400E; }
.ref-tag-core { background: #F3F4F6; color: #374151; }

/* Pipeline description */
.ref-pipeline-desc { font-size: 13px; color: var(--text-muted); margin: 0 0 20px; line-height: 1.7; max-width: 800px; }

/* Pipeline columns — clean, no outer border */
.ref-pipeline { display: flex; gap: 2px; align-items: flex-start; overflow-x: auto; }
.ref-pipe-col { flex: 1; min-width: 250px; }
.ref-pipe-header { font-family: var(--mono); font-size: 14px; font-weight: 700; padding: 8px 12px; display: flex; align-items: center; gap: 8px; }
.ref-pipe-count { font-size: 11px; font-weight: 400; opacity: 0.7; }
.ref-pipe-col-header { background: #DBEAFE; color: #1E40AF; }
.ref-pipe-llm-header { background: #EDE9FE; color: #5B21B6; }
.ref-pipe-mod-header { background: #D1FAE5; color: #065F46; }
.ref-pipe-sub { font-size: 10px; color: var(--text-muted); padding: 4px 12px; background: var(--surface); }
.ref-pipe-arrow { font-size: 24px; color: var(--gold); font-weight: 700; align-self: center; padding-top: 30px; flex-shrink: 0; opacity: 0.6; }

/* Agent nodes — ultra compact, terminal feel */
.ref-agent-node { padding: 5px 12px; border-left: 2px solid transparent; background: var(--bg); transition: background 0.1s; }
.ref-agent-node:hover { background: var(--surface); }
.ref-agent-node:not(:last-child) { border-bottom: 1px solid rgba(229,231,235,0.5); }
.ref-agent-col { border-left-color: #3B82F6; }
.ref-agent-llm { border-left-color: #8B5CF6; }
.ref-agent-mod { border-left-color: #10B981; }
.ref-agent-name { font-family: var(--mono); font-size: 11px; font-weight: 600; color: var(--text); }
.ref-agent-desc { font-size: 10px; color: var(--text-muted); margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ref-agent-rate { font-family: var(--mono); font-size: 9px; color: var(--green); font-weight: 600; float: right; margin-top: -22px; }

/* MIRA flow — horizontal layers, top-accent only */
.ref-mira-flow { display: flex; gap: 2px; align-items: stretch; overflow-x: auto; }
.ref-mira-layer { flex: 1; min-width: 140px; padding: 14px; border-top: 3px solid transparent; background: var(--surface); }
.ref-mira-risk { border-top-color: #EF4444; }
.ref-mira-ici  { border-top-color: #3B82F6; }
.ref-mira-lev  { border-top-color: #F59E0B; }
.ref-mira-fit  { border-top-color: #8B5CF6; }
.ref-mira-final { border-top-color: var(--gold); background: rgba(10,158,94,0.06); }
.ref-mira-layer-title { font-size: 14px; font-weight: 700; color: var(--text); margin-bottom: 2px; }
.ref-mira-layer-range { font-family: var(--mono); font-size: 12px; color: var(--gold); margin-bottom: 8px; }
.ref-mira-layer-desc { font-size: 11px; color: var(--text-muted); line-height: 1.65; }
.ref-mira-layer-desc code { font-family: var(--mono); background: rgba(0,0,0,0.04); padding: 1px 5px; border-radius: 3px; font-size: 10px; }
.ref-mira-layer-desc strong { color: var(--text); font-weight: 600; }
.ref-mira-arrow { font-size: 20px; font-weight: 700; color: var(--gold); align-self: center; flex-shrink: 0; opacity: 0.5; }
.ref-score-band { display: inline-block; font-family: var(--mono); font-size: 10px; font-weight: 600; padding: 2px 8px; border-radius: 3px; margin: 2px 2px 0 0; }
.ref-band-target   { background: #D1FAE5; color: #065F46; }
.ref-band-alta      { background: #D1FAE5; color: #10B981; }
.ref-band-moderada  { background: #FEF3C7; color: #92400E; }
.ref-band-baixa     { background: #F3F4F6; color: #6B7280; }
.ref-band-descarte  { background: #FEE2E2; color: #DC2626; }

/* ICI grid — compact, no outer boxes */
.ref-ici-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 1px solid var(--border); border-radius: 6px; overflow: hidden; margin-bottom: 16px; }
.ref-ici-card { padding: 10px 12px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.ref-ici-card:nth-child(3n) { border-right: none; }
.ref-ici-card:nth-last-child(-n+3) { border-bottom: none; }
.ref-ici-id { font-family: var(--mono); font-size: 10px; color: var(--gold); font-weight: 700; }
.ref-ici-name { font-size: 13px; font-weight: 600; color: var(--text); }
.ref-ici-range { font-family: var(--mono); font-size: 10px; color: var(--text-muted); }
.ref-ici-desc { font-size: 10px; color: var(--text-muted); margin-top: 2px; line-height: 1.4; }

/* ICI weight matrix */
.ref-ici-matrix { margin-top: 16px; }
.ref-ici-matrix-title { font-size: 12px; font-weight: 600; color: var(--text-muted); margin-bottom: 8px; }
.ref-matrix-scroll { overflow-x: auto; }
.ref-matrix-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.ref-matrix-table th { font-family: var(--mono); font-size: 10px; font-weight: 600; color: var(--gold); padding: 6px 8px; text-align: center; border-bottom: 2px solid var(--border); }
.ref-matrix-table td { padding: 5px 8px; text-align: center; border-bottom: 1px solid var(--border); font-family: var(--mono); font-size: 11px; color: var(--text-muted); }
.ref-matrix-cat { text-align: left !important; font-weight: 600; color: var(--text); font-family: var(--sans); font-size: 11px; }
.ref-w-high { color: var(--gold) !important; font-weight: 700; }
.ref-w-low { color: #D1D5DB !important; }

.ref-ici-groups { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; margin-top: 12px; }
.ref-ici-groups-label { font-size: 11px; color: var(--text-muted); font-weight: 500; }

/* DB grid — dense 3-col, no boxes */
.ref-db-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 1px solid var(--border); border-radius: 6px; overflow: hidden; }
.ref-db-card { padding: 8px 12px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.ref-db-card:nth-child(3n) { border-right: none; }
.ref-db-card:nth-last-child(-n+3) { border-bottom: none; }
.ref-db-header { display: flex; justify-content: space-between; align-items: center; }
.ref-db-name { font-size: 11px; color: var(--text); font-weight: 600; }
.ref-db-size { font-family: var(--mono); font-size: 10px; color: var(--gold); font-weight: 500; }
.ref-db-desc { font-size: 10px; color: var(--text-muted); line-height: 1.4; margin-top: 2px; }
.ref-mut-imm { background: #DBEAFE; color: #1E40AF; }
.ref-mut-t   { background: #FEF3C7; color: #92400E; }
.ref-mut-r   { background: #D1FAE5; color: #065F46; }

/* Orbit stages — horizontal pill bar */
.ref-orbit-pipeline { display: flex; gap: 4px; overflow-x: auto; margin-bottom: 16px; }
.ref-orbit-stage { flex: 1; min-width: 100px; border-left: 3px solid; padding: 8px 10px; background: var(--surface); }
.ref-orbit-stage-name { font-family: var(--mono); font-size: 10px; font-weight: 700; letter-spacing: 0.5px; }
.ref-orbit-stage-desc { font-size: 10px; color: var(--text-muted); margin-top: 2px; }

/* Orbit features — 3 col, no boxes */
.ref-orbit-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 1px solid var(--border); border-radius: 6px; overflow: hidden; }
.ref-orbit-feat { padding: 12px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.ref-orbit-feat:nth-child(3n) { border-right: none; }
.ref-orbit-feat:nth-last-child(-n+3) { border-bottom: none; }
.ref-orbit-feat-name { font-size: 12px; font-weight: 600; color: var(--text); margin-bottom: 3px; }
.ref-orbit-feat-desc { font-size: 11px; color: var(--text-muted); line-height: 1.5; }

/* Kai Automation — channels */
.ref-kai-channels { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 20px; }
.ref-kai-ch { border: 1px solid; border-radius: 8px; padding: 10px 14px; min-width: 160px; flex: 1; }
.ref-kai-ch-name { font-size: 12px; font-weight: 600; color: var(--text); }
.ref-kai-ch-tech { font-size: 10px; color: var(--text-muted); margin: 2px 0; }
.ref-kai-ch-status { font-size: 10px; font-weight: 600; padding: 2px 8px; border-radius: 4px; display: inline-block; }
.ref-kai-ch-active { background: #D1FAE5; color: #065F46; }
.ref-kai-ch-paused { background: #FEF3C7; color: #92400E; }
.ref-kai-ch-planned { background: #F3F4F6; color: #6B7280; }

/* Kai Pipeline */
.ref-kai-pipeline { margin-bottom: 20px; }
.ref-kai-pipeline-title { font-size: 13px; font-weight: 600; color: var(--text); margin-bottom: 10px; }
.ref-kai-pipeline-title code { font-size: 11px; background: var(--surface); padding: 1px 4px; border-radius: 3px; }

/* Kai Emoji dictionary */
.ref-kai-emoji { border: 1px solid var(--border); border-radius: 8px; padding: 14px; }
.ref-kai-emoji-title { font-size: 13px; font-weight: 600; color: var(--text); margin-bottom: 10px; }
.ref-kai-emoji-title code { font-size: 11px; background: var(--surface); padding: 1px 4px; border-radius: 3px; }
.ref-kai-emoji-row { display: flex; align-items: baseline; gap: 10px; padding: 4px 0; border-bottom: 1px solid var(--border); }
.ref-kai-emoji-row:last-child { border-bottom: none; }
.ref-kai-emoji-icon { font-size: 18px; min-width: 28px; text-align: center; }
.ref-kai-emoji-desc { font-size: 11px; color: var(--text-muted); line-height: 1.5; }

/* Security — single border grid */
.ref-sec-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 1px solid var(--border); border-radius: 6px; overflow: hidden; }
.ref-sec-card { padding: 12px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.ref-sec-card:nth-child(3n) { border-right: none; }
.ref-sec-card:nth-last-child(-n+3) { border-bottom: none; }
.ref-sec-title { font-size: 12px; font-weight: 600; color: var(--gold); margin-bottom: 3px; }
.ref-sec-desc { font-size: 11px; color: var(--text-muted); line-height: 1.5; }

/* Coverage — horizontal inline */
.ref-coverage-row { display: flex; gap: 24px; flex-wrap: wrap; margin-top: 16px; }
.ref-coverage-item { display: flex; gap: 6px; align-items: baseline; }
.ref-cov-val { font-family: var(--mono); font-size: 20px; font-weight: 700; color: var(--gold); }
.ref-cov-label { font-size: 11px; color: var(--text-muted); }

/* Sectors bar chart — 2 columns */
.ref-sectors-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
.ref-sectors-col { }
.ref-sector-row { display: flex; align-items: center; gap: 8px; margin-bottom: 3px; }
.ref-sector-name { font-size: 11px; color: var(--text); min-width: 130px; text-align: right; }
.ref-sector-bar-bg { flex: 1; height: 12px; background: var(--surface); border-radius: 2px; overflow: hidden; }
.ref-sector-bar { height: 100%; background: var(--gold); border-radius: 2px; min-width: 2px; transition: width 0.3s; }
.ref-sector-count { font-family: var(--mono); font-size: 11px; color: var(--text-muted); min-width: 28px; }

/* Stack diagram */
.ref-stack-diagram { overflow-x: auto; margin-bottom: 8px; }
.ref-stack-diagram svg { width: 100%; max-width: 900px; margin: 0 auto; display: block; }
.ref-stack-diagram svg text { font-family: var(--sans); }

/* Cost grid */
.ref-cost-grid { border: 1px solid var(--border); border-radius: 6px; overflow: hidden; }
.ref-cost-header { display: grid; grid-template-columns: 120px 50px 60px 140px 1fr 100px; gap: 0; padding: 8px 14px; background: var(--surface); border-bottom: 2px solid var(--border); font-size: 10px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; }
.ref-cost-row { display: grid; grid-template-columns: 120px 50px 60px 140px 1fr 100px; gap: 0; padding: 8px 14px; border-bottom: 1px solid var(--border); align-items: center; }
.ref-cost-row:last-child { border-bottom: none; }
.ref-cost-row:hover { background: var(--surface); }
.ref-cost-name { font-size: 12px; font-weight: 600; color: var(--text); }
.ref-cost-currency { font-family: var(--mono); font-size: 10px; color: var(--text-muted); font-weight: 600; }
.ref-cost-type { font-family: var(--mono); font-size: 10px; font-weight: 600; }
.ref-cost-type-fixed { color: #3B82F6; }
.ref-cost-type-credit { color: #F59E0B; }
.ref-cost-dedication { font-size: 10px; color: var(--text-muted); }
.ref-cost-ded { color: var(--gold); font-weight: 600; }
.ref-cost-shared { color: var(--text-muted); }
.ref-cost-desc { font-size: 11px; color: var(--text-muted); line-height: 1.4; }
.ref-cost-val { font-family: var(--mono); font-size: 12px; font-weight: 600; color: var(--gold); text-align: right; }
.ref-cost-total { padding: 0; background: var(--surface); border-top: 2px solid var(--gold); }
.ref-cost-total-line { display: flex; justify-content: space-between; padding: 6px 14px; font-size: 12px; color: var(--text-muted); border-bottom: 1px solid var(--border); }
.ref-cost-total-line:last-child { border-bottom: none; }
.ref-cost-total-line span:last-child { font-family: var(--mono); font-weight: 600; color: var(--gold); }
.ref-cost-total-final { font-size: 14px; font-weight: 700; color: var(--text); padding: 10px 14px; }
.ref-cost-total-final span:last-child { color: var(--gold); }

/* Footer */
.ref-footer { text-align: center; padding: 32px 0; margin-top: 32px; border-top: 1px solid var(--border); font-size: 11px; color: var(--text-muted); letter-spacing: 1px; }
.ref-footer strong { color: var(--text); font-weight: 600; }

/* Mobile */
@media (max-width: 599px) {
  .ref-hero-title { font-size: 32px; letter-spacing: 6px; }
  .ref-hero { padding: 36px 16px 28px; }
  .ref-kpi-row { flex-wrap: wrap; }
  .ref-kpi { min-width: 33%; border-bottom: 1px solid var(--border); }
  .ref-kpi-val { font-size: 24px; }
  .ref-arch-grid { grid-template-columns: 1fr; }
  .ref-arch-card { border-right: none !important; border-bottom: 1px solid var(--border); }
  .ref-api-grid { grid-template-columns: 1fr; }
  .ref-api-card { border-right: none !important; }
  .ref-pipeline { flex-direction: column; }
  .ref-pipe-arrow { padding-top: 0; transform: rotate(90deg); }
  .ref-pipe-col { min-width: unset; }
  .ref-mira-flow { flex-direction: column; }
  .ref-mira-arrow { transform: rotate(90deg); align-self: center; }
  .ref-ici-grid { grid-template-columns: 1fr; }
  .ref-ici-card { border-right: none !important; }
  .ref-db-grid { grid-template-columns: 1fr; }
  .ref-db-card { border-right: none !important; }
  .ref-orbit-pipeline { flex-direction: column; }
  .ref-orbit-features { grid-template-columns: 1fr; }
  .ref-orbit-feat { border-right: none !important; }
  .ref-sec-grid { grid-template-columns: 1fr; }
  .ref-sec-card { border-right: none !important; }
  .ref-sectors-2col { grid-template-columns: 1fr; }
  .ref-sector-name { min-width: 90px; font-size: 10px; }
  .ref-arch-diagram { overflow-x: scroll; -webkit-overflow-scrolling: touch; }
  .ref-stack-diagram { overflow-x: scroll; -webkit-overflow-scrolling: touch; }
  .ref-cost-header { display: none; }
  .ref-cost-row { grid-template-columns: 1fr 1fr; gap: 2px; }
  .ref-cost-desc { grid-column: 1 / -1; }
  .ref-cost-dedication { grid-column: 1 / -1; }
}

/* ════════════════════════════════════════════════════════════════════════════
   ORBIT INBOX — tab 4: lista de mensagens da automation, drill-down e saúde
   Mobile-first: cards verticais, modal full-screen <600px.
   ════════════════════════════════════════════════════════════════════════════ */

/* Toolbar (top) */
.inb-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.inb-summary {
  font-family: var(--mono);
  font-size: 12px;
  color: var(--text-muted);
  margin-right: auto;
}

/* Filtros */
.inb-filters {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.inb-chips {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}
.inb-chip {
  padding: 4px 10px;
  border-radius: var(--radius-full);
  border: 1px solid var(--border);
  background: var(--bg);
  font-size: 12px;
  font-family: var(--sans);
  cursor: pointer;
  transition: var(--ease-default);
  color: var(--text);
  min-height: 28px;
}
.inb-chip:hover { border-color: var(--gold); }
.inb-chip.active {
  background: var(--gold);
  color: #fff;
  border-color: var(--gold);
}
/* F9.6: chips de escopo (Pendentes/Tratadas/Tudo) — variante compacta semantica */
.inb-chip-scope {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 11px;
}
/* F9.3: handle (telefone/email) como sub-info do nome */
.inb-card-handle {
  font-family: var(--mono, monospace);
  font-size: 11px;
  color: var(--text-muted);
  font-weight: 400;
}
/* F9.7: botão "marcar tratado" no card (canto direito) */
.inb-card-mark-resolved {
  margin-top: 4px;
  padding: 2px 8px;
  font-size: 11px;
  font-family: var(--sans);
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--text-muted);
  border-radius: var(--radius-sm, 4px);
  cursor: pointer;
  transition: var(--ease-default);
  white-space: nowrap;
}
.inb-card-mark-resolved:hover {
  border-color: var(--gold);
  color: var(--gold);
}
.inb-card-mark-resolved:disabled {
  opacity: 0.5;
  cursor: wait;
}
/* F9.10: row do checkbox "substituir" no modal F8 (orbit-link-contact) */
.lc-overwrite-row {
  padding: 8px 12px;
  background: var(--surface, #fafafa);
  border-radius: var(--radius-md);
  margin-top: 8px;
  font-size: 13px;
}
.lc-overwrite-label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  color: var(--text);
}
.lc-overwrite-label input[type="checkbox"] {
  margin: 0;
}
/* F9.8: botão "+ Criar contato novo" no foot do modal F8 — esquerda */
.lc-create-new {
  margin-right: auto;
  font-weight: 600;
}
.inb-status-select {
  padding: 5px 8px;
  font-size: 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--bg);
  color: var(--text);
  min-height: 30px;
}
.inb-toggle {
  display: flex;
  gap: 4px;
  align-items: center;
  font-size: 12px;
  cursor: pointer;
  color: var(--text);
  user-select: none;
}
.inb-toggle input[type=checkbox] { accent-color: var(--gold); }
.inb-search {
  padding: 5px 10px;
  font-size: 13px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  min-width: 140px;
  flex: 1 1 140px;
  background: var(--bg);
  color: var(--text);
  min-height: 30px;
}

/* Lista de cards */
.inb-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.inb-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  padding: 10px 12px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: var(--ease-default);
  align-items: start;
}
.inb-card:hover { border-color: var(--gold); box-shadow: var(--shadow-sm); }
.inb-card-icon {
  font-size: 20px;
  line-height: 1;
  padding-top: 2px;
}
.inb-card-main { min-width: 0; }
.inb-card-meta-top {
  display: flex;
  gap: 6px;
  align-items: center;
  font-size: 11px;
  color: var(--text-muted);
  font-family: var(--mono);
  flex-wrap: wrap;
}
.inb-card-time { font-weight: 600; }
.inb-card-sep { opacity: 0.5; }
.inb-card-sender-line { color: var(--text); font-weight: 600; }
.inb-card-contact {
  font-size: 12px;
  color: var(--gold);
  margin-top: 2px;
  display: inline-block;
}
.inb-card-contact-stub {
  font-size: 12px;
  color: var(--red);
  margin-top: 2px;
  display: inline-block;
}
.inb-card-body {
  font-size: 13px;
  color: var(--text);
  margin-top: 4px;
  line-height: 1.4;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  word-break: break-word;
}
.inb-card-side {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: end;
  min-width: 70px;
}

/* === F6: card recém-tocado pelo Kai (24h) === */
.orbit-card-fresh {
  border: 2px solid var(--gold) !important;
  box-shadow: 0 0 0 2px var(--gold-light);
  animation: orbit-card-fresh-glow 1.6s ease-out;
}
@keyframes orbit-card-fresh-glow {
  0%   { box-shadow: 0 0 0 6px var(--gold-light); }
  100% { box-shadow: 0 0 0 2px var(--gold-light); }
}
.orbit-card-fresh-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 6px;
  background: var(--gold);
  color: white;
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.5px;
  border-radius: 2px;
  vertical-align: middle;
  text-transform: uppercase;
}

/* === Modal Link Contact (F8) === */
.lc-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 9999;
  display: flex; align-items: flex-start; justify-content: center;
  padding: 64px 24px 24px;
}
.lc-modal {
  background: #fff;
  border-radius: 8px;
  max-width: 540px;
  width: 100%;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.lc-head {
  padding: 14px 18px;
  border-bottom: 1px solid var(--border);
  display: flex; align-items: start; gap: 12px;
}
.lc-head h3 { font-size: 15px; font-weight: 600; }
.lc-sub { font-size: 12px; color: var(--text-muted); margin-top: 2px; }
.lc-close { margin-left: auto; background: none; border: none; cursor: pointer; font-size: 18px; color: var(--text-muted); }
.lc-search-row { padding: 12px 18px; border-bottom: 1px solid var(--border); }
.lc-search {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--border);
  border-radius: 4px;
  font-size: 14px;
  font-family: var(--sans);
}
.lc-search:focus { outline: none; border-color: var(--gold); }
.lc-results { flex: 1; overflow-y: auto; max-height: 320px; padding: 8px 0; }
.lc-empty, .lc-loading { padding: 24px 18px; color: var(--text-muted); font-size: 12px; text-align: center; }
.lc-cand {
  padding: 10px 18px;
  cursor: pointer;
  border-bottom: 1px solid var(--border);
}
.lc-cand:hover { background: var(--surface-hover); }
.lc-cand-selected { background: var(--gold-light) !important; border-left: 3px solid var(--gold); }
.lc-cand-name { font-weight: 600; font-size: 13px; }
.lc-cand-sub { font-size: 12px; color: var(--text-muted); margin-top: 2px; }
.lc-cand-channels { font-size: 11px; color: var(--text-muted); font-family: var(--mono); margin-top: 4px; }
.lc-preview {
  padding: 12px 18px;
  background: var(--gold-light);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  font-size: 12px;
}
.lc-prev-label { font-family: var(--mono); font-size: 10px; color: var(--gold); text-transform: uppercase; letter-spacing: 0.5px; font-weight: 600; margin-bottom: 6px; }
.lc-prev-row { font-size: 13px; margin-bottom: 4px; }
.lc-prev-meta { color: var(--text-muted); font-size: 11px; margin-left: 6px; }
.lc-prev-update { font-size: 12px; margin-top: 6px; }
.lc-prev-update code { background: rgba(0,0,0,0.06); padding: 1px 4px; border-radius: 2px; font-family: var(--mono); font-size: 11px; }
.lc-prev-old { color: var(--text-muted); text-decoration: line-through; font-family: var(--mono); font-size: 11px; }
.lc-prev-new { color: var(--gold); font-weight: 600; font-family: var(--mono); font-size: 11px; }
.lc-prev-noupdate { color: var(--text-muted); font-size: 11px; margin-top: 4px; }
.lc-foot {
  padding: 12px 18px;
  border-top: 1px solid var(--border);
  display: flex; gap: 8px; justify-content: flex-end;
  background: var(--surface);
}
.lc-foot .btn-primary {
  background: var(--gold); color: white; border: none;
  padding: 6px 14px; border-radius: 4px;
  font-size: 12px; font-weight: 600; cursor: pointer;
}
.lc-foot .btn-primary:disabled { opacity: 0.4; cursor: not-allowed; }

/* === Modal merge editor (F4) === */
.merge-editor-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  padding: 24px;
}
.merge-editor {
  background: #fff;
  border-radius: 8px;
  max-width: 1100px;
  width: 100%;
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.merge-editor-head {
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: start;
  gap: 12px;
}
.merge-editor-head h3 { font-size: 16px; font-weight: 600; }
.merge-editor-sub { font-size: 12px; color: var(--text-muted); margin-top: 2px; }
.merge-editor-close {
  margin-left: auto; background: none; border: none;
  cursor: pointer; font-size: 20px; color: var(--text-muted);
}
.merge-editor-body { flex: 1; overflow: auto; padding: 0; }
.merge-editor-foot {
  padding: 12px 20px;
  background: var(--surface);
  border-top: 1px solid var(--border);
  display: flex; gap: 8px; justify-content: flex-end;
}
.merge-editor-foot .btn-primary {
  background: var(--gold); color: white; border: none;
  padding: 6px 14px; border-radius: 4px;
  font-size: 12px; font-weight: 600; cursor: pointer;
}
.merge-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.merge-table th {
  text-align: left;
  padding: 10px 12px;
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
  border-bottom: 1px solid var(--border);
  background: var(--surface);
  vertical-align: top;
}
.merge-field-label-h { width: 110px; }
.merge-col { min-width: 140px; }
.merge-col-selected { background: var(--gold-light) !important; color: var(--gold); }
.merge-col-label { font-weight: 600; margin-bottom: 4px; }
.merge-score { color: var(--text-muted); font-weight: 400; font-size: 9px; }
.merge-target-pick {
  display: flex; align-items: center; gap: 4px;
  font-family: var(--sans);
  font-size: 10px;
  text-transform: none;
  letter-spacing: 0;
  color: var(--text);
  cursor: pointer;
}
.merge-result-h { background: var(--gold-light) !important; color: var(--gold) !important; min-width: 200px; }
.merge-table td {
  padding: 8px 12px;
  border-bottom: 1px solid var(--border);
  font-size: 12px;
  vertical-align: middle;
}
.merge-field-label {
  color: var(--text-muted);
  font-family: var(--mono);
  font-size: 11px;
  text-transform: lowercase;
}
.merge-cell { color: var(--text); }
.merge-cell-target { background: var(--gold-light); }
.merge-empty { color: var(--text-muted); font-style: italic; }
.merge-result-cell { background: var(--gold-light); padding: 6px 10px; }
.merge-result-input {
  width: 100%;
  padding: 4px 8px;
  border: 1px solid var(--border);
  border-radius: 3px;
  font-size: 12px;
  font-family: var(--sans);
}
.merge-result-input:focus {
  outline: none;
  border-color: var(--gold);
}
.merge-table-foot {
  padding: 10px 16px;
  font-size: 11px;
  color: var(--text-muted);
  font-family: var(--mono);
  background: var(--surface);
  border-top: 1px solid var(--border);
}

/* === Modal smart detail (F3) === */
.inb-detail-smart { max-width: 720px; }
.inb-detail-debug { background: none; border: none; color: var(--text-muted); cursor: pointer; padding: 4px 8px; font-size: 14px; opacity: 0.5; }
.inb-detail-debug:hover { opacity: 1; }
.inb-sd-head { display: flex; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--border); align-items: center; }
.inb-sd-icon { font-size: 22px; }
.inb-sd-headinfo { flex: 1; min-width: 0; }
.inb-sd-from { font-size: 14px; }
.inb-sd-email { color: var(--text-muted); font-family: var(--mono); font-size: 12px; }
.inb-sd-when { color: var(--text-muted); font-size: 11px; font-family: var(--mono); margin-top: 2px; }
.inb-sd-section { padding: 12px 18px; border-bottom: 1px solid var(--border); }
.inb-sd-section:last-of-type { border-bottom: none; }
.inb-sd-label { font-family: var(--mono); font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 6px; font-weight: 600; }
.inb-sd-label-blue { color: var(--blue); font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.5px; font-weight: 600; }
.inb-sd-warn { color: var(--orange); font-weight: 600; font-size: 10px; }
.inb-sd-muted { color: var(--text-muted); font-size: 12px; }
.inb-sd-annotation { background: var(--gold-light); border-left: 3px solid var(--gold); padding: 10px 12px; border-radius: 3px; font-size: 13px; font-style: italic; line-height: 1.5; color: var(--text); }
.inb-sd-summary { font-size: 13px; line-height: 1.6; color: var(--text); }
.inb-sd-contact { display: flex; align-items: center; gap: 12px; padding: 8px 12px; background: var(--surface); border-radius: 4px; }
.inb-sd-contact-name { font-weight: 600; font-size: 13px; flex: 1; }
.inb-sd-contact-stub { padding: 8px 12px; background: var(--orange-light); border-radius: 4px; font-size: 13px; color: var(--orange); font-weight: 600; }
.inb-sd-link { background: none; border: none; color: var(--gold); font-size: 12px; font-weight: 600; cursor: pointer; padding: 0; }
.inb-sd-link:hover { text-decoration: underline; }
.inb-sd-todos { display: flex; flex-direction: column; gap: 6px; }
.inb-sd-todo { display: flex; align-items: center; gap: 10px; padding: 8px 10px; background: var(--surface); border-radius: 3px; }
.inb-sd-todo-title { flex: 1; font-size: 13px; }
.inb-sd-todo-check:checked + .inb-sd-todo-title { text-decoration: line-through; color: var(--text-muted); }
.inb-sd-todo-due { padding: 3px 6px; border: 1px solid var(--border); border-radius: 3px; font-family: var(--mono); font-size: 11px; }
.inb-sd-meeting { background: var(--blue-light); border: 1px solid var(--blue); padding: 12px; border-radius: 4px; font-size: 13px; }
.inb-sd-meet-agenda { margin-top: 6px; font-size: 12px; color: var(--text-muted); }
.inb-sd-outcome { display: flex; align-items: center; gap: 10px; }
.inb-sd-chip { padding: 3px 10px; border-radius: 12px; font-size: 11px; font-weight: 600; font-family: var(--mono); text-transform: uppercase; letter-spacing: 0.5px; }
.inb-sd-stage { display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 12px; }
.inb-sd-stage-from { opacity: 0.6; }
.inb-sd-arrow { color: var(--gold); font-weight: 600; }
.inb-sd-stage-to { color: var(--gold); font-weight: 600; }
.inb-sd-processing { display: flex; gap: 12px; align-items: center; background: var(--blue-light); border-left: 3px solid var(--blue); }
.inb-sd-spinner { width: 18px; height: 18px; border: 2px solid var(--blue); border-top-color: transparent; border-radius: 50%; animation: inb-spin 0.8s linear infinite; }
@keyframes inb-spin { to { transform: rotate(360deg); } }
.inb-sd-footer { display: flex; gap: 8px; justify-content: flex-end; padding: 12px 18px; background: var(--surface); border-top: 1px solid var(--border); }
.inb-sd-footer .btn-primary { background: var(--gold); color: white; border: none; padding: 6px 14px; border-radius: 4px; font-size: 12px; font-weight: 600; cursor: pointer; }
.inb-sd-footer .btn-primary:hover { opacity: 0.9; }

/* Forward indicator (sub-label do sender) */
.inb-card-fwd {
  font-family: var(--mono);
  font-size: 10px;
  color: var(--text-muted);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-left: 4px;
}

/* Anotação Anna em destaque (sticky note) */
.inb-card-annotation {
  margin-top: 6px;
  padding: 6px 10px;
  background: var(--gold-light);
  border-left: 2px solid var(--gold);
  border-radius: 3px;
  font-size: 12px;
  color: var(--text);
  font-style: italic;
  line-height: 1.4;
}

/* Linha de badges do pipeline (outcome / stage / meeting / todos) */
.inb-card-pipeline {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
  align-items: center;
}
.inb-pipeline-outcome {
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 3px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.inb-outcome-positivo { background: var(--green-light); color: var(--green); }
.inb-outcome-negativo { background: var(--red-light); color: var(--red); }
.inb-outcome-standby  { background: var(--orange-light); color: var(--orange); }
.inb-outcome-nurture  { background: var(--purple-light); color: var(--purple); }
.inb-pipeline-stage {
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 3px;
  background: var(--gold-light);
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.inb-pipeline-meet {
  font-size: 12px;
  padding: 1px 4px;
  background: var(--blue-light);
  border-radius: 3px;
}
.inb-pipeline-todos {
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 3px;
  background: var(--orange-light);
  color: var(--orange);
}

/* Trigger / Jobs / Status badges */
.inb-trigger {
  padding: 1px 6px;
  border-radius: var(--radius-sm);
  background: var(--surface);
  font-family: var(--mono);
  font-size: 11px;
  color: var(--text-muted);
  text-transform: lowercase;
  white-space: nowrap;
}
.inb-trigger-emoji {
  font-size: 16px;
  padding: 1px 6px;
  background: var(--gold-light);
  border: 1px solid var(--gold);
}

.inb-jobs {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 600;
  padding: 1px 6px;
  border-radius: var(--radius-sm);
  white-space: nowrap;
}
.inb-jobs-done       { background: rgba(16,185,129,0.12); color: #059669; }
.inb-jobs-progress   { background: rgba(234,179,8,0.18);  color: #A16207; }
.inb-jobs-err        { background: rgba(239,68,68,0.15);  color: #B91C1C; }
.inb-jobs-zero       { color: var(--text-muted); font-family: var(--mono); font-size: 11px; }

.inb-status {
  padding: 1px 8px;
  border-radius: var(--radius-sm);
  font-size: 10px;
  font-family: var(--mono);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  white-space: nowrap;
}
.inb-status-new        { background: rgba(107,114,128,0.15); color: #4B5563; }
.inb-status-queued     { background: rgba(59,130,246,0.15); color: #2563EB; }
.inb-status-processing { background: rgba(234,179,8,0.18);  color: #A16207; }
.inb-status-done       { background: rgba(16,185,129,0.15); color: #059669; }
.inb-status-error      { background: rgba(239,68,68,0.15);  color: #B91C1C; }
.inb-status-review     { background: rgba(245,158,11,0.18); color: #B45309; }
.inb-status-skipped    { background: rgba(107,114,128,0.1); color: #6B7280; }
.inb-status-default    { background: var(--surface); color: var(--text-muted); }

/* Carregar mais */
.inb-load-more { display: flex; justify-content: center; padding: 16px 0; }

/* Drill-down modal */
.inb-detail-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  -webkit-overflow-scrolling: touch;
}
.inb-detail {
  background: var(--bg);
  border-radius: var(--radius-lg);
  max-width: 720px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: var(--shadow-lg);
  display: flex;
  flex-direction: column;
}
.inb-detail-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  background: var(--bg);
  z-index: 1;
}
.inb-detail-title {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.inb-detail-close {
  background: none;
  border: none;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  color: var(--text-muted);
  width: 36px;
  height: 36px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
}
.inb-detail-close:hover { background: var(--surface-hover); color: var(--text); }
.inb-detail-body { padding: 18px; }
.inb-detail-body h4 {
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--gold);
  margin: 18px 0 8px;
}
.inb-detail-body h4:first-child { margin-top: 0; }
.inb-detail-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 12px;
  font-size: 13px;
}
.inb-detail-msg {
  white-space: pre-wrap;
  font-size: 13px;
  color: var(--text);
  padding: 12px;
  background: var(--surface);
  border-radius: var(--radius-md);
  line-height: 1.5;
  word-break: break-word;
}
.inb-detail-audio { margin-bottom: 8px; }
.inb-detail-audio audio { width: 100%; }

.inb-detail-jobs {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.inb-job {
  padding: 8px 10px;
  background: var(--surface);
  border-radius: var(--radius-md);
  border-left: 3px solid var(--border);
}
.inb-job-done    { border-left-color: var(--green); }
.inb-job-error   { border-left-color: var(--red); }
.inb-job-pending { border-left-color: var(--blue); }
.inb-job-running { border-left-color: var(--orange); }
.inb-job-skipped { border-left-color: var(--text-muted); opacity: 0.6; }
.inb-job-head {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  font-family: var(--mono);
  font-size: 11px;
}
.inb-job-name {
  font-weight: 600;
  color: var(--text);
  font-size: 12px;
}
.inb-job-stat { color: var(--text-muted); }
.inb-job-error-msg {
  margin-top: 6px;
  font-size: 11px;
  color: #B91C1C;
  font-family: var(--mono);
  background: rgba(239,68,68,0.06);
  padding: 4px 6px;
  border-radius: var(--radius-sm);
}
.inb-job-output-wrap { margin-top: 6px; }
.inb-job-output-wrap summary {
  font-family: var(--mono);
  font-size: 10px;
  color: var(--text-muted);
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 2px 0;
}
.inb-job-output {
  margin: 6px 0 0;
  font-family: var(--mono);
  font-size: 11px;
  color: var(--text);
  background: var(--bg);
  padding: 8px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  white-space: pre-wrap;
  max-height: 240px;
  overflow-y: auto;
  word-break: break-word;
}

.inb-detail-actions {
  display: flex;
  gap: 8px;
  padding: 14px 18px;
  border-top: 1px solid var(--border);
  flex-wrap: wrap;
  position: sticky;
  bottom: 0;
  background: var(--bg);
}

/* Health view */
.inb-health-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}
.inb-kpi {
  padding: 12px 14px;
  background: var(--surface);
  border-radius: var(--radius-md);
  border-left: 3px solid var(--gold);
}
.inb-kpi-alert { border-left-color: var(--red); }
.inb-kpi-label {
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
}
.inb-kpi-value {
  font-size: 22px;
  font-weight: 600;
  color: var(--text);
  margin-top: 2px;
  font-family: var(--mono);
}
.inb-kpi-sub {
  font-size: 10px;
  color: var(--text-muted);
  margin-top: 2px;
  font-family: var(--mono);
}

.inb-health-section {
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--gold);
  margin: 18px 0 8px;
}

.inb-health-channels {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 6px;
  margin-bottom: 8px;
}
.inb-health-channel {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 10px;
  background: var(--surface);
  border-radius: var(--radius-sm);
  font-size: 12px;
}
.inb-health-channel strong {
  font-family: var(--mono);
  font-weight: 600;
  color: var(--text);
}

.inb-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
}
.inb-agent-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.inb-agent-table th {
  text-align: left;
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
  padding: 8px 10px;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
}
.inb-agent-table td {
  padding: 8px 10px;
  font-size: 12px;
  border-bottom: 1px solid var(--border);
  color: var(--text);
  white-space: nowrap;
}
.inb-agent-table tr:last-child td { border-bottom: none; }
.inb-agent-table td.num {
  font-family: var(--mono);
  text-align: right;
}
.inb-agent-table td.inb-num-err { color: #B91C1C; font-weight: 600; }

.inb-num-err { color: #B91C1C; font-weight: 600; }

.inb-toggle-view, .inb-refresh {
  min-height: 32px;
  font-size: 12px;
  padding: 4px 10px;
}

/* ─── Mobile (<600px) ───────────────────────────────────────────────────────── */
@media (max-width: 599px) {
  .inb-toolbar { gap: 6px; }
  .inb-summary { font-size: 11px; flex: 1 1 100%; margin-bottom: 4px; }
  .inb-toggle-view, .inb-refresh { min-height: 36px; min-width: 36px; }

  .inb-filters { gap: 6px; }
  .inb-chip {
    min-height: 32px;
    font-size: 11px;
    padding: 4px 8px;
  }
  .inb-status-select { min-height: 36px; flex: 1 1 100%; }
  .inb-toggle { flex: 1 1 auto; min-height: 32px; }
  .inb-search { min-width: 100%; flex: 1 1 100%; }

  .inb-card {
    grid-template-columns: 32px 1fr;
    gap: 8px;
    padding: 10px;
  }
  .inb-card-icon { font-size: 18px; }
  .inb-card-side {
    grid-column: 1 / -1;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    min-width: 0;
    margin-top: 4px;
  }
  .inb-card-body { -webkit-line-clamp: 3; }

  .inb-detail-overlay { padding: 0; }
  .inb-detail {
    max-height: 100vh;
    height: 100vh;
    border-radius: 0;
    max-width: 100%;
  }
  .inb-detail-header { padding: 12px 14px; }
  .inb-detail-body { padding: 14px; }
  .inb-detail-actions {
    padding: 12px 14px;
    flex-direction: column;
  }
  .inb-detail-actions button { width: 100%; }

  .inb-health-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .inb-kpi { padding: 10px 12px; }
  .inb-kpi-value { font-size: 18px; }
  .inb-health-channels { grid-template-columns: 1fr; }
}

/* ── Inbox · Merge view ───────────────────────────────────────────────────── */
.inb-merge-list { display: flex; flex-direction: column; gap: 10px; }
.inb-merge-card {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 12px 14px;
}
.inb-merge-head {
  display: flex; gap: 10px; align-items: center; margin-bottom: 8px;
  font-family: var(--mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px;
}
.inb-merge-score { color: var(--gold); font-weight: 700; }
.inb-merge-cat   { color: var(--text-muted); }

.inb-merge-body {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 10px;
  align-items: start;
  margin-bottom: 10px;
}
.inb-merge-pair { min-width: 0; }
.inb-merge-vs {
  font-family: var(--mono); font-size: 11px; font-weight: 600; color: var(--text-muted);
  align-self: center; padding: 0 4px;
}
.inb-merge-side { padding: 8px 10px; background: var(--surface); border-radius: var(--radius-sm); }
.inb-merge-side-name { font-weight: 600; font-size: 14px; color: var(--text); margin-bottom: 2px; }
.inb-merge-side-meta { font-size: 12px; color: var(--text-muted); margin-top: 2px; }
.inb-merge-side-contact { font-size: 11px; font-family: var(--mono); color: var(--text); margin-top: 4px; word-break: break-word; }
.inb-merge-side-stats { font-size: 11px; color: var(--text-muted); margin-top: 4px; font-family: var(--mono); }
.inb-merge-empty { color: var(--red); font-style: italic; font-size: 12px; }

.inb-merge-flags { display: flex; gap: 4px; flex-wrap: wrap; margin-top: 6px; }
.inb-merge-flag {
  font-size: 10px; font-family: var(--mono); padding: 1px 6px;
  border-radius: var(--radius-sm); text-transform: uppercase; letter-spacing: 0.3px;
}
.inb-merge-flag-agent    { background: rgba(245,158,11,0.18); color: #B45309; }
.inb-merge-flag-review   { background: rgba(239,68,68,0.15);  color: #B91C1C; }
.inb-merge-flag-inactive { background: rgba(107,114,128,0.15); color: #4B5563; }

.inb-merge-arrow-label {
  font-size: 10px; font-family: var(--mono); color: var(--orange);
  text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px;
}

.inb-merge-actions {
  display: flex; gap: 6px; flex-wrap: wrap;
  border-top: 1px solid var(--border); padding-top: 10px;
}
.inb-merge-btn {
  font-family: var(--mono); font-size: 11px; padding: 6px 10px;
  min-height: 36px;
}
.inb-merge-btn-suggested {
  background: var(--gold-light);
  border-color: var(--gold);
  color: var(--gold);
  font-weight: 600;
}
.inb-merge-btn-reject {
  font-family: var(--mono); font-size: 11px; padding: 6px 10px;
  min-height: 36px; margin-left: auto;
  border: 1px solid var(--border); background: var(--bg); color: var(--text-muted);
  border-radius: var(--radius-md); cursor: pointer;
}
.inb-merge-btn-reject:hover { color: var(--text); border-color: var(--text-muted); }

@media (max-width: 599px) {
  .inb-merge-body { grid-template-columns: 1fr; }
  .inb-merge-vs {
    text-align: center; padding: 4px 0;
    border-top: 1px dashed var(--border); border-bottom: 1px dashed var(--border);
  }
  .inb-merge-actions { flex-direction: column; }
  .inb-merge-btn, .inb-merge-btn-reject { width: 100%; margin-left: 0; }
}

/* ════════════════════════════════════════════════════════════════════════════
   v24.8.0 patch: mobile fixes pós-Inbox
   ════════════════════════════════════════════════════════════════════════════ */

/* Header nav: scroll horizontal em mobile (7+ tabs não cabe wrap) */
@media (max-width: 768px) {
  .nav {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    flex: 1 1 auto;
    min-width: 0;
  }
  .nav::-webkit-scrollbar { display: none; }
  .nav-tab {
    flex-shrink: 0;
    white-space: nowrap;
    padding: 12px 10px;
  }
}

@media (max-width: 599px) {
  /* Header collapse decente */
  .header-inner {
    padding: 0 8px;
    gap: 4px;
  }
  .logo { font-size: 16px; padding: 10px 0; }
  #searchInput {
    min-width: 0;
    flex: 0 1 100px;
    font-size: 13px;
    padding: 6px 8px;
  }
  .header-count, .header-version { display: none; }
  .nav-tab {
    font-size: 10px;
    padding: 10px 8px;
    letter-spacing: 0.02em;
  }
  .header-logout {
    flex-shrink: 0;
  }

  /* Inbox: checkbox "Revisar" não pode esticar pra 44px (override do touch-target rule) */
  .inb-toggle {
    min-height: 36px;
    padding: 4px 8px;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: var(--bg);
    flex: 0 1 auto;
  }
  .inb-toggle input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    flex: 0 0 18px;
    margin: 0;
  }
  .inb-search { font-size: 16px; /* impede zoom iOS */ }

  /* Toolbar Inbox: botões touch-friendly + alinhados */
  .inb-toolbar {
    align-items: stretch;
  }
  .inb-toolbar .btn-ghost {
    min-height: 40px;
    font-size: 11px;
    padding: 4px 8px;
  }
}

/* ========================================
   31. MOBILE OVERRIDES — DS §14c (cascata)
   APPENDED no FIM do arquivo pra vencer regras
   base de Orbit/Modal/Card declaradas mais
   abaixo (linhas 3500-5000+). Bug v24.8.1:
   bloco mobile estava no meio, perdia cascata.
   ======================================== */
@media (max-width: 599px) {
  /* ── Touch target phone-only ────────────────────── */
  button, input[type="checkbox"], input[type="radio"],
  .dd-trigger, .filter-chip {
    min-height: 44px;
    min-width: 44px;
  }
  /* Inbox checkbox 18px override (preserva v24.8.1) */
  .inb-toggle input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
  }
  /* stbadge[onclick] e .tab: têm regras próprias, não esticar */

  /* ── Modal contato: full bottom sheet + 1 col ──── */
  .orbit-contact-modal {
    max-width: 100% !important;
    width: 100% !important;
    max-height: 95vh !important;
  }
  .orbit-contact-modal .modal-title {
    font-family: var(--sans);
    font-size: 16px;
    line-height: 1.3;
    font-weight: 600;
  }
  .orbit-modal-grid {
    grid-template-columns: 1fr !important;
    gap: var(--space-sm) !important;
  }
  .orbit-modal-section-title { font-size: 12px; }
  .orbit-modal-label { font-size: 11px; }
  .orbit-modal-field input,
  .orbit-modal-field select,
  .orbit-modal-field textarea {
    min-height: 44px;
    font-size: 16px;
  }
  .orbit-contact-modal .modal-footer { padding: 10px 12px; }
  .orbit-contact-modal .modal-footer .orbit-modal-advance {
    width: 100%;
    min-height: 44px;
  }

  /* ── Kanban: 1 coluna por vez com snap ─────────── */
  .orbit-kanban {
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 0 !important;
    scroll-padding: 8px;
  }
  .orbit-column,
  .orbit-column-cards {
    min-width: 88vw !important;
    max-width: 88vw !important;
    flex: 0 0 88vw !important;
    scroll-snap-align: start;
    margin-right: 8px;
    padding: 8px !important;
  }
  .orbit-column-collapsed {
    min-width: 44px !important;
    max-width: 44px !important;
    flex: 0 0 44px !important;
    scroll-snap-align: start;
  }
  .orbit-column-cards-container {
    max-height: calc(100vh - 220px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* ── Board card: corrigir overflow horizontal ──── */
  .card,
  .card-top,
  .card-top-left,
  .card-info,
  .card-name,
  .card-sector {
    min-width: 0;
  }
  .card {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .card-name,
  .card-sector {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .board-grid {
    width: 100%;
    box-sizing: border-box;
  }

  /* ── Header: tabs scroll-x + search colapsado ── */
  body { overflow-x: hidden; }
  .header { overflow-x: hidden; }
  .header-inner {
    flex-wrap: nowrap;
    gap: 4px;
    padding: 0 8px;
    align-items: center;
    overflow: hidden;
  }
  .header-inner .logo {
    flex-shrink: 0;
    padding: 10px 0;
    font-size: 16px;
  }
  .header-inner .nav {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    flex: 1 1 auto;
    min-width: 0;
    flex-wrap: nowrap;
    align-items: stretch;
  }
  .header-inner .nav::-webkit-scrollbar { display: none; }
  .header-inner .nav-tab {
    padding: 12px 8px;
    font-size: 10px;
    flex-shrink: 0;
    letter-spacing: 0.02em;
  }
  .header-inner #searchInput {
    width: 36px;
    min-width: 36px;
    padding: 8px;
    background: transparent;
    border-color: transparent;
    transition: width 0.2s ease, background 0.2s ease, border-color 0.2s ease;
    flex-shrink: 0;
  }
  .header-inner #searchInput:focus,
  .header-inner #searchInput:not(:placeholder-shown) {
    width: 160px;
    min-width: 160px;
    background: var(--bg);
    border-color: var(--border);
  }
  .header-version,
  .header-count { display: none; }
  .header-logout {
    flex-shrink: 0;
    background: transparent;
    border: none;
    color: var(--text-muted);
    padding: 8px 10px;
    cursor: pointer;
    font-size: 16px;
    min-height: 40px;
    min-width: 40px;
    align-self: center;
  }
  .header-logout:hover { color: var(--red); }

  /* ── Detail sub-tabs: scroll horizontal ── */
  .detail-tabs,
  .dtab-row {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    flex-wrap: nowrap;
  }
  .detail-tabs::-webkit-scrollbar,
  .dtab-row::-webkit-scrollbar { display: none; }
  .dtab-btn {
    flex-shrink: 0;
    white-space: nowrap;
  }
}

/* ========================================
   32. ONDA A — Header redesign mobile (v24.9.0)
   Hambúrguer + search overlay + logoff SVG.
   ======================================== */

/* Default (desktop): hide mobile-only buttons */
.header-burger,
.header-search-btn {
  display: none;
}

/* Logoff SVG button — desktop e mobile */
.header-logout {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
  padding: 8px 12px;
  transition: color var(--ease-fast);
}
.header-logout:hover { color: var(--red); }
.header-logout svg { display: block; }

/* Mobile: hide nav-tabs + searchInput, show hamburger + search btn */
@media (max-width: 599px) {
  .header-inner > .nav { display: none !important; }
  .header-inner > #searchInput { display: none !important; }

  .header-burger,
  .header-search-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    padding: 8px;
    min-width: 40px;
    min-height: 40px;
    flex-shrink: 0;
    transition: color var(--ease-fast);
  }
  .header-burger:hover,
  .header-search-btn:hover { color: var(--gold); }
  .header-burger svg,
  .header-search-btn svg { display: block; }

  /* Header layout em mobile: logo | search | burger | logout */
  .header-inner {
    flex-wrap: nowrap !important;
    gap: 4px !important;
    padding: 0 8px !important;
    align-items: center !important;
    overflow: visible !important;
  }
  .header-inner > .logo {
    margin-right: auto;
    flex-shrink: 0;
    padding: 8px 0 !important;
    font-size: 15px !important;
  }
}

/* ── Burger menu overlay ── */
.burger-menu {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  justify-content: flex-end;
}
.burger-menu[hidden] { display: none !important; }
.burger-menu-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
.burger-menu-panel {
  position: relative;
  width: min(320px, 85vw);
  max-width: 100%;
  height: 100%;
  background: var(--bg);
  border-left: 1px solid var(--border);
  box-shadow: var(--shadow-lg);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: env(safe-area-inset-bottom);
}
.burger-menu-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid var(--border);
}
.burger-menu-title {
  font-family: var(--mono);
  font-size: var(--text-label);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
}
.burger-menu-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
  padding: 6px;
  min-width: 36px;
  min-height: 36px;
}
.burger-menu-close:hover { color: var(--text); }
.burger-menu-nav {
  display: flex;
  flex-direction: column;
  padding: 8px 0;
}
.burger-menu-item {
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 500;
  color: var(--text);
  padding: 14px 20px;
  text-decoration: none;
  border-left: 3px solid transparent;
  transition: all var(--ease-fast);
}
.burger-menu-item:hover {
  background: var(--surface-hover);
  border-left-color: var(--gold);
  color: var(--gold);
}

/* User info bloco no topo do burger */
.burger-menu-user {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
}
.burger-menu-user[hidden] { display: none; }
.burger-menu-user__provider {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--bg);
  color: var(--text-muted);
  border: 1px solid var(--border);
}
.burger-menu-user__provider svg { display: block; }
.burger-menu-user__info {
  flex: 1;
  min-width: 0;
}
.burger-menu-user__name {
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.burger-menu-user__email {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 2px;
}
.burger-menu-user__role {
  flex-shrink: 0;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  color: white;
  background: var(--red);
  padding: 2px 6px;
  border-radius: 3px;
  line-height: 1;
}
.burger-menu-user__role[hidden] { display: none; }

/* Section header */
.burger-menu-section {
  padding: 8px 0;
  border-bottom: 1px solid var(--border);
}
.burger-menu-section:last-child { border-bottom: none; }
.burger-menu-section[hidden] { display: none; }
.burger-menu-section__label {
  font-family: var(--mono);
  font-size: var(--text-label);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
  padding: 6px 20px 4px;
}

/* Action button (Imprimir): mesma estética dos links de nav */
.burger-menu-item--btn {
  display: flex;
  align-items: center;
  gap: 10px;
  background: none;
  border: none;
  border-left: 3px solid transparent;
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 500;
  color: var(--text);
  padding: 14px 20px;
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: all var(--ease-fast);
}
.burger-menu-item--btn:hover {
  background: var(--surface-hover);
  border-left-color: var(--gold);
  color: var(--gold);
}
.burger-menu-item--btn svg { flex-shrink: 0; }

/* Logout: red destacado */
.burger-menu-section--logout { padding: 12px 16px; }
.burger-menu-section--logout[hidden] { display: none; }
.burger-menu-item--logout {
  display: block;
  width: 100%;
  background: none;
  border: 1px solid rgba(239, 68, 68, 0.4);
  border-radius: 6px;
  color: var(--red);
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 600;
  padding: 12px 16px;
  cursor: pointer;
  text-align: center;
  transition: background var(--ease-fast), border-color var(--ease-fast);
}
.burger-menu-item--logout:hover {
  background: rgba(239, 68, 68, 0.08);
  border-color: var(--red);
}

/* Mobile (<599px): esconde userBadge + print button do header.
   Tudo isso vive dentro do hamburger no mobile. Sino fica visível. */
@media (max-width: 599px) {
  .header-inner > .header-user-badge { display: none !important; }
  .header-inner > #scoutPrintBtnWrap,
  .header-inner > .scout-print-btn-wrap { display: none !important; }
}

/* ── Search overlay (mobile) ── */
.search-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.search-overlay[hidden] { display: none !important; }
.search-overlay-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}
.search-overlay-panel {
  position: relative;
  width: 100%;
  max-width: 100%;
  background: var(--bg);
  padding: env(safe-area-inset-top) 0 0;
  box-shadow: var(--shadow-md);
}
.search-overlay-header {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 12px 14px;
  border-bottom: 1px solid var(--border);
}
.search-overlay-input {
  flex: 1;
  font-family: var(--sans);
  font-size: 16px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--bg);
  color: var(--text);
  min-height: 44px;
}
.search-overlay-input:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px var(--gold-light);
}
.search-overlay-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
  padding: 6px;
  min-width: 40px;
  min-height: 40px;
  flex-shrink: 0;
}
.search-overlay-close:hover { color: var(--text); }

body.no-scroll { overflow: hidden !important; }

/* ── Filtros board: 1 linha mobile (3 selects flex 1) ── */
@media (max-width: 599px) {
  .board-controls {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    padding: 10px 0 !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .board-controls > select {
    flex: 1 1 0 !important;
    min-width: 0;
    width: auto !important;
    font-size: 11px !important;
    padding: 6px 8px !important;
    min-height: 36px !important;
  }
  .board-controls input {
    width: 100% !important;
    flex: 1 1 100%;
  }
}

/* ========================================
   33. ONDA B — Densidade + tipografia (v24.9.0)
   - Botões/inputs menores em todas as larguras.
   - Mono restringido a valores/labels técnicos.
   - Padding excessivo cortado.
   ======================================== */

/* Reduzir min-height de inputs em tablet (era 48px) */
@media (max-width: 1023px) {
  select, input[type="text"], input[type="search"], input[type="email"],
  input[type="url"], input[type="number"], input[type="date"],
  input[type="datetime-local"], textarea {
    min-height: 40px;
    font-size: 14px;
  }
  /* Em mobile mantém 16px pra prevenir zoom iOS */
}
@media (max-width: 599px) {
  select, input[type="text"], input[type="search"], input[type="email"],
  input[type="url"], input[type="number"], input[type="date"],
  input[type="datetime-local"], textarea {
    font-size: 16px; /* impede zoom iOS */
    min-height: 40px;
  }
}

/* Botões: touch-friendly em mobile mas não exagerado */
@media (max-width: 599px) {
  button, .btn-ghost, .btn-link {
    min-height: 40px;
  }
}

/* Tabs do header: padding mais econômico */
@media (max-width: 1023px) {
  .scout-tabs .tab,
  .nav-tab { padding: 10px 12px !important; }
}

/* Tipografia — mono SÓ em valores/labels técnicos */
/* Headers de seção viram sans (era mono em h3 do DS) */
h1, h2, h3 { font-family: var(--sans) !important; }

/* Card name e descrições — sans (já é, mas força) */
.card-name,
.card-info,
.card-sector,
.card-blurb,
.brief-card-blurb,
.modal-title,
.modal-body p,
.modal-body span:not(.value):not(.kpi-value):not(.score-value):not([class*=badge]):not([class*=stbadge]):not([class*=mb-]) {
  font-family: var(--sans);
}

/* Detail company name (h1 grande): sans */
.detail-header-v24 h1,
.detail-header-name { font-family: var(--sans) !important; font-weight: 700; }

/* Detail sub-tabs: continuam mono (label técnico) */

/* Modal contact — descrições e notas em sans, valores em mono */
.orbit-modal-section-title,
.orbit-modal-label { font-family: var(--mono); /* labels técnicos = mono */ }
.orbit-modal-value,
.orbit-modal-value-editable,
.orbit-modal-notes-input { font-family: var(--sans); /* texto humano = sans */ }

/* Veredicto / overview text: sans */
.veredicto-summary,
.tblock,
.section-block p,
.section-block li { font-family: var(--sans); }

/* Padding cortado em cards e blocos comuns (densidade) */
@media (max-width: 1023px) {
  .card { padding: 12px; }
  .detail-section { padding: 14px; }
  .section-block { padding: 14px; }
}
@media (max-width: 599px) {
  .card { padding: 10px; }
  .detail-section { padding: 10px; }
  .section-block { padding: 10px; }
}

/* ========================================
   34. ONDA C — Detail mobile revamp (v24.9.1)
   Tipografia hierárquica + densidade no detail.
   ======================================== */

/* Detail header (.dh) — usa classes dh-* que o detail.js renderiza */
.dh-name {
  font-family: var(--sans) !important;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.25;
  color: var(--gold);
}
.dh-meta {
  font-family: var(--sans) !important;
  font-size: 13px;
  color: var(--text-muted);
  font-weight: 400;
}
.dh-sector-icon { font-size: 14px; opacity: 0.7; }

/* Score pills/scores na header */
.dh .score-pill,
.dh-score-row,
.dh-row2,
.dh-row3 { font-family: var(--sans); }

/* Mobile: detail header denso + separator hidden */
@media (max-width: 599px) {
  .dh {
    padding: 12px 4px !important;
    gap: 6px;
  }
  .dh-row1,
  .dh-row2,
  .dh-row3 {
    flex-wrap: wrap !important;
    gap: 4px 8px !important;
    align-items: baseline;
  }
  .dh-name { font-size: 17px !important; }
  .dh-meta { font-size: 12px !important; }
  .dh-sep { display: none !important; }
  .dh-row2 .score-pill { font-size: 11px; padding: 3px 8px; }
  .dh-row3 { font-size: 12px; }
}

/* Section block title (Veredicto, etc) — sans, sem uppercase */
.section-block > h3,
.section-block-title,
.veredicto-title,
.tblock h3,
.tblock-title {
  font-family: var(--sans) !important;
  text-transform: none !important;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
}

/* Detail tabs — manter mono (label técnico) mas reduzir mobile */
@media (max-width: 599px) {
  .dtab-btn {
    font-size: 11px !important;
    padding: 8px 10px !important;
    min-height: 36px !important;
    min-width: auto !important;
  }
  .dtab-btn.active::after,
  .dtab-btn .tab-c-dot { display: none; } /* dots verdes do completude — ruído em mobile */
}

/* Detail OVERVIEW veredicto card */
@media (max-width: 599px) {
  .veredicto-card,
  .veredict-card { padding: 12px !important; }
  .tblock { padding: 10px 12px !important; }
}

/* ========================================
   35. ONDA F — Orbit polish (v24.9.1)
   Card header menor + botões padronizados.
   ======================================== */

/* Modal contact header — sync e close mesma formatação que advance/schedule */
.orbit-contact-modal .modal-header {
  padding: 10px 12px !important;
  gap: 6px;
  align-items: center;
}
.orbit-contact-modal .modal-title {
  text-transform: none !important;
  font-family: var(--sans) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}
.modal-title-group {
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: wrap;
  gap: 8px;
  flex: 1;
  min-width: 0;
}

/* Botões header do modal: 32x32, mesma cara que advance card */
.orbit-modal-header-actions {
  display: flex;
  gap: 4px;
  align-items: center;
  flex-shrink: 0;
}
.orbit-modal-header-actions button,
.orbit-contact-modal .modal-close,
.orbit-contact-modal #orbitModalSync,
.orbit-contact-modal .modal-header button {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  padding: 6px !important;
  border-radius: var(--radius-md) !important;
  border: 1px solid var(--border) !important;
  background: var(--bg) !important;
  color: var(--text-muted) !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--mono);
  font-size: 13px !important;
  line-height: 1 !important;
  white-space: nowrap;
  transition: all var(--ease-fast);
}
.orbit-modal-header-actions button:hover,
.orbit-contact-modal .modal-close:hover,
.orbit-contact-modal #orbitModalSync:hover,
.orbit-contact-modal .modal-header button:hover {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
}

/* Sync button: ícone só, sem texto longo */
#orbitModalSync {
  font-size: 0 !important; /* esconde texto */
}
#orbitModalSync::before {
  content: '↻';
  font-size: 14px;
}

/* Stage badge no header do modal — mais discreto */
.orbit-modal-stage {
  font-size: 10px !important;
  padding: 3px 8px !important;
  border-radius: var(--radius-sm);
  font-family: var(--mono);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  flex-shrink: 0;
}

/* Card kanban: header menor + botões 28x28 */
.orbit-card {
  padding: 10px 12px;
}
.orbit-card-header {
  gap: 6px;
  align-items: flex-start;
}
.orbit-card-name {
  font-family: var(--sans);
  font-size: 13px !important;
  font-weight: 600;
  line-height: 1.3;
}
.orbit-card-sub {
  font-size: 12px !important;
  line-height: 1.3;
  color: var(--text-muted);
  margin-top: 2px;
}
.orbit-card-actions {
  gap: 4px !important;
  flex-shrink: 0;
}
.orbit-card-advance,
.orbit-card-schedule,
.orbit-card-ata-btn {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  padding: 4px !important;
  font-size: 13px !important;
  border-radius: var(--radius-sm) !important;
  border: 1px solid var(--border) !important;
  background: var(--bg);
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  transition: all var(--ease-fast);
}
.orbit-card-advance:hover,
.orbit-card-schedule:hover,
.orbit-card-ata-btn:hover {
  border-color: var(--gold);
  color: var(--gold);
}

/* Mobile: card mais denso ainda */
@media (max-width: 599px) {
  .orbit-card {
    padding: 10px;
    margin-bottom: 6px;
  }
  .orbit-card-name { font-size: 14px !important; }
  .orbit-card-sub { font-size: 12px !important; }
}

/* ========================================
   36. DS v1.7 — Decisões Anna + cards enxutos
   Diretriz: menor, mais denso, info maximizada.
   ======================================== */

/* === Item 1: h3 volta pro DS (mono gold) mas MENOR (13 vs 16) === */
h1, h2 { font-family: var(--sans) !important; }
h3 {
  font-family: var(--mono) !important;
  color: var(--gold) !important;
  font-weight: 600;
  text-transform: none;
  font-size: 13px;
}
/* Section block titles voltam pro mono gold do DS (mais enxuto) */
.section-block > h3,
.section-block-title,
.veredicto-title,
.tblock h3,
.tblock-title {
  font-family: var(--mono) !important;
  color: var(--gold) !important;
  font-weight: 600 !important;
  text-transform: none !important;
  font-size: 13px !important;
  letter-spacing: 0;
}

/* === Item 2: modal title sans esquerda menor === */
.orbit-contact-modal .modal-title {
  font-family: var(--sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  text-align: left !important;
  color: var(--text) !important;
}

/* === Item 4: inputs MAIS enxutos (Anna: "atual mas grande") === */
/* Tablet (600-1023): 36/14 */
@media (min-width: 600px) and (max-width: 1023px) {
  select, input[type="text"], input[type="search"], input[type="email"],
  input[type="url"], input[type="number"], input[type="date"],
  input[type="datetime-local"], textarea {
    min-height: 36px !important;
    font-size: 14px !important;
  }
}
/* Phone (≤599): 40/16 (16 obrigatório anti-zoom iOS, não mexer) */
@media (max-width: 599px) {
  select, input[type="text"], input[type="search"], input[type="email"],
  input[type="url"], input[type="number"], input[type="date"],
  input[type="datetime-local"], textarea {
    min-height: 40px !important;
    font-size: 16px !important;
  }
}
/* Desktop: enxuga também */
select, input[type="text"], input[type="search"], input[type="email"],
input[type="number"], textarea {
  min-height: 32px;
}

/* === Item 9: dots completude voltam no detail tab mobile === */
@media (max-width: 599px) {
  .dtab-btn.active::after,
  .dtab-btn .tab-c-dot,
  .tab-c::after {
    display: inline-block !important;
  }
}

/* === Item A: Board card enxuto === */
.card-name { font-weight: 700 !important; color: var(--text) !important; }
.card-sector {
  font-size: 11px !important;
  color: var(--text-muted) !important;
  line-height: 1.3 !important;
  font-family: var(--sans);
}
.card-pill, .badge-mira, .card-info > .pill {
  font-size: 9px !important;
  padding: 1px 6px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px;
}
/* Score grid 5 colunas em 1 linha */
.card-badges, .badges,
.scout-card .badges {
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 3px !important;
}
.sbadge { padding: 4px 2px !important; }
.sbadge .sl { font-size: 8px !important; }
.sbadge .sv { font-size: 12px !important; }
/* Card blurb / fit-tweet sem caixa pesada */
.card-blurb, .fit-tweet, .brief-card-blurb,
.scout-card .blurb {
  font-size: 12px !important;
  color: var(--text-muted) !important;
  background: transparent !important;
  border: 0 !important;
  border-left: 2px solid var(--border) !important;
  padding: 6px 10px !important;
  border-radius: 0 !important;
  font-style: normal;
}
/* Dots menores */
.dots .dot { width: 5px !important; height: 5px !important; }

/* === Item B: Orbit card enxuto === */
.orbit-card-name {
  font-size: 13px !important;
  font-weight: 600 !important;
  font-family: var(--sans);
  line-height: 1.25 !important;
  color: var(--text) !important;
}
.orbit-card-sub, .orbit-card-role {
  font-size: 11px !important;
  font-family: var(--sans);
  color: var(--text-muted) !important;
  line-height: 1.3 !important;
}
/* Empresa em gold dentro do role */
.orbit-card-sub a,
.orbit-card-sub .orbit-card-company,
.orbit-card-company-name,
.orbit-card-sub > strong {
  color: var(--gold) !important;
  font-weight: 600;
}
/* Notes destacada com background suave + border-left */
.orbit-card-notes,
.orbit-card-cadence {
  font-size: 11px !important;
  color: var(--text) !important;
  font-style: normal !important;
  background: var(--surface) !important;
  padding: 4px 8px !important;
  border-left: 2px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  margin-top: 4px !important;
  line-height: 1.4 !important;
}
/* Meta row de warmth+data (se existir) */
.orbit-card-meta {
  display: flex;
  gap: 8px;
  align-items: center;
  font-family: var(--mono);
  font-size: 9px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin-top: 4px;
}

/* ========================================
   37. v24.10.0 — Modal harmonizado + detail header novo
   - Stage pill ultra-compacto (1 letra)
   - Fields harmonizados: tudo sans, label sans uppercase
   - Inputs editáveis "ghost" (border invisible default, visible hover/focus)
   - Detail header em 3 rows (identity + state + meta + metrics)
   ======================================== */

/* ── Stage pill compacto (1 letra) ── */
.orbit-modal-stage {
  display: inline-flex; align-items: center; justify-content: center;
  height: 22px; min-width: 22px;
  padding: 0 6px;
  border-radius: var(--radius-sm);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  flex-shrink: 0;
  line-height: 1;
}
/* Cores por stage id (já existe no DS) — preserva o background colorido */

/* ── Modal header reorganizado: 2 rows formais ── */
.orbit-contact-modal .modal-header {
  display: flex !important;
  flex-direction: row !important;
  gap: 6px !important;
  padding: 10px 12px !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
}
.orbit-contact-modal .modal-title-group {
  display: flex !important; align-items: center !important; gap: 6px !important;
  flex: 1; min-width: 0; flex-direction: row !important; flex-wrap: nowrap !important;
}
.orbit-contact-modal .modal-title {
  font-family: var(--sans) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: var(--text) !important;
  text-transform: none !important;
  text-align: left !important;
  flex: 1; min-width: 0;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  line-height: 1.3;
}
.orbit-contact-modal .orbit-modal-meta-row {
  font-family: var(--mono); font-size: 9px;
  color: var(--text-muted);
  text-transform: uppercase; letter-spacing: 0.3px;
  line-height: 1.4;
}

/* Fix sync button: remove hack font-size 0 (que duplicou ↻) */
.orbit-contact-modal #orbitModalSync {
  font-size: 13px !important;
}
.orbit-contact-modal #orbitModalSync::before { content: none !important; }

/* ── Modal fields HARMONIZADOS: tudo sans, label sans uppercase muted ── */
.orbit-modal-section { margin-bottom: 16px; }
.orbit-modal-section-title {
  font-family: var(--mono) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--gold) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 4px;
  margin-bottom: 8px;
}

.orbit-modal-grid {
  display: grid !important;
  grid-template-columns: 100px 1fr !important;
  gap: 4px 12px !important;
  align-items: baseline;
}
@media (min-width: 600px) {
  .orbit-modal-grid {
    grid-template-columns: 90px 1fr 90px 1fr !important;
  }
}

.orbit-modal-field {
  display: contents; /* deixa label e value virarem grid items diretos */
}
.orbit-modal-field-full {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: 100px 1fr !important;
  gap: 4px 12px !important;
}

/* Label HARMONIZADO: sans uppercase muted (não mono!) */
.orbit-modal-label {
  font-family: var(--sans) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: var(--text-muted) !important;
  padding-top: 6px;
  line-height: 1.3;
}

/* Value sans 13 text */
.orbit-modal-value {
  font-family: var(--sans) !important;
  font-size: 13px !important;
  color: var(--text) !important;
  padding: 4px 6px !important;
  min-height: 26px;
  line-height: 1.3;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
}
.orbit-modal-value:empty,
.orbit-modal-value.empty {
  color: var(--text-muted) !important;
  font-style: italic;
}

/* Input ghost — clicar pra editar (border invisible default, visible on hover/focus) */
.orbit-modal-value-editable,
.orbit-modal-edit,
input.orbit-modal-edit,
select.orbit-modal-edit,
textarea.orbit-modal-edit {
  font-family: var(--sans) !important;
  font-size: 13px !important;
  color: var(--text) !important;
  padding: 4px 6px !important;
  border: 1px solid transparent !important;
  border-radius: var(--radius-sm) !important;
  background: transparent !important;
  transition: border-color 0.15s, background 0.15s !important;
  width: 100% !important;
  min-height: 26px !important;
  line-height: 1.3 !important;
  cursor: text;
}
.orbit-modal-value-editable:hover,
.orbit-modal-edit:hover {
  border-color: var(--border) !important;
  background: var(--bg) !important;
}
.orbit-modal-value-editable:focus,
.orbit-modal-edit:focus {
  outline: none !important;
  border-color: var(--gold) !important;
  background: var(--bg) !important;
  box-shadow: 0 0 0 2px var(--gold-light) !important;
}
/* Mobile: input ghost um pouco maior pra touch + anti-zoom iOS */
@media (max-width: 599px) {
  .orbit-modal-value-editable,
  .orbit-modal-edit {
    font-size: 16px !important;
    min-height: 36px !important;
    padding: 6px 8px !important;
  }
  .orbit-modal-grid {
    grid-template-columns: 90px 1fr !important;
  }
  .orbit-modal-label { font-size: 9px !important; padding-top: 8px; }
}

/* ── Detail header (.dh) v2 — row1 + row-meta + row2 metrics ── */
.dh-sector-icon { display: none !important; }
.dh-sep { display: none !important; }

.dh-row1 {
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start;
}
.dh-name {
  font-family: var(--sans) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  color: var(--text) !important;
  line-height: 1.2 !important;
  flex: 1; min-width: 0;
}
@media (max-width: 599px) {
  .dh-name { font-size: 16px !important; }
}
.dh-state {
  display: inline-flex; align-items: center;
  height: 20px; padding: 0 8px;
  background: var(--gold-light); color: var(--gold);
  border-radius: var(--radius-sm);
  font-family: var(--mono); font-size: 9px;
  text-transform: uppercase; letter-spacing: 0.3px; font-weight: 600;
  flex-shrink: 0;
}
.dh-state.st-queued { background: var(--blue-light); color: var(--blue); }
.dh-state.st-inactive { background: rgba(107,114,128,0.1); color: var(--text-muted); }
.dh-state.st-excluido { background: var(--red-light); color: var(--red); }

.dh-row-meta {
  display: flex; flex-wrap: wrap; gap: 4px 8px;
  align-items: center;
  margin-top: 4px;
}
.dh-meta {
  font-family: var(--sans) !important;
  font-size: 12px !important;
  color: var(--text-muted) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.dh-geo {
  font-family: var(--mono); font-size: 9px;
  color: var(--text-muted);
  text-transform: uppercase; letter-spacing: 0.3px;
  padding: 2px 6px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  margin-left: auto;
  flex-shrink: 0;
}
@media (max-width: 599px) {
  .dh-meta { font-size: 11px !important; }
  .dh-row-meta { gap: 4px 6px; }
}

/* ========================================
   38. v24.10.1 — Polish geral modal + card
   - Origens combo (chips dentro do input)
   - Notas simples sem linhas cinzas
   - Salvar+Interpretar mesma linha
   - To-do compacto e tipográfico
   - Agendar/Transcrição denso
   - Encaminhamento alinhado
   - Card pessoa header em uma linha
   ======================================== */

/* ── Origens combo: chips dentro do input wrap ── */
.orbit-origins {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  width: 100%;
}
.orbit-origins-input-wrap {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  padding: 4px 6px !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  background: var(--bg) !important;
  min-height: 32px;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.orbit-origins-input-wrap:focus-within {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 2px var(--gold-light) !important;
}
/* Chips agora flutuam dentro do input wrap, antes do input */
.orbit-origins-chips {
  display: contents !important; /* deixa filhos virem direto pro flex do parent */
}
.orbit-origins-chip {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  height: 22px;
  padding: 0 6px 0 8px;
  background: var(--gold-light);
  color: var(--gold);
  border-radius: var(--radius-sm);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  flex-shrink: 0;
}
.orbit-origins-chip-x {
  cursor: pointer;
  opacity: 0.6;
  font-size: 11px;
  padding: 0 2px;
  line-height: 1;
}
.orbit-origins-chip-x:hover { opacity: 1; color: var(--red); }
.orbit-origins-input {
  flex: 1 !important;
  min-width: 80px !important;
  border: 0 !important;
  background: transparent !important;
  padding: 4px 0 !important;
  font-family: var(--sans) !important;
  font-size: 12px !important;
  outline: none !important;
  box-shadow: none !important;
  min-height: auto !important;
  color: var(--text) !important;
}
.orbit-origins-input:focus { box-shadow: none !important; border: 0 !important; }
.orbit-origins-dropdown {
  position: absolute;
  top: 100%; left: 0; right: 0;
  margin-top: 2px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-md);
  z-index: 50;
  max-height: 180px;
  overflow-y: auto;
}
.orbit-label-qualifier { font-weight: 400; font-style: normal; opacity: 0.7; }

/* ── Notas: simples, sem linhas cinzas ── */
.orbit-modal-notes-existing {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 8px;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}
.orbit-modal-note-line {
  font-family: var(--sans);
  font-size: 12px;
  color: var(--text);
  line-height: 1.45;
  padding: 4px 8px;
  border-left: 2px solid var(--border);
  border-bottom: 0 !important;
  background: transparent !important;
  border-radius: 0;
}
.orbit-modal-note-line:hover { border-left-color: var(--gold); }

/* ── Salvar + Interpretar: row com btn-ghost padrão ── */
.orbit-modal-notes-new-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px;
}
.orbit-modal-notes-input,
textarea.orbit-modal-notes-input {
  width: 100% !important;
  min-height: 56px !important;
  padding: 8px 10px !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  resize: vertical !important;
  box-sizing: border-box;
}
@media (max-width: 599px) {
  .orbit-modal-notes-input { font-size: 16px !important; }
}
.orbit-modal-actions {
  display: flex !important;
  gap: 6px !important;
  justify-content: flex-end !important;
  flex-wrap: wrap;
}
.orbit-modal-actions .btn-ghost {
  padding: 6px 12px !important;
  font-size: 11px !important;
  min-height: 32px !important;
}

/* ── To-Dos compactos ── */
.orbit-modal-todos {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.orbit-modal-todo-item {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 4px 6px !important;
  border-radius: var(--radius-sm);
  background: transparent;
  font-family: var(--sans);
  font-size: 12px;
  border-bottom: 0 !important;
  transition: background 0.1s;
}
.orbit-modal-todo-item:hover { background: var(--surface); }
.orbit-modal-todo-check {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  padding: 0 !important;
  border: 1.5px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  background: var(--bg) !important;
  font-size: 0 !important;
  cursor: pointer;
  flex-shrink: 0;
}
.orbit-modal-todo-check:hover { border-color: var(--gold) !important; background: var(--gold-light) !important; }
.orbit-modal-todo-prio {
  font-size: 10px !important;
  flex-shrink: 0;
  width: 14px;
  text-align: center;
}
.orbit-modal-todo-title-edit {
  flex: 1 !important;
  min-height: 24px !important;
  padding: 2px 6px !important;
  font-family: var(--sans) !important;
  font-size: 12px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  border-radius: var(--radius-sm) !important;
  min-width: 0;
}
.orbit-modal-todo-title-edit:hover { border-color: var(--border) !important; background: var(--bg) !important; }
.orbit-modal-todo-title-edit:focus { border-color: var(--gold) !important; background: var(--bg) !important; outline: 0 !important; box-shadow: 0 0 0 2px var(--gold-light) !important; }
.orbit-modal-todo-due-edit {
  flex: 0 0 auto !important;
  width: 110px !important;
  min-height: 24px !important;
  padding: 2px 6px !important;
  font-family: var(--mono) !important;
  font-size: 10px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  border-radius: var(--radius-sm) !important;
  color: var(--text-muted);
}
.orbit-modal-todo-due-edit:hover { border-color: var(--border) !important; background: var(--bg) !important; }
.orbit-modal-todo-prio-edit {
  width: 32px !important;
  min-height: 24px !important;
  padding: 0 !important;
  font-size: 11px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  text-align: center;
}
.orbit-modal-todo-prio-edit:hover { border-color: var(--border) !important; background: var(--bg) !important; }
.orbit-modal-todo-delete {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--text-muted) !important;
  font-size: 11px !important;
  opacity: 0.5;
  cursor: pointer;
  flex-shrink: 0;
}
.orbit-modal-todo-delete:hover { opacity: 1; color: var(--red) !important; }
.orbit-modal-todo-source {
  font-family: var(--mono);
  font-size: 8px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  flex-shrink: 0;
}
.orbit-modal-todo-completed {
  opacity: 0.55;
}
.orbit-modal-todo-title-done {
  text-decoration: line-through;
  color: var(--text-muted);
  font-size: 11px;
}
.orbit-modal-todo-check-done {
  font-size: 12px;
  color: var(--gold);
  width: 16px; text-align: center; flex-shrink: 0;
}
.orbit-modal-todo-done-header {
  font-family: var(--mono);
  font-size: 9px;
  text-transform: uppercase;
  color: var(--text-muted);
  letter-spacing: 0.5px;
  margin-top: 6px;
  padding: 4px 6px;
}

/* Add to-do row compacto */
.orbit-modal-todo-add-row {
  display: flex !important;
  gap: 4px !important;
  margin-top: 6px !important;
}
.orbit-modal-todo-input {
  flex: 1 !important;
  min-height: 32px !important;
  padding: 6px 8px !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
}
.orbit-modal-todo-date {
  width: 130px !important;
  min-height: 32px !important;
  padding: 4px 6px !important;
  font-family: var(--mono) !important;
  font-size: 11px !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
}
.orbit-modal-todo-add-row .btn-ghost {
  padding: 0 12px !important;
  font-size: 11px !important;
  min-height: 32px !important;
}

/* ── Agendar Reunião compacto ── */
.orbit-modal-schedule-row {
  display: grid !important;
  grid-template-columns: 1fr auto auto auto !important;
  gap: 4px !important;
  align-items: center;
}
@media (max-width: 599px) {
  .orbit-modal-schedule-row {
    grid-template-columns: 1fr 1fr !important;
  }
  .orbit-modal-schedule-btn { grid-column: 1 / -1; }
}
.orbit-modal-schedule-title,
.orbit-modal-schedule-datetime {
  min-height: 32px !important;
  padding: 6px 8px !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
}
.orbit-modal-sched-duration {
  width: 60px !important;
  min-height: 32px !important;
  padding: 6px 8px !important;
  text-align: center;
  font-family: var(--mono) !important;
  font-size: 12px !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
}
.orbit-modal-schedule-btn {
  padding: 6px 12px !important;
  font-size: 11px !important;
  min-height: 32px !important;
  white-space: nowrap;
}
.orbit-textarea,
textarea.orbit-textarea {
  width: 100% !important;
  padding: 8px 10px !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  resize: vertical !important;
  box-sizing: border-box;
  min-height: 56px;
}
@media (max-width: 599px) {
  .orbit-textarea { font-size: 16px !important; }
}

/* ── Encaminhamentos: tabs e form alinhados ── */
.orbit-modal-referrals-list { display: flex; flex-direction: column; gap: 4px; }
.orbit-modal-referral-item {
  display: flex; align-items: center; gap: 8px;
  padding: 6px 8px;
  border-left: 2px solid var(--border);
  background: transparent;
  font-family: var(--sans);
  font-size: 12px;
  border-radius: 0;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
}
.orbit-modal-referral-item:hover {
  border-left-color: var(--gold);
  background: var(--surface);
}
.orbit-modal-referral-form {
  margin-top: 8px;
  padding: 10px;
  background: var(--surface);
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
}
.orbit-modal-referral-form .flex-row {
  display: flex !important;
  gap: 4px !important;
  margin-bottom: 8px;
}
.orbit-ref-tab {
  flex: 1;
  padding: 6px 10px !important;
  font-size: 11px !important;
  min-height: 32px !important;
  background: var(--bg) !important;
  border: 1px solid var(--border) !important;
  cursor: pointer;
  border-radius: var(--radius-sm);
  font-family: var(--mono);
  text-transform: uppercase;
  color: var(--text-muted);
}
.orbit-ref-tab.active {
  background: var(--gold-light) !important;
  border-color: var(--gold) !important;
  color: var(--gold) !important;
}
.orbit-modal-referral-search-results {
  max-height: 200px;
  overflow-y: auto;
  margin-top: 6px;
  background: var(--bg);
  border-radius: var(--radius-sm);
}
.orbit-modal-referral-search-results > * {
  padding: 6px 8px;
  border-bottom: 1px solid var(--border);
  font-family: var(--sans);
  font-size: 12px;
  cursor: pointer;
}
.orbit-modal-referral-search-results > *:last-child { border-bottom: 0; }
.orbit-modal-referral-search-results > *:hover { background: var(--surface); }
.input-stack {
  display: flex; flex-direction: column; gap: 6px;
}
.input-stack input {
  min-height: 32px !important;
  padding: 6px 8px !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
}

/* ── Card pessoa header em uma linha ── */
.orbit-card-header.orbit-card-header-inline {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: nowrap !important;
  width: 100%;
  min-width: 0;
}
.orbit-card-header-inline .orbit-card-name {
  flex-shrink: 0;
  font-family: var(--sans) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  color: var(--text) !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 50%;
}
.orbit-card-sub-inline {
  flex: 1;
  min-width: 0;
  font-family: var(--sans);
  font-size: 11px;
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}
.orbit-card-sub-inline .orbit-card-company {
  color: var(--gold);
  font-weight: 600;
}
.orbit-card-header-inline .orbit-card-actions {
  flex-shrink: 0;
  margin-left: auto;
}
@media (max-width: 599px) {
  .orbit-card-header-inline .orbit-card-name { font-size: 13px !important; max-width: 45%; }
  .orbit-card-sub-inline { font-size: 11px; }
}

/* Notes do card mais discreto (não editorial) */
.orbit-card-notes {
  font-family: var(--sans) !important;
  font-size: 11px !important;
  color: var(--text) !important;
  font-style: normal !important;
  background: var(--surface) !important;
  padding: 4px 8px !important;
  border-left: 2px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  margin-top: 4px !important;
  line-height: 1.4 !important;
}

/* ========================================
   39. v24.10.3 — 10 fixes card pessoa Orbit
   ======================================== */

/* === 4. Tudo alinhado à esquerda === */
.orbit-modal-section,
.orbit-modal-grid,
.orbit-modal-field,
.orbit-modal-label,
.orbit-modal-value,
.orbit-modal-value-editable,
.orbit-modal-edit {
  text-align: left !important;
}

/* === 3. Vazios mostram --- (placeholder visual) === */
.orbit-modal-edit:placeholder-shown,
.orbit-modal-value-editable:placeholder-shown {
  /* placeholder vira valor mais visível */
}
.orbit-modal-edit::placeholder,
.orbit-modal-value-editable::placeholder {
  color: var(--text-muted) !important;
  font-style: italic;
  opacity: 0.6;
}
/* Placeholder específico vazio = "—" */
.orbit-modal-edit[value=""]:not(:focus)::before,
.orbit-modal-edit:placeholder-shown:not(:focus) {
  /* nothing extra — placeholder text já vai */
}

/* === 5. Link WhatsApp === */
.orbit-modal-field-wrap {
  display: flex;
  align-items: center;
  gap: 4px;
  width: 100%;
}
.orbit-modal-field-wrap input { flex: 1; }
.orbit-modal-whats-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: var(--radius-sm);
  background: var(--green-light);
  color: var(--green);
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  flex-shrink: 0;
  transition: all 0.15s;
}
.orbit-modal-whats-link:hover {
  background: var(--green);
  color: white;
}

/* === 6. Salvar + Interpretar mesma largura === */
.orbit-modal-actions {
  display: flex !important;
  gap: 6px !important;
}
.orbit-modal-notes-new-row .orbit-modal-actions .btn-ghost {
  flex: 1 1 0 !important;
  text-align: center !important;
  justify-content: center !important;
}

/* === 7. To-do: sem caixa ao redor (já era simples, reforçando) === */
.orbit-modal-todos {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}
.orbit-modal-todo-item {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 0 !important;
}
.orbit-modal-todo-item:hover {
  background: var(--surface) !important;
}
/* tira o emoji prio antes do title (redundante com select) */
.orbit-modal-todo-prio { display: none !important; }
/* source: pequeno e discreto */
.orbit-modal-todo-source {
  font-family: var(--mono) !important;
  font-size: 8px !important;
  color: var(--text-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
  padding: 1px 4px;
  background: var(--surface);
  border-radius: var(--radius-sm);
}

/* === 9+10. Perfil pessoal e Inteligência viram details collapsible === */
.orbit-modal-collapsible {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 0 !important;
  margin-bottom: 8px;
  overflow: hidden;
  background: var(--bg);
}
.orbit-modal-collapsible > summary {
  cursor: pointer;
  list-style: none;
  padding: 8px 12px;
  margin: 0 !important;
  background: var(--surface);
  border-bottom: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  user-select: none;
}
.orbit-modal-collapsible > summary::-webkit-details-marker { display: none; }
.orbit-modal-collapsible > summary::before {
  content: '▶';
  font-size: 9px;
  color: var(--text-muted);
  transition: transform 0.15s;
}
.orbit-modal-collapsible[open] > summary::before {
  transform: rotate(90deg);
}
.orbit-modal-collapsible[open] > summary {
  border-bottom: 1px solid var(--border);
}
.orbit-modal-collapsible > *:not(summary) {
  padding: 10px 12px;
}

/* === 2 (refinar). Origens: garantir que chips fiquem dentro do wrap, não fora === */
/* Hoje HTML é: .orbit-origins > .orbit-origins-chips + .orbit-origins-input-wrap > input + dropdown */
/* Vou forçar chips a virarem filhos diretos do wrap visualmente: */
.orbit-origins {
  display: flex !important;
  flex-direction: column !important;
  width: 100%;
}
/* O wrap visual une chips + input numa caixa só */
.orbit-origins-input-wrap {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  align-items: center !important;
  padding: 4px 6px !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  background: var(--bg) !important;
  min-height: 32px !important;
}
/* DEAD-17 (Kai 2026-07-26): dup .orbit-origins-input-wrap:focus-within removida (idêntica à linha ~7565) */
/* Trazer chips visualmente pra DENTRO do wrap (workaround pra HTML estrutura existente):
   chips ficam ANTES do wrap no DOM, mas com margin negativo + grupo flex */
.orbit-origins .orbit-origins-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  align-items: center !important;
  padding: 4px 6px 0 !important;
  border: 1px solid var(--border) !important;
  border-bottom: 0 !important;
  border-radius: var(--radius-sm) var(--radius-sm) 0 0 !important;
  background: var(--bg) !important;
}
.orbit-origins .orbit-origins-chips:empty { display: none !important; }
.orbit-origins .orbit-origins-chips:not(:empty) + .orbit-origins-input-wrap {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
  border-top: 0 !important;
  margin-top: 0 !important;
}
/* Chip menor, com X inline */
.orbit-origins-chip,
.orbit-origins-chips > * {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  height: 22px !important;
  padding: 0 4px 0 8px !important;
  background: var(--gold-light) !important;
  color: var(--gold) !important;
  border-radius: var(--radius-sm) !important;
  font-family: var(--mono) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

/* === 1 (CSS). Sync sem texto, só ícone (já mudei JS, mas garantir tamanho compacto) === */
#orbitModalSync {
  width: 32px !important;
  min-width: 32px !important;
  padding: 6px !important;
  font-size: 14px !important;
}

/* ========================================
   40. v24.10.4 — Detail empresa: 6 fixes
   - Veredicto inline sem h3
   - 7 indicadores em 1 linha com hover hints
   - Profile + Snapshot 2-col
   - CNPJs scroll
   - Tabelas fonte uniforme
   - Comunicação 4 cols
   ======================================== */

/* === Item 1: Decision box inline === */
.decision-box-inline {
  padding: 10px 14px !important;
}
.decision-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.decision-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: var(--gold-light);
  border-radius: var(--radius-sm);
  flex-shrink: 0;
}
.decision-num {
  font-family: var(--mono);
  font-size: 16px;
  font-weight: 700;
  color: var(--gold);
  line-height: 1;
}
.decision-label {
  font-family: var(--mono);
  font-size: 9px;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 600;
}
.decision-desc {
  flex: 1;
  font-family: var(--sans);
  font-size: 12px;
  color: var(--text);
  line-height: 1.5;
  margin: 0;
  min-width: 200px;
}

/* === Item 2: 7 indicadores em 1 linha === */
.ind-row {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  margin: 8px 0;
}
.ind-card {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 6px 4px;
  text-align: center;
  cursor: help;
  transition: border-color 0.15s;
}
.ind-card:hover { border-color: var(--gold); }
.ind-lbl {
  font-family: var(--mono);
  font-size: 8px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  font-weight: 600;
}
.ind-val {
  font-family: var(--mono);
  font-size: 14px;
  font-weight: 700;
  margin-top: 2px;
  line-height: 1;
}
.ind-gauge {
  height: 2px;
  background: var(--border);
  border-radius: 1px;
  overflow: hidden;
  margin-top: 4px;
}
.ind-gauge-fill { height: 100%; }

@media (max-width: 1023px) {
  .ind-row { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 599px) {
  .ind-row { grid-template-columns: repeat(4, 1fr); gap: 3px; }
  .ind-card { padding: 4px 2px; }
  .ind-val { font-size: 13px; }
}

/* === Item 4: CNPJs scroll === */
.cnpj-scroll-wrap {
  max-height: 140px;
  overflow-y: auto;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  -webkit-overflow-scrolling: touch;
}
.cnpj-scroll-wrap table { margin: 0; }
.cnpj-scroll-wrap thead th {
  position: sticky;
  top: 0;
  background: var(--surface);
  z-index: 1;
}

/* === Item 5: Tabelas fonte uniforme === */
/* Body cells TODAS em sans, mesma cor, mesmo tamanho — só header é mono */
.dtable th {
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text);
  background: var(--surface);
  padding: 6px 8px;
  border-bottom: 2px solid var(--border);
  text-align: left;
}
.dtable td {
  font-family: var(--sans) !important;
  font-size: 12px !important;
  color: var(--text) !important;
  padding: 6px 8px !important;
  border-bottom: 1px solid var(--border);
  vertical-align: top;
  line-height: 1.4;
}
/* col-num/col-money/col-mono mantêm peso/cor mas NÃO mudam fonte */
.dtable td.col-num,
.dtable td.col-money,
.dtable td.col-mono {
  font-family: var(--sans) !important;
  font-weight: 600 !important;
  text-align: right !important;
}
.dtable td.col-date {
  font-family: var(--sans) !important;
  font-size: 11px !important;
  color: var(--text-muted) !important;
}
.dtable td.kv-label {
  font-family: var(--mono) !important;
  font-size: 10px !important;
  color: var(--text-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
  font-weight: 600 !important;
  width: 110px;
  vertical-align: top;
}

/* === Item 6: Comunicação tabela 4 cols === */
.rep-table {
  table-layout: fixed;
  width: 100%;
}
.rep-col-fonte { width: 14%; }
.rep-col-summary { width: 56%; }
.rep-col-sent { width: 18%; }
.rep-col-score { width: 12%; text-align: right; }
.rep-summary {
  word-wrap: break-word;
  white-space: normal !important;
}
.rep-highlights-lbl {
  color: var(--gold);
  font-weight: 600;
}
.rep-reviews {
  font-size: 9px;
  color: var(--text-muted);
}
.rep-table td.rep-score {
  font-weight: 600;
  text-align: right;
}

/* ========================================
   41. v24.10.5 — MIRA refator (5 sblocks)
   ======================================== */

/* Score Final block: hero + indicators */
.mira-score-block { padding: 12px 14px !important; }
.mira-score-top {
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 8px;
}
.mira-score-hero {
  text-align: center;
}
.mira-score-hero .score-hero {
  font-family: var(--mono);
  font-size: 36px;
  font-weight: 700;
  display: block;
  line-height: 1;
}
.mira-score-hero .score-formula {
  font-family: var(--mono);
  font-size: 10px;
  color: var(--text-muted);
  margin-top: 4px;
  letter-spacing: 0.3px;
}
.mira-meta {
  font-family: var(--mono);
  font-size: 9px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  text-align: center;
  margin-top: 8px;
  padding-top: 6px;
  border-top: 1px dashed var(--border);
}

/* MIRA fit/leverage/ici lists — gauge horizontal compacto */
.mira-fit-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 10px;
}
.mira-fit-row {
  display: grid;
  grid-template-columns: 130px 1fr 50px;
  gap: 8px;
  align-items: center;
  padding: 3px 0;
}
.mira-fit-label {
  font-family: var(--sans);
  font-size: 12px;
  color: var(--text);
  font-weight: 500;
}
.mira-fit-label-indent {
  font-family: var(--sans);
  font-size: 11px;
  color: var(--text-muted);
  padding-left: 12px;
}
.mira-fit-row .gauge {
  height: 4px;
  background: var(--border);
  border-radius: 2px;
  overflow: hidden;
}
.mira-fit-row .gauge-fill {
  height: 100%;
  border-radius: 2px;
}
.mira-fit-val {
  font-family: var(--sans) !important;
  font-size: 12px !important;
  font-weight: 600;
  text-align: right;
}

/* MIRA index grid (FIT indices, leverage components) */
.mira-idx-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4px 12px;
  margin-bottom: 10px;
}
@media (max-width: 599px) {
  .mira-idx-grid { grid-template-columns: 1fr; }
}
.mira-idx-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 8px;
  background: var(--surface);
  border-radius: var(--radius-sm);
  font-family: var(--sans);
  font-size: 12px;
}
.mira-idx-row > span:first-child { color: var(--text); }

.mira-sub-title {
  font-family: var(--mono);
  font-size: 10px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 600;
  margin: 12px 0 6px;
  padding-bottom: 3px;
  border-bottom: 1px dashed var(--border);
}
.mira-sub-title:first-child { margin-top: 0; }

/* MIRA collapsibles (FIT indices, validação accordion) */
.mira-collapsible {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  margin: 6px 0;
  overflow: hidden;
}
.mira-collapsible > summary {
  cursor: pointer;
  list-style: none;
  padding: 8px 12px;
  background: var(--surface);
  font-family: var(--mono);
  font-size: 11px;
  color: var(--text);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 6px;
  user-select: none;
}
.mira-collapsible > summary::-webkit-details-marker { display: none; }
.mira-collapsible > summary::before {
  content: '▶';
  font-size: 9px;
  color: var(--text-muted);
  transition: transform 0.15s;
}
.mira-collapsible[open] > summary::before { transform: rotate(90deg); }
.mira-collapsible[open] > summary { border-bottom: 1px solid var(--border); }
.mira-collapsible > *:not(summary) {
  padding: 10px 12px;
}
.mira-validation-inner {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* ========================================
   42. v24.10.7 — 6 fixes finais card pessoa
   ======================================== */

/* === To-dos: pending e completed com mesmo padrão visual === */
.orbit-modal-todo-completed {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 4px 6px !important;
  border: 0 !important;
  background: transparent !important;
  border-bottom: 0 !important;
}
.orbit-modal-todo-completed:hover { background: var(--surface) !important; }
.orbit-modal-todo-check-done {
  width: 16px !important;
  height: 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--gold) !important;
  color: white !important;
  border-radius: var(--radius-sm) !important;
  font-size: 10px !important;
  flex-shrink: 0 !important;
}
.orbit-modal-todo-title-done,
.orbit-modal-todo-title.orbit-modal-todo-title-done {
  font-family: var(--sans) !important;
  font-size: 12px !important;
  color: var(--text-muted) !important;
  text-decoration: line-through !important;
  flex: 1 !important;
}
.orbit-modal-todo-done-header {
  font-family: var(--mono);
  font-size: 9px;
  text-transform: uppercase;
  color: var(--text-muted);
  letter-spacing: 0.5px;
  margin: 8px 0 4px;
  padding: 0 6px;
  font-weight: 600;
}

/* === Origens: input wrap fica menor quando placeholder é só "+" === */
.orbit-origins-input {
  text-align: left;
}
.orbit-origins-input::placeholder {
  font-size: 14px;
  font-weight: 400;
  opacity: 0.5;
}

/* ========================================
   43. v24.10.8 — Indicadores enxutos (sem gauge)
   ======================================== */

/* Indicador agora: só label + valor colorido, mais respiro vertical */
.ind-card {
  padding: 8px 4px !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
}
.ind-lbl {
  font-size: 9px !important;
  letter-spacing: 0.4px !important;
}
.ind-val {
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  margin-top: 0 !important;
}
@media (max-width: 599px) {
  .ind-val { font-size: 16px !important; }
  .ind-card { padding: 6px 2px !important; }
}
/* Gauges escondidos (agora removidos do HTML, mas garantia se algum vier de cache) */
.ind-gauge { display: none !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   §43 — v24.10.9: Orbit modal cleanup
   - Origens em 1 linha (chips + input + lupa "+" inline)
   - Notes/Transcrição: Salvar + Interpretar com tamanho dos outros btn-ghost
   - 6 sections viraram <details> (Notas, To-Dos, Agendar, Transcrição,
     Encaminhamentos, Histórico) — herdam estilo de .orbit-modal-collapsible
   ═══════════════════════════════════════════════════════════════════════════ */

/* === Origens: caixa única em 1 linha (chips e input mesma row) === */
.orbit-modal-field-full > .orbit-origins {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 4px !important;
  width: 100% !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm, 4px) !important;
  background: var(--bg) !important;
  padding: 4px 6px !important;
  min-height: 32px !important;
  position: relative !important;
}
.orbit-modal-field-full > .orbit-origins:focus-within {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 2px var(--gold-light) !important;
}
/* Chips host: vira contents pra filhos (chips) virarem flex items diretos */
.orbit-modal-field-full > .orbit-origins > .orbit-origins-chips {
  display: contents !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Input wrap: agora flex item normal, sem border próprio */
.orbit-modal-field-full > .orbit-origins > .orbit-origins-input-wrap {
  flex: 1 1 80px !important;
  min-width: 60px !important;
  display: flex !important;
  align-items: center !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  position: static !important;
  box-shadow: none !important;
}
.orbit-modal-field-full > .orbit-origins > .orbit-origins-input-wrap:focus-within {
  border: 0 !important;
  box-shadow: none !important;
}
.orbit-modal-field-full > .orbit-origins .orbit-origins-input {
  border: 0 !important;
  background: transparent !important;
  padding: 2px 4px !important;
  width: 100% !important;
  min-width: 40px !important;
  font-size: var(--text-small) !important;
  outline: none !important;
}
.orbit-modal-field-full > .orbit-origins .orbit-origins-input:focus {
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}
/* Dropdown agora ancora no .orbit-origins (a caixa toda) */
.orbit-modal-field-full > .orbit-origins .orbit-origins-dropdown {
  position: absolute !important;
  top: calc(100% + 2px) !important;
  left: 0 !important;
  right: 0 !important;
}
/* Esconde hint vazio quando integrado na caixa */
.orbit-modal-field-full > .orbit-origins .orbit-tags-hint { display: none !important; }

/* === Notas/Transcrição: Salvar + Interpretar mesmo tamanho dos outros === */
/* Override pra cancelar flex 1 1 0 que esticava esses dois */
.orbit-modal-notes-new-row .orbit-modal-actions,
.orbit-modal-section .orbit-modal-actions {
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
}
.orbit-modal-notes-new-row .orbit-modal-actions .btn-ghost,
.orbit-modal-section .orbit-modal-actions .btn-ghost {
  flex: 0 0 auto !important;
  padding: 6px 12px !important;
  font-size: 11px !important;
  min-height: 32px !important;
  width: auto !important;
}
/* AI button no Notes: cancelar regras antigas que mudavam tamanho */
.orbit-modal-ai-btn {
  font-size: 11px !important;
  margin-top: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   §44 — v24.10.16: Orbit modal — 8 fixes aprovados via compare-modal-v16
   1. Cache de to-dos (JS)
   2. Fontes uniformes — sans 13 em todos inputs/selects/textareas
   3. Alinhamento esquerda Dados — padding-left 0 + text-indent 0 + margin 0
   4. Mobile: check 22px forçado, max-width 110px no date, overflow hidden
   5. Linhas cinzas uniformes — padding 4px 0 em .orbit-modal-field
   6. Botão Enviar Invite — 32px sans 12 alinhado direita
   7. Pauta full width (igual Notas Pessoais)
   8. Botão Encaminhar — sans 12 alinhado direita, sem caps/mono
   ═══════════════════════════════════════════════════════════════════════════ */

/* === ITEM 2 + 3 + 5: tipografia uniforme + alinhamento + linhas simétricas === */
/* Override do .orbit-modal-grid legacy (era 90px 1fr 90px 1fr no desktop, juntava 4 fields/linha) */
.orbit-contact-modal .orbit-modal-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
}
@media (min-width: 600px) {
  .orbit-contact-modal .orbit-modal-grid {
    grid-template-columns: 1fr 1fr !important;
    column-gap: 24px !important;
  }
}
.orbit-contact-modal .orbit-modal-field {
  display: grid !important;
  grid-template-columns: 88px 1fr !important;
  gap: 8px !important;
  align-items: center !important;
  padding: 4px 0 !important;
  border-bottom: 1px solid var(--border) !important;
  min-height: 32px !important;
  box-sizing: border-box !important;
}
.orbit-contact-modal .orbit-modal-field:last-child {
  border-bottom: 0 !important;
}
.orbit-contact-modal .orbit-modal-field-full {
  grid-column: 1 / -1 !important;
  grid-template-columns: 1fr !important;
  gap: 4px !important;
  padding: 6px 0 !important;
}
.orbit-contact-modal .orbit-modal-field input:not([type=checkbox]):not([type=radio]):not(.orbit-origins-input),
.orbit-contact-modal .orbit-modal-field select,
.orbit-contact-modal .orbit-modal-field textarea {
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1.3 !important;
  height: 28px !important;
  padding: 4px 0 !important;     /* alinhamento esquerda — item 3 */
  margin: 0 !important;
  text-indent: 0 !important;
  border: 0 !important;
  background: transparent !important;
  outline: none !important;
  box-shadow: none !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.orbit-contact-modal .orbit-modal-field textarea {
  height: auto !important;
  min-height: 48px !important;
  line-height: 1.4 !important;
  resize: vertical !important;
}
.orbit-contact-modal .orbit-modal-field input:focus,
.orbit-contact-modal .orbit-modal-field select:focus,
.orbit-contact-modal .orbit-modal-field textarea:focus {
  outline: none !important;
  box-shadow: 0 0 0 2px var(--gold-light, rgba(217,119,6,0.2)) !important;
  border-radius: 4px !important;
}
.orbit-contact-modal .orbit-modal-label {
  font-family: var(--mono) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.4px !important;
  color: var(--text-muted) !important;
}
.orbit-contact-modal .orbit-modal-section-title {
  font-family: var(--mono) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

/* === ITEM 6: Botão Enviar Invite — 32px sans alinhado direita === */
.orbit-modal-schedule-btn {
  display: block !important;
  width: auto !important;
  min-width: 140px !important;
  height: 32px !important;
  padding: 6px 12px !important;
  font-family: var(--sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 12px 0 0 auto !important;  /* alinha direita */
}

/* === ITEM 7: Pauta full width (textarea em .orbit-modal-field-full) === */
.orbit-contact-modal .orbit-modal-field-full > textarea,
.orbit-contact-modal .orbit-modal-field-full .orbit-textarea {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  box-sizing: border-box !important;
}

/* === ITEM 8: Botão Encaminhar — sans 12 alinhado direita === */
#orbitModalReferralToggle {
  display: block !important;
  width: auto !important;
  margin: 8px 0 0 auto !important;
  padding: 6px 12px !important;
  font-family: var(--sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  background: transparent !important;
}

/* === PADRÃO ÚNICO DE BOTÃO no modal — neutro, sans 12, sem cor especial === */
/* Excluídos: close ✕, mark/check/delete do to-do, x das tags origens, x dos chips */
.orbit-contact-modal button:not(.modal-close):not(.orbit-modal-todo-mark):not(.orbit-modal-todo-delete):not(.orbit-modal-todo-check):not(.orbit-origin-chip-x):not(.orbit-origins-chip-x):not(.orbit-modal-whats-link),
.orbit-contact-modal .btn-ghost,
.orbit-contact-modal .orbit-modal-advance,
.orbit-contact-modal .orbit-modal-schedule-btn,
.orbit-contact-modal #orbitModalReferralToggle,
.orbit-contact-modal .orbit-modal-intel-trigger,
.orbit-contact-modal .orbit-modal-todo-add {
  font-family: var(--sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  height: 32px !important;
  padding: 6px 12px !important;
  border: 1px solid var(--border) !important;
  background: transparent !important;
  color: var(--text) !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  transition: background 0.15s, border-color 0.15s !important;
  box-shadow: none !important;
}
.orbit-contact-modal button:not(.modal-close):not(.orbit-modal-todo-mark):not(.orbit-modal-todo-delete):not(.orbit-modal-todo-check):not(.orbit-origin-chip-x):not(.orbit-origins-chip-x):not(.orbit-modal-whats-link):hover,
.orbit-contact-modal .btn-ghost:hover,
.orbit-contact-modal .orbit-modal-advance:hover,
.orbit-contact-modal .orbit-modal-schedule-btn:hover,
.orbit-contact-modal #orbitModalReferralToggle:hover,
.orbit-contact-modal .orbit-modal-intel-trigger:hover,
.orbit-contact-modal .orbit-modal-todo-add:hover {
  background: var(--surface, #f7f7f7) !important;
  border-color: var(--text-muted) !important;
}

/* Excessões pequenas pros mark/delete/check do to-do (já têm estilo próprio) */
.orbit-modal-todo-mark,
.orbit-modal-todo-check,
.orbit-modal-todo-delete {
  height: 22px !important;
  width: 22px !important;
}

/* === Empty states / mensagens "Carregando", "Nenhuma...": menor + itálico === */
.orbit-contact-modal .text-muted {
  font-family: var(--sans) !important;
  font-size: 11px !important;
  font-style: italic !important;
  color: var(--text-muted) !important;
}

/* === Inteligência: render do enrich-person === */
.orbit-modal-intel-content {
  font-family: var(--sans);
  font-size: 13px;
  line-height: 1.5;
  color: var(--text);
  white-space: pre-wrap;
  margin-bottom: 8px;
}
.orbit-modal-intel-sources {
  margin: 8px 0;
}
.orbit-modal-intel-sources .orbit-modal-label {
  display: block;
  margin-bottom: 4px;
}
.orbit-modal-intel-sources ul {
  margin: 0;
  padding-left: 16px;
  list-style: disc;
}
.orbit-modal-intel-sources li {
  font-size: 11px;
  color: var(--text-muted);
  line-height: 1.4;
}
.orbit-modal-intel-sources a {
  color: var(--gold);
  text-decoration: none;
}
.orbit-modal-intel-sources a:hover { text-decoration: underline; }
.orbit-modal-intel-status {
  font-size: 12px;
  color: var(--text-muted);
  font-style: italic;
  padding: 4px 0;
}
.orbit-modal-intel-running {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-style: normal;
}
.orbit-modal-intel-spinner {
  width: 12px;
  height: 12px;
  border: 2px solid var(--border);
  border-top-color: var(--gold, #D97706);
  border-radius: 50%;
  display: inline-block;
  animation: orbit-modal-spin 0.7s linear infinite;
}
@keyframes orbit-modal-spin { to { transform: rotate(360deg); } }
.orbit-modal-intel-running-label {
  font-weight: 500;
  color: var(--text);
  font-style: normal;
}
.orbit-modal-intel-timer {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--gold, #D97706);
  font-style: normal;
  background: var(--gold-light, rgba(217,119,6,0.1));
  padding: 1px 6px;
  border-radius: 3px;
}
.orbit-modal-intel-poll {
  font-size: 10px;
  color: var(--text-muted);
  margin-left: auto;
}
.orbit-modal-intel-empty {
  padding: 4px 0 8px;
}
.orbit-modal-intel-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 8px;
}
.orbit-modal-intel-meta {
  font-size: 10px;
  color: var(--text-muted);
  font-style: italic;
  margin-right: auto;
}
.orbit-modal-intel-trigger {
  font-family: var(--sans) !important;
  font-size: 12px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Schedule "Quando" — datetime + duração + "min" inline */
.orbit-modal-sched-when {
  display: flex !important;
  gap: 6px !important;
  align-items: center !important;
  width: 100% !important;
}
.orbit-modal-sched-when .orbit-modal-schedule-datetime {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.orbit-modal-sched-when .orbit-modal-sched-duration {
  width: 56px !important;
  flex: 0 0 56px !important;
}

/* === TABELA DE TO-DOS — uma estrutura única ===
   Ordem visual: pending (top) → new (meio) → done (bottom)
   Colunas: [mark 22px] [título flex] [data ~110px] [ação 22px]
*/
.orbit-modal-todos-wrap {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}
.orbit-modal-todos,
.orbit-modal-todos-done {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}
.orbit-modal-todo-row {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) auto 22px !important;
  gap: 8px !important;
  align-items: center !important;
  padding: 4px 0 !important;
  border-bottom: 1px solid var(--border) !important;
  box-sizing: border-box !important;
  min-height: 32px !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.orbit-modal-todos-wrap > *:last-child .orbit-modal-todo-row:last-child {
  border-bottom: 0 !important;
}

/* Mark: caixa vazia (pending), check verde (done), placeholder cinza (new) */
.orbit-modal-todo-mark {
  width: 22px !important;
  height: 22px !important;
  border: 1px solid var(--border) !important;
  border-radius: 4px !important;
  background: transparent !important;
  cursor: pointer !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important;
  color: transparent !important;
}
.orbit-modal-todo-row--pending .orbit-modal-todo-mark:hover {
  border-color: var(--gold, #D97706) !important;
}
.orbit-modal-todo-mark--done {
  background: #10B981 !important;
  border-color: #10B981 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  cursor: default !important;
}
.orbit-modal-todo-mark--placeholder {
  cursor: default !important;
  border-color: var(--border) !important;
  background: transparent !important;
  opacity: 0.5 !important;
}

/* Título / data dentro da row — mesma fonte sans 13, sem border próprio */
.orbit-modal-todo-row .orbit-modal-todo-title-edit,
.orbit-modal-todo-row .orbit-modal-todo-due-edit {
  font-family: var(--sans) !important;
  font-size: 13px !important;
  border: 0 !important;
  background: transparent !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 4px 0 !important;
  height: 28px !important;
  min-width: 0 !important;
}
.orbit-modal-todo-row .orbit-modal-todo-due-edit {
  text-align: right !important;
  color: var(--text-muted) !important;
  font-size: 12px !important;
  max-width: 110px !important;
  width: auto !important;
  justify-self: end !important;
}

/* Done row: título riscado + data direita */
.orbit-modal-todo-title-done {
  font-family: var(--sans) !important;
  font-size: 13px !important;
  text-decoration: line-through !important;
  color: var(--text-muted) !important;
  text-transform: none !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}
.orbit-modal-todo-date-done {
  font-family: var(--sans) !important;
  font-size: 12px !important;
  color: var(--text-muted) !important;
  text-align: right !important;
}

/* Action button (✕ ou +) */
.orbit-modal-todo-row .orbit-modal-todo-delete,
.orbit-modal-todo-row .orbit-modal-todo-add {
  width: 22px !important;
  height: 22px !important;
  padding: 0 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-family: var(--sans) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-transform: none !important;
}

/* === Borders zerados em campos dentro de .orbit-modal-field === */
.orbit-contact-modal .orbit-modal-field input:not([type=checkbox]):not([type=radio]),
.orbit-contact-modal .orbit-modal-field select,
.orbit-contact-modal .orbit-modal-field textarea {
  border: 0 !important;
  background: transparent !important;
  outline: none !important;
  box-shadow: none !important;
  padding-left: 0 !important;  /* alinha tudo na borda esquerda do cell */
  text-indent: 0 !important;
  margin: 0 !important;
}
.orbit-contact-modal .orbit-modal-field input:focus,
.orbit-contact-modal .orbit-modal-field select:focus,
.orbit-contact-modal .orbit-modal-field textarea:focus {
  outline: none !important;
  box-shadow: 0 0 0 2px var(--gold-light, rgba(245,158,11,0.2)) !important;
  border-radius: 4px !important;
}

/* Botões btn-ghost dentro do modal: nunca uppercase / mono em qualquer resolução */
.orbit-contact-modal .btn-ghost,
.orbit-contact-modal .orbit-modal-advance,
.orbit-contact-modal .orbit-modal-schedule-btn,
.orbit-contact-modal #orbitModalReferralToggle {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-family: var(--sans) !important;
}

/* Schedule "Quando": datetime + duração + "min" inline */
/* DEAD-18/19/20 (Kai 2026-07-26): dup .orbit-modal-sched-when{+2 children} removida (idêntica à linha ~9046) */
/* (legacy width:100% schedule-btn removido — agora alinhado direita pela regra v24.10.16) */

/* === Mobile (≤599px) === */
@media (max-width: 599px) {

  .orbit-contact-modal,
  .orbit-contact-modal .modal-body,
  .orbit-contact-modal .orbit-modal-section,
  .orbit-contact-modal details.orbit-modal-section {
    overflow-x: hidden !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .orbit-contact-modal .modal-body { max-width: 100vw !important; }

  /* Tipografia uniforme */
  .orbit-contact-modal input:not([type=checkbox]):not([type=radio]),
  .orbit-contact-modal select,
  .orbit-contact-modal textarea {
    font-family: var(--sans) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    line-height: 1.3 !important;
    height: 32px !important;
    padding: 4px 8px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .orbit-contact-modal textarea {
    height: auto !important;
    min-height: 48px !important;
    line-height: 1.4 !important;
  }
  .orbit-contact-modal .orbit-modal-section-title {
    font-family: var(--mono) !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
  }
  .orbit-contact-modal .orbit-modal-label {
    font-family: var(--mono) !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
    color: var(--text-muted) !important;
  }
  .orbit-contact-modal .orbit-modal-value,
  .orbit-contact-modal .orbit-modal-value-editable {
    font-family: var(--sans) !important;
    font-size: 13px !important;
  }
  .orbit-contact-modal .modal-title {
    font-family: var(--sans) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
  }
  .orbit-contact-modal .btn-ghost {
    font-family: var(--sans) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    height: 32px !important;
    padding: 4px 10px !important;
  }

  /* Stage: select + botão empilhados full width */
  .orbit-contact-modal .orbit-modal-advance-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    width: 100% !important;
  }
  .orbit-contact-modal .orbit-modal-advance-row .select-v24,
  .orbit-contact-modal .orbit-modal-advance {
    width: 100% !important;
    flex: 0 0 auto !important;
    height: 32px !important;
  }

  /* Dados: label esquerda · valor direita */
  .orbit-contact-modal .orbit-modal-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
  .orbit-contact-modal .orbit-modal-field {
    display: grid !important;
    grid-template-columns: 88px 1fr !important;
    gap: 8px !important;
    align-items: center !important;
    padding: 4px 0 !important;
    border-bottom: 1px solid var(--border) !important;
    min-height: 32px !important;
  }
  .orbit-contact-modal .orbit-modal-field:last-child {
    border-bottom: 0 !important;
  }
  .orbit-contact-modal .orbit-modal-field-full {
    grid-template-columns: 1fr !important;
    gap: 2px !important;
    padding: 6px 0 !important;
  }

  /* Schedule duração mais estreita no mobile */
  .orbit-modal-sched-when .orbit-modal-sched-duration {
    width: 48px !important;
    flex: 0 0 48px !important;
  }

  /* Origens cabe sem vazar */
  .orbit-modal-field-full > .orbit-origins {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
}

/* ============================================================================
   Sprint 1 financials (2026-05-08) — conf-badge + intel financial input modal
   ========================================================================= */

.conf-badge {
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 3px;
  margin-left: 6px;
  vertical-align: middle;
  font-weight: 500;
}
.conf-verified    { background:#0A9E5E; color:#fff; }
.conf-manual      { background:#3B82F6; color:#fff; }
.conf-inferred    { background:#F59E0B; color:#000; }
.conf-interpreted { background:#F97316; color:#fff; }
.conf-unknown     { background:#6B7280; color:#fff; }

.financial-empty { text-align:center; padding:24px; }
.financial-block .cta-row,
.financial-empty .cta-row { margin-top:12px; }

/* ── Intel Financial Input modal ──────────────────────────────────────── */
.ifi-modal-backdrop {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 9999;
  display: flex; align-items: center; justify-content: center;
}
.ifi-modal {
  background: var(--bg, #fff);
  color: var(--fg, #000);
  width: min(900px, 95vw);
  max-height: 90vh;
  overflow-y: auto;
  border-radius: 6px;
  padding: 18px 22px 14px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}
.ifi-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.ifi-header h3 { margin:0; font-size:16px; }
.ifi-close {
  background:none; border:none; font-size:22px; cursor:pointer;
  line-height:1; padding:2px 8px;
}
.ifi-fs { border:1px solid #d1d5db; border-radius:4px; padding:8px 12px 10px; margin:8px 0; }
.ifi-fs legend { font-size:12px; padding:0 6px; color:#374151; }
.ifi-row { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:6px; }
.ifi-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:8px; }
.ifi-field { display:flex; flex-direction:column; min-width:140px; }
.ifi-field.ifi-grow { flex:1 1 280px; }
.ifi-field span { font-size:11px; color:#6b7280; margin-bottom:2px; }
.ifi-field input, .ifi-field select {
  padding:5px 8px; border:1px solid #cbd5e1; border-radius:3px;
  font-size:13px; background:#fff; color:#111;
}
.ifi-field input:focus, .ifi-field select:focus { outline:1px solid #3B82F6; }
.ifi-errors {
  background:#fef2f2; border:1px solid #fecaca; color:#991b1b;
  padding:8px 12px; border-radius:4px; margin-top:8px; font-size:12px;
}
.ifi-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:12px; }

/* ═══════════════════════════════════════════════════════════════════════
   M8 Story 29 (BRAND_GUIDELINES §4 + ADR-24 regra #6):
   Mark de produto = glifo + nome lowercase Inter Tight 700.
   Aplicar em headers de detail page de módulo, tabs/menus de produto.
   NÃO usar em UI corrida. SCOUT usa .scout-wordmark separado (sem glifo).
   ═══════════════════════════════════════════════════════════════════════ */
.product-mark {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--sans); /* A11: era --display */
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--text);
  line-height: 1;
}
.product-mark .glyph {
  width: 1em;
  height: 1em;
  flex-shrink: 0;
}
.product-mark .name {
  text-transform: lowercase;
}

/* Tamanhos canônicos */
.product-mark.size-sm  { font-size: 14px; }
.product-mark.size-md  { font-size: 18px; }
.product-mark.size-lg  { font-size: 28px; }
.product-mark.size-xl  { font-size: 48px; }

/* M9 DS Sprint 1 #2 — variant `.tab` pra nav header.
   DS v1.11: glifo 18px (nao 1em), nome 14px, gap 10px.
   Aplicada junto com .size-sm (override do glifo apenas). */
.product-mark.tab .glyph,
.product-mark.tab > svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.product-mark.tab { gap: 10px; }
.product-mark.tab .name { font-size: 14px; }

/* M9 DS Sprint 1 #5 — labels mono pro snapshot icons (substitutos de emojis). */
.snap-label {
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-muted);
  margin-right: 4px;
}

/* M9 DS Sprint 1 #5 — SVG icon inline pra botoes (substitutos de emojis). */
.btn-ico {
  display: inline-block;
  vertical-align: -2px;
  margin-right: 6px;
  width: 14px;
  height: 14px;
  stroke: currentColor;
  stroke-width: 1.5;
  fill: none;
}


/* ═══════════════════════════════════════════════════════════════════════
   Story 29.2 (Anna 2026-05-09) — Motor unificado (Referencial + Agentes + about.html)
   ═══════════════════════════════════════════════════════════════════════ */

/* PR-Lote-A.4 (Kai 2026-07-26): .motor-sub-nav → .tabs + .tab primitivo (§C5).
   Modifier .motor-tabs-sticky preserva sticky behavior (top 56px). */
.tabs.motor-tabs-sticky {
  background: var(--surface);
  padding: 0 32px;
  position: sticky; top: 56px; z-index: 50;
}
.mt-root > .tabs { background: var(--bg); padding: 0 24px; }

/* Conteúdo motor */
.motor-content { padding: 0; }

/* Iframe agentes (full-width abaixo do sub-nav) */
.motor-agents-iframe {
  width: 100%;
  height: calc(100vh - 56px - 48px); /* viewport menos header menos sub-nav */
  border: none; display: block;
}

/* Story 29.4 v2 (Anna 2026-05-10): SOBRE wrap 1280px (era 960, ainda apertado).
   Alinha com largura do REFERENCIAL pra consistência cross-sub-tab.
   Parágrafos longos limitados a 800px pra leitura confortável (prose readability).
   Hero + section-h2 ocupam largura total do wrap pra visual editorial. */
.motor-sobre-wrap {
  max-width: 1280px; margin: 0 auto; padding: 0 24px;
}
.motor-hero,
.motor-manifesto,
.motor-numbers,
.motor-modules,
.motor-authors {
  padding: 64px 0;
}
.motor-hero { padding-top: 80px; padding-bottom: 56px; }
.motor-manifesto,
.motor-numbers,
.motor-modules,
.motor-authors {
  border-top: 1px solid var(--border);
}

/* Limitação de prose pra leitura confortável (parágrafos não grudam horizonte) */
.motor-hero .motor-lead,
.motor-manifesto p {
  max-width: 800px;
}

/* Hero */
.motor-kicker {
  font-family: var(--mono); font-size: 11px; font-weight: 600;
  color: var(--gold); text-transform: uppercase; letter-spacing: 0.1em;
  margin-bottom: 24px;
}
.motor-h1 {
  /* Instrument Serif é load on-demand pelo DS — fallback pra serif system */
  font-family: 'Instrument Serif', Georgia, serif; font-weight: 400;
  font-size: 72px; line-height: 1.02; letter-spacing: -0.025em;
  color: var(--text); margin-bottom: 24px;
}
.motor-h1 em { font-style: italic; color: var(--text-muted); }
.motor-lead {
  font-size: 18px; line-height: 1.55; color: var(--text); max-width: 640px;
}

/* Section helpers */
.motor-section-label {
  font-family: var(--mono); font-size: 11px; font-weight: 600;
  color: var(--gold); text-transform: uppercase; letter-spacing: 0.1em;
  margin-bottom: 16px;
}
.motor-section-h2 {
  font-family: 'Instrument Serif', Georgia, serif; font-weight: 400;
  font-size: 40px; line-height: 1.1; letter-spacing: -0.02em;
  color: var(--text); margin-bottom: 24px;
}
.motor-section-h2 em { font-style: italic; color: var(--text-muted); }

/* Manifesto */
.motor-manifesto p {
  font-size: 16px; line-height: 1.7; color: var(--text);
  margin-bottom: 16px; max-width: 720px;
}
.motor-manifesto p strong { font-weight: 600; }
.motor-manifesto p .accent { color: var(--gold); }

/* Numbers */
.motor-numbers-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 24px; margin-top: 32px;
}
.motor-numbers-grid .num-card { padding: 28px 0; border-top: 2px solid var(--text); }
.motor-numbers-grid .num-card .val {
  /* DEC-8 conforme: --sans não --display em UI corrida */
  font-family: var(--sans); font-weight: 700; font-size: 44px;
  line-height: 1; letter-spacing: -0.04em; color: var(--text);
}
.motor-numbers-grid .num-card .val .unit { font-size: 16px; color: var(--text-muted); margin-left: 4px; font-weight: 500; }
.motor-numbers-grid .num-card .label {
  font-family: var(--mono); font-size: 10px; font-weight: 600;
  color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.08em;
  margin-top: 10px;
}

/* Modules grid */
.motor-modules-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 1px; background: var(--border); border: 1px solid var(--border);
  border-radius: 8px; overflow: hidden; margin-top: 32px;
}
.motor-modules-grid .module {
  background: var(--bg); padding: 32px;
  display: flex; flex-direction: column; gap: 14px;
}
.motor-modules-grid .module.scout {
  background: var(--text); color: white; grid-column: span 2;
}
.motor-modules-grid .product-mark-block {
  display: flex; align-items: center; gap: 12px;
}
.motor-modules-grid .product-mark-block .name {
  /* DS §00.5 — nome de produto é wordmark, --display PERMITIDO aqui */
  font-family: var(--sans); font-weight: 700;
  font-size: 28px; letter-spacing: -0.03em;
  text-transform: lowercase;
}
.motor-modules-grid .module .role {
  font-family: var(--mono); font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--text-muted);
}
.motor-modules-grid .module.scout .role { color: #888; }
.motor-modules-grid .module .desc {
  font-size: 14px; line-height: 1.6; color: var(--text);
}
.motor-modules-grid .module.scout .desc { color: #ddd; }

/* Anchor metrics — sem padding extra, renderMetrics já tem section-block */
.motor-metrics-anchor {
  max-width: 1280px; margin: 0 auto; padding: 40px 32px;
}

/* Authors — Story 29.4: 3 cards (Anna + Kai + Vera) */
.motor-authors-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 28px;
}
.motor-authors-grid .author {
  padding: 24px; background: var(--surface);
  border: 1px solid var(--border); border-radius: 8px;
}
.motor-authors-grid .author .role {
  font-family: var(--mono); font-size: 10px; font-weight: 600;
  color: var(--gold); text-transform: uppercase; letter-spacing: 0.1em;
  margin-bottom: 8px;
}
.motor-authors-grid .author .name {
  /* DEC-8 conforme: --sans, não --display */
  font-family: var(--sans); font-weight: 700; font-size: 20px;
  letter-spacing: -0.02em; margin-bottom: 10px;
}
.motor-authors-grid .author .bio { font-size: 13px; line-height: 1.6; color: var(--text-muted); }

/* Powered by Noise Floor — bloco abaixo dos autores */
.motor-powered-by {
  margin-top: 32px; padding: 18px 24px;
  background: var(--surface); border: 1px solid var(--border); border-radius: 8px;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.motor-powered-by .label {
  font-family: var(--mono); font-size: 10px; font-weight: 600;
  color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.1em;
}
.motor-powered-by a {
  font-family: var(--sans); font-weight: 700; font-size: 18px;
  color: var(--gold); text-decoration: none; letter-spacing: -0.02em;
}
.motor-powered-by a:hover { text-decoration: underline; }

/* Mobile */
@media (max-width: 768px) {
  .motor-sobre-wrap { padding: 0 16px; }
  .motor-h1 { font-size: 48px; }
  .motor-section-h2 { font-size: 32px; }
  .motor-modules-grid { grid-template-columns: 1fr; }
  .motor-modules-grid .module.scout { grid-column: span 1; }
  .motor-numbers-grid { grid-template-columns: 1fr 1fr; }
  .motor-authors-grid { grid-template-columns: 1fr; }
  .motor-hero, .motor-manifesto, .motor-numbers, .motor-modules, .motor-authors {
    padding: 40px 0;
  }
  .motor .tab-bar, .mt-root .tab-bar { padding: 0 16px; } /* PR-04.4 */
}

/* Story 29.3 (Anna 2026-05-09) — MIRA + Comparar embutido */
.mira-compare-divider {
  display: flex; align-items: center; gap: 16px;
  margin: 64px 0 24px;
}
.mira-compare-divider .line { flex: 1; height: 1px; background: var(--border); }
.mira-compare-divider .label {
  font-family: var(--mono); font-size: 11px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--text-muted);
}
.mira-compare-section { padding: 0; }

/* ═══════════════════════════════════════════════════════════════════════
   BUG-01 fix (Anna 2026-05-09): Board responsivo <1100px sem scroll horizontal.
   Diagnóstico: filtros tinham flex-wrap mas input search 280px fixo. Em telas
   <600px estourava. Soluções:
   ═══════════════════════════════════════════════════════════════════════ */
@media (max-width: 1100px) {
  /* Container sem overflow horizontal — defesa em profundidade */
  body, .container, .app-shell { overflow-x: hidden; }
  /* Board grid: 2 cols a partir de 900px, 1 col abaixo de 600px */
  .board-grid { grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); }
  /* Search input não estoura mobile */
  .board-controls input { width: 100%; max-width: 280px; }
}
@media (max-width: 599px) /* XCUT-11: 600→599 consolidado */ {
  .board-grid { grid-template-columns: 1fr; }
  .board-controls { gap: 8px; }
  .board-controls input,
  .board-controls select { width: 100%; max-width: 100%; }
}

/* ═══════════════════════════════════════════════════════════════════════
   M9 DS Sprint 2 #9 — Classification Bands (.cb-band)
   Substitui inline-style do statusBadge() em utils.js (regra Anna: DS-first).
   ═══════════════════════════════════════════════════════════════════════ */
.cb-band {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #fff;
}
.cb-band-target   { background: #059669; }  /* PR-PERF-POLISH v25.4.27 (C2 DEC-BANDA opção A): TARGET ≥70 — verde mais escuro (DS sc-vhigh) */
.cb-band-alta     { background: #10B981; }
.cb-band-media    { background: #F59E0B; }
.cb-band-baixa    { background: #6B7280; }
.cb-band-descarte { background: #EF4444; }

/* M9 DS Sprint 2 #10 — Sector Tag (.cb-sector) — monocromática.
   DS_AUDIT identificou paleta atual aleatória (verde em FIN+SAAS+CONSULT etc). Solução: monocromática usando tokens DS. */
.cb-sector {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  background: var(--surface-hover);
  color: var(--text-muted);
  border: 1px solid var(--border);
}

/* ═══════════════════════════════════════════════════════════════════════
   M9 DS Sprint 3 #8 — .scout-select-m9 (override).
   .scout-select já existe legacy. Adiciono variante mais consistente com tipografia DS.
   ═══════════════════════════════════════════════════════════════════════ */
.scout-select-m9 {
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
  color: var(--text);
  background-color: var(--bg);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 8px 32px 8px 12px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 14px 14px;
  transition: border-color var(--ease-default), box-shadow var(--ease-default);
}
.scout-select-m9:hover { border-color: var(--text-muted); }
.scout-select-m9:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(10,158,94,0.12); }
.scout-select-m9:disabled { opacity: 0.5; cursor: not-allowed; }

/* M9 DS Sprint 3 #17 — Hover em cards do board. */
.card {
  transition: box-shadow var(--ease-default), border-color var(--ease-default);
  cursor: pointer;
}
.card:hover {
  box-shadow: var(--shadow-md);
  border-color: var(--text-muted);
}

/* M9 DS Sprint 3 #11 + #12 — Page kicker (mono gold) consistente. */
.page-kicker {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 600;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
  display: block;
}

/* M9 DS Sprint 3 #18 — Rank 2 dígitos (#10+) alinhamento consistente. */
.card-rank {
  min-width: 28px;
  display: inline-block;
  text-align: left;
}

/* M9 DS Sprint 3 #19 — Mira scatter labels: contraste melhor. */
.mira-quadrant-label {
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 500;
  color: var(--text-muted);
  opacity: 0.85;
}

/* M9 DS Sprint 3 #22 — ENG tag isolada → integrar grid de tags. */
.tag-eng-isolated {
  display: inline-block;
  margin-top: 0;
  vertical-align: middle;
}

/* M9 DS Sprint 3 #23 — Header right-side padding consistency.
   M9 fix: NAO forca display em .header-burger (precisa ficar hidden em desktop, regra @media controla). */
.header-user-badge,
.header-version {
  padding-left: 12px;
  padding-right: 12px;
  display: inline-flex;
  align-items: center;
}
.header-burger {
  padding-left: 12px;
  padding-right: 12px;
  /* display: inline-flex / none controlado por media query mobile (linha 6437+) */
}

/* M9 DS Sprint 3 #16 — Date input placeholder discreto. */
.scout-date-input {
  font-family: var(--mono);
  font-size: 12px;
  padding: 6px 10px;
  border: 1px solid var(--border);
  border-radius: 4px;
}
.scout-date-input::-webkit-datetime-edit-text,
.scout-date-input::-webkit-datetime-edit-day-field,
.scout-date-input::-webkit-datetime-edit-month-field,
.scout-date-input::-webkit-datetime-edit-year-field {
  color: var(--text-muted);
}

/* M9 DS Sprint 3 #13 — Tooltip em ícones lápis/lixeira de Intel cards.
   Garantir [title] atributo + cursor + hover. */
.subset-card-icon-btn {
  cursor: pointer;
  opacity: 0.7;
  transition: opacity var(--ease-default);
}
.subset-card-icon-btn:hover { opacity: 1; }

/* M9 DS Sprint 3 #7 — Detail tabs hierarquia (primárias/secundárias/more).
   Adiciona modifier .tab-secondary pra peso visual menor + dropdown "+ Mais" colapsavel. */
.detail-tab.tab-secondary {
  opacity: 0.85;
}
.detail-tabs-more-trigger {
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-muted);
  cursor: pointer;
  padding: 14px 16px;
}
.detail-tabs-more-trigger:hover { color: var(--text); }
.detail-tabs-more-dropdown {
  position: absolute;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 6px;
  box-shadow: var(--shadow-md);
  padding: 8px 0;
  min-width: 180px;
  z-index: 100;
}
.detail-tabs-more-dropdown a {
  display: block;
  padding: 8px 16px;
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
  color: var(--text);
  text-decoration: none;
}
.detail-tabs-more-dropdown a:hover { background: var(--surface-hover); }

/* M9 GAP-07 — Subseção de KPIs (Mercado / Fundamentais). */
.kpi-subsection { margin-top: 16px; }
.kpi-subsection:first-child { margin-top: 0; }
.kpi-subsection-title {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-muted);
  margin-bottom: 8px;
}

/* M9 T10: pill RISCO simplificada com cor por nivel (substitui pill-pol-risk verbose). */
.pill-risk-low      { background: rgba(16,185,129,0.10); color: #059669; border-color: #10B981; }
.pill-risk-moderate { background: rgba(245,158,11,0.12); color: #B45309; border-color: #F59E0B; }
.pill-risk-high     { background: rgba(239,68,68,0.10);  color: #B91C1C; border-color: #EF4444; }
.pill-risk-extreme  { background: rgba(127,29,29,0.15);  color: #7F1D1D; border-color: #7F1D1D; font-weight: 700; }
.pill-risk-unknown  { background: var(--surface-hover);   color: var(--text-muted); border-color: var(--border); }
.dh-b-pill[class*="pill-risk-"] {
  border-style: solid;
  border-width: 1px;
  cursor: help;
}

/* M9 T13: truncate sector tag em board cards (descricao longa quebrava) */
.card-sector.cb-sector {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  line-height: 1.3;
}

/* M9 T6: orbit modal "Enviar Invite" alinhado direita (padrao DS) */
.orbit-modal-schedule-btn {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
}

/* M9 T19: TradingView wrapper com fallback link visivel */
.tv-embed-wrap { position: relative; }
.tv-fallback-row {
  text-align: right;
  padding: 4px 8px;
  background: var(--surface);
  border-top: 1px solid var(--border);
  font-family: var(--mono);
  font-size: 11px;
}
.tv-fallback-row .link-chart-external { color: var(--gold); text-decoration: none; }
.tv-fallback-row .link-chart-external:hover { text-decoration: underline; }

/* M9 T21: botão Enriquecer no header detail */
.dh-b-enrich {
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 4px 10px;
  border: 1px solid var(--border);
  border-radius: 4px;
  background: var(--bg);
  color: var(--text-muted);
  cursor: pointer;
  margin-left: auto;
  transition: all var(--ease-default);
}
.dh-b-enrich:hover { color: var(--gold); border-color: var(--gold); background: var(--gold-light); }
.dh-b-enrich:disabled { opacity: 0.5; cursor: wait; }

/* M9 T6 v2: container do schedule alinha botão à direita (margin-left:auto não funcionou, parent não era flex) */
.orbit-modal-pauta-row {
  display: flex;
  justify-content: flex-end;
  margin-top: 8px;
}
.orbit-modal-schedule-btn {
  /* mantém margin-left:auto pra outros contextos, mas wrapper já garante */
}
/* Fallback: se botão estiver direto sem wrapper, força float-right */
button.orbit-modal-schedule-btn {
  float: none;
}
button.orbit-modal-schedule-btn:not(:first-child) {
  margin-left: auto;
}

/* M9: bloqueia pointer-events do board quando modal Orbit aberto (clique passava através do overlay translucent) */
body.orbit-modal-open .container > *:not(.modal-overlay) {
  pointer-events: none;
}
.modal-overlay { pointer-events: auto; }

/* ========================================
   MOTOR-TEMP (DS v1.13) — Anna 2026-05-10
   Pattern Control Room (alt C aprovado) + Orchestration View (orquestrador SVG aprovado)
   Rota: #motor-temp/{lista|grafo}/{id?}
   Tipografia v1.13: 1 família por componente, sans + tabular-nums
   ======================================== */

/* === Primitivos reusáveis === */

/* Live status dot */
.live-dot {
  display: inline-block; width: 7px; height: 7px; border-radius: 50%;
  vertical-align: middle; flex-shrink: 0;
}
.live-dot--healthy { background: #10B981; }
.live-dot--warn    { background: #F59E0B; }
.live-dot--error   { background: #EF4444; }
.live-dot--idle    { background: #6B7280; opacity: 0.3; }
.live-dot--running { background: #3B82F6; animation: mt-live-pulse 1.4s infinite; }
.live-dot--locked  { background: #8B5CF6; }
@keyframes mt-live-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(1.4); }
}

/* Metric tile */
.metric-row {
  /* Anna 2026-05-10: auto-fit pra adaptar a qualquer número de tiles (6, 7, 8) numa linha só */
  display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 0;
  border-bottom: 1px solid var(--border); background: var(--surface);
}
.metric-tile {
  padding: 12px 16px; border-right: 1px solid var(--border);
}
.metric-tile:last-child { border-right: none; }
.metric-tile__label {
  font-family: var(--mono); font-size: 9px; font-weight: 600;
  color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.08em;
}
.metric-tile__value {
  font-family: var(--sans); font-size: 22px; font-weight: 700;
  letter-spacing: -0.03em; color: var(--text); margin-top: 4px; line-height: 1;
  font-variant-numeric: tabular-nums;
}
.metric-tile__delta {
  font-family: var(--sans); font-size: 11px; font-weight: 500; margin-left: 6px;
  color: var(--text-muted); vertical-align: middle;
}
.metric-tile__delta--up   { color: var(--gold); }
.metric-tile__delta--down { color: #EF4444; }
.metric-tile--alert .metric-tile__value { color: #EF4444; }
.metric-tile--warn  .metric-tile__value { color: #F59E0B; }
.metric-tile--good  .metric-tile__value { color: var(--gold); }

/* v25.6.38 mobile pass: KPI tiles compactos em qualquer .metric-row no app
   (Board/Motor/Orbit/INTEL/Detail). 1 linha de N tiles via grid-auto-flow:
   column 1fr — labels truncam com ellipsis, value 14px tabular-nums. */
@media (max-width: 599px) {
  .metric-row {
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    grid-template-columns: unset;
  }
  .metric-tile {
    padding: 6px 4px;
    border-right: 1px solid var(--border, #E5E7EB);
    border-bottom: none;
    min-width: 0;
    overflow: hidden;
  }
  .metric-tile:last-child { border-right: none; }
  .metric-tile__label {
    font-size: 6.5px;
    letter-spacing: 0.02em;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .metric-tile__value {
    font-size: 14px;
    margin-top: 2px;
    letter-spacing: -0.04em;
  }
}

/* Control bar */
.control-bar {
  padding: 12px 16px; background: white; border-bottom: 1px solid var(--border);
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.control-bar__search {
  flex: 1; max-width: 320px;
  display: flex; align-items: center; gap: 6px;
  padding: 6px 10px; border: 1px solid var(--border); border-radius: 4px;
  background: white;
}
.control-bar__icon { color: var(--text-muted); font-size: 13px; }
.control-bar__input {
  border: none; outline: none; background: transparent;
  font-family: var(--sans); font-size: 13px; color: var(--text);
  flex: 1; padding: 0;
}
.control-bar__pill {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 5px 10px; border: 1px solid var(--border); border-radius: 4px;
  font-family: var(--sans); font-size: 12px; font-weight: 500;
  color: var(--text); background: white; cursor: pointer;
}
.control-bar__pill.is-active { border-color: var(--text); background: var(--text); color: white; }
.control-bar__pill-x { color: var(--text-muted); margin-left: 2px; }
.control-bar__pill.is-active .control-bar__pill-x { color: rgba(255,255,255,0.5); }
.control-bar__sep { width: 1px; height: 20px; background: var(--border); margin: 0 4px; }
.control-bar__batch {
  font-family: var(--sans); font-size: 12px; color: var(--text); padding: 0 6px;
  font-variant-numeric: tabular-nums;
}
.control-bar__right { margin-left: auto; display: flex; align-items: center; gap: 6px; }

/* v25.6.38 mobile pass: toggle buttons (.control-bar__mobile-toggle) — só
   aparecem <599px e colapsam search/filters. Espelha pattern .bt-mobile-toggle
   do Board, agora reutilizável por todo consumer do controlBar() primitive. */
.control-bar__mobile-toggle { display: none; }
@media (max-width: 599px) {
  .control-bar {
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 12px;
    align-items: center;
  }
  .control-bar__mobile-toggle {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border: 1px solid var(--border, #E5E7EB);
    background: white;
    color: var(--text, #111);
    border-radius: 999px;
    font-family: var(--mono);
    font-size: 10px;
    font-weight: 600;
    padding: 5px 9px;
    cursor: pointer;
    line-height: 1;
    flex-shrink: 0;
    text-transform: uppercase;
    letter-spacing: 0.03em;
  }
  .control-bar__mobile-toggle:hover { background: var(--surface, #F9FAFB); }
  .control-bar__mobile-toggle.is-active {
    background: var(--text, #111);
    color: white;
    border-color: var(--text, #111);
  }
  .control-bar__mobile-toggle--search { padding: 5px 7px; }
  .control-bar__mobile-toggle__icon { font-size: 12px; line-height: 1; }
  .control-bar__mobile-toggle__label { font-size: 10px; }
  .control-bar__mobile-toggle__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--gold, #B89F5A);
    color: white;
    border-radius: 999px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
  }
  .control-bar__mobile-toggle.is-active .control-bar__mobile-toggle__count {
    background: white;
    color: var(--text, #111);
  }
  .control-bar__mobile-toggle__dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: var(--gold, #B89F5A);
    display: inline-block;
  }

  /* Default: esconde search + pills + chips + sep — APENAS quando o toolbar
     declarar data-cb-id (opt-in via consumer que renderiza toggle buttons).
     Sem opt-in, .control-bar inline continua funcionando como antes. */
  .control-bar[data-cb-id] .control-bar__search { display: none; flex: 1 1 100%; max-width: none; min-width: 0; order: 90; }
  .control-bar[data-cb-id] > .control-bar__pill { display: none; }
  .control-bar[data-cb-id] > .control-bar__chip { display: none; }
  .control-bar[data-cb-id] .control-bar__chips { display: none; }
  .control-bar[data-cb-id] .control-bar__select { display: none; }
  .control-bar[data-cb-id] .control-bar__input { font-size: 13px; }
  .control-bar[data-cb-id] .control-bar__sep,
  .control-bar[data-cb-id] .control-bar__divider { display: none; }

  /* Batch info compacto (qualquer .control-bar) */
  .control-bar__batch { font-size: 10px; padding: 0; }

  /* Search open: input expande row 2 full-width */
  .control-bar[data-cb-id].is-mobile-search-open .control-bar__search {
    display: flex;
  }

  /* Filters open: pills + chips + selects visíveis wrapped abaixo */
  .control-bar[data-cb-id].is-mobile-filters-open > .control-bar__pill,
  .control-bar[data-cb-id].is-mobile-filters-open > .control-bar__chip {
    display: inline-flex;
    order: 91;
    flex-shrink: 0;
    padding: 4px 9px;
    font-size: 11px;
  }
  .control-bar[data-cb-id].is-mobile-filters-open .control-bar__chips {
    display: inline-flex;
    order: 91;
    flex-shrink: 0;
    flex-wrap: wrap;
  }
  .control-bar[data-cb-id].is-mobile-filters-open .control-bar__select {
    display: inline-flex;
    order: 91;
    flex-shrink: 0;
    font-size: 11px;
  }

  /* Right block (metas + advanced toggle) compacto */
  .control-bar__right {
    margin-left: auto;
    flex-shrink: 0;
    gap: 8px;
  }
  .control-bar__meta-label { display: none; }

  /* ───────────────────────────────────────────────────────────
     CAMADA GENÉRICA — qualquer container com [data-cb-id] +
     elementos marcados com [data-cb-collapse="search"|"filter"]
     ganha o pattern sem precisar das classes .control-bar__*.
     Usado por INTEL (.it-control-bar) e Pessoas (.pe-toolbar)
     que têm CSS próprio mas opt-in pra mobile pattern.
     ─────────────────────────────────────────────────────────── */
  [data-cb-id] { flex-wrap: wrap !important; align-items: center; }
  [data-cb-id] [data-cb-collapse="search"] {
    display: none;
    order: 90;
    flex: 1 1 100%;
    min-width: 0;
  }
  [data-cb-id] [data-cb-collapse="filter"] { display: none; }
  [data-cb-id].is-mobile-search-open [data-cb-collapse="search"] { display: flex; }
  [data-cb-id].is-mobile-filters-open [data-cb-collapse="filter"] {
    display: inline-flex;
    order: 91;
    flex-shrink: 0;
  }
}

/* Advanced bar (collapse aberto) */
.advanced-bar {
  background: var(--surface); border-bottom: 1px solid var(--border);
  padding: 8px 16px; display: flex; align-items: center; gap: 10px;
  font-family: var(--sans); font-size: 12px; flex-wrap: wrap;
}
.advanced-bar__label {
  font-family: var(--mono); font-size: 10px; font-weight: 600;
  color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em;
}
.advanced-bar__check {
  display: inline-flex; align-items: center; gap: 5px; cursor: pointer;
  color: var(--text-muted);
}
.advanced-bar__check.is-checked { color: #F59E0B; font-weight: 600; }
.advanced-bar__check input { margin: 0; }
.advanced-bar__field {
  background: white; border: 1px solid var(--border); padding: 3px 6px;
  border-radius: 3px; color: var(--text); font-family: var(--sans); font-size: 12px;
  width: 60px;
}
.advanced-bar__warn { margin-left: auto; color: #F59E0B; font-weight: 600; font-size: 11px; }

/* === Page wrapper motor-temp === */
.mt-root {
  background: var(--bg); min-height: 100vh;
}
.mt-page {
  background: var(--bg);
}
.mt-page__header {
  padding: 20px 24px 16px; display: flex; justify-content: space-between;
  align-items: flex-end; border-bottom: 1px solid var(--border); background: var(--bg);
  gap: 24px; flex-wrap: wrap;
}
.mt-page__head-left .mt-page__breadcrumb {
  font-family: var(--mono); font-size: 10px; font-weight: 600;
  color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.08em;
  margin-bottom: 6px;
}
.mt-page__breadcrumb-gold { color: var(--gold); }
.mt-page__title {
  font-family: var(--sans); font-size: 22px; font-weight: 700;
  letter-spacing: -0.02em; display: flex; align-items: baseline; gap: 8px;
  color: var(--text); margin: 0;
}
.mt-page__count {
  font-family: var(--sans); font-size: 13px; font-weight: 500; color: var(--text-muted);
  font-variant-numeric: tabular-nums;
}
.mt-page__head-right { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.mt-meta-pair { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.mt-meta-pair__label {
  font-family: var(--mono); font-size: 9px; font-weight: 600;
  color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.08em;
}
.mt-meta-pair__val {
  font-family: var(--sans); font-size: 13px; font-weight: 600; color: var(--text);
  font-variant-numeric: tabular-nums;
}
.mt-meta-pair__val--good { color: var(--gold); }
.mt-meta-pair__val--bad  { color: #EF4444; }

/* PR-Lote-A.4 (Kai 2026-07-26): regra consolidada acima em linha ~9484. */
.mt-root .tab-bar::after { background: linear-gradient(to left, var(--bg), transparent); }

/* Anna 2026-05-10 fix v3: drawer flutua POR CIMA do conteúdo.
   Não comprime mais a página (estava causando "redimensiona + fecha + quebra").
   Canvas mantém min-width e ganha overflow-x scroll. */
.mt-page { /* sem reflow ao abrir drawer */ }
.mt-graph-wrap { overflow-x: auto; overflow-y: hidden; max-width: 100%; }
.mt-graph-canvas { min-width: 1380px; display: block; }
.mt-graph-stage-labels { width: 1380px; min-width: 1380px; }

/* === Tabela motor-temp (alt C) === */
.mt-list-wrap { background: white; }
.mt-table {
  width: 100%; border-collapse: collapse;
  font-family: var(--sans); font-size: 13px; background: white;
}
.mt-table thead th {
  text-align: left; padding: 10px 14px;
  font-family: var(--mono); font-size: 10px; font-weight: 600;
  color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em;
  background: var(--surface); border-bottom: 1px solid var(--border);
  position: sticky; top: 0; cursor: pointer;
}
.mt-table thead th[data-sort]:hover { color: var(--text); }
.mt-table__sort { color: var(--gold); margin-left: 3px; }
.mt-table__col-check { width: 30px; }
.mt-table__col-status { width: 32px; text-align: center; }
.mt-table__col-actions { width: 50px; text-align: right; }
.mt-table__row {
  border-bottom: 1px solid var(--border); cursor: pointer;
}
.mt-table__row:hover { background: var(--surface-hover); }
.mt-table__row.is-selected { background: rgba(10,158,94,0.04); }
.mt-table__row.is-open    { background: rgba(10,158,94,0.06); border-left: 2px solid var(--gold); }
.mt-table__row.is-deprecated { opacity: 0.55; font-style: italic; }
.mt-table__row.is-error td.mt-table__col-status .live-dot--error {
  box-shadow: 0 0 0 3px rgba(239,68,68,0.15);
}
.mt-table__row td { padding: 8px 14px; color: var(--text); white-space: nowrap; }
.mt-table__col-name { font-weight: 600; color: var(--text); }
.mt-table__deprecated {
  display: inline-block; margin-left: 6px; padding: 1px 5px;
  background: rgba(107,114,128,0.1); color: var(--text-muted);
  font-family: var(--mono); font-size: 9px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.05em; border-radius: 2px;
}

/* PR-MOTOR-REAL v25.4.7 — pills custo / code status / circuit breaker / type drift */
.mt-pill {
  display: inline-block; margin-left: 6px; padding: 1px 6px;
  font-family: var(--mono); font-size: 9px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.05em; border-radius: 2px;
  white-space: nowrap;
}
/* Cost tier */
.mt-pill--free { background: rgba(107,114,128,0.10); color: #4B5563; }
.mt-pill--rate_limited,
.mt-pill--rate { background: rgba(234,179,8,0.12); color: #A16207; }
.mt-pill--paid { background: rgba(139,92,246,0.10); color: #6D28D9; }
.mt-pill--unknown { background: rgba(107,114,128,0.06); color: var(--text-muted); }
/* Code status */
.mt-pill--code-active { background: rgba(16,185,129,0.10); color: #059669; }
.mt-pill--code-inactive { background: rgba(234,179,8,0.12); color: #A16207; }
.mt-pill--code-dep { background: rgba(239,68,68,0.08); color: #B91C1C; }
/* Circuit breaker (alarme alto) */
.mt-pill--cb { background: var(--red); color: #fff; animation: mt-pill-pulse 1.5s ease-in-out infinite; }
/* Type drift */
.mt-pill--drift { background: rgba(245,158,11,0.12); color: #B45309; }

@keyframes mt-pill-pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.6; } }

.mt-table__no-stats {
  display: inline-block; margin-left: 6px; padding: 1px 5px;
  background: rgba(107,114,128,0.06); color: var(--text-muted);
  font-family: var(--mono); font-size: 9px; font-weight: 500;
  text-transform: uppercase; letter-spacing: 0.05em; border-radius: 2px;
  font-style: italic;
}

/* Row CB highlight */
.mt-table__row.is-cb { background: rgba(239,68,68,0.04); }
.mt-table__row.is-cb td.mt-table__col-name { color: var(--red); }

/* Skel shimmer global (PR-MOTOR-REAL) */
@keyframes skel-shimmer { 0%,100% { opacity: 0.55; } 50% { opacity: 0.95; } }
.mt-table__col-meta { color: var(--text-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.mt-table__col-success { font-weight: 600; font-variant-numeric: tabular-nums; }
.mt-table__col-success--high { color: var(--gold); }
.mt-table__col-success--mid  { color: #F59E0B; }
.mt-table__col-success--low  { color: #EF4444; }
.mt-table__btn {
  width: 22px; height: 22px; border-radius: 3px; background: var(--surface);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; color: var(--text); cursor: pointer; border: none;
}
.mt-table__btn:hover { background: var(--gold); color: white; }
.mt-table__empty {
  padding: 48px 24px; text-align: center; color: var(--text-muted);
  font-family: var(--sans); font-size: 13px;
}
.mt-table__empty a { color: var(--gold); text-decoration: underline; }

/* type-cell (badges de tipo de agente) */
.type-cell {
  display: inline-block; padding: 1px 6px; border-radius: 3px;
  font-family: var(--mono); font-size: 9px; font-weight: 600;
  color: white; letter-spacing: 0.05em; text-transform: uppercase;
}
.type-cell--col   { background: #3B82F6; }
.type-cell--llm   { background: #8B5CF6; }
.type-cell--proc  { background: #10B981; }
.type-cell--val   { background: #0A9E5E; }
.type-cell--write { background: #2563EB; }
.type-cell--mod   { background: #F59E0B; }

/* Drawer (compartilhado entre lista e grafo) */
/* Anna 2026-05-10 fix: drawer começa abaixo do header global (top: 60px) e fica acima da barra lateral original (z-index 100). */
.mt-drawer {
  position: fixed; top: 60px; right: 0; bottom: 0; width: 380px;
  background: var(--surface); border-left: 1px solid var(--border);
  overflow: auto; z-index: 200;
  transform: translateX(100%);
  transition: transform 0.2s ease;
  box-shadow: -8px 0 24px rgba(0,0,0,0.10);
  pointer-events: none;
}
.mt-drawer.is-open { transform: translateX(0); pointer-events: auto; }
.drawer-head {
  padding: 16px 20px; background: white; border-bottom: 1px solid var(--border);
  display: flex; justify-content: space-between; align-items: flex-start; gap: 12px;
}
.drawer-head__main { flex: 1; }
.drawer-head__name {
  font-family: var(--sans); font-size: 14px; font-weight: 600;
  color: var(--text); margin-bottom: 4px;
}
.drawer-head__version {
  margin-left: 6px; color: var(--text-muted);
  font-family: var(--mono); font-size: 10px;
}
.drawer-head__close {
  width: 24px; height: 24px; border: 1px solid var(--border); border-radius: 4px;
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
  background: white; color: var(--text-muted); font-size: 14px;
}
.drawer-section {
  padding: 14px 20px; background: white; border-bottom: 1px solid var(--border);
}
.drawer-section__title {
  font-family: var(--mono); font-size: 10px; font-weight: 600;
  color: var(--gold); text-transform: uppercase; letter-spacing: 0.08em;
  margin-bottom: 10px;
}
.drawer-section__kv { display: grid; grid-template-columns: 100px 1fr; gap: 6px 12px; font-size: 12px; }
.drawer-section__kv dt {
  font-family: var(--mono); font-size: 10px; color: var(--text-muted);
  text-transform: uppercase; letter-spacing: 0.05em; padding-top: 1px;
}
.drawer-section__kv dd { color: var(--text); font-family: var(--sans); }
.drawer-section__health { display: inline-flex; align-items: center; gap: 6px; }
.drawer-section__deps { display: flex; flex-direction: column; gap: 4px; }
.drawer-section__dep {
  display: grid; grid-template-columns: 14px 1fr 70px; gap: 6px; align-items: center;
  padding: 6px 8px; background: var(--surface); border-radius: 3px;
  font-family: var(--sans); font-size: 12px;
}
.drawer-section__dep-arrow { color: var(--text-muted); font-size: 10px; }
.drawer-section__dep-name { color: var(--text); font-weight: 500; }
.drawer-section__dep-stat { font-size: 11px; color: var(--text-muted); text-align: right; }
.drawer-section__pre {
  font-family: var(--mono); font-size: 10px; color: var(--text-muted);
  background: var(--surface); padding: 8px; border-radius: 3px;
  overflow-x: auto; line-height: 1.5; white-space: pre;
}
.drawer-section__pre--error { color: #B91C1C; background: rgba(239,68,68,0.04); }
.drawer-section__empty { font-family: var(--sans); font-size: 12px; color: var(--text-muted); font-style: italic; }
.drawer-section__actions { display: flex; gap: 6px; flex-wrap: wrap; }

/* Drawer · seção SOBRE — contrato palatável (Anna 2026-05-10) */
.drawer-contract__funcao {
  font-family: var(--sans); font-size: 13px; line-height: 1.55; color: var(--text);
  background: rgba(10,158,94,0.04); padding: 10px 12px; border-radius: 4px;
  border-left: 2px solid var(--gold);
}
.drawer-contract__sub-title {
  font-family: var(--mono); font-size: 9px; font-weight: 600;
  color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.08em;
  margin-top: 12px; margin-bottom: 6px;
}
.drawer-contract__writes { display: flex; flex-direction: column; gap: 4px; }
.drawer-contract__write {
  padding: 6px 10px; background: var(--surface); border-radius: 3px;
  font-family: var(--sans); font-size: 12px;
}
.drawer-contract__write-table {
  font-family: var(--mono); font-size: 11px; font-weight: 600;
  color: var(--text); margin-bottom: 2px;
}
.drawer-contract__write-cols {
  font-family: var(--mono); font-size: 10px; color: var(--text-muted);
  line-height: 1.5;
}
.drawer-contract__reads { display: flex; flex-wrap: wrap; gap: 4px; }
.drawer-contract__read-pill {
  display: inline-block; padding: 3px 8px;
  background: var(--surface); border: 1px solid var(--border); border-radius: 3px;
  font-family: var(--mono); font-size: 10px; font-weight: 500; color: var(--text);
  cursor: help;
}

/* === Grafo orquestrador === */
.mt-graph-wrap {
  position: relative; overflow: auto; background: #FAFAF7;
  background-image:
    linear-gradient(#EAE8E1 1px, transparent 1px),
    linear-gradient(90deg, #EAE8E1 1px, transparent 1px);
  background-size: 20px 20px;
  min-height: 720px;
}
.mt-graph-stage-labels {
  position: absolute; top: 12px; left: 0; right: 0;
  display: flex; justify-content: space-around;
  pointer-events: none; z-index: 2;
}
.mt-graph-stage-label {
  font-family: var(--mono); font-size: 10px; font-weight: 600;
  color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.08em;
  background: rgba(255,255,255,0.92); padding: 4px 10px; border-radius: 3px;
  border: 1px solid var(--border); display: inline-flex; align-items: center; gap: 6px;
}
.mt-graph-canvas { display: block; }
.flow-node:hover rect:first-of-type { stroke: var(--text); }

/* Btn primitive (genérico — caso DS .btn não cubra todos cenários) */
.btn--primary {
  background: var(--text); color: white; border-color: var(--text); font-weight: 600;
}
.btn--primary:hover:not(:disabled) { background: #000; }
.btn--primary:disabled { opacity: 0.4; cursor: not-allowed; }
.btn--sm { padding: 5px 10px; font-size: 12px; }

/* ===== Toast B global (Anna 2026-05-10) ===== */
.mt-toast-stack {
  position: fixed; bottom: 16px; right: 16px;
  display: flex; flex-direction: column; gap: 10px;
  z-index: 200; pointer-events: none;
  max-width: 380px;
}
.mt-toast {
  pointer-events: auto;
  background: white; border-radius: 8px; padding: 14px 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  border: 1px solid var(--border);
  display: grid; grid-template-columns: 28px 1fr auto; gap: 10px; align-items: flex-start;
  font-family: var(--sans); font-size: 13px;
  transform: translateX(120%);
  transition: transform 0.25s ease, opacity 0.2s ease;
  opacity: 0;
}
.mt-toast.is-visible { transform: translateX(0); opacity: 1; }
.mt-toast__icon {
  width: 28px; height: 28px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 14px; flex-shrink: 0;
}
.mt-toast--success .mt-toast__icon { background: rgba(10,158,94,0.12); color: var(--gold); }
.mt-toast--warn    .mt-toast__icon { background: rgba(245,158,11,0.12); color: #B45309; }
.mt-toast--error   .mt-toast__icon { background: rgba(239,68,68,0.10); color: #B91C1C; }
.mt-toast--info    .mt-toast__icon { background: rgba(59,130,246,0.10); color: #1D4ED8; }
.mt-toast--progress .mt-toast__icon { background: rgba(59,130,246,0.10); color: #1D4ED8; animation: mt-spin 1.5s linear infinite; }
@keyframes mt-spin { from { transform: rotate(0); } to { transform: rotate(360deg); } }

.mt-toast__content { flex: 1; min-width: 0; }
.mt-toast__title { font-family: var(--sans); font-weight: 700; font-size: 13px; color: var(--text); margin-bottom: 4px; }
.mt-toast__body { font-family: var(--sans); font-size: 12px; color: var(--text-muted); line-height: 1.4; margin-bottom: 8px; }
.mt-toast__body strong { color: var(--text); font-weight: 600; }
.mt-toast__actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.mt-toast__btn {
  padding: 5px 10px; border: 1px solid var(--border); border-radius: 4px;
  background: white; font-family: var(--sans); font-size: 11px; font-weight: 600;
  color: var(--text); cursor: pointer;
}
.mt-toast__btn:hover { background: var(--surface); }
.mt-toast__btn--primary { background: var(--text); color: white; border-color: var(--text); }
.mt-toast__btn--primary:hover { background: #000; }
.mt-toast__close {
  border: none; background: transparent; cursor: pointer;
  color: var(--text-muted); font-size: 18px; padding: 0 4px; line-height: 1;
  align-self: flex-start;
}
.mt-toast__close:hover { color: var(--text); }

/* ===== Batch matriz (Anna 2026-05-10 alt D aprovado) ===== */
.mt-batch-grid {
  /* Anna 2026-05-10: tirar fundo cinza que destoava das outras subpáginas */
  display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
  padding: 16px 24px; background: var(--bg);
  min-height: 480px;
}
.mt-batch-panel {
  background: white; border: 1px solid var(--border); border-radius: 6px;
  display: flex; flex-direction: column; min-height: 480px;
}
.mt-batch-panel__head {
  padding: 10px 14px; background: var(--surface); border-bottom: 1px solid var(--border);
  display: flex; justify-content: space-between; align-items: center;
}
.mt-batch-panel__title {
  font-family: var(--mono); font-size: 11px; font-weight: 600;
  color: var(--gold); text-transform: uppercase; letter-spacing: 0.08em;
}
.mt-batch-panel__count {
  font-family: var(--sans); font-size: 11px; color: var(--text-muted);
  font-variant-numeric: tabular-nums;
}
.mt-batch-panel__search {
  padding: 8px 14px; border-bottom: 1px solid var(--border);
}
.mt-batch-panel__search input {
  width: 100%; padding: 6px 10px; border: 1px solid var(--border); border-radius: 4px;
  font-family: var(--sans); font-size: 12px; outline: none;
}
.mt-batch-panel__search input:focus { border-color: var(--gold); box-shadow: 0 0 0 2px rgba(10,158,94,0.1); }
.mt-batch-panel__bulk {
  padding: 6px 14px; border-bottom: 1px solid var(--border);
  display: flex; gap: 6px;
}
.mt-batch-panel__bulk-btn {
  padding: 3px 8px; border: 1px solid var(--border); border-radius: 3px;
  background: white; font-family: var(--sans); font-size: 11px; font-weight: 500;
  color: var(--text-muted); cursor: pointer;
}
.mt-batch-panel__bulk-btn:hover { color: var(--text); }
.mt-batch-panel__list {
  flex: 1; overflow: auto; max-height: 480px;
}
.mt-batch-panel__row {
  padding: 7px 14px; display: grid; grid-template-columns: 16px 1fr auto; gap: 8px; align-items: center;
  cursor: pointer; font-family: var(--sans); font-size: 12px;
  border-bottom: 1px solid var(--border);
}
.mt-batch-panel__row:hover { background: var(--surface); }
.mt-batch-panel__row.is-selected { background: rgba(10,158,94,0.04); }
.mt-batch-panel__check {
  width: 14px; height: 14px; border: 1.5px solid var(--border); border-radius: 2px;
  display: inline-flex; align-items: center; justify-content: center;
  color: white; font-size: 10px; font-weight: 700;
}
.mt-batch-panel__row.is-selected .mt-batch-panel__check {
  background: var(--gold); border-color: var(--gold);
}
.mt-batch-panel__name { color: var(--text); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mt-batch-panel__meta { color: var(--text-muted); font-family: var(--mono); font-size: 10px; flex-shrink: 0; }

.mt-batch-action-bar {
  padding: 14px 24px; background: var(--text); color: white;
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  border-top: 1px solid var(--border);
}
.mt-batch-action-bar__summary {
  font-family: var(--sans); font-size: 13px;
}
.mt-batch-action-bar__summary strong { color: white; font-weight: 600; }
.mt-batch-action-bar__gold { color: var(--gold); font-weight: 700; font-variant-numeric: tabular-nums; }
.mt-batch-action-bar__btn {
  padding: 8px 16px; border: 1px solid var(--gold); border-radius: 4px;
  background: var(--gold); color: white;
  font-family: var(--sans); font-size: 13px; font-weight: 700; cursor: pointer;
}
.mt-batch-action-bar__btn:hover:not(:disabled) { background: #088a4e; }
.mt-batch-action-bar__btn:disabled { opacity: 0.4; cursor: not-allowed; background: #555; border-color: #555; }

/* ===== Output view ===== */
.mt-output-content { background: white; }
.mt-output-empresa { border-bottom: 1px solid var(--border); }
.mt-output-empresa.is-collapsed .mt-output-empresa__body { display: none; }
.mt-output-empresa__head {
  padding: 14px 24px; background: white; cursor: pointer;
  display: flex; align-items: center; gap: 14px;
  border-bottom: 1px solid var(--border);
}
.mt-output-empresa__chevron { color: var(--text-muted); font-size: 12px; transition: transform 0.15s; }
.mt-output-empresa.is-collapsed .mt-output-empresa__chevron { transform: rotate(-90deg); }
.mt-output-empresa__name {
  font-family: var(--sans); font-weight: 700; font-size: 16px; color: var(--text); letter-spacing: -0.01em;
}
.mt-output-empresa__stats {
  margin-left: auto; display: flex; align-items: center; gap: 10px;
  font-family: var(--mono); font-size: 11px; color: var(--text-muted);
}
.mt-output-empresa__pill {
  padding: 3px 8px; border-radius: 3px; font-weight: 600;
  background: var(--surface); color: var(--text-muted);
}
.mt-output-empresa__pill--good { background: rgba(10,158,94,0.10); color: #059669; }
.mt-output-empresa__pill--warn { background: rgba(245,158,11,0.10); color: #B45309; }
.mt-output-empresa__pill--bad { background: rgba(239,68,68,0.10); color: #B91C1C; }
.mt-output-empresa__dur { font-variant-numeric: tabular-nums; }
.mt-output-empresa__action {
  margin-left: 8px; padding: 6px 12px; border: 1px solid var(--border);
  border-radius: 4px; background: var(--text); color: white;
  font-family: var(--sans); font-size: 12px; font-weight: 600; cursor: pointer;
  text-decoration: none;
}
.mt-output-empresa__body { padding: 0 24px 16px; background: var(--surface); }

.mt-output-agent { background: white; border: 1px solid var(--border); border-radius: 6px; margin-top: 12px; overflow: hidden; }
.mt-output-agent__head {
  padding: 10px 14px; background: var(--surface);
  display: flex; align-items: center; gap: 10px;
  border-bottom: 1px solid var(--border);
}
.mt-output-agent__name { font-family: var(--mono); font-size: 12px; font-weight: 600; color: var(--text); }
.mt-output-agent__meta { margin-left: auto; font-family: var(--mono); font-size: 10px; color: var(--text-muted); display: flex; gap: 12px; }
.mt-output-agent__delta { color: var(--gold); font-weight: 600; font-variant-numeric: tabular-nums; }
.mt-output-agent__delta--warn { color: var(--orange); }
.mt-output-agent__empty { padding: 12px 14px; font-family: var(--sans); font-size: 12px; color: var(--text-muted); font-style: italic; }
.mt-output-agent__error {
  padding: 12px 14px; background: rgba(239,68,68,0.04); color: #B91C1C;
  font-family: var(--sans); font-size: 12px; border-top: 1px solid rgba(239,68,68,0.15);
}

.mt-output-diff { width: 100%; border-collapse: collapse; font-family: var(--sans); font-size: 12px; }
.mt-output-diff thead th {
  text-align: left; padding: 8px 14px; background: var(--surface);
  font-family: var(--mono); font-size: 10px; font-weight: 600;
  color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em;
  border-bottom: 1px solid var(--border);
}
.mt-output-diff tbody td { padding: 6px 14px; border-bottom: 1px solid var(--border); }
.mt-output-diff tbody tr:last-child td { border-bottom: none; }
.mt-output-diff__field { font-family: var(--mono); font-size: 11px; color: var(--text); width: 220px; }
.mt-output-diff__before { font-family: var(--mono); font-size: 11px; color: var(--text-muted); width: 200px; }
.mt-output-diff__after { font-family: var(--mono); font-size: 11px; color: var(--text); font-weight: 600; }
.mt-output-diff__status { width: 90px; font-family: var(--mono); font-size: 10px; }
.mt-output-diff__status--new { color: var(--blue); font-weight: 600; }
.mt-output-diff__more { padding: 8px 14px; text-align: center; font-family: var(--mono); font-size: 10px; color: var(--text-muted); border-top: 1px solid var(--border); }

/* === Anna 2026-05-10 v3 — legenda status+tipo, runbox no drawer, no-stats === */

/* Legenda visual antes da tabela motor-temp */
.mt-legend {
  padding: 10px 24px; background: var(--surface); border-bottom: 1px solid var(--border);
  display: flex; gap: 16px; flex-wrap: wrap; align-items: center;
  font-family: var(--sans); font-size: 11.5px; color: var(--text-muted);
}
.mt-legend__group { display: inline-flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.mt-legend__group strong { color: var(--text); font-weight: 600; font-size: 10px; text-transform: uppercase; letter-spacing: 0.06em; font-family: var(--mono); }
.mt-legend__chip { display: inline-flex; align-items: center; gap: 5px; padding: 2px 6px; }
.mt-legend__chip .type-cell { font-size: 9px !important; padding: 1px 5px !important; }
.mt-legend__dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; }
.mt-legend__dot--good { background: var(--green); }
.mt-legend__dot--warn { background: var(--orange); }
.mt-legend__dot--alert { background: var(--red); }
.mt-legend__dot--idle { background: #aaa; }
.mt-legend__dot--run { background: var(--blue); animation: mt-pulse 1.2s ease-in-out infinite; }
.mt-legend__sep { color: var(--border); }
@keyframes mt-pulse { 0%,100% { opacity: 1 } 50% { opacity: 0.4 } }

/* Linha "sem dados" na tabela */
.mt-table__row.is-no-stats { opacity: 0.65; }
.mt-table__no-stats {
  display: inline-block; margin-left: 6px; padding: 1px 6px;
  font-family: var(--mono); font-size: 9px; font-weight: 600;
  color: var(--text-muted); background: var(--surface); border: 1px solid var(--border);
  border-radius: 3px; text-transform: uppercase; letter-spacing: 0.06em;
}

/* Drawer — runbox (seletor de empresa + replay) */
.drawer-section--info {
  background: #FEF9E7; border-left: 3px solid var(--yellow);
  padding: 10px 14px; margin: 0 16px 8px; border-radius: 4px;
}
.drawer-section--info small { color: #6B6019; font-size: 11.5px; line-height: 1.4; display: block; }
.drawer-section--info code { font-family: var(--mono); font-size: 10.5px; background: rgba(0,0,0,0.04); padding: 1px 4px; border-radius: 3px; }
.drawer-section--actions { background: var(--surface); }
.drawer-runbox { display: flex; flex-direction: column; gap: 8px; padding: 4px 0; }
.drawer-runbox__label { font-family: var(--mono); font-size: 10px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.06em; }
.drawer-runbox__search { position: relative; }
.drawer-runbox__search input {
  width: 100%; padding: 6px 10px; border: 1px solid var(--border); border-radius: 4px;
  font-family: var(--sans); font-size: 12px; background: white;
}
.drawer-runbox__search input:focus { outline: none; border-color: var(--gold); }
.drawer-runbox__results {
  display: none; position: absolute; top: 100%; left: 0; right: 0; max-height: 240px; overflow: auto;
  background: white; border: 1px solid var(--border); border-radius: 4px; margin-top: 2px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08); z-index: 10;
}
.drawer-runbox__results.is-open { display: block; }
.drawer-runbox__result {
  padding: 6px 10px; cursor: pointer; display: flex; justify-content: space-between; gap: 8px;
  border-bottom: 1px solid #f3f4f6; font-size: 12px;
}
.drawer-runbox__result:hover { background: var(--surface); }
.drawer-runbox__result:last-child { border-bottom: none; }
.drawer-runbox__result-name { font-weight: 500; color: var(--text); }
.drawer-runbox__result-sector { font-family: var(--mono); font-size: 10px; color: var(--text-muted); }
.drawer-runbox__empty { padding: 10px; text-align: center; font-family: var(--mono); font-size: 11px; color: var(--text-muted); }
.drawer-runbox__hint { font-size: 11.5px; color: var(--text-muted); font-style: italic; }
.drawer-runbox__chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 10px; background: var(--text); color: white;
  font-family: var(--mono); font-size: 11px; font-weight: 600; border-radius: 12px;
}
.drawer-runbox__chip button {
  background: transparent; border: none; color: white; cursor: pointer; opacity: 0.7;
  font-size: 14px; line-height: 1; padding: 0;
}
.drawer-runbox__chip button:hover { opacity: 1; }
.drawer-runbox__btns { display: flex; gap: 6px; margin-top: 4px; }
.drawer-runbox__btns .btn[disabled] { opacity: 0.5; cursor: not-allowed; }

/* Flow node selected (grafo) — em vez de re-renderizar tudo */
.flow-node.is-selected > rect:first-of-type { stroke: var(--gold); stroke-width: 2.5; fill: rgba(10,158,94,0.06); }

/* === Anna 2026-05-10 v4 — popover hover, log-tray, log-page, output collapse === */

/* Popover hover no header da tabela (substitui legenda inline) */
.mt-th--hint { position: relative; cursor: help; }
.mt-th-popover {
  display: none; position: absolute; top: calc(100% + 4px); left: 0; z-index: 50;
  background: var(--text); color: white; padding: 10px 12px; border-radius: 6px;
  min-width: 240px; box-shadow: 0 8px 24px rgba(0,0,0,0.18);
  font-family: var(--sans); font-size: 11.5px; line-height: 1.5; font-weight: 400;
  text-transform: none; letter-spacing: 0; color: white;
}
.mt-th--hint:hover .mt-th-popover { display: block; }
.mt-th-popover strong { display: block; margin-bottom: 6px; font-family: var(--mono); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--gold); }
.mt-th-popover__row { display: flex; align-items: center; gap: 8px; padding: 2px 0; color: white; }
.mt-th-popover__row .type-cell { font-size: 9px !important; padding: 1px 5px !important; flex-shrink: 0; }
.mt-th-popover__row .mt-legend__dot { flex-shrink: 0; }

/* Output: agente colapsado/expandido */
.mt-output-agent.is-collapsed .mt-output-agent__body { display: none; }
.mt-output-agent__head { cursor: pointer; user-select: none; }
.mt-output-agent__head:hover { background: var(--surface); }
.mt-output-agent__chevron { font-size: 10px; color: var(--text-muted); width: 12px; display: inline-block; }

/* Log tray (B) — bandeja inferior */
.mt-log-tray {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 90;
  background: white; border-top: 1px solid var(--border);
  box-shadow: 0 -4px 16px rgba(0,0,0,0.04);
  font-family: var(--sans);
  transition: height 0.2s ease;
}
.mt-log-tray.is-collapsed { height: 32px; }
.mt-log-tray.is-expanded { height: 360px; }
.mt-log-tray__head {
  height: 32px; padding: 0 16px;
  display: flex; align-items: center; gap: 12px;
  background: var(--surface); border-bottom: 1px solid var(--border);
  cursor: pointer; user-select: none;
}
.mt-log-tray__head:hover { background: #f3f4f6; }
.mt-log-tray__live { display: inline-flex; align-items: center; gap: 5px; font-family: var(--mono); font-size: 10px; font-weight: 600; color: var(--text-muted); }
.mt-log-tray__live-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--blue); animation: mt-pulse 1.2s ease-in-out infinite; }
.mt-log-tray__title { font-family: var(--mono); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text); }
.mt-log-tray__counts { display: flex; gap: 10px; font-family: var(--mono); font-size: 10.5px; }
.mt-log-tray__c { color: var(--text); }
.mt-log-tray__c--warn { color: var(--orange); font-weight: 600; }
.mt-log-tray__c--alert { color: var(--red); font-weight: 600; }
.mt-log-tray__c--muted { color: var(--text-muted); }
.mt-log-tray__expand-link { margin-left: auto; font-family: var(--mono); font-size: 10px; color: var(--gold); text-decoration: none; }
.mt-log-tray__expand-link:hover { text-decoration: underline; }
.mt-log-tray__chev { color: var(--text-muted); font-size: 10px; }
.mt-log-tray__body { height: calc(100% - 32px); overflow: auto; background: white; }
.mt-log-tray__list { padding: 0; }
.mt-log-tray__row {
  display: grid;
  grid-template-columns: 70px 160px 18px 1fr 320px 50px 50px;
  gap: 10px; padding: 4px 16px;
  border-bottom: 1px solid #f6f7f9;
  font-family: var(--mono); font-size: 11px; line-height: 1.5;
  align-items: center;
}
.mt-log-tray__row:hover { background: var(--surface); }
.mt-log-tray__time { color: var(--text-muted); }
.mt-log-tray__agent { font-weight: 600; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mt-log-tray__status { text-align: center; font-weight: 700; font-size: 12px; }
.mt-log-tray__status--good { color: var(--green); }
.mt-log-tray__status--warn { color: var(--orange); }
.mt-log-tray__status--alert { color: var(--red); }
.mt-log-tray__status--run { color: var(--blue); }
.mt-log-tray__company { color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mt-log-tray__msg { color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mt-log-tray__rate { text-align: right; font-weight: 600; }
.mt-log-tray__rate--good { color: var(--green); }
.mt-log-tray__rate--warn { color: var(--orange); }
.mt-log-tray__rate--alert { color: var(--red); }
.mt-log-tray__dur { text-align: right; color: var(--text-muted); }
.mt-log-tray__empty { padding: 32px; text-align: center; font-family: var(--mono); font-size: 11px; color: var(--text-muted); }

/* Toast B sobe quando tray expandida */
.mt-log-tray.is-expanded ~ .toast-stack { bottom: 372px !important; }
.mt-log-tray.is-collapsed ~ .toast-stack { bottom: 44px !important; }

/* === LOG PAGE (sub-tab dedicada) === */
.mt-log-page__layout { display: grid; grid-template-columns: 1fr 320px; gap: 16px; padding: 16px 24px; }
.mt-log-page__main { background: white; border: 1px solid var(--border); border-radius: 6px; overflow: hidden; }
.mt-log-page__side { display: flex; flex-direction: column; gap: 12px; }

/* Anna 2026-05-10 v6: mt-log-controls migrou pra .control-bar padrão.
   Restante mantido só pra retrocompatibilidade (search/active-filters não usados mais). */
.mt-log-controls { display: none; }
.mt-log-controls__chips { display: flex; gap: 4px; }
.mt-log-controls__active-filters { display: flex; gap: 6px; flex-wrap: wrap; }
.mt-log-controls__right { margin-left: auto; }

.mt-log-chip {
  padding: 4px 10px; background: white; border: 1px solid var(--border); border-radius: 12px;
  font-family: var(--mono); font-size: 10.5px; font-weight: 500; color: var(--text-muted); cursor: pointer;
}
.mt-log-chip:hover { border-color: var(--text-muted); color: var(--text); }
.mt-log-chip--active { background: var(--text); color: white; border-color: var(--text); }
.mt-log-chip--active button { background: transparent; border: none; color: white; cursor: pointer; opacity: 0.7; font-size: 12px; line-height: 1; padding: 0 0 0 4px; }

.mt-log-page__timeline { font-family: var(--mono); font-size: 11px; }
.mt-log-page__timeline-head, .mt-log-page__row-main {
  display: grid;
  grid-template-columns: 80px 200px 24px 140px 1fr 60px 50px 60px 50px 32px;
  gap: 10px; padding: 8px 16px;
  align-items: center;
}
.mt-log-page__timeline-head { background: var(--surface); border-bottom: 1px solid var(--border); font-weight: 600; color: var(--text-muted); font-size: 9.5px; text-transform: uppercase; letter-spacing: 0.06em; }
.mt-log-page__row-main { border-bottom: 1px solid #f6f7f9; cursor: pointer; }
.mt-log-page__row-main:hover { background: var(--surface); }
.mt-log-page__row.is-expanded .mt-log-page__row-main { background: var(--surface); border-bottom: none; }
.mt-log-page__col-time { color: var(--text-muted); }
.mt-log-page__col-agent { display: flex; align-items: center; gap: 6px; font-weight: 600; }
.mt-log-page__col-agent .type-cell { font-size: 8.5px !important; padding: 1px 4px !important; flex-shrink: 0; }
.mt-log-page__col-status { text-align: center; font-weight: 700; font-size: 13px; }
.mt-log-page__col-status--good { color: var(--green); }
.mt-log-page__col-status--warn { color: var(--orange); }
.mt-log-page__col-status--alert { color: var(--red); }
.mt-log-page__col-status--run { color: var(--blue); }
.mt-log-page__col-company { color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mt-log-page__col-msg { color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mt-log-page__col-rate { text-align: right; font-weight: 600; }
.mt-log-page__col-rate--good { color: var(--green); }
.mt-log-page__col-rate--warn { color: var(--orange); }
.mt-log-page__col-rate--alert { color: var(--red); }
.mt-log-page__col-dur { text-align: right; color: var(--text-muted); }
.mt-log-page__col-toks { text-align: right; color: var(--purple); font-weight: 500; }
.mt-log-page__col-cache { text-align: center; }
.mt-log-page__col-cache--hit { color: var(--green); }
.mt-log-page__col-cache--miss { color: var(--text-muted); }
.mt-log-page__col-retries { text-align: center; color: var(--text-muted); }
.mt-log-page__col-retries--has { color: var(--orange); font-weight: 600; }
.mt-log-page__empty { padding: 48px 16px; text-align: center; color: var(--text-muted); font-family: var(--mono); font-size: 11px; }
.mt-log-page__more { padding: 12px; text-align: center; font-family: var(--mono); font-size: 10.5px; color: var(--text-muted); border-top: 1px solid var(--border); }

/* Detail expandido */
.mt-log-page__detail {
  padding: 16px 20px; background: var(--surface); border-bottom: 1px solid var(--border);
  font-family: var(--sans);
}
.mt-log-page__detail-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.mt-log-page__detail-block { background: white; border: 1px solid var(--border); border-radius: 4px; padding: 10px 12px; }
.mt-log-page__detail-block--full { grid-column: 1 / -1; }
.mt-log-page__detail-h { font-family: var(--mono); font-size: 9.5px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 8px; }
.mt-log-page__detail-pre { font-family: var(--mono); font-size: 10.5px; line-height: 1.45; color: var(--text); white-space: pre-wrap; word-break: break-all; max-height: 180px; overflow: auto; margin: 0; }
.mt-log-page__detail-pre--error { color: var(--red); background: #fff5f5; padding: 6px 8px; border-radius: 3px; }
.mt-log-page__detail-dl { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; font-size: 11px; margin: 0; }
.mt-log-page__detail-dl dt { font-family: var(--mono); font-size: 10px; color: var(--text-muted); }
.mt-log-page__detail-dl dd { font-family: var(--sans); font-weight: 500; }
.mt-log-page__detail-dl dd code { font-family: var(--mono); font-size: 10px; background: var(--surface); padding: 1px 4px; border-radius: 3px; }
.mt-log-page__detail-actions { display: flex; gap: 6px; }

/* Side cards */
.mt-log-side-card { background: white; border: 1px solid var(--border); border-radius: 6px; padding: 12px 14px; }
.mt-log-side-card__title { font-family: var(--mono); font-size: 10px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 10px; }
.mt-log-side-card__list { display: flex; flex-direction: column; gap: 4px; }
.mt-log-side-card__row { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 4px 6px; border-radius: 3px; cursor: pointer; font-family: var(--sans); font-size: 12px; }
.mt-log-side-card__row:hover { background: var(--surface); }
.mt-log-side-card__name { font-family: var(--mono); font-size: 11px; }
.mt-log-side-card__metric { font-family: var(--mono); font-size: 11.5px; font-weight: 600; }
.mt-log-side-card__metric--warn { color: var(--orange); }
.mt-log-side-card__metric--alert { color: var(--red); }
.mt-log-side-card__empty { font-size: 11px; color: var(--text-muted); font-style: italic; padding: 4px 0; }
.mt-log-side-card__corr { padding: 6px 4px; border-bottom: 1px solid #f6f7f9; }
.mt-log-side-card__corr:last-child { border-bottom: none; }
.mt-log-side-card__corr-line { font-family: var(--mono); font-size: 11px; }
.mt-log-side-card__corr-meta { font-size: 11px; color: var(--text-muted); margin-top: 2px; }
.mt-log-side-card__cost-total { font-family: var(--sans); font-size: 22px; font-weight: 700; font-feature-settings: "tnum" 1; margin-bottom: 8px; }
.mt-log-side-card__cost-total small { font-family: var(--mono); font-size: 10px; color: var(--text-muted); margin-left: 4px; font-weight: 400; }

.mt-log-heatmap { display: grid; grid-template-columns: repeat(24, 1fr); gap: 1px; height: 32px; margin-bottom: 4px; }
.mt-log-heatmap__cell { border-radius: 1px; min-height: 32px; }
.mt-log-heatmap__labels { display: flex; justify-content: space-between; font-family: var(--mono); font-size: 9px; color: var(--text-muted); margin-top: 4px; }

/* Metric tile clicável */
.metric-tile.is-clickable { cursor: pointer; transition: background 0.1s; }
.metric-tile.is-clickable:hover { background: var(--surface); }
.metric-tile.is-active { background: var(--text); }
.metric-tile.is-active .metric-tile__label,
.metric-tile.is-active .metric-tile__value { color: white; }

/* Body com bandeja: padding-bottom pra não sobrepor content */
body:has(.mt-log-tray.is-collapsed) #motorTempView { padding-bottom: 32px; }
body:has(.mt-log-tray.is-expanded) #motorTempView { padding-bottom: 360px; }

/* === Anna 2026-05-10 v6 — control-bar padronizado em TODAS as subpáginas motor-temp === */

/* Metas alinhadas à direita do control-bar (substituem mt-page__head-right) */
.control-bar__right { margin-left: auto; display: flex; align-items: center; gap: 14px; }
.control-bar__meta { display: flex; flex-direction: column; align-items: flex-end; gap: 1px; line-height: 1; }
.control-bar__meta-label { font-family: var(--mono); font-size: 9.5px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.06em; }
.control-bar__meta-val { font-family: var(--sans); font-size: 13px; font-weight: 600; color: var(--text); font-feature-settings: "tnum" 1; }
.control-bar__meta-val--good { color: var(--green); }
.control-bar__meta-val--bad { color: var(--red); }
.control-bar__meta-val--warn { color: var(--orange); }

/* Variante "ghost" (sem search) — usada no batch e em telas onde search não faz sentido */
.control-bar--ghost { padding: 10px 16px; background: var(--bg); }
.control-bar__hint { font-family: var(--sans); font-size: 12px; color: var(--text-muted); }

/* Banner de "dados mock" no log (Anna 2026-05-10: deixar claro pro user) */
.mt-mock-banner {
  background: #FEF9E7; border-bottom: 1px solid var(--border);
  padding: 8px 24px; font-family: var(--sans); font-size: 12px; color: #6B6019;
  display: flex; align-items: center; gap: 8px;
}
.mt-mock-banner strong { color: #5C4F0F; font-weight: 700; }
.mt-mock-banner code { font-family: var(--mono); background: rgba(0,0,0,0.04); padding: 1px 5px; border-radius: 3px; font-size: 11px; }
.mt-mock-banner__close { margin-left: auto; background: transparent; border: none; color: #6B6019; cursor: pointer; font-size: 16px; line-height: 1; padding: 0 4px; opacity: 0.7; }
.mt-mock-banner__close:hover { opacity: 1; }

/* Time pills inline no control-bar (Anna 2026-05-10: tudo numa linha só) */
.control-bar__time-pills { display: flex; gap: 4px; align-items: center; padding: 0 4px; }
.control-bar__time-pills::before {
  content: "período"; font-family: var(--mono); font-size: 9.5px; font-weight: 600;
  color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.06em; margin-right: 4px;
}

/* === Anna 2026-05-10 v5 — mt-pill DS-aligned + cost drill-down + output table no log === */

/* Segmented control / time pills (substitui mt-log-chip antigo) */
.mt-pill {
  padding: 4px 10px; background: transparent; border: 1px solid var(--border); border-radius: 4px;
  font-family: var(--mono); font-size: 10.5px; font-weight: 500; color: var(--text-muted);
  cursor: pointer; transition: all .15s ease;
}
.mt-pill:hover {
  background: var(--surface); color: var(--text);
}
.mt-pill.is-active {
  background: var(--text); color: var(--bg); border-color: var(--text);
}
/* FIX-RACE-WINDOWS-V25.4.35: .mt-pill truncada desde b98a633 (v25.4.33) — color:var( sem fechar
 * parser CSS engolia DS v2.0 PRIMITIVES + .ico inteiro. P0 fix factual via Chrome MCP. */

/* ═══════════════════════════════════════════════════════════════════════════
 * DS v2.0 PRIMITIVES · PR-DS-V2.0 v25.4.28 (clusters C4, C5, C6, C7, C9, C12, C28)
 * ═══════════════════════════════════════════════════════════════════════════
 * 7 primitives unificados pelo DS audit. NÃO migra callsites legacy automaticamente
 * (vira PRs separados). Convive com cb-band/btn/control-bar/etc atuais até migration.
 *
 * Spec completa: docs/DESIGN_SYSTEM.md §07.3-09 (v2.0)
 * Migração: specs/DS_FIX_SPEC_2026-05-12.md §3
 * ═══════════════════════════════════════════════════════════════════════════ */

/* === C4 .page-shell — container max 1400px ============================ */
.page-shell {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
}
.page-shell--wide {
  max-width: none;
  padding: 0 24px;
}
@media (min-width: 1400px) {
  .page-shell { padding: 0 24px; }
}
@media (max-width: 599px) {
  .page-shell, .page-shell--wide { padding: 0 12px; }
}

/* === C5 .tab + 4 modifiers — primitive único ============================ */
.tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--border);
  padding: 0;
}
/* v25.6.38 mobile pass: tabs (.nav-tabs, motor/orbit/intel/detail) ficavam
   cortadas no mobile. Scroll horizontal touch-friendly com snap por aba. */
@media (max-width: 599px) {
  .tabs {
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .tabs::-webkit-scrollbar { display: none; }
  .tabs > .tab {
    scroll-snap-align: start;
    flex-shrink: 0;
    padding: 10px 12px;
    font-size: 10px;
    letter-spacing: 0.3px;
  }
}
.tab {
  padding: 12px 16px;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--text-muted);
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition: var(--ease-default);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border-left: none;
  border-right: none;
  border-top: none;
}
.tab:hover { color: var(--text); }
.tab.is-active {
  color: var(--text);
  border-bottom-color: var(--gold);
}
/* Modifier: --with-glyph (header nav) */
.tab--with-glyph .glyph { width: 18px; height: 18px; flex-shrink: 0; }
/* Modifier: --with-dot (completude Detail) */
.tab--with-dot::before {
  content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--border);
  flex-shrink: 0;
}
.tab--with-dot.is-done::before { background: var(--green); }
.tab--with-dot.is-partial::before { background: var(--orange); }
/* Modifier: --with-count (subset tabs Mira) */
.tab--with-count .count {
  margin-left: 6px;
  padding: 1px 6px;
  background: var(--gold-light);
  color: var(--gold);
  border-radius: var(--radius-full);
  font-size: 10px;
}
/* C5 .tab — mobile touch target (DS §14c · v25.6.13 BUG-TOUCH-TARGETS-44PX-MOBILE) */
@media (max-width: 599px) {
  .tab { min-height: 44px; padding: 14px 12px; }
}

/* === C6 .metric-row + .metric-tile — primitive (já parcial, completa) === */
.metric-row {
  display: flex;
  gap: 24px;
  padding: 16px 0;
}
@media (max-width: 599px) {
  .metric-row { gap: 12px; flex-wrap: wrap; }
}
/* .metric-tile já existe parcialmente em outras regras — adicionando variants */
.metric-tile--sm .metric-tile__value { font-size: 20px; }
.metric-tile--lg .metric-tile__value { font-size: 36px; }
.metric-tile__range {
  font-family: var(--mono);
  font-size: 10px;
  color: var(--text-muted);
}
.metric-tile__value.sc-vhigh { color: #059669; }
.metric-tile__value.sc-high  { color: var(--green); }
.metric-tile__value.sc-mid   { color: var(--orange); }
.metric-tile__value.sc-low   { color: var(--red); }

/* === C7 .btn variants enumerados ====================================== */
/* .btn base já existe parcial — adicionando variants v2.0 */
.btn--ghost {
  background: transparent;
  color: var(--text-muted);
  border-color: transparent;
}
.btn--ghost:hover { background: var(--surface-hover); color: var(--text); }
.btn--gold {
  background: var(--gold);
  color: #fff;
  border-color: var(--gold);
}
.btn--gold:hover { background: #088550; border-color: #088550; }
.btn--destructive {
  background: var(--red);
  color: #fff;
  border-color: var(--red);
}
.btn--destructive:hover { background: #DC2626; }
.btn--icon {
  padding: 8px;
  min-width: 32px;
  justify-content: center;
}
.btn--icon-right { flex-direction: row-reverse; }
.btn[disabled],
.btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* === C9 .state — loading/error/empty/empty-cta unificado ============== */
.state {
  padding: 32px;
  text-align: center;
}
.state--loading { text-align: left; }
.state__skel {
  background: var(--surface);
  border-radius: var(--radius-sm);
  height: 12px;
  margin: 8px 0;
  animation: skel-shimmer 1.5s ease-in-out infinite;
}
.state__skel--short { width: 35%; }
.state__skel--mid { width: 60%; }
.state__skel--line { width: 100%; }
.state__title {
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 8px;
}
.state__sub {
  font-family: var(--sans);
  font-size: 13px;
  color: var(--text-muted);
  margin-bottom: 16px;
}
.state__actions {
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
}
.state--error .state__title { color: var(--red); }
.state--empty .state__title { color: var(--text-muted); }
.state--empty-cta .state__title { color: var(--text); }
@keyframes skel-shimmer { 0%, 100% { opacity: 0.55; } 50% { opacity: 0.95; } }

/* === C12 .pill catálogo formal ========================================= */
.pill {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
}
/* Sub-categories (semantic) — re-export de cb-band/cb-sector/stbadge mas
   com namespace .pill-* uniforme. Migration pode usar ambos. */
.pill-band-target   { background: rgba(5, 150, 105, 0.14); color: #047857; }
.pill-band-alta     { background: rgba(10, 158, 94, 0.12); color: #059669; }
.pill-band-media    { background: rgba(245, 158, 11, 0.12); color: #B45309; }
.pill-band-baixa    { background: rgba(239, 68, 68, 0.10); color: #B91C1C; }
.pill-band-descarte { background: rgba(107, 114, 128, 0.10); color: #4B5563; }

.pill-sector-operacional { background: rgba(107, 114, 128, 0.10); color: #4B5563; }
.pill-sector-capital     { background: rgba(139, 92, 246, 0.10); color: #6D28D9; }
.pill-sector-tech        { background: rgba(16, 185, 129, 0.10); color: #059669; }
.pill-sector-cross       { background: rgba(59, 130, 246, 0.10); color: #1D4ED8; }

.pill-rank { background: var(--text); color: #fff; }
.pill-mira-top    { background: rgba(10, 158, 94, 0.18); color: #047857; }
.pill-setor-top   { background: rgba(16, 185, 129, 0.10); color: #059669; }

.pill-subset { background: rgba(107, 114, 128, 0.10); color: #4B5563; }
.pill-tag-pro { background: rgba(139, 92, 246, 0.10); color: #6D28D9; }
.pill-tag-tese { background: rgba(107, 114, 128, 0.10); color: #4B5563; }

.pill-risk-pol     { background: rgba(239, 68, 68, 0.12); color: #B91C1C; }
.pill-risk-op      { background: rgba(245, 158, 11, 0.12); color: #B45309; }

.pill-state-deprecated { background: rgba(234, 179, 8, 0.12); color: #A16207; font-style: italic; }
.pill-state-novo       { background: rgba(245, 158, 11, 0.16); color: #B45309; }
.pill-state-temp       { background: rgba(16, 185, 129, 0.12); color: #059669; }
.pill-empty            { background: rgba(107, 114, 128, 0.06); color: var(--text-muted); }

/* DEC-F-02 (Anna 2026-07-26 · A): .fchip descartado · promover .control-bar__chip que tem uso real (Agenda/Calendar/Inbox em prod). Bloco fchip removido. */

/* ═══════════════════════════════════════════════════════════════════════════
 * C24 — Font rule cards (sans + tabular-nums) · PR-PERF-POLISH v25.4.30
 * DS v1.13 §02.5 prescreve "1 família por componente". Cards devem usar sans;
 * números via font-variant-numeric: tabular-nums em vez de switch pra mono.
 * Esta regra global garante alinhamento de números sem mistura de família.
 * ═══════════════════════════════════════════════════════════════════════════ */
.card-score, .card-num, .rcard__score-val, .rcard__subset-score-val,
.bt-card__score, .dt-metric__value, .metric-tile__value,
.metric-row .metric-tile__value, .ref-kpi-val {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}

/* ═══ PR-ICON-SVG C8 — DS audit · v25.4.34 ═══
 * Ícones SVG inline via utils.js icon(name, opts).
 * Width/height 1em pra herdar do font-size do parent.
 * vertical-align:-0.125em alinha baseline com texto adjacente.
 * fill:currentColor permite tema dark/light via CSS pai.
 */
.ico {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  fill: currentColor;
  flex-shrink: 0;
}
.ico path,
.ico circle,
.ico line,
.ico polyline,
.ico polygon {
  fill: inherit;
}

/* ═══════════════════════════════════════════════════════════════════
 * PR-04.0 · DS v2.0 PRIMITIVES (Kai · 2026-05-13)
 *
 * Sub-PR 0 do plano DEC-03 (5 sub-PRs sequenciais aprovado Anna).
 * Adiciona: .tab + modifiers, .tab-bar (scroll tratado), .fchip.
 * NÃO remove namespaces antigos (.dt-tab, .subset-tabs__

/* ═══ BUG-06 v25.5.1 — CTA voltar pro subset de origem ═══
 * Aparece no detail header quando user chega via #company/<id>?from=subset:NNN.
 * Discreto, sem competir com breadcrumb. Hover destaca.
 */
.dt-cta-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  margin-bottom: 12px;
  font-size: 12px;
  color: var(--text-muted);
  text-decoration: none;
  border-radius: 4px;
  transition: color 0.15s, background 0.15s;
}
.dt-cta-back:hover {
  color: var(--text);
  background: var(--surface);
}

/* ═══ BUG-GAP-02 v25.5.2 — governance flags + electoral + scandal ═══ */
.dt-flags-row { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 0; }
.dt-pill-mini { display: inline-block; padding: 2px 8px; font-size: 11px; border-radius: 3px; background: var(--surface); border: 1px solid var(--border); color: var(--text-muted); }
.dt-pill-mini--ok { color: #059669; border-color: #059669; }
.dt-pill-mini--off { color: var(--text-muted); }
.dt-electoral-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 10px; padding: 8px 0; }
.dt-electoral-card { padding: 10px 12px; background: var(--surface); border-left: 3px solid var(--border); border-radius: 4px; font-size: 12px; }
.dt-electoral-level { font-weight: 600; text-transform: uppercase; font-size: 10px; }
.dt-electoral-level.sc-low { color: #DC2626; }
.dt-electoral-level.sc-mid { color: #D97706; }
.dt-electoral-level.sc-high { color: #059669; }
.dt-electoral-analysis { color: var(--text-muted); margin-top: 4px; line-height: 1.4; }
.dt-electoral-summary { font-size: 13px; color: var(--text); margin: 8px 0; }
.dt-electoral-meta { font-size: 12px; color: var(--text-muted); }
.dt-geo-score { font-family: var(--mono); font-feature-settings: "tnum"; }
.dt-scandal-box { padding: 10px 12px; background: rgba(220,38,38,0.05); border-left: 3px solid #DC2626; border-radius: 4px; margin-bottom: 10px; }
.dt-scandal-label { font-weight: 600; color: #DC2626; font-size: 12px; }
.dt-scandal-text { color: var(--text); font-size: 12px; margin-top: 4px; line-height: 1.4; }


/* ═══════════════════════════════════════════════════════════════════
 * Lote C · XCUT-13 + XCUT-15 (Kai 2026-07-26): a11y baseline
 * skip-link · sr-only · focus-visible global
 * ═══════════════════════════════════════════════════════════════════ */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border-width: 0;
}
.sr-only--focusable:focus,
.sr-only--focusable:focus-visible {
  position: fixed;
  top: 12px;
  left: 12px;
  width: auto;
  height: auto;
  padding: 10px 16px;
  margin: 0;
  clip: auto;
  background: var(--bg);
  color: var(--text);
  border: 2px solid var(--gold);
  border-radius: var(--radius-sm);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-decoration: none;
  z-index: 9999;
}
*:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}
button:focus:not(:focus-visible),
a:focus:not(:focus-visible),
input:focus:not(:focus-visible) {
  outline: none;
}

/* ═══════════════════════════════════════════════════════════════════
 * DEC-F-01 (Anna 2026-07-26 · aceito A): .pill --band-{a..d} + --status-discarded
 * Spec final pós-audit: 4 níveis funnel + 1 status separado.
 * Mapping factual prod: TARGET≥70 / ALTA 50-69 / MOD 30-49 / BAIXA 15-29 / DESCARTE 0-14.
 * Legacy .cb-band-* mantido como alias (aliases CSS abaixo) — purge fica pra DEAD-cleanup futuro.
 * ═══════════════════════════════════════════════════════════════════ */
.pill--band-a { background: #059669; color: #fff; }  /* TARGET ≥70 — verde escuro DS sc-vhigh */
.pill--band-b { background: #10B981; color: #fff; }  /* ALTA 50-69 — verde DS */
.pill--band-c { background: #F59E0B; color: #1F2937; } /* MOD 30-49 — amber DS */
.pill--band-d { background: #6B7280; color: #fff; }  /* BAIXA 15-29 — gray DS */
.pill--status-discarded {
  background: var(--surface-2);
  color: var(--text-meta);
  font-style: italic;
  /* DEC-F-01: DESCARTE é status (fora do funnel), não nível de scale. */
}
/* Aliases legacy → .pill canônico (zero break runtime · purge eventual DEAD-cleanup) */
.cb-band-target   { background: #059669; }
.cb-band-alta     { background: #10B981; }
.cb-band-media    { background: #F59E0B; }
.cb-band-baixa    { background: #6B7280; }
.cb-band-descarte { background: #EF4444; }

/* ═══════════════════════════════════════════════════════════════════
 * Vera A16 + A05 fixes (Kai 2026-07-26): SVG classes do boot/login
 * Substituem inline style="color: ..." dos SVGs próprios.
 * ═══════════════════════════════════════════════════════════════════ */
.scout-loading__scan,
.scout-loading__pulse,
.scout-login__scan {
  color: var(--gold);
}
.scout-loading__crosshair {
  color: var(--text);
}
.scout-login__crosshair {
  color: #ffffff;
}

/* DS-PROD-AUDIT-09 (Sprint 2): inputs sans (DS v1.13 — mono só pra chrome estrutural) */
#searchInput,
.board-controls input,
.board-controls select,
.bt-controls__input {
  font-family: var(--sans);
  font-variant-numeric: tabular-nums;
}

/* ════════════════════════════════════════════════════════════════════
   SYSTEM SCREENS · Sprint A · Kai-UX 2026-05-12
   Mockups: design-explorations/09 · 12 · 13 · 14 · 15 · 17
   Prefixos: .scout-error · .scout-confirm · .scout-offline · .scout-maint · .scout-bye · .scout-uc
   ════════════════════════════════════════════════════════════════════ */

/* ─── ERROR (404/500/403) ─── */
.scout-error {
  position: fixed; inset: 0; z-index: 9998;
  display: flex; align-items: center; justify-content: center;
  background: var(--bg); font-family: var(--sans);
  padding: 48px; transition: opacity 0.22s ease;
}
.scout-error.is-hiding { opacity: 0; pointer-events: none; }
.scout-error__stage { text-align: center; max-width: 600px; }
.scout-error__glyph { width: 88px; height: 88px; margin: 0 auto 24px; }
.scout-error__glyph svg { width: 100%; height: 100%; animation: scoutErrScan 6s linear infinite; transform-origin: center; }
@keyframes scoutErrScan { 0% { transform: rotate(0deg) } 100% { transform: rotate(360deg) } }
.scout-error__kicker { font-family: var(--mono); font-size: 10px; font-weight: 700; color: var(--gold); text-transform: uppercase; letter-spacing: 0.14em; margin-bottom: 14px; }
.scout-error__code { font-family: var(--sans); font-weight: 800; font-size: 140px; letter-spacing: -0.05em; line-height: 1; color: var(--text); margin-bottom: 4px; font-feature-settings: "tnum" 1; }
.scout-error__code em { color: var(--gold); font-style: normal; }
.scout-error__title { font-family: var(--sans); font-weight: 800; font-size: 32px; letter-spacing: -0.02em; line-height: 1.15; color: var(--text); margin-bottom: 12px; max-width: 460px; margin-left: auto; margin-right: auto; }
.scout-error__title em { color: var(--gold); font-style: normal; }
.scout-error__lead { font-family: var(--sans); font-size: 14px; color: var(--text-muted); line-height: 1.55; max-width: 440px; margin: 0 auto 20px; }
.scout-error__route { font-family: var(--mono); font-size: 12px; color: var(--red); background: rgba(239,68,68,0.06); padding: 4px 10px; border-radius: 4px; border: 1px solid rgba(239,68,68,0.2); display: inline-block; margin-bottom: 20px; }
.scout-error__divider { width: 32px; height: 1px; background: var(--gold); margin: 0 auto 24px; opacity: 0.6; }
.scout-error__actions { display: inline-flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.scout-error__btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border: 1px solid var(--border); border-radius: 6px; background: white; color: var(--text); font-family: var(--sans); font-size: 13px; font-weight: 600; text-decoration: none; cursor: pointer; transition: all 0.15s; }
.scout-error__btn:hover { border-color: var(--text); background: var(--surface); }
.scout-error__btn--primary { background: var(--text); color: white; border-color: var(--text); }
.scout-error__btn--primary:hover { background: #000; }
.scout-error__fineprint { font-family: var(--mono); font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.1em; margin-top: 24px; }
.scout-error__fineprint code { background: var(--surface); padding: 1px 5px; border-radius: 3px; }
.scout-error__stack { margin-top: 16px; text-align: left; max-width: 500px; margin-left: auto; margin-right: auto; }
.scout-error__stack summary { font-family: var(--mono); font-size: 11px; color: var(--text-muted); cursor: pointer; }
.scout-error__stack pre { font-family: var(--mono); font-size: 10.5px; background: var(--surface); padding: 10px; border-radius: 4px; margin-top: 8px; overflow: auto; max-height: 200px; color: var(--text); }

/* ─── CONFIRM MODAL ─── */
.scout-confirm__backdrop { position: fixed; inset: 0; z-index: 9997; background: rgba(0,0,0,0.5); display: flex; align-items: center; justify-content: center; padding: 32px; transition: opacity 0.18s ease; }
.scout-confirm__backdrop.is-hiding { opacity: 0; pointer-events: none; }
.scout-confirm__modal { width: 100%; max-width: 440px; background: white; border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 20px 50px rgba(0,0,0,0.25); overflow: hidden; font-family: var(--sans); }
.scout-confirm__head { padding: 18px 22px; border-bottom: 1px solid var(--border); display: flex; align-items: flex-start; gap: 14px; }
.scout-confirm__icon { width: 36px; height: 36px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border-radius: 8px; font-family: var(--sans); font-weight: 800; font-size: 18px; color: white; }
.scout-confirm__icon--warn { background: var(--orange); }
.scout-confirm__icon--danger { background: var(--red); }
.scout-confirm__icon--info { background: var(--text); }
.scout-confirm__kicker { font-family: var(--mono); font-size: 10px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 4px; }
.scout-confirm__title { font-family: var(--sans); font-weight: 700; font-size: 16px; letter-spacing: -0.01em; line-height: 1.3; }
.scout-confirm__title em { color: var(--gold); font-style: normal; }
.scout-confirm__body { padding: 18px 22px; font-family: var(--sans); font-size: 13px; color: var(--text); line-height: 1.6; }
.scout-confirm__body strong { color: var(--text); font-weight: 600; }
.scout-confirm__body code { font-family: var(--mono); font-size: 11.5px; background: var(--surface); padding: 1px 6px; border-radius: 3px; color: var(--text); }
.scout-confirm__detail { margin-top: 10px; padding: 10px 12px; background: var(--surface); border-radius: 6px; font-family: var(--mono); font-size: 11px; color: var(--text-muted); line-height: 1.6; }
.scout-confirm__detail strong { color: var(--text); font-weight: 600; }
.scout-confirm__actions { padding: 14px 22px; background: var(--surface); border-top: 1px solid var(--border); display: flex; justify-content: flex-end; gap: 8px; }
.scout-confirm__btn { padding: 8px 16px; border: 1px solid var(--border); border-radius: 6px; background: white; font-family: var(--sans); font-size: 13px; font-weight: 600; color: var(--text); cursor: pointer; transition: all 0.15s; }
.scout-confirm__btn:hover { border-color: var(--text); }
.scout-confirm__btn--primary { background: var(--text); color: white; border-color: var(--text); }
.scout-confirm__btn--primary:hover { background: #000; }
.scout-confirm__btn--danger { background: var(--red); color: white; border-color: var(--red); }
.scout-confirm__btn--danger:hover { background: #dc2626; }

/* ─── OFFLINE BANNER ─── */
.scout-offline { position: fixed; top: 0; left: 0; right: 0; z-index: 9996; padding: 8px 24px; font-family: var(--sans); font-size: 12.5px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid; transition: transform 0.22s ease; }
.scout-offline.is-hiding { transform: translateY(-100%); }
.scout-offline--warn { background: #FFFBEB; border-bottom-color: var(--orange); color: #92400E; }
.scout-offline--err { background: #FEF2F2; border-bottom-color: var(--red); color: #991B1B; }
.scout-offline--ok { background: rgba(16,185,129,0.08); border-bottom-color: var(--green); color: #065F46; }
.scout-offline__icon { width: 16px; height: 16px; border-radius: 50%; flex-shrink: 0; position: relative; animation: scoutOffPulse 1.6s ease-in-out infinite; }
.scout-offline__icon::after { content: ""; position: absolute; inset: 5px; background: white; border-radius: 50%; }
.scout-offline--warn .scout-offline__icon { background: var(--orange); }
.scout-offline--err .scout-offline__icon { background: var(--red); }
.scout-offline--ok .scout-offline__icon { background: var(--green); animation: none; }
@keyframes scoutOffPulse { 0%,100% { opacity: 1 } 50% { opacity: 0.4 } }
.scout-offline__text { flex: 1; }
.scout-offline__text strong { font-weight: 700; }
.scout-offline--warn .scout-offline__text strong { color: #78350F; }
.scout-offline--err .scout-offline__text strong { color: #7F1D1D; }
.scout-offline--ok .scout-offline__text strong { color: #064E3B; }
.scout-offline__action { font-family: var(--sans); font-size: 12px; font-weight: 600; background: transparent; border: 1px solid; border-radius: 4px; padding: 4px 10px; cursor: pointer; text-decoration: none; }
.scout-offline--warn .scout-offline__action { border-color: var(--orange); color: #78350F; }
.scout-offline--err .scout-offline__action { border-color: var(--red); color: #991B1B; }
.scout-offline__close { background: transparent; border: none; font-size: 18px; line-height: 1; cursor: pointer; opacity: 0.6; padding: 0 4px; }
.scout-offline__close:hover { opacity: 1; }
body.has-offline-banner { padding-top: 36px; }

/* ─── MAINTENANCE ─── */
.scout-maint { position: fixed; inset: 0; z-index: 9999; background: var(--bg); display: flex; align-items: center; justify-content: center; padding: 48px; font-family: var(--sans); }
.scout-maint__stage { text-align: center; max-width: 520px; }
.scout-maint__glyph { width: 88px; height: 88px; margin: 0 auto 24px; }
.scout-maint__glyph svg { width: 100%; height: 100%; }
.scout-maint__gear { animation: scoutMaintGear 8s linear infinite; transform-origin: center; }
@keyframes scoutMaintGear { 0% { transform: rotate(0deg) } 100% { transform: rotate(360deg) } }
.scout-maint__wordmark { margin-bottom: 8px; }
.scout-maint__wordmark .scout-wordmark { font-size: 28px; }
.scout-maint__kicker { font-family: var(--mono); font-size: 10px; font-weight: 700; color: var(--gold); text-transform: uppercase; letter-spacing: 0.14em; margin-bottom: 16px; }
.scout-maint__title { font-family: var(--sans); font-weight: 800; font-size: 40px; letter-spacing: -0.03em; line-height: 1.1; margin-bottom: 14px; }
.scout-maint__title em { color: var(--gold); font-style: normal; }
.scout-maint__lead { font-family: var(--sans); font-size: 14px; color: var(--text-muted); line-height: 1.6; margin-bottom: 28px; max-width: 440px; margin-left: auto; margin-right: auto; }
.scout-maint__divider { width: 32px; height: 1px; background: var(--gold); margin: 0 auto 24px; opacity: 0.6; }
.scout-maint__schedule { display: inline-flex; flex-direction: column; align-items: center; gap: 6px; padding: 14px 22px; background: var(--surface); border: 1px solid var(--border); border-radius: 8px; margin-bottom: 24px; }
.scout-maint__schedule-label { font-family: var(--mono); font-size: 10px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.1em; }
.scout-maint__schedule-time { font-family: var(--sans); font-weight: 700; font-size: 18px; font-feature-settings: "tnum" 1; }
.scout-maint__schedule-time strong { color: var(--gold); }
.scout-maint__sub { font-family: var(--mono); font-size: 11px; color: var(--text-muted); line-height: 1.7; }
.scout-maint__sub a { color: var(--text); text-decoration: underline; text-decoration-color: var(--gold); }
.scout-maint__footer { font-family: var(--mono); font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.1em; margin-top: 32px; }
.scout-maint__footer code { background: var(--surface); padding: 1px 5px; border-radius: 3px; }

/* ─── LOGOUT SUCCESS (bye) ─── */
.scout-bye { position: fixed; inset: 0; z-index: 9999; background: var(--text); color: white; display: flex; align-items: center; justify-content: center; padding: 48px; font-family: var(--sans); overflow: hidden; }
.scout-bye__bg-glyph { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 520px; height: 520px; opacity: 0.025; pointer-events: none; }
.scout-bye__bg-glyph svg { width: 100%; height: 100%; }
.scout-bye__stage { text-align: center; max-width: 520px; position: relative; z-index: 1; }
.scout-bye__glyph { width: 72px; height: 72px; margin: 0 auto 20px; opacity: 0.85; }
.scout-bye__glyph svg { width: 100%; height: 100%; }
.scout-bye__wordmark { margin-bottom: 14px; }
.scout-bye__wordmark .scout-wordmark { font-size: 28px; color: white; }
.scout-bye__kicker { font-family: var(--mono); font-size: 10px; font-weight: 700; color: var(--gold); text-transform: uppercase; letter-spacing: 0.14em; margin-bottom: 20px; }
.scout-bye__title { font-family: var(--sans); font-weight: 800; font-size: 44px; letter-spacing: -0.03em; line-height: 1.1; color: white; margin-bottom: 14px; }
.scout-bye__title em { color: var(--gold); font-style: normal; }
.scout-bye__lead { font-family: var(--sans); font-size: 14px; color: rgba(255,255,255,0.7); line-height: 1.6; margin-bottom: 32px; max-width: 460px; margin-left: auto; margin-right: auto; }
.scout-bye__divider { width: 32px; height: 1px; background: var(--gold); margin: 0 auto 28px; opacity: 0.6; }
.scout-bye__actions { display: inline-flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.scout-bye__btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border: 1px solid rgba(255,255,255,0.2); border-radius: 6px; background: transparent; color: white; font-family: var(--sans); font-size: 13px; font-weight: 600; text-decoration: none; cursor: pointer; transition: all 0.15s; }
.scout-bye__btn:hover { border-color: white; background: rgba(255,255,255,0.05); }
.scout-bye__btn--primary { background: white; color: var(--text); border-color: white; }
.scout-bye__btn--primary:hover { background: rgba(255,255,255,0.92); }
.scout-bye__footer { margin-top: 36px; font-family: var(--mono); font-size: 10px; color: rgba(255,255,255,0.4); text-transform: uppercase; letter-spacing: 0.12em; }
.scout-bye__footer strong { color: rgba(255,255,255,0.7); font-weight: 600; }

/* ─── UNDER CONSTRUCTION ─── */
.scout-uc { padding: 48px; font-family: var(--sans); position: relative; min-height: 480px; display: flex; align-items: center; justify-content: center; }
.scout-uc::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(45deg, transparent, transparent 24px, rgba(245,158,11,0.04) 24px, rgba(245,158,11,0.04) 48px); }
.scout-uc__stage { text-align: center; max-width: 520px; position: relative; z-index: 1; }
.scout-uc__glyph { width: 96px; height: 96px; margin: 0 auto 24px; }
.scout-uc__glyph svg { width: 100%; height: 100%; }
.scout-uc__square-1, .scout-uc__square-2, .scout-uc__square-4 { fill: var(--text); stroke: none; }
.scout-uc__square-3-missing { fill: none; stroke: var(--orange); stroke-width: 2; stroke-dasharray: 4 3; }
.scout-uc__square-3-missing-fill { fill: rgba(245,158,11,0.08); stroke: none; }
.scout-uc__hammer { animation: scoutUcHammer 1.4s cubic-bezier(0.4,0,0.6,1) infinite; transform-origin: 50% 90%; }
@keyframes scoutUcHammer { 0%,50%,100% { transform: rotate(-8deg) } 25%,75% { transform: rotate(12deg) } }
.scout-uc__wordmark { margin-bottom: 10px; }
.scout-uc__wordmark .scout-wordmark { font-size: 28px; }
.scout-uc__kicker { font-family: var(--mono); font-size: 10px; font-weight: 700; color: var(--orange); text-transform: uppercase; letter-spacing: 0.14em; margin-bottom: 18px; }
.scout-uc__title { font-family: var(--sans); font-weight: 800; font-size: 40px; letter-spacing: -0.03em; line-height: 1.1; margin-bottom: 14px; }
.scout-uc__title em { color: var(--orange); font-style: normal; }
.scout-uc__lead { font-family: var(--sans); font-size: 14px; color: var(--text-muted); line-height: 1.6; margin-bottom: 28px; max-width: 440px; margin-left: auto; margin-right: auto; }
.scout-uc__divider { width: 32px; height: 1px; background: var(--orange); margin: 0 auto 24px; opacity: 0.6; }
.scout-uc__schedule { display: inline-flex; flex-direction: column; align-items: center; gap: 6px; padding: 14px 22px; background: var(--surface); border: 1px solid var(--border); border-radius: 8px; margin-bottom: 24px; }
.scout-uc__schedule-label { font-family: var(--mono); font-size: 10px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.1em; }
.scout-uc__schedule-time { font-family: var(--sans); font-weight: 700; font-size: 16px; font-feature-settings: "tnum" 1; }
.scout-uc__schedule-time strong { color: var(--orange); }
.scout-uc__actions { display: inline-flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.scout-uc__btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border: 1px solid var(--border); border-radius: 6px; background: white; color: var(--text); font-family: var(--sans); font-size: 13px; font-weight: 600; text-decoration: none; cursor: pointer; transition: all 0.15s; }
.scout-uc__btn:hover { border-color: var(--text); background: var(--surface); }
.scout-uc__btn--primary { background: var(--text); color: white; border-color: var(--text); }
.scout-uc__footer { margin-top: 32px; font-family: var(--mono); font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.12em; }
.scout-uc__footer code { background: var(--surface); padding: 1px 5px; border-radius: 3px; }

/* ─── F10-REFERENCIAL · DS v1.13 (v25.6.33) ─── */
.mt-hero { background: var(--text); color: white; padding: 56px 32px; border-bottom: 1px solid var(--border); }
.mt-hero__kicker { font-family: var(--mono); font-size: 10px; font-weight: 700; color: var(--gold); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 12px; }
.mt-hero__title { font-family: var(--serif); font-size: 44px; font-weight: 400; letter-spacing: -0.02em; line-height: 1.05; margin-bottom: 16px; max-width: 880px; }
.mt-hero__title em { font-style: italic; color: rgba(255,255,255,0.5); }
.mt-hero__lead { font-family: var(--sans); font-size: 15px; line-height: 1.65; color: rgba(255,255,255,0.85); max-width: 780px; }
.mt-hero__lead code { font-family: var(--mono); background: rgba(255,255,255,0.1); padding: 2px 6px; border-radius: 3px; color: white; font-size: 13px; }
.ref-page { padding: 32px 24px; }
.ref-block { padding: 24px 0; border-top: 1px solid var(--border); }
.ref-block__h { font-family: var(--mono); font-size: 11px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 4px; }
.ref-block__title { font-family: var(--sans); font-size: 20px; font-weight: 700; letter-spacing: -0.01em; margin-bottom: 6px; line-height: 1.2; }
.ref-block__lead { font-size: 13px; color: var(--text-muted); line-height: 1.6; max-width: 800px; margin-bottom: 20px; }
.ref-block__lead code { font-family: var(--mono); font-size: 12px; }
.ref-stack { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0; border: 1px solid var(--border); border-radius: 6px; overflow: hidden; }
.ref-stack__card { padding: 16px 18px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); background: white; }
.ref-stack__card-kicker { font-family: var(--mono); font-size: 9px; font-weight: 700; color: var(--gold); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 4px; }
.ref-stack__card-title { font-family: var(--sans); font-size: 14px; font-weight: 700; margin-bottom: 8px; }
.ref-stack__card-detail { font-family: var(--sans); font-size: 12px; line-height: 1.55; color: var(--text-muted); }
.ref-stack__card-detail code { font-family: var(--mono); font-size: 11px; color: var(--text); background: var(--surface); padding: 1px 4px; border-radius: 2px; }
.ref-stack__card-detail strong { color: var(--text); font-weight: 600; }
.ref-apis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 1px solid var(--border); border-radius: 6px; overflow: hidden; }
.ref-api { padding: 12px 16px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); background: white; }
.ref-api__head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin-bottom: 4px; }
.ref-api__name { font-family: var(--sans); font-size: 13px; font-weight: 700; }
.ref-api__tag { font-family: var(--mono); font-size: 9px; font-weight: 700; padding: 1px 6px; border-radius: 3px; text-transform: uppercase; letter-spacing: 0.06em; }
.ref-api__tag--col { background: rgba(59,130,246,0.1); color: var(--blue); }
.ref-api__tag--llm { background: rgba(139,92,246,0.1); color: var(--purple); }
.ref-api__tag--auth { background: rgba(245,158,11,0.1); color: var(--orange); }
.ref-api__tag--core { background: rgba(10,158,94,0.1); color: var(--gold); }
.ref-api__scope { font-family: var(--mono); font-size: 10.5px; color: var(--text); margin-bottom: 4px; }
.ref-api__desc { font-family: var(--sans); font-size: 11.5px; color: var(--text-muted); line-height: 1.5; }
.ref-ici-table { width: 100%; border-collapse: collapse; font-size: 12px; border: 1px solid var(--border); border-radius: 6px; overflow: hidden; }
.ref-ici-table th { text-align: left; padding: 10px 12px; background: var(--surface); font-family: var(--mono); font-size: 10px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.06em; border-bottom: 1px solid var(--border); }
.ref-ici-table td { padding: 8px 12px; border-bottom: 1px solid var(--border); background: white; }
.ref-ici-table tr:last-child td { border-bottom: none; }
.ref-ici-table .eixo-code { font-family: var(--mono); font-size: 11px; font-weight: 700; color: var(--gold); }
.ref-ici-table .eixo-name { font-family: var(--sans); font-size: 12px; font-weight: 600; }
.ref-ici-table .eixo-range { font-family: var(--mono); font-size: 11px; color: var(--text); font-feature-settings: "tnum" 1; }
.ref-ici-table .eixo-desc { font-size: 11.5px; color: var(--text-muted); }
.ref-mira__band { font-family: var(--mono); font-size: 9.5px; font-weight: 700; padding: 2px 6px; border-radius: 3px; text-transform: uppercase; letter-spacing: 0.06em; }
.ref-mira__band--target { background: var(--gold); color: white; }
.ref-mira__band--alta { background: rgba(10,158,94,0.15); color: var(--gold); }
.ref-mira__band--mod { background: rgba(245,158,11,0.15); color: var(--orange); }
.ref-mira__band--bx { background: rgba(239,68,68,0.15); color: var(--red); }
.ref-mira__band--desc { background: var(--surface); color: var(--text-muted); }
.ref-footer__hint { font-family: var(--mono); font-size: 11px; color: var(--text-muted); }
.ref-footer__btn { padding: 6px 14px; background: var(--text); color: white; font-family: var(--mono); font-size: 11px; font-weight: 600; text-decoration: none; border-radius: 4px; }
