/* Diseno Web v0.2 ?v=1 */
/* ── Layout: una sola columna (sin sidebar) ─────────────────── */
#main-content{
    display:block;
}
.col-despliegue-recomendaciones{
    width:100%;
}
.col-right-despliegue{ display:none; }

.emi-scope, .emi-scope *{
    box-sizing:border-box;
}
/* Texto del dashboard no seleccionable (no se puede copiar
    arrastrando/marcando con el mouse). Los campos de formulario
    quedan afuera de esta regla para que se sigan pudiendo usar
    normalmente (escribir, seleccionar para editar, etc.). */
.emi-scope{
    -webkit-user-select:none;
    -moz-user-select:none;
    -ms-user-select:none;
    user-select:none;
}
.emi-scope input,
.emi-scope select,
.emi-scope textarea{
    -webkit-user-select:text;
    -moz-user-select:text;
    -ms-user-select:text;
    user-select:text;
}
.emi-scope{
    /* Paleta clara, alineada con la cabecera del sitio. */
    --emi-bg-0:#ffffff;
    --emi-bg-1:#fafafa;
    --emi-bg-2:#f2f2f2;
    --emi-line:#d3d3d3;
    --emi-txt-0:#202124;
    --emi-txt-1:#4f5661;
    --emi-txt-2:#666666;
    --emi-accent:#666666;
    --emi-accent-hover:#4f5358;
    --emi-brand:#9b0808;
    --emi-brand-hover:#7d0606;
    --emi-pos:#198754;
    --emi-neg:#c62828;
    --emi-neutral:#9097a1;
    --emi-font-ui:'Inter',system-ui,sans-serif;
    --emi-font-mono:'JetBrains Mono',ui-monospace,monospace;

    background:var(--emi-bg-0);
    color:var(--emi-txt-0);
    font-family:var(--emi-font-ui);
    color-scheme:light;
    border:1px solid var(--emi-line);
    border-radius:14px;
    overflow:hidden;
}
.emi-scope .emi-topbar{
    display:flex;align-items:center;justify-content:space-between;
    padding:14px 20px;border-bottom:1px solid var(--emi-line);
    background:rgba(242,242,242,0.82);flex-wrap:wrap;gap:10px;
}
.emi-scope .emi-brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:24px;letter-spacing:.3px;}
.emi-scope .emi-brand .emi-dot{width:8px;height:8px;border-radius:50%;background:var(--emi-brand);box-shadow:0 0 0 3px rgba(155,8,8,0.12);}
.emi-scope .emi-brand span.emi-sub{color:var(--emi-brand);font-weight:600;}
.emi-scope .emi-toggle-group{display:flex;gap:8px;flex-wrap:wrap;}
.emi-scope .emi-toggle-group button{
    background:var(--emi-bg-2);border:1px solid var(--emi-line);color:var(--emi-txt-1);
    font-family:var(--emi-font-mono);font-size:12px;padding:6px 12px;border-radius:6px;cursor:pointer;
}
.emi-scope .emi-toggle-group button.active{background:var(--emi-accent);color:#ffffff;border-color:var(--emi-accent);font-weight:700;}
.emi-scope .emi-toggle-group button.active:hover{background:var(--emi-accent-hover);border-color:var(--emi-accent-hover);}

.emi-scope .emi-filters{
    display:flex;gap:10px;flex-wrap:wrap;padding:14px 20px;border-bottom:1px solid var(--emi-line);align-items:center;
}
/* AFP + Fondos Mutuos van pegados a la derecha de la fila (empujados
    con margin-left:auto), y SIEMPRE juntos como una sola unidad
    (flex-wrap:nowrap adentro) — así, cuando "Comparar Sector"
    aparece/desaparece y cambia el ancho disponible, este grupo se
    mueve entero a la línea siguiente si hace falta, en vez de que un
    botón quede solo "colgando" separado del otro.
*/
.emi-scope .emi-afp-fm-group{
    display:flex;gap:10px;flex-wrap:nowrap;margin-left:auto;
}
.emi-scope .emi-filter-chip{
    /*background:var(--emi-bg-2);border:1px solid var(--emi-line);*/
    color:var(--emi-txt-1);
    font-family:var(--emi-font-mono);font-size:11px;padding:7px 5px;border-radius:7px;
}
.emi-scope .emi-filter-chip b{color:var(--emi-txt-0);font-weight:600;}

/* Indicador fijo "Datos actualizados al: ..." — siempre visible,
    no depende de hover/tooltip, para dejar claro que la ausencia de
    barras recientes es "todavía no publicado", no "sin movimiento". */
.emi-scope .emi-datos-actualizados{
    display:inline-flex;align-items:center;gap:7px;
    font-family:var(--emi-font-mono);font-size:11px;color:var(--emi-txt-1);
    background:rgba(34,197,94,0.08);border:1px solid rgba(34,197,94,0.3);
    border-radius:20px;padding:5px 12px;margin:0 0px 12px;
}
.emi-scope .emi-datos-actualizados b{color:var(--emi-pos);font-weight:600;}
.emi-scope .emi-datos-actualizados-punto{
    width:6px;height:6px;border-radius:50%;background:var(--emi-pos);flex:none;
}
/* Estado "Sin dato": el instrumento no tiene XML con información —
    se muestra en gris neutro, no en verde, para no dar la falsa
    impresión de que hay un dato reciente confirmado. */
.emi-scope .emi-datos-actualizados.sin-dato{
    background:rgba(139,148,158,0.08);border-color:rgba(139,148,158,0.3);
}
.emi-scope .emi-datos-actualizados.sin-dato b{color:var(--emi-txt-2);}
.emi-scope .emi-datos-actualizados.sin-dato .emi-datos-actualizados-punto{background:var(--emi-txt-2);}

/* El botón "+ agregar" no debe verse como un chip con borde. */
.emi-scope #chipAgregarComparacion{
    background:transparent;border:none;padding:0;
    display:inline-flex;align-items:center;gap:8px;
}

