/* Auditavisión · Modo Inspector › Auditor de entes públicos (12-10-2026).
   La página la escribe herramientas/insp_entes.py; la interacción,
   assets/auditor/js/insp-entes.js. Prefijo ie-. */
.ie {
  --ie-tinta: #1c2a44; --ie-suave: #44526b; --ie-azul: #0b2a63; --ie-enlace: #1a56b8;
  --ie-borde: #dfe5f0; --ie-fondo: #f6f8fc; --ie-acento: #1d5fd6;
  --ie-ok: #1b7f4c; --ie-alerta: #b45309; --ie-grave: #b3261e; --ie-sin: #6b7489;
  --ie-v1: #1b7f4c; --ie-v2: #4d7c0f; --ie-v3: #a16207; --ie-v4: #c2410c; --ie-v5: #b3261e;
  padding-top: 18px; color: var(--ie-tinta); font-size: 16px; line-height: 1.6;
}
.ie *, .ie *::before, .ie *::after { box-sizing: border-box; }
.ie a { color: var(--ie-enlace); }
.ie-sec { margin: 0 0 40px; }
.ie-tit { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 24px; line-height: 1.25; color: var(--ie-azul); }
.ie-txt { margin: 0 0 16px; max-width: 820px; font-size: 17px; line-height: 1.6; color: #33415c; }
.ie-nota-p, .ie-fu { margin: 10px 0 0; font-size: 15px; line-height: 1.55; color: var(--ie-suave); }
.ie-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 8px 16px; border-radius: 10px;
  border: 1px solid #c9d2e3; background: #ffffff; color: var(--ie-tinta); font: 600 15px/1.2 Inter, system-ui, sans-serif; cursor: pointer; }
.ie-btn:hover { border-color: var(--ie-acento); }
.ie-btn-p { background: var(--ie-azul); border-color: var(--ie-azul); color: #ffffff; }
.ie-btn-p:hover { background: #12397f; }
.ie-enlace { background: none; border: 0; padding: 10px 2px; min-height: 44px; color: var(--ie-enlace); font: inherit; text-decoration: underline; cursor: pointer; }
.ie button:focus-visible, .ie a:focus-visible, .ie select:focus-visible, .ie input:focus-visible, .ie [tabindex="-1"]:focus-visible {
  outline: 3px solid #f2b705; outline-offset: 2px; }

/* --- Arranque --- */
.ie-arranque { background: linear-gradient(160deg, #0b2a63 0%, #163d86 100%); color: #ffffff; border-radius: 18px; padding: 26px 24px 22px; margin: 0 0 30px; }
.ie-kicker { margin: 0 0 6px; font: 700 14px/1.2 Inter, system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #f2c94c; }
.ie-grande { margin: 0 0 10px; font-size: 30px; line-height: 1.2; color: #ffffff; max-width: 860px; }
.ie-arranque .ie-txt { color: #dbe5f7; }
.ie-busca { position: relative; margin: 0 0 16px; }
.ie-busca-et { display: block; margin: 0 0 8px; font-size: 16px; font-weight: 600; color: #ffffff; }
.ie-busca-caja { position: relative; display: flex; align-items: center; }
.ie-busca-lupa { position: absolute; left: 16px; font-size: 20px; pointer-events: none; }
.ie-busca-in { width: 100%; min-height: 58px; padding: 12px 56px 12px 50px; border-radius: 14px; border: 2px solid #f2c94c; background: #ffffff;
  color: var(--ie-tinta); font: 500 19px/1.3 Inter, system-ui, sans-serif; -webkit-appearance: none; appearance: none; }
.ie-busca-in::-webkit-search-cancel-button { display: none; }
.ie-busca-x { position: absolute; right: 6px; width: 46px; height: 46px; border: 0; border-radius: 10px; background: transparent; color: var(--ie-suave); font-size: 20px; cursor: pointer; }
.ie-busca-x:hover { background: var(--ie-fondo); }
.ie-busca-nota { margin: 8px 0 0; min-height: 1.4em; font-size: 15px; color: #c9d6ee; }
.ie-sug { position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% - 26px); margin: 0; padding: 6px; list-style: none; max-height: min(70vh, 460px); overflow-y: auto;
  background: #ffffff; border: 1px solid var(--ie-borde); border-radius: 14px; box-shadow: 0 18px 40px rgba(11, 42, 99, .28); }
.ie-sug-g { padding: 8px 10px 4px; font: 700 14px/1.3 Inter, system-ui, sans-serif; color: var(--ie-suave); text-transform: uppercase; letter-spacing: .04em; }
.ie-sug-pie { padding: 8px 10px; font-size: 14px; color: var(--ie-suave); border-top: 1px solid var(--ie-borde); margin-top: 4px; }
.ie-sug a { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 6px 10px; border-radius: 10px; color: var(--ie-tinta); text-decoration: none; }
.ie-sug a > span:first-child { font-size: 22px; }
.ie-sug b { display: block; font-size: 16px; }
.ie-sug small { display: block; font-size: 14px; color: var(--ie-suave); line-height: 1.3; }
.ie-sug [aria-selected="true"] a, .ie-sug a:hover { background: #eaf1fd; }

.ie-pasos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0 0 14px; padding: 0; list-style: none; }
.ie-pasos li { display: flex; gap: 8px; align-items: flex-start; font-size: 15px; line-height: 1.4; color: #dbe5f7; }
.ie-pasos b { flex: 0 0 26px; height: 26px; border-radius: 50%; background: #f2c94c; color: var(--ie-azul); display: grid; place-items: center; font-size: 14px; }
.ie-salva { margin: 0; padding: 12px 14px; border-radius: 12px; background: rgba(255, 255, 255, .1); font-size: 16px; line-height: 1.55; color: #ffffff; }

/* --- Directorio --- */
.ie-niveles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 14px; }
.ie-nivel { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; min-height: 64px; padding: 10px 14px; text-align: left; cursor: pointer;
  border: 2px solid var(--ie-borde); border-radius: 14px; background: #ffffff; color: var(--ie-tinta); font: inherit; }
.ie-nivel:hover { border-color: #9fb4d9; }
.ie-nivel.activo { border-color: var(--ie-azul); background: #eaf1fd; box-shadow: inset 0 -4px 0 var(--ie-azul); }
.ie-nivel-ico { font-size: 26px; }
.ie-nivel-tx b { display: block; font-size: 18px; color: var(--ie-azul); }
.ie-nivel-tx small { display: block; font-size: 14px; line-height: 1.3; color: var(--ie-suave); }
.ie-nivel-n { font: 800 16px/1.2 'JetBrains Mono', ui-monospace, monospace; color: var(--ie-azul); text-align: right; }
.ie-dir-ctl { margin: 0 0 6px; }
.ie-vistas { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 10px; }
.ie-vista { min-height: 44px; padding: 8px 14px; border-radius: 999px; border: 1px solid #c9d2e3; background: var(--ie-fondo); color: var(--ie-tinta);
  font: 600 15px/1.2 Inter, system-ui, sans-serif; cursor: pointer; }
.ie-vista b { font-family: 'JetBrains Mono', ui-monospace, monospace; color: var(--ie-suave); }
.ie-vista.activo { background: var(--ie-azul); border-color: var(--ie-azul); color: #ffffff; }
.ie-vista.activo b { color: #f2c94c; }
.ie-orden { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; font-size: 16px; font-weight: 600; }
.ie-orden select { min-height: 44px; padding: 6px 10px; border-radius: 10px; border: 1px solid #c9d2e3; background: #ffffff; color: var(--ie-tinta); font: 500 16px/1.2 Inter, system-ui, sans-serif; max-width: 100%; }
.ie-vista-d { margin: 0 0 8px; font-size: 15px; line-height: 1.5; color: var(--ie-suave); }
.ie-conteo { margin: 6px 0 12px; font-size: 16px; color: var(--ie-suave); }
.ie-tarjetas { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.ie-tarj { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; height: 100%; min-height: 72px; padding: 12px 14px; border-radius: 14px;
  border: 1px solid var(--ie-borde); background: #ffffff; color: var(--ie-tinta) !important; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.ie-tarj:hover { border-color: var(--ie-acento); box-shadow: 0 6px 18px rgba(11, 42, 99, .1); }
.ie-tarj.activo { border: 2px solid var(--ie-azul); background: #eaf1fd; }
.ie-tarj-ico { font-size: 26px; }
.ie-tarj-tx { min-width: 0; }
.ie-tarj-tx b { display: block; font-size: 17px; line-height: 1.3; color: var(--ie-azul); }
.ie-tarj-tx small { display: block; font-size: 14px; line-height: 1.4; color: var(--ie-suave); overflow-wrap: anywhere; }
.ie-tarj-cifra { color: var(--ie-tinta) !important; font-weight: 600; margin-top: 2px; }
.ie-tarj-sem { margin-top: 2px; }
.ie-tarj-sem span { margin-right: 8px; font-weight: 600; }
.ie-tarj-ir { font-size: 26px; color: #9fb4d9; }
.ie-tarj-idx { display: grid; place-items: center; min-width: 54px; padding: 4px; border-radius: 12px; border: 2px solid currentColor; line-height: 1; }
.ie-tarj-idx b { font: 800 22px/1 'JetBrains Mono', ui-monospace, monospace; }
.ie-tarj-idx small { font-size: 12px; font-weight: 600; margin-top: 2px; }
.ie-cargando { list-style: none; padding: 22px 16px; border-radius: 14px; background: var(--ie-fondo); font-size: 16px; color: var(--ie-suave); text-align: center; }
.ie-mas { margin: 14px auto 0; display: flex; }

/* Colores de semáforo y de veredicto */
.ie .s-ok { color: var(--ie-ok); } .ie .s-alerta { color: var(--ie-alerta); } .ie .s-grave { color: var(--ie-grave); } .ie .s-sin { color: var(--ie-sin); }
.ie .v1 { color: var(--ie-v1); } .ie .v2 { color: var(--ie-v2); } .ie .v3 { color: var(--ie-v3); } .ie .v4 { color: var(--ie-v4); } .ie .v5 { color: var(--ie-v5); }
.ie-pt { display: inline-block; flex: 0 0 14px; width: 14px; height: 14px; border-radius: 50%; background: currentColor; }
.ie-pt.s-sin { background: transparent; border: 2px solid currentColor; }

.ie-salva a { color: #ffffff; }
/* Un solo navegador (21-10-2026): los tres niveles son la primera fila del
   recuadro azul, cada uno con su número grande; el buscador filtra la lista. */
.ie-arranque .ie-niveles { margin: 4px 0 18px; }
.ie-arranque .ie-nivel { border: 1px solid rgba(255, 255, 255, .24); background: rgba(255, 255, 255, .08); color: #ffffff; min-height: 76px; }
.ie-arranque .ie-nivel:hover { background: rgba(255, 255, 255, .16); border-color: rgba(255, 255, 255, .5); }
.ie-arranque .ie-nivel.activo { background: #ffffff; border-color: #f2c94c; box-shadow: inset 0 -5px 0 #f2c94c; color: var(--ie-tinta); }
.ie-arranque .ie-nivel-tx b { color: inherit; }
.ie-arranque .ie-nivel-tx small { color: #c9d6ee; }
.ie-arranque .ie-nivel.activo .ie-nivel-tx b { color: var(--ie-azul); }
.ie-arranque .ie-nivel.activo .ie-nivel-tx small { color: var(--ie-suave); }
.ie-arranque .ie-nivel-n { font-size: 24px; color: #f2c94c; }
.ie-arranque .ie-nivel.activo .ie-nivel-n { color: var(--ie-azul); }
/* Cada nivel despliega su directorio al pulsarlo (21-10-2026): la flecha lo dice. */
.ie-arranque .ie-nivel { position: relative; padding-bottom: 18px; }
.ie-arranque .ie-nivel::after { content: '▾'; position: absolute; left: 50%; bottom: 2px; transform: translateX(-50%); font-size: 16px; line-height: 1; opacity: .85; transition: transform .2s; }
.ie-arranque .ie-nivel.activo::after { transform: translateX(-50%) rotate(180deg); }
/* El método, a un clic: abre la ventana lateral (como Contrasta una nota). */
.ie-como { margin: -14px 0 28px; }
.ie-cajon-btn { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 52px; padding: 10px 16px; border: 1px solid #c9d2e3; border-radius: 12px;
  background: #ffffff; color: var(--ie-azul); cursor: pointer; text-align: left; font: 700 17px/1.35 Inter, system-ui, sans-serif; }
.ie-cajon-btn > span:last-child { margin-left: auto; font-size: 22px; color: var(--ie-acento); }
.ie-cajon-btn:hover, .ie-cajon-btn:focus-visible { border-color: var(--ie-acento); background: #eaf1fd; }
.ie.ie-cajon { padding-top: 6px; }
.ie-cajon .ie-sec { margin-bottom: 26px; }
.ie-cajon .ie-tit { font-size: 21px; }
.ie-cajon .ie-sem-ley { grid-template-columns: 1fr; }
.ie-dir .ie-tit { scroll-margin-top: 90px; }
/* El resultado de verificar un folio AV-FT */
.ie-ver { margin: 0 0 24px; }
.ie-ver > p, .ie-ver > div { margin: 0; padding: 14px 16px; border-radius: 14px; font-size: 16px; line-height: 1.55; }
.ie-ver-c { background: var(--ie-fondo); color: var(--ie-suave); }
.ie-ver-si { background: #e3f4ea; color: #145c37; }
.ie-ver-no { background: #fde4e1; color: #8a1f17; }
.ie-ver code { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 13px; word-break: break-all; }
.ie-ver .ie-btn { margin-top: 10px; text-decoration: none; }

/* --- Expediente --- */
.ie-exp, .ie-dir, #ie-metodo { scroll-margin-top: 90px; }
.ie-exp { margin: 0 0 34px; }
.ie-exp-marco { border: 1px solid var(--ie-borde); border-top: 6px solid var(--ie-azul); border-radius: 18px; background: #ffffff; padding: 20px 22px 18px;
  box-shadow: 0 10px 30px rgba(11, 42, 99, .08); }
.ie-exp-ico { font-size: 32px; line-height: 1; vertical-align: -3px; }
.ie-exp-nom { margin: 2px 0 4px; font-family: 'Playfair Display', Georgia, serif; font-size: 28px; line-height: 1.2; color: var(--ie-azul); overflow-wrap: anywhere; }
.ie-exp-nom:focus { outline: none; }
.ie-exp-sub { margin: 0; font-size: 16px; color: var(--ie-suave); overflow-wrap: anywhere; }
.ie-exp-acc { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }

/* La ficha técnica: encabezado y sello del Estado de Cuenta (21-10-2026) */
/* Sin foto (27-10-2026): la franja es de color, azul marino con la raya celeste. */
.ie-ft-banda { margin: -20px -22px 18px; overflow: hidden; background: linear-gradient(90deg, #071d47 0%, #0b2a63 38%, #2c579f 100%); border-bottom: 4px solid #4f9be8; border-radius: 11px 11px 0 0; }
.ie-ft-banda:empty { height: 56px; }
.ie-ft-banda img { display: block; width: 100%; height: 190px; object-fit: cover; object-position: 50% 62%; }
.ie-ft-cab { display: grid; grid-template-columns: auto 1fr auto; gap: 22px; align-items: center; margin: 0 0 18px; padding: 6px 0 18px; border-bottom: 3px solid var(--ie-azul); }
.ie-ft-marca { display: flex; gap: 12px; align-items: center; }
.ie-ft-marca img { width: 104px; height: auto; flex: none; }
.ie-ft-marca b { display: block; font-family: 'Playfair Display', Georgia, serif; font-size: 22px; line-height: 1.1; color: var(--ie-azul); }
.ie-ft-marca small { display: block; font-size: 14px; color: var(--ie-suave); }
.ie-ft-tipo { display: block; font: 800 13px/1.35 'JetBrains Mono', ui-monospace, monospace; letter-spacing: .06em; text-transform: uppercase; color: var(--ie-suave); }
.ie-ft-meta { margin: 0; display: grid; gap: 6px; text-align: right; font-size: 14px; }
.ie-ft-meta div { display: grid; }
.ie-ft-meta dt { font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--ie-suave); }
.ie-ft-meta dd { margin: 0; font-weight: 700; color: var(--ie-azul); }
.ie-ft-folio { font-family: 'JetBrains Mono', ui-monospace, monospace; }
.ie-ft-sello { display: grid; grid-template-columns: 120px 1fr; gap: 16px; align-items: center; margin-top: 16px; padding: 14px; border: 2px dashed var(--ie-azul); border-radius: 12px; background: #fbfcfe; break-inside: avoid; }
.ie-ft-sello-svg { width: 116px; height: 116px; display: block; color: var(--ie-azul); }
.ie-ft-sello-tx { font-size: 15px; line-height: 1.5; color: #33415c; }
.ie-ft-sello-tx > b:first-child { font-size: 17px; color: var(--ie-azul); }
.ie-ft-sello-tx p { margin: 4px 0 0; }
.ie-ft-huella code, .ie-ft-liga { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 13px; word-break: break-all; }
.ie-ft-huella code { background: #eef1f7; border-radius: 4px; padding: 1px 4px; }
.ie-ft-liga { color: var(--ie-enlace); }
.ie-ft-leyenda { color: var(--ie-suave); }
.ie-cerrar { margin-left: auto; }
.ie-h3 { margin: 24px 0 10px; font-size: 20px; line-height: 1.3; color: var(--ie-azul); }
.ie-h4 { margin: 0 0 10px; font-size: 18px; line-height: 1.3; color: var(--ie-azul); }

.ie-resumen { border: 2px solid currentColor; border-radius: 14px; padding: 14px 16px; background: #ffffff; }
.ie-resumen-t { margin: 0 0 10px; font: 800 22px/1.25 Inter, system-ui, sans-serif; }
.ie-resumen-d { margin: 10px 0 0; font-size: 15px; line-height: 1.5; color: var(--ie-suave); }
.ie-mini { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.ie-mini a { display: flex; gap: 10px; align-items: flex-start; min-height: 44px; height: 100%; padding: 10px 12px; border-radius: 10px; background: var(--ie-fondo); text-decoration: none; }
.ie-mini a:hover { background: #eaf1fd; }
.ie-mini .ie-pt { margin-top: 5px; }
.ie-mini-q { flex: 1; font-size: 15px; line-height: 1.35; color: var(--ie-tinta); }
.ie-mini-v { font-size: 14px; font-weight: 700; white-space: nowrap; }

.ie-inc { margin: 18px 0 0; padding: 16px; border-radius: 14px; background: #fdf3f2; border: 1px solid #f1c9c5; }
.ie-inc-tit { margin: 0 0 6px; font-size: 19px; color: #7a1d17; }
.ie-inc-intro { margin: 0 0 12px; font-size: 16px; line-height: 1.55; color: #5c1a15; }
.ie-inc-lista { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.ie-inc-it { background: #ffffff; border-radius: 12px; border-left: 6px solid currentColor; padding: 12px 14px; }
.ie-inc-tema { margin: 0 0 8px; font-weight: 700; font-size: 17px; }
.ie-inc-par { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; align-items: baseline; margin: 0 0 8px; color: var(--ie-tinta); }
.ie-inc-doc { font-size: 15px; line-height: 1.35; color: var(--ie-suave); }
.ie-inc-par b { font: 700 16px/1.3 'JetBrains Mono', ui-monospace, monospace; white-space: nowrap; }
.ie-inc-barra { grid-column: 1 / -1; display: block; height: 10px; border-radius: 6px; background: #eef2f8; overflow: hidden; }
.ie-inc-barra span { display: block; height: 100%; background: #6f8fc4; border-radius: 6px; }
.ie-inc-barra.b span { background: #d0632a; }
.ie-inc-dif { margin: 4px 0 0; font-size: 16px; color: var(--ie-tinta); }
.ie-inc-dif b { font-family: 'JetBrains Mono', ui-monospace, monospace; }
.ie-inc-dif small { font-size: 14px; color: var(--ie-suave); }
.ie-inc-nota { margin: 6px 0 0; font-size: 15px; line-height: 1.5; color: var(--ie-suave); }

.ie-ident { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 8px; }
.ie-ident-c { padding: 10px 12px; border-radius: 12px; background: var(--ie-fondo); border: 1px solid var(--ie-borde); min-width: 0; }
.ie-ident-k { display: block; font-size: 14px; line-height: 1.35; color: var(--ie-suave); }
.ie-ident-v { display: block; margin-top: 2px; font-size: 17px; font-weight: 700; line-height: 1.4; color: var(--ie-tinta); overflow-wrap: anywhere; }
.ie-ident-v small { font-size: 14px; font-weight: 400; color: var(--ie-suave); }
.ie-poderes { margin: 18px 0 0; }
/* El radar de la ASF en la ficha estatal (fusión del Radar por entidad, 21-10-2026). */
.ie-rad { margin: 18px 0 0; padding: 14px; border-radius: 14px; border: 1px solid var(--ie-borde); border-left: 6px solid #2f8a4f; background: var(--ie-fondo); }
.ie-rad.ie-rad-ambar { border-left-color: #d99a00; }
.ie-rad.ie-rad-rojo { border-left-color: #b8423a; }
.ie-rad .ie-h3 { margin-top: 0; }
.ie-rad-sem { margin: 0 0 10px; font-size: 17px; line-height: 1.5; }
.ie-rad-cifras { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 8px; margin: 0 0 12px; }
.ie-rad-cifras div { padding: 10px 12px; border-radius: 12px; background: #ffffff; border: 1px solid var(--ie-borde); }
.ie-rad-cifras small { display: block; font-size: 14px; color: var(--ie-suave); }
.ie-rad-cifras b { display: block; margin-top: 2px; font: 800 22px/1.25 'JetBrains Mono', ui-monospace, monospace; color: var(--ie-tinta); }
.ie-rad-comp p { margin: 0 0 8px; font-size: 16px; line-height: 1.5; }
.ie-rad-b { display: grid; grid-template-columns: minmax(0, 9em) 1fr auto; align-items: center; gap: 10px; margin: 0 0 6px; font-size: 16px; }
.ie-rad-barra { height: 14px; border-radius: 999px; background: #e6eaf2; overflow: hidden; }
.ie-rad-barra span { display: block; height: 100%; border-radius: 999px; background: #2f8a4f; }
.ie-rad-barra .ie-rad-ambar { background: #d99a00; }
.ie-rad-barra .ie-rad-rojo { background: #b8423a; }
.ie-rad-barra .ie-rad-prom { background: #7b8597; }
.ie-rad-b b { font-family: 'JetBrains Mono', ui-monospace, monospace; }
.ie-rad-op { margin: 6px 0 10px; font-size: 15px; line-height: 1.5; color: var(--ie-suave); }
.ie-rad-lug { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 8px; }
.ie-rad-lug li { display: flex; gap: 12px; align-items: flex-start; padding: 10px 12px; border-radius: 12px; background: #ffffff; border: 1px solid var(--ie-borde); font-size: 16px; line-height: 1.45; }
.ie-rad-l-n { flex: 0 0 auto; min-width: 3.4em; text-align: center; }
.ie-rad-l-n b { display: block; font: 800 22px/1.1 'JetBrains Mono', ui-monospace, monospace; color: var(--ie-azul); }
.ie-rad-l-n small { font-size: 14px; color: var(--ie-suave); }
.ie-rad-l-tx small { display: block; margin-top: 2px; font-size: 15px; color: var(--ie-suave); }
.ie-rad-pila { display: flex; height: 18px; border-radius: 999px; overflow: hidden; background: #e6eaf2; margin: 0 0 10px; }
.ie-rad-seg { display: block; height: 100%; }
.ie-rad-vacia { padding: 0 10px; font-size: 14px; line-height: 18px; color: var(--ie-suave); }
.ie-rad-tabla-caja { overflow-x: auto; }
.ie-rad-tabla { width: 100%; border-collapse: collapse; font-size: 16px; }
.ie-rad-tabla th, .ie-rad-tabla td { padding: 8px 10px; border-bottom: 1px solid var(--ie-borde); text-align: right; white-space: nowrap; }
.ie-rad-tabla th[scope="row"], .ie-rad-tabla thead th:first-child { text-align: left; white-space: normal; }
.ie-rad-pto { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 8px; vertical-align: middle; }
@media (max-width: 560px) {
  .ie-rad { padding: 12px 10px; }
  .ie-rad-b { grid-template-columns: 1fr auto; }
  .ie-rad-b .ie-rad-barra { grid-column: 1 / -1; grid-row: 2; }
  .ie-rad-tabla thead { display: none; }
  .ie-rad-tabla, .ie-rad-tabla tbody, .ie-rad-tabla tr, .ie-rad-tabla th, .ie-rad-tabla td { display: block; width: 100%; }
  .ie-rad-tabla tr { padding: 6px 0; border-bottom: 1px solid var(--ie-borde); }
  .ie-rad-tabla th, .ie-rad-tabla td { border: 0; padding: 3px 0; text-align: left; white-space: normal; }
  .ie-rad-tabla td::before { content: attr(data-etq) ': '; color: var(--ie-suave); }
}

.ie-senales { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: q; }
.ie-senal { border: 1px solid var(--ie-borde); border-left: 6px solid currentColor; border-radius: 12px; padding: 12px 16px; background: #ffffff; scroll-margin-top: 90px; }
.ie-senal:target { box-shadow: 0 0 0 3px #f2c94c; }
.ie-senal-q { margin: 0 0 4px; font: 700 18px/1.35 Inter, system-ui, sans-serif; color: var(--ie-azul); }
.ie-senal-v { margin: 0 0 6px; font-size: 17px; line-height: 1.45; }
.ie-senal-v b { color: var(--ie-tinta); }
.ie-sem-et { font-weight: 700; }
.ie-senal-d { margin: 0; font-size: 16px; line-height: 1.6; color: #33415c; }
.ie-grupos { display: block; margin-top: 6px; font-size: 15px; color: var(--ie-suave); }

.ie-salud { display: grid; grid-template-columns: minmax(0, 260px) 1fr; gap: 20px; align-items: start; padding: 16px; border-radius: 14px; background: var(--ie-fondo); }
.ie-salud-circ { display: grid; justify-items: center; gap: 12px; }
.ie-circ { width: 180px; height: 180px; }
.ie-circ-fondo { stroke: #dfe5f0; }
.ie-circ-aro { stroke: currentColor; transition: stroke-dashoffset 1.2s cubic-bezier(.2, .7, .2, 1); }
.ie-circ-num { font: 800 34px/1 'JetBrains Mono', ui-monospace, monospace; fill: currentColor; }
.ie-circ-pie { font: 600 13px/1 Inter, system-ui, sans-serif; fill: var(--ie-suave); }
.ie-vered { border: 2px solid currentColor; border-radius: 12px; padding: 10px 12px; background: #ffffff; text-align: center; }
.ie-vered b { display: block; font-size: 17px; }
.ie-vered span { display: block; font-size: 15px; line-height: 1.45; color: var(--ie-tinta); }
.ie-ejes { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.ie-eje-cab { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; }
.ie-eje-et { font-weight: 700; font-size: 17px; flex: 1 1 auto; }
.ie-eje-peso { font-size: 14px; color: var(--ie-suave); }
.ie-eje-v { font: 800 17px/1 'JetBrains Mono', ui-monospace, monospace; color: var(--ie-azul); }
.ie-eje-riel { height: 12px; margin: 6px 0; border-radius: 6px; background: #dfe5f0; overflow: hidden; }
.ie-eje-barra { display: block; height: 100%; border-radius: 6px; background: var(--ie-acento); transition: width 1.1s cubic-bezier(.2, .7, .2, 1); }
.ie-eje-crudo { margin: 0; font-size: 16px; font-weight: 600; }
.ie-eje-expl { margin: 2px 0 0; font-size: 15px; line-height: 1.5; color: var(--ie-suave); }
.ie-formula { margin: 14px 0 0; font-size: 15px; line-height: 1.55; color: var(--ie-suave); }

.ie-nota { margin: 18px 0 0; padding: 14px 16px; border-radius: 12px; background: #fbf7ea; border: 1px solid #ecdfb4; font-size: 16px; line-height: 1.55; }
.ie-asf-lista { margin: 0; padding-left: 20px; display: grid; gap: 8px; font-size: 16px; line-height: 1.55; }
.ie-chipas { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.ie-chipa { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 8px 14px; border-radius: 999px; background: #ffffff; border: 1px solid #c9d2e3;
  color: var(--ie-azul) !important; font-weight: 600; font-size: 15px; text-decoration: none; }
.ie-chipa:hover { border-color: var(--ie-acento); }
/* Sus documentos y el ritmo, en vivo (24-10-2026). */
.ie-docs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 14px 0 0; }
.ie-docs-et { font-size: 15px; color: var(--ie-suave); }
.ie-docs .ie-chipas { margin-top: 0; }
button.ie-chipa { cursor: pointer; font-family: inherit; }
.ie-h3[tabindex] { scroll-margin-top: 90px; }
.ie-h3[tabindex]:focus { outline: none; }
.ie-vivo { margin: 0; padding: 16px; border-radius: 14px; background: var(--ie-fondo); border: 1px solid var(--ie-borde); }
.ie-vivo-et { margin: 0; font-size: 16px; font-weight: 600; line-height: 1.45; }
.ie-vivo-num { margin: 6px 0 10px; font: 800 34px/1.15 'JetBrains Mono', ui-monospace, monospace; color: var(--ie-azul); overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.ie-exp-pie { margin: 22px 0 0; padding-top: 12px; border-top: 1px solid var(--ie-borde); }

/* --- Método --- */
.ie-sem-ley { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 8px; margin: 0 0 14px; padding: 0; list-style: none; }
.ie-sem-ley li { display: flex; gap: 10px; align-items: baseline; padding: 10px 12px; border-radius: 12px; background: var(--ie-fondo); font-size: 15px; line-height: 1.45; color: var(--ie-suave); }
.ie-sem-ley b { color: var(--ie-tinta); margin-right: 4px; }
.ie-sem-ley .ie-pt { position: relative; top: 2px; }
.ie-det { border: 1px solid var(--ie-borde); border-radius: 14px; background: #ffffff; margin: 0 0 10px; scroll-margin-top: 90px; }
.ie-det summary { display: flex; gap: 10px; align-items: center; min-height: 52px; padding: 10px 16px; cursor: pointer; font-weight: 700; font-size: 17px; color: var(--ie-azul); }
.ie-det-c { padding: 0 16px 8px; }
.ie-det-c p { margin: 0 0 12px; font-size: 16px; line-height: 1.6; color: #33415c; }

.ie-fuentes { margin: 0 0 10px; padding-left: 20px; display: grid; gap: 6px; font-size: 16px; line-height: 1.5; }
.ie-nota { color: var(--ie-tinta); }
.ie > .ie-sec > .ie-nota { background: transparent; border: 0; padding: 0; }
.ie-herm { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 10px; }
.ie-herm a { display: grid; grid-template-columns: auto 1fr; gap: 0 10px; align-items: center; min-height: 64px; padding: 12px 14px; border-radius: 14px;
  border: 1px solid var(--ie-borde); background: #ffffff; text-decoration: none; }
.ie-herm a:hover { border-color: var(--ie-acento); }
.ie-herm span { grid-row: span 2; font-size: 26px; }
.ie-herm b { font-size: 16px; color: var(--ie-azul); }
.ie-herm small { font-size: 14px; color: var(--ie-suave); }

.ie-aviso { position: fixed; left: 50%; bottom: 18px; z-index: 60; transform: translate(-50%, 20px); max-width: calc(100% - 32px); padding: 12px 18px; border-radius: 12px;
  background: var(--ie-azul); color: #ffffff; font-size: 16px; box-shadow: 0 10px 30px rgba(0, 0, 0, .25); opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; }
.ie-aviso.visible { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 760px) {
  .ie-arranque { padding: 20px 16px 18px; border-radius: 14px; }
  .ie-grande { font-size: 25px; }
  .ie-pasos { grid-template-columns: 1fr 1fr; }
  .ie-niveles { grid-template-columns: 1fr; gap: 8px; }
  .ie-nivel { min-height: 56px; }
  .ie-arranque .ie-nivel { min-height: 60px; }
  .ie-arranque .ie-nivel-n { font-size: 20px; }
  .ie-exp-marco { padding: 16px 14px; border-radius: 14px; }
  .ie-exp-nom { font-size: 24px; }
  .ie-exp-ico { font-size: 26px; }
  .ie-ft-banda { margin: -16px -14px 14px; border-radius: 7px 7px 0 0; }
  .ie-ft-banda img { height: 120px; }
  .ie-ft-banda:empty { height: 40px; }
  .ie-ft-cab { grid-template-columns: 1fr; gap: 12px; }
  .ie-ft-marca img { width: 84px; }
  .ie-ft-meta { text-align: left; grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr)); }
  .ie-ft-sello { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .ie-exp-acc .ie-btn { flex: 1 1 auto; }
  .ie-cerrar { margin-left: 0; }
  .ie-salud { grid-template-columns: 1fr; padding: 14px 12px; }
  .ie-mini-v { white-space: normal; }
  .ie-inc { padding: 12px; }
  .ie-inc-par { grid-template-columns: 1fr; }
  .ie-vivo-num { font-size: 26px; }
}
/* Descargar en PDF: solo la hoja de la ficha técnica, sin botones ni página alrededor. */
@media print {
  @page { margin: 12mm; }
  body:has(.ie-exp-marco) *:not(:has(.ie-exp-marco)):not(.ie-exp-marco):not(.ie-exp-marco *) { display: none !important; }
  body:has(.ie-exp-marco) *:has(.ie-exp-marco) { margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; background: none !important; }
  .ie-exp-marco { border: 0; border-radius: 0; box-shadow: none; padding: 0; }
  .ie-ft-banda { margin: 0 0 12px; border-radius: 0; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .ie-ft-banda img { height: 32mm; }
  .ie-ft-banda:empty { height: 10mm; }
  .ie-ft-cab { grid-template-columns: auto 1fr; gap: 10px 22px; }
  .ie-ft-marca img { width: 72px; }
  .ie-ft-meta { grid-column: 1 / -1; grid-template-columns: repeat(3, auto); justify-content: space-between; text-align: left; }
  .ie-ft-sello { grid-template-columns: 96px 1fr; justify-items: start; text-align: left; }
  .ie-ft-sello-svg { width: 92px; height: 92px; }
  .ie-exp-marco details { break-inside: avoid; }
  .ie-docs { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .ie-circ-aro, .ie-eje-barra, .ie-tarj, .ie-aviso { transition: none; }
}
