.mapa-con-panel{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;align-items:start;margin:16px 0 28px}.columna-mapa{gap:10px}.columna-mapa,.selector-comunidad{display:flex;flex-direction:column}.selector-comunidad{gap:4px;font-size:.85rem;font-weight:600;color:var(--text-secondary)}.selector-comunidad select{min-height:44px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;font-size:1rem;font-weight:400}.mapa{width:100%;height:auto;display:block;background:var(--surface);border:1px solid var(--border);border-radius:12px}.region{fill:var(--surface-muted);stroke:var(--surface);stroke-width:1;stroke-linejoin:round;cursor:pointer;transition:fill .15s}.region.con-abiertas{fill:var(--historico)}.region:hover{fill:var(--accent-bg);stroke:var(--accent)}.region.elegida,.region.elegida:hover{fill:var(--resalte)}.region.sin-universidades{fill:var(--surface-muted)}.recuadro{fill:none;stroke:var(--border-strong);stroke-width:1}.zona-recuadro{fill:transparent;cursor:pointer}.zona-recuadro:hover{fill:var(--accent-bg);fill-opacity:.4}.rotulo-recuadro{font-size:11px;fill:var(--text-muted);text-anchor:middle;pointer-events:none}.leyenda-mapa{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0;font-size:.8rem;color:var(--text-secondary)}.muestra-region{display:inline-block;width:12px;height:12px;border-radius:3px;background:var(--surface-muted);border:1px solid var(--border-strong);margin-left:8px}.muestra-region:first-child{margin-left:0}.muestra-region.con-abiertas{background:var(--historico)}.panel-comunidad{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;min-height:200px;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow-y:auto}.panel-comunidad h2{margin:0 0 4px;font-size:1.25rem}.panel-vacio{color:var(--text-secondary)}@media (max-width:760px){.mapa-con-panel{grid-template-columns:minmax(0,1fr)}.panel-comunidad{min-height:0;position:static;max-height:none}}