/* Efecto suave al abrir/cerrar la fila del selector de comparación. */
.emi-scope #filaSelectorComparacion{
    opacity:0;transform:translateY(-6px);
    transition:opacity .5s ease, transform .5s ease;
}
.emi-scope #filaSelectorComparacion.mostrar{
    opacity:1;transform:translateY(0);
}

/* Multi-select de Indicador (junto a fecha libre): chips + dropdown
    con checkbox, permite elegir más de un elemento a la vez, como
    un combobox de "invitados" (chips arriba, lista abajo). */
.emi-scope .emi-multiselect{
    position:relative;display:inline-block;vertical-align:middle;
}
.emi-scope .emi-multiselect-chips{
    display:flex;flex-wrap:wrap;align-items:center;gap:4px;
    min-width:140px;max-width:320px;
    background:var(--emi-bg-1);border:1px solid var(--emi-line);border-radius:6px;
    padding:4px 8px;cursor:pointer;font-family:'JetBrains Mono',monospace;font-size:11px;
}
.emi-scope .emi-multiselect-chips:hover{border-color:var(--emi-accent);}
.emi-scope .emi-multiselect-chips .emi-ms-placeholder{color:var(--emi-txt-2);}
.emi-scope .emi-multiselect-dropdown{
    position:absolute;top:calc(100% + 4px);left:0;z-index:20;
    min-width:180px;max-height:220px;overflow-y:auto;
    background:var(--emi-bg-1);border:1px solid var(--emi-line);border-radius:6px;
    box-shadow:0 8px 20px rgba(58,61,66,0.16);
}
.emi-scope .emi-ms-option{
    display:flex;align-items:center;gap:8px;padding:7px 10px;
    font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--emi-txt-1);
    cursor:pointer;
}
.emi-scope .emi-ms-option:hover{background:rgba(116,124,135,0.10);}
.emi-scope .emi-ms-option.seleccionado{background:rgba(116,124,135,0.14);color:var(--emi-txt-0);}
.emi-scope .emi-ms-option .emi-ms-check{
    width:14px;font-size:12px;
}
.emi-scope .emi-select{
    background:var(--emi-bg-1);
    color:var(--emi-txt-0);
    border:1px solid var(--emi-line);
    border-radius:5px;
    font-family:var(--emi-font-mono);
    font-size:12px;
    padding:3px 6px;
    margin-left:6px;
    max-width:220px;
}
.emi-scope .emi-select:focus{outline:1px solid var(--emi-accent);}
.emi-scope .emi-select.rango-activo{
    border-color:var(--emi-accent);
    box-shadow:0 0 0 2px rgba(116,124,135,0.22);
    color:var(--emi-txt-0);
}

