/* Instrumento · 03 Informe — formatos oficiales.
   Toma el pizarra-azul de la tarjeta «Informe» de la portada del Instrumento
   como acento propio de la etapa, y el verde del Instrumento para lo que ya
   está completo. Todo acotado a #expedienteContenido. */
#expedienteContenido{
  --inf-tinta:#173b59;--inf-texto:#3f5a72;--inf-suave:#617a8e;--inf-borde:#d3dfed;
  --inf-acento:#3c506f;--inf-acento-medio:#607694;--inf-acento-claro:#eef2f8;
  --inf-verde:#087f6c;--inf-verde-claro:#e6f4ef;--inf-marca:#fff1b8;
}

/* --- Selector de formato ------------------------------------------------- */
#expedienteContenido .inf-pestanas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 22px}
#expedienteContenido .inf-pestanas button{
  position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;
  min-height:88px;padding:16px 18px;border:1px solid var(--inf-borde);border-radius:18px;
  background:#fff;color:var(--inf-texto);text-align:left;cursor:pointer;font:inherit;
  box-shadow:0 1px 0 #fff inset,0 6px 18px #142c4708;
  transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .25s ease,background .25s ease;
}
#expedienteContenido .inf-pestanas button:hover{transform:translateY(-2px);border-color:#b9c7da;box-shadow:0 12px 26px #142c4712}
#expedienteContenido .inf-pestana-icono{
  display:grid;place-items:center;width:52px;height:52px;border-radius:14px;
  background:var(--inf-acento-claro);color:var(--inf-acento-medio);
  transition:background .3s ease,color .3s ease;
}
#expedienteContenido .inf-pestana-icono svg{width:28px;height:28px}
#expedienteContenido .inf-pestana-texto{display:grid;gap:2px;min-width:0}
#expedienteContenido .inf-pestana-texto strong{color:var(--inf-tinta);font-size:16px;line-height:1.25}
#expedienteContenido .inf-pestana-texto span{color:var(--inf-suave);font-size:12.5px;line-height:1.35}
#expedienteContenido .inf-pestana-codigo{
  display:grid;justify-items:end;gap:1px;padding:6px 10px;border-radius:10px;background:#f4f7fb;
  color:var(--inf-tinta);font-size:12px;font-weight:700;letter-spacing:.03em;font-variant-numeric:tabular-nums;
}
#expedienteContenido .inf-pestana-codigo small{color:var(--inf-suave);font-size:11px;font-weight:600}
#expedienteContenido .inf-pestana-marca{
  position:absolute;top:-8px;right:-8px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;
  background:var(--inf-acento);color:#fff;box-shadow:0 4px 10px #3c506f55;
  opacity:0;transform:scale(.6);transition:opacity .25s ease,transform .35s cubic-bezier(.22,1,.36,1);
}
#expedienteContenido .inf-pestana-marca svg{width:14px;height:14px}
#expedienteContenido .inf-pestanas button[aria-selected=true]{
  border-color:var(--inf-acento-medio);
  background:linear-gradient(135deg,#ffffff 0%,#f3f6fb 100%);
  box-shadow:0 0 0 3px #60769422,0 14px 30px #3c506f1f;
}
#expedienteContenido .inf-pestanas button[aria-selected=true] .inf-pestana-icono{background:linear-gradient(150deg,#8296b2,#607694 55%,#3c506f);color:#fff}
#expedienteContenido .inf-pestanas button[aria-selected=true] .inf-pestana-marca{opacity:1;transform:none}
#expedienteContenido .inf-pestanas button:focus-visible{outline:3px solid var(--inf-acento);outline-offset:3px}

/* --- Zona de trabajo: formulario + vista previa -------------------------- */
#expedienteContenido .inf-trabajo{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:22px;align-items:start}
#expedienteContenido .inf-panel{
  min-width:0;padding:clamp(18px,2.6vw,28px) clamp(18px,2.6vw,28px) 0;
  border:1px solid var(--inf-borde);border-radius:22px;background:#fff;box-shadow:0 10px 30px #142c4708;
}

