<div class="card">
  <div class="section-header">Documentos y estado del caso</div>
  <dl class="epicrisis-metadata-grid">
    <div><dt>Paciente</dt><dd>{{ nombre_paciente }}</dd></div>
    {% if case_key %}<div><dt>Caso</dt><dd>{{ case_key }}</dd></div>{% endif %}
    <div><dt>Usuario</dt><dd>{{ user.username if user else '---' }}</dd></div>
    <div>
      <dt>Historia clínica</dt>
      <dd>{{ historia.nombre_archivo if historia else 'No disponible' }}</dd>
      {% if historia and historia.fecha_analisis %}<small><time data-local-date datetime="{{ historia.fecha_analisis }}">{{ historia.fecha_analisis }}</time></small>{% endif %}
    </div>
    <div>
      <dt>Documento quirúrgico</dt>
      <dd>{{ quirurgico.nombre_archivo if quirurgico else 'No disponible' }}</dd>
      {% if quirurgico and quirurgico.fecha_analisis %}<small><time data-local-date datetime="{{ quirurgico.fecha_analisis }}">{{ quirurgico.fecha_analisis }}</time></small>{% endif %}
    </div>
    <div>
      <dt>Factura</dt>
      <dd>{{ factura.nombre_archivo if factura else 'No disponible' }}</dd>
      {% if factura and factura.fecha_analisis %}<small><time data-local-date datetime="{{ factura.fecha_analisis }}">{{ factura.fecha_analisis }}</time></small>{% endif %}
    </div>
    <div><dt>Salida PDF</dt><dd>{{ 'Lista' if pdf_draft else 'Editable' }}</dd></div>
  </dl>
</div>

      {% set extraction = historia.extraction_metadata if historia and historia.extraction_metadata else {} %}
      {% set processing = historia.historia_processing if historia and historia.historia_processing else {} %}
      {% set quality = historia.analysis_quality if historia and historia.analysis_quality else {} %}
      {% if historia and (extraction or processing or quality or historia.analysis_model_name) %}
      <section
        class="epicrisis-quality ui-card{% if historia.review_required or quality.status == 'degraded' %} epicrisis-quality--warning{% endif %}"
        aria-labelledby="processing-quality-title"
      >
        <div class="epicrisis-quality__header">
          <div>
            <p class="app-page__eyebrow">Trazabilidad técnica</p>
            <h2 id="processing-quality-title">Calidad del procesamiento</h2>
          </div>
          <span class="epicrisis-quality__status">
            {{ 'Requiere revisión' if historia.review_required or quality.status == 'degraded' else 'Cobertura completa' }}
          </span>
        </div>
        <dl class="epicrisis-quality__grid">
          <div>
            <dt>Tipo efectivo</dt>
            <dd>{{ historia.effective_document_type or historia.tipo_documento or 'No informado' }}</dd>
          </div>
          {% if extraction %}
          <div>
            <dt>Páginas con texto</dt>
            <dd>{{ extraction.pages_with_text or 0 }} de {{ extraction.total_pages or 0 }}</dd>
          </div>
          {% endif %}
          {% if processing %}
          <div>
            <dt>Cobertura de entrada</dt>
            <dd>{{ '%.0f'|format((processing.coverage_ratio or 0) * 100) }} % · {{ processing.chunks_succeeded or 0 }}/{{ processing.chunks_total or 0 }} bloques</dd>
          </div>
          {% endif %}
          {% if historia.analysis_model_name or historia.analysis_provider %}
          <div>
            <dt>Proveedor / modelo</dt>
            <dd>{{ historia.analysis_provider or 'No informado' }} / {{ historia.analysis_model_name or 'No informado' }}</dd>
          </div>
          {% endif %}
        </dl>
        {% if historia.review_messages or extraction.warnings %}
        <div class="epicrisis-quality__warnings">
          <strong>Advertencias</strong>
          <ul>
            {% for warning in historia.review_messages or [] %}<li>{{ warning }}</li>{% endfor %}
            {% if extraction.pages_without_text %}
            <li>{{ extraction.pages_without_text|length }} página(s) no entregaron texto extraíble.</li>
            {% endif %}
            {% if not historia.review_messages and extraction.warnings and not extraction.pages_without_text %}
            <li>La extracción registró {{ extraction.warnings|length }} advertencia(s) técnicas.</li>
            {% endif %}
          </ul>
        </div>
        {% endif %}
      </section>
      {% endif %}
{% if not historia or not (extraction or processing or quality or historia.analysis_model_name) %}
<div class="epicrisis-empty-state" role="status">
  <p class="app-page__eyebrow">Trazabilidad técnica</p>
  <h2>Metadatos técnicos no disponibles</h2>
  <p>Los documentos asociados se muestran arriba, pero este caso no contiene información técnica de extracción o procesamiento.</p>
</div>
{% endif %}
