/* Motor de desarrollos · entrada única y asistente paso a paso (encargo de Alex, 5-nov-2026: «con el diseño del cliente y muy fácil
   de usar»). El tema es el del espacio del cliente: los grises, el dorado y el fondo claro de su junta (el bloque [data-tema]
   del cliente en buscar/_/propuestas.css), puestos aquí como tokens sin nombre ni logo de marca: la página es pública.
   Los de semáforo sobre fondo claro son tokens de la casa (--ok de v10.css; --pr-no y --pr-no-fondo de propuestas.css;
   --jt-pendiente de propuestas.css). Redefine los tokens de ficha.css para que la ficha del resultado salga con el mismo tema.
   Sin valores sueltos: colores, radios, sombras y la escala de letra (--pl-f1…f6, la de v10.css) viven en :root. */
:root{
  --dg-fondo:#F5F5F5;--dg-papel:#FFFFFF;--dg-tinta:#2B2B2B;--dg-tenue:#5C5C5C;--dg-acento:#3F3F3F;--dg-sobre-acento:#FFFFFF;
  --dg-borde:#E0E0E0;--dg-suave:#EBEBEB;--dg-realce:#B79266;--dg-noche:#1E1E1E;
  --dg-verde:#2F6B4F;--dg-verde-fondo:#E3F0E8;--dg-ambar:#8A4B08;--dg-ambar-fondo:#FCEBDD;--dg-rojo:#A12A1F;--dg-rojo-fondo:#FBE7E4;
  --dg-r-s:10px;--dg-r-m:14px;--dg-r-pill:999px;--dg-sombra:0 1px 2px rgba(30,30,30,.06),0 8px 24px rgba(30,30,30,.08);
  --dg-titulo:"PA General Sans",Manrope,system-ui,sans-serif;--dg-dur:.3s;
  /* ficha.css con el tema claro */
  --fondo:var(--dg-fondo);--fondo-2:var(--dg-suave);--panel:var(--dg-papel);--panel-2:var(--dg-suave);--linea:var(--dg-borde);--linea-2:var(--dg-borde);
  --tinta:var(--dg-tinta);--tenue:var(--dg-tenue);--suave:var(--dg-tenue);
  --ambar:var(--dg-acento);--sobre-ambar:var(--dg-sobre-acento);--oro:var(--dg-realce);--oro-claro:var(--dg-acento);
  --verde:var(--dg-verde);--naranja:var(--dg-ambar);--rojo:var(--dg-rojo);--azul:var(--dg-acento);
  --verde-fondo:var(--dg-verde-fondo);--naranja-fondo:var(--dg-ambar-fondo);--rojo-fondo:var(--dg-rojo-fondo);--ambar-fondo:var(--dg-suave);
  --pl-f1:12px;--pl-f2:14px;--pl-f3:16px;--pl-f4:20px;--pl-f5:28px;--pl-f6:32px;
  color-scheme:light;
}
@media (min-width:1024px){:root{--pl-f5:32px;--pl-f6:44px}}

.dg{background:var(--dg-fondo);color:var(--dg-tinta)}
.dg-cab{position:sticky;top:0;z-index:5;background:var(--dg-noche);color:var(--dg-sobre-acento);padding:10px 16px;display:grid;gap:8px;border-bottom:3px solid var(--dg-realce)}
.dg-volver{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--dg-sobre-acento);text-decoration:none;font-weight:700;font-size:var(--pl-f2);letter-spacing:.08em;text-transform:uppercase}
.dg-volver img{filter:brightness(0) invert(1)}
.dg-progreso{display:grid;gap:6px}
.dg-progreso p{font-size:var(--pl-f2);color:var(--dg-sobre-acento)}
.dg-barra{block-size:6px;border-radius:var(--dg-r-pill);background:var(--dg-acento);overflow:hidden}
.dg-barra span{display:block;block-size:100%;inline-size:0;background:var(--dg-realce);transition:inline-size var(--dg-dur) ease}
@media (prefers-reduced-motion:reduce){.dg-barra span{transition:none}}