.emi-scope .emi-toggle-instrumento{
    display:inline-flex;align-items:center;gap:6px;
    background:var(--emi-bg-2);border:1px solid var(--emi-line);color:var(--emi-txt-1);
    font-family:var(--emi-font-mono);font-size:12px;padding:7px 14px;border-radius:7px;
    text-decoration:none;cursor:pointer;
}
.emi-scope .emi-toggle-instrumento .emi-toggle-check{font-size:13px;color:var(--emi-txt-2); /*visibility:hidden;*/}
.emi-scope .emi-toggle-instrumento.active{background:var(--emi-accent);color:#ffffff;border-color:var(--emi-accent);font-weight:700;}
.emi-scope .emi-toggle-instrumento.active .emi-toggle-check{visibility:visible;color:#ffffff;}
.emi-scope .emi-toggle-instrumento.active:hover{background:var(--emi-accent-hover);border-color:var(--emi-accent-hover);}
.emi-scope .emi-toggle-instrumento:hover{border-color:var(--emi-accent);}

/* ── Comparación de instrumentos ──────────────────────────────── */
.emi-scope .emi-btn-agregar-comparacion{
    display:inline-flex;align-items:center;gap:4px;
    background:transparent;border:1px dashed var(--emi-line);color:var(--emi-txt-1);
    border-radius:6px;padding:6px 5px;font-size:12px;cursor:pointer;
    font-family:'JetBrains Mono',monospace;
    transition:background-color .15s ease, border-color .15s ease, color .15s ease;
}
.emi-scope .emi-btn-agregar-comparacion:hover{border-color:var(--emi-accent);color:var(--emi-accent);}

/* Botón "Agregar" (confirmar): destacado con fondo sólido, para que
    resalte como la acción principal de esa fila frente a "Cancelar".
    Border-style sólido (no dashed) para que combine con el fondo lleno,
    y el hover solo oscurece un poco el fondo (sin opacity ni parpadeo). */
.emi-scope .emi-btn-agregar-comparacion.destacado{
    background:var(--emi-brand);border:1px solid var(--emi-brand);
    color:#ffffff;font-weight:600;
}
.emi-scope .emi-btn-agregar-comparacion.destacado:hover{
    background:var(--emi-brand-hover);border-color:var(--emi-brand-hover);color:#ffffff;
}
.emi-scope .emi-chips-comparacion{
    display:flex;flex-wrap:wrap;gap:8px;align-items:center;
    padding:5px 20px 14px;
}
.emi-scope .emi-chip-comparado{
    display:flex;align-items:center;gap:10px;
    background:var(--emi-bg-2);border:1px solid var(--emi-line);border-radius:8px;
    padding:6px 8px 6px 14px;font-size:12px;color:var(--emi-txt-1);
}
.emi-scope .emi-chip-comparado b{color:var(--emi-accent);font-weight:600;}
.emi-scope .emi-chip-comparado button{
    background:transparent;border:1px solid var(--emi-line);color:var(--emi-txt-1);
    border-radius:6px;padding:4px 10px;font-size:11px;cursor:pointer;
    font-family:'JetBrains Mono',monospace;
}
.emi-scope .emi-chip-comparado button:hover{border-color:var(--emi-neg);color:var(--emi-neg);}

/* Los bloques de cada instrumento comparado (ahora solo contienen
    Racha) van SIN separador ni margen extra entre ellos, para que
    todas las rachas queden apiladas una debajo de otra como un solo
    bloque continuo, en vez de verse como secciones separadas. */
.emi-scope .emi-bloque-comparacion{margin:0;padding:0;}

/* ── KPIs ──────────────────────────────────────────────────── */
.emi-scope .emi-kpi-header{
    padding:10px 20px 4px;
    font-family:var(--emi-font-mono);font-size:11px;
    color:var(--emi-txt-1);text-transform:uppercase;letter-spacing:.6px;
}
.emi-scope .emi-kpi-header b{color:var(--emi-txt-0);}
.emi-scope .emi-kpi-row-label{
    padding:8px 20px 2px;
    font-family:var(--emi-font-mono);font-size:10px;font-weight:700;
    color:var(--emi-accent);text-transform:uppercase;letter-spacing:1px;
}
.emi-scope .emi-kpis{
    display:grid;gap:10px;padding:4px 20px 12px;
}
.emi-scope .emi-kpis.emi-kpis-3{
    grid-template-columns:repeat(3,1fr);
}
@media(max-width:700px){
    .emi-scope .emi-kpis.emi-kpis-3{grid-template-columns:1fr 1fr;}
}

.emi-scope .emi-card{
    background:linear-gradient(180deg,var(--emi-bg-2),var(--emi-bg-1));
    border:1px solid var(--emi-line);border-radius:12px;padding:14px 16px;
}
.emi-scope .emi-kpi-label{font-size:10px;color:var(--emi-txt-1);text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px;}
.emi-scope .emi-kpi-value{font-family:var(--emi-font-mono);font-size:22px;font-weight:700;line-height:1;}
.emi-scope .emi-kpi-value.pos{color:var(--emi-pos);}
.emi-scope .emi-kpi-value.neg{color:var(--emi-neg);}
.emi-scope .emi-kpi-sub{font-size:11px;color:var(--emi-txt-2);margin-top:6px;}

/* Varios instrumentos en la misma caja KPI: cada uno aparece como una
    línea nueva, con su nombre (mismo color que su línea en el gráfico)
    antes del valor — ej. "ENTEL: -$7.042,71". Las líneas de instrumentos
    comparados van dentro de los contenedores #kpiXxxExtra, agregadas
    por JS al comparar. */
.emi-scope .emi-kpi-item{margin-top:2px;}
.emi-scope .emi-kpi-item:first-child{margin-top:0;}
.emi-scope .emi-kpi-nemo{
    font-family:var(--emi-font-mono);font-size:12px;font-weight:600;
    color:#3b82f6;margin-right:4px;
}
.emi-scope .emi-kpi-item .emi-kpi-value{font-size:22px;}
.emi-scope .emi-kpi-item + .emi-kpi-item .emi-kpi-value,
.emi-scope .emi-kpi-extra .emi-kpi-value{font-size:16px;}
.emi-scope .emi-kpi-extra{margin-top:8px;padding-top:8px;border-top:1px dashed var(--emi-line);}
.emi-scope .emi-kpi-extra:empty{margin-top:0;padding-top:0;border-top:none;}
.emi-scope .emi-kpi-extra .emi-kpi-item{margin-top:8px;}
.emi-scope .emi-kpi-extra .emi-kpi-item:first-child{margin-top:0;}

/* ── Chart ─────────────────────────────────────────────────── */
.emi-scope .emi-panel-chart{margin:0 20px 20px;}
.emi-scope .emi-chart-wrap{position:relative;height:300px;width:100%;}
.emi-scope .emi-chart-wrap canvas{display:block;}

/* Leyenda propia (reemplaza la nativa de Chart.js): para datasets
    de barra usa una cajita (con el patrón rayado si es Fondos
    Mutuos); para datasets de línea dibuja una línea de verdad, con
    su sólido/punteado y la forma de punto de su indicador — así
    cada ítem de la leyenda se ve igual que su serie en el gráfico. */
.emi-scope .emi-chart-leyenda{
    display:flex;flex-wrap:wrap;gap:10px 16px;
    padding:0 0 8px;font-family:'JetBrains Mono',monospace;font-size:11px;
    color:var(--emi-txt-1);
}
.emi-scope .emi-leyenda-item{display:flex;align-items:center;gap:6px;}
.emi-scope .emi-leyenda-swatch{flex:none;display:block;}
.emi-scope .emi-panel-chart .emi-head{
    display:flex;align-items:center;margin-bottom:8px;flex-wrap:wrap;gap:6px;
}
.emi-scope .emi-period-group{display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
.emi-scope .emi-period-btn{
    background:var(--emi-bg-2);border:1px solid var(--emi-line);color:var(--emi-txt-1);
    font-family:var(--emi-font-mono);font-size:11px;padding:5px 10px;border-radius:6px;
    cursor:pointer;text-decoration:none;display:inline-block;
}
.emi-scope .emi-period-btn:hover{color:var(--emi-txt-0);border-color:var(--emi-accent);}
.emi-scope .emi-period-btn.active{background:var(--emi-accent);color:#ffffff;border-color:var(--emi-accent);font-weight:700;}
.emi-scope .emi-period-btn.active:hover{background:var(--emi-accent-hover);border-color:var(--emi-accent-hover);color:#ffffff;}
.emi-scope .emi-rango-sep{
    color:var(--emi-line);font-size:16px;margin:0 4px;user-select:none;
}
.emi-scope .emi-rango-hasta{color:var(--emi-txt-2);font-family:var(--emi-font-mono);font-size:12px;}
.emi-scope .emi-select-sm{margin-left:0;max-width:100px;}
.emi-scope .emi-rango-aplicar{margin-left:2px;}
.emi-scope .emi-chart-footer{
    margin-top:10px;padding-top:8px;border-top:1px solid var(--emi-line);
}
.emi-scope .emi-chart-footer-top{
    display:flex;align-items:center;flex-wrap:wrap;gap:10px;
}
.emi-scope .emi-btn-restablecer-zoom{
    margin-left:auto;
    background:transparent;border:1px solid var(--emi-line);color:var(--emi-txt-1);
    border-radius:6px;padding:3px 10px;font-size:11px;cursor:pointer;
    font-family:'JetBrains Mono',monospace;
}
.emi-scope .emi-btn-restablecer-zoom:hover{border-color:var(--emi-accent);color:var(--emi-accent);}
.emi-scope .emi-chart-footer h3{
    font-size:11px;letter-spacing:.5px;color:var(--emi-txt-2);
    margin:0;text-transform:uppercase;
}
.emi-scope .emi-chart-instrumentos{
    display:flex;flex-wrap:wrap;gap:8px;
}
.emi-scope .emi-chart-instrumento{
    font-family:var(--emi-font-mono);font-size:12px;font-weight:600;
    padding:3px 9px;border-radius:12px;border:1px solid currentColor;
    background:rgba(116,124,135,0.08);
}

.emi-scope .emi-aviso-limite{font-family:var(--emi-font-mono);font-size:11px;color:var(--emi-neg);display:block;margin-top:2px;}

/* ── Ranking ───────────────────────────────────────────────── */
.emi-scope .emi-rank-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid var(--emi-line);font-family:var(--emi-font-mono);font-size:12px;gap:10px;}
.emi-scope .emi-rank-row:last-child{border-bottom:none;}
.emi-scope .emi-rank-row.highlight{color:var(--emi-accent);font-weight:700;}
.emi-scope .emi-rank-monto{color:var(--emi-txt-2);font-size:11px;margin-left:auto;}
.emi-scope .emi-rank-row.highlight .emi-rank-monto{color:inherit;}
.emi-scope .emi-rank-row .pos{color:var(--emi-pos);}
.emi-scope .emi-rank-row .neg{color:var(--emi-neg);}

/* ── Racha ─────────────────────────────────────────────────── */
.emi-scope .emi-racha-grid{
    display:grid;grid-template-columns:repeat(18,1fr);gap:3px;margin-bottom:8px;
}
.emi-scope .emi-racha-dot{
    width:100%;aspect-ratio:1;border-radius:2px;display:inline-block;
}
.emi-scope .emi-racha-dot.compra{background:var(--emi-pos);}
.emi-scope .emi-racha-dot.venta{background:var(--emi-neg);}
.emi-scope .emi-racha-dot.neutro{background:var(--emi-neutral);}
/* Dots pequeños para la leyenda */
.emi-scope .emi-racha-dot-sm{
    display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:middle;
}
.emi-scope .emi-racha-dot-sm.compra{background:var(--emi-pos);}
.emi-scope .emi-racha-dot-sm.venta{background:var(--emi-neg);}
.emi-scope .emi-racha-dot-sm.neutro{background:var(--emi-neutral);}
.emi-scope .emi-racha-legend{
    display:flex;align-items:center;gap:6px;flex-wrap:wrap;
    font-family:var(--emi-font-mono);font-size:10px;color:var(--emi-txt-2);
    margin-bottom:8px;
}
.emi-scope .emi-racha-legend span{display:inline-flex;align-items:center;gap:3px;}
.emi-scope .emi-racha-footer{
    font-family:var(--emi-font-mono);font-size:11px;color:var(--emi-accent);
    background:rgba(116,124,135,0.10);border-radius:6px;padding:6px 10px;
    margin-top:4px;
}

/* Varios instrumentos en la misma card de Racha: cada uno agrega su
    propio grid de 18 meses + footer, con su nombre (mismo color que en
    el gráfico/KPIs) arriba a modo de separador. */
.emi-scope .emi-racha-item{
    margin-top:12px;padding-top:12px;border-top:1px dashed var(--emi-line);
}
.emi-scope .emi-racha-item-nemo{
    font-family:var(--emi-font-mono);font-size:12px;font-weight:600;
    margin-bottom:6px;
}

.emi-scope .emi-tag{font-family:var(--emi-font-mono);}
.emi-scope .emi-tag-pos{color:var(--emi-pos);}
.emi-scope .emi-tag-neg{color:var(--emi-neg);}
.emi-scope .emi-footer-note{padding:12px 20px;color:var(--emi-txt-2);font-size:11px;border-top:1px solid var(--emi-line);}

/* ── Rachas: dos cards lado a lado ──────────────────────────── */
.emi-scope .emi-rachas-row{
    display:grid;grid-template-columns:1fr 1fr;gap:14px;
    padding:0 20px 16px;
}
.emi-scope .emi-rachas-row .emi-card h3{
    font-size:10px;text-transform:uppercase;letter-spacing:.6px;
    color:var(--emi-txt-1);margin:0 0 10px;
}
@media(max-width:700px){
    .emi-scope .emi-rachas-row{grid-template-columns:1fr;}
}

/* ── Feed de noticias (pie de página) ─────────────────────────── */
.emi-scope .emi-noticias{
    padding:20px;border-top:1px solid var(--emi-line);
}
.emi-scope .emi-noticias-titulo{
    font-size:13px;text-transform:uppercase;letter-spacing:.6px;
    color:var(--emi-txt-1);margin:0 0 14px;
}
.emi-scope .emi-noticias-footer{
    display:flex;justify-content:flex-end;margin-top:16px;
}
.emi-scope .emi-noticias-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;
}
.emi-scope .emi-noticia-card{
    display:flex;flex-direction:column;
    background:linear-gradient(180deg,var(--emi-bg-2),var(--emi-bg-1));
    border:1px solid var(--emi-line);border-radius:12px;overflow:hidden;
    text-decoration:none;color:inherit;
    transition:border-color .15s ease, transform .15s ease;
}
.emi-scope .emi-noticia-card:hover{
    border-color:var(--emi-accent);transform:translateY(-2px);
}
.emi-scope .emi-noticia-img{
    width:100%;aspect-ratio:16/9;background-size:cover;background-position:center;
    background-color:var(--emi-bg-2);flex:none;
}
.emi-scope .emi-noticia-body{padding:12px 14px 16px;display:flex;flex-direction:column;gap:6px;}
.emi-scope .emi-noticia-fecha{
    font-family:var(--emi-font-mono);font-size:10px;color:var(--emi-txt-2);
    text-transform:uppercase;letter-spacing:.4px;
}
.emi-scope .emi-noticia-titulo-item{
    font-size:14px;font-weight:700;line-height:1.3;color:var(--emi-txt-0);
    margin:0;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.emi-scope .emi-noticia-bajada{
    font-size:12px;line-height:1.4;color:var(--emi-txt-1);margin:0;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}

/* ── Responsive móvil ──────────────────────────────────────────
   Se ubica al final para que prevalezca sobre las medidas de
   escritorio sin modificar la diagramación en pantallas grandes. */
@media(max-width:700px){
    .emi-scope{
        width:100%;
        max-width:100%;
        border-radius:10px;
    }
    .emi-scope *,
    .emi-scope *::before,
    .emi-scope *::after{
        min-width:0;
    }

    /* Cabecera y botones principales */
    .emi-scope .emi-topbar{
        align-items:stretch;
        padding:12px;
        gap:12px;
    }
    .emi-scope .emi-brand{
        width:100%;
        font-size:18px;
        line-height:1.2;
        overflow-wrap:anywhere;
    }
    .emi-scope .emi-toggle-group{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        width:100%;
        gap:8px;
    }
    .emi-scope .emi-toggle-group button{
        width:100%;
        min-height:40px;
        padding:8px;
        line-height:1.25;
        white-space:normal;
    }
    .emi-scope .emi-toggle-group button:last-child:nth-child(odd){
        grid-column:1 / -1;
    }

    /* Filtros, selects y comparación */
    .emi-scope .emi-filters{
        display:grid;
        grid-template-columns:minmax(0,1fr);
        align-items:stretch;
        padding:12px;
        gap:10px;
    }
    .emi-scope .emi-filter-chip{
        display:flex;
        flex-direction:column;
        align-items:stretch;
        width:100%;
        padding:0;
        gap:6px;
        overflow-wrap:anywhere;
    }
    .emi-scope .emi-filter-chip b{
        display:block;
    }
    .emi-scope .emi-select{
        width:100%;
        max-width:none;
        min-height:40px;
        margin-left:0;
        padding:8px 10px;
        font-size:16px;
    }
    .emi-scope .emi-multiselect{
        display:block;
        width:100%;
    }
    .emi-scope .emi-multiselect-chips{
        width:100%;
        max-width:none;
        min-height:40px;
        padding:7px 10px;
    }
    .emi-scope .emi-multiselect-dropdown{
        width:100%;
        min-width:0;
        max-height:260px;
    }
    .emi-scope .emi-ms-option{
        min-height:40px;
    }
    .emi-scope .emi-afp-fm-group{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr));
        justify-items:stretch;
        width:100% !important;
        max-width:none !important;
        margin-left:0 !important;
        gap:8px;
    }
    .emi-scope .emi-afp-fm-group .emi-toggle-instrumento{
        justify-content:center;
        width:100% !important;
        max-width:none !important;
        min-height:40px;
        padding:8px 10px;
        margin:0 !important;
        line-height:1.25;
        text-align:center;
        white-space:normal;
    }
    .emi-scope #chipAgregarComparacion,
    .emi-scope #filaSelectorComparacion{
        width:100%;
    }
    .emi-scope #chipAgregarComparacion{
        flex-direction:row;
        flex-wrap:wrap;
        align-items:stretch;
    }
    .emi-scope #filaSelectorComparacion{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        align-items:stretch;
        width:100% !important;
        gap:8px;
    }
    .emi-scope #filaSelectorComparacion .emi-select{
        grid-column:1 / -1;
        width:100% !important;
    }
    .emi-scope .emi-btn-agregar-comparacion{
        justify-content:center;
        min-height:40px;
        padding:8px 10px;
        text-align:center;
    }
    .emi-scope #filaSelectorComparacion .emi-btn-agregar-comparacion{
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
    }
    .emi-scope .emi-chips-comparacion{
        flex-direction:column;
        align-items:stretch;
        padding:12px 12px 12px;
    }
    .emi-scope .emi-chip-comparado{
        justify-content:space-between;
        flex-wrap:wrap;
        width:100%;
        padding:8px 10px;
        overflow-wrap:anywhere;
    }
    .emi-scope .emi-chip-comparado button{
        min-height:36px;
        margin-left:auto;
    }
    .emi-scope .emi-datos-actualizados{
        width:100%;
        border-radius:8px;
        line-height:1.4;
        white-space:normal;
    }

    /* Indicadores KPI */
    .emi-scope .emi-kpi-header{
        padding:10px 12px 4px;
        line-height:1.4;
    }
    .emi-scope .emi-kpi-row-label{
        padding:8px 12px 2px;
    }
    .emi-scope .emi-kpis{
        gap:6px;
        padding:4px 12px 12px;
    }
    .emi-scope .emi-kpis.emi-kpis-3{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }
    .emi-scope .emi-card{
        padding:10px 8px;
    }
    .emi-scope .emi-kpi-label{
        font-size:12px;
        line-height:1.25;
        margin-bottom:6px;
    }
    .emi-scope .emi-kpi-nemo{
        display:block;
        margin:0 0 4px;
        font-size:11px;
        line-height:1.2;
        overflow-wrap:anywhere;
    }
    .emi-scope .emi-kpi-item .emi-kpi-value,
    .emi-scope .emi-kpi-extra .emi-kpi-value{
        display:block;
        font-size:clamp(14px,4vw,20px);
        line-height:1.1;
        letter-spacing:-.4px;
        white-space:nowrap;
    }
    .emi-scope .emi-kpi-sub{
        font-size:11px;
        line-height:1.25;
        overflow-wrap:anywhere;
    }
    .emi-scope .emi-kpi-item,
    .emi-scope .emi-kpi-extra{
        max-width:100%;
    }

    /* Gráfico y controles de período */
    .emi-scope .emi-panel-chart{
        margin:0 12px 16px;
    }
    .emi-scope .emi-panel-chart .emi-head{
        flex-direction:column;
        align-items:stretch;
        gap:10px;
    }
    .emi-scope .emi-period-group{
        width:100%;
        gap:6px;
    }
    .emi-scope .emi-period-btn{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        flex:1 1 calc(15.333% - 4px);
        min-height:38px;
        padding:7px 6px;
        text-align:center;
    }
    .emi-scope .emi-rango-sep{
        display:none;
    }
    .emi-scope .emi-rango-hasta{
        flex:0 0 auto;
        display: none;
    }
    .emi-scope .emi-select-sm{
        flex:1 1 calc(50% - 18px);
        width:auto;
        max-width:none;
    }
    .emi-scope .emi-rango-aplicar{
        flex:1 1 100%;
        margin-left:0;
    }
    .emi-scope .emi-chart-leyenda{
        gap:8px 12px;
        font-size:11px;
    }
    .emi-scope .emi-leyenda-item{
        max-width:100%;
        overflow-wrap:anywhere;
    }
    .emi-scope .emi-chart-wrap{
        width:100%;
        height:260px;
        overflow:hidden;
    }
    .emi-scope .emi-chart-wrap canvas{
        width:100% !important;
        max-width:100% !important;
        height:100% !important;
    }
    .emi-scope .emi-chart-footer-top{
        flex-direction:column;
        align-items:stretch;
        gap:8px;
    }
    .emi-scope .emi-chart-instrumentos{
        width:100%;
    }
    .emi-scope .emi-chart-instrumento{
        max-width:100%;
        overflow-wrap:anywhere;
    }
    .emi-scope .emi-btn-restablecer-zoom{
        width:100%;
        min-height:38px;
        margin-left:0;
    }

    /* Ranking, rachas y noticias */
    .emi-scope .emi-rank-row{
        align-items:flex-start;
        flex-wrap:wrap;
        overflow-wrap:anywhere;
    }
    .emi-scope .emi-rachas-row{
        grid-template-columns:minmax(0,1fr);
        gap:10px;
        padding:0 12px 12px;
    }
    .emi-scope .emi-racha-grid{
        grid-template-columns:repeat(9,minmax(0,1fr));
        gap:4px;
    }
    .emi-scope .emi-racha-footer,
    .emi-scope .emi-footer-note{
        overflow-wrap:anywhere;
    }
    .emi-scope .emi-footer-note{
        padding:12px;
    }
    .emi-scope .emi-noticias{
        padding:14px 12px;
    }
    .emi-scope .emi-noticias-grid{
        grid-template-columns:minmax(0,1fr);
        gap:12px;
        width: 100%;
    }
    .emi-scope .emi-noticias-footer{
        justify-content:center;
    }
    .emi-scope .emi-noticias-footer > *{
        width:100%;
    }

    /* Escala tipográfica móvil: mejora la lectura sin alterar
       la distribución de tres columnas de los indicadores. */
    .emi-scope .emi-toggle-group button,
    .emi-scope .emi-filter-chip,
    .emi-scope .emi-multiselect-chips,
    .emi-scope .emi-ms-option,
    .emi-scope .emi-toggle-instrumento,
    .emi-scope .emi-btn-agregar-comparacion{
        font-size:13px;
    }
    .emi-scope .emi-ms-option .emi-ms-check{
        font-size:13px;
    }
    .emi-scope .emi-datos-actualizados,
    .emi-scope .emi-chip-comparado,
    .emi-scope .emi-chip-comparado button,
    .emi-scope .emi-kpi-header,
    .emi-scope .emi-period-btn,
    .emi-scope .emi-btn-restablecer-zoom,
    .emi-scope .emi-chart-footer h3,
    .emi-scope .emi-aviso-limite,
    .emi-scope .emi-rank-monto,
    .emi-scope .emi-racha-footer,
    .emi-scope .emi-footer-note{
        font-size:12px;
        line-height:1.4;
    }
    .emi-scope .emi-kpi-row-label,
    .emi-scope .emi-kpi-nemo,
    .emi-scope .emi-kpi-sub,
    .emi-scope .emi-chart-leyenda,
    .emi-scope .emi-racha-legend,
    .emi-scope .emi-rachas-row .emi-card h3,
    .emi-scope .emi-noticia-fecha{
        font-size:12px;
        line-height:1.4;
    }
    .emi-scope .emi-rank-row,
    .emi-scope .emi-noticia-bajada{
        font-size:13px;
        line-height:1.45;
    }
}

