/* ═══════════════════════════════════════════════════════════════
   bm-leads-dashboard — sub-tab Leads (v6.21.0)
   Diseño del mockup v3: KPIs + embudo proporcional + tabla de
   conversión por canal + heatmap Canal×Marca (ejemplo) + tendencia.
   Light DOM: selectores scopeados bajo el host.
   ═══════════════════════════════════════════════════════════════ */
bm-leads-dashboard{
  --lv-verde:#033932; --lv-verde2:#009E83; --lv-mint:#C4EFD8; --lv-mint2:#9FE1CB;
  --lv-line:#e8ece9; --lv-ink:#1d2422; --lv-muted:#6b7c78;
  --lv-adds:#009E83; --lv-walkin:#033932; --lv-referido:#5DCAA5; --lv-feria:#95D7D1;
  --lv-fact:#c98a2b;
  display:block;
}

bm-leads-dashboard .lv-disc{
  background:#fff7e6;border:1px solid #f0d998;color:#7a5b12;font-size:12.5px;
  padding:8px 14px;border-radius:8px;margin:0 0 18px;line-height:1.5;
}

/* filtros */
bm-leads-dashboard .lv-filterbar{
  display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;background:#fff;
  border:1px solid var(--lv-line);border-radius:14px;padding:14px 16px;margin-bottom:18px;
}
bm-leads-dashboard .lv-fgroup{display:flex;flex-direction:column;gap:4px}
bm-leads-dashboard .lv-fgroup label{
  font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--lv-muted);font-weight:600;
}
bm-leads-dashboard .lv-fgroup input,
bm-leads-dashboard .lv-fgroup select{
  font-family:inherit;font-size:13px;padding:8px 11px;border:1px solid var(--lv-line);
  border-radius:8px;background:#fff;color:var(--lv-ink);min-width:150px;
}
bm-leads-dashboard .lv-fspace{flex:1}
bm-leads-dashboard .lv-fbtn{
  background:var(--lv-verde);color:#fff;border:none;border-radius:8px;padding:9px 18px;
  font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;
}
bm-leads-dashboard .lv-fbtn:disabled{opacity:.6;cursor:default}

