/* ==========================================================================
   ASOANUT · sitio público · sitio.css
   Requiere variables.css (tokens) y fuentes.css. Orden:
   1) estilos.css del canvas A (sin :root, que vive en variables.css)
   2) componentes.css del canvas A (sin :root)
   3) estilos de página del canvas (p01, p02, p03, p10, p11, f01–f10) adaptados al marcado real
   4) celular (≤ 760 px, m01–m04)
   Sin estilos en línea: los anchos dinámicos usan las clases .pw-N y .pp-N del canvas (CSP estricta).
   ========================================================================== */
/* ---------- 1. estilos.css (canvas A) ---------- */
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"IBM Plex Sans",sans-serif;color:var(--tinta);background:var(--bg);font-size:17px;line-height:1.55}
.mono,td.num,.num{font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums}
.ejemplo{background:#111827;color:#FDE68A;font:600 13px "IBM Plex Mono";text-align:center;padding:6px;letter-spacing:.04em}
.top{border-bottom:1px solid var(--linea)}
.wrap{max-width:1200px;margin:0 auto;padding:0 40px}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:flex;align-items:center;gap:12px}
.logo .marca{width:34px;height:34px;border:2px solid var(--tinta);display:grid;place-items:center;font:600 13px "IBM Plex Mono"}
.logo b{font-weight:700;letter-spacing:.14em;font-size:17px}
.logo small{display:block;color:var(--sec);font-size:12px;letter-spacing:.02em}
nav a{color:var(--tinta);text-decoration:none;font-size:15px;margin-left:26px}
nav a.cta{border:1px solid var(--tinta);padding:7px 12px}
.indep{background:var(--sup);font-size:13px;color:var(--sec);border-bottom:1px solid var(--linea)}
.indep .wrap{padding-top:7px;padding-bottom:7px;display:flex;gap:28px}
.indep span::before{content:"— ";color:var(--acento)}
h1{font-size:40px;line-height:1.15;font-weight:600;letter-spacing:-.01em}
h2{font-size:22px;font-weight:600}
.kicker{font:500 13px "IBM Plex Mono";color:var(--acento);letter-spacing:.08em;text-transform:uppercase}
.chip{display:inline-block;border:1px solid var(--linea);padding:4px 10px;font-size:14px;margin-right:6px;background:#fff}
.chip.on{background:var(--tinta);color:#fff;border-color:var(--tinta)}
.v{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14px;padding:3px 9px;border-radius:2px}
.v.ok{color:var(--ok);background:var(--ok-bg)} .v.warn{color:var(--warn);background:var(--warn-bg)} .v.bad{color:var(--bad);background:var(--bad-bg)}
table{border-collapse:collapse;width:100%}
th{font-size:12px;font-weight:600;color:var(--sec);text-align:left;border-bottom:2px solid var(--tinta);padding:10px;text-transform:uppercase;letter-spacing:.04em}
td{border-bottom:1px solid var(--linea);padding:12px 10px;font-size:15px;vertical-align:middle}
th.r,td.r{text-align:right}
footer{border-top:1px solid var(--linea);margin-top:56px;padding:28px 0;color:var(--sec);font-size:14px}
td.num{white-space:nowrap}

/* ---------- 2. componentes.css (canvas A) ---------- */
/* ==========================================================================
   ASOANUT · Opción A «Registro de laboratorio» · componentes.css
   Se carga DESPUÉS de estilos.css (boceto original, sin cambios).
   No cambia tokens existentes: solo añade componentes y estados.
   ========================================================================== */
a{color:var(--tinta)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Foco visible en todo el sitio (WCAG 2.4.7 / 2.4.11) */
:focus-visible,.is-focus{outline:3px solid var(--foco)!important;outline-offset:2px}
.saltar{position:absolute;left:8px;top:-60px;background:var(--tinta);color:#fff;padding:8px 12px}
nav a[aria-current]{font-weight:600;box-shadow:inset 0 -2px 0 var(--tinta)}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 15px/1.2 "IBM Plex Sans",sans-serif;padding:11px 18px;border:1px solid var(--tinta);background:var(--tinta);color:#fff;text-decoration:none;cursor:pointer;border-radius:0;white-space:nowrap}
.btn:hover,.btn.is-hover{background:var(--hover);border-color:var(--hover)}
.btn.sec{background:#fff;color:var(--tinta)}
.btn.sec:hover,.btn.sec.is-hover{background:var(--sup);box-shadow:inset 0 0 0 1px var(--tinta)}
.btn.acento{background:var(--acento);border-color:var(--acento)}
.btn.acento:hover,.btn.acento.is-hover{background:#0B3A46;border-color:#0B3A46}
.btn.peligro{background:#fff;color:var(--bad);border-color:var(--bad)}
.btn.peligro:hover,.btn.peligro.is-hover{background:var(--bad-bg)}
.btn[disabled],.btn.is-disabled,.btn[aria-disabled=true]{background:#F3F4F6;color:#4B5563;border:1px dashed #6B7280;cursor:not-allowed;box-shadow:none}
.btn.sm{padding:6px 12px;font-size:14px}.btn.lg{padding:14px 26px;font-size:16px}.btn.full{width:100%}
.enlace{color:var(--tinta);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* ---------- Insignias de veredicto (color + icono + texto) ---------- */
.v{white-space:nowrap}
.v b.ico,.v .ico{font-style:normal;font-weight:700}
.v.nc{color:var(--gris);background:var(--gris-bg)}
.v.rev{color:var(--acento);background:var(--acento-2);box-shadow:inset 0 0 0 1px var(--acento)}
.v.lg{font-size:16px;padding:6px 12px}
.v.out{background:#fff;box-shadow:inset 0 0 0 1px currentColor}

/* ---------- Estados de flujo (panel) ---------- */
.fl{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:3px 8px;border:1px solid var(--borde-campo);background:#fff;color:var(--tinta);white-space:nowrap}
.fl.borrador{border-style:dashed;color:var(--sec)}
.fl.interna{background:var(--warn-bg);border-color:var(--warn);color:var(--warn)}
.fl.aprobada{border-color:var(--acento);color:var(--acento);background:var(--acento-2)}
.fl.publicada{background:var(--tinta);border-color:var(--tinta);color:#fff}
.fl.publica{background:#fff;border:2px solid var(--acento);color:var(--acento)}
.fl.retirada{background:repeating-linear-gradient(135deg,#fff 0 5px,#E5E7EB 5px 10px);color:var(--tinta)}

/* ---------- Banners ---------- */
.banner{display:flex;gap:16px;align-items:flex-start;padding:16px 20px;border:1px solid;border-left-width:6px;font-size:15px;line-height:1.5}
.banner .ico{flex:none;width:30px;height:30px;display:grid;place-items:center;font:700 16px "IBM Plex Mono";border-radius:50%}
.banner b.t{display:block;font-size:16px}
.banner.rev{background:var(--acento-2);border-color:var(--acento)}
.banner.rev .ico{background:var(--acento);color:#fff}
.banner.ret{border-color:var(--tinta);background:repeating-linear-gradient(135deg,#fff 0 12px,#F1F2F4 12px 24px)}
.banner.ret .ico{background:var(--tinta);color:#fff}
.banner.ej{background:#111827;border-color:#FDE68A;color:#fff}
.banner.ej .ico{background:#FDE68A;color:#111827}
.banner.info{background:var(--sup);border-color:var(--sec)}
.banner.info .ico{background:var(--sec);color:#fff}
.banner.okb{background:var(--ok-bg);border-color:var(--ok)}.banner.okb .ico{background:var(--ok);color:#fff}
.banner.bad{background:var(--bad-bg);border-color:var(--bad)}.banner.bad .ico{background:var(--bad);color:#fff}
.banner.warnb{background:var(--warn-bg);border-color:var(--warn)}.banner.warnb .ico{background:var(--warn);color:#fff}

/* ---------- Frase de veredicto (nueva, arriba de cada ficha) ---------- */
.frase{display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center;border:1px solid var(--linea);border-left:8px solid var(--bad);padding:22px 26px;margin:4px 0 28px;background:#fff}
.frase.ok{border-left-color:var(--ok)}.frase.warn{border-left-color:var(--warn)}.frase.nc{border-left-color:var(--gris)}
.frase .dice{font-size:26px;font-weight:600;line-height:1.25;margin-top:10px;letter-spacing:-.005em}
.frase .expl{color:var(--sec);margin-top:8px;font-size:16px}
.gramos-caja{border-left:1px solid var(--linea);padding-left:28px}
.gramos-caja .tit{font:500 12px "IBM Plex Mono";color:var(--sec);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;display:flex;justify-content:space-between;gap:16px}
.gramos{display:grid;grid-template-columns:repeat(12,16px);gap:4px}
.gramos i{width:16px;height:16px;display:block;background:var(--acento)}
.gramos i.p{background:linear-gradient(90deg,var(--acento) var(--p),#fff var(--p));box-shadow:inset 0 0 0 1px var(--acento)}
.gramos i.f{background:#fff;border:1.5px dashed var(--bad)}
.frase.ok .gramos i.f,.frase.warn .gramos i.f{border-color:var(--sec)}
.gramos-ley{display:flex;gap:16px;font-size:12px;color:var(--sec);margin-top:10px}
.gramos-ley span::before{content:"";display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:-1px;background:var(--acento)}
.gramos-ley span.f::before{background:#fff;border:1.5px dashed var(--bad)}

/* ---------- Formularios ---------- */
.campo{margin-bottom:20px}
.campo>label,.campo .lbl{display:block;font-weight:600;font-size:15px;margin-bottom:4px}
.campo .ayuda{font-size:13px;color:var(--sec);margin:-2px 0 6px}
.opc{font-weight:400;color:var(--sec);font-size:13px}
.req{color:var(--bad);font-weight:700}
.in{display:block;width:100%;font:16px "IBM Plex Sans",sans-serif;padding:10px 12px;border:1px solid var(--borde-campo);background:#fff;color:var(--tinta);border-radius:0;min-height:44px}
.in::placeholder{color:#6B7280}
textarea.in{min-height:110px;resize:vertical;line-height:1.5}
select.in{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23111827' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center;padding-right:34px;margin:0}
.in:focus,.in.is-focus{outline:3px solid var(--foco);outline-offset:1px;border-color:var(--tinta)}
.in[readonly],.in.calc{background:var(--sup);border-style:dashed;color:var(--tinta)}
.campo.err .in{border:2px solid var(--bad)}
.msg-err{display:flex;gap:6px;align-items:flex-start;color:var(--bad);font-size:14px;font-weight:600;margin-top:6px}
.msg-err::before{content:"✕";font-weight:700}
.msg-ok{display:flex;gap:6px;color:var(--ok);font-size:14px;font-weight:600;margin-top:6px}
.msg-ok::before{content:"✓"}
.cont{font:12px "IBM Plex Mono";color:var(--sec);text-align:right;margin-top:4px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.45;margin-bottom:10px}
.check .box{width:22px;height:22px;border:2px solid var(--borde-campo);flex:none;margin-top:1px;display:grid;place-items:center;font-size:14px;font-weight:700;background:#fff}
.check .box.on{background:var(--tinta);border-color:var(--tinta);color:#fff}
.check .box.on::after{content:"✓"}
.check .box.r{border-radius:50%}.check .box.r.on{background:#fff;box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 12px var(--tinta)}.check .box.r.on::after{content:""}
.campo.err .check .box{border-color:var(--bad)}
.fila{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fila3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}
fieldset{border:0}
legend{font-weight:600;font-size:15px;margin-bottom:8px}
.resumen-err{border:2px solid var(--bad);padding:16px 20px;background:#fff;margin-bottom:26px}
.resumen-err h2{font-size:18px;color:var(--bad);display:flex;gap:10px;align-items:center}
.resumen-err ul{margin:8px 0 0 22px;font-size:15px}
.resumen-err a{color:var(--bad);font-weight:600}
.legal{font-size:13px;color:var(--sec);line-height:1.5}
.antispam{font-size:13px;color:var(--sec);border-top:1px solid var(--linea);padding-top:12px;margin-top:6px}
.drop{border:2px dashed var(--borde-campo);padding:22px;text-align:center;background:var(--sup);font-size:15px}
.drop b{display:block}
.archivo{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--linea);padding:10px 14px;margin-top:8px;font-size:14px;background:#fff}
.archivo .n{font-weight:600}.archivo .m{font:12px "IBM Plex Mono";color:var(--sec)}
.archivo.err{border:2px solid var(--bad)}
.progreso{height:6px;background:var(--sup);margin-top:6px;position:relative}.progreso i{position:absolute;inset:0 auto 0 0;background:var(--acento)}
.opcion{border:1px solid var(--borde-campo);padding:14px 16px;display:flex;gap:12px;align-items:flex-start}
.opcion.on{border:2px solid var(--tinta);background:var(--sup)}
.opcion b{display:block;font-size:15px}.opcion span{font-size:14px;color:var(--sec)}

/* ---------- Varios ---------- */
.caja{border:1px solid var(--linea);padding:20px 22px;background:#fff}
.gris{color:var(--sec)}
.pasos{counter-reset:p;list-style:none}
.pasos li{position:relative;padding:0 0 18px 44px;font-size:15px;border-left:2px solid var(--linea);margin-left:14px}
.pasos li:last-child{border-left-color:transparent}
.pasos li::before{counter-increment:p;content:counter(p);position:absolute;left:-15px;top:-2px;width:28px;height:28px;border:2px solid var(--tinta);background:#fff;display:grid;place-items:center;font:600 13px "IBM Plex Mono"}
.pasos li.hecho::before{content:"✓";background:var(--tinta);color:#fff}
.pasos li b{display:block}
.pasos .plazo{font:12px "IBM Plex Mono";color:var(--sec);display:inline-block;border:1px dashed var(--borde-campo);padding:1px 6px;margin-top:4px}
.url{font:13px "IBM Plex Mono";color:var(--sec);background:var(--sup);border:1px solid var(--linea);padding:6px 10px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.url b{color:var(--tinta);font-weight:500}
.tag{font:500 12px "IBM Plex Mono";letter-spacing:.04em;text-transform:uppercase;color:var(--sec)}
.bloq{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:var(--sec);font-family:"IBM Plex Mono"}
.pag{display:flex;gap:6px;justify-content:center;align-items:center;margin-top:22px}
.pag a,.pag span{min-width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--linea);text-decoration:none;font:500 15px "IBM Plex Mono";padding:0 10px}
.pag .on{background:var(--tinta);color:#fff;border-color:var(--tinta)}
.chipx{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--tinta);padding:4px 6px 4px 10px;font-size:14px;margin:0 6px 6px 0;background:#fff}
.chipx button{border:0;background:var(--sup);width:22px;height:22px;font:700 13px "IBM Plex Sans";cursor:pointer;color:var(--tinta)}
.chipx small{color:var(--sec);font-size:12px}
.toc a{display:block;padding:7px 0 7px 12px;border-left:2px solid var(--linea);text-decoration:none;font-size:15px;color:var(--sec)}
.toc a.on{border-left:3px solid var(--acento);color:var(--tinta);font-weight:600}
.cuerpo h2{margin:34px 0 10px;font-size:24px;display:flex;gap:14px;align-items:baseline}
.cuerpo h2 .n{font:500 15px "IBM Plex Mono";color:var(--acento)}
.cuerpo p{margin-bottom:12px;max-width:68ch}
.cuerpo ul{margin:0 0 12px 22px;max-width:68ch}
.pie-legal{margin-top:10px;font-size:13px}
.campo>label.check{display:flex;font-weight:400;font-size:15px;margin-bottom:10px}
.campo>label.check b{font-weight:600}

/* ===== GENERADO por fuente/generar.py: no editar a mano ===== */
/* ==========================================================================
   Ronda 5 · resultados de laboratorio, huella, avisos y panel (a10–a13).
   Fuente: fuente/componentes_nuevos.css. generar.py lo copia dentro de
   pantallas/componentes.css, entre los marcadores «GENERADO». Sin estilos en línea.
   ========================================================================== */
/* ---------- Tabla «Etiqueta frente a laboratorio» con incertidumbre ---------- */
.tlab th,.tlab td{padding:10px 8px}
.tlab td{vertical-align:top}
.tlab .escala{width:104px;margin-top:6px}
.tlab .lab-v{white-space:nowrap}
.tlab small,.tabp small.sub{display:block;font:12px/1.35 "IBM Plex Sans",sans-serif;color:var(--sec);white-space:normal;margin-top:2px}
.tlab td.num small{text-align:right}
.tlab .met span{display:block;font-size:14px;line-height:1.3}
.tlab .met small{font-family:"IBM Plex Mono",monospace}
.sin-u{color:var(--warn)!important;font-weight:600!important;max-width:15ch;margin-left:auto}
.sin-u::before{content:"! ";font-weight:700}
.tlab .dif small{font-weight:400}
.dif.ncf,.tlab .dif.ncf{color:var(--gris);font-weight:600}
.tlab tr.fila-nc td{background:#F7F8FA}
.tlab tr.fila-nc td:first-child{box-shadow:inset 4px 0 0 var(--gris)}
.tlab tr.cambio td{background:#FFF8E6}
.tlab .ref-t{font-size:14px;color:var(--sec)}
.ev-ayuda{max-width:17ch}
.metod-apl{white-space:nowrap;font-weight:600;color:var(--tinta)}
/* Estado de fila «No concluyente»: gris + «±» + texto, contorno fino (distinto del veredicto gris sólido y del deshabilitado punteado) */
.v.ncf{color:var(--gris);background:#fff;box-shadow:inset 0 0 0 1.5px var(--gris)}
.v.ncf .ico{font-family:"IBM Plex Mono",monospace}
.gramos-u{font-size:12px;color:var(--sec);margin-top:6px;max-width:34ch;line-height:1.4}
.k-bad{color:var(--bad)!important}
.parr-s{font-size:15px}
.nota-s{font-size:14px;color:var(--sec);margin-top:8px}
.leyenda-exacto{margin-top:8px;font-size:13px;color:var(--sec)}
.sin-escala{display:inline-block;max-width:170px;font-size:12px;line-height:1.3;color:var(--sec)}
.pc-cero{margin-top:8px;font-size:12px;color:var(--sec)}
.gris-t{color:var(--sec)}
/* ---------- Huella SHA-256 completa ---------- */
.huella{border:1px solid var(--linea);border-top:0;background:var(--sup);padding:10px 16px 12px;margin:-10px 0 10px}
.huella-t{font:500 12px "IBM Plex Mono",monospace;color:var(--sec);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.huella-f{display:flex;gap:12px;align-items:flex-start}
.huella-v{flex:1;min-width:0;font:13px/1.5 "IBM Plex Mono",monospace;color:var(--tinta);overflow-wrap:anywhere;word-break:break-all;background:#fff;border:1px solid var(--linea);padding:6px 8px}
.huella-ayuda{font-size:12px;line-height:1.45;color:var(--sec);margin-top:6px}
.huella-ayuda code{font:11.5px "IBM Plex Mono",monospace;color:var(--tinta)}
.huella.suelta{border-top:1px solid var(--linea);margin:10px 0 0}
/* ---------- Aviso de calorías (mismo patrón que la alerta de amino spiking) ---------- */
.aviso-kcal{margin-top:14px;border-left:4px solid var(--warn);background:var(--warn-bg);padding:14px 16px;font-size:15px}
/* ---------- Casilla de factura y campo de justificación ---------- */
.check.req-chk{margin:10px 0 0;font-size:14px}
.check.sm .box{width:18px;height:18px;font-size:12px}
.check.cen{margin:0;justify-content:center}
.just{margin:6px 0 2px}
.just textarea.in{min-height:64px;font-size:14px}
.archivo.ok-borde{border:2px solid var(--ok)}
.archivo .msg-ok{margin:0}
.archivo-bloque{border:1px solid var(--linea);padding:10px 14px;margin-top:12px;background:#fff}
.archivo-bloque .archivo{margin:0;border:0;padding:0}
/* ---------- Panel: carga con incertidumbre (a04) ---------- */
.tabp2 th{padding:8px 5px;font-size:11px}
.tabp2 td{padding:5px 4px;font-size:13px;border-bottom:0;vertical-align:middle}
.tabp2 tr.ps td{border-bottom:1px solid var(--linea);padding:0 4px 10px}
.tabp2 .in{min-height:34px;padding:5px 7px;font-size:14px}
.in.w-par{width:168px}.in.w-num{width:58px;text-align:right}.in.w-uni{width:60px;padding-right:20px;background-position:right 6px center}
.in.w-met{width:230px}.in.w-lc{width:62px;text-align:right}
.ps-fila{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--sec);padding-left:4px}
.ps-fila label{font-weight:600;color:var(--tinta);font-size:12px}
.ps-fila .calc{display:inline-flex}
.congela{font:11px "IBM Plex Mono",monospace;color:var(--sec)}
.u-vacia{border:2px dashed var(--warn)!important;background:#FFFDF7!important}
.sug.neutra{border-color:var(--tinta);background:#fff}
.chip.btn-chip{font:14px "IBM Plex Sans",sans-serif;cursor:pointer}
.chip .n{font:12px "IBM Plex Mono",monospace}
tr.alerta-fila td{background:#FFF8F7}
.conf{color:var(--bad);font-weight:600}
.tp.conf{color:var(--bad)}
.rol{font-size:12px;color:var(--sec)}
/* ---------- Panel: publicación, retiro, configuración, conflictos (a10–a13) ---------- */
.estado-t{display:inline-block;font:600 12px "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border:1px dashed var(--borde-campo);background:#fff;margin-bottom:10px}
.bloque-p{margin-top:22px}
.bloque-p>h2{font-size:18px;margin-bottom:10px}
.pasos-h{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--linea);counter-reset:ph;margin-bottom:16px}
.pasos-h li{list-style:none;padding:12px 14px 12px 50px;border-right:1px solid var(--linea);position:relative;font-size:14px}
.pasos-h li:last-child{border-right:0}
.pasos-h li b{display:block;font-size:15px}
.pasos-h li::before{counter-increment:ph;content:counter(ph);position:absolute;left:14px;top:12px;width:26px;height:26px;border:2px solid var(--tinta);display:grid;place-items:center;font:600 13px "IBM Plex Mono",monospace;background:#fff}
.pasos-h li.hecho::before{content:"✓";background:var(--tinta);color:#fff}
.pasos-h li.fallo::before{content:"✕";background:var(--bad);border-color:var(--bad);color:#fff}
.pasos-h li.parado{color:var(--sec)}
.pasos-h li.parado::before{border-style:dashed;color:var(--sec)}
.cifras-p{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--linea);margin:12px 0}
.cifras-p div{padding:10px 12px;border-right:1px solid var(--linea)}
.cifras-p div:last-child{border-right:0}
.cifras-p b{display:block;font:600 22px "IBM Plex Mono",monospace}
.cifras-p span{font-size:12px;color:var(--sec)}
.tcontra td{font-size:13px;vertical-align:top}
.tcontra td.mal{background:var(--bad-bg)}
.fila-acc{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.fila-acc.der{justify-content:flex-end}
.gap-t{margin-top:14px}
.dlg{border:2px solid var(--tinta);background:#fff;max-width:660px;box-shadow:0 12px 30px rgba(17,24,39,.22)}
.dlg-h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--linea)}
.dlg-h h2,.dlg-h h3{font-size:18px}
.dlg-c{padding:16px 20px;font-size:14px}
.dlg-c p+p{margin-top:8px}
.dlg-f{display:flex;justify-content:flex-end;gap:10px;padding:12px 20px;border-top:1px solid var(--linea);background:var(--sup)}
.dlg.peligro{border-color:var(--bad)}
.dlg.peligro .dlg-h{background:var(--bad-bg);color:var(--bad)}
.btn.peligro-lleno{background:var(--bad);border-color:var(--bad);color:#fff}
.btn.peligro-lleno:hover,.btn.peligro-lleno.is-hover{background:#8E1B12;border-color:#8E1B12}
.efectos{list-style:none;border:1px solid var(--linea)}
.efectos li{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:10px 14px;border-bottom:1px solid var(--linea);font-size:14px}
.efectos li:last-child{border-bottom:0}
.efectos .i{width:24px;height:24px;display:grid;place-items:center;border:2px solid var(--tinta);font:700 13px "IBM Plex Mono",monospace}
.ej-val{display:inline-block;font:500 11px "IBM Plex Mono",monospace;color:var(--warn);background:var(--warn-bg);border:1px dashed var(--warn);padding:1px 6px;white-space:nowrap}
.tconf td{vertical-align:middle}
.tconf .in{min-height:34px;padding:5px 8px;font-size:14px}
.nota-ret{font-size:12px;color:var(--sec);margin-top:4px}
.metod-caja{display:flex;justify-content:space-between;align-items:center;gap:16px;border:2px solid var(--tinta);padding:12px 16px;margin-bottom:18px}
.metod-caja b.vv{font:600 22px "IBM Plex Mono",monospace}
.perfil{display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:center}
.perfil .av{width:56px;height:56px;border:2px solid var(--tinta);display:grid;place-items:center;font:600 18px "IBM Plex Mono",monospace}
.bloqueo-m{display:grid;grid-template-columns:64px 1fr;gap:18px;border:2px solid var(--bad);border-left-width:8px;padding:18px 22px;background:#fff}
.bloqueo-m .bi{width:56px;height:56px;border:3px solid var(--bad);color:var(--bad);display:grid;place-items:center;font-size:30px;border-radius:50%}
.bloqueo-m h3{font-size:19px;margin-bottom:4px}
.dos-p{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.pd{display:inline-block;font:500 13px "IBM Plex Mono",monospace;border:1px dashed var(--borde-campo);padding:0 5px;background:#fff;color:var(--tinta)}
.aviso-datos{margin:0 0 22px}
.lista-p{margin:6px 0 0 20px;font-size:14px}
.fecha-p{font-size:13px}
/* ---------- Celular: tarjetas con incertidumbre (m04) ---------- */
.pcard dd small{display:block;font:12px "IBM Plex Mono",monospace;color:var(--sec);white-space:normal;overflow-wrap:anywhere}
.pcard.ncf{border-left:4px solid var(--gris)}
.pcard .pc-met{font-size:12px;color:var(--sec);margin-top:6px;line-height:1.35}
.pcard .h{flex-wrap:wrap}
.m-h2{margin-top:26px}
.m-nota{font-size:13px;color:var(--sec);margin:2px 0 12px}
.m-nota .metod-apl{white-space:normal}

/* Anchos de barra (.pw-N) y llenado parcial de la cuadrícula (.pp-N) */
.pw-0{width:0%}
.pw-1{width:1%}
.pw-2{width:2%}
.pw-3{width:3%}
.pw-4{width:4%}
.pw-5{width:5%}
.pw-6{width:6%}
.pw-7{width:7%}
.pw-8{width:8%}
.pw-9{width:9%}
.pw-10{width:10%}
.pw-11{width:11%}
.pw-12{width:12%}
.pw-13{width:13%}
.pw-14{width:14%}
.pw-15{width:15%}
.pw-16{width:16%}
.pw-17{width:17%}
.pw-18{width:18%}
.pw-19{width:19%}
.pw-20{width:20%}
.pw-21{width:21%}
.pw-22{width:22%}
.pw-23{width:23%}
.pw-24{width:24%}
.pw-25{width:25%}
.pw-26{width:26%}
.pw-27{width:27%}
.pw-28{width:28%}
.pw-29{width:29%}
.pw-30{width:30%}
.pw-31{width:31%}
.pw-32{width:32%}
.pw-33{width:33%}
.pw-34{width:34%}
.pw-35{width:35%}
.pw-36{width:36%}
.pw-37{width:37%}
.pw-38{width:38%}
.pw-39{width:39%}
.pw-40{width:40%}
.pw-41{width:41%}
.pw-42{width:42%}
.pw-43{width:43%}
.pw-44{width:44%}
.pw-45{width:45%}
.pw-46{width:46%}
.pw-47{width:47%}
.pw-48{width:48%}
.pw-49{width:49%}
.pw-50{width:50%}
.pw-51{width:51%}
.pw-52{width:52%}
.pw-53{width:53%}
.pw-54{width:54%}
.pw-55{width:55%}
.pw-56{width:56%}
.pw-57{width:57%}
.pw-58{width:58%}
.pw-59{width:59%}
.pw-60{width:60%}
.pw-61{width:61%}
.pw-62{width:62%}
.pw-63{width:63%}
.pw-64{width:64%}
.pw-65{width:65%}
.pw-66{width:66%}
.pw-67{width:67%}
.pw-68{width:68%}
.pw-69{width:69%}
.pw-70{width:70%}
.pw-71{width:71%}
.pw-72{width:72%}
.pw-73{width:73%}
.pw-74{width:74%}
.pw-75{width:75%}
.pw-76{width:76%}
.pw-77{width:77%}
.pw-78{width:78%}
.pw-79{width:79%}
.pw-80{width:80%}
.pw-81{width:81%}
.pw-82{width:82%}
.pw-83{width:83%}
.pw-84{width:84%}
.pw-85{width:85%}
.pw-86{width:86%}
.pw-87{width:87%}
.pw-88{width:88%}
.pw-89{width:89%}
.pw-90{width:90%}
.pw-91{width:91%}
.pw-92{width:92%}
.pw-93{width:93%}
.pw-94{width:94%}
.pw-95{width:95%}
.pw-96{width:96%}
.pw-97{width:97%}
.pw-98{width:98%}
.pw-99{width:99%}
.pw-100{width:100%}
.pp-0{--p:0%}
.pp-1{--p:1%}
.pp-2{--p:2%}
.pp-3{--p:3%}
.pp-4{--p:4%}
.pp-5{--p:5%}
.pp-6{--p:6%}
.pp-7{--p:7%}
.pp-8{--p:8%}
.pp-9{--p:9%}
.pp-10{--p:10%}
.pp-11{--p:11%}
.pp-12{--p:12%}
.pp-13{--p:13%}
.pp-14{--p:14%}
.pp-15{--p:15%}
.pp-16{--p:16%}
.pp-17{--p:17%}
.pp-18{--p:18%}
.pp-19{--p:19%}
.pp-20{--p:20%}
.pp-21{--p:21%}
.pp-22{--p:22%}
.pp-23{--p:23%}
.pp-24{--p:24%}
.pp-25{--p:25%}
.pp-26{--p:26%}
.pp-27{--p:27%}
.pp-28{--p:28%}
.pp-29{--p:29%}
.pp-30{--p:30%}
.pp-31{--p:31%}
.pp-32{--p:32%}
.pp-33{--p:33%}
.pp-34{--p:34%}
.pp-35{--p:35%}
.pp-36{--p:36%}
.pp-37{--p:37%}
.pp-38{--p:38%}
.pp-39{--p:39%}
.pp-40{--p:40%}
.pp-41{--p:41%}
.pp-42{--p:42%}
.pp-43{--p:43%}
.pp-44{--p:44%}
.pp-45{--p:45%}
.pp-46{--p:46%}
.pp-47{--p:47%}
.pp-48{--p:48%}
.pp-49{--p:49%}
.pp-50{--p:50%}
.pp-51{--p:51%}
.pp-52{--p:52%}
.pp-53{--p:53%}
.pp-54{--p:54%}
.pp-55{--p:55%}
.pp-56{--p:56%}
.pp-57{--p:57%}
.pp-58{--p:58%}
.pp-59{--p:59%}
.pp-60{--p:60%}
.pp-61{--p:61%}
.pp-62{--p:62%}
.pp-63{--p:63%}
.pp-64{--p:64%}
.pp-65{--p:65%}
.pp-66{--p:66%}
.pp-67{--p:67%}
.pp-68{--p:68%}
.pp-69{--p:69%}
.pp-70{--p:70%}
.pp-71{--p:71%}
.pp-72{--p:72%}
.pp-73{--p:73%}
.pp-74{--p:74%}
.pp-75{--p:75%}
.pp-76{--p:76%}
.pp-77{--p:77%}
.pp-78{--p:78%}
.pp-79{--p:79%}
.pp-80{--p:80%}
.pp-81{--p:81%}
.pp-82{--p:82%}
.pp-83{--p:83%}
.pp-84{--p:84%}
.pp-85{--p:85%}
.pp-86{--p:86%}
.pp-87{--p:87%}
.pp-88{--p:88%}
.pp-89{--p:89%}
.pp-90{--p:90%}
.pp-91{--p:91%}
.pp-92{--p:92%}
.pp-93{--p:93%}
.pp-94{--p:94%}
.pp-95{--p:95%}
.pp-96{--p:96%}
.pp-97{--p:97%}
.pp-98{--p:98%}
.pp-99{--p:99%}
.pp-100{--p:100%}

/* ===== FIN GENERADO ===== */

/* ---------- 3. Ajustes globales del sitio real ---------- */
body{font-family:var(--fuente)}
.mono,td.num,.num{font-family:var(--fuente-mono)}
.saltar{z-index:100}.saltar:focus{top:8px}
#contenido:focus{outline:none!important}
[hidden]{display:none!important}
ul.tarjetas,ol.vers,ol.linea-t,ol.linea{list-style:none}
abbr[title]{text-decoration:underline dotted;cursor:help}
/* nav a (canvas) solo aplica al menú principal */
nav.migas a,nav.pie-enl a,nav.toc a,nav.pag a{margin-left:0}
nav.pie-enl a,nav.migas a{font-size:inherit}
nav.pag a[aria-current]{box-shadow:none;font-weight:500}
.pie-enl{display:inline}
/* Encabezado */
.logo{text-decoration:none;color:inherit}
.logo>span:last-child{display:block}
.menu-btn,.menu-buscar,.menu-extra,.menu .flecha,.indep-corta{display:none}
.menu{display:flex;align-items:center}
.menu a.cta{margin-left:26px}
.ejemplo{position:relative}
/* Tablas: encabezado de fila con aspecto de celda */
tbody th{font-size:15px;font-weight:400;color:var(--tinta);text-align:left;text-transform:none;letter-spacing:0;border-bottom:1px solid var(--linea);padding:12px 10px;vertical-align:middle}
.th-sub{text-transform:none;font-weight:400}
.sub{display:block;font:400 13px/1.4 var(--fuente);color:var(--sec);margin-top:2px;white-space:normal}
td.num .sub{font-family:var(--fuente-mono);font-size:12px}
.ref{font-size:14px;color:var(--sec)}
.l-corta{display:none}
.copiado{font:600 13px var(--fuente);color:var(--ok);margin-left:8px;white-space:nowrap}

/* ---------- Inicio (p01) ---------- */
.hero{padding:48px 0 32px;display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:end}
.hero p{color:var(--sec);margin-top:14px;max-width:60ch}
.buscar{margin-top:26px;display:flex;border:2px solid var(--tinta);position:relative;background:#fff}
.buscar input{flex:1;border:0;padding:16px;font:17px var(--fuente);min-width:0;color:var(--tinta)}
.buscar input:focus{outline:none!important}
.buscar:focus-within{outline:3px solid var(--foco);outline-offset:2px}
.buscar button{background:var(--tinta);color:#fff;border:0;padding:0 26px;font:600 16px var(--fuente);cursor:pointer}
.cifras{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--linea)}
.cifras div,.cifras a{padding:18px 20px;border-right:1px solid var(--linea);border-bottom:1px solid var(--linea);text-decoration:none;color:inherit}
.cifras>:nth-child(2n){border-right:0}.cifras>:nth-child(n+3){border-bottom:0}
.cifras b{font:600 30px var(--fuente-mono);display:block}.cifras span{font-size:13px;color:var(--sec)}
.filtros{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-top:1px solid var(--linea);gap:16px}
.filtros .f-izq{display:flex;align-items:center;flex-wrap:wrap}
.filtros form,.filtros .chips-g{display:inline-flex;align-items:center}
.filtros .tot{white-space:nowrap;font-size:14px;color:var(--sec)}
.filtros .chip{margin-right:4px;padding:4px 8px}
.filtros label,.filtros .lbl{font-size:13px;color:var(--sec);margin-right:8px}
.filtros select{font:15px var(--fuente);padding:6px 10px;border:1px solid var(--borde-campo);margin-right:10px;background:#fff;color:var(--tinta)}
.js .sin-js{display:none}
a.chip{text-decoration:none;color:var(--tinta)}
a.chip.on{color:#fff}
.tlab tbody th{vertical-align:top}
.tlab tr.fila-nc th{background:#F7F8FA;box-shadow:inset 4px 0 0 var(--gris)}
.tlab tr.cambio th{background:#FFF8E6}
.tabla-inicio td,.tabla-inicio th[scope=row],.tabla-listado td,.tabla-listado th[scope=row]{white-space:nowrap}
.tabla-inicio th[scope=row] a,.tabla-listado th[scope=row] a{color:var(--tinta);font-weight:600;text-decoration:none;border-bottom:1px solid var(--linea)}
.bar{display:inline-block;width:70px;height:8px;background:var(--sup);position:relative;vertical-align:middle;margin-left:8px}
.bar i{position:absolute;left:0;top:0;bottom:0;background:var(--acento)}
.bar::after{content:"";position:absolute;left:90%;top:-3px;bottom:-3px;width:1px;background:var(--tinta)}
.ver-todos{text-align:center;margin-top:20px}
.guia{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:48px}
.guia .h3{font-size:16px;margin:8px 0 6px}.guia p{font-size:15px;color:var(--sec)}
.ult-m,.chips-h{display:none}

/* ---------- Resultados (p02, p03, p10, p11, p12) ---------- */
.cab-res{padding:30px 0 18px}
.cab-res h1{font-size:32px;margin-top:4px}
.cab-res .buscar{margin-top:16px}
.cab-res .url{margin-top:12px}
.cab-res .migas{padding:0 0 6px}
.res{display:grid;grid-template-columns:260px 1fr;gap:40px;margin-top:22px}
.res>*{min-width:0}
.fl-cab{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.fl-cab h2{font-size:18px}
.fl-limpiar{font-size:14px}
.filtros-l fieldset{border-top:1px solid var(--linea);padding:14px 0 6px}
.filtros-l legend{font:600 12px var(--fuente);text-transform:uppercase;letter-spacing:.05em;color:var(--sec);padding:0;float:left;width:100%;margin-bottom:10px}
.filtros-l .check{font-size:14px;margin-bottom:8px;clear:both;align-items:center;position:relative;cursor:pointer}
.filtros-l .check .box{width:20px;height:20px;font-size:12px}
.filtros-l .n{margin-left:auto;font:13px var(--fuente-mono);color:var(--sec)}
.filtros-l select.in{font-size:15px;min-height:40px;clear:both}
.check input{position:absolute;opacity:0;width:20px;height:20px;margin:0;left:0;top:0}
.check input:checked+.box{background:var(--tinta);border-color:var(--tinta);color:#fff}
.check input:checked+.box::after{content:"✓"}
.check input:checked+.box.r{background:#fff;box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 12px var(--tinta)}
.check input:checked+.box.r::after{content:""}
.check input:focus-visible+.box{outline:3px solid var(--foco);outline-offset:2px}
.fl-aplicar .btn{margin-top:6px}
.fl-aplicar p{font-size:12px;color:var(--sec);margin-top:6px}
.js .fl-aplicar{display:none}
.fl-pie,.barra-m,.n-apl,.fl-orden{display:none}
.aplicados{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin-bottom:10px}
.aplicados .ap-l{font-size:13px;color:var(--sec);margin:0 10px 6px 0}
.aplicados .quitar{font-size:14px;margin:0 0 6px 4px}
.chipx a{display:grid;place-items:center;border:0;background:var(--sup);width:22px;height:22px;font:700 13px var(--fuente);color:var(--tinta);text-decoration:none}
.barra-orden{display:flex;justify-content:space-between;align-items:center;padding:10px 0 12px;border-bottom:0;gap:12px}
.conteo{font-size:14px;color:var(--sec)}.conteo b{color:var(--tinta)}
.orden{display:flex;align-items:center;gap:10px}
.ord-l{font-size:13px;color:var(--sec)}
html:not(.js) .orden{display:none}
.seg{display:inline-flex;border:1px solid var(--tinta)}
.seg label{position:relative;display:block}
.seg input{position:absolute;opacity:0;inset:0;margin:0;width:100%;height:100%;cursor:pointer}
.seg span{display:block;background:#fff;font:14px var(--fuente);padding:7px 12px;color:var(--tinta);border-right:1px solid var(--tinta);cursor:pointer;white-space:nowrap}
.seg label:last-child span{border-right:0}
.seg input:checked+span{background:var(--tinta);color:#fff;font-weight:600}
.seg input:focus-visible+span{outline:3px solid var(--foco);outline-offset:2px}
.pctc{font:600 14px var(--fuente-mono)}
.pml{font-size:13px;color:var(--sec)}
.par{font:12px var(--fuente);color:var(--sec)}
.sd{font-size:14px}
.tabla-listado .cat{font-size:14px}
.tg{table-layout:auto}.tg td,.tg th{padding-left:8px;padding-right:8px}.tg td:nth-child(2){white-space:normal;font-size:13px!important;max-width:100px}.tg td:nth-child(5){white-space:normal;min-width:130px}.tg td:nth-child(5) .v{margin:2px 0}
.pag .dis{color:var(--sec)}
.pag-res{text-align:center;font-size:13px;color:var(--sec);margin-top:10px}
.auto{position:absolute;left:-2px;right:-2px;top:100%;margin-top:4px;background:#fff;border:2px solid var(--tinta);box-shadow:0 12px 28px rgba(17,24,39,.18);z-index:5;font-size:15px}
.auto .auto-h{font:600 11px var(--fuente-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--sec);padding:10px 16px 4px}
.auto [role=option]{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;gap:16px;cursor:pointer}
.auto [role=option][aria-selected=true]{background:var(--acento-2);box-shadow:inset 4px 0 0 var(--acento)}
.auto small{color:var(--sec);font-size:13px}
.auto mark{background:none;color:inherit;font-weight:700;text-decoration:underline}
.auto .todo{border-top:1px solid var(--linea);padding:10px 16px;font-size:14px;display:flex;justify-content:space-between;color:var(--sec)}
.vacio{border:1px solid var(--linea);padding:36px 40px;margin-top:6px}
.vacio h2{font-size:24px;margin-top:6px}
.vacio>p.gris{margin-top:10px}
.vacio ul{margin:10px 0 0 22px;font-size:15px}
.vacio-sug{border-top:1px solid var(--linea);margin-top:26px;padding-top:22px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.vacio-sug b{font-size:18px}.vacio-sug p{font-size:15px}
.parecidos{font-size:14px;color:var(--sec);margin-top:18px}
.banner-cat{margin:4px 0 6px}
.tag-def,.tag-borde{border:1px dashed var(--borde-campo);padding:1px 6px;white-space:nowrap}
.retiradas{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:12px 14px;border:1px dashed var(--borde-campo);background:repeating-linear-gradient(135deg,#fff 0 10px,var(--rayado) 10px 20px);font-size:14px}
.retiradas .ico{flex:none;width:24px;height:24px;display:grid;place-items:center;background:var(--tinta);color:#fff;font-size:14px}
.pie-res{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:18px}
.pie-res>span{font-size:13px;color:var(--sec)}
.sinjs{margin:0 0 12px}

/* ---------- Ficha (f01, f03, f04, f05, f09, f10) ---------- */
.migas{font-size:14px;color:var(--sec);padding:22px 0 10px}.migas a{color:var(--sec)}
.cab{display:grid;grid-template-columns:1fr 380px;gap:40px;padding-bottom:28px;border-bottom:2px solid var(--tinta)}
.cab.sin-borde{border-bottom:0;padding-bottom:0}
.cab h1{font-size:36px;margin:6px 0 4px}.cab .sub{display:block;font:inherit;color:var(--sec);margin:0}
.meta{display:grid;grid-template-columns:repeat(4,1fr);margin-top:22px;border-top:1px solid var(--linea)}
.meta div{padding:10px 12px 10px 0;border-bottom:1px solid var(--linea)}
.meta dt{display:block;font-size:12px;color:var(--sec);text-transform:uppercase;letter-spacing:.05em}.meta dd{font:500 15px var(--fuente-mono)}
.meta a{font:500 13px var(--fuente)}
.frase-cab{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.frase-cab .tag{margin-left:6px}
.veredicto{border:2px solid var(--bad);background:var(--bad-bg);padding:22px}
.veredicto .kicker{color:var(--bad)}
.veredicto .t{display:flex;align-items:center;gap:10px;color:var(--bad);font-weight:700;font-size:26px}
.veredicto .t i{font-style:normal;width:34px;height:34px;border-radius:50%;background:var(--bad);color:#fff;display:grid;place-items:center;font-size:18px;flex:none}
.veredicto p{margin-top:10px;font-size:17px}
.veredicto p.sec{font-size:15px}
.veredicto .sig{font-weight:600}
.veredicto .aviso-muestra,.hcab .aviso-muestra{margin-top:12px;font-size:14px;color:var(--sec)}
.veredicto .pie{margin-top:14px;font-size:13px;color:var(--sec)}
.veredicto.ok{border-color:var(--ok);background:var(--ok-bg)}.veredicto.ok .t{color:var(--ok)}.veredicto.ok .t i{background:var(--ok)}
.veredicto.nc{border-color:var(--gris);background:var(--gris-bg)}.veredicto.nc .t{color:var(--gris)}.veredicto.nc .t i{background:var(--gris)}
.veredicto.warn{border-color:var(--warn);background:var(--warn-bg)}.veredicto.warn .t{color:var(--warn)}.veredicto.warn .t i{background:var(--warn)}
.veredicto.ok .kicker{color:var(--ok)!important}.veredicto.nc .kicker{color:var(--gris)!important}.veredicto.warn .kicker{color:var(--warn)!important}
.bloque{margin-top:40px}.bloque h2{margin-bottom:4px}.bloque .nota{color:var(--sec);font-size:14px;margin-bottom:14px}
.bloque .h2-sep{margin-bottom:14px}
.escala{position:relative;height:10px;width:160px;background:var(--sup);display:inline-block;vertical-align:middle}
.escala i{position:absolute;top:0;bottom:0;left:0;background:var(--acento)}
.escala::after{content:"";position:absolute;left:62.5%;top:-4px;bottom:-4px;width:2px;background:var(--tinta)}
.dif.bad{color:var(--bad);font-weight:600}.dif.ok{color:var(--ok)}.dif.ref,.dif.nc{color:var(--sec)}
.alerta{margin-top:14px;border-left:4px solid var(--warn);background:var(--warn-bg);padding:14px 16px;font-size:15px}
.amino-ok{margin-top:14px}
.fuente-lim{font-size:13px;color:var(--sec);margin-top:8px}
.metales-resumen summary{cursor:pointer;list-style:none}
.metales-resumen summary::-webkit-details-marker{display:none}
.enlace-sim{color:var(--tinta);text-decoration:underline;text-underline-offset:3px}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.dos>*{min-width:0}
.caja.motivo{margin-bottom:10px}.caja.motivo p{font-size:15px;color:var(--sec);margin-top:4px}
.fecha-paso{font-size:13px}.det-paso{font-size:14px;display:block}
.rss{font-size:14px}
.doc{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--linea);padding:14px 16px;margin-bottom:10px;gap:14px}
.doc>div{min-width:0}
.doc b{font-size:15px}.doc span{font-size:13px;color:var(--sec)}
.doc-marca{margin:12px 0 0}
.cita{margin-top:6px}
.comparar-perma{font-size:14px;margin-top:14px}.comparar-perma .mono{font-size:13px}
.marca-cta{font-size:14px;color:var(--sec);margin-top:8px}
.linea-t{border-left:2px solid var(--linea);padding-left:18px}
.linea-t li{position:relative;padding-bottom:14px;font-size:15px}.linea-t li::before{content:"";position:absolute;left:-24px;top:7px;width:10px;height:10px;background:#fff;border:2px solid var(--tinta);border-radius:50%}
.linea-t time,.linea-t .sin-fecha{font:13px var(--fuente-mono);color:var(--sec);display:block}
.enrev{outline:2px dashed var(--acento);outline-offset:10px;position:relative}
.enrev-tag{position:absolute;right:-10px;top:-24px;background:var(--acento);color:#fff;font:600 12px var(--fuente-mono);padding:3px 8px;letter-spacing:.04em}
.rev-linea{margin-top:10px}
.banner-ancho{border-width:0;border-top:1px solid var(--acento);border-bottom:1px solid var(--acento);border-left:0}
.banner-ancho .wrap{display:flex;gap:16px;align-items:flex-start;width:100%}
.banner-ver{display:flex;align-items:center;gap:14px;margin-top:18px;padding:12px 16px;border:2px solid var(--tinta);background:repeating-linear-gradient(135deg,#fff 0 12px,var(--rayado) 12px 24px)}
.banner-ver .ico{flex:none;width:30px;height:30px;display:grid;place-items:center;background:var(--tinta);color:#fff;font-size:17px}
.banner-ver div{flex:1}.banner-ver b{display:block;font-size:16px}.banner-ver span{font-size:14px;color:var(--sec)}
tr.cambio td,tr.cambio th{background:var(--cambio-bg)}.corr{display:block;font-size:12px;color:var(--warn);font-weight:600}
.volver,.tarjetas-lab,.docs-m{display:none}
.pcard .sub{font-size:12px}

/* ---------- Historial (f02) ---------- */
.hcab{padding:6px 0 24px;border-bottom:2px solid var(--tinta)}.hcab h1{margin-top:6px;font-size:34px}
.hcab .banner{margin-top:16px}
.hcab p.gris{margin-top:4px}
.vers{margin-top:10px}
.ver{display:grid;grid-template-columns:90px minmax(0,1fr);border-bottom:1px solid var(--linea);padding:26px 0}
.ver .vn{font-size:30px;font-weight:600}
.ver.act .vn{color:var(--acento)}
.vh{display:flex;gap:14px;align-items:center;margin-bottom:12px;font-size:15px}
.ver dl{display:grid;grid-template-columns:140px 1fr;gap:6px 18px;font-size:15px;max-width:900px}
.ver dt{color:var(--sec);font-size:13px;text-transform:uppercase;letter-spacing:.04em;padding-top:2px}
.diff{margin-top:16px;max-width:760px}.diff td,.diff tbody th{font-size:14px;padding:8px 10px}
del{color:var(--bad);text-decoration:line-through}ins{color:var(--ok);text-decoration:none;font-weight:600}
.sin-cambio{font-size:13px;color:var(--sec)}
.nota-corr{margin-top:12px;font-size:15px}
.perma{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;background:var(--sup);border:1px solid var(--linea);padding:8px 12px;font-size:14px;max-width:900px}
.hist-pie{font-size:14px;color:var(--sec);margin-top:10px}

/* ---------- Nota de corrección (f08) ---------- */
.franja-c{display:flex;justify-content:space-between;padding:10px 20px;color:#fff;background:repeating-linear-gradient(135deg,#111827 0 14px,#1F2937 14px 28px);font-size:13px;letter-spacing:.08em;margin-bottom:18px}
.art-cab{padding:10px 0 24px;border-bottom:2px solid var(--tinta);max-width:900px}
.art-cab h1{margin-top:6px}.ent{font-size:20px;color:var(--sec);margin-top:12px;line-height:1.5}
.meta-a{display:grid;grid-template-columns:repeat(5,auto);gap:0 28px;margin-top:20px;justify-content:start}
.meta-a dt{font-size:12px;color:var(--sec);text-transform:uppercase;letter-spacing:.05em}.meta-a dd{font-size:15px}
.reg{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);margin-top:18px;max-width:1100px}
.reg div{padding:10px 12px 10px 0}.reg dt{font-size:12px;color:var(--sec);text-transform:uppercase;letter-spacing:.05em}.reg dd{font-size:15px}
div.met{display:grid;grid-template-columns:260px 1fr;gap:56px}div.met aside{padding-top:34px}
.toc .tag{display:block;margin-bottom:8px}
.enl{margin-top:24px;display:flex;flex-direction:column;gap:8px;font-size:14px}
.enl .tag{margin-bottom:0}
.sinprod{font-size:14px;color:var(--sec);border-left:3px solid var(--tinta);padding-left:12px;margin-top:34px}
.linea{margin-left:0}.linea li{padding-left:0;margin-bottom:8px}.linea .mono{display:inline-block;min-width:98px;font-weight:600}
.cuerpo ol.linea{max-width:68ch;margin-bottom:12px}
.prop{border:1px dashed var(--borde-campo);padding:14px 16px;max-width:760px;margin-bottom:12px}
.prop p{margin-top:8px;margin-bottom:0}
.nota-p{font-size:14px;color:var(--sec)}
.cuerpo p.cierre{font-size:14px;color:var(--sec);margin-top:26px}

/* ---------- 4. Celular (≤ 760 px; canvas m01–m04, dibujado a 390 px, verificado a 375 y 390) ---------- */
@media (min-width:761px){
  .solo-movil{display:none!important}
}
@media (max-width:760px){
  .solo-escritorio{display:none!important}
  .l-larga{display:none!important}
  .l-corta{display:inline}
  body{font-size:var(--texto-base-movil)}
  .wrap{padding:0 var(--margen-lateral-movil);max-width:none}
  h1{font-size:var(--h1-movil);line-height:1.2}
  h2{font-size:var(--h2-movil)}
  .kicker{font-size:12px}
  .ejemplo{font-size:11px}
  footer{margin-top:36px;padding:20px 0;font-size:13px}
  .pie-legal{font-size:12px}
  /* Encabezado y menú (m02) */
  .top .wrap{height:var(--alto-encabezado-movil);padding:0 16px 0 20px}
  .logo .marca{width:30px;height:30px;font-size:12px}
  .logo b{font-size:15px}.logo small{font-size:10px}
  .mbtn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--tinta);background:#fff;padding:0 12px;height:44px;font:600 14px var(--fuente);color:var(--tinta);text-decoration:none;cursor:pointer}
  .mbtn .hb{display:inline-block;width:16px;height:2px;background:var(--tinta);box-shadow:0 -5px 0 var(--tinta),0 5px 0 var(--tinta)}
  .js .menu-btn{display:inline-flex}
  .menu-abierto .menu-btn .hb{display:none}
  .js .menu{display:none}
  .menu{flex-direction:column;align-items:stretch}
  .js .menu-abierto .menu{display:flex;position:fixed;left:0;right:0;bottom:0;top:var(--menu-top,60px);background:#fff;z-index:50;overflow-y:auto;padding:14px 20px 24px}
  .menu-buscar{display:block;margin:0 0 8px}
  .menu a.it{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--linea);font-size:19px;font-weight:600;text-decoration:none;margin:0}
  .menu a.it[aria-current]{box-shadow:inset 4px 0 0 var(--tinta);padding-left:12px}
  .menu .flecha{display:inline}
  .menu a.cta{display:flex;justify-content:center;margin:20px 0 0;background:var(--tinta);color:#fff;border:1px solid var(--tinta);padding:14px 26px;font:600 16px/1.2 var(--fuente)}
  .menu-extra{display:flex;flex-direction:column;gap:10px;margin-top:18px;font-size:14px}
  .menu-extra a{margin:0;font-size:14px}
  .menu-extra p{font-size:12px;color:var(--sec);margin-top:8px}
  html:not(.js) .top .wrap{flex-wrap:wrap;height:auto;padding-top:10px;padding-bottom:10px}
  html:not(.js) .menu{width:100%}
  .indep{font-size:12px}
  .indep .wrap{padding:6px 20px}
  .indep span{display:none}
  .indep-corta{display:inline;font-style:normal}
  .indep-corta::before{content:"— ";color:var(--acento)}
  /* Buscador y cifras (m01) */
  .buscar{margin-top:18px}
  .buscar input{padding:12px;font-size:16px}
  .buscar button{padding:0 16px;font-size:15px}
  .mbuscar{border:2px solid var(--tinta);display:flex;background:#fff}
  .mbuscar input{flex:1;border:0;padding:12px;font:16px var(--fuente);min-width:0}
  .mbuscar input:focus{outline:none!important}
  .mbuscar:focus-within{outline:3px solid var(--foco);outline-offset:2px}
  .mbuscar button{background:var(--tinta);color:#fff;border:0;padding:0 16px;font:600 15px var(--fuente)}
  .hero{display:block;padding:24px 0 0}
  .hero h1{margin-top:6px}
  .hero p{margin-top:10px;font-size:15px}
  .cifras{margin-top:20px}
  .cifras div,.cifras a{padding:12px 14px}
  .cifras b{font-size:22px}.cifras span{font-size:12px}
  .ult-m{display:flex;justify-content:space-between;align-items:center;margin-top:26px}
  .chips-h{display:flex;gap:6px;overflow-x:auto;margin-top:12px;white-space:nowrap;scrollbar-width:none}
  .chips-h .chip{margin-right:0;flex:none}
  .tarj{border-bottom:1px solid var(--linea);padding:14px 0;display:block;text-decoration:none;color:inherit}
  .tarj>span{display:block}
  .tarj .p{font-weight:600;font-size:16px;text-decoration:underline;text-decoration-color:var(--linea);text-underline-offset:3px}
  .tarj .m{font-size:13px;color:var(--sec)}
  .tarj .r{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:14px;gap:8px}
  .tarj .m.mono{margin-top:4px}
  .tarj .vv{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
  .ver-todos{margin-top:16px}
  .guia{display:block;margin-top:28px}
  .guia>div+div{margin-top:14px}
  .guia .h3{font-size:16px;margin:0}
  .guia p{font-size:14px}
  /* Resultados (m03) */
  .cab-res{padding:16px 0 6px}
  .cab-res h1{font-size:22px}
  .url{flex-wrap:wrap}.url b{word-break:break-all}
  .res{display:block;margin-top:10px}
  .barra-m{display:flex;justify-content:flex-end;margin-bottom:10px}
  html:not(.js) .barra-m{display:none}
  .orden{display:none}
  .barra-orden{padding:4px 0 6px}
  .n-apl{display:inline;font-size:14px;color:var(--sec);font-weight:400}
  .js .hoja{display:none}
  .js .hoja.abierta{display:flex;flex-direction:column;position:fixed;left:0;right:0;bottom:0;top:96px;background:#fff;z-index:60;box-shadow:0 -8px 24px rgba(0,0,0,.2)}
  .velo{position:fixed;inset:0;background:var(--velo);z-index:55}
  .hoja .filtros-l{display:flex;flex-direction:column;height:100%}
  .js .fl-cab{padding:12px 20px;border-bottom:1px solid var(--linea);margin:0;align-items:center}
  .js .fl-cuerpo{flex:1;overflow-y:auto;padding:0 20px}
  .fl-orden{display:block}
  .filtros-l fieldset{border-top:0;border-bottom:1px solid var(--linea);padding:12px 0}
  .filtros-l legend{font:600 15px var(--fuente);text-transform:none;letter-spacing:0;color:var(--tinta);margin-bottom:0}
  .filtros-l .check{font-size:15px;margin:10px 0 0;min-height:24px}
  .filtros-l .check .box{width:22px;height:22px}
  .js .fl-pie{display:flex;gap:10px;padding:12px 20px;border-top:1px solid var(--linea);background:#fff}
  .fl-pie .btn.sec{flex:1}.fl-pie .btn:not(.sec){flex:2}
  html:not(.js) .fl-cab .mbtn{display:none}
  html:not(.js) .hoja{margin-bottom:16px}
  .vacio{padding:22px 18px}
  .vacio-sug{flex-direction:column;align-items:flex-start;gap:14px}
  .pie-res{flex-direction:column;align-items:flex-start}
  .pie-res .btn{white-space:normal;text-align:center;max-width:100%}
  .tabla-declara th,.tabla-declara td{padding-left:6px;padding-right:6px}
  .tabla-declara th{letter-spacing:0;font-size:11px}
  .tabla-declara td{font-size:14px}
  .tabla-declara .v{white-space:normal}
  .tabla-declara thead th:nth-child(4),.tabla-declara td.met{display:none}
  .pag{flex-wrap:wrap}
  /* Ficha (m04) */
  .volver{display:block;font-size:13px;color:var(--sec);padding:14px 0 8px}
  .volver a{color:var(--sec)}
  .frase{display:block;padding:16px 16px 18px;border-left-width:6px;margin:4px 0 22px}
  .frase .dice{font-size:21px}
  .frase .expl{font-size:15px}
  .frase-cab .tag{display:none}
  .gramos-caja{border-left:0;padding-left:0;border-top:1px solid var(--linea);padding-top:12px;margin-top:14px}
  .gramos{grid-template-columns:repeat(12,18px)}.gramos i{width:18px;height:18px}
  .gramos-ley{flex-direction:column;gap:4px}
  .cab{display:block;padding-bottom:0;border-bottom:0}
  .cab h1{font-size:24px;margin:4px 0 0}
  .cab .sub{font-size:14px}
  .cab .veredicto{display:none}
  .meta{grid-template-columns:1fr 1fr;margin-top:14px}
  .meta div{padding:8px 8px 8px 0}
  .meta dt{font-size:11px}.meta dd{font-size:14px}
  .meta .m-oculto{display:none}
  .meta .m1{order:1}.meta .m2{order:2}.meta .m3{order:3}.meta .m4{order:4}
  .bloque{margin-top:26px}
  .bloque .nota{font-size:13px;margin:2px 0 12px}
  .tarjetas-lab,.docs-m{display:block}
  .pcard{border:1px solid var(--linea);padding:14px;margin-bottom:10px}
  .pcard .h{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-size:15px}
  .pcard dl{display:grid;grid-template-columns:repeat(3,1fr);margin-top:10px;border-top:1px solid var(--linea);padding-top:8px}
  .pcard dt{font-size:11px;color:var(--sec);text-transform:uppercase;letter-spacing:.04em}.pcard dd{font:500 15px var(--fuente-mono)}
  .pcard .sub{margin-top:6px}
  .pcard.bad{border-left:4px solid var(--bad)}
  .pcard .escala{display:block;width:auto;height:8px;margin-top:10px}
  .pcard .escala::after{left:80%}
  .pcard.ref{border-left:4px solid var(--linea)}
  .pcard .ref-t{font-size:13px;color:var(--sec)}
  .pcard.pc-mas{padding:12px 14px}
  .pcard.pc-mas summary{font-weight:600;font-size:15px;cursor:pointer}
  .pcard.pc-mas .pcard{margin:10px 0 0}
  .alerta{margin-top:10px;padding:12px 14px;font-size:14px}
  .banner{padding:12px 14px;gap:12px;font-size:14px}
  .tabla-metales th,.tabla-metales td{padding:10px 6px;font-size:14px}
  .tabla-metales thead th{font-size:11px}
  .dos{display:block}
  .dos>div+div{margin-top:24px}
  .bloque .h2-sep{margin-bottom:10px}
  .docs-m .btn{margin-top:10px;white-space:normal;text-align:center}
  .docs-m .btn.sec{margin-top:8px}
  .respuestas{margin-top:10px;font-size:14px}
  .respuestas time{font-size:12px}
  .respuestas p+p{margin-top:8px}
  .marca-cta{margin-top:10px;color:var(--tinta)}
  .enrev{outline-offset:4px}
  .enrev-tag{right:0}
  .banner-ancho .wrap{padding:0}
  .banner-ver{flex-wrap:wrap}
  .doc{flex-wrap:wrap}
  /* Historial y nota */
  .hcab h1{font-size:26px}
  .ver{grid-template-columns:48px minmax(0,1fr);padding:20px 0}
  .ver .vc{min-width:0}
  .ver .vn{font-size:22px}
  .ver dl{grid-template-columns:1fr;gap:2px}
  .ver dd{margin-bottom:8px}
  .diff-caja{overflow-x:auto}
  .perma{flex-direction:column;align-items:flex-start}
  .perma b{word-break:break-all}
  .ent{font-size:17px}
  .meta-a{grid-template-columns:1fr 1fr;gap:10px 20px}
  .reg{grid-template-columns:1fr 1fr}
  div.met{display:block}div.met aside{padding-top:20px}
  .franja-c{padding:10px 12px;font-size:11px}
  .cuerpo h2{font-size:20px}
}
/* Metales pesados en celular (m04): tarjeta resumen con valores desplegables */
.metales-m{margin-top:18px}
.metales-m .pc-t{font-size:15px;font-weight:700;margin:0}
.metales-m summary{font-size:14px;color:var(--sec);margin-top:6px;cursor:pointer;list-style:none}
.metales-m summary::-webkit-details-marker{display:none}
.metales-m .enlace-sim{color:var(--tinta);text-decoration:underline}
.metales-lista{list-style:none;margin-top:8px;font-size:14px}
.metales-lista li{padding:6px 0;border-top:1px solid var(--linea)}
.metales-lista .num{font-family:var(--fuente-mono)}
.metales-m .fuente-lim{font-size:12px;color:var(--sec);margin-top:6px}
.pcard dd small.sin-u{white-space:normal;margin-left:0;max-width:none;font-family:var(--fuente);font-size:11px;line-height:1.3}
.pcard dl>div{min-width:0}

/* ---------- 5. Fase 2: Metodología (p05, p14), 404 (p09) y ficha retirada 410 (f06) ---------- */
.cab-p{padding:10px 0 26px;border-bottom:2px solid var(--tinta)}
.cab-p h1{margin-top:6px;font-size:36px}
.cab-p p{color:var(--sec);margin-top:10px;max-width:70ch}
.pag-metodologia div.met{margin-top:10px}
.pag-metodologia div.met aside{position:sticky;top:20px;align-self:start}
.toc-n{font-size:13px}
.ver-lat{margin-top:20px;font-size:13px;color:var(--sec);line-height:1.5}
.ver-lat b{color:var(--tinta)}
.pd-tag{border:1px dashed var(--borde-campo);padding:1px 6px;white-space:nowrap}
.nw{white-space:nowrap}
.cuerpo td,.cuerpo tbody th{font-size:15px}
.cuerpo td a{color:var(--tinta);font-weight:600;text-decoration:none;border-bottom:1px solid var(--linea)}
.cuerpo .tabla-m{margin:0 0 12px}
.tmet .t-par{width:34%}.tmet .t-tol{white-space:nowrap}.cuerpo td.t-uso{font-size:14px;color:var(--sec)}
.tver .t-v{width:210px}
.mt14{margin-top:14px}
.h3-corr{font-size:17px;margin:22px 0 8px}
.banner-ver{display:flex;align-items:center;gap:14px;margin-top:18px;padding:12px 16px;border:2px solid var(--tinta);background:repeating-linear-gradient(135deg,#fff 0 12px,#F3F4F6 12px 24px)}
.banner-ver .ico{flex:none;width:30px;height:30px;display:grid;place-items:center;background:var(--tinta);color:#fff;font-size:17px}
.banner-ver div{flex:1}.banner-ver b{display:block;font-size:16px}.banner-ver span{font-size:14px;color:var(--sec)}
.e404{max-width:720px;margin:70px auto 40px;border:2px dashed var(--linea);padding:48px 56px}
.cod{font-size:15px;color:var(--sec);letter-spacing:.08em}.e404 h1{margin:8px 0 12px}.e404 p{color:var(--sec)}
.b404{margin-top:28px}.b404 label{font-weight:600;font-size:15px}
.b404-c{display:flex;border:2px solid var(--tinta);margin-top:6px}
.b404-c input{flex:1;min-width:0;border:0;padding:14px;font:16px "IBM Plex Sans",sans-serif}
.b404-c .btn{border:0}
.ir{list-style:none;display:flex;gap:22px;margin-top:22px;font-size:15px;flex-wrap:wrap}
.pag-ficha-retirada .migas{padding:22px 0 0}
.aviso410{margin:22px 0 20px;border:2px solid var(--tinta)}
.franja{display:flex;justify-content:space-between;padding:12px 24px;color:#fff;background:repeating-linear-gradient(135deg,#111827 0 14px,#1F2937 14px 28px);font-size:14px;letter-spacing:.08em}
.cont410{display:grid;grid-template-columns:170px 1fr;gap:40px;padding:36px 40px 40px}
.sello{width:150px;height:150px;border:4px double var(--tinta);display:grid;place-items:center;align-content:center;font-size:56px;line-height:1;transform:rotate(-6deg)}
.sello small{font:700 14px "IBM Plex Mono";letter-spacing:.14em;margin-top:6px}
.cont410 h1{margin-top:6px}
.ret-txt{margin-top:10px;max-width:62ch}
.reg.reg5{grid-template-columns:repeat(5,1fr);margin-top:22px;border-bottom:0;max-width:none}
.reg5 div{border-bottom:1px solid var(--linea)}
.reg5 .motivo{grid-column:1/-1}.reg5 .motivo dd{font-size:17px;max-width:75ch}
.acc410{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}
@media (max-width:760px){
  .cab-p h1{font-size:28px}
  .pag-metodologia div.met aside{position:static}
  .tabla-m thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tabla-m tr{display:block;border-bottom:1px solid var(--linea);padding:10px 0}
  .tabla-m td,.tabla-m tbody th{display:block;border:0;padding:2px 0;width:auto!important}
  .tabla-m .t-tol{white-space:normal}
  .banner-ver{flex-wrap:wrap}
  .e404{margin:30px 0;padding:28px 20px}
  .franja{padding:10px 12px;font-size:11px}
  .cont410{grid-template-columns:1fr;gap:18px;padding:22px 18px 24px}
  .sello{width:96px;height:96px;font-size:36px}.sello small{font-size:11px}
  .reg.reg5{grid-template-columns:1fr 1fr}
  .acc410 .btn{white-space:normal}
}
/* Historial de ficha retirada (f07) */
.hcab .banner.ret{margin-top:14px}
.acc-ret{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.ret-caja{display:flex;gap:12px;align-items:flex-start;margin:12px 0;padding:12px 14px;border:1px dashed var(--borde-campo);background:repeating-linear-gradient(135deg,#fff 0 12px,#F3F4F6 12px 24px);font-size:14px}
.ret-caja .ico{flex:none;width:22px;height:22px;display:grid;place-items:center;background:var(--tinta);color:#fff;font-size:13px}
.ret-caja p{margin:0}

/* ---------- Comparativa por categoría (p04, p13; bloque 1 de la ronda del 30/09/2026) ---------- */
.cmp-tabs{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.cmp-tabs-l{font-size:13px;color:var(--sec);margin-right:10px}
.cmp-tabs .chip{margin:0}
.chip.chip-link{text-decoration:none;color:var(--tinta)}
.chip.chip-link.on{color:#fff}
.chip.chip-link:hover{background:var(--sup)}.chip.chip-link.on:hover{background:var(--tinta)}
.cmp-aviso{margin-top:18px}
.g-leyenda{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;font-size:14px;align-items:center;margin:0 0 10px;padding:0}
.g-leyenda li{display:flex;align-items:center;gap:6px}
.g-q{display:inline-grid;place-items:center;width:16px;height:16px;font:700 12px var(--fuente-mono);border:1.5px solid var(--gris);color:var(--gris);border-radius:50%}
.g-marco{border:1px solid var(--linea);padding:12px 0 4px;margin-top:10px}
svg.grafico{display:block;width:100%;height:auto;font-family:var(--fuente)}
.g-ok{fill:#fff;stroke:var(--ok);stroke-width:2.2}
.g-warn{fill:var(--warn)}
.g-bad{fill:var(--bad)}
.g-nc{fill:#fff;stroke:var(--gris);stroke-width:2}
.g-aro{fill:none;stroke:var(--tinta);stroke-width:2}
.g-franja{fill:var(--acento-2)}
.g-tfranja{font-size:13px;font-weight:600;fill:var(--acento)}
.g-100{stroke:var(--tinta);stroke-width:1.5}
.g-t100{font-size:12px;fill:var(--tinta)}
.g-eje{stroke:var(--sec);fill:none}
.g-tick{font:12px var(--fuente-mono);fill:var(--sec)}
.g-ejet{font-size:12px;fill:var(--sec)}
.g-m .anillo,.g-m .etq{display:none}
.g-m.sel .anillo,.g-m.sel .etq{display:inline}
.g-m .etq line{stroke:var(--tinta)}
.g-m .etq text{font-size:13px;font-weight:700;fill:var(--tinta)}
.cmp-cab{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.cmp-cab .orden{margin-bottom:14px}
html:not(.js) .orden.orden-cmp{display:none}
.js .solo-sin-js,html:not(.js) .solo-js{display:none}
.tabla-comp td,.tabla-comp th[scope=row]{white-space:nowrap}
.tabla-comp .c-prod a{color:var(--tinta);font-weight:600;text-decoration:none;border-bottom:1px solid var(--linea)}
.tabla-comp .col-cmp{width:70px}
.tabla-comp tr.sel td,.tabla-comp tr.sel th[scope=row]{background:var(--acento-2)}
.tabla-comp .check{margin:0}
.tabla-comp .check .box{margin:0}
.bandeja{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:2px solid var(--tinta);padding:12px 16px;margin-top:22px;background:var(--sup)}
.bandeja .chipx{margin:0}
.bandeja .btn{margin-left:auto}
.bandeja .chipx button{width:28px;height:28px}
.comp{table-layout:fixed}
.comp-esq{width:230px;border-bottom:2px solid var(--tinta)}
.comp thead th{text-transform:none;font-size:15px;letter-spacing:0;color:var(--tinta);vertical-align:bottom}
.comp thead th a{color:var(--tinta);font-weight:600}
.comp-m{font-weight:400;font-size:13px;color:var(--sec)}
.comp tbody th[scope=row]{text-transform:none;font-size:14px;font-weight:600;color:var(--sec);border-bottom:1px solid var(--linea);letter-spacing:0;vertical-align:top}
.comp td{font-size:15px;vertical-align:top;white-space:normal}
.t-bad{color:var(--bad)}
#comparar:focus{outline:0}
#comparar:focus-visible{outline:3px solid var(--foco);outline-offset:4px}
@media (max-width:760px){
  .cmp-tabs-l{flex-basis:100%;margin:0 0 4px}
  .cmp-cab .orden{display:flex;margin-bottom:10px;flex-wrap:wrap}
  .seg span{padding:10px 10px}
  .tabla-comp thead{position:absolute;left:0;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tabla-comp thead tr,.tabla-comp thead th{display:block;width:1px;padding:0;border:0;min-height:0}
  .tabla-comp,.tabla-comp tbody,.tabla-comp tr,.tabla-comp td,.tabla-comp th[scope=row]{display:block;width:100%}
  .tabla-comp tr{position:relative;border-bottom:1px solid var(--linea);padding:12px 0 12px 54px;min-height:70px}
  .tabla-comp td,.tabla-comp th[scope=row]{border:0;padding:2px 0;white-space:normal}
  .tabla-comp td.col-cmp{position:absolute;left:0;top:10px;width:44px;height:44px;display:grid;place-items:center;padding:0}
  .tabla-comp .check{display:grid;place-items:center;width:44px;height:44px;position:relative}
  .tabla-comp .check input{width:44px;height:44px;left:0;top:0}
  .tabla-comp .c-prod{font-size:16px}
  .tabla-comp td[data-et]:not(.col-cmp)::before{content:attr(data-et) ": ";font-size:12px;color:var(--sec)}
  .tabla-comp tr.sel td,.tabla-comp tr.sel th[scope=row]{background:none}
  .tabla-comp tr.sel{background:var(--acento-2)}
  .bandeja .btn{margin-left:0;width:100%}
  .comp,.comp thead,.comp tbody,.comp tr{display:block;width:100%}
  .comp thead tr{display:block}
  .comp th,.comp td{display:block;width:100%}
  .comp thead th{border-bottom:0;padding:8px 10px 2px}
  .comp tbody tr{border-bottom:1px solid var(--linea);padding:8px 0}
  .comp tbody th[scope=row]{border:0;padding:4px 10px 2px}
  .comp tbody td{border:0;padding:2px 10px}
  .comp tbody td[data-p]::before{content:attr(data-p) ": ";font-weight:600;color:var(--sec);font-size:13px}
  .comp thead{display:none}
}

/* ---------- 6. Fase 2: Artículos (p07, p08) y Quiénes somos (p06); canvas-a, sin estilos en línea ---------- */
.chips-art{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.chips-art .chip{margin-right:0;text-decoration:none;color:var(--tinta)}
.chips-art .chip.on{color:#fff}
.chips-art .chip .n{margin-left:4px}
.lista{margin-top:0}
.art{display:grid;grid-template-columns:200px 1fr;gap:30px;padding:24px 0;border-bottom:1px solid var(--linea)}
.art .f{display:flex;flex-direction:column;gap:6px;font-size:14px;align-items:flex-start}
.art h2{font-size:22px}
.art h2 a{text-decoration:none}.art h2 a:hover{text-decoration:underline}
.art h2 .tag{vertical-align:middle;margin-left:6px;font-size:11px}
.art p{color:var(--sec);margin-top:6px;max-width:70ch}
.art .by{font-size:13px;color:var(--sec);margin-top:8px}
.vacio-art{margin-top:24px;color:var(--sec)}
.art+.pag,.lista+.pag{margin-top:22px}
/* Figura de barras del artículo (p08) */
.fig{border:1px solid var(--linea);padding:18px 20px;margin:18px 0 22px;max-width:680px}
.fig figcaption{font-size:14px;margin-bottom:12px}
.bf{display:grid;grid-template-columns:170px 1fr 80px;gap:10px;align-items:center;font-size:14px;margin-bottom:8px}
.bf b{text-align:right;font-weight:500}
.bf-b{display:block}
.bf-b i{display:block;height:14px;background:var(--tinta)}
.bf-b.t2 i{background:#4B5563}.bf-b.t3 i{background:var(--acento)}
.fig-pie{font-size:13px;color:var(--sec);margin-top:8px}
.fuentes{margin-top:34px}
.fuentes h2{margin-top:0}
.fuentes ol{margin-left:22px;font-size:15px;max-width:70ch}.fuentes li{margin-bottom:8px}
.fuentes p.cierre{font-size:14px;color:var(--sec);margin-top:14px}
.volver-nota{text-decoration:none;color:var(--sec);margin-left:4px}
sup a{text-decoration:none;font-size:.8em;padding:0 1px}
.cuerpo h2[id]{scroll-margin-top:16px}
/* Quiénes somos (p06) */
.sub-nav{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.sub-nav a{border:1px solid var(--linea);padding:6px 12px;font-size:14px;text-decoration:none;color:var(--tinta)}
.sub-nav a.on{border-color:var(--tinta);font-weight:600}
.equipo{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:0}
.per{border:1px solid var(--linea);padding:18px;display:flex;flex-direction:column;gap:2px;font-size:14px}
.per .av{width:48px;height:48px;border:2px solid var(--tinta);display:grid;place-items:center;font:600 16px "IBM Plex Mono",monospace;margin-bottom:10px}
.per b{font-size:16px}.per span{color:var(--tinta)}.per small{color:var(--sec);font-size:13px;margin-bottom:8px}
.h3-q{margin:30px 0 12px;font-size:18px}
#declaraciones{scroll-margin-top:16px}
.gob{list-style:none;display:flex;align-items:stretch;gap:12px;margin:0}
.gob li{display:contents}
.gob div{border:1px solid var(--tinta);padding:12px 14px;flex:1;font-size:14px}
.gob div b{display:block;font-size:15px}.gob div span{color:var(--sec)}
.gob i{font-style:normal;align-self:center;font:600 18px "IBM Plex Mono",monospace}
.barra-f{display:flex;height:34px;border:1px solid var(--tinta)}
.barra-f span{display:grid;place-items:center;color:#fff;font:600 14px "IBM Plex Mono",monospace;overflow:hidden}
.barra-f .bf-1{background:var(--acento)}.barra-f .bf-2{background:#4B5563}.barra-f .bf-3{background:var(--tinta)}
.tfin,.tdecl{margin-top:12px}
.tfin .r,.tdecl .r{text-align:right}
.sw{display:inline-block;width:12px;height:12px;margin-right:8px;vertical-align:-1px}
.sw-1{background:var(--acento)}.sw-2{background:#4B5563}.sw-3{background:var(--tinta)}
.caja-q{margin-top:16px}.caja-q ul{margin:6px 0 0 22px;font-size:15px}
.tres{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tres b{display:block;margin:6px 0}.tres p{font-size:15px;color:var(--sec)}
.docs-q{list-style:none;margin:0}
.doc2{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--linea);padding:14px 16px;margin-bottom:10px}
.doc2 b{display:block}.doc2 span{font-size:14px;color:var(--sec)}
.doc2 .tag{flex:none}
@media (max-width:760px){
  .art{grid-template-columns:1fr;gap:10px;padding:18px 0}
  .art .f{flex-direction:row;align-items:center;gap:10px}
  .art h2{font-size:19px}
  .bf{grid-template-columns:1fr 70px;gap:4px 10px}
  .bf>span:first-child{grid-column:1/-1}
  .fig{padding:14px}
  .equipo{grid-template-columns:1fr 1fr;gap:12px}
  .per{padding:12px}
  .gob{flex-direction:column}
  .gob li{display:block}
  .gob li i{display:block;text-align:center;margin-top:6px}
  .tres{grid-template-columns:1fr;gap:12px}
  .doc2{flex-direction:column;align-items:flex-start}
  .tfin .r,.tdecl .r{text-align:left}
  .tabla-m .sw{display:none}
}

/* ---------- 7. Fase 2: formularios públicos (s01–s06, m05 y contacto); canvas-a, sin estilos en línea ---------- */
.fcab{padding:6px 0 24px;border-bottom:2px solid var(--tinta);margin-bottom:30px}
.fcab h1{margin-top:6px;font-size:34px}
.fcab p{color:var(--sec);margin-top:8px;max-width:70ch}
.fgrid{display:grid;grid-template-columns:1fr 360px;gap:64px;align-items:start}
.fgrid form{max-width:700px}
.fgrid>div{min-width:0}
.lado{border-left:1px solid var(--linea);padding-left:32px}
.lado h2{font-size:18px;margin-bottom:12px}
.lado h2.h2-pasos{margin-top:24px}
.lado p{font-size:15px;color:var(--sec)}
.lado .nota-l{font-size:14px;display:block}
.lado .pasos .plazo{display:inline-block}
.lado-pie{margin-top:6px}
.lado-l{margin:0 0 0 20px;font-size:15px;color:var(--sec)}.lado-l li{margin-bottom:8px}
.lado .legal{margin-top:6px}
.sec-f{border-top:1px solid var(--linea);padding-top:18px;margin-top:8px}
.sec-f h2{font-size:18px;margin-bottom:14px;display:flex;gap:10px;align-items:baseline}
.sec-f h2 .n{font:500 13px "IBM Plex Mono",monospace;color:var(--acento)}
.enviar{display:flex;align-items:center;gap:18px;margin-top:22px;flex-wrap:wrap}
.mb6{margin-bottom:6px}.mb14{margin-bottom:14px}.mb16{margin-bottom:16px}
.aviso-datos{margin-bottom:22px}
.aviso-datos a{color:var(--tinta);font-weight:600}
.formulario .campo .cont{margin-top:4px}
.formulario .campo:has(.cont){margin-bottom:20px}
.formulario fieldset{margin:0 0 14px;padding:0;min-width:0;border:0}
/* Casillas y radios: input nativo (accesible por teclado) + caja dibujada */
.check{position:relative}
.check .chk{position:absolute;opacity:0;width:22px;height:22px;margin:0;cursor:pointer;z-index:1}
.check .chk:checked+.box{background:var(--tinta);border-color:var(--tinta);color:#fff}
.check .chk:checked+.box::after{content:"✓"}
.check .chk:checked+.box.r{background:#fff;box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 12px var(--tinta)}
.check .chk:checked+.box.r::after{content:""}
.check .chk:focus-visible+.box{outline:3px solid var(--foco);outline-offset:2px}
.check .chk[aria-invalid="true"]+.box,.campo.err .check .box{border-color:var(--bad);border-width:3px}
.check a{color:var(--tinta);font-weight:600}
.chk-c.err .msg-err{margin-left:32px}
label.opcion{position:relative;cursor:pointer}
label.opcion:has(.chk:checked){border:2px solid var(--tinta);background:var(--sup);padding:13px 15px}
label.opcion:has(.chk:focus-visible){outline:3px solid var(--foco);outline-offset:2px}
.opcion .chk{left:16px;top:16px}
.opcion>span:last-child{display:block}
.opcion>span b{display:block}
.fila>.opcion{height:100%}
/* Campo trampa anti-spam (sin style): fuera de pantalla, sin ocupar lugar */
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.sr-file{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);opacity:0}
.enlace-arch{color:var(--tinta);text-decoration:underline;cursor:pointer;font-weight:600}
.drop:has(.sr-file:focus-visible){outline:3px solid var(--foco);outline-offset:2px}
.drop.sobre{background:var(--acento-2);border-color:var(--acento)}
.archivos{list-style:none;margin:0}
.archivos .archivo>div{flex:1;min-width:0;overflow-wrap:anywhere}
.archivos .msg-ok,.archivos .msg-err{margin-top:2px}
.banner-envio{margin-bottom:22px;border-color:var(--bad);background:var(--bad-bg)}
.banner-envio .ico{background:var(--bad);color:#fff}
.resumen-err:focus,.ok-panel:focus,.banner-envio:focus{outline:3px solid var(--foco);outline-offset:3px}
/* Éxito */
.ok-panel{border:2px solid var(--ok);padding:28px 32px;background:#fff}
.ok-panel .t{display:flex;align-items:center;gap:12px;color:var(--ok);font-size:24px;font-weight:700}
.ok-panel .t i{font-style:normal;width:36px;height:36px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;font-size:18px;flex:none}
.ok-panel .ok-num{margin-top:10px;max-width:none}
.ok-panel .ok-sim{margin-top:14px}
.ok-panel .ok-info{margin-top:18px}
.resumen{display:grid;grid-template-columns:200px 1fr;gap:6px 18px;font-size:15px;margin-top:16px}
.resumen dt{color:var(--sec);font-size:13px;text-transform:uppercase;letter-spacing:.04em;padding-top:2px}
.resumen dd{overflow-wrap:anywhere}
@media (max-width:1000px){
  .fgrid{grid-template-columns:1fr;gap:32px}
  .lado{border-left:0;padding-left:0;border-top:1px solid var(--linea);padding-top:24px}
}
@media (max-width:760px){
  .fcab{padding-bottom:16px;margin-bottom:20px}
  .fcab h1{font-size:26px}
  .fila{grid-template-columns:1fr;gap:0}
  .fila>.opcion{margin-bottom:10px}
  .resumen{grid-template-columns:1fr;gap:2px}
  .resumen dt{margin-top:10px}
  .ok-panel{padding:20px 18px}
  .ok-panel .t{font-size:20px}
  .enviar .btn{width:100%}
  .enviar .btn.sec{width:100%}
  .aviso-datos{flex-wrap:nowrap}
}