@media(max-width:420px){
    .emi-scope .emi-toggle-group{
        grid-template-columns:minmax(0,1fr);
    }
    .emi-scope .emi-toggle-group button:last-child:nth-child(odd){
        grid-column:auto;
    }
    .emi-scope .emi-kpis.emi-kpis-3{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }
    .emi-scope .emi-kpis{
        gap:5px;
        padding-right:8px;
        padding-left:8px;
    }
    .emi-scope .emi-card{
        padding:8px 6px;
    }
    .emi-scope .emi-kpi-item .emi-kpi-value,
    .emi-scope .emi-kpi-extra .emi-kpi-value{
        font-size:clamp(13px,3.8vw,16px);
    }
    .emi-scope .emi-period-btn{
        flex-basis:calc(15% - 3px);
    }
    .emi-scope .emi-chart-wrap{
        height:240px;
    }
    .emi-scope .emi-racha-grid{
        grid-template-columns:repeat(6,minmax(0,1fr));
    }
    .emi-scope .emi-rank-monto{
        width:100%;
        margin-left:0;
    }
    .emi-scope .emi-brand { 
        font-size: 13px;
    }
}


.emi-scope .emi-rank-link{color:inherit;text-decoration:none;}
.emi-scope .emi-rank-link:hover{text-decoration:underline;}

