import { e as createComponent, k as renderComponent, r as renderTemplate, h as createAstro, m as maybeRenderHead } from '../../chunks/astro/server_CNSJbOTP.mjs';
import 'piccolore';
import { o as obtenerUsuario, a as api, E as ESTADOS_MANUALES, b as ESTADO_PROCESO_ETIQUETAS, c as EXPOSICION_ETIQUETAS, O as OTRO_RIESGO_ETIQUETAS, d as EPP_ETIQUETAS, A as AISLAMIENTO_ETIQUETAS, e as ESTADO_PROCESO_BADGE, $ as $$AppLayout } from '../../chunks/AppLayout_DAKNch61.mjs';
import { jsx, jsxs } from 'react/jsx-runtime';
import { useState, useEffect } from 'react';
import { S as SeccionObservaciones } from '../../chunks/SeccionObservaciones_BtD_atpx.mjs';
export { renderers } from '../../renderers.mjs';

function badgeNivel(nivel) {
  if (!nivel) return /* @__PURE__ */ jsx("span", { className: "badge badge-gray", children: "Sin clasificar" });
  const clase = { alto: "badge-danger", mediano: "badge-warning", bajo: "badge-success" };
  const texto = { alto: "Alto Riesgo", mediano: "Mediano Riesgo", bajo: "Bajo Riesgo" };
  return /* @__PURE__ */ jsx("span", { className: `badge ${clase[nivel]}`, children: texto[nivel] });
}
function badgeEstado(e) {
  const clave = e;
  const cls = ESTADO_PROCESO_BADGE[clave] ?? "badge-gray";
  const label = ESTADO_PROCESO_ETIQUETAS[clave] ?? e;
  return /* @__PURE__ */ jsx("span", { className: `badge ${cls}`, children: label });
}
function formatFecha(iso) {
  const [y, m, d] = iso.split("-");
  return `${d}/${m}/${y}`;
}
function Campo({ label, children }) {
  return /* @__PURE__ */ jsxs("div", { children: [
    /* @__PURE__ */ jsx("dt", { className: "text-xs font-semibold uppercase tracking-wide text-gray-400", children: label }),
    /* @__PURE__ */ jsx("dd", { className: "mt-1 text-sm text-gray-900", children })
  ] });
}
function DetalleActividad({ id }) {
  const [actividad, setActividad] = useState(null);
  const [cargando, setCargando] = useState(true);
  const [error, setError] = useState(null);
  const [usuario, setUsuario] = useState(null);
  const [nuevoEstado, setNuevoEstado] = useState("");
  const [cambiandoEstado, setCambiandoEstado] = useState(false);
  const [errorEstado, setErrorEstado] = useState(null);
  const [okEstado, setOkEstado] = useState(false);
  useEffect(() => {
    setUsuario(obtenerUsuario());
  }, []);
  useEffect(() => {
    api.get(`/actividades/${id}`).then(setActividad).catch((e) => setError(e instanceof Error ? e.message : "Error al cargar la actividad")).finally(() => setCargando(false));
  }, [id]);
  async function guardarEstado() {
    if (!nuevoEstado) return;
    setCambiandoEstado(true);
    setErrorEstado(null);
    setOkEstado(false);
    try {
      await api.patch(`/actividades/${id}/estado`, { estado: nuevoEstado });
      setActividad((prev) => prev ? { ...prev, estado: nuevoEstado, estado_efectivo: nuevoEstado } : prev);
      setOkEstado(true);
      setNuevoEstado("");
    } catch (e) {
      setErrorEstado(e instanceof Error ? e.message : "Error al cambiar el estado");
    } finally {
      setCambiandoEstado(false);
    }
  }
  if (cargando) {
    return /* @__PURE__ */ jsx("div", { className: "py-16 text-center text-gray-400", children: "Cargando actividad…" });
  }
  if (error) {
    return /* @__PURE__ */ jsx("div", { className: "rounded-lg bg-red-50 border border-red-200 px-4 py-3 text-sm text-red-700", children: error });
  }
  if (!actividad) return null;
  const nivelColor = {
    alto: "border-l-red-500",
    mediano: "border-l-amber-400",
    bajo: "border-l-green-500"
  };
  const borderClass = actividad.nivel_riesgo ? nivelColor[actividad.nivel_riesgo] : "border-l-gray-300";
  const esLider = usuario?.rol === "admin" || usuario?.rol === "lider" || usuario?.rol === "colaborador";
  const puedeModificarEstado = esLider;
  const estadoActual = actividad.estado;
  const estadosDisponibles = actividad.estado === "no_iniciado" ? ESTADOS_MANUALES.filter((e) => e === "en_proceso" || e === "anulada") : actividad.estado === "en_proceso" ? ESTADOS_MANUALES.filter((e) => e === "no_iniciado" || e === "en_revision") : actividad.estado === "en_revision" ? ESTADOS_MANUALES.filter((e) => e === "en_proceso" || e === "pendiente_aprobacion") : actividad.estado === "pendiente_aprobacion" ? ESTADOS_MANUALES.filter((e) => e === "en_revision" || e === "completa") : [];
  return /* @__PURE__ */ jsxs("div", { className: "space-y-6 max-w-4xl", children: [
    /* @__PURE__ */ jsx("div", { className: `bg-white rounded-xl border border-gray-200 border-l-4 ${borderClass} shadow-sm p-6`, children: /* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-4", children: [
      /* @__PURE__ */ jsxs("div", { children: [
        /* @__PURE__ */ jsxs("p", { className: "text-2xl font-mono font-bold text-gray-300 mb-1", children: [
          "#",
          String(actividad.numero).padStart(3, "0")
        ] }),
        /* @__PURE__ */ jsx("h2", { className: "text-xl font-semibold text-gray-900", children: actividad.nombre }),
        /* @__PURE__ */ jsx("p", { className: "text-sm text-gray-500 mt-1", children: actividad.area })
      ] }),
      /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-end gap-2 flex-shrink-0", children: [
        badgeNivel(actividad.nivel_riesgo),
        badgeEstado(estadoActual)
      ] })
    ] }) }),
    puedeModificarEstado && estadoActual !== "completa" && estadoActual !== "anulada" && /* @__PURE__ */ jsxs("div", { className: "bg-white rounded-xl border border-gray-200 shadow-sm p-6", children: [
      /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-gray-700 mb-3", children: "Estado del Proceso" }),
      /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-3", children: [
        /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-sm text-gray-500", children: [
          /* @__PURE__ */ jsx("span", { children: "Estado actual:" }),
          badgeEstado(estadoActual)
        ] }),
        /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 ml-auto", children: [
          /* @__PURE__ */ jsxs(
            "select",
            {
              value: nuevoEstado,
              onChange: (e) => {
                setNuevoEstado(e.target.value);
                setOkEstado(false);
              },
              className: "input text-sm py-1.5",
              disabled: cambiandoEstado,
              children: [
                /* @__PURE__ */ jsx("option", { value: "", children: "Cambiar a…" }),
                estadosDisponibles.map((e) => /* @__PURE__ */ jsx("option", { value: e, children: ESTADO_PROCESO_ETIQUETAS[e] }, e))
              ]
            }
          ),
          /* @__PURE__ */ jsx(
            "button",
            {
              onClick: guardarEstado,
              disabled: !nuevoEstado || cambiandoEstado,
              className: "btn-primary text-sm disabled:opacity-40",
              children: cambiandoEstado ? "Guardando…" : "Guardar"
            }
          )
        ] })
      ] }),
      errorEstado && /* @__PURE__ */ jsx("p", { className: "mt-2 text-sm text-red-600", children: errorEstado }),
      okEstado && /* @__PURE__ */ jsx("p", { className: "mt-2 text-sm text-green-600", children: "Estado actualizado correctamente." })
    ] }),
    /* @__PURE__ */ jsxs("div", { className: "bg-white rounded-xl border border-gray-200 shadow-sm p-6", children: [
      /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-gray-700 mb-4", children: "Datos del Trabajo" }),
      /* @__PURE__ */ jsxs("dl", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-5", children: [
        /* @__PURE__ */ jsxs(Campo, { label: "Tipo de Trabajo", children: [
          /* @__PURE__ */ jsx("span", { className: "badge badge-gray", children: actividad.tipo_trabajo }),
          actividad.tipo_trabajo_detalle && /* @__PURE__ */ jsxs("span", { className: "ml-2 text-gray-500 text-xs", children: [
            "(",
            actividad.tipo_trabajo_detalle,
            ")"
          ] })
        ] }),
        /* @__PURE__ */ jsx(Campo, { label: "Lugar Específico", children: actividad.lugar_especifico }),
        /* @__PURE__ */ jsx(Campo, { label: "Estado", children: /* @__PURE__ */ jsx("span", { className: `badge ${actividad.estado === "activa" ? "badge-success" : actividad.estado === "cerrada" ? "badge-gray" : actividad.estado === "anulada" ? "badge-danger" : "badge-gray"} capitalize`, children: actividad.estado }) })
      ] })
    ] }),
    /* @__PURE__ */ jsxs("div", { className: "bg-white rounded-xl border border-gray-200 shadow-sm p-6", children: [
      /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-gray-700 mb-4", children: "Personas Responsables" }),
      /* @__PURE__ */ jsxs("dl", { className: "grid grid-cols-1 sm:grid-cols-3 gap-5", children: [
        /* @__PURE__ */ jsx(Campo, { label: "Responsable Directo", children: actividad.responsable_directo }),
        /* @__PURE__ */ jsx(Campo, { label: "Supervisor", children: actividad.supervisor }),
        /* @__PURE__ */ jsx(Campo, { label: "APR / Prevencionista", children: actividad.prevencionista })
      ] })
    ] }),
    /* @__PURE__ */ jsxs("div", { className: "bg-white rounded-xl border border-gray-200 shadow-sm p-6", children: [
      /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-gray-700 mb-4", children: "Planificación" }),
      /* @__PURE__ */ jsxs("dl", { className: "grid grid-cols-1 sm:grid-cols-3 gap-5", children: [
        /* @__PURE__ */ jsx(Campo, { label: "Fecha Inicio", children: formatFecha(actividad.fecha_inicio) }),
        /* @__PURE__ */ jsx(Campo, { label: "Fecha Término", children: formatFecha(actividad.fecha_termino) }),
        /* @__PURE__ */ jsx(Campo, { label: "Hora de Inicio", children: actividad.hora_inicio.slice(0, 5) })
      ] })
    ] }),
    (actividad.descripcion_trabajo || actividad.pasos.length > 0) && /* @__PURE__ */ jsxs("div", { className: "bg-white rounded-xl border border-gray-200 shadow-sm p-6 space-y-5", children: [
      /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-gray-700", children: "Descripción del Trabajo" }),
      actividad.descripcion_trabajo && /* @__PURE__ */ jsxs("div", { children: [
        /* @__PURE__ */ jsx("dt", { className: "text-xs font-semibold uppercase tracking-wide text-gray-400 mb-1", children: "Detalle" }),
        /* @__PURE__ */ jsx("dd", { className: "text-sm text-gray-900 whitespace-pre-wrap", children: actividad.descripcion_trabajo })
      ] }),
      actividad.pasos.length > 0 && /* @__PURE__ */ jsxs("div", { children: [
        /* @__PURE__ */ jsx("dt", { className: "text-xs font-semibold uppercase tracking-wide text-gray-400 mb-2", children: "Actividades involucradas (paso a paso)" }),
        /* @__PURE__ */ jsx("ol", { className: "space-y-1.5", children: actividad.pasos.map((paso, i) => /* @__PURE__ */ jsxs("li", { className: "flex gap-2 text-sm text-gray-900", children: [
          /* @__PURE__ */ jsxs("span", { className: "flex-shrink-0 font-medium text-gray-400", children: [
            i + 1,
            ".-"
          ] }),
          /* @__PURE__ */ jsx("span", { children: paso })
        ] }, i)) })
      ] })
    ] }),
    (actividad.exposicion_alto_riesgo ?? []).length > 0 && /* @__PURE__ */ jsxs("div", { className: "bg-white rounded-xl border border-gray-200 shadow-sm p-6", children: [
      /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-gray-700 mb-4", children: "Identificación de Exposición a Alto Riesgo" }),
      /* @__PURE__ */ jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs("table", { className: "w-full border border-gray-200 text-sm", children: [
        /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { className: "bg-gray-50 text-gray-600", children: [
          /* @__PURE__ */ jsx("th", { className: "border border-gray-200 px-3 py-2 text-left text-xs font-semibold uppercase tracking-wide w-1/2", children: "Actividad de Alto Riesgo" }),
          /* @__PURE__ */ jsx("th", { className: "border border-gray-200 px-3 py-2 text-left text-xs font-semibold uppercase tracking-wide w-1/2", children: "Herramientas, equipos o maquinarias a utilizar" })
        ] }) }),
        /* @__PURE__ */ jsx("tbody", { children: (actividad.exposicion_alto_riesgo ?? []).map((exp, i) => /* @__PURE__ */ jsxs("tr", { className: i % 2 === 0 ? "bg-white" : "bg-gray-50", children: [
          /* @__PURE__ */ jsxs("td", { className: "border border-gray-200 px-3 py-2 font-medium text-gray-800", children: [
            "✓ ",
            EXPOSICION_ETIQUETAS[exp.tipo] ?? exp.tipo
          ] }),
          /* @__PURE__ */ jsx("td", { className: "border border-gray-200 px-3 py-2 text-gray-700", children: exp.herramientas || /* @__PURE__ */ jsx("span", { className: "text-gray-400 italic", children: "Sin especificar" }) })
        ] }, i)) })
      ] }) })
    ] }),
    (actividad.otros_riesgos ?? []).length > 0 && /* @__PURE__ */ jsxs("div", { className: "bg-white rounded-xl border border-gray-200 shadow-sm p-6", children: [
      /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-gray-700 mb-4", children: "Identificación de Otros Riesgos" }),
      /* @__PURE__ */ jsx("ul", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-x-6 gap-y-1.5", children: (actividad.otros_riesgos ?? []).map((tipo, i) => {
        const etiqueta = OTRO_RIESGO_ETIQUETAS[tipo] ?? tipo;
        const esOtro = tipo === "otro" && actividad.otro_riesgo_especificado;
        return /* @__PURE__ */ jsxs("li", { className: "flex items-start gap-1.5 text-sm text-gray-800", children: [
          /* @__PURE__ */ jsx("span", { className: "text-green-600 font-bold flex-shrink-0", children: "✓" }),
          /* @__PURE__ */ jsx("span", { children: esOtro ? `Otro: ${actividad.otro_riesgo_especificado}` : etiqueta })
        ] }, i);
      }) })
    ] }),
    ((actividad.epp ?? []).length > 0 || (actividad.mecanismos_adicionales ?? []).length > 0) && /* @__PURE__ */ jsxs("div", { className: "bg-white rounded-xl border border-gray-200 shadow-sm p-6 space-y-5", children: [
      /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-gray-700", children: "Mecanismos de Control de Riesgos" }),
      (actividad.epp ?? []).length > 0 && /* @__PURE__ */ jsxs("div", { children: [
        /* @__PURE__ */ jsx("dt", { className: "text-xs font-semibold uppercase tracking-wide text-gray-400 mb-2", children: "Elementos de Protección Personal" }),
        /* @__PURE__ */ jsx("ul", { className: "grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-x-4 gap-y-1.5", children: (actividad.epp ?? []).map((tipo, i) => {
          const esOtros = tipo === "otros" && actividad.epp_otro;
          const etiqueta = EPP_ETIQUETAS[tipo] ?? tipo;
          return /* @__PURE__ */ jsxs("li", { className: "flex items-center gap-1.5 text-sm text-gray-800", children: [
            /* @__PURE__ */ jsx("span", { className: "text-green-600 font-bold flex-shrink-0", children: "✓" }),
            /* @__PURE__ */ jsx("span", { children: esOtros ? `Otros: ${actividad.epp_otro}` : etiqueta })
          ] }, i);
        }) })
      ] }),
      (actividad.mecanismos_adicionales ?? []).length > 0 && /* @__PURE__ */ jsxs("div", { children: [
        /* @__PURE__ */ jsx("dt", { className: "text-xs font-semibold uppercase tracking-wide text-gray-400 mb-2", children: "Mecanismos de Control Adicionales" }),
        /* @__PURE__ */ jsx("ol", { className: "grid grid-cols-1 sm:grid-cols-2 gap-x-6 gap-y-1.5", children: (actividad.mecanismos_adicionales ?? []).map((m, i) => /* @__PURE__ */ jsxs("li", { className: "flex gap-2 text-sm text-gray-900", children: [
          /* @__PURE__ */ jsxs("span", { className: "flex-shrink-0 font-medium text-gray-400 w-6 text-right", children: [
            i + 1,
            ".-"
          ] }),
          /* @__PURE__ */ jsx("span", { children: m })
        ] }, i)) })
      ] })
    ] }),
    (actividad.aislamientos ?? []).some((a) => a.seleccionado) && /* @__PURE__ */ jsxs("div", { className: "bg-white rounded-xl border border-gray-200 shadow-sm p-6", children: [
      /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-gray-700 mb-4", children: "Aislamiento y Bloqueo de Equipos" }),
      /* @__PURE__ */ jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs("table", { className: "w-full border border-gray-200 text-xs", children: [
        /* @__PURE__ */ jsxs("thead", { children: [
          /* @__PURE__ */ jsxs("tr", { className: "bg-gray-50 text-gray-600", children: [
            /* @__PURE__ */ jsx("th", { className: "border border-gray-200 px-2 py-1.5 text-left font-semibold w-32", children: "Equipo" }),
            /* @__PURE__ */ jsx("th", { colSpan: 4, className: "border border-gray-200 px-2 py-1.5 text-center font-semibold uppercase tracking-wide", children: "Aislamiento dispuesto por" }),
            /* @__PURE__ */ jsx("th", { colSpan: 4, className: "border border-gray-200 px-2 py-1.5 text-center font-semibold uppercase tracking-wide", children: "Fin de aislamiento dispuesto por" })
          ] }),
          /* @__PURE__ */ jsxs("tr", { className: "bg-gray-50 text-gray-500", children: [
            /* @__PURE__ */ jsx("th", { className: "border border-gray-200 px-2 py-1" }),
            ["Fecha", "Hora", "Nombre", "Firma", "Fecha", "Hora", "Nombre", "Firma"].map((h, i) => /* @__PURE__ */ jsx("th", { className: "border border-gray-200 px-2 py-1 font-semibold", children: h }, i))
          ] })
        ] }),
        /* @__PURE__ */ jsx("tbody", { children: (actividad.aislamientos ?? []).filter((a) => a.seleccionado).map((a, i) => /* @__PURE__ */ jsxs("tr", { className: i % 2 === 0 ? "bg-white" : "bg-gray-50", children: [
          /* @__PURE__ */ jsx("td", { className: "border border-gray-200 px-2 py-1.5 font-medium text-gray-800", children: a.tipo === "otro" && a.otro_detalle ? `Otros: ${a.otro_detalle}` : AISLAMIENTO_ETIQUETAS[a.tipo] }),
          [
            a.aislamiento_fecha,
            a.aislamiento_hora,
            a.aislamiento_nombre,
            a.aislamiento_firma,
            a.fin_fecha,
            a.fin_hora,
            a.fin_nombre,
            a.fin_firma
          ].map((val, j) => /* @__PURE__ */ jsx("td", { className: "border border-gray-200 px-2 py-1.5 text-gray-700", children: val ?? /* @__PURE__ */ jsx("span", { className: "text-gray-400 italic", children: "—" }) }, j))
        ] }, i)) })
      ] }) })
    ] }),
    (() => {
      const trabs = (actividad.toma_conocimiento ?? []).filter((t) => t.nombre.trim().length > 0);
      const apr = actividad.aprobacion_apr;
      const sup = actividad.aprobacion_supervisor;
      function BadgeAprobacion({ aprobado }) {
        if (aprobado === true) return /* @__PURE__ */ jsx("span", { className: "badge badge-success text-xs", children: "Sí" });
        if (aprobado === false) return /* @__PURE__ */ jsx("span", { className: "badge badge-danger text-xs", children: "No" });
        return /* @__PURE__ */ jsx("span", { className: "badge badge-gray text-xs", children: "Pendiente" });
      }
      function Vacio({ texto }) {
        return /* @__PURE__ */ jsx("span", { className: "text-gray-400 italic", children: texto });
      }
      return /* @__PURE__ */ jsxs("div", { className: "bg-white rounded-xl border border-gray-200 shadow-sm p-6 space-y-5", children: [
        /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-gray-700", children: "Toma de Conocimiento y Aprobación" }),
        /* @__PURE__ */ jsxs("div", { children: [
          /* @__PURE__ */ jsx("dt", { className: "text-xs font-semibold uppercase tracking-wide text-gray-400 mb-2", children: "Personal que tomó conocimiento" }),
          trabs.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-sm text-gray-400 italic", children: "Sin trabajadores registrados" }) : /* @__PURE__ */ jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs("table", { className: "w-full border border-gray-200 text-sm", children: [
            /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { className: "bg-gray-50 text-gray-600 text-xs", children: [
              /* @__PURE__ */ jsx("th", { className: "border border-gray-200 px-3 py-1.5 text-left font-semibold w-1/2", children: "Nombre" }),
              /* @__PURE__ */ jsx("th", { className: "border border-gray-200 px-3 py-1.5 text-left font-semibold w-1/2", children: "Firma" })
            ] }) }),
            /* @__PURE__ */ jsx("tbody", { children: trabs.map((t, i) => /* @__PURE__ */ jsxs("tr", { className: i % 2 === 0 ? "bg-white" : "bg-gray-50", children: [
              /* @__PURE__ */ jsx("td", { className: "border border-gray-200 px-3 py-2 text-sm text-gray-800", children: t.nombre }),
              /* @__PURE__ */ jsx("td", { className: "border border-gray-200 px-3 py-2 text-sm", children: t.firma ? /* @__PURE__ */ jsx("span", { className: "text-green-600 font-medium", children: "✓ Firmado" }) : /* @__PURE__ */ jsx("span", { className: "text-gray-400 italic", children: "No firmado" }) })
            ] }, i)) })
          ] }) })
        ] }),
        /* @__PURE__ */ jsxs("div", { children: [
          /* @__PURE__ */ jsx("dt", { className: "text-xs font-semibold uppercase tracking-wide text-gray-400 mb-2", children: "Aprobaciones" }),
          /* @__PURE__ */ jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs("table", { className: "w-full border border-gray-200 text-xs", children: [
            /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { className: "bg-gray-50 text-gray-500", children: [
              /* @__PURE__ */ jsx("th", { className: "border border-gray-200 px-3 py-1.5 text-left font-semibold", children: "Rol" }),
              /* @__PURE__ */ jsx("th", { className: "border border-gray-200 px-3 py-1.5 text-center font-semibold w-20", children: "Resultado" }),
              /* @__PURE__ */ jsx("th", { className: "border border-gray-200 px-3 py-1.5 text-left font-semibold", children: "Nombre" }),
              /* @__PURE__ */ jsx("th", { className: "border border-gray-200 px-3 py-1.5 text-left font-semibold", children: "Firma" }),
              /* @__PURE__ */ jsx("th", { className: "border border-gray-200 px-3 py-1.5 text-left font-semibold w-28", children: "Fecha" }),
              /* @__PURE__ */ jsx("th", { className: "border border-gray-200 px-3 py-1.5 text-left font-semibold w-20", children: "Hora" })
            ] }) }),
            /* @__PURE__ */ jsx("tbody", { children: [
              { label: "APR / Prevencionista", data: apr },
              { label: "Supervisor", data: sup }
            ].map(({ label, data }) => /* @__PURE__ */ jsxs("tr", { className: "bg-white", children: [
              /* @__PURE__ */ jsx("td", { className: "border border-gray-200 px-3 py-2 font-medium text-gray-700", children: label }),
              /* @__PURE__ */ jsx("td", { className: "border border-gray-200 px-3 py-2 text-center", children: /* @__PURE__ */ jsx(BadgeAprobacion, { aprobado: data?.aprobado }) }),
              /* @__PURE__ */ jsx("td", { className: "border border-gray-200 px-3 py-2 text-gray-800", children: data?.nombre || /* @__PURE__ */ jsx(Vacio, { texto: "—" }) }),
              /* @__PURE__ */ jsx("td", { className: "border border-gray-200 px-3 py-2 text-gray-700", children: data?.firma ?? /* @__PURE__ */ jsx(Vacio, { texto: "—" }) }),
              /* @__PURE__ */ jsx("td", { className: "border border-gray-200 px-3 py-2 text-gray-700", children: data?.fecha ?? /* @__PURE__ */ jsx(Vacio, { texto: "—" }) }),
              /* @__PURE__ */ jsx("td", { className: "border border-gray-200 px-3 py-2 text-gray-700", children: data?.hora ?? /* @__PURE__ */ jsx(Vacio, { texto: "—" }) })
            ] }, label)) })
          ] }) })
        ] })
      ] });
    })(),
    /* @__PURE__ */ jsxs("div", { className: "bg-white rounded-xl border border-gray-200 shadow-sm p-6 space-y-4", children: [
      /* @__PURE__ */ jsxs("div", { children: [
        /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-gray-700", children: "Observaciones" }),
        /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-0.5", children: "Fotografías, documentos adjuntos y otras evidencias de la ejecución del trabajo." })
      ] }),
      /* @__PURE__ */ jsx(SeccionObservaciones, { actividadId: id, soloLectura: true })
    ] }),
    /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
      esLider && /* @__PURE__ */ jsx("a", { href: `/actividades/${id}/editar`, className: "btn-primary text-sm", children: "Editar Actividad" }),
      /* @__PURE__ */ jsx("a", { href: "/actividades", className: "btn-secondary text-sm", children: "← Volver a Actividades" })
    ] })
  ] });
}

