.qv-quickread{margin-top:12px;}
.qv-activity-top{margin:0 0 12px;padding:12px;background:transparent;box-shadow:none;backdrop-filter:none;}
.qv-activity-topgrid{display:grid;grid-template-columns:1.35fr .9fr;gap:12px;align-items:stretch;}
@media (max-width:860px){.qv-activity-topgrid{grid-template-columns:1fr;}}
.qv-activity-topmain{padding:12px 12px 10px;border-radius:16px;background:var(--pd-panel-bg);box-shadow:var(--pd-card-shadow);background-clip:padding-box;}
.qv-mini{padding:12px;border-radius:16px;background:var(--pd-panel-bg);box-shadow:var(--pd-card-shadow);background-clip:padding-box;}
.qv-activity-topkicker{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.qv-activity-toplabel{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--pd-ink-62);}
.qv-meta{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:999px;font-size:12.5px;font-weight:700;color:color-mix(in oklch,var(--pd-ink) 78%,transparent 22%);background:var(--pd-hover);}
.qv-activity-topbig{display:flex;align-items:baseline;gap:10px;margin-top:8px;}
.qv-activity-topnum{font-size:32px;font-weight:860;letter-spacing:-.02em;color:var(--pd-ink-95);}
.qv-activity-topsub{margin-top:8px;font-size:13.5px;line-height:1.45;color:var(--pd-ink-mute);max-width:66ch;}
.qv-activity-topchips{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;}
.qv-chip{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;font-size:12.5px;font-weight:760;color:color-mix(in oklch,var(--pd-ink) 86%,transparent 14%);background:var(--pd-panel-bg);box-shadow:var(--pd-card-shadow);}
.qv-chip-tick{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:4px;border-radius:999px;font-weight:900;line-height:1;background:var(--pd-panel-bg2);color:color-mix(in oklch,var(--pd-ink) 70%,transparent 30%);}
.qv-chip-tick.is-alto{color:color-mix(in oklch,var(--pd-tone-good-a) 92%,var(--pd-ink) 8%);background:color-mix(in oklch,var(--pd-tone-good-a) 14%,var(--pd-panel-bg2) 86%);}
.qv-chip-tick.is-medio{color:color-mix(in oklch,var(--pd-tone-ctx-a) 92%,var(--pd-ink) 8%);background:color-mix(in oklch,var(--pd-tone-ctx-a) 14%,var(--pd-panel-bg2) 86%);}
.qv-chip-tick.is-bajo{color:color-mix(in oklch,var(--pd-tone-risk-a) 92%,var(--pd-ink) 8%);background:color-mix(in oklch,var(--pd-tone-risk-a) 14%,var(--pd-panel-bg2) 86%);}
.qv-activity-narrative{margin-top:14px;padding:0 12px 0;font-size:12.8px;line-height:1.55;letter-spacing:-.01em;color:color-mix(in oklch,var(--pd-ink) 90%,transparent 10%);}
.qv-activity-narrative-title{margin:0 0 6px;font-weight:800;font-size:13px;line-height:1.25;color:color-mix(in oklch,var(--pd-ink) 92%,transparent 8%);}
.qv-activity-narrative-body{margin:0;}
.qv-sep-inset{position:relative;padding-top:18px;}
.qv-sep-inset::before{content:"";position:absolute;left:12px;right:12px;top:6px;height:1px;background:linear-gradient(to right,transparent,color-mix(in oklch,var(--pd-ink) 12%,transparent 88%),transparent);}

