/* Contenido de la propuesta. Chrome copiado desde monitor-ui; sin clases mu-* aquí. */
*{box-sizing:border-box}body{margin:0}
:root{--paso-verde-fondo:#F5FAF7;--paso-verde-texto:#166534;--paso-rojo-fondo:#FAF4F4;--paso-rojo-texto:#991B1B;--paso-neutro-fondo:#F4F5F6;--paso-amarillo-fondo:#FAF9F5;--paso-amarillo-texto:#854D0E}
#contenido{max-width:1100px;margin:0 auto;padding:24px 16px;min-width:0;font-size:14px}
#contenido>*{min-width:0;max-width:100%}#contenido p{font-size:13px;font-weight:300;line-height:1.7;color:var(--muted)}
#contenido a{color:var(--blue-dark)}#contenido .controls{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0}
#contenido label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:500;min-width:0}
#contenido select,#contenido input,#contenido button{font-family:inherit;color:var(--ink);font-size:13px}
#contenido select,#contenido input{border:1px solid var(--line);background:var(--white);border-radius:8px;padding:10px 12px;min-height:44px;max-width:100%}
#contenido button{cursor:pointer;background:var(--white);border:1px solid var(--line);border-radius:8px;padding:8px 16px;min-height:44px;font-weight:600}
#contenido .context{background:var(--blue-light);border-left:3px solid var(--primary);padding:16px;font-size:13px;line-height:1.7;border-radius:0 8px 8px 0}
/* Recuadro 2026–2027: «Cómo leer los datos» visible; fuentes y metodología plegables. */
#contenido .context{padding:20px}
#contenido .context .context-title{margin:0 0 4px;font-size:16px;font-weight:700;line-height:1.4;color:var(--ink)}
#contenido .context .context-lead{margin:0 0 8px;font-size:14px;font-weight:400;line-height:1.6;color:var(--ink)}
#contenido .context .foot,#contenido .context .method p,#contenido .context .method li{color:var(--ink)}#contenido .context .method,#contenido .context .foot,#contenido .context #context{max-width:820px}
#contenido .context .foot{margin:8px 0 0;font-size:13px}#contenido .context .foot b{font-weight:600}
#contenido .context .context-notes{margin:16px 0 0;padding:4px 0 0;border-top:1px solid var(--line)}
#contenido .context .method h4{margin:16px 0 4px;font-size:13px;font-weight:700;color:var(--ink)}#contenido .context .method h4:first-child{margin-top:4px}
#contenido .context .method p{margin:0 0 8px}
#contenido .context .context-notes summary{display:flex;align-items:center;gap:8px;min-height:40px;font-size:13px;font-weight:600;color:var(--blue-dark);list-style:none}
#contenido .context .context-notes summary::-webkit-details-marker{display:none}
#contenido .context .context-notes summary::before{content:'';width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s}
#contenido .context .context-notes[open] summary::before{transform:rotate(45deg)}
#contenido .context .context-notes ul{margin:4px 0 4px;padding-left:18px;max-width:820px}
#contenido .context .context-notes li{margin:0 0 6px;font-size:13px;line-height:1.6;color:var(--ink)}
#contenido .totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px;margin:24px 0}
/* min-width:0 mantiene cifras largas dentro de su KPI. */
#contenido .total{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--white);min-width:0;container-type:inline-size}
#contenido .total small{display:block;min-height:28px;font:10px/14px 'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
#contenido .total strong{display:block;font-size:clamp(26px,13cqi,38px);font-weight:800;line-height:1.05;margin:12px 0}
#contenido .total span{font-size:13px;color:var(--muted)}
#contenido .toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin:24px 0 12px}
#contenido .search-box{width:540px;max-width:100%}#contenido .toolbar input{width:100%}
#contenido #download{background:var(--primary);border-color:var(--primary);color:var(--white)}#contenido #download:hover{background:var(--blue-dark)}
#contenido .scroll{overflow:auto;max-width:100%;max-height:75vh;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:12px;background:var(--white)}
#contenido .data-table{width:100%;border-collapse:collapse;min-width:760px}
#contenido .data-table th{font:10px/14px 'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:10px 6px;background:var(--bg);border-bottom:1px solid var(--line);text-align:right}
#contenido .data-table th button{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;padding:0;background:none;border:0;min-height:44px}
#contenido .data-table td{padding:10px 6px;border-bottom:1px solid var(--line);font:13px 'JetBrains Mono',monospace;font-variant-numeric:tabular-nums;text-align:right}
#contenido .data-table td:first-child,#contenido .data-table th:first-child{text-align:left;width:260px;min-width:220px;font-family:'Hanken Grotesk',system-ui,sans-serif}
:where(#contenido .data-table tbody tr){background:var(--white)}#contenido .data-table tr:hover{background:var(--bg)}
#contenido .data-table thead th{position:sticky;top:0;z-index:10}
#contenido .data-table .name{background:none;border:0;padding:0;text-align:left;font-size:13px;font-weight:500}
#contenido .meta,#contenido .data-table small{display:block;font:10px/14px 'JetBrains Mono',monospace;color:var(--muted);margin-top:6px}
#contenido .up{color:var(--paso-verde-texto)}#contenido .down{color:var(--paso-rojo-texto)}#contenido .upcell{background:var(--paso-verde-fondo)}#contenido .downcell{background:var(--paso-rojo-fondo)}
#contenido .missing{color:var(--muted);background:var(--paso-neutro-fondo)}#contenido .reorg{color:var(--paso-amarillo-texto)}
#contenido .national,#contenido .national td{background:var(--blue-light);font-weight:500}#contenido .gap{background:var(--paso-amarillo-fondo)}#contenido .detail{background:var(--bg)}#contenido .detail td:first-child{padding-left:24px}
#contenido .shade{background:var(--bg)}#contenido .bar{height:3px;background:var(--primary);margin-top:8px;border-radius:3px}
#contenido .legend,#contenido .foot{font-size:13px;color:var(--muted);line-height:1.7;margin:16px 0}#contenido .empty{padding:24px;font-family:inherit;text-align:center;color:var(--muted)}
#contenido .matrix{min-width:1160px}#contenido .matrix th{min-width:150px}#contenido .matrix td{height:64px}
#contenido .choices{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}#contenido .choices label{flex-direction:row;align-items:center;border:1px solid var(--line);border-radius:8px;padding:8px 12px;min-height:44px;background:var(--white);font:11px 'JetBrains Mono',monospace}#contenido .choices input{padding:0;margin:0;min-height:0;accent-color:var(--primary)}
#contenido details{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}#contenido summary{cursor:pointer;font-weight:600;min-height:44px}#contenido .method{max-width:720px}
@media(min-width:640px){#contenido{padding:40px 24px}}
@media(min-width:768px){#contenido .data-table td,#contenido .data-table th{padding:12px 8px}}
@media(max-width:767px){
/* background:inherit respeta filas coloreadas; z-index 11 sobre thead 10. */
#contenido .data-table th:first-child,#contenido .data-table td:first-child{position:sticky;left:0;background:inherit;box-shadow:1px 0 0 var(--line);min-width:150px;width:150px;max-width:150px}
#contenido .data-table td:first-child{z-index:1}#contenido .data-table th:first-child{z-index:11}#contenido .search-box{width:100%}#contenido .controls label{width:100%}#contenido select{width:100%}}
/* Matriz más ancha que 1100px: fija identificador también en escritorio.
   Excepción acotada a esta matriz, necesaria para leer las transiciones laterales. */
#contenido .matrix th:first-child,#contenido .matrix td:first-child{position:sticky;left:0;background:inherit;box-shadow:1px 0 0 var(--line)}
#contenido .matrix td:first-child{z-index:1}#contenido .matrix th:first-child{z-index:11}
/* Documentary 2026–2027 detail; template styles are replaced by monitor_skin. */
body[data-project="true"] #contenido .diff-column{display:none}
#contenido .currency-control{display:none}
body[data-project="true"] #contenido .currency-control{display:flex}
/* En 2026–2027 el monto es siempre nominal: el selector no tiene opciones. */
body[data-project="true"] #contenido .money-control{display:none}
#contenido .data-table .service td{background:var(--bg);font-weight:600}
#contenido .data-table .program td:first-child{padding-left:42px}
#contenido .data-table .programa_subtitulo td:first-child{padding-left:58px}

#contenido .view-control{display:none}
body[data-project="true"] #contenido .view-control{display:flex}

#contenido .transition-control{display:none}

#contenido .search-wrap{position:relative;max-width:100%;width:340px}#contenido .search-box .search-wrap{width:100%}
#contenido #search-results{position:absolute;top:100%;left:0;right:0;z-index:30;max-height:440px;overflow:auto;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 28px #0002}
#contenido #search-results[hidden]{display:none}
#contenido .search-option{display:block;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;padding:14px 16px;background:white;font-size:14px;line-height:1.5}
#contenido .search-option:hover,#contenido .search-option:focus-visible{background:#e8f0fe}
#contenido .search-option strong{display:block}
#contenido .search-option span{display:block;color:var(--muted);font-size:12px}
#contenido .search-wrap input{width:100%}

/* Tabla 2026–2027: nombre ancho, cifras alineadas a la primera línea y unidad atenuada. */
#contenido .data-table{table-layout:auto}
#contenido .data-table th{padding:0 12px;vertical-align:middle;white-space:nowrap}
#contenido .data-table th button{min-height:44px}
#contenido .data-table td{padding:14px 12px;vertical-align:top;line-height:20px;white-space:nowrap}
#contenido .data-table td:first-child,#contenido .data-table th:first-child{width:44%;min-width:280px;white-space:normal}
#contenido .data-table td:first-child{padding-left:16px}#contenido .data-table th:first-child{padding-left:16px}
#contenido .data-table .name{font-size:14px;font-weight:600;line-height:20px;color:var(--ink);display:inline-flex;gap:8px;align-items:baseline;min-height:0;text-align:left}
#contenido .data-table .name:hover{color:var(--primary)}
#contenido .data-table .name:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}
#contenido .data-table .meta{margin-top:4px;line-height:16px}
#contenido .data-table .meta a{white-space:nowrap;color:var(--muted);text-decoration-color:var(--line)}
#contenido .data-table .meta a:hover{color:var(--blue-dark)}
#contenido .data-table .unit{display:inline-block;width:7.5em;margin-left:4px;text-align:left;font-size:11px;color:var(--muted);letter-spacing:0}
#contenido .data-table tbody tr:hover{background:var(--bg)}
#contenido .pill{display:inline-block;min-width:64px;padding:0 8px;border-radius:999px;font-weight:500;text-align:right}
#contenido .pill.up{background:var(--paso-verde-fondo)}#contenido .pill.down{background:var(--paso-rojo-fondo)}
#contenido .data-table .detail td:first-child{padding-left:32px}
#contenido .data-table .program td:first-child{padding-left:48px}
#contenido .data-table .programa_subtitulo td:first-child{padding-left:64px}
@media(max-width:767px){#contenido .data-table td:first-child,#contenido .data-table th:first-child{min-width:170px;width:170px;max-width:170px}#contenido .data-table tbody tr:not(.detail) td:first-child{background:var(--white)}#contenido .data-table .name{font-size:13px}}

/* Ministerios como entrada principal; partida/capítulo/moneda quedan como opción técnica. */
body[data-project="true"] #contenido .money-control{display:none}
#contenido .table-title{font-size:16px;font-weight:600;margin:40px 0 4px}
@media(min-width:768px){#contenido .table-title{font-size:18px}}
#contenido .tech-options{margin:8px 0 0;border:0;padding:0}
#contenido .tech-options summary{line-height:44px;font-size:13px;font-weight:500;color:var(--muted)}
#contenido .tech-options .controls{margin:8px 0 16px}
#contenido .legend{font-size:14px;color:var(--ink)}
#contenido .scroll+.context{margin-top:16px}

/* Ícono de sector por ministerio (Lucide, ISC), a la izquierda del nombre y su meta. */
#contenido .data-table td.has-icon{position:relative;padding-left:64px}
#contenido .ministry-icon{position:absolute;left:16px;top:12px;width:36px;height:36px;padding:8px;border-radius:10px;background:var(--blue-light);color:var(--primary);fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:767px){#contenido .data-table td.has-icon{padding-left:48px}#contenido .ministry-icon{left:8px;width:32px;height:32px;padding:7px}}

/* Encabezado de tabla: título + instrucción, y una sola barra: buscar · filtros · descarga (secundaria). */
#contenido .table-head{margin:40px 0 16px}
#contenido .table-head .table-title{margin:0 0 4px}
/* Portada: la vista 2026–2027 abre con su propio título de sección sobre «Ministerios».
   Escala normada (monitor-ui §3.2): sección 18→22px/600, siempre bajo el h1 del hero;
   los títulos de tabla quedan un escalón más abajo. */
#contenido .section-title{font-size:18px;font-weight:600;line-height:1.2;letter-spacing:-.01em;margin:8px 0 16px;color:var(--ink)}
#contenido .section-title+.table-head,#contenido .section-sub+.table-head{margin-top:0}
/* En la vista 2026–2027 el título de sección basta: el «Ministerios» y su bajada se ocultan. */
body[data-project="true"] #contenido .section-sub+.table-head{display:none}
#contenido .section-sub{margin:-8px 0 20px;max-width:720px;font-size:14px;line-height:1.6;color:var(--muted)}
@media(min-width:768px){#contenido .section-title{font-size:22px;margin:16px 0 24px}}
#contenido .table-head .legend{margin:0;font-size:14px;color:var(--muted);max-width:720px}
#contenido .toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px}
#contenido .toolbar .search-wrap{flex:1 1 320px;width:auto;max-width:440px}
#contenido .toolbar .controls{display:flex;gap:12px;margin:0;flex-wrap:wrap}
#contenido .toolbar .controls label{flex-direction:row;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--muted);white-space:nowrap}
#contenido .toolbar .controls select{min-height:44px;padding:8px 38px 8px 14px}
#contenido .toolbar #download{margin-left:auto;background:var(--white);border-color:var(--line);color:var(--ink);font-weight:500}
#contenido .toolbar #download:hover{background:var(--bg);border-color:var(--primary);color:var(--primary)}
@media(max-width:767px){
#contenido .toolbar .search-wrap{flex-basis:100%;max-width:none}
#contenido .toolbar .controls{width:100%}
#contenido .toolbar .controls label{flex:1 1 0;flex-direction:column;align-items:stretch;gap:4px}
#contenido .toolbar #download{width:100%;margin-left:0}}
@media(max-width:767px){#contenido .data-table thead th:first-child{background:var(--bg)}}

/* Cifras en el hero, como en la portada (.mu-home en chrome.css); #totals queda vacío. */
body[data-project="true"] .mu-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,370px);gap:40px;align-items:center}
body[data-project="true"] .mu-hero-kpis{display:grid;gap:10px;padding-left:14px}
body[data-project="true"] .mu-kpi{padding:14px 18px;outline-offset:2px}
body[data-project="true"] .mu-kpi-val{font-size:clamp(22px,2.2vw,26px)}
body[data-project="true"] .mu-kpi-lbl{margin-top:6px}
body[data-project="true"] .mu-kpi-per{letter-spacing:.02em;line-height:1.4}
body[data-project="true"] .mu-kpi-per a{color:var(--blue-dark)}
body[data-project="true"] #contenido .totals:empty{display:none}
@media(max-width:899px){
body[data-project="true"] .mu-hero-grid{grid-template-columns:minmax(0,1fr);gap:24px}
body[data-project="true"] .mu-hero-kpis{padding-left:0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}

/* Jerarquía: cada nivel arranca bajo el texto de su padre y lleva guías verticales
   que bajan desde el ícono del ministerio y desde el ▸ del organismo. */
#contenido .data-table tr.detail,#contenido .data-table tr.detail td{background:var(--white)}
#contenido .data-table tr.detail td{border-bottom-color:#eef0f2}
#contenido .data-table tr[data-level="partida"]:has(+tr.detail) td{background:var(--blue-light);border-bottom-color:transparent}
#contenido .data-table tr.detail td:first-child{--g:linear-gradient(var(--line),var(--line));background-repeat:no-repeat;background-size:1px 100%}
#contenido .data-table tr[data-level="servicio"] td:first-child,#contenido .data-table tr[data-level="partida_subtitulo"] td:first-child{padding-left:64px;background-image:var(--g);background-position:34px 0}
#contenido .data-table tr[data-level="programa"] td:first-child{padding-left:84px;background-image:var(--g),var(--g);background-position:34px 0,68px 0}
#contenido .data-table tr[data-level="programa_subtitulo"] td:first-child{padding-left:104px;background-image:var(--g),var(--g),var(--g);background-position:34px 0,68px 0,88px 0}
#contenido .data-table tr[data-level="servicio"] .name{font-size:14px;font-weight:600}
#contenido .data-table tr[data-level="programa"] .name,#contenido .data-table tr[data-level="programa"] td:first-child{font-size:13px;font-weight:500}
#contenido .data-table tr[data-level="programa_subtitulo"] td:first-child,#contenido .data-table tr[data-level="partida_subtitulo"] td:first-child{font-size:13px;font-weight:400;color:var(--muted)}
#contenido .data-table tr.detail td:not(:first-child){font-size:12px}
@media(max-width:767px){
#contenido .data-table tr[data-level="servicio"] td:first-child,#contenido .data-table tr[data-level="partida_subtitulo"] td:first-child{padding-left:48px;background-position:24px 0}
#contenido .data-table tr[data-level="programa"] td:first-child{padding-left:60px;background-position:24px 0,52px 0}
#contenido .data-table tr[data-level="programa_subtitulo"] td:first-child{padding-left:72px;background-position:24px 0,52px 0,64px 0}}

/* Cifras del hero apiladas: la destacada al frente, las demás asoman detrás (data-pos lo pone comparador.js). */
body[data-project="true"] .mu-hero-kpis{display:grid;padding:28px 0 0}
body[data-project="true"] .mu-kpi{grid-area:1/1;align-self:stretch;background:rgb(255 255 255 / .9);transform-origin:50% 0;transition:opacity .5s ease,transform .5s ease}
body[data-project="true"] .mu-kpi[data-pos="0"]{z-index:3;opacity:1;transform:none}
body[data-project="true"] .mu-kpi[data-pos="1"]{z-index:2;opacity:.6;transform:translateY(-14px) scale(.95)}
body[data-project="true"] .mu-kpi[data-pos="2"]{z-index:1;opacity:.35;transform:translateY(-28px) scale(.9)}
@media(max-width:899px){body[data-project="true"] .mu-hero-kpis{grid-template-columns:minmax(0,420px)}}
body[data-project="true"] .mu-kpi>*{transition:opacity .3s ease}
body[data-project="true"] .mu-kpi:not([data-pos="0"])>*{opacity:0}
body[data-project="true"] .mu-kpi:not([data-pos="0"]){box-shadow:0 4px 12px rgb(23 27 33 / .06)}
body[data-project="true"] .mu-kpi[data-pos="1"]{opacity:.9;border-color:var(--line)}
body[data-project="true"] .mu-kpi[data-pos="2"]{opacity:.7;border-color:var(--line)}
/* Ministerios pegado al hero: el padding de #contenido ya da el aire. */
#contenido .table-head{margin-top:0}
@media(min-width:640px){body[data-project="true"] #contenido{padding-top:32px}}

/* Selects: mismo chevrón que el Monitor (monitor-ui/assets/content.css), a 12px del borde. */
#contenido select{appearance:none;-webkit-appearance:none;cursor:pointer;padding:8px 38px 8px 14px;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23626A78' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:14px 14px}
#contenido :is(select,input):hover{border-color:var(--muted)}
#contenido :is(select,input):focus-visible{outline:2px solid var(--primary);outline-offset:2px}

/* Fuentes (abren el documento en otra pestaña) como etiquetas. */
#contenido .data-table .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
#contenido .data-table .meta a.tag{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--muted);text-decoration:none;font-size:10px;line-height:16px;white-space:nowrap}
#contenido .data-table .meta a.tag:hover{border-color:var(--primary);color:var(--primary);background:var(--blue-light)}
#contenido .data-table .meta a.tag:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
/* Código de partida en la misma línea que el nombre del ministerio. */
#contenido .data-table .code{margin-left:6px;font:10px/20px 'JetBrains Mono',monospace;color:var(--muted);white-space:nowrap}
#contenido .data-table .meta:empty{display:none}
/* Cifras en Hanken Grotesk con dígitos tabulares para que sigan alineadas en columna. */
#contenido .data-table td,#contenido .data-table .unit,#contenido .pill{font-family:'Hanken Grotesk',system-ui,sans-serif;font-variant-numeric:tabular-nums lining-nums}
#contenido .data-table td{font-size:14px}
#contenido .data-table tr.detail td:not(:first-child){font-size:13px}
#contenido .data-table .unit{font-size:12px;width:6.5em}
#contenido .pill{font-weight:600}
#contenido .data-table td:not(:first-child){font-weight:500}
#contenido .data-table tr.detail td:not(:first-child){font-weight:400}
#contenido .data-table .meta,#contenido .data-table .code,#contenido .data-table .meta a.tag{font-family:'Hanken Grotesk',system-ui,sans-serif;font-variant-numeric:tabular-nums lining-nums}
#contenido .data-table .meta{font-size:12px;line-height:18px}
#contenido .data-table .code{font-size:12px}
#contenido .data-table .meta a.tag{font-size:11px}
/* Toda la fila abre el acordeón (comparador.js); el botón del nombre queda para teclado. */
#contenido .data-table tr:has(.name){cursor:pointer}
#contenido .data-table tr:has(.name):hover td{background:var(--bg)}
#contenido .data-table tr[data-level="partida"]:has(+tr.detail):hover td{background:var(--blue-light)}
/* El ▸ cuelga a la izquierda: el nombre queda alineado con su descripción y etiquetas.
   Las guías verticales bajan desde el ▸ del padre. */
#contenido .data-table .name{gap:0}
#contenido .data-table .chev{display:inline-block;width:18px;margin-left:-18px;color:var(--muted);font-size:11px}
#contenido .data-table tr[data-level="programa"] td:first-child{background-position:34px 0,51px 0}
#contenido .data-table tr[data-level="programa_subtitulo"] td:first-child{background-position:34px 0,51px 0,71px 0}
@media(max-width:767px){
#contenido .data-table tr[data-level="programa"] td:first-child{background-position:24px 0,35px 0}
#contenido .data-table tr[data-level="programa_subtitulo"] td:first-child{background-position:24px 0,35px 0,47px 0}}

/* Sin scroll interno: la tabla crece con la página. En escritorio el encabezado
   queda fijo bajo el menú del sitio (.mu-header, sticky); en móvil la tabla sigue
   desplazándose a lo ancho. */
#contenido .scroll{max-height:none}
@media(min-width:900px){
#contenido .scroll{overflow:visible}
#contenido .data-table thead th{top:65px}
#contenido .data-table thead th:first-child{border-top-left-radius:12px}
#contenido .data-table thead th:last-child{border-top-right-radius:12px}}

/* Grupo abierto con fondo propio: ministerio abierto en azul, su contenido en un azul
   más tenue, el organismo abierto un tono intermedio; una línea cierra el grupo. */
#contenido .data-table{--grupo:color-mix(in srgb,var(--blue-light) 40%,var(--white));--grupo-abierto:color-mix(in srgb,var(--blue-light) 75%,var(--white))}
#contenido .data-table tr.detail td{background-color:var(--grupo)}
#contenido .data-table tr.detail[data-level="servicio"]:has(+tr[data-level="programa"]) td,
#contenido .data-table tr.detail[data-level="programa"]:has(+tr[data-level="programa_subtitulo"]) td{background-color:var(--grupo-abierto)}
#contenido .data-table tr.detail td{border-bottom-color:color-mix(in srgb,var(--line) 70%,var(--grupo))}
#contenido .data-table tr.detail:has(+tr:not(.detail)) td,#contenido .data-table tr.detail:last-child td{border-bottom:1px solid var(--line)}
#contenido .data-table tr.detail:hover td{background-color:var(--blue-light)}
/* El ▸ del ministerio cuelga entre el ícono y el nombre. */
#contenido .data-table td.has-icon{padding-left:74px}
@media(max-width:767px){#contenido .data-table td.has-icon{padding-left:58px}}
/* Niveles bajo el nombre del ministerio (74px); guías bajo el ▸ de cada padre. */
#contenido .data-table tr[data-level="servicio"] td:first-child,#contenido .data-table tr[data-level="partida_subtitulo"] td:first-child{padding-left:74px}
#contenido .data-table tr[data-level="programa"] td:first-child{padding-left:94px;background-position:34px 0,61px 0}
#contenido .data-table tr[data-level="programa_subtitulo"] td:first-child{padding-left:114px;background-position:34px 0,61px 0,81px 0}
@media(max-width:767px){
#contenido .data-table tr[data-level="servicio"] td:first-child,#contenido .data-table tr[data-level="partida_subtitulo"] td:first-child{padding-left:58px}
#contenido .data-table tr[data-level="programa"] td:first-child{padding-left:70px;background-position:24px 0,45px 0}
#contenido .data-table tr[data-level="programa_subtitulo"] td:first-child{padding-left:82px;background-position:24px 0,45px 0,57px 0}}

/* Niveles en grises sutiles: cada nivel más profundo es un paso más oscuro.
   Reemplaza los azules anteriores del grupo abierto. */
#contenido .data-table{--n0:#ECEEF1;--n1:#FAFAFB;--n2:#F4F5F7;--n3:#EEF0F2;--n-hover:#E6E9ED}
#contenido .data-table tr[data-level="partida"]:has(+tr.detail) td,
#contenido .data-table tr[data-level="partida"]:has(+tr.detail):hover td{background-color:var(--n0)}
#contenido .data-table tr.detail[data-level="servicio"] td,
#contenido .data-table tr.detail[data-level="partida_subtitulo"] td{background-color:var(--n1)}
#contenido .data-table tr.detail[data-level="programa"] td{background-color:var(--n2)}
#contenido .data-table tr.detail[data-level="programa_subtitulo"] td{background-color:var(--n3)}
#contenido .data-table tr.detail[data-level="servicio"]:has(+tr[data-level="programa"]) td,
#contenido .data-table tr.detail[data-level="programa"]:has(+tr[data-level="programa_subtitulo"]) td{font-weight:inherit}
#contenido .data-table tr.detail[data-level="servicio"]:has(+tr[data-level="programa"]) td{background-color:var(--n1)}
#contenido .data-table tr.detail[data-level="programa"]:has(+tr[data-level="programa_subtitulo"]) td{background-color:var(--n2)}
#contenido .data-table tr.detail td{border-bottom-color:#E8EAED}
#contenido .data-table tr.detail:hover td,#contenido .data-table tr[data-level="partida"]:has(.name):hover td{background-color:var(--n-hover)}
/* Subtítulos: nombre en negrita; sin línea de tipo, las etiquetas van pegadas al nombre. */
#contenido .data-table tr[data-level="programa_subtitulo"] td:first-child,#contenido .data-table tr[data-level="partida_subtitulo"] td:first-child{font-weight:600;color:var(--ink)}
#contenido .data-table tr[data-level$="subtitulo"] .meta{margin-top:0}

/* Móvil: cada fila es una tarjeta apilada (nombre arriba, cifras rotuladas abajo),
   sin scroll horizontal ni columna fija. La sangría por nivel es --ind. */
@media(max-width:767px){
#contenido .scroll{overflow:visible}
#contenido .data-table{min-width:0;display:block}
#contenido .data-table thead{display:none}
#contenido .data-table tbody{display:block}
#contenido .data-table tr{--ind:16px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;border-bottom:1px solid var(--line)}
#contenido .data-table tr.detail{border-bottom-color:#E8EAED}
#contenido .data-table tr:has(td.has-icon){--ind:58px}
#contenido .data-table tr[data-level="servicio"],#contenido .data-table tr[data-level="partida_subtitulo"]{--ind:58px}
#contenido .data-table tr[data-level="programa"]{--ind:72px}
#contenido .data-table tr[data-level="programa_subtitulo"]{--ind:86px}
#contenido .data-table td{border:0!important;padding:0 12px 14px 0;text-align:left;white-space:normal}
#contenido .data-table td:first-child,#contenido .data-table th:first-child{position:relative;left:auto;width:auto;min-width:0;max-width:none;box-shadow:none;z-index:auto}
#contenido .data-table td:first-child{grid-column:1/-1;padding:14px 12px 10px var(--ind)!important;background-image:none!important}
#contenido .data-table td:nth-child(2){padding-left:var(--ind)}
#contenido .data-table td:nth-child(2)::before,#contenido .data-table td:nth-child(3)::before,#contenido .data-table td.pct-column::before{display:block;font-size:11px;font-weight:500;color:var(--muted);margin-bottom:2px}
#contenido .data-table td:nth-child(2)::before{content:'Ley 2026'}
#contenido .data-table td:nth-child(3)::before{content:'Proyecto 2027'}
#contenido .data-table td.pct-column::before{content:'Variación'}
#contenido .data-table td.pct-column{text-align:right}
#contenido .data-table td.diff-column{display:none}
#contenido .data-table .unit{width:auto;margin-left:3px}
#contenido .data-table .ministry-icon{left:12px;top:12px}
#contenido .data-table .name{font-size:14px}
#contenido .data-table .empty{grid-column:1/-1}
#contenido .data-table tr.gap td:first-child{padding-left:16px!important}}
/* Móvil: la sangría es una columna propia, así las tres cifras miden lo mismo;
   la unidad va bajo la cifra y el ▸ del ministerio no queda tras el ícono. */
@media(max-width:767px){
#contenido .data-table tr{grid-template-columns:var(--ind) minmax(0,1fr) minmax(0,1fr) auto}
#contenido .data-table tr:has(td.has-icon),#contenido .data-table tr[data-level="servicio"],#contenido .data-table tr[data-level="partida_subtitulo"]{--ind:66px}
#contenido .data-table tr[data-level="programa"]{--ind:80px}
#contenido .data-table tr[data-level="programa_subtitulo"]{--ind:94px}
#contenido .data-table td:nth-child(2){grid-column:2;padding-left:0}
#contenido .data-table td:nth-child(3){grid-column:3}
#contenido .data-table td.pct-column{grid-column:4}
#contenido .data-table .unit{display:block;margin:0;font-size:11px;line-height:14px}
#contenido .data-table tr.gap{--ind:16px}}
/* Móvil: el fondo va en la fila (la columna de sangría no tiene celda). */
@media(max-width:767px){
#contenido .data-table tr td{background-color:transparent!important}
#contenido .data-table tr{background-color:var(--white)}
#contenido .data-table tr[data-level="partida"]:has(+tr.detail){background-color:var(--n0)}
#contenido .data-table tr.detail[data-level="servicio"],#contenido .data-table tr.detail[data-level="partida_subtitulo"]{background-color:var(--n1)}
#contenido .data-table tr.detail[data-level="programa"]{background-color:var(--n2)}
#contenido .data-table tr.detail[data-level="programa_subtitulo"]{background-color:var(--n3)}
#contenido .data-table tr.gap{background-color:var(--paso-amarillo-fondo)}}

/* Barra: en escritorio, descarga con texto y sin botón de filtros; en móvil, una sola
   línea (buscador + filtros + descarga) y los selectores se despliegan con el botón. */
#contenido .toolbar #download{display:inline-flex;align-items:center;gap:6px}
#contenido .toolbar button svg{width:18px;height:18px;flex:none}
#contenido .icon-button{display:none}
@media(max-width:767px){
#contenido .toolbar{flex-wrap:wrap;gap:8px}
#contenido .toolbar .search-wrap{flex:1 1 0;min-width:0;order:1}
#contenido .icon-button,#contenido .toolbar #download{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;padding:0;margin:0;order:2}
#contenido .toolbar #download{order:3}
#contenido .toolbar #download .label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#contenido .icon-button[aria-expanded="true"]{border-color:var(--primary);color:var(--primary);background:var(--blue-light)}
#contenido .toolbar .controls{display:none;order:4;width:100%}
#contenido .toolbar.show-filters .controls{display:flex}}
#contenido .toolbar button{-webkit-tap-highlight-color:transparent}
/* Ejemplos de búsqueda (#116) en su propia línea bajo la barra. */
