.vm2,.vm2 *{box-sizing:border-box}
.vm2{font-size:15px;line-height:1.55;color:#12203a;-webkit-font-smoothing:antialiased}
.vm2 .faq{margin-top:16px}
.vm2 .vm2-pie{margin-top:24px;font-size:12px;color:#5a6a85;text-align:right}
.vm2 .vm2-pie a{color:inherit}

.vm2 .vm2-pie{padding-top:16px;border-top:1px solid var(--linea)}
.vm2 .vm2-agentes{margin-top:6px;font-size:11px;color:#5a6a85;text-align:right}
.vm2 .vm2-agentes a{color:inherit}
.vm2{--tinta:#12203a;--suave:#5a6a85;--linea:#e2e7ef;--papel:#fff;--acento:#1c6fd6;--acento-suave:#eaf2fd;--neg:#b4443a;--pos:#2f7d4f}
.vm2 h1{font-size:28px;line-height:1.2;margin:0 0 8px}
.vm2 .bajada{color:var(--suave);max-width:720px;margin:0 0 6px}
.vm2 .intro{max-width:820px;margin:16px 0;font-size:15px;line-height:1.55}
.vm2 .fecha{display:inline-block;font-size:12px;color:var(--acento);background:var(--acento-suave);border-radius:6px;padding:3px 9px;margin-top:6px}
.vm2 .panel{background:var(--papel);border:1px solid var(--linea);border-radius:12px;padding:20px}
.vm2 .cabeza{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 32px;flex-wrap:wrap;margin-bottom:16px}
.vm2 .filtros{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end}
.vm2 .filtros label{display:block;font-size:12px;color:var(--suave);margin-bottom:4px}
.vm2 select,.vm2 input{font:inherit;padding:8px 10px;border:1px solid var(--linea);border-radius:8px;background:#fff;color:var(--tinta);min-width:170px}
.vm2 .grid{display:grid;grid-template-columns:1.1fr 1fr;gap:16px}

.vm2 .explora{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:16px;align-items:start}
.vm2 .mapa svg{width:100%;height:auto;max-height:calc(100vh - 230px);min-height:340px;display:block}
.vm2 .ver-comuna{display:none}

.vm2 .ficha .titulo-sel{position:relative;display:inline-block;max-width:100%;padding:0 26px 2px 0;border-bottom:2px dashed var(--linea);background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3 5l4 4 4-4' fill='none' stroke='%231c6fd6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 4px center;cursor:pointer}
.vm2 .ficha .titulo-sel:hover{border-bottom-color:var(--acento)}
.vm2 .ficha .titulo-sel:focus-within{outline:2px solid var(--acento);outline-offset:3px}
.vm2 .ficha .titulo-sel select{position:absolute;inset:0;width:100%;height:100%;min-width:0;opacity:0;font-size:15px;cursor:pointer}

.vm2 .mapa path{stroke:#fff;stroke-width:1.5px;vector-effect:non-scaling-stroke;stroke-linejoin:round;cursor:default;transition:opacity .1s}
.vm2 .mapa path.con-dato{cursor:pointer}
.vm2 .mapa path.con-dato:hover,.vm2 .mapa path.activa{stroke:var(--tinta);stroke-width:2px}
.vm2 .leyenda{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--suave);margin-top:10px;flex-wrap:wrap}
.vm2 .leyenda .rampa{width:140px;height:8px;border-radius:4px}
.vm2 .leyenda .sin{width:12px;height:12px;border-radius:3px;background:#e9edf3;display:inline-block}
.vm2 table{width:100%;border-collapse:collapse;font-size:14px}
.vm2 th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--suave);font-weight:600;padding:8px 10px;border-bottom:2px solid var(--linea);cursor:pointer;white-space:nowrap;user-select:none}
.vm2 th.n,.vm2 td.n{text-align:right;font-variant-numeric:tabular-nums}
.vm2 th[aria-sort] ::after{content:''}
.vm2 th .flecha{opacity:.5;font-size:10px}
.vm2 td{padding:9px 10px;border-bottom:1px solid var(--linea)}
.vm2 tbody tr{cursor:pointer}
.vm2 tbody tr:hover,.vm2 tbody tr.activa{background:var(--acento-suave)}
.vm2 .pos{color:var(--pos)}.vm2 .neg{color:var(--neg)}
.vm2 .muted{color:var(--suave)}
.vm2 .ficha .ojo{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--acento);font-weight:700;margin-bottom:2px}
.vm2 .ficha h2{font-size:24px;line-height:1.2;margin:0 0 4px}
.vm2 .ficha.entra{animation:vm2-entra .4s ease}
@keyframes vm2-entra{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:none}}
.vm2 .dos{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.vm2 .ranking{margin-top:16px}
.vm2 .ranking h2{font-size:18px;margin:0 0 4px}
.vm2 .kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 4px}
.vm2 .kpi{background:#f4f7fc;border-radius:10px;padding:10px 12px}
.vm2 .kpi b{display:block;font-size:20px;line-height:1.2}
.vm2 .kpi span{font-size:12px;color:var(--suave)}
.vm2 .sub{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--suave);margin:18px 0 8px;font-weight:600}
.vm2 .barras div{display:grid;grid-template-columns:96px 1fr 64px;gap:8px;align-items:center;font-size:12px;margin-bottom:6px}
.vm2 .barras i{display:block;height:12px;border-radius:0 4px 4px 0;background:var(--acento)}
.vm2 .barras .vacio i{background:none}
.vm2 .tendencia svg{width:100%;height:auto;display:block}
.vm2 .calc{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.vm2 .calc .res{font-size:14px;padding:10px 12px;background:#f4f7fc;border-radius:8px;flex:1;min-width:240px}
.vm2 details{border-bottom:1px solid var(--linea);padding:12px 0}
.vm2 summary{cursor:pointer;font-weight:600}
.vm2 details p{color:var(--suave);margin:8px 0 0}

.vm2 .compara{margin-top:16px}
.vm2 .compara h2{font-size:18px;margin:0 0 4px}
.vm2 .selcomp{display:flex;align-items:flex-end;gap:10px;margin:12px 0 16px;flex-wrap:wrap}
.vm2 .selcomp>div{flex:1 1 200px;min-width:0}
.vm2 .selcomp label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--suave);margin-bottom:4px}
.vm2 .selcomp select{width:100%;min-width:0}
.vm2 .selcomp button{font:inherit;font-size:18px;line-height:1;padding:8px 12px;border:1px solid var(--linea);border-radius:8px;background:#fff;color:var(--tinta);cursor:pointer}
.vm2 .selcomp button:hover{background:var(--acento-suave)}
.vm2 .punto{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none}
.vm2 .punto.a{background:#1c6fd6}.vm2 .punto.b{background:#d9730d}
.vm2 .titular{font-size:17px;font-weight:600;margin:0 0 12px}
.vm2 .comp-tabla td:first-child{color:var(--suave)}
.vm2 .comp-tabla th{cursor:default}
.vm2 .comp-tabla tbody tr{cursor:default}.vm2 .comp-tabla tbody tr:hover{background:none}
.vm2 .comp-tabla th span{display:inline-flex;align-items:center;gap:6px;text-transform:none;letter-spacing:0;font-size:13px;color:var(--tinta)}
.vm2 .comp-tabla input{min-width:0;width:64px;padding:4px 6px;margin:0 4px}
.vm2 .comp-graf{margin-top:8px}
.vm2 .comp-graf svg{width:100%;height:auto;display:block}
.vm2 .comp-leyenda{display:flex;gap:16px;font-size:12px;color:var(--suave);margin:4px 0 6px;flex-wrap:wrap}
.vm2 .comp-leyenda span{display:inline-flex;align-items:center;gap:6px}
.vm2 .barras.barrios div{grid-template-columns:minmax(110px,190px) 1fr 64px;cursor:pointer;border-radius:6px;padding:2px 4px;margin:0 -4px 4px}
.vm2 .barras.barrios div:hover,.vm2 .barras.barrios div:focus-visible{background:var(--acento-suave);outline:none}
.vm2 .abrir{font:inherit;font-size:11px;border:0;background:var(--acento-suave);color:var(--acento);border-radius:5px;padding:1px 6px;margin-left:6px;cursor:pointer}
.vm2 tbody tr.hijo td{font-size:13px;background:#fafbfd}.vm2 tbody tr.hijo td:first-child{padding-left:22px}
.vm2 tbody tr.hijo td:first-child b{font-weight:500}
.vm2 .ficha .enlace{font-size:12px;color:var(--acento);cursor:pointer;background:none;border:0;padding:0;font-weight:600}
.vm2 .tip{position:fixed;pointer-events:none;background:var(--tinta);color:#fff;font-size:12px;padding:6px 9px;border-radius:6px;opacity:0;transition:opacity .1s;z-index:10}

.vm2 .grid>*{min-width:0}
.vm2 .tabla{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:900px){
  .vm2 .explora{grid-template-columns:1fr}
  .vm2 .mapa svg{height:300px;max-height:none;min-height:0}
  .vm2 .ver-comuna{display:block;margin-top:12px;padding:10px 12px;border-radius:8px;background:var(--acento-suave);color:var(--acento);font-size:13px;font-weight:600;text-align:center;text-decoration:none}
  .vm2 .ficha{border-top:3px solid var(--acento);scroll-margin-top:12px}
}
@media(max-width:820px){.vm2 .grid{grid-template-columns:1fr}.vm2 .dos{grid-template-columns:1fr}.vm2 .kpis{grid-template-columns:1fr 1fr}}
@media(max-width:560px){
  .vm2 h1{font-size:23px}
  .vm2 .mapa svg{height:280px}
  .vm2 .panel{padding:14px}
  .vm2 .cabeza>*{flex:1 1 100%}.vm2 .filtros{gap:10px;flex-wrap:nowrap}.vm2 .filtros>div{flex:1 1 0;min-width:0}.vm2 select{min-width:0;width:100%}
  .vm2 table{font-size:13px}
  .vm2 th{font-size:10px;padding:6px 5px;white-space:normal}
  .vm2 td{padding:8px 5px}
  .vm2 .col-rango{display:none}
  .vm2 .selcomp>div{flex:1 1 0}
  .vm2 .selcomp button{padding:8px 9px}
  .vm2 .kpi b{font-size:18px}
  .vm2 .calc>div{flex:1 1 120px}.vm2 .calc input,.vm2 .calc select{width:100%!important;min-width:0!important}
}