#expedienteContenido .inf-form fieldset{position:relative;margin:0 0 6px;padding:4px 0 22px 50px;border:0}
#expedienteContenido .inf-form fieldset:not(:last-of-type)::before{
  content:"";position:absolute;left:16px;top:38px;bottom:4px;width:2px;border-radius:2px;background:#e5ecf3;
}
#expedienteContenido .inf-form fieldset.completo:not(:last-of-type)::before{background:linear-gradient(#9fd2c4,#e5ecf3)}
#expedienteContenido .inf-form legend{display:contents}
#expedienteContenido .inf-paso{
  position:absolute;left:0;top:0;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;
  background:var(--inf-acento-claro);color:var(--inf-acento);font-size:14px;font-weight:800;
  box-shadow:0 0 0 4px #fff;transition:background .3s ease,color .3s ease;
}
#expedienteContenido .inf-form fieldset.completo .inf-paso{background:var(--inf-verde);color:#fff}
#expedienteContenido .inf-leyenda-texto{display:block;margin:5px 92px 14px 0;color:var(--inf-tinta);font-size:17px;font-weight:700;line-height:1.3}
#expedienteContenido .inf-leyenda-texto small{display:block;margin-top:3px;color:var(--inf-suave);font-size:12.5px;font-weight:400}
#expedienteContenido .inf-listo{
  position:absolute;top:6px;right:0;padding:3px 10px;border-radius:999px;background:var(--inf-verde-claro);color:#075e54;
  font-size:11.5px;font-weight:700;opacity:0;transform:translateY(-3px);transition:opacity .3s ease,transform .3s ease;
}
#expedienteContenido .inf-form fieldset.completo .inf-listo{opacity:1;transform:none}

#expedienteContenido .inf-grilla{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
#expedienteContenido .inf-campo{display:grid;gap:6px;min-width:0}
#expedienteContenido .inf-campo.ancho{grid-column:1/-1}
#expedienteContenido .inf-campo label{color:#214160;font-size:13px;font-weight:650}
#expedienteContenido .inf-req{color:#a4462b}
#expedienteContenido .inf-campo small{color:var(--inf-suave);font-size:12px;line-height:1.45}
#expedienteContenido .inf-form :is(input:not([type=checkbox]),select,textarea){
  box-sizing:border-box;width:100%;min-width:0;min-height:42px;padding:9px 12px;
  border:1px solid #c3d0de;border-radius:11px;background:#fbfcfe;color:#17314c;font:400 14px/1.45 var(--fuente);
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
#expedienteContenido .inf-form :is(input:not([type=checkbox]),select,textarea):hover{border-color:#a9bacd}
#expedienteContenido .inf-form :is(input:not([type=checkbox]),select,textarea):focus{border-color:var(--inf-acento-medio);background:#fff;box-shadow:0 0 0 4px #6076941f;outline:none}
#expedienteContenido .inf-form :is(input,select,textarea):focus-visible{outline:2px solid var(--inf-acento);outline-offset:1px}
#expedienteContenido .inf-form input:not([type=checkbox]):not(:placeholder-shown):valid[required]{background:#fff}
#expedienteContenido .inf-form textarea{resize:vertical}

#expedienteContenido .inf-vista{margin:14px 0 0;padding:11px 14px;border-left:3px solid var(--inf-acento-medio);border-radius:0 10px 10px 0;background:#f4f7fb;color:var(--inf-texto);font-size:13px;line-height:1.5}
#expedienteContenido .inf-vista:empty{display:none}

/* Conflictos: interruptor «No aplica». */
#expedienteContenido .inf-seccion-conflicto{
  display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 10px;
  padding:12px 14px;border:1px solid #e3ebf3;border-radius:14px;background:#fbfcfe;
}
#expedienteContenido .inf-seccion-texto{display:grid;gap:2px;min-width:0}
#expedienteContenido .inf-seccion-texto strong{color:var(--inf-tinta);font-size:14px}
#expedienteContenido .inf-seccion-texto span{color:var(--inf-suave);font-size:12.5px}
#expedienteContenido .inf-interruptor{position:relative;display:inline-flex;align-items:center;gap:9px;flex:none;cursor:pointer;color:var(--inf-texto);font-size:13px;font-weight:650}
#expedienteContenido .inf-interruptor input{position:absolute;width:1px;height:1px;opacity:0}
#expedienteContenido .inf-interruptor-pista{position:relative;width:42px;height:24px;border-radius:999px;background:#c7d2df;transition:background .25s ease}
#expedienteContenido .inf-interruptor-pista::after{
  content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;
  box-shadow:0 1px 3px #0003;transition:transform .3s cubic-bezier(.22,1,.36,1);
}
#expedienteContenido .inf-interruptor input:checked + .inf-interruptor-pista{background:var(--inf-verde)}
#expedienteContenido .inf-interruptor input:checked + .inf-interruptor-pista::after{transform:translateX(18px)}
#expedienteContenido .inf-interruptor input:focus-visible + .inf-interruptor-pista{outline:3px solid var(--inf-acento);outline-offset:2px}
#expedienteContenido .inf-conflictos{display:grid;gap:8px;margin:-2px 0 14px;padding:12px;border:1px dashed #c9d6e4;border-radius:14px;background:#fff}
#expedienteContenido .inf-conflictos[hidden]{display:none}
#expedienteContenido .inf-fila-conflicto{display:grid;grid-template-columns:20px repeat(4,minmax(0,1fr));align-items:center;gap:8px}
#expedienteContenido .inf-fila-conflicto span{color:var(--inf-suave);font-size:13px;font-weight:800}