/* -------------------------------------------------------------------------- 03) Right side mini cards (derecha) */
.qv-activity-topside{display:grid;grid-template-columns:1fr;gap:12px;}
:where(.qv-mini-kicker,.qv-kpi-label,.qv-conv2-kicker,.qv-vol .qv-activity-table thead th){
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--pd-ink-62);
}
.qv-mini-big{margin-top:8px;font-size:22px;font-weight:860;letter-spacing:-.02em;color:var(--pd-ink-95);font-variant-numeric:tabular-nums;}
.qv-mini-sub{margin-top:6px;font-size:12px;line-height:1.35;color:var(--pd-ink-62);}
.qv-mini-rowbig{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.qv-mini-rowbig .qv-mini-big{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.qv-mini--gauge .qv-mini-row{margin-top:-8px;}
.qv-mini--gauge .qv-mini-sub{margin-top:-4px;}
.qv-mini-rowbig>.pd-rank-value{margin-top:0;}
/* -------------------------------------------------------------------------- 04) Mini row layout + Gauge + Spark */
.qv-mini-row{display:flex;align-items:center;gap:14px;min-width:0;}
.qv-mini-big--inline{flex:1 1 auto;min-width:0;line-height:1;}
.qv-gauge{position:relative;display:grid;place-items:center;flex:0 0 auto;margin-left:auto;}
.qv-gauge-svg{display:block;}
.qv-gauge-track{stroke:color-mix(in oklch,var(--pd-ink) 12%,transparent 88%);opacity:.9;}
.qv-gauge-bar{stroke:currentColor;}
.qv-gauge-center{position:absolute;inset:0;display:grid;place-items:center;background:transparent;border:0;box-shadow:none;padding:0;pointer-events:none;}
.qv-gauge-value{font-size:14px;font-weight:850;letter-spacing:-.02em;color:color-mix(in oklch,var(--pd-ink) 92%,transparent 8%);line-height:1;}
.qv-gauge.is-bajo{color:var(--pd-tone-risk-a);}
.qv-gauge.is-medio{color:var(--pd-tone-ctx-a);}
.qv-gauge.is-alto{color:var(--pd-tone-good-a);}
.qv-gauge--mini .qv-gauge-value{font-size:13.5px;}
.qv-mini-spark{flex:0 0 auto;margin-left:auto;width:74px;height:34px;display:flex;align-items:flex-end;justify-content:flex-end;gap:6px;}
.qv-mini-spark-col{width:9px;height:var(--h,40%);border-radius:6px;background:var(--pd-soft-08);}
.qv-mini-spark-col.is-on{background:var(--pd-tone-rec-b);}
.qv-mini-spark-col.is-off{background:var(--pd-soft-06);}

/* ==========================================================================
Lectura rápida — 3 KPI cards (SIN acordeón; aparece al scrollear)
========================================================================== */
.qv-activity-card.qv-quickread{padding:12px;border-radius:16px;background:var(--pd-panel-bg2);box-shadow:var(--pd-card-shadow);background-clip:padding-box;margin-bottom:12px;}
.qv-quickread-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;}
.qv-quickread-headtxt{min-width:0;}
.qv-activity-card.qv-quickread .qv-quickread-body{padding:0 0 0;}
.qv-quickread .qv-qr-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));}
@media (max-width:720px){.qv-quickread .qv-qr-grid{grid-template-columns:1fr;}}
.qv-quickread .qv-qr-kpi{padding:12px;display:flex;flex-direction:column;justify-content:center;align-items:stretch;min-height:156px;}
@media (max-width:720px){.qv-quickread .qv-qr-kpi{min-height:0;}}
.qv-quickread .qv-qr-kpi[data-tone="good"]{--qvAccent:var(--pd-tone-good-a);}
.qv-quickread .qv-qr-kpi[data-tone="warn"]{--qvAccent:var(--pd-tone-ctx-a);}
.qv-quickread .qv-qr-kpi[data-tone="bad"]{--qvAccent:var(--pd-tone-risk-a);}
.qv-quickread .qv-qr-top{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:4px;}
.qv-quickread .qv-qr-ico{width:44px;height:44px;color:var(--qvAccent);}
.qv-quickread .qv-qr-k{font-size:12px;letter-spacing:.06em;font-weight:800;text-transform:uppercase;color:var(--pd-ink-mute);}
.qv-quickread .qv-qr-v{text-align:center;font-size:24px;font-weight:860;letter-spacing:-.02em;color:color-mix(in oklch,var(--pd-ink) 92%,transparent 8%);margin-top:2px;}
.qv-quickread .qv-qr-sub{text-align:center;margin-top:4px;font-size:12px;line-height:1.35;color:var(--pd-ink-62);}

/* ==========================================================================
qv-conv2 — Conversión (últimos 7 días) · ES2023
========================================================================== */
/* -------------------------------------------------------------------------- 01) Headline + badge (FINAL) */
.qv-conv2-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;}
.qv-conv2-headtxt{min-width:0;}

/* Subtítulo canónico (pd-acc-sub) con: izquierda (tick+texto) + derecha (badge) */
.qv-conv2 .pd-acc-sub{display:flex;align-items:center;gap:10px;min-width:0;}
.qv-conv2-subleft{display:inline-flex;align-items:center;gap:2px;min-width:0;flex:1 1 auto;}
.qv-conv2-subtxt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