.emi-scope .emi-instrumento-actual{font-family:var(--emi-font-mono);font-size:24px;line-height:1.1;font-weight:700;color:var(--emi-txt-0);display:inline-flex;align-items:center;gap:8px;}
.emi-scope .emi-instrumento-actual a{color:var(--emi-accent);text-decoration:none;font-weight:600;font-size:13px;}
.emi-scope .emi-instrumento-actual a:hover{text-decoration:underline;}

/* ── Botón informativo "¿Qué es Intelligence?" + ventana ─────────── */
.emi-scope .emi-info-btn{
    display:inline-flex;align-items:center;justify-content:center;
    width:20px;height:20px;margin-left:4px;padding:0;border-radius:50%;
    background:transparent;border:1.5px solid var(--emi-txt-2);color:var(--emi-txt-2);
    font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:700;font-size:13px;line-height:1;
    cursor:pointer;
    transition:background-color .15s ease, border-color .15s ease, color .15s ease;
}
.emi-scope .emi-info-btn:hover,
.emi-scope .emi-info-btn:focus-visible{
    background:var(--emi-brand);border-color:var(--emi-brand);color:#ffffff;outline:none;
}
.emi-scope .emi-info-overlay{
    position:fixed;inset:0;z-index:1000;
    display:flex;align-items:center;justify-content:center;padding:16px;
    background:rgba(32,33,36,0.55);
}
.emi-scope .emi-info-modal{
    position:relative;width:100%;max-width:560px;max-height:85vh;overflow-y:auto;
    background:var(--emi-bg-0);border:1px solid var(--emi-line);border-radius:12px;
    padding:24px 26px;box-shadow:0 16px 40px rgba(0,0,0,0.25);
    user-select:text;-webkit-user-select:text;
}
.emi-scope .emi-info-modal h2{
    margin:0 28px 12px 0;font-size:18px;font-weight:700;color:var(--emi-brand);
}
.emi-scope .emi-info-contenido{font-size:14px;line-height:1.55;color:var(--emi-txt-1);}
.emi-scope .emi-info-contenido p{margin:0 0 10px;}
.emi-scope .emi-info-cerrar{
    position:absolute;top:10px;right:12px;width:30px;height:30px;
    background:transparent;border:none;border-radius:6px;
    font-size:24px;line-height:1;color:var(--emi-txt-2);cursor:pointer;
}
.emi-scope .emi-info-cerrar:hover{color:var(--emi-txt-0);background:var(--emi-bg-2);}

