<div class="encabezado-seccion">
  <h1><%= fila.id ? 'Editar' : 'Nueva' %> · <%= def.etiqueta %></h1>
  <% if (fila.id) { %><span class="badge badge--<%= fila.estado_editorial === 'publicado' ? 'verificado' : 'declarado' %>"><%= fila.estado_editorial %></span><% } %>
</div>

<form method="post" action="/admin/e/<%= tipo %><%= fila.id ? '/' + fila.id : '' %>" class="admin-panel">
  <input type="hidden" name="_csrf" value="<%= csrf %>">
  <div class="admin-form">
    <div class="campo"><label for="f-nombre">Nombre *</label>
      <input id="f-nombre" name="nombre" required value="<%= fila.nombre || '' %>"></div>
    <div class="campo"><label for="f-slug">Slug (vacío = auto)</label>
      <input id="f-slug" name="slug" value="<%= fila.slug || '' %>"></div>

    <% def.campos.forEach(function(cd){ const v = fila[cd.c]; %>
      <div class="campo <%= cd.t === 'textarea' || cd.t === 'json' ? 'campo--ancho' : '' %>">
        <label for="f-<%= cd.c %>"><%= cd.l %><%= cd.req ? ' *' : '' %></label>
        <% if (cd.t === 'select') { %>
          <select id="f-<%= cd.c %>" name="<%= cd.c %>" <%= cd.req ? 'required' : '' %>>
            <% if (!cd.req) { %><option value="">—</option><% } %>
            <% cd.op.forEach(function(o){ %><option value="<%= o %>" <%= String(v) === String(o) ? 'selected' : '' %>><%= o %></option><% }) %>
          </select>
        <% } else if (cd.t === 'ref') { %>
          <select id="f-<%= cd.c %>" name="<%= cd.c %>" <%= cd.req ? 'required' : '' %>>
            <% if (!cd.req) { %><option value="">—</option><% } %>
            <% (refs[cd.ref] || []).forEach(function(r){ %><option value="<%= r.id %>" <%= String(v) === String(r.id) ? 'selected' : '' %>><%= r.nombre %></option><% }) %>
          </select>
        <% } else if (cd.t === 'textarea' || cd.t === 'json') { %>
          <textarea id="f-<%= cd.c %>" name="<%= cd.c %>" rows="3"><%= v == null ? '' : (typeof v === 'object' ? JSON.stringify(v) : v) %></textarea>
        <% } else { %>
          <input id="f-<%= cd.c %>" name="<%= cd.c %>" type="<%= cd.t === 'number' ? 'number' : (cd.t === 'date' ? 'date' : 'text') %>"
            value="<%= v == null ? '' : (cd.t === 'date' && v ? new Date(v).toISOString().slice(0,10) : v) %>">
        <% } %>
      </div>
    <% }) %>

    <div class="campo campo--ancho"><label for="f-resumen">Respuesta corta (resumen_corto)</label>
      <textarea id="f-resumen" name="resumen_corto" rows="2"><%= fila.resumen_corto || '' %></textarea></div>
    <div class="campo campo--ancho"><label for="f-cpac">Contenido paciente (markdown)</label>
      <textarea id="f-cpac" name="contenido_paciente" rows="8"><%= fila.contenido_paciente || '' %></textarea></div>
    <div class="campo campo--ancho"><label for="f-cpro">Contenido profesional (markdown)</label>
      <textarea id="f-cpro" name="contenido_pro" rows="6"><%= fila.contenido_pro || '' %></textarea></div>

    <div class="campo campo--ancho">
      <label>FAQ</label>
      <div id="faq-filas">
        <div class="fila-repetible fila-plantilla" hidden>
          <input name="faq_q[]" placeholder="Pregunta" disabled>
          <input name="faq_a[]" placeholder="Respuesta" disabled>
          <button class="btn btn--mini btn--peligro" data-del-fila type="button">×</button>
        </div>
        <% (fila.faq_parsed || []).forEach(function(f){ %>
        <div class="fila-repetible">
          <input name="faq_q[]" value="<%= f.q %>" placeholder="Pregunta">
          <input name="faq_a[]" value="<%= f.a %>" placeholder="Respuesta">
          <button class="btn btn--mini btn--peligro" data-del-fila type="button">×</button>
        </div>
        <% }) %>
      </div>
      <button class="btn btn--mini btn--fantasma" data-add-fila="faq-filas" type="button">+ Añadir FAQ</button>
    </div>

    <div class="campo campo--ancho">
      <label>Fuentes</label>
      <div id="fuentes-filas">
        <div class="fila-repetible fila-plantilla" hidden>
          <input name="fuente_nombre[]" placeholder="Nombre de la fuente" disabled>
          <input name="fuente_url[]" placeholder="URL" disabled>
          <input name="fuente_fecha[]" placeholder="Fecha consulta (AAAA-MM-DD)" disabled>
          <button class="btn btn--mini btn--peligro" data-del-fila type="button">×</button>
        </div>
        <% (fila.fuentes_parsed || []).forEach(function(f){ %>
        <div class="fila-repetible">
          <input name="fuente_nombre[]" value="<%= f.nombre %>" placeholder="Nombre de la fuente">
          <input name="fuente_url[]" value="<%= f.url %>" placeholder="URL">
          <input name="fuente_fecha[]" value="<%= f.fecha || '' %>" placeholder="Fecha consulta">
          <button class="btn btn--mini btn--peligro" data-del-fila type="button">×</button>
        </div>
        <% }) %>
      </div>
      <button class="btn btn--mini btn--fantasma" data-add-fila="fuentes-filas" type="button">+ Añadir fuente</button>
    </div>

    <div class="campo"><label for="f-mt">Meta title (≤70)</label>
      <input id="f-mt" name="meta_title" maxlength="70" value="<%= fila.meta_title || '' %>"></div>
    <div class="campo"><label for="f-md">Meta description (≤160)</label>
      <input id="f-md" name="meta_description" maxlength="160" value="<%= fila.meta_description || '' %>"></div>
    <div class="campo"><label for="f-demo">¿Entidad demo?</label>
      <select id="f-demo" name="es_demo"><option value="0" <%= !fila.es_demo ? 'selected' : '' %>>No</option>
      <option value="1" <%= fila.es_demo ? 'selected' : '' %>>Sí (ficticia, rotulada)</option></select></div>
  </div>
  <div class="admin-acciones">
    <button class="btn btn--secundario" type="submit">Guardar</button>
    <a class="btn btn--fantasma" href="/admin/e/<%= tipo %>">Volver</a>
  </div>