.qv-conv2-badge{margin-left:auto;flex:0 0 auto;align-self:flex-start;height:28px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;font-size:12.5px;font-weight:800;letter-spacing:-.01em;white-space:nowrap;background:var(--pd-panel-bg2);color:color-mix(in oklch,var(--pd-ink) 78%,transparent 22%);box-shadow:none;}
.qv-conv2-badge.is-bajo{color:color-mix(in oklch,var(--pd-tone-risk-a) 92%,var(--pd-ink) 8%);background:color-mix(in oklch,var(--pd-tone-risk-a) 10%,var(--pd-panel-bg2) 90%);}
.qv-conv2-badge.is-medio{color:color-mix(in oklch,var(--pd-tone-ctx-a) 92%,var(--pd-ink) 8%);background:color-mix(in oklch,var(--pd-tone-ctx-a) 12%,var(--pd-panel-bg2) 88%);}
.qv-conv2-badge.is-alto{color:color-mix(in oklch,var(--pd-tone-good-a) 92%,var(--pd-ink) 8%);background:color-mix(in oklch,var(--pd-tone-good-a) 10%,var(--pd-panel-bg2) 90%);}

/* -------------------------------------------------------------------------- 02) Layout 2 columnas (misma altura real) */
.qv-conv2-2col{display:grid;gap:12px;align-items:start;}
@media (min-width:860px){
.qv-conv2-2col{grid-template-columns:1.15fr .85fr;align-items:stretch;}
.qv-conv2-left,.qv-conv2-right{min-width:0;}
.qv-conv2-left{display:block;}
.qv-conv2-big,.qv-conv2-sum7d{height:100%;}
}
@media (max-width:859.98px){
.qv-conv2-left,.qv-conv2-right{min-width:0;}
.qv-conv2-right{display:grid;gap:12px;align-content:start;}
}

/* -------------------------------------------------------------------------- 03) KPIs (2-up) */
.qv-conv2-big{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch;}
@media (max-width:860px){.qv-conv2-big{grid-template-columns:1fr;}}
.qv-conv2-bigitem{height:100%;padding:12px;border-radius:14px;background:var(--pd-panel-bg2);box-shadow:var(--pd-card-shadow);background-clip:padding-box;}
.qv-conv2-bigitem.is-strong{background:color-mix(in oklch,var(--pd-panel-bg2) 84%,var(--pd-hover) 16%);}

/* Traducción rápida (HTML usa .qv-conv2-quickcard) */
.qv-conv2-quickcard{margin-top:12px;padding:12px;border-radius:14px;background:color-mix(in oklch,var(--pd-panel-bg2) 88%,transparent 12%);box-shadow:var(--pd-card-shadow);background-clip:padding-box;}
.qv-conv2-quicktitle{margin:0 0 6px;font-size:12px;font-weight:850;letter-spacing:.02em;color:var(--pd-ink-95);}
.qv-conv2-quicktxt{font-size:12.7px;line-height:1.45;color:var(--pd-ink-62);}