/* KPIs */
bm-leads-dashboard .lv-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;margin-bottom:18px}
bm-leads-dashboard .lv-kpi{background:#fff;border:1px solid var(--lv-line);border-radius:14px;padding:15px 16px}
bm-leads-dashboard .lv-kpi.hl{background:linear-gradient(135deg,#043f37,#065c4f)}
bm-leads-dashboard .lv-kpi.fc{background:linear-gradient(135deg,#8a5d18,#c98a2b)}
bm-leads-dashboard .lv-kpi.hl .lv-lbl,bm-leads-dashboard .lv-kpi.hl .lv-val,bm-leads-dashboard .lv-kpi.hl .lv-meta,
bm-leads-dashboard .lv-kpi.fc .lv-lbl,bm-leads-dashboard .lv-kpi.fc .lv-val,bm-leads-dashboard .lv-kpi.fc .lv-meta{color:#fff}
bm-leads-dashboard .lv-lbl{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--lv-muted)}
bm-leads-dashboard .lv-val{font-family:"JetBrains Mono",monospace;font-size:25px;color:var(--lv-verde);margin-top:4px}
bm-leads-dashboard .lv-meta{font-size:11.5px;color:var(--lv-verde2);margin-top:3px;font-weight:600}
bm-leads-dashboard .lv-kpi.hl .lv-meta{color:var(--lv-mint)}
bm-leads-dashboard .lv-kpi.fc .lv-meta{color:#f3dcb0}

/* layout */
bm-leads-dashboard .lv-grid{display:grid;gap:16px}
bm-leads-dashboard .lv-g2{grid-template-columns:1fr 1.1fr;align-items:stretch}
bm-leads-dashboard .lv-g2 > div{display:flex;flex-direction:column}
bm-leads-dashboard .lv-g2 > div > .lv-card:last-child{flex:1 1 auto}
bm-leads-dashboard .lv-g2 [data-role="origen-adds"]{flex:1 1 auto;display:flex;align-items:center;justify-content:center}
bm-leads-dashboard .lv-card{background:#fff;border:1px solid var(--lv-line);border-radius:14px;padding:18px;margin-bottom:16px}
bm-leads-dashboard .lv-card h3{font-family:"Instrument Serif",serif;font-weight:400;font-size:21px;color:var(--lv-verde);margin:0}
bm-leads-dashboard .lv-csub{font-size:12px;color:var(--lv-muted);margin:2px 0 16px}

/* embudo: barras horizontales proporcionales */
bm-leads-dashboard .lv-funnel{display:flex;flex-direction:column;gap:10px;margin-top:6px}
bm-leads-dashboard .lv-frow{display:flex;align-items:center;gap:12px}
bm-leads-dashboard .lv-fl{width:92px;font-size:12.5px;font-weight:600;color:var(--lv-ink);text-align:right;flex-shrink:0}
bm-leads-dashboard .lv-fbar-wrap{flex:1;background:#f0f2f0;border-radius:7px;overflow:hidden;height:38px;display:flex;align-items:center}
bm-leads-dashboard .lv-fbar{height:100%;display:flex;align-items:center;padding:0 12px;color:#fff;font-family:"JetBrains Mono",monospace;font-size:13px;font-weight:600;white-space:nowrap;border-radius:7px}
bm-leads-dashboard .lv-fconv{width:130px;font-size:11.5px;color:var(--lv-muted);flex-shrink:0}
bm-leads-dashboard .lv-fconv b{color:var(--lv-verde);font-family:"JetBrains Mono",monospace}
bm-leads-dashboard .lv-fconv.leak b{color:#c0563f}
bm-leads-dashboard .lv-fdivider{border-top:1px dashed #d7c39a;margin:2px 0 2px 104px;font-size:10.5px;color:#a5822f;padding-top:4px;letter-spacing:.04em}

/* tabla */
bm-leads-dashboard table.lv-tabla{width:100%;border-collapse:collapse;font-size:13px}
bm-leads-dashboard table.lv-tabla th,bm-leads-dashboard table.lv-tabla td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--lv-line)}
bm-leads-dashboard table.lv-tabla th{font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--lv-muted);font-weight:600}
bm-leads-dashboard table.lv-tabla td.num,bm-leads-dashboard table.lv-tabla th.num{text-align:right;font-family:"JetBrains Mono",monospace}
bm-leads-dashboard .lv-chip{display:inline-flex;align-items:center;gap:7px;font-weight:600}
bm-leads-dashboard .lv-dot{width:10px;height:10px;border-radius:3px;display:inline-block}
bm-leads-dashboard .lv-conv{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700}

/* heatmap */
bm-leads-dashboard table.lv-heat{width:100%;border-collapse:separate;border-spacing:4px;table-layout:fixed}
bm-leads-dashboard table.lv-heat th{font-size:11px;color:var(--lv-ink);font-weight:600;text-align:center;padding:4px}
bm-leads-dashboard table.lv-heat td{text-align:center;padding:0;border:none}
bm-leads-dashboard table.lv-heat th:first-child,bm-leads-dashboard table.lv-heat .lv-rowlbl{width:90px}
bm-leads-dashboard table.lv-heat .lv-rowlbl{text-align:right;font-weight:600;font-size:12.5px;color:var(--lv-ink);padding-right:8px}
bm-leads-dashboard .lv-cell{border-radius:7px;padding:12px 4px;font-family:"JetBrains Mono",monospace;font-size:13px;font-weight:600}
bm-leads-dashboard .lv-ex{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.05em;color:#a5822f;background:#fff7e6;border:1px solid #f0d998;padding:1px 6px;border-radius:4px;margin-left:6px;text-transform:uppercase;vertical-align:middle}

bm-leads-dashboard canvas{max-height:280px}
bm-leads-dashboard .lv-state{padding:40px;text-align:center;color:var(--lv-muted);font-size:14px}

@media (max-width:900px){
  bm-leads-dashboard .lv-kpis{grid-template-columns:repeat(2,1fr)}
  bm-leads-dashboard .lv-g2{grid-template-columns:1fr}
}

/* v6.21.34 — Canal x Marca: marcas clickeables + drill por modelo */
bm-leads-dashboard .lv-marca-btn{background:var(--lv-mint,#e6f6f1);border:1px solid var(--lv-verde2,#5DCAA5);color:var(--lv-verde,#009E83);font-weight:600;font-size:11px;padding:4px 10px;border-radius:6px;cursor:pointer;transition:background .15s,transform .1s}
bm-leads-dashboard .lv-marca-btn:hover{background:var(--lv-verde2,#5DCAA5);color:#fff;transform:translateY(-1px)}
bm-leads-dashboard .lv-heat-hint{margin:6px 0 10px;min-height:22px;display:flex;align-items:center;gap:8px}
bm-leads-dashboard .lv-crumb-muted{font-size:12px;color:var(--lv-muted,#8a9a95);font-style:italic}
bm-leads-dashboard .lv-crumb{font-size:12.5px;color:var(--lv-ink);font-weight:600}
bm-leads-dashboard .lv-back{background:none;border:1px solid var(--lv-verde,#009E83);color:var(--lv-verde,#009E83);font-size:12px;padding:3px 10px;border-radius:6px;cursor:pointer}
bm-leads-dashboard .lv-back:hover{background:var(--lv-verde,#009E83);color:#fff}

/* v6.21.42 — Calidad de leads: 2 KPIs de % + top 5 */
bm-leads-dashboard .lv-quality{display:flex;gap:12px;margin-bottom:14px}
bm-leads-dashboard .lv-qbox{flex:1;background:var(--lv-mint,#e6f6f1);border-radius:var(--radius,8px);padding:12px 14px;text-align:center}
bm-leads-dashboard .lv-qval{font-size:26px;font-weight:600;color:var(--lv-verde,#009E83);line-height:1.1}
bm-leads-dashboard .lv-qlbl{font-size:11.5px;color:var(--lv-ink,#0f2f28);margin-top:3px}
bm-leads-dashboard .lv-topsub{font-size:12.5px;font-weight:600;color:var(--lv-ink,#0f2f28);margin:6px 0 8px}