.dg-main{max-width:720px;margin:0 auto;padding:20px 16px 40px;display:block}
.dg-pantalla{display:grid;gap:16px}
.dg-pantalla[hidden]{display:none}
.dg-pantalla h1{font:500 var(--pl-f5)/1.15 var(--dg-titulo);letter-spacing:-.01em;outline:none}
.dg-sub{color:var(--dg-tenue);font-size:var(--pl-f3)}
.dg-nota{color:var(--dg-tenue);font-size:var(--pl-f2)}
.dg-motor-nombre{font-size:var(--pl-f2);color:var(--dg-tenue);font-weight:700}

.dg-motores{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.dg-motor{inline-size:100%;text-align:start;display:grid;gap:6px;padding:18px 18px 16px;min-height:44px;border:1px solid var(--dg-borde);border-inline-start:4px solid var(--dg-realce);border-radius:var(--dg-r-m);background:var(--dg-papel);box-shadow:var(--dg-sombra);cursor:pointer}
.dg-motor b{font:500 var(--pl-f4)/1.25 var(--dg-titulo);color:var(--dg-tinta)}
.dg-motor span{color:var(--dg-tenue);font-size:var(--pl-f3)}
.dg-motor i{font-style:normal;font-size:var(--pl-f2);font-weight:700;color:var(--dg-acento)}
.dg-motor:hover,.dg-motor:focus-visible{border-color:var(--dg-acento)}

#campos{display:grid;gap:18px}
.dg-campo{display:grid;gap:8px;border:0;margin:0;padding:0;min-inline-size:0}
.dg-campo legend,.dg-etiqueta{font-weight:700;font-size:var(--pl-f3);padding:0;margin-block-end:2px}
.dg-etiqueta em{font-style:normal;font-weight:400;color:var(--dg-tenue);font-size:var(--pl-f2)}
.dg-chip{display:inline-block;margin-inline-start:4px;padding:1px 8px;border-radius:var(--dg-r-pill);font-size:var(--pl-f1);font-weight:700;vertical-align:middle;background:var(--dg-suave);color:var(--dg-tenue)}
.dg-chip[data-tipo="obligatorio"]{background:var(--dg-acento);color:var(--dg-sobre-acento)}
.dg-ayuda{color:var(--dg-tenue);font-size:var(--pl-f2)}
.dg-fila{display:flex;gap:8px;align-items:stretch}
.dg input:not([type=radio]):not([type=checkbox]):not([type=file]),.dg select,.dg textarea{inline-size:100%;min-inline-size:0;min-height:48px;padding:10px 12px;border:1px solid var(--dg-borde);border-radius:var(--dg-r-s);background:var(--dg-papel);color:var(--dg-tinta);font-size:var(--pl-f3)}
.dg input:disabled{background:var(--dg-suave);color:var(--dg-tenue)}
.dg-nose{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:0 12px;border:1px solid var(--dg-borde);border-radius:var(--dg-r-s);background:var(--dg-papel);font-size:var(--pl-f2);font-weight:700;cursor:pointer}
.dg-nose:has(input:checked){background:var(--dg-acento);color:var(--dg-sobre-acento);border-color:var(--dg-acento)}
.dg-nose input{inline-size:18px;block-size:18px;margin:0}
.dg-opciones{display:grid;gap:8px}
.dg-opciones label{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;border:1px solid var(--dg-borde);border-radius:var(--dg-r-s);background:var(--dg-papel);cursor:pointer}
.dg-opciones label:has(input:checked){border-color:var(--dg-acento);box-shadow:inset 0 0 0 1px var(--dg-acento)}
.dg-opciones input{inline-size:20px;block-size:20px;margin:0;accent-color:var(--dg-acento);flex:none}
.dg-subir{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border:1px dashed var(--dg-acento);border-radius:var(--dg-r-s);background:var(--dg-papel);font-weight:700;cursor:pointer}
.dg-subir input{position:absolute;inline-size:1px;block-size:1px;opacity:0}

.dg-btn{display:flex;align-items:center;justify-content:center;inline-size:100%;min-height:52px;padding:0 20px;border:0;border-radius:var(--dg-r-pill);font-weight:800;font-size:var(--pl-f3);text-decoration:none;cursor:pointer}
.dg-primario{background:var(--dg-acento);color:var(--dg-sobre-acento);margin-block-start:8px}
.dg-primario:hover{background:var(--dg-noche)}
/* El único llamado a la acción del paso siempre a la vista, aunque el paso sea largo en un celular. */
#form-paso .dg-primario{position:sticky;bottom:12px;z-index:2;box-shadow:var(--dg-sombra)}
.dg-error{color:var(--dg-rojo);font-weight:700;font-size:var(--pl-f2)}
.dg-error:empty{display:none}
.dg-secundarias{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}
.dg-liga{min-height:44px;padding:0 4px;border:0;background:none;color:var(--dg-acento);font-size:var(--pl-f2);font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.dg-liga[hidden]{display:none}

.dg-sigue{padding:14px 16px;border-radius:var(--dg-r-m);background:var(--dg-papel);border-inline-start:4px solid var(--dg-realce);font-weight:700;font-size:var(--pl-f3);box-shadow:var(--dg-sombra)}
#resultado-cuerpo{display:grid;gap:16px;min-inline-size:0}
.dg-propuestas{list-style:none;margin:0;padding:0;display:grid;gap:12px}
@media (min-width:900px){.dg-propuestas{grid-template-columns:repeat(3,minmax(0,1fr))}.dg-main{max-width:960px}}
.dg-propuesta{display:grid;gap:8px;align-content:start;padding:16px;border:1px solid var(--dg-borde);border-radius:var(--dg-r-m);background:var(--dg-papel)}
.dg-propuesta h3{font:500 var(--pl-f4)/1.2 var(--dg-titulo)}
.dg-idea{color:var(--dg-tenue);font-size:var(--pl-f2)}
.dg-propuesta dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.dg-propuesta dt{font-size:var(--pl-f1);color:var(--dg-tenue)}
.dg-propuesta dd{margin:0;font-weight:800;font-size:var(--pl-f4)}
.dg-sem{justify-self:start;padding:2px 10px;border-radius:var(--dg-r-pill);font-size:var(--pl-f1);font-weight:800}
.dg-sem[data-semaforo="verde"]{background:var(--dg-verde-fondo);color:var(--dg-verde)}
.dg-sem[data-semaforo="ambar"]{background:var(--dg-ambar-fondo);color:var(--dg-ambar)}
.dg-sem[data-semaforo="rojo"]{background:var(--dg-rojo-fondo);color:var(--dg-rojo)}
.dg-traza summary{min-height:44px;display:flex;align-items:center;font-size:var(--pl-f2);font-weight:700;cursor:pointer}
.dg-traza p{font-size:var(--pl-f2);color:var(--dg-tenue);overflow-wrap:anywhere}
.dg-falta h2{font-size:var(--pl-f4);margin-block-end:6px}
.dg-falta ul{margin:0;padding-inline-start:20px;display:grid;gap:6px;color:var(--dg-tenue)}
.dg-pie{max-width:720px;margin:0 auto;padding:0 16px 32px;color:var(--dg-tenue);font-size:var(--pl-f1)}

/* Vuelta 2: la respuesta en llano arriba y la ficha técnica plegada abajo, con su glosario. */
.dg-llano{display:grid;gap:12px;padding:16px;border-radius:var(--dg-r-m);background:var(--dg-papel);border:1px solid var(--dg-borde);box-shadow:var(--dg-sombra)}
.dg-llano-rot{font-size:var(--pl-f1);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dg-tenue)}
.dg-llano-texto{font:500 var(--pl-f5)/1.15 var(--dg-titulo)}
.dg-llano.fi-r-va .dg-llano-texto{color:var(--dg-verde)}
.dg-llano.fi-r-va-pre .dg-llano-texto,.dg-llano.fi-r-no-va-pre .dg-llano-texto,.dg-llano.fi-r-no-cubierto .dg-llano-texto{color:var(--dg-ambar)}
.dg-llano.fi-r-no-va .dg-llano-texto{color:var(--dg-rojo)}
.dg-llano-claves{display:grid;gap:10px;margin:0}
.dg-llano-claves dt{font-size:var(--pl-f2);color:var(--dg-tenue)}
.dg-llano-claves dd{margin:0;min-inline-size:0}
.dg-llano-partes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.dg-llano-partes li{display:grid;gap:2px;padding:10px 12px;border-radius:var(--dg-r-s);background:var(--dg-suave);border-inline-start:4px solid var(--dg-borde)}
.dg-llano-partes li[data-color="verde"]{border-inline-start-color:var(--dg-verde);background:var(--dg-verde-fondo)}
.dg-llano-partes li[data-color="naranja"]{border-inline-start-color:var(--dg-ambar);background:var(--dg-ambar-fondo)}
.dg-llano-partes li[data-color="rojo"]{border-inline-start-color:var(--dg-rojo);background:var(--dg-rojo-fondo)}
.dg-llano-partes span{font-size:var(--pl-f2);color:var(--dg-tenue)}
.dg-llano-falta ul{margin:6px 0 0;padding-inline-start:20px;display:grid;gap:6px;font-size:var(--pl-f2)}
.dg-tecnica{border-block-start:1px solid var(--dg-borde);padding-block-start:8px}
.dg-tecnica>summary{min-height:48px;display:flex;align-items:center;font-weight:800;cursor:pointer;color:var(--dg-acento)}
.dg-tecnica[open]>summary{margin-block-end:12px}
.dg-tecnica>.fi-respuesta,.dg-tecnica>section,.dg-tecnica>div{margin-block-end:16px}
.dg-glosario{padding:12px 14px;border-radius:var(--dg-r-s);background:var(--dg-suave)}
.dg-glosario h2{font-size:var(--pl-f3);margin-block-end:6px}
.dg-glosario ul{margin:0;padding-inline-start:20px;display:grid;gap:4px;font-size:var(--pl-f2)}

/* Vuelta 3: lo opcional al final del último paso, plegado (un «Siguiente» menos). */
.dg-opcional{border:1px dashed var(--dg-borde);border-radius:var(--dg-r-m);padding:4px 14px;background:var(--dg-papel)}
.dg-opcional>summary{min-height:48px;display:flex;align-items:center;font-weight:800;cursor:pointer}
.dg-opcional-campos{display:grid;gap:18px;padding-block:8px 12px}

/* Vuelta 4: el mapa del terreno, solo cuando se pide. */
.dg-mapa{display:block;inline-size:100%;block-size:260px;border:1px solid var(--dg-borde);border-radius:var(--dg-r-m);margin-block-start:8px}

/* Vuelta 6: el ejemplo, a la vista desde la primera pantalla del primer paso. */
.dg-ejemplo{margin-block:-4px 4px}
.dg-ejemplo:has(> [hidden]){display:none}
.dg-ejemplo .dg-liga{padding:0;text-align:start}

/* M-20-1: el resultado del ejemplo se rotula como ejemplo. */
.dg-rotulo-ejemplo{justify-self:start;padding:6px 12px;border-radius:var(--dg-r-pill);border:2px dashed var(--dg-realce);background:var(--dg-papel);font-size:var(--pl-f2);font-weight:800}
.dg-rotulo-ejemplo[hidden]{display:none}

/* Vuelta 11: cómo leí el número, en el campo. */
.dg-lectura{font-size:var(--pl-f2);color:var(--dg-tenue)}
.dg-lectura:empty{display:none}
.dg-lectura[data-ok="0"]{color:var(--dg-rojo);font-weight:700}

/* Vuelta 13: flujo único. Una pregunta a la vez (opciones como botones que avanzan) y un solo reporte que se imprime a PDF. */
.dg-motor-todo{border-inline-start-color:var(--dg-acento);background:var(--dg-papel)}
.dg-oculto{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.dg-opciones-boton{display:grid;gap:10px}
.dg-opcion{display:flex;align-items:center;min-height:56px;padding:12px 16px;border:1px solid var(--dg-borde);border-radius:var(--dg-r-m);background:var(--dg-papel);color:var(--dg-tinta);font-size:var(--pl-f3);font-weight:700;text-align:start;cursor:pointer;box-shadow:var(--dg-sombra)}
.dg-opcion:hover,.dg-opcion:focus-visible,.dg-opcion[aria-pressed="true"]{border-color:var(--dg-acento);box-shadow:inset 0 0 0 1px var(--dg-acento)}
.dg-unidad{display:block;font-style:normal;color:var(--dg-tenue);font-size:var(--pl-f2)}
.dg-acciones{display:grid;gap:10px}
.dg-segundo{background:var(--dg-papel);color:var(--dg-tinta);border:1px solid var(--dg-borde)}
.dg-segundo[hidden]{display:none}
.dg-seccion{display:grid;gap:12px;min-inline-size:0}
.dg-seccion>h2{font:500 var(--pl-f4)/1.2 var(--dg-titulo);padding-block-start:8px;border-block-start:2px solid var(--dg-realce)}
#reporte-cuerpo{display:grid;gap:24px;min-inline-size:0}
.dg-h3{font:500 var(--pl-f3)/1.3 var(--dg-titulo);font-weight:700}
.dg-nota-caja{padding:12px 14px;border-radius:var(--dg-r-s);background:var(--dg-suave);font-size:var(--pl-f2)}
.dg-escenarios{display:grid;gap:8px;margin:0}
.dg-escenarios div{display:grid;gap:4px;padding:10px 12px;border-radius:var(--dg-r-s);background:var(--dg-papel);border:1px solid var(--dg-borde);min-inline-size:0}
.dg-escenarios dt{font-size:var(--pl-f2);color:var(--dg-tenue)}
.dg-escenarios dd{margin:0;min-inline-size:0}
.dg-tramites{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.dg-tramite{display:grid;gap:8px;padding:14px 16px;border:1px solid var(--dg-borde);border-radius:var(--dg-r-m);background:var(--dg-papel);min-inline-size:0;break-inside:avoid}
.dg-tramite h3{font:500 var(--pl-f4)/1.2 var(--dg-titulo)}
.dg-tramite p{font-size:var(--pl-f2);overflow-wrap:anywhere}
.dg-tramite dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.dg-tramite dt{font-size:var(--pl-f1);color:var(--dg-tenue)}
.dg-tramite dd{margin:0;font-size:var(--pl-f2);font-weight:700;overflow-wrap:anywhere}
.dg-sem[data-semaforo="gris"]{background:var(--dg-suave);color:var(--dg-tenue)}
.dg-choque{padding:8px 10px;border-radius:var(--dg-r-s);background:var(--dg-ambar-fondo);color:var(--dg-tinta)}
.dg-fuente{color:var(--dg-tenue)}
.dg-lista-falta{margin:0;padding-inline-start:20px;display:grid;gap:8px;font-size:var(--pl-f2)}
.dg-lista-falta .fi-cifra{display:inline}
@media print{
  /* Examen ciego 33: impresión corta. Fuera: encabezado, formularios, botones, la ficha técnica y las trazas. */
  .dg-cab,.dg-no-imprimir,.dg-pie,#elegir,#pregunta,#paso,#resultado,.dg-tecnica,.dg-traza,.fi-traza,.dg-llano-falta+.dg-llano-falta{display:none!important}
  :root{--pl-f1:9px;--pl-f2:10px;--pl-f3:11px;--pl-f4:13px;--pl-f5:17px;--pl-f6:19px}
  #reporte-cuerpo{gap:10px}
  .dg-seccion{gap:6px}
  .dg-propuestas{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .dg-propuesta{padding:8px;gap:4px}
  .dg-propuesta dd{font-size:var(--pl-f3)}
  .dg-tramites{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;gap:6px}
  .dg-tramite{padding:8px;gap:4px}
  .dg-llano{padding:8px;gap:6px}
  .dg-sigue{padding:8px;box-shadow:none}
  .fi-cifra>summary{list-style:none}
  .fi-cifra>summary::-webkit-details-marker{display:none}
  .dg{background:var(--dg-papel)}
  .dg-main{max-width:none;padding:0}
  .dg-propuesta,.dg-tramite,.dg-llano{box-shadow:none;break-inside:avoid}
}