/* -------------------------------------------------------------------------- 04) KPI Spark — color=currentColor */
.qv-conv2-bigitem.qv-kpi{position:relative;overflow:hidden;min-height:128px;display:flex;flex-direction:column;color:var(--pd-ink-70);}
.qv-qr-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px;}
.qv-kpi-num{margin-top:0;font-size:32px;font-weight:900;letter-spacing:-.035em;line-height:1.02;color:var(--pd-ink-95);font-variant-numeric:tabular-nums;}
.qv-kpi-sub{margin-top:10px;font-size:12.6px;line-height:1.45;color:var(--pd-ink-62);position:relative;z-index:2;}
.qv-kpi-sub--muted{margin-top:6px;color:var(--pd-ink-mute);}
.qv-kpi-footnote{margin-top:8px;font-size:12.4px;line-height:1.35;color:var(--pd-ink-62);}
.qv-kpi-spark{margin-top:auto;padding:10px 0;min-height:44px;position:relative;z-index:1;}
.qv-conv2 .qv-kpi-spark .qv-spark{width:100%;height:54px;display:block;}
.qv-conv2 .qv-kpi-spark .qv-spark-area{fill:url(#qvSparkFill);}
.qv-conv2 .qv-kpi-spark .qv-spark-line{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;shape-rendering:geometricPrecision;opacity:.92;}
.qv-conv2 .qv-kpi-spark .qv-spark-dot{fill:currentColor;stroke:color-mix(in oklch,var(--pd-panel-bg2) 92%,transparent 8%);stroke-width:2;vector-effect:non-scaling-stroke;shape-rendering:geometricPrecision;}
.qv-conv2-bigitem.is-strong.qv-kpi{color:var(--pd-tone-good-a);}
.qv-conv2-bigitem.is-mid.qv-kpi{color:var(--pd-tone-ctx-a);}
.qv-conv2-bigitem.is-low.qv-kpi{color:var(--pd-tone-risk-a);}
@media (prefers-reduced-motion:reduce){.qv-spark-line{transition:none;}}
.qv-kpi-delta{height:24px;padding:0 9px;border-radius:999px;display:inline-flex;align-items:center;font-size:12px;font-weight:850;letter-spacing:-.01em;white-space:nowrap;background:var(--pd-panel-bg2);color:color-mix(in oklch,var(--pd-ink) 78%,transparent 22%);}
.qv-kpi-delta.is-up{color:color-mix(in oklch,var(--pd-tone-good-a) 92%,var(--pd-ink) 8%);background:color-mix(in oklch,var(--pd-tone-good-a) 10%,var(--pd-panel-bg2) 90%);}
.qv-kpi-delta.is-down{color:color-mix(in oklch,var(--pd-tone-risk-a) 92%,var(--pd-ink) 8%);background:color-mix(in oklch,var(--pd-tone-risk-a) 10%,var(--pd-panel-bg2) 90%);}
.qv-kpi-delta.is-na{color:color-mix(in oklch,var(--pd-ink) 70%,transparent 30%);background:var(--pd-panel-bg2);}

.qv-spark-wrap{display:grid;gap:6px}
.qv-spark-axis{display:flex;justify-content:space-between;gap:6px;font-size:9px;line-height:1;color:color-mix(in oklch,var(--pd-ink) 58%,transparent 42%);user-select:none}

/* -------------------------------------------------------------------------- 05) Tabla resumen 7d (FINAL · sin duplicados · dato=600) */
.qv-conv2-sum7d{padding:12px;border-radius:14px;background:color-mix(in oklch,var(--pd-panel-bg2) 88%,transparent 12%);box-shadow:var(--pd-card-shadow);background-clip:padding-box;display:flex;flex-direction:column;}
.qv-conv2-kicker{margin:0 0 10px;}
.qv-conv2-sum7d-table{display:grid;}
.qv-conv2-sum7d-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:6px 0;}
.qv-conv2-sum7d-row+.qv-conv2-sum7d-row{border-top:1px dashed var(--pd-dash-12);}
.qv-conv2-sum7d-key{font-size:12.6px;line-height:1.35;color:var(--pd-ink-62);min-width:0;flex:1 1 auto;}
.qv-conv2-sum7d-val{font-size:13.5px;font-weight:600;letter-spacing:-.01em;color:var(--pd-ink-95);font-variant-numeric:tabular-nums;white-space:nowrap;flex:0 0 auto;text-align:right;}
.qv-conv2-sum7d-row.is-metric .qv-conv2-sum7d-key{color:color-mix(in oklch,var(--pd-ink) 72%,transparent 28%);}
.qv-conv2-sum7d-row.is-metric .qv-conv2-sum7d-val{font-weight:600;}
.qv-conv2-sum7d-sep{height:1px;margin:2px 0;background:linear-gradient(to right,transparent,color-mix(in oklch,var(--pd-ink) 10%,transparent 90%),transparent);}

/* FIX canónico SOLO para qv-conv2 (no toca otros acordeones) */
.qv-quickread-sumtxt{display:grid;gap:2px;}

/* ===================== Cómo leer las métricas ===================== */
.qv-metrics-help--inconv{margin-top:12px;padding:12px;border-radius:16px;background:color-mix(in oklch,var(--pd-panel-bg2) 88%,transparent 12%);box-shadow:var(--pd-card-shadow);background-clip:padding-box;}

.qv-metrics-help-grid{--qv-help-gap:22px;--qv-sep-pad:12px;position:relative;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);column-gap:var(--qv-help-gap);padding:16px 18px 12px;align-items:start;}
.qv-metrics-help-sep{position:absolute;top:16px;bottom:12px;left:calc((100% - var(--qv-help-gap)) * (.95 / (0.95 + 1)) + (var(--qv-help-gap) / 2));width:1px;transform:translateX(-.5px);border-radius:999px;background:color-mix(in oklch,var(--pd-ink) 10%,transparent 90%);pointer-events:none;}
.qv-metrics-help-col{min-width:0;}
.qv-metrics-help-col--defs{padding-right:var(--qv-sep-pad);}
.qv-metrics-help-col--note{padding-left:var(--qv-sep-pad);}
.qv-metrics-help-note{padding:0;}
.qv-metrics-help-item{padding:8px 0;}
.qv-metrics-help-col--defs .qv-metrics-help-item:first-child{padding-top:0;}
.qv-metrics-help-col--defs .qv-metrics-help-item:last-child{padding-bottom:0;}
.qv-metrics-help-col--defs .qv-metrics-help-item:not(:last-child){border-bottom:1px dashed color-mix(in oklch,var(--pd-ink) 14%,transparent 86%);padding-bottom:8px;margin-bottom:8px;}
.qv-metrics-help-k{font-size:13px;font-weight:860;letter-spacing:-.012em;color:color-mix(in oklch,var(--pd-ink) 92%,transparent 8%);}
.qv-metrics-help-v{margin-top:8px;font-size:12.6px;color:var(--pd-ink-mute);max-width:72ch;}
.qv-metrics-help-col--note .qv-metrics-help-v{max-width:52ch;}
.qv-metrics-help-hint{display:block;margin-top:8px;font-size:12.4px;color:color-mix(in oklch,var(--pd-ink) 66%,transparent 34%);}
.qv-metrics-help-foot{display:block;margin-top:12px;font-size:12px;color:color-mix(in oklch,var(--pd-ink) 56%,transparent 44%);}
.qv-ico{width:16px;height:16px;margin-right:6px;vertical-align:-2px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.9;}
.qv-metrics-help-kpis{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.qv-metrics-help-kpi{padding:12px 12px 11px;border-radius:14px;background:color-mix(in oklch,var(--pd-panel-bg2) 92%,transparent 8%);border:1px solid color-mix(in oklch,var(--pd-ink) 10%,transparent 90%);}
.qv-metrics-help-kpi-v{font-size:12.6px;font-weight:860;letter-spacing:-.01em;color:color-mix(in oklch,var(--pd-ink) 90%,transparent 10%);}
.qv-metrics-help-kpi-sub{margin-top:6px;font-size:12px;color:color-mix(in oklch,var(--pd-ink) 62%,transparent 38%);}
@media (max-width:720px){
.qv-metrics-help-grid{grid-template-columns:1fr;column-gap:0;padding:12px 0 0;}
.qv-metrics-help-sep{display:none;}
.qv-metrics-help-v{max-width:unset;}
.qv-metrics-help-kpis{grid-template-columns:1fr;}
.qv-metrics-help-col--defs,.qv-metrics-help-col--note{padding:0;}
}

/* ==========================================================================
qv-vol — Volumen (rolling) (pd-acc + mini-table + termómetro)
========================================================================== */
.qv-activity-card+.qv-activity-card.qv-vol{margin-top:12px;}
.qv-vol .pd-acc-body{padding-top:12px;}
.qv-vol-sum{padding:12px;border-radius:14px;background:color-mix(in oklch,var(--pd-panel-bg2) 88%,transparent 12%);box-shadow:var(--pd-card-shadow);background-clip:padding-box;display:flex;flex-direction:column;}

/* Summary rows (Datos base / Lectura reciente) */
.qv-vol-sum-table{display:grid;}
.qv-vol-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:6px 0;}
.qv-vol-row+.qv-vol-row{border-top:1px dashed var(--pd-dash-12);}
.qv-vol-key{font-size:12.6px;line-height:1.35;color:var(--pd-ink-62);min-width:0;}
.qv-vol-row.is-metric .qv-vol-key{color:color-mix(in oklch,var(--pd-ink) 72%,transparent 28%);}

