POLITICA
Uno por uno, así votaron los senadores el proyecto de Inocencia Fiscal II

${status}
`;
}
function createCard(item, borderColor) {
const card = document.createElement(«div»);
card.className = «vs2__card»;
const fotoWrap = document.createElement(«div»);
fotoWrap.className = «vs2__foto»;
if (borderColor) {
fotoWrap.style.borderColor = borderColor;
} else {
fotoWrap.style.opacity = «0.3»;
fotoWrap.style.border = «none»;
}
const img = document.createElement(«img»);
img.loading = «lazy»;
img.decoding = «async»;
img.alt = «foto-senador»;
img.src = » + (item.url_foto || «»);
img.addEventListener(«error», () => {
img.style.opacity = «0.35»;
}, {
once: true
});
fotoWrap.appendChild(img);
const nombre = document.createElement(«p»);
nombre.className = «vs2__nombre»;
nombre.textContent = String(item.nombres || «»).toLowerCase();
const apellido = document.createElement(«p»);
apellido.className = «vs2__apellido»;
apellido.textContent = String(item.apellido || «»).toLowerCase();
const bloque = document.createElement(«span»);
bloque.className = «vs2__bloque»;
bloque.textContent = String(item.bloque || «»);
card.appendChild(fotoWrap);
card.appendChild(nombre);
card.appendChild(apellido);
card.appendChild(bloque);
return card;
}
function seatClass(kind) {
if (kind === «AFIRMATIVO») return «vs2__seat–afirmativo»;
if (kind === «NEGATIVO») return «vs2__seat–negativo»;
if (kind === «ABSTENCIÓN») return «vs2__seat–abstencion»;
if (kind === «AUSENTE») return «vs2__seat–ausente»;
return «vs2__seat–empty»;
}
function hemicicloParams(which) {
if (which === «big») {
return {
centerX: 300,
baseY: 450,
rows: 5,
seatsPerRow: [21, 18, 16, 11, 6],
verticalOffset: 2,
radiusStart: 300,
radiusStep: 55
};
}
return {
centerX: 300,
baseY: 450,
rows: 5,
seatsPerRow: [21, 18, 16, 12, 7],
verticalOffset: 0,
radiusStart: 170,
radiusStep: 30
};
}
function computeRowSeatCounts(seatsPerRow, totals) {
const totalSeats = seatsPerRow.reduce((a, b) => a + b, 0);
return seatsPerRow.map(seatsInRow => {
const exact = {
AFIRMATIVO: (totals.AFIRMATIVO / totalSeats) * seatsInRow,
NEGATIVO: (totals.NEGATIVO / totalSeats) * seatsInRow,
«ABSTENCIÓN»: (totals[«ABSTENCIÓN»] / totalSeats) * seatsInRow,
AUSENTE: (totals.AUSENTE / totalSeats) * seatsInRow
};
const floor = {
AFIRMATIVO: Math.floor(exact.AFIRMATIVO),
NEGATIVO: Math.floor(exact.NEGATIVO),
«ABSTENCIÓN»: Math.floor(exact[«ABSTENCIÓN»]),
AUSENTE: Math.floor(exact.AUSENTE)
};
let assigned = floor.AFIRMATIVO + floor.NEGATIVO + floor[«ABSTENCIÓN»] + floor.AUSENTE;
let diff = seatsInRow – assigned;
const rems = [{
k: «AFIRMATIVO»,
r: exact.AFIRMATIVO – floor.AFIRMATIVO
},
{
k: «NEGATIVO»,
r: exact.NEGATIVO – floor.NEGATIVO
},
{
k: «ABSTENCIÓN»,
r: exact[«ABSTENCIÓN»] – floor[«ABSTENCIÓN»]
},
{
k: «AUSENTE»,
r: exact.AUSENTE – floor.AUSENTE
},
].sort((a, b) => b.r – a.r);
while (diff > 0) {
for (const it of rems) {
if (diff <= 0) break;
floor[it.k] += 1;
diff–;
}
}
return floor;
});
}
function renderHemiciclo(which, totals) {
const el = byRole(which === «big» ? «hemiciclo-big» : «hemiciclo-small»);
if (!el) return;
el.innerHTML = «»;
const p = hemicicloParams(which);
let rowSeatCounts = computeRowSeatCounts(p.seatsPerRow, totals);
const maxSeatsInRow = p.seatsPerRow[0];
for (let col = 0; col < maxSeatsInRow; col++) {
for (let row = 0; row < p.rows; row++) {
if (col >= p.seatsPerRow[row]) continue;
const seatsInThisRow = p.seatsPerRow[row];
const radius = p.radiusStart – row * (p.radiusStep – p.verticalOffset);
const angleRange = Math.PI;
const angleStep = (seatsInThisRow > 1) ? angleRange / (seatsInThisRow – 1) : 0;
const angle = (Math.PI – angleRange) / 2 + col * angleStep;
const x = p.centerX + radius * Math.cos(angle);
const y = p.baseY – radius * Math.sin(angle);
let kind = «EMPTY»;
if (rowSeatCounts[row].AFIRMATIVO > 0) {
kind = «AFIRMATIVO»;
rowSeatCounts[row].AFIRMATIVO–;
} else if (rowSeatCounts[row].NEGATIVO > 0) {
kind = «NEGATIVO»;
rowSeatCounts[row].NEGATIVO–;
} else if (rowSeatCounts[row][«ABSTENCIÓN»] > 0) {
kind = «ABSTENCIÓN»;
rowSeatCounts[row][«ABSTENCIÓN»]–;
} else if (rowSeatCounts[row].AUSENTE > 0) {
kind = «AUSENTE»;
rowSeatCounts[row].AUSENTE–;
}
const seat = document.createElement(«div»);
seat.className = «vs2__seat » + seatClass(kind);
seat.style.left = x + «px»;
seat.style.top = y + «px»;
el.appendChild(seat);
}
}
}
function populateFilters(data) {
const selProv = byRole(«select-provincia»);
const selBloq = byRole(«select-bloque»);
if (!selProv || !selBloq) return;
const provSet = new Set();
const bloqSet = new Map(); // bloque -> full
data.forEach(r => {
if (r.provincia) provSet.add(r.provincia);
if (r.bloque) bloqSet.set(r.bloque, r.bloque_full || r.bloque);
});
Array.from(provSet).sort().forEach(p => {
const opt = document.createElement(«option»);
opt.value = p;
opt.textContent = p;
selProv.appendChild(opt);
});
Array.from(bloqSet.entries())
.sort((a, b) => String(a[0]).localeCompare(String(b[0])))
.forEach(([code, full]) => {
const opt = document.createElement(«option»);
opt.value = code;
opt.textContent = `${full} (${code})`;
selBloq.appendChild(opt);
});
}
function renderFiltered(data, field, value, targetEl) {
targetEl.innerHTML = «»;
const rows = data.filter(r => value === «all» || r[field] === value);
const order = [«AFIRMATIVO», «NEGATIVO», «ABSTENCIÓN», «AUSENTE»];
const colorBy = {
AFIRMATIVO: «#00A377»,
NEGATIVO: «#c90808»,
«ABSTENCIÓN»: «#444″,
AUSENTE: null
};
order.forEach(voto => {
rows.filter(r => normalizeVoto(r.voto) === voto).forEach(r => {
targetEl.appendChild(createCard(r, colorBy[voto]));
});
});
}
function wireUI(data) {
// toggles
$$(‘[data-role=»section»], [data-role=»filter-provincia»], [data-role=»filter-bloque»]’).forEach(sec => {
const btn = sec.querySelector(‘[data-role=»toggle»]’);
if (!btn) return;
btn.addEventListener(«click», () => {
const open = sec.getAttribute(«data-open») !== «true»;
openPanel(sec, open);
});
});
// abrir por defecto secciones principales, y dejar filtros cerrados
$$(‘[data-role=»section»]’).forEach(sec => openPanel(sec, true));
$$(‘[data-role=»filter-provincia»], [data-role=»filter-bloque»]’).forEach(sec => openPanel(sec, false));
// go top
const goTop = byRole(«go-top»);
if (goTop) {
goTop.addEventListener(«click», () => root.scrollIntoView({
behavior: «smooth»
}));
const obs = new IntersectionObserver((entries) => {
entries.forEach(e => {
goTop.style.display = e.isIntersecting ? «block» : «none»;
});
}, {
threshold: 0.1
});
obs.observe(root);
}
// filtros
const selProv = byRole(«select-provincia»);
const selBloq = byRole(«select-bloque»);
const provOut = byRole(«provincia-results»);
const bloqOut = byRole(«bloque-results»);
if (selProv && provOut) {
selProv.addEventListener(«change», (e) => {
renderFiltered(data, «provincia», e.target.value, provOut);
const sec = byRole(«filter-provincia»);
if (sec) openPanel(sec, true);
});
}
if (selBloq && bloqOut) {
selBloq.addEventListener(«change», (e) => {
renderFiltered(data, «bloque», e.target.value, bloqOut);
const sec = byRole(«filter-bloque»);
if (sec) openPanel(sec, true);
});
}
}
async function init() {
setLoaded(false);
const csvUrl = root.dataset.csvUrl;
if (!csvUrl) {
const summary = byRole(«summary»);
if (summary) summary.innerHTML = `
Error: falta data-csv-url
`;
return;
}
try {
const Papa = await ensurePapa();
Papa.parse(csvUrl, {
download: true,
header: true,
skipEmptyLines: true,
complete: function(res) {
const data = (res && res.data) ? res.data : [];
// panels por voto
const panelByVote = {};
$$(‘[data-role=»section»]’).forEach(sec => {
const voto = sec.getAttribute(«data-voto»);
const panel = sec.querySelector(‘[data-role=»panel»]’);
if (voto && panel) panelByVote[voto] = panel;
});
const counts = {
AFIRMATIVO: 0,
NEGATIVO: 0,
«ABSTENCIÓN»: 0,
AUSENTE: 0
};
const colorBy = {
AFIRMATIVO: «#00A377»,
NEGATIVO: «#c90808»,
«ABSTENCIÓN»: «#444″,
AUSENTE: null
};
data.forEach(row => {
const voto = normalizeVoto(row.voto);
if (!counts.hasOwnProperty(voto)) return;
counts[voto]++;
const panel = panelByVote[voto];
if (panel) {
panel.appendChild(createCard(row, colorBy[voto]));
}
});
// counts en UI
$$(‘[data-role=»count»]’).forEach(el => {
const k = el.getAttribute(«data-kind»);
if (k && counts.hasOwnProperty(k)) el.textContent = String(counts[k]);
});
// hemiciclo + summary
renderHemiciclo(«big», counts);
renderHemiciclo(«small», counts);
renderSummary(counts);
// filtros + ui
populateFilters(data);
wireUI(data);
setLoaded(true);
// recalcular heights en secciones abiertas
$$(‘[data-role=»section»]’).forEach(sec => openPanel(sec, true));
}
});
} catch (err) {
console.error(err);
const summary = byRole(«summary»);
if (summary) {
summary.innerHTML = `
Error: ${escapeHtml(err.message || err)}
`;
}
}
}
init();
})();
POLITICA
Los docentes de la UBA confirmaron una nueva marcha federal universitaria tras el fracaso de las paritarias

Los docentes y nodocentes universitarios confirmaron que realizarán una nueva Marcha Federal Universitaria tras las truncadas negociaciones entre los gremios y el Ministerio de Capital Humano. Desde la Universidad de Buenos Aires (UBA) pidieron que se convalide el 32,5% que estipula la Ley de Financiamiento y fue rechazado por el Gobierno.
En un comunicado, la Asociación de Docentes de la Universidad de Buenos Aires (ADUBA) y la Asociación del Personal de la UBA (APUBA) anunciaron que realizarán un paro de 23 días de forma escalonada y anticiparon que el próximo 15 de octubre se movilizarán al Palacio de Tribunales para llevar a cabo la quinta edición de la movilización.
Según señalaron, la medida de fuerza se lleva a cabo tras el “incumplimiento sistemático de la Ley de Financiamiento Universitario por parte del Gobierno” y adelantaron que durante el paro escalonado “se realizará de forma rotativa y con actividades de visibilización en cada repartición y unidad académica entre el lunes 21 del corriente y el jueves 22 de octubre”.
“No podemos normalizar que un gobierno decida caprichosamente que ley cumple y cuál no. En democracia la ley se cumple. La Corte Suprema se manifestó en el mismo sentido que el Congreso de la Nación, y no tiene sanción incumplir una orden judicial. Hablamos de dos poderes de la República que este gobierno no respeta”, señaló el secretario general de ADUBA, Emiliano Cagnacci.

El conflicto tiene como telón de fondo el fracaso de la ronda paritaria celebrada este jueves en el Palacio Pizzurno, convocada por la Secretaría de Educación. La cartera ofreció un incremento del 3% para septiembre y otro 3% para octubre, una propuesta que todos los sindicatos rechazaron de forma unánime. Los representantes gremiales reclamaron, además de esos porcentajes, una recomposición del 32,5% que los salarios perdieron durante los primeros años de la administración de Javier Milei, tal como establece la Ley de Financiamiento Universitario. La oferta del Ministerio de Capital Humano fue idéntica a la presentada a comienzos de mes y el resultado no fue distinto.
“Seguimos insistiendo en que el Gobierno tiene que cumplir en democracia con la Ley de Financiamiento Universitario. Ya hay dos poderes de la Nación, el Legislativo y el Judicial, que dicen que tiene que cumplir. Nunca se ha visto que el Ejecutivo se niegue a aplicar algo que ya fue convalidado por los otros dos poderes”, declaró a Infobae el secretario general de la Federación de Docentes de las Universidades (FEDUN), Daniel Ricci.
Los universitarios se apoyan en el fallo del juez en lo Contencioso Administrativo Federal Martín Cormick, quien ordenó en diciembre pasado que el Ejecutivo cumpla los artículos 5 y 6 de la Ley 27.795, que regulan las actualizaciones salariales y presupuestarias. El 1 de septiembre, Cormick rechazó el pedido oficial para dejar sin efecto esa cautelar, y la Corte Suprema terminó confirmando su vigencia el 25 de junio.
El Consejo Interuniversitario Nacional (CIN) sostiene que el Ejecutivo no cumplió plenamente ninguno de los dos artículos, pese a la medida judicial vigente, y avanza en una demanda contra el decreto con el que Milei promulgó la norma, pero suspendió su ejecución al argumentar que no existían recursos asignados ni fuente de financiamiento definida. Las universidades solicitaron además que se apliquen multas a funcionarios y que se evalúe una causa penal por presunta desobediencia.
Cagnacci fue más allá en su caracterización del conflicto: “Están desfinanciando la educación pública y ahogando a trabajadoras y trabajadores universitarios. Esto nos va a convertir en un país con menos profesionales, menos oportunidades de ascenso social y al mismo tiempo se construye un futuro incierto. La sociedad no votó para dañar a la Universidad”.

El paro rotativo comenzará el lunes 21 de septiembre con una jornada en el Rectorado y se extenderá de forma escalonada durante cinco semanas, con una repartición o unidad académica diferente por día. La primera semana, del 21 al 25 de septiembre, abarcará el Rectorado (lunes 21), la Facultad de Medicina (martes 22), la Facultad de Arquitectura, Diseño y Urbanismo (FADU, miércoles 23), la Facultad de Farmacia y Bioquímica (jueves 24) y la Facultad de Ingeniería (viernes 25).
La segunda semana, del 28 de septiembre al 2 de octubre, le tocará el turno a la Facultad de Ciencias Exactas y Naturales (lunes 28), el Centro Cultural Rojas (martes 29), la Facultad de Ciencias Económicas (miércoles 30), la Facultad de Derecho (jueves 1) y la Facultad de Odontología (viernes 2). En la tercera semana, del 5 al 9 de octubre, cesarán actividades el Colegio Nacional de Buenos Aires (lunes 5), el DOSUBA (martes 6), la Facultad de Psicología (miércoles 7), la Facultad de Ciencias Sociales (jueves 8) y la Escuela Carlos Pellegrini (viernes 9).
La cuarta semana, del 12 al 16 de octubre, contempla la Coordinación de Deportes (martes 13), la Facultad de Filosofía y Letras (jueves 15) y la Facultad de Ciencias Veterinarias (viernes 16). El ciclo de medidas concluirá en la quinta semana, del 19 al 23 de octubre, con el CBC y la Facultad de Agronomía (lunes 19), el Instituto Lanari-Vaccarezza (martes 20), el Instituto Roffo (miércoles 21) y el Hospital de Clínicas (jueves 22).
La marcha del 15 de octubre frente al Palacio de Tribunales será la quinta movilización federal en defensa de la universidad pública desde el inicio de la gestión de Milei y la segunda en lo que va del año. En paralelo, desde el CIN comienza a evaluarse la posibilidad de advertir que el inicio del ciclo lectivo 2027 podría estar en riesgo, un argumento que algunos gobernadores podrían trasladar al Gobierno dada la presencia territorial de las más de 50 universidades de gestión nacional en todo el país.
POLITICA
Un fiscal pide reabrir la causa por el préstamo de US$57.000 millones que Macri acordó con el FMI

El fiscal de Cámara José Agüero Iturbe pidió revisar el cierre de la causa por el préstamo de US$57.100 millones acordado con el Fondo Monetario Internacional (FMI) durante el gobierno de Mauricio Macri, en 2018.
La investigación alcanzó al expresidente Macri y a exfuncionarios de Cambiemos como Luis Caputo, Nicolás Dujovne, Federico Sturzenegger y Guido Sandleris. La causa fue archivada por la jueza María Eugenia Capuchetti y esa decisión fue luego confirmada por la Sala I de la Cámara Federal, reconfigurada recientemente por el Gobierno de Javier Milei, donde Caputo y Sturzenegger son ministros.
En el escrito que hoy presentó ante la Casación, el fiscal Agüero Iturbe sostuvo que el cierre fue “prematuro” y “arbitrario”. En línea con el fiscal Franco Picardi, consideró que aún restaban poner en marcha medidas.
“Existiendo impulso fiscal y medidas de instrucción por ejecutar, el juez no puede arbitrariamente archivar por inexistencia de delito sin efectuar cuanto menos las diligencias que permitan circunscribir el objeto procesal”, marcó el fiscal.
Quienes ratificaron la decisión de archivar el caso fueron los jueces Mariano Llorens y Pablo Bertuzzi −poco antes revalidado como camarista− luego de que se hiciera efectivo el nombramiento de su nuevo colega Pablo Yadarola.
Los jueces entendieron que se trató de una decisión política y que la fiscalía a cargo de Franco Picardi no logró probar la existencia de delitos. “Existen materias propias de los poderes del Estado que escapan al control judicial”, argumentaron.
El fiscal Picardi había criticado la decisión de la jueza. Con respaldo en un informe de 2020 de la Auditoría General de la Nación (AGN), enumeró incumplimientos en el trámite, objeciones sobre la sustentabilidad de la deuda y supuestas irregularidades administrativas, entre ellas la falta de un decreto presidencial que formalizara el acuerdo.
La decisión, ahora, será de la Casación. En la causa ya había intervenido la Sala IV.
El préstamo
En junio de 2018, la gestión de Cambiemos firmó con el FMI el mayor acuerdo en la historia del organismo financiero: en un principio fue por casi US$43.000 millones, pero en septiembre de 2018 se renegoció y el monto se amplió a 57.100 millones de dólares.
El Frente de Todos se terminó imponiendo en las elecciones de 2019 y el FMI suspendió los últimos desembolsos, por lo que el préstamo no se cumplió en su totalidad.
El repago de la deuda contemplaba un esquema de vencimientos que rige hasta al día de hoy.
pidió revisar el cierre,Mauricio Macri,Christine Lagarde,Luis Caputo,Conforme a
POLITICA
Santilli se reunió los gobernadores de Jujuy y Tierra del Fuego para seguir las negociaciones por el Presupuesto 2027 y la reforma electoral

El jefe de Gabinete, Diego Santilli, se reunió este jueves con el gobernador de Jujuy, Carlos Sadir, y por la tarde recibió al de Tierra del Fuego, Gustavo Melella, en medio de las negociaciones que profundizó con las provincias para reunir apoyos al Presupuesto 2027 y a la reforma electoral que impulsa el oficialismo en el Congreso.
El primero de los dos encuentros se celebró entre las 10 y las 12 en el Ministerio de Economía junto Luis Caputo y otros funcionarios de la cartera: el secretario de Coordinación de Infraestructura, Fernando Herrmann; y el secretario de Obras Públicas, Bernardo Heredia.
Según aseguró Sadir en sus redes, la reunión fue “positiva” y sirvió para plantear las “necesidades y urgencias” de su provincia, junto con los proyectos y las obras públicas que reclama su gestión. “Seguimos trabajando para avanzar en soluciones concretas y mejorar la calidad de vida de nuestra gente”, señaló el jujeño.
Por su parte, fuentes oficiales agregaron que Santilli y Caputo repasaron los principales temas de la agenda conjunta entre el Gobierno nacional y la provincia, así como los proyectos legislativos y el estado general de la relación entre ambas jurisdicciones.
La ronda de encuentros continuó por la tarde, cuando el ministro coordinador recibió a las 17 a Melella en la Casa Rosada. Se trata de uno de los gobernadores enfrentados políticamente con el Gobierno, aunque con mejor diálogo con el oficialismo que otras figuras del kirchnerismo como Axel Kicillof o Gildo Insfrán. De hecho, el fueguino viene de recibir al canciller Pablo Quirno y al ministro de Defensa, Carlos Presti, el viernes pasado en la gobernación de Ushuaia, durante la visita de los funcionarios a la Base Naval Integrada que el Gobierno prevé construir en esa ciudad.
Tras el encuentro, Melella confirmó que acompañará el proyecto de Mavilnas y el Presupuesto 2027 presentados por el Gobierno nacional. También confirmó que está a favor de eliminar las PASO. Los votos de los legisladores fueguinos son clave para el avance de las iniciativas del oficialismo en el Congreso.
“Creo que hay que acompañar el Presupuesto. Es una herramienta que uno presenta y que se trabaja entre todos, pero se pueden corregir los puntos de discapacidad y universidades públicas”, planteó Melella al finalizar la reunión con Santilli. También confirmó que “el proyecto de Malvinas la idea es acompañarlo en el Congreso”.
Respecto del vínculo de Tierra del Fuego con la Administración central, dijo que su planteo es financiero. “Bajó la coparticipación y la recaudación propia; la industria está muy lastimada y eso son menos recursos; también tenés menos acciones del Gobierno que asume la provincia, entonces también aumenta la demanda. Hay un reordenamiento fiscal, pero necesitamos el reacomodamiento de la coparticipación”, afirmó.
Inicialmente, la jornada también preveía un encuentro con el gobernador de Chaco, Leandro Zdero. Sin embargo, a último momento la reunión fue postergada para el 24 de septiembre, debido a que el mandatario radical tiene previsto encabezar este mismo jueves una reunión del Comité de Emergencia de su gestión junto a funcionarios provinciales, organizaciones no gubernamentales e instituciones locales, para coordinar las acciones frente al fenómeno climático “El Niño”.
Una semana de encuentros con gobernadores
La reunión con Sadir y Melella se suma a una serie de encuentros que Santilli viene sosteniendo con mandatarios provinciales desde el inicio de la semana. El martes, el jefe de Gabinete y Caputo recibieron en el Ministerio de Economía al gobernador de Neuquén, Rolando Figueroa, para firmar convenios de mantenimiento y mejora de obras viales en su distrito; además, le ratificaron que la provincia patagónica seguirá bajo el paraguas de subsidios del régimen de Zona Fría.
Al día siguiente, Santilli recibió en Casa Rosada a otros cuatro gobernadores: Raúl Jalil (Catamarca), Osvaldo Jaldo (Tucumán), Gustavo Sáenz (Salta) y Juan Pablo Valdés (Corrientes). Ese encuentro se centró en reclamos regionales, como el estado de las rutas nacionales en sus provincias y la creación de una Zona Cálida —un régimen de subsidios a la electricidad durante el verano— que los mandatarios del Norte Grande condicionan a acompañar la reducción del régimen de Zona Fría que impulsa el oficialismo. Jaldo, el único que habló con la prensa tras esa reunión, pidió que el Presupuesto tenga “carácter federal” y contemple partidas específicas para obras en las provincias.
ECONOMIA3 días agoEl BCRA equipara reglas y exige más requisitos a fintech para competir con bancos
ECONOMIA2 días agoAutos eléctricos e híbridos: cuánto cuesta cargarlos en casa, cuánto demora y qué se necesita para instalar el equipo
ECONOMIA2 días agoA la espera del dato oficial, estiman que en el primer semestre al menos 1,5 millón de argentinos cayeron en la pobreza