/* Hallazgos del papel. */
#expedienteContenido .inf-hallazgos{display:grid;gap:8px;margin:12px 0 0;padding:0;list-style:none}
#expedienteContenido .inf-hallazgos li{padding:10px 12px;border:1px solid #e3ebf3;border-radius:12px;background:#fbfcfe}
#expedienteContenido .inf-check{display:flex;align-items:flex-start;gap:10px;margin:0;color:var(--inf-texto);font-size:13.5px;line-height:1.5;cursor:pointer}
#expedienteContenido .inf-check input{flex:none;width:17px;height:17px;margin:2px 0 0;accent-color:var(--inf-verde)}
#expedienteContenido .inf-sigla{margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--inf-verde-claro);color:#075e54;font-size:11.5px;font-style:normal;font-weight:800;letter-spacing:.04em}
#expedienteContenido .inf-pendiente{margin-left:6px;padding:1px 8px;border-radius:999px;background:#fff1dc;color:#8a4b0f;font-size:11.5px;font-style:normal;font-weight:700}

/* --- Barra de descarga ---------------------------------------------------- */
#expedienteContenido .inf-acciones{
  position:sticky;bottom:0;z-index:2;display:grid;gap:8px;margin:4px calc(-1 * clamp(18px,2.6vw,28px)) 0;
  padding:14px clamp(18px,2.6vw,28px) 16px;border-top:1px solid #e3ebf3;border-radius:0 0 22px 22px;
  background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
#expedienteContenido .inf-acciones-botones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#expedienteContenido .inf-boton{
  display:flex;align-items:center;gap:12px;min-height:56px;padding:9px 14px 9px 10px;border-radius:14px;
  border:1px solid transparent;font:inherit;text-align:left;cursor:pointer;
  transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease,background .2s ease;
}
#expedienteContenido .inf-boton strong{display:block;font-size:14.5px;line-height:1.2}
#expedienteContenido .inf-boton small{display:block;margin-top:2px;font-size:11.5px;opacity:.8}
#expedienteContenido .inf-boton-icono{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:10px;font-size:12px;font-weight:900;letter-spacing:.02em}
#expedienteContenido .inf-boton-word{background:linear-gradient(150deg,#2f6fd6,#1f4e9e);color:#fff;box-shadow:0 8px 18px #1f4e9e33}
#expedienteContenido .inf-boton-word .inf-boton-icono{background:#ffffff26;color:#fff;font-size:17px;font-family:Georgia,serif}
#expedienteContenido .inf-boton-pdf{background:#fff;border-color:#e6c9c4;color:#7d2a1c}
#expedienteContenido .inf-boton-pdf .inf-boton-icono{background:#c0392b;color:#fff;font-size:10.5px}
#expedienteContenido .inf-boton:hover:not(:disabled){transform:translateY(-2px)}
#expedienteContenido .inf-boton-word:hover:not(:disabled){box-shadow:0 12px 24px #1f4e9e44}
#expedienteContenido .inf-boton-pdf:hover:not(:disabled){box-shadow:0 10px 20px #c0392b1f;border-color:#d9a79e}
#expedienteContenido .inf-boton:focus-visible{outline:3px solid var(--inf-acento);outline-offset:2px}
#expedienteContenido .inf-boton:disabled{opacity:.6;cursor:progress}
#expedienteContenido .inf-estado{margin:0;color:#2c6a5f;font-size:13px;font-weight:600}
#expedienteContenido .inf-estado:empty{display:none}
#expedienteContenido .inf-estado.error{color:#9a4a12}