const $$Astro = createAstro();
const $$Index = createComponent(($$result, $$props, $$slots) => {
  const Astro2 = $$result.createAstro($$Astro, $$props, $$slots);
  Astro2.self = $$Index;
  const { id } = Astro2.params;
  const actividadId = parseInt(id ?? "0", 10);
  return renderTemplate`${renderComponent($$result, "AppLayout", $$AppLayout, { "titulo": "Detalle de Actividad", "seccionActiva": "actividades" }, { "default": ($$result2) => renderTemplate` ${maybeRenderHead()}<div class="mb-6"> <a href="/actividades" class="inline-flex items-center gap-2 text-sm text-gray-500 hover:text-[#1B2B4B] transition-colors"> <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 19l-7-7 7-7"></path> </svg>
Volver a Actividades
</a> </div> ${renderComponent($$result2, "DetalleActividad", DetalleActividad, { "id": actividadId, "client:load": true, "client:component-hydration": "load", "client:component-path": "C:/Proyectos IA/Sistema de Control y Gesti\xF3n Crew Consultores/frontend/src/components/actividades/DetalleActividad", "client:component-export": "default" })} ` })}`;
}, "C:/Proyectos IA/Sistema de Control y Gesti\xF3n Crew Consultores/frontend/src/pages/actividades/[id]/index.astro", void 0);

const $$file = "C:/Proyectos IA/Sistema de Control y Gestión Crew Consultores/frontend/src/pages/actividades/[id]/index.astro";
const $$url = "/actividades/[id]";

const _page = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
  __proto__: null,
  default: $$Index,
  file: $$file,
  url: $$url
}, Symbol.toStringTag, { value: 'Module' }));

const page = () => _page;

export { page };