/* Separador tipo conv2 */
.qv-vol-sep{height:1px;margin:6px 0;background:linear-gradient(to right,transparent,color-mix(in oklch,var(--pd-ink) 10%,transparent 90%),transparent);}

/* Pills: que no “bailen” */
.qv-vol-val .pd-kpi-pill{position:relative;top:1px;}

/* Tabla 4 columnas (telemetría): headers claros, body suave */
.qv-vol-tablewrap{padding:0;margin:0;}
.qv-vol .qv-activity-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;}
.qv-vol .qv-activity-table thead th{
  padding:8px 0 10px;
  text-align:left;
}
.qv-vol .qv-activity-table thead th:last-child{ text-align:right; }
.qv-vol .qv-activity-table tbody td{padding:9px 0;font-size:13px;line-height:1.35;color:color-mix(in oklch,var(--pd-ink) 82%,transparent 18%);font-weight:600;}
.qv-vol .qv-activity-table tbody tr+tr td{border-top:1px dashed var(--pd-dash-12);}
.qv-vol .qv-activity-table th:nth-child(1),.qv-vol .qv-activity-table td:nth-child(1){width:40%;}
.qv-vol .qv-activity-table th:nth-child(2),.qv-vol .qv-activity-table td:nth-child(2){width:20%;}
.qv-vol .qv-activity-table th:nth-child(3),.qv-vol .qv-activity-table td:nth-child(3){width:20%;}
.qv-vol .qv-activity-table th:nth-child(4),.qv-vol .qv-activity-table td:nth-child(4){width:20%;}
.qv-vol .qv-activity-table th:nth-child(n+2),.qv-vol .qv-activity-table td:nth-child(n+2){text-align:right;}
.qv-vol .qv-activity-table tbody td:nth-child(n+2){color:color-mix(in oklch,var(--pd-ink) 84%,transparent 16%);}