/* ── Multiselect Indicador: contador + flecha de desplegable ─────── */
.emi-scope .emi-multiselect-chips{flex-wrap:nowrap;gap:6px;}
.emi-scope .emi-multiselect-chips .emi-ms-placeholder{color:var(--emi-txt-1);}
.emi-scope .emi-ms-count{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:16px;height:16px;padding:0 4px;border-radius:8px;
    background:var(--emi-accent);color:#ffffff;
    font-size:10px;font-weight:700;line-height:1;
}
/* Flecha igual a la de los select de fecha (chevron nativo): se dibuja
   con un SVG y se alinea con la altura/tipografía de .emi-select. */
.emi-scope .emi-multiselect-chips{
    padding:3px 6px;border-radius:5px;font-size:12px;min-height:25px;
}
.emi-scope .emi-ms-caret{
    margin-left:auto;flex:none;width:10px;height:6px;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23202124' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* ── Controles de la misma altura (select, buscadores, Indicador y botones) ──
   Una sola variable controla la altura. Solo escritorio: en móvil se
   mantienen las medidas táctiles que ya tenías (40px). Pegar al FINAL de
   intelligence.css. */
@media(min-width:701px){
    .emi-scope{--emi-control-h:32px;}

    .emi-scope .emi-select,
    .emi-scope .emi-multiselect-chips,
    .emi-scope .emi-toggle-instrumento,
    .emi-scope .emi-period-btn,
    .emi-scope .emi-btn-agregar-comparacion,
    .emi-scope .emi-btn-restablecer-zoom{
        height:var(--emi-control-h);
        min-height:var(--emi-control-h);
        box-sizing:border-box;
    }
    .emi-scope .emi-select{padding-top:0;padding-bottom:0;}
    .emi-scope .emi-toggle-instrumento,
    .emi-scope .emi-period-btn,
    .emi-scope .emi-btn-agregar-comparacion,
    .emi-scope .emi-btn-restablecer-zoom{
        display:inline-flex;align-items:center;justify-content:center;
        padding-top:0;padding-bottom:0;
    }
}

/* Buscadores de instrumento (principal y de comparación): misma flecha
   que los select. El input no trae flecha nativa, así que se dibuja. */
.emi-scope #inputBuscarInstrumento,
.emi-scope #inputBuscarComparacion{
    padding-right:26px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23202124' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 9px center;
    background-size:10px 6px;
    cursor:pointer;
    text-overflow:ellipsis;
}
.emi-scope #inputBuscarInstrumento:focus,
.emi-scope #inputBuscarComparacion:focus{cursor:text;}