/* =====================================================================
   REFINO VISUAL INTEGRAL (23-oct-2026) — sólo presentación.
   Capa final: unifica radios, densidad, píldoras y composición contra
   refs/01–04. No cambia marcado de datos, cálculos ni textos del CANON.
   ===================================================================== */
:root {
  --r-card: 20px;          /* ref 01/02: tarjetas ≈ 18–22 px a 390 */
  --r-tile: 16px;
  --gap: 12px;
  --s1: #0B1720; --s2: #10202D;
  --card-grad: linear-gradient(180deg, #112130 0%, #0B1720 100%);
  --card-edge: rgba(160, 205, 235, .11);
  --card-shadow: inset 0 1px 0 rgba(255, 255, 255, .045), 0 10px 26px rgba(0, 0, 0, .34);
  --ink-3: #8A9DAE;
}

/* ---------- 1 · Superficies: un único lenguaje de tarjeta ---------- */
.card, .hero, .srow, .stage, .hub-card, .evtable, .wrow2, .chartbox, .why-card, .seal, .soon-box, .tile, .kpi, .stat3, .wcell, .lane, .ladder .step, .hist li {
  border-radius: var(--r-card);
}
.tile, .kpi, .stat3, .wcell, .hist li { border-radius: var(--r-tile); }
.card, .hero, .srow, .stage, .hub-card, .evtable, .wrow2, .chartbox {
  background: var(--card-grad); border: 1px solid var(--card-edge); box-shadow: var(--card-shadow);
}
.card.flat { background: rgba(16, 32, 45, .7); box-shadow: none; }
.tile, .kpi, .wcell, .stat3 { background: linear-gradient(180deg, #10202D, #0C1924); border-color: var(--card-edge); }
.canon-host .s-row, .canon-host .s-lista > .s-row, .canon-host .s-lista > a.s-fila-simple,
.canon-host .s-bloque, .canon-host .s-resumen > div, .canon-host .s-resumen > a, .canon-host .s-cta { border-radius: var(--r-card); }
.canon-host .s-kv > div { border-radius: var(--r-tile); }
.stack > * + * { margin-top: var(--gap); }
.card + .card { margin-top: var(--gap); }

/* ---------- 2 · Tipografía: títulos con peso, capas de texto claras ---------- */
.eyebrow { font-size: 12.5px; letter-spacing: .12em; color: var(--ink-3); font-weight: 700; }
.h2 { font-size: 25px; font-weight: 700; letter-spacing: .005em; line-height: 1.12; }
.h3 { font-size: 17px; font-weight: 700; }
.hero .fhead-name, .brand-hero .fhead-name { font-size: 30px; }
.muted { color: #A3B6C5; }
.dim { color: var(--ink-3); }
.num, .big-mult, .tile .v, .kpi .v, .stat3-v, .progress-big { font-variant-numeric: tabular-nums lining-nums; }

/* ---------- 3 · Avisos DEMO / SHADOW / CANON: compactos y uniformes ---------- */
.banner { border-radius: 16px; padding: 10px 14px; font-size: 14px; line-height: 1.4; align-items: center; }
.banner svg { width: 18px; height: 18px; margin-top: 0; }
.banner[data-role="canon-demo-banner"] { border-radius: 999px; padding: 7px 14px; font-size: 13px; background: rgba(123, 77, 240, .10); border-color: rgba(151, 133, 236, .30); }
.tag.demo { border: 1px solid rgba(227, 169, 63, .45); }

/* ---------- 4 · Píldoras: misma cápsula en todo el sistema ---------- */
.pill, .chip, .layer, .btn, .select, .search, .iconbtn { --pill-h: 44px; }
.pill, .chip { padding: 0 16px; font-size: 15px; }
.pill-n { margin-left: 2px; padding: 1px 7px; border-radius: 999px; background: rgba(255, 255, 255, .08); font-size: 12.5px; }
.pill[aria-pressed="true"] .pill-n { background: rgba(255, 255, 255, .22); opacity: 1; }
.pill.p-gold[aria-pressed="true"] .pill-n { background: rgba(0, 0, 0, .14); }
.modeseg { max-width: none; width: 100%; }
.modeseg button { min-height: 42px; }
.count-chip { font-size: 13.5px; padding: 2px 10px; background: rgba(160, 205, 235, .10); border: 1px solid var(--card-edge); }
.st, .rv, .grade, .contrib, .tag, .shadow-chip, .badge { border-radius: 999px; }
.st, .rv { min-height: 28px; font-size: 13px; }
.badge { padding: 3px 11px 3px 8px; font-size: 12.5px; letter-spacing: .07em; }
.badge.lg { padding: 6px 14px 6px 10px; font-size: 15px; }
.shadow-chip { min-height: 24px; padding: 1px 10px; font-size: 12.5px; }
.layer-k { font-size: 10.5px; letter-spacing: .14em; }

/* ---------- 5 · Señales (móvil): lista densa como ref 02 «Lista de señales» ---------- */
[data-view="senales"] > .pills { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 calc(-1 * var(--gutter)); padding: 2px var(--gutter) 6px; scroll-padding-inline: var(--gutter); }
[data-view="senales"] > .pills::-webkit-scrollbar { display: none; }
[data-view="senales"] > .pills .pill { flex: none; min-height: 40px; }
[data-view="senales"] > .dim, [data-role="filter-note"] { font-size: 12.5px; line-height: 1.35; }
[data-view="senales"] > .row.between .h2 { font-size: 26px; }
[data-role="mac-note"] { padding: 8px 12px; font-size: 13px; border-radius: 14px; }
[data-role="mac-note"] strong { font-weight: 650; }
[data-role="count"] { font-size: 13px !important; color: var(--ink-3) !important; }
.srow { margin-top: 10px; padding: 12px 12px 12px 14px; gap: 12px; align-items: center; border-radius: 18px; }
.srow::before { width: 3px; top: 12px; bottom: 12px; border-radius: 0 3px 3px 0; }
.srow .avatar { width: 44px !important; height: 44px !important; }
.srow-eyebrow { display: flex; gap: 8px; align-items: center; font-size: 12px; color: var(--ink-3); font-weight: 600; letter-spacing: .02em; }
.srow-eyebrow .eid { color: #F08A92; font-weight: 700; }
.srow-top { gap: 6px; }
.sym-name { font-size: 19px; font-weight: 750; line-height: 1.15; }
.srow-main > .layers2 { margin-top: 3px; gap: 4px; }
.srow-main > .layers2 .badge, .srow-main > .layers2 .shadow-chip { font-size: 11.5px; padding: 1px 8px; min-height: 22px; }
.srow-main > .layers2 .badge svg { width: 12px; height: 12px; }
.srow-mc { font-size: 13.5px; color: var(--ink-2); margin-top: 4px; }
.srow-meta { margin-top: 2px; font-size: 13px; color: var(--ink-3); gap: 2px 10px; }
.srow-meta svg { color: var(--emerald); }
.srow-right { gap: 2px; max-width: 96px; align-self: stretch; justify-content: space-between; }
.srow .big-mult { font-size: 23px; font-weight: 750; text-shadow: 0 0 18px rgba(47, 220, 149, .25); }
.srow .spark { width: 84px; height: 32px; }

/* ---------- 6 · Ficha / gráfica / eventos ---------- */
.hero.compact { padding: 16px; }
.subtabs { margin: 12px 0; }
.chartbox { padding: 14px 10px 10px; }
.readout { padding: 2px 6px 10px; }
.readout .k, .tile .k, .kpi .k { letter-spacing: .01em; }
.legend { padding: 10px 6px 2px; }
.evtable { padding: 14px 16px; }
.evrow { min-height: 46px; }
.why-card { background: linear-gradient(160deg, rgba(123, 77, 240, .30), rgba(60, 35, 140, .14)); border-color: rgba(151, 133, 236, .5); box-shadow: 0 10px 28px rgba(60, 30, 160, .25); }
.seal { background: radial-gradient(circle at 50% 42%, rgba(151, 133, 236, .22), transparent 60%), var(--card-grad); }

/* ---------- 7 · Proyecto / Miki / Shadow / hubs ---------- */
.stage { min-height: 62px; padding: 12px 14px; gap: 14px; }
.stage-completado { border-left: 1px solid var(--card-edge); box-shadow: inset 3px 0 0 var(--emerald), var(--card-shadow); }
.stage-n { background: rgba(160, 205, 235, .10); border: 1px solid var(--card-edge); }
.stage-completado .stage-n { background: var(--emerald-soft); color: var(--emerald); border-color: rgba(47, 220, 149, .35); }
.progress-big { font-size: 40px; font-weight: 700; }
[data-role="progreso"] .track { height: 10px; background: rgba(160, 205, 235, .10); }
[data-role="progreso"] .track > i { background: linear-gradient(90deg, #1FB37C, var(--emerald)); box-shadow: 0 0 12px rgba(47, 220, 149, .45); }
.hub-card { min-height: 66px; padding: 12px 14px; }
.hub-card:active, .stage:active { transform: scale(.995); }
[data-role="shadow-lines"] > .card .tag { font-size: 12.5px; }
[data-role="review-list"] > * + * { margin-top: 10px; }

/* ---------- 8 · Barra inferior (iPhone): indicador en píldora ---------- */
@media (max-width: 1023px) {
  .nav { padding-top: 6px; background: rgba(7, 15, 23, .94); }
  .nav a.mob { gap: 4px; }
  .nav a[aria-current="page"]::before { top: -6px; width: 30px; height: 3px; border-radius: 0 0 4px 4px; box-shadow: 0 0 10px rgba(47, 220, 149, .6); }
  .nav a[aria-current="page"] svg { filter: drop-shadow(0 0 6px rgba(47, 220, 149, .45)); }
}

/* ---------- 9 · Escritorio: composición tipo dashboard (ref 02/03/04 escritorio) ---------- */
@media (min-width: 1024px) {
  .shell { grid-template-columns: 240px minmax(0, 1fr); }
  .nav { background: linear-gradient(180deg, #0B1720, #08121A); padding: 22px 12px; }
  .nav a.dsk { min-height: 40px; border-radius: 12px; font-size: 15px; padding: 0 12px; color: #A3B6C5; }
  .nav a.dsk:hover { background: rgba(160, 205, 235, .06); color: var(--ink); }
  .nav a.dsk[aria-current="page"] { color: #fff; background: linear-gradient(90deg, rgba(75, 123, 245, .26), rgba(75, 123, 245, .08)); box-shadow: inset 0 0 0 1px rgba(94, 141, 255, .28); }
  .nav a.dsk[aria-current="page"] svg { color: var(--emerald); }
  .nav-group { padding: 16px 12px 6px; font-size: 11.5px; letter-spacing: .14em; }
  .side-brand { padding: 2px 12px 14px; font-size: 20px; letter-spacing: .1em; }
  /* Cabecera: título de página siempre visible + identidad del grupo */
  .topbar { min-height: 64px; padding-top: 12px; padding-bottom: 12px; background: rgba(7, 17, 26, .9); }
  body[data-root="1"] .topbar .title { display: block; }
  .topbar .title { font-size: 22px; font-weight: 700; letter-spacing: .02em !important; }
  body[data-root="1"] .topgroup { display: block; font-size: 11px; }
  .main { max-width: 1320px; padding: 24px 32px 48px; }
  /* Selectores de pestañas: compactos y alineados a la izquierda, no estirados */
  .intel-tabs, .modeseg, .subtabs { width: fit-content; max-width: 100%; }
  .intel-tabs .itab, .modeseg button, .subtabs a { flex: 0 0 auto; padding: 0 22px; min-height: 40px; font-size: 15px; }
  .itab { flex-direction: row; gap: 6px; }
  .subtabs { position: static; }
  .seg:not([aria-label="Resolución"]) { width: fit-content; }
  .seg:not([aria-label="Resolución"]) button { flex: 0 0 auto; padding: 0 18px; }
  [data-view="senales"] > .pills { overflow: visible; margin: 0; padding: 0; flex-wrap: wrap; }
  .h2 { font-size: 28px; }
  /* Rejillas: listas largas en dos columnas para no estirar filas a 1 300 px */
  [data-role="etapas"], [data-role="shadow-lines"], [data-role="review-list"] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: stretch; }
  [data-role="etapas"] > *, [data-role="shadow-lines"] > *, [data-role="review-list"] > * { margin-top: 0 !important; }
  /* Comparador: gráficas lado a lado, tamaño contenido */
  .cmp-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: start; }
  .cmp-grid > * { margin-top: 0 !important; min-width: 0; }
  .cmp-grid > .gcells, .cmp-grid > .banner { grid-column: 1 / -1; }
  .cmp-grid [data-role="distribution"], .cmp-grid [data-role="scatter"] { max-height: 300px; }
  /* Tabla de señales */
  .dtable { border-radius: var(--r-card); box-shadow: var(--card-shadow); background: var(--card-grad); }
  .dtable th { background: rgba(16, 32, 45, .9); font-size: 12px; letter-spacing: .1em; padding: 12px 14px; }
  .dtable td { padding: 9px 14px; font-size: 15.5px; }
  .dtable tbody tr:hover td { background: rgba(94, 141, 255, .07); }
  .dtable td:nth-child(n+3):nth-child(-n+7), .dtable th:nth-child(n+3):nth-child(-n+7) { text-align: right; }
  /* CANON Tokens / Ranking: filas densas en un panel (mismo lenguaje que Carteras), sin columnas inventadas */
  .canon-host .s-lista:not(:has(.s-cols)) > .s-row > summary { grid-template-columns: auto auto minmax(0, 1fr) auto auto; min-height: 60px; }
  .canon-host .s-h1 { font-size: 30px; }
}
@media (min-width: 1280px) {
  [data-role="etapas"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ---------- 10 · Fila de señal en rejilla: capas CANON/SHADOW en una línea a todo el ancho ---------- */
.lp { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.layers2 { gap: 4px 10px; }
.srow { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; column-gap: 12px; row-gap: 0; align-items: center; }
.srow > .avatar { grid-column: 1; grid-row: 1 / span 5; align-self: center; }
.srow-main, .srow-right { display: contents; }
.srow-eyebrow { grid-column: 2; grid-row: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.srow-top { grid-column: 2; grid-row: 2; }
.srow-main > .layers2 { grid-column: 2 / 4; grid-row: 3; margin: 4px 0 2px; }
.srow-mc { grid-column: 2; grid-row: 4; }
.srow-meta { grid-column: 2; grid-row: 5; }
.srow-right > :first-child { grid-column: 3; grid-row: 1 / span 2; justify-self: end; align-self: center; }
.srow-right > .spark { grid-column: 3; grid-row: 4 / span 2; justify-self: end; align-self: end; }

/* ---------- 11 · Controles del motor CANON con la misma cápsula ---------- */
.canon-host .s-seg { border-radius: 999px; padding: 4px; gap: 4px; background: linear-gradient(180deg, var(--pill-bg), var(--pill-bg-2)); box-shadow: inset 0 0 0 1px var(--pill-edge), 0 6px 18px rgba(0, 0, 0, .25); }
.canon-host .s-seg button { border-radius: 999px; }
.canon-host .s-seg button[aria-pressed="true"] { background: var(--blue-grad); color: #fff; box-shadow: var(--blue-shadow); }
.canon-host .s-seg button[aria-pressed="true"] small { color: rgba(255, 255, 255, .85); }
.canon-host .s-chips button { background: linear-gradient(180deg, var(--pill-bg), var(--pill-bg-2)); box-shadow: inset 0 0 0 1px var(--pill-edge); }
.canon-host .s-chips button[aria-pressed="true"] { background: linear-gradient(180deg, rgba(227, 169, 63, .26), rgba(227, 169, 63, .10)); box-shadow: inset 0 0 0 1px rgba(227, 169, 63, .55); }
@media (min-width: 1024px) { .canon-host .s-seg { width: fit-content; } .canon-host .s-seg button { flex: 0 0 auto; padding: 0 22px; } }
.canon-host .s-tabs { border-bottom: 0; gap: 4px; padding: 4px; border-radius: 999px; background: linear-gradient(180deg, var(--pill-bg), var(--pill-bg-2)); box-shadow: inset 0 0 0 1px var(--pill-edge); }
.canon-host .s-tabs button { min-height: 44px; padding: 4px 12px; margin: 0; border: 0; border-radius: 999px; text-align: center; font-size: 14px; line-height: 1.15; }
.canon-host .s-tabs button[aria-selected="true"] { background: var(--blue-grad); color: #fff; box-shadow: var(--blue-shadow); }
@media (min-width: 1024px) { .canon-host .s-tabs { width: fit-content; grid-template-columns: repeat(2, auto); } .canon-host .s-tabs button { padding: 0 22px; } }
/* Señales móvil: nota de capas más discreta */
@media (max-width: 1023px) { [data-view="senales"] > .row.between .dim { display: none; } }
/* Gráfica en escritorio: resolución y capas compactas, no estiradas */
@media (min-width: 1024px) {
  .seg[aria-label="Resolución"] { width: fit-content; }
  .seg[aria-label="Resolución"] button { flex: 0 0 auto; min-width: 56px; padding: 0 14px; min-height: 38px; }
  .layers { flex-wrap: wrap; }
  .layers .layer { flex: 0 0 auto; min-height: 38px; padding: 0 16px; }
}
/* Guardianes de geometría: texto ≥ 11.5 px, objetivos táctiles ≥ 44 px, sin recortes */
.layer-k { font-size: 11.5px; letter-spacing: .1em; }
@media (min-width: 1024px) { body[data-root="1"] .topgroup { font-size: 11.5px; } }
.modeseg button, [data-view="senales"] > .pills .pill { min-height: 44px; }
.srow-eyebrow { white-space: normal; overflow: visible; flex-wrap: wrap; row-gap: 0; }

/* =====================================================================
   FIDELIDAD v7 · GRUPO 2 — Tokens / Ranking como tabla densa (escritorio).
   Adaptador visual: reparte en columnas los nodos que el motor YA pinta
   (display: contents); no añade datos, no reordena, no recalcula.
   ===================================================================== */
.hf-thead { display: none; }
@media (min-width: 1024px) {
  .canon-host { --c-gp: 46px minmax(200px, 1.6fr) minmax(110px, .7fr) minmax(130px, .9fr) minmax(100px, .7fr) minmax(150px, .9fr) 24px;
                --c-todos: 46px minmax(260px, 2.2fr) minmax(200px, 1.4fr) minmax(120px, .7fr) 24px;
                --c-rank: 46px minmax(220px, 1.8fr) minmax(90px, .6fr) minmax(90px, .6fr) minmax(110px, .7fr) minmax(170px, 1fr) 24px; }
  .hf-thead { display: grid; column-gap: 14px; align-items: end; padding: 12px 18px 10px; margin-top: 6px;
    background: rgba(16, 32, 45, .92); border: 1px solid var(--card-edge); border-bottom-color: var(--line); border-radius: var(--r-card) var(--r-card) 0 0; }
  .hf-thead span::before { content: attr(data-label); font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--text-3); white-space: nowrap; }
  .hf-thead[data-kind="gp"] { grid-template-columns: var(--c-gp); } .hf-thead[data-kind="todos"] { grid-template-columns: var(--c-todos); } .hf-thead[data-kind="rank"] { grid-template-columns: var(--c-rank); }
  .hf-thead span:nth-last-child(2) { text-align: right; }
  .hf-thead[data-kind="rank"] span:first-child { text-align: center; }
  .canon-host .hf-thead + .s-lista { margin-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; border-top: 0; }
  .canon-host .s-lista[data-hf-kind] > .s-row > summary { column-gap: 14px; row-gap: 0; min-height: 56px; padding: 7px 18px; align-items: center; }
  .canon-host .s-lista[data-hf-kind="gp"] > .s-row > summary { grid-template-columns: var(--c-gp); }
  .canon-host .s-lista[data-hf-kind="todos"] > .s-row > summary { grid-template-columns: var(--c-todos); }
  .canon-host .s-lista[data-hf-kind="rank"] > .s-row > summary { grid-template-columns: var(--c-rank); }
  .canon-host .s-lista[data-hf-kind] .s-quien { display: contents; }
  .canon-host .s-lista[data-hf-kind] .s-nombre { grid-column: 2; grid-row: 1; font-size: 16.5px; }
  .canon-host .s-lista[data-hf-kind] .s-pos { grid-column: 1; grid-row: 1; }
  .canon-host .s-lista[data-hf-kind] .s-valor-wrap { grid-row: 1; grid-column: -3; justify-self: end; }
  .canon-host .s-lista[data-hf-kind] .s-chev { grid-column: -2; }
  .canon-host .s-lista[data-hf-kind] .s-valor .s-big { font-size: 17px; }
  /* Separadores « · » del motor: quedan como nodos de texto invisibles (font-size 0); cada dato va a su columna */
  .canon-host .s-lista[data-hf-kind="gp"] .s-sub, .canon-host .s-lista[data-hf-kind="gp"] .s-sub > span,
  .canon-host .s-lista[data-hf-kind="rank"] .s-sub, .canon-host .s-lista[data-hf-kind="rank"] .s-sub > span { display: contents; font-size: 0; line-height: 0; }
  .canon-host .s-lista[data-hf-kind] .s-sub > span > * { font-size: 15px; line-height: 1.3; grid-row: 1; align-self: center; min-width: 0; }
  .canon-host .s-lista[data-hf-kind="gp"] .s-sub .s-grado { grid-column: 3; justify-self: start; font-size: 12.5px; }
  .canon-host .s-lista[data-hf-kind="gp"] .s-sub [data-ctx="texto"] { grid-column: 4; color: var(--text-2); }
  .canon-host .s-lista[data-hf-kind="gp"] .s-sub [data-m="gp.signals_total"] { grid-column: 5; color: var(--text); font-variant-numeric: tabular-nums; }
  .canon-host .s-lista[data-hf-kind="todos"] .s-sub { grid-column: 3; grid-row: 1; font-size: 14.5px; }
  .canon-host .s-lista[data-hf-kind="todos"] .s-tok-ref { display: block; font-size: 12.5px; color: var(--text-3); }
  .canon-host .s-lista[data-hf-kind="rank"] .s-sub [data-m="car.sauron_membership"] { grid-column: 3; color: var(--gold-2); }
  .canon-host .s-lista[data-hf-kind="rank"] .s-sub [data-ctx="id"] { grid-column: 4; color: var(--text-2); font-variant-numeric: tabular-nums; }
  .canon-host .s-lista[data-hf-kind="rank"] .s-sub [data-m="car.origin"] { grid-column: 5; color: var(--text-2); }
  .canon-host .s-lista[data-hf-kind="rank"] .s-pos { text-align: center; font-size: 16px; }
  .canon-host .s-lista[data-hf-kind] > .s-row:nth-child(even) > summary { background: rgba(160, 205, 235, .022); }
  .canon-host .s-lista[data-hf-kind] > .s-row > summary:hover { background: rgba(94, 141, 255, .09); }
}
@media (min-width: 1024px) {
  .canon-host .s-lista[data-hf-kind] > .s-row > summary { grid-template-rows: auto; grid-auto-rows: 0; overflow: hidden; }
  .canon-host .s-lista > .s-row, .canon-host .s-lista > a.s-fila-simple { border-radius: 0; }
  .canon-host .s-lista[data-hf-kind] .s-valor { text-align: right; }
}
@media (min-width: 1024px) {
  .canon-host .s-lista[data-hf-kind="rank"] .s-valor > span { display: flex; align-items: baseline; justify-content: flex-end; gap: 8px; flex-wrap: nowrap; white-space: nowrap; }
  .canon-host .s-lista[data-hf-kind="rank"] .s-valor .s-vsub { font-size: 13px; }
}

/* =====================================================================
   FIDELIDAD v7 · GRUPO 3 — Investigación de escritorio (ref 02/04):
   gráfica protagonista + métricas en fila + panel lateral de wallets.
   ===================================================================== */
@media (min-width: 1024px) {
  [data-view="investigar"] .split { grid-template-columns: minmax(0, 1fr) 380px; gap: 18px; }
  [data-view="investigar"] .split > aside { top: 84px; }
  [data-view="investigar"] .tiles6 { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
  [data-view="investigar"] .tiles6 .tile { padding: 10px 12px; }
  [data-view="investigar"] .tiles6 .tile .v { font-size: 23px; }
  [data-view="investigar"] .hero.compact { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
  [data-view="investigar"] .hero.compact .fhead { flex: 1 1 auto; }
  [data-view="investigar"] .hero.compact > .row { margin-top: 0; gap: 16px; }
  .mini { width: 100%; border-collapse: collapse; margin-top: 8px; font-size: 14.5px; }
  .mini th { text-align: left; font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); padding: 6px 6px; border-bottom: 1px solid var(--line); }
  .mini td { padding: 6px 6px; border-top: 1px solid rgba(160, 205, 235, .06); vertical-align: middle; white-space: nowrap; }
  .mini tbody tr { cursor: pointer; } .mini tbody tr:hover td { background: rgba(94, 141, 255, .08); }
  .mini-w { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; }
  .mini-w .avatar { width: 24px !important; height: 24px !important; font-size: 11px; }
  .mini .grade, .mini .contrib { font-size: 12px; padding: 1px 9px; }
  .indring-row { display: flex; align-items: center; gap: 16px; margin-top: 8px; }
  .indring-wrap { position: relative; width: 112px; height: 112px; flex: none; }
  .indring { width: 112px; height: 112px; display: block; }
  .indring-c { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; line-height: 1.05; }
  .indring-c strong { font-size: 26px; } .indring-c small { font-size: 12.5px; color: var(--ink-2); }
  .indring-legend { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 14.5px; color: var(--ink-2); }
  .indring-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 8px; }
}

/* FIDELIDAD v7 · GRUPO 5 — Comparador: cada grupo de multiplicador con su acento (ref 04 «Por multiplicador») */
.gcells .chip:nth-child(1) { --gc: #6E95FF; } .gcells .chip:nth-child(2) { --gc: #2FDC95; } .gcells .chip:nth-child(3) { --gc: #E3A93F; }
.gcells .chip:nth-child(4) { --gc: #F07A62; } .gcells .chip:nth-child(5) { --gc: #B07CFF; } .gcells .chip:nth-child(6) { --gc: #D46CF0; }
.gcells .chip { border-color: color-mix(in srgb, var(--gc) 55%, transparent); color: var(--gc); background: linear-gradient(180deg, color-mix(in srgb, var(--gc) 16%, #0E1A25), #0A141D); }
.gcells .chip small { color: color-mix(in srgb, var(--gc) 60%, #A9BBC9); }
.gcells .chip[aria-pressed="true"] { background: linear-gradient(180deg, color-mix(in srgb, var(--gc) 45%, #16263A), color-mix(in srgb, var(--gc) 22%, #0E1A25)); color: #fff; border-color: var(--gc); box-shadow: 0 6px 18px color-mix(in srgb, var(--gc) 35%, transparent), inset 0 1px 0 rgba(255, 255, 255, .2); }
.gcells .chip[aria-pressed="true"] small { color: rgba(255, 255, 255, .85); }

/* =====================================================================
   FIDELIDAD v7 · correcciones tras la revisión independiente
   ===================================================================== */
/* Integridad: la tarjeta «Capa CANON» muestra sólo el grado CANON (la capa SHADOW tiene su propia sección debajo) */
[data-role="canon-layer"] .layers2 > .lp:last-child { display: none; }
/* Integridad: la franja de la fila móvil ya no codifica el grado SHADOW sin rótulo */
.srow::before, .srow.lab-premium::before, .srow.lab-gold::before, .srow.lab-silver::before { background: linear-gradient(180deg, var(--emerald), rgba(47, 220, 149, .25)); }
/* Integridad: acentos del comparador en rampa propia (no reutilizan los colores de GOLD/PREMIUM del gráfico SHADOW) */
.gcells .chip:nth-child(1) { --gc: #7FB2FF; } .gcells .chip:nth-child(2) { --gc: #5E97F6; } .gcells .chip:nth-child(3) { --gc: #3F7CEB; }
.gcells .chip:nth-child(4) { --gc: #2FB8C9; } .gcells .chip:nth-child(5) { --gc: #24C9A6; } .gcells .chip:nth-child(6) { --gc: #2FDC95; }
/* 320 px: la insignia de calidad ya no pisa «Aporte» */
.wrow2 .grow > .row { flex-wrap: wrap; row-gap: 2px; }
/* Resolución no disponible: legible aunque deshabilitada */
.seg button:disabled { opacity: .55; color: var(--ink-3); }
/* Señales escritorio: sin cortes de ID, cabeceras ni insignias */
@media (min-width: 1024px) {
  .dtable th { white-space: nowrap; }
  .dtable td:first-child .dim { white-space: nowrap; }
  .dtable .layers2 { flex-wrap: nowrap; }
  .dtable .lp + .lp { margin-left: 2px; }
  .canon-host { --c-gp: 46px minmax(200px, 1.3fr) 150px 160px 130px minmax(170px, .8fr) 24px; }
}