/* ==========================================================================
qv-dual — “Actividad social” (acordeón pd-acc + 2 cards internas)
- NO redefine .pd-acc base (chevron + focus + editorial base vienen del core)
- Tokenizado 100% con overlay-pd.css (pd-*)
- Ajustes: separación con bloque superior + SIN línea separadora al centro
========================================================================== */.qv-activity-card+.qv-activity-card.qv-dual{margin-top:12px;}
.qv-dual-grid{display:grid;grid-template-columns:1fr;gap:12px;position:relative;min-width:0;}
.qv-dual-sep{display:none!important;}
@media (min-width:920px){.qv-dual-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;}}

/* Card shell CANÓNICO (mismo “pd-card”) */
.qv-dual-col{background:var(--surface,#fff);border:0;border-radius:16px;box-shadow:var(--pd-card-shadow);padding:12px;font-size:13px;color:color-mix(in oklch,var(--pd-ink) 92%,var(--secondary,#6b7280) 8%);overflow:hidden;background-clip:padding-box;min-width:0;content-visibility:auto;contain-intrinsic-size:1px 220px;}
@media (hover:hover){.qv-dual-col:hover{box-shadow:var(--pd-card-shadow);}}

/* Tipografía alineada a .pd-acc-title / .pd-acc-sub */
.qv-dual-col .qv-activity-cardtitle{margin:0 0 8px;font-size:13px;font-weight:800;line-height:1.25;color:color-mix(in oklch,var(--pd-ink) 92%,transparent 8%);}
.qv-dual-col .qv-activity-sub{margin:0 0 6px;font-size:12.5px;line-height:1.45;color:var(--pd-ink-mute);}
.qv-dual-col .qv-activity-sub2{margin:-2px 0 10px;opacity:.92;}

/* Note + separadores dashed canónicos */
.qv-dual-col .qv-activity-note{padding:10px 12px;border-radius:12px;border:1px dashed var(--pd-dash-14);background:var(--pd-panel-bg2);color:var(--pd-ink-mute);background-clip:padding-box;}
.qv-dual-col .qv-kv-row{margin-top:10px;padding-top:10px;border-top:1px dashed var(--pd-dash-14);}

/* Mini-table: misma familia de panel (bg2 + border) */
.qv-dual-col .qv-mini-table{margin-top:4px;border-radius:12px;overflow:hidden;border:1px solid var(--pd-border);background:var(--pd-panel-bg2);background-clip:padding-box;}
.qv-dual-col .qv-mini-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;}
.qv-dual-col .qv-mini-row+.qv-mini-row{border-top:1px solid color-mix(in oklch,var(--pd-border) 65%,transparent 35%);}
.qv-dual-col .qv-mini-key{min-width:0;font-size:12.5px;line-height:1.45;color:color-mix(in oklch,var(--pd-ink) 90%,transparent 10%);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.qv-dual-col .qv-mini-val{font-size:12.5px;font-weight:600;letter-spacing:-.01em;color:color-mix(in oklch,var(--pd-ink) 92%,transparent 8%);font-variant-numeric:tabular-nums;white-space:nowrap;}

/* qv-dual · Eventos recientes — tabla normal + look sum7d */
.qv-dual-col--events .qv-activity-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;}
.qv-dual-col--events .qv-activity-table thead th{padding:0 0 10px;text-align:left;font-size:11px;font-weight:900;letter-spacing:.02em;text-transform:uppercase;color:color-mix(in oklch,var(--pd-ink) 62%,transparent 38%);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.qv-dual-col--events .qv-activity-table thead th:last-child{text-align:right;}
.qv-dual-col--events .qv-activity-table tbody td{padding:6px 0;border:0;vertical-align:baseline;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums;}
.qv-dual-col--events .qv-activity-table tbody tr+tr td{border-top:1px dashed var(--pd-dash-12);}
.qv-dual-col--events .qv-activity-table tbody td:first-child{padding-right:12px;font-size:12.6px;line-height:1.35;color:var(--pd-ink-62);}
.qv-dual-col--events .qv-activity-table tbody td:not(:first-child):not(:last-child){padding-right:12px;color:color-mix(in oklch,var(--pd-ink) 55%,transparent 45%);font-size:12.2px;}
.qv-dual-col--events .qv-activity-table tbody td:last-child{text-align:right;font-size:13.5px;font-weight:860;letter-spacing:-.01em;color:var(--pd-ink-95);}
.qv-dual-col--events .qv-activity-table thead th:first-child,.qv-dual-col--events .qv-activity-table tbody td:first-child{width:84px;}
.qv-dual-col--events .qv-activity-table thead th:last-child,.qv-dual-col--events .qv-activity-table tbody td:last-child{width:74px;}
@media (max-width:520px){
.qv-dual-col--events .qv-activity-table thead th{padding:0 0 8px;font-size:10.5px;}
.qv-dual-col--events .qv-activity-table tbody td{padding:6px 0;}
.qv-dual-col--events .qv-activity-table tbody td:first-child{width:76px;font-size:12.4px;}
.qv-dual-col--events .qv-activity-table tbody td:last-child{width:70px;font-size:13.2px;}
}

/* ==========================================================================
qv-spark — Embudo social (12h) · filas con sparkline SVG
- Estructura: .qv-spark-row > .qv-spark-top + .qv-spark-chart > svg.qv-spark
- Stroke tokenizado con tonos del overlay (pd-*)
========================================================================== */
.qv-spark-row{padding:8px 0;}
.qv-spark-row+.qv-spark-row{border-top:1px dashed var(--pd-dash-12);}
.qv-spark-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0;margin-bottom:6px;}
.qv-spark-label{min-width:0;font-size:12.6px;line-height:1.25;color:color-mix(in oklch,var(--pd-ink) 86%,transparent 14%);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.qv-spark-value{flex:0 0 auto;font-size:13.5px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--pd-ink-95);}
.qv-spark-chart{height:22px;border-radius:12px;overflow:hidden;background:transparent;border:0;box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--pd-border) 26%,transparent 74%);}
.qv-dual .qv-spark{display:block;width:100%;height:100%;}
.qv-dual .qv-spark-track{fill:none;stroke:color-mix(in oklch,var(--pd-ink) 10%,transparent 90%);stroke-width:1;shape-rendering:geometricPrecision;}
.qv-dual .qv-spark-line{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;shape-rendering:geometricPrecision;filter:drop-shadow(0 1px 1px rgba(2,6,23,.08));}
.qv-dual .qv-spark-line.is-views{color:color-mix(in oklch,var(--pd-ink) 62%,transparent 38%);}
.qv-dual .qv-spark-line.is-details{color:var(--pd-tone-ctx-a);}
.qv-dual .qv-spark-line.is-quotes{color:var(--pd-tone-good-a);}
@media (max-width:520px){
.qv-spark-row{padding:7px 0;}
.qv-spark-top{margin-bottom:5px;}
.qv-spark-chart{height:22px;border-radius:9px;}
.qv-spark-label{font-size:12.4px;}
.qv-spark-value{font-size:13.2px;}
.qv-dual .qv-spark-line{stroke-width:1.6;}
}
.qv-spark-reading{margin-top:12px;padding-top:10px;border-top:1px dashed var(--pd-dash-12);display:flex;align-items:baseline;justify-content:space-between;gap:12px;}
.qv-spark-reading-k{font-size:12.6px;line-height:1.35;color:var(--pd-ink-62);}
.qv-spark-reading-v{font-size:13.5px;font-weight:600;letter-spacing:-.01em;color:var(--pd-ink-95);font-variant-numeric:tabular-nums;text-transform:lowercase;}