</form>

<% if (fila.id) { %>
<div class="admin-panel">
  <h2>Flujo editorial</h2>
  <p class="u-texto-suave">Estado actual: <strong><%= fila.estado_editorial %></strong>
  <% if (fila.fecha_revision) { %> · Última revisión: <%= new Date(fila.fecha_revision).toISOString().slice(0,10) %><% } %></p>
  <div class="admin-acciones">
    <form method="post" action="/admin/e/<%= tipo %>/<%= fila.id %>/estado">
      <input type="hidden" name="_csrf" value="<%= csrf %>"><input type="hidden" name="estado" value="revision">
      <button class="btn btn--fantasma" type="submit">Pasar a revisión</button>
    </form>
    <% if (usuario.rol === 'revisor_medico' || usuario.rol === 'admin') { %>
    <form method="post" action="/admin/e/<%= tipo %>/<%= fila.id %>/estado">
      <input type="hidden" name="_csrf" value="<%= csrf %>"><input type="hidden" name="estado" value="publicado">
      <button class="btn btn--primario" type="submit">Publicar (estampa mi revisión)</button>
    </form>
    <% } %>
    <form method="post" action="/admin/e/<%= tipo %>/<%= fila.id %>/estado">
      <input type="hidden" name="_csrf" value="<%= csrf %>"><input type="hidden" name="estado" value="archivado">
      <button class="btn btn--mini btn--peligro" type="submit">Archivar</button>
    </form>
  </div>
</div>

<div class="admin-panel">
  <h2>Relaciones en el grafo</h2>
  <table class="admin-tabla">
    <thead><tr><th>Dirección</th><th>Relación</th><th>Entidad</th><th>Attrs</th><th>Verificada</th><th></th></tr></thead>
    <tbody>
    <% aristas.forEach(function(a){ %>
      <tr>
        <td><%= a.direccion %></td><td><code><%= a.rel %></code></td>
        <td><%= a.entidad_tipo %> · <%= a.entidad_nombre %></td>
        <td><code style="font-size:12px"><%= a.attrs ? JSON.stringify(a.attrs) : '' %></code></td>
        <td><%= a.verificada ? '✔' : '' %></td>
        <td>
          <form method="post" action="/admin/e/<%= tipo %>/<%= fila.id %>/arista/quitar">
            <input type="hidden" name="_csrf" value="<%= csrf %>">
            <input type="hidden" name="from_type" value="<%= a.from_type %>"><input type="hidden" name="from_id" value="<%= a.from_id %>">
            <input type="hidden" name="rel" value="<%= a.rel %>">
            <input type="hidden" name="to_type" value="<%= a.to_type %>"><input type="hidden" name="to_id" value="<%= a.to_id %>">
            <button class="btn btn--mini btn--peligro" type="submit">Quitar</button>
          </form>
        </td>
      </tr>
    <% }) %>
    <% if (!aristas.length) { %><tr><td colspan="6" class="u-texto-suave">Sin relaciones todavía.</td></tr><% } %>
    </tbody>
  </table>
  <h3 class="u-mt-16">Añadir relación</h3>
  <form method="post" action="/admin/e/<%= tipo %>/<%= fila.id %>/arista" class="admin-acciones">
    <input type="hidden" name="_csrf" value="<%= csrf %>">
    <select name="rel" required>
      <% relaciones.forEach(function(r){ %><option value="<%= r %>"><%= r %></option><% }) %>
    </select>
    <select name="to_type" required>
      <% tipos.forEach(function(t){ %><option value="<%= t %>"><%= t %></option><% }) %>
    </select>
    <input name="busqueda" placeholder="Nombre de la entidad destino" required>
    <input name="attrs" placeholder='attrs JSON (opcional)' style="min-width:220px">
    <label style="font-weight:400"><input type="checkbox" name="verificada" value="1"> verificada</label>
    <button class="btn btn--mini btn--secundario" type="submit">Vincular</button>
  </form>
  <% if (typeof candidatos !== 'undefined' && candidatos && candidatos.length) { %>
    <div class="aviso-flash aviso-flash--error u-mt-16">Varias coincidencias: elige una.</div>
    <% candidatos.forEach(function(cd){ %>
      <form method="post" action="/admin/e/<%= tipo %>/<%= fila.id %>/arista" style="display:inline-block;margin:0 8px 8px 0">
        <input type="hidden" name="_csrf" value="<%= csrf %>">
        <input type="hidden" name="rel" value="<%= pendiente.rel %>"><input type="hidden" name="to_type" value="<%= pendiente.to_type %>">
        <input type="hidden" name="to_id" value="<%= cd.id %>"><input type="hidden" name="attrs" value="<%= pendiente.attrs || '' %>">
        <% if (pendiente.verificada) { %><input type="hidden" name="verificada" value="1"><% } %>
        <button class="btn btn--mini btn--fantasma" type="submit"><%= cd.nombre %> (#<%= cd.id %>)</button>
      </form>
    <% }) %>
  <% } %>
</div>

<% if (def.evidencias) { %>
<div class="admin-panel">
  <h2>Evidencias del producto</h2>
  <table class="admin-tabla">
    <thead><tr><th>Fuente</th><th>Año</th><th>Seguim.</th><th>Métrica</th><th>Valor</th><th>Estado</th><th></th></tr></thead>
    <tbody>
    <% evidencias.forEach(function(ev){ %>
      <tr>
        <td><%= ev.tipo_fuente %> · <%= ev.fuente_nombre %></td><td><%= ev.anio || '' %></td>
        <td><%= ev.seguimiento_anios ? ev.seguimiento_anios + ' a' : '' %></td>
        <td><%= ev.metrica || '' %></td><td><%= ev.valor || '' %></td>
        <td><span class="badge badge--<%= ev.estado_verificacion === 'verificada' ? 'verificado' : 'declarado' %>"><%= ev.estado_verificacion %></span></td>
        <td>
        <% if ((usuario.rol === 'revisor_medico' || usuario.rol === 'admin') && ev.estado_verificacion !== 'verificada') { %>
          <form method="post" action="/admin/evidencia/<%= ev.id %>/verificar">
            <input type="hidden" name="_csrf" value="<%= csrf %>">
            <input type="hidden" name="volver" value="/admin/e/producto/<%= fila.id %>">
            <button class="btn btn--mini btn--secundario" type="submit">Verificar</button>
          </form>
        <% } %>
        </td>
      </tr>
    <% }) %>
    <% if (!evidencias.length) { %><tr><td colspan="7" class="u-texto-suave">Sin evidencias. Nacen como "pendiente" (regla de oro 1).</td></tr><% } %>
    </tbody>
  </table>
  <h3 class="u-mt-16">Añadir evidencia (nace pendiente)</h3>
  <form method="post" action="/admin/e/producto/<%= fila.id %>/evidencia" class="admin-form">
    <input type="hidden" name="_csrf" value="<%= csrf %>">
    <div class="campo"><label>Tipo de fuente</label>
      <select name="tipo_fuente" required><option>registro_nacional</option><option>odep</option><option>estudio</option><option>guia_clinica</option></select></div>
    <div class="campo"><label>Nombre de la fuente</label><input name="fuente_nombre" required></div>
    <div class="campo"><label>Año</label><input name="anio" type="number"></div>
    <div class="campo"><label>Seguimiento (años)</label><input name="seguimiento_anios" type="number"></div>
    <div class="campo"><label>Métrica</label><input name="metrica" placeholder="supervivencia, PROM..."></div>
    <div class="campo"><label>Valor</label><input name="valor" placeholder="p. ej. 96,5 %"></div>
    <div class="campo campo--ancho"><label>URL</label><input name="url"></div>
    <div class="admin-acciones campo--ancho"><button class="btn btn--secundario" type="submit">Añadir evidencia</button></div>
  </form>
</div>
<% } %>
<% } %>
<script src="/public/js/admin.js"></script>