/* --- Vista previa: miniatura de la hoja oficial --------------------------- */
#expedienteContenido .inf-previa{position:sticky;top:88px;display:grid;gap:10px}
#expedienteContenido .inf-previa-cab{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:0 4px}
#expedienteContenido .inf-previa-cab span{color:var(--inf-tinta);font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
#expedienteContenido .inf-previa-cab small{color:var(--inf-suave);font-size:11.5px}
#expedienteContenido .inf-hoja-marco{
  max-height:calc(100dvh - 150px);overflow:auto;padding:16px;border-radius:18px;
  background:linear-gradient(160deg,#e9eef5,#dde5ef);scrollbar-width:thin;
}
#expedienteContenido .inf-hoja{
  min-height:420px;padding:22px 20px 26px;background:#fff;border-radius:3px;
  box-shadow:0 1px 2px #0000001a,0 12px 28px #1b2c4424;
  color:#111;font:9.5px/1.45 Arial,Helvetica,sans-serif;
}
#expedienteContenido .inf-hoja p{margin:0 0 6px}
#expedienteContenido .inf-hoja h5{margin:10px 0 5px;color:#111;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.02em}
#expedienteContenido .inf-hoja mark{padding:0 2px;border-radius:2px;background:var(--inf-marca);color:#111;box-shadow:0 0 0 1px #f0d66b inset}
#expedienteContenido .inf-hoja .hueco{display:inline-block;width:56px;height:7px;margin:0 2px;border-bottom:1px solid #9aa5b1;vertical-align:baseline}
#expedienteContenido .hoja-cab{width:100%;margin:0 0 8px;border-collapse:collapse}
#expedienteContenido .hoja-cab td{padding:4px 6px;border:1px solid #333;font-size:8.5px;vertical-align:middle}
#expedienteContenido .hoja-logo{width:17%;text-align:center}
#expedienteContenido .hoja-logo img{width:38px;height:auto}
#expedienteContenido .hoja-titulo{width:56%;text-align:center;color:#555;font-size:10px !important;font-weight:700}
#expedienteContenido .hoja-rojo{color:#d0021b;font-weight:700}
#expedienteContenido .hoja-ref{font-size:10.5px}
#expedienteContenido .hoja-lineas{display:grid;gap:4px;margin:2px 0 6px}
#expedienteContenido .hoja-lineas span{display:block;height:5px;border-radius:3px;background:#e8ecf1}
#expedienteContenido .hoja-lineas span:nth-child(3n){width:72%}
#expedienteContenido .hoja-casilla{font-size:9px}
#expedienteContenido .hoja-tabla{width:100%;margin:0 0 6px;border-collapse:collapse}
#expedienteContenido .hoja-tabla td{padding:3px 5px;border:1px solid #333;vertical-align:top;font-size:8.5px}
#expedienteContenido .hoja-obs{margin:4px 0 0;padding-left:12px}
#expedienteContenido .hoja-obs li{margin:0 0 4px}
#expedienteContenido .hoja-obs em{padding:0 4px;border-radius:999px;background:var(--inf-verde-claro);color:#075e54;font-style:normal;font-weight:800}
#expedienteContenido .hoja-obs span{display:block;color:#8a96a3;font-size:8px}
#expedienteContenido .hoja-firma{display:grid;justify-items:start;gap:1px;margin-top:22px}
#expedienteContenido .hoja-firma-linea{width:150px;height:1px;margin-bottom:3px;background:#333}
#expedienteContenido .hoja-firma em{color:#444;font-style:normal}
#expedienteContenido .hoja-firma small{font-weight:700;font-size:8.5px}

#expedienteContenido .inf-vacio{padding:26px 30px 30px}
#expedienteContenido .inf-vacio h3{margin:0 0 6px;color:var(--inf-tinta)}
#expedienteContenido .inf-vacio p{margin:0;color:#536d87}
#expedienteContenido .inf-vacio a{color:var(--inf-verde)}

@media(max-width:1100px){
  #expedienteContenido .inf-trabajo{grid-template-columns:minmax(0,1fr)}
  #expedienteContenido .inf-previa{position:static;order:-1}
  #expedienteContenido .inf-hoja-marco{max-height:340px}
}
@media(max-width:720px){
  #expedienteContenido .inf-pestanas,#expedienteContenido .inf-grilla,#expedienteContenido .inf-acciones-botones{grid-template-columns:minmax(0,1fr)}
  #expedienteContenido .inf-pestanas button{grid-template-columns:44px minmax(0,1fr);min-height:76px}
  #expedienteContenido .inf-pestana-icono{width:44px;height:44px}
  #expedienteContenido .inf-pestana-codigo{display:none}
  #expedienteContenido .inf-campo.ancho{grid-column:1}
  #expedienteContenido .inf-form fieldset{padding-left:0}
  #expedienteContenido .inf-form fieldset::before{display:none}
  #expedienteContenido .inf-paso{position:static;display:inline-grid;width:28px;height:28px;margin:0 8px 0 0;font-size:12.5px;vertical-align:middle}
  #expedienteContenido .inf-leyenda-texto{display:inline-block;margin-right:0;vertical-align:middle}
  #expedienteContenido .inf-listo{position:static;display:inline-block;margin:4px 0 10px 36px}
  #expedienteContenido .inf-seccion-conflicto{align-items:flex-start;flex-direction:column}
  #expedienteContenido .inf-fila-conflicto{grid-template-columns:20px minmax(0,1fr)}
  #expedienteContenido .inf-fila-conflicto input:not(:nth-child(2)){grid-column:2}
  #expedienteContenido .inf-form :is(input:not([type=checkbox]),select,textarea){font-size:16px}
}
@media(prefers-reduced-motion:reduce){
  #expedienteContenido :is(.inf-pestanas button,.inf-pestana-marca,.inf-boton,.inf-interruptor-pista::after,.inf-listo,.inf-paso){transition:none}
}