.qv-spark-axis>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qv-spark-axis-12h{opacity:.95}

/* ==========================================================================
qv-monthly — Histórico mensual (card + kpis + note + tabla)
- Tokenizado con overlay-pd (pd-*)
========================================================================== */
.qv-activity-card + .qv-activity-card.qv-activity-card--monthly{margin-top:12px;}
.qv-activity-card.qv-activity-card--monthly{padding:12px;border-radius:16px;background:var(--pd-panel-bg2);box-shadow:var(--pd-card-shadow);background-clip:padding-box;}
.qv-activity-card--monthly .qv-card-head{margin:0 0 10px;}
.qv-activity-card--monthly .qv-activity-cardtitle{margin:0 0 6px;font-size:12px;font-weight:900;letter-spacing:.02em;text-transform:uppercase;color:color-mix(in oklch,var(--pd-ink) 92%,transparent 8%);}
.qv-activity-card--monthly .qv-card-sub{margin:0;font-size:12.6px;line-height:1.4;color:var(--pd-ink-62);}
.qv-activity-card--monthly .qv-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px;}
.qv-activity-card--monthly .qv-kpi{min-width:0;padding:10px 10px;border-radius:14px;border:1px solid color-mix(in oklch,var(--pd-border) 55%,transparent 45%);background:color-mix(in oklch,var(--pd-panel-bg2) 76%,white 24%);background-clip:padding-box;}
.qv-activity-card--monthly .qv-kpi-label{font-size:11px;font-weight:900;letter-spacing:.02em;text-transform:uppercase;color:color-mix(in oklch,var(--pd-ink) 58%,transparent 42%);}
.qv-activity-card--monthly .qv-kpi-value{margin-top:6px;font-size:13.5px;font-weight:860;letter-spacing:-.01em;color:var(--pd-ink-95);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.qv-activity-card--monthly .qv-activity-note{margin-top:10px;padding:10px 12px;border-radius:14px;border:1px dashed var(--pd-dash-12);background:color-mix(in oklch,var(--pd-panel-bg2) 84%,white 16%);color:var(--pd-ink-62);}
.qv-activity-card--monthly .qv-activity-note strong{display:block;margin:0 0 6px;font-size:12.8px;line-height:1.25;color:var(--pd-ink-95);}
.qv-activity-card--monthly .qv-activity-note div{font-size:12.6px;line-height:1.4;color:var(--pd-ink-62);}
.qv-activity-card--monthly .qv-table-wrap{margin-top:10px;border-radius:14px;overflow:hidden;border:1px solid color-mix(in oklch,var(--pd-border) 55%,transparent 45%);background:color-mix(in oklch,var(--pd-panel-bg2) 78%,white 22%);background-clip:padding-box;}
.qv-activity-card--monthly .qv-empty{padding:12px 12px;font-size:12.6px;line-height:1.4;color:var(--pd-ink-62);}
.qv-activity-card--monthly .qv-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;}
.qv-activity-card--monthly .qv-table thead th{padding:10px 12px;text-align:left;font-size:11px;font-weight:900;letter-spacing:.02em;text-transform:uppercase;color:color-mix(in oklch,var(--pd-ink) 58%,transparent 42%);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.qv-activity-card--monthly .qv-table thead th.qv-num{text-align:right;}
.qv-activity-card--monthly .qv-table tbody td{padding:9px 12px;border:0;vertical-align:baseline;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums;color:var(--pd-ink-62);}
.qv-activity-card--monthly .qv-table tbody td.qv-num{text-align:right;color:var(--pd-ink-95);font-weight:800;}
.qv-activity-card--monthly .qv-table tbody tr+tr td{border-top:1px dashed var(--pd-dash-12);}
.qv-activity-card--monthly .qv-table tbody td:first-child{color:color-mix(in oklch,var(--pd-ink) 86%,transparent 14%);font-weight:760;}
@media (max-width:560px){
.qv-activity-card--monthly .qv-kpis{grid-template-columns:1fr;gap:8px;}
.qv-activity-card--monthly .qv-table thead th{padding:9px 10px;font-size:10.5px;}
.qv-activity-card--monthly .qv-table tbody td{padding:8px 10px;}
}