1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3470],{33470:function(e,a,s){s.r(a),s.d(a,{AdminPanel:function(){return e0}});var t=s(57437),i=s(2265),n=s(61396),l=s.n(n),r=s(24033),c=s(49598),o=s(23611),d=s(70708),m=s(35831),u=s(61465),x=s(41827),p=s(9883),h=s(67972),j=s(29409),g=s(65883),v=s(17158),f=s(81291),y=s(85790),b=s(22812),N=s(97332),w=s(25750),_=s(41298),C=s(9865),S=s(47562),k=s(92851),z=s(2882),E=s(90998),Z=s(69057),I=s(27461),P=s(52369),A=s(42482),T=s(86264),O=s(49617),F=s(45367),L=s(35817),D=s(41257),U=s(12899),M=s(7532),R=s(82549),q=s(40109);function Y(e,a){return e&&"object"==typeof e?"string"==typeof e.error&&e.error.trim()?e.error.trim():null!=e.error?function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Error desconocido";if(e instanceof Error)return e.message.trim()||a;if("string"==typeof e&&e.trim())return e.trim();if(e&&"object"==typeof e){if("string"==typeof e.message&&e.message.trim())return e.message.trim();if("string"==typeof e.error&&e.error.trim())return e.error.trim();if("string"==typeof e.details&&e.details.trim())return e.details.trim();try{let a=JSON.stringify(e);if(a&&"{}"!==a)return a}catch(e){}}return a}(e.error,a):"string"==typeof e.message&&e.message.trim()?e.message.trim():a:a}var G=s(71784);function J(e){var a;let{open:s,onClose:n,plans:l,onCreated:r}=e,[c,d]=(0,i.useState)(""),[x,p]=(0,i.useState)("demo"),[h,j]=(0,i.useState)(!1),[g,v]=(0,i.useState)(!0),[f,y]=(0,i.useState)(""),[b,N]=(0,i.useState)(""),[w,_]=(0,i.useState)("MX"),[C,S]=(0,i.useState)(!1),[k,z]=(0,i.useState)(""),[E,Z]=(0,i.useState)([]),[I,P]=(0,i.useState)(!1),A=(0,i.useCallback)(async()=>{P(!0);try{let e=await fetch("/api/admin/plans"),a=await e.json();if(e.ok&&a.success&&Array.isArray(a.plans)&&a.plans.length>0)return Z(a.plans),a.plans}catch(e){}finally{P(!1)}let e=l.length?l:[];return Z(e),e},[l]);if((0,i.useEffect)(()=>{s&&(d(""),y(""),N(""),_("MX"),j(!1),v(!1),z(""),A().then(e=>{var a;p(e.some(e=>"demo"===e.slug)?"demo":(null===(a=e[0])||void 0===a?void 0:a.slug)||"demo")}))},[s,A]),(0,i.useEffect)(()=>{l.length>0&&Z(l)},[l]),!s)return null;let T=E.find(e=>e.slug===x),O=T&&T.price>0&&!T.duration_days,F=async e=>{e.preventDefault(),z("");let a=c.trim(),s=f.trim();if(!a){z("El nombre de la empresa es requerido");return}if(!s){z("El email del owner es requerido");return}if(!x){z("Selecciona un plan");return}S(!0);try{let e=await fetch("/api/admin/companies",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:a,plan_slug:x,billing_exempt:h,ai_interview_avatar:g,admin_email:s,admin_name:b.trim()||void 0,operating_country_code:w})}),t=await e.json();if(!e.ok||!t.success){z(Y(t,"No se pudo crear la empresa"));return}r(t),n()}catch(e){z("Error de conexi\xf3n")}finally{S(!1)}};return(0,t.jsxs)("div",{className:"fixed inset-0 z-[100] flex items-center justify-center p-4",children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-black/50",onClick:n}),(0,t.jsxs)("div",{className:"relative bg-white rounded-xl shadow-xl max-w-lg w-full max-h-[90vh] overflow-y-auto z-[101]",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between p-5 border-b",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Nueva cuenta SaaS"}),(0,t.jsx)("button",{type:"button",onClick:n,className:"p-1 rounded hover:bg-gray-100",children:(0,t.jsx)(R.Z,{className:"w-5 h-5"})})]}),(0,t.jsxs)("form",{onSubmit:F,className:"p-5 space-y-4",children:[(0,t.jsxs)("p",{className:"text-sm text-gray-500",children:["Por defecto inicia en ",(0,t.jsx)("strong",{children:"Demo"}),". Tambi\xe9n puedes asignar un plan de pago: el owner deber\xe1 pagar en Stripe para activarlo, salvo que marques cuenta gratuita permanente."]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"company-name",children:"Nombre de la empresa"}),(0,t.jsx)(m.I,{id:"company-name",placeholder:"Ej. Agencia Norte",value:c,onChange:e=>d(e.target.value),required:!0})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"Pa\xeds donde opera"}),(0,t.jsxs)(M.Ph,{value:w,onValueChange:_,modal:!1,children:[(0,t.jsx)(M.i4,{children:(0,t.jsx)(M.ki,{placeholder:"Selecciona pa\xeds"})}),(0,t.jsx)(M.Bw,{className:"z-[9999]",children:G.mb.map(e=>(0,t.jsx)(M.Ql,{value:e,children:G.ZN[e]},e))})]}),(0,t.jsx)("p",{className:"text-xs text-gray-500",children:"Se usar\xe1 por defecto al crear vacantes (estados/provincias/regiones del cat\xe1logo)."})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"Plan inicial"}),(0,t.jsxs)(M.Ph,{value:x,onValueChange:p,modal:!1,children:[(0,t.jsx)(M.i4,{disabled:I,children:(0,t.jsx)(M.ki,{placeholder:I?"Cargando planesâ¦":"Selecciona un plan"})}),(0,t.jsx)(M.Bw,{className:"z-[9999]",children:E.map(e=>(0,t.jsxs)(M.Ql,{value:e.slug,children:[e.name,e.duration_days?" (".concat(e.duration_days," d\xedas)"):"",e.price>
10?" â $".concat(e.price.toLocaleString("es-MX")," MXN/mes"):" â Gratis"]},e.slug||e.id))})]}),T&&(0,t.jsxs)("p",{className:"text-xs text-gray-500",children:[(null===(a=T.features)||void 0===a?void 0:a.tagline)||""," \xb7 ",(0,q.WC)(T.max_users)," usuarios \xb7"," ",null!=T.max_positions?"".concat(T.max_positions," vacantes \xb7 "):"",T.max_candidates," candidatos",null!=T.ai_interview_quota?" \xb7 ".concat(T.ai_interview_quota," Camila"):""]}),O&&!h&&(0,t.jsx)("p",{className:"text-xs text-amber-700 bg-amber-50 border border-amber-100 rounded px-2 py-1.5",children:"Plan de pago: quedar\xe1 pendiente hasta que el owner pague en Facturaci\xf3n."})]}),(0,t.jsxs)("label",{className:"flex items-start gap-2 text-sm",children:[(0,t.jsx)("input",{type:"checkbox",className:"mt-1",checked:h,onChange:e=>j(e.target.checked)}),(0,t.jsxs)("span",{children:["Cuenta gratuita permanente (sin Stripe)",(0,t.jsx)("span",{className:"block text-xs text-gray-500 font-normal",children:"Para tenants internos como Talentgoo. El plan se activa sin cobro ni vencimiento."})]})]}),(0,t.jsxs)("label",{className:"flex items-start gap-2 text-sm",children:[(0,t.jsx)("input",{type:"checkbox",className:"mt-1",checked:g,onChange:e=>v(e.target.checked)}),(0,t.jsxs)("span",{children:["Avatar en entrevistas",(0,t.jsx)("span",{className:"block text-xs text-gray-500 font-normal",children:"Camila aparece en video (on por defecto). Consume minutos de Simli."})]})]}),(0,t.jsxs)("div",{className:"border-t pt-4 space-y-3",children:[(0,t.jsx)("p",{className:"text-sm font-medium text-gray-700",children:"Owner / administrador principal"}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"admin-email",children:"Email del owner"}),(0,t.jsx)(m.I,{id:"admin-email",type:"email",placeholder:"[email protected]",value:f,onChange:e=>y(e.target.value),required:!0}),(0,t.jsx)("p",{className:"text-xs text-gray-500",children:"Si el owner ya se registr\xf3 como candidato en Talentgoo, se reutilizar\xe1 esa cuenta."})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"admin-name",children:"Nombre del owner"}),(0,t.jsx)(m.I,{id:"admin-name",placeholder:"Nombre del contacto",value:b,onChange:e=>N(e.target.value)})]})]}),k&&(0,t.jsx)("p",{className:"text-sm text-red-600",children:k}),(0,t.jsxs)("div",{className:"flex justify-end gap-2 pt-2",children:[(0,t.jsx)(o.z,{type:"button",variant:"outline",onClick:n,children:"Cancelar"}),(0,t.jsx)(o.z,{type:"submit",disabled:C||I||0===E.length||!c.trim()||!f.trim(),children:C?"Creandoâ¦":"Crear empresa"})]})]})]})]})}function V(e){let{open:a,onClose:s,onCreated:n}=e,[l,r]=(0,i.useState)(""),[c,d]=(0,i.useState)(""),[x,p]=(0,i.useState)(!1),[h,j]=(0,i.useState)(""),[g,v]=(0,i.useState)("3"),[f,y]=(0,i.useState)("300"),[b,N]=(0,i.useState)("5"),[w,_]=(0,i.useState)("75"),[C,S]=(0,i.useState)("30"),[k,z]=(0,i.useState)(""),[E,Z]=(0,i.useState)("10"),[I,P]=(0,i.useState)(!1),[A,T]=(0,i.useState)("");if((0,i.useEffect)(()=>{a&&(r(""),d(""),p(!1),j(""),v("3"),y("300"),N("5"),_("75"),S("30"),z(""),Z("10"),T(""))},[a]),(0,i.useEffect)(()=>{!x&&l&&d((0,q.f6)(l))},[l,x]),!a)return null;let O=async e=>{e.preventDefault(),T("");let a=Number(h),t=Number(g),i=Number(f),r=Number(b),o=Number(w),d=Number(C),m=Number(E),u=(0,q.f6)(c||l);if(!l.trim()){T("El nombre es obligatorio");return}if(!u){T("Slug inv\xe1lido");return}if(!Number.isFinite(a)||a<0){T("Precio inv\xe1lido");return}if(!Number.isFinite(t)||t<1){T("Usuarios inv\xe1lido");return}if(!Number.isFinite(i)||i<1){T("Candidatos inv\xe1lido");return}if(!Number.isFinite(r)||r<1){T("Vacantes inv\xe1lido");return}P(!0);try{let e=await fetch("/api/admin/plans",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:l.trim(),slug:u,price:a,max_users:t,max_candidates:i,max_positions:r,ai_credits:o,ai_interview_quota:Number.isFinite(d)?d:0,tagline:k.trim()||null,display_order:Number.isFinite(m)?m:10})}),c=await e.json();if(!e.ok||!c.success){T(c.error||"No se pudo crear");return}n(c.plan,{stripe_synced:c.stripe_synced,warning:c.warning}),s()}catch(e){T("Error de conexi\xf3n")}
1finally{P(!1)}};return(0,t.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-black/50",onClick:s}),(0,t.jsxs)("div",{className:"relative bg-white rounded-xl shadow-xl max-w-lg w-full max-h-[90vh] overflow-y-auto",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between p-5 border-b sticky top-0 bg-white z-10",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Nuevo plan"}),(0,t.jsx)("button",{type:"button",onClick:s,className:"p-1 rounded hover:bg-gray-100",children:(0,t.jsx)(R.Z,{className:"w-5 h-5"})})]}),(0,t.jsxs)("form",{onSubmit:O,className:"p-5 space-y-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"new-plan-name",children:"Nombre"}),(0,t.jsx)(m.I,{id:"new-plan-name",value:l,onChange:e=>r(e.target.value),required:!0})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"new-plan-slug",children:"Slug (identificador)"}),(0,t.jsx)(m.I,{id:"new-plan-slug",value:c,onChange:e=>{p(!0),d(e.target.value)},placeholder:"ej. growth",required:!0}),(0,t.jsx)("p",{className:"text-xs text-gray-500",children:"Se usa en Stripe y al dar de alta empresas. No editable despu\xe9s."})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"new-plan-price",children:"Precio mensual (MXN)"}),(0,t.jsx)(m.I,{id:"new-plan-price",type:"number",min:1,step:1,value:h,onChange:e=>j(e.target.value),required:!0})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"new-plan-users",children:"Usuarios m\xe1x."}),(0,t.jsx)(m.I,{id:"new-plan-users",type:"number",min:1,value:g,onChange:e=>v(e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"new-plan-positions",children:"Vacantes m\xe1x."}),(0,t.jsx)(m.I,{id:"new-plan-positions",type:"number",min:1,value:b,onChange:e=>N(e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"new-plan-candidates",children:"Candidatos m\xe1x."}),(0,t.jsx)(m.I,{id:"new-plan-candidates",type:"number",min:1,value:f,onChange:e=>y(e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"new-plan-ai-credits",children:"Cr\xe9ditos IA"}),(0,t.jsx)(m.I,{id:"new-plan-ai-credits",type:"number",min:0,value:w,onChange:e=>_(e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"new-plan-camila",children:"Video-entrevistas Camila"}),(0,t.jsx)(m.I,{id:"new-plan-camila",type:"number",min:0,value:C,onChange:e=>S(e.target.value)})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"new-plan-tagline",children:"Descripci\xf3n corta"}),(0,t.jsx)(m.I,{id:"new-plan-tagline",value:k,onChange:e=>z(e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"new-plan-order",children:"Orden en cat\xe1logo"}),(0,t.jsx)(m.I,{id:"new-plan-order",type:"number",min:0,value:E,onChange:e=>Z(e.target.value)})]}),(0,t.jsx)("p",{className:"text-xs text-gray-500",children:"Al guardar se crea el plan en la base de datos y en Stripe (producto + precio mensual en MXN)."}),A&&(0,t.jsx)("p",{className:"text-sm text-red-600",children:A}),(0,t.jsxs)("div",{className:"flex justify-end gap-2 pt-2",children:[(0,t.jsx)(o.z,{type:"button",variant:"outline",onClick:s,children:"Cancelar"}),(0,t.jsx)(o.z,{type:"submit",disabled:I,children:I?"Creandoâ¦":"Crear en Stripe"})]})]})]})]})}function X(e){let{open:a,onClose:s,companies:n,defaultCompanyId:l,onInvited:r}=e,[c,d]=(0,i.useState)(""),[x,p]=(0,i.useState)(""),[h,j]=(0,i.useState)(l||""),[g,v]=(0,i.useState)("recruiter"),[f,y]=(0,i.useState)(!1),[b,N]=(0,i.useState)("");if((0,i.useEffect)(()=>{if(a){var e;d(""),p(""),j(l||(null===(e=n[0])||void 0===e?void 0:e.id)||""),v("recruiter"),N("")}},[a,l,n]),!a)return null;let w=async e=>{if(e.preventDefault(),N(""),!c.trim()||!h){N("Email y empresa son requeridos");return}y(!0);try{let e=await fetch("/api/admin/users",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:c.trim(),full_name:x.trim(),company_id:h,role:g})}),a=await e.json();if(!e.ok||!a.success){N(a.error||"No se pudo invitar al usuario");return}r(a),s()}catch(e){N("Error de conexi\xf3n")}
1finally{y(!1)}};return(0,t.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-black/50",onClick:s}),(0,t.jsxs)("div",{className:"relative bg-white rounded-xl shadow-xl max-w-md w-full",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between p-5 border-b",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Invitar usuario"}),(0,t.jsx)("button",{type:"button",onClick:s,className:"p-1 rounded hover:bg-gray-100",children:(0,t.jsx)(R.Z,{className:"w-5 h-5"})})]}),(0,t.jsxs)("form",{onSubmit:w,className:"p-5 space-y-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"invite-company",children:"Empresa"}),(0,t.jsxs)(M.Ph,{value:h,onValueChange:j,children:[(0,t.jsx)(M.i4,{children:(0,t.jsx)(M.ki,{placeholder:"Selecciona empresa"})}),(0,t.jsx)(M.Bw,{children:n.map(e=>(0,t.jsx)(M.Ql,{value:e.id,children:e.name},e.id))})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"invite-email",children:"Email"}),(0,t.jsx)(m.I,{id:"invite-email",type:"email",required:!0,value:c,onChange:e=>d(e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"invite-name",children:"Nombre"}),(0,t.jsx)(m.I,{id:"invite-name",value:x,onChange:e=>p(e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"Rol"}),(0,t.jsxs)(M.Ph,{value:g,onValueChange:e=>v(e),children:[(0,t.jsx)(M.i4,{children:(0,t.jsx)(M.ki,{})}),(0,t.jsxs)(M.Bw,{children:[(0,t.jsx)(M.Ql,{value:"recruiter",children:"Reclutador"}),(0,t.jsx)(M.Ql,{value:"company_admin",children:"Admin de empresa"})]})]})]}),b&&(0,t.jsx)("p",{className:"text-sm text-red-600",children:b}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)(o.z,{type:"button",variant:"outline",onClick:s,children:"Cancelar"}),(0,t.jsx)(o.z,{type:"submit",disabled:f,children:f?"Invitandoâ¦":"Crear acceso"})]})]})]})]})}var Q=s(12150),B=s(81628);function H(e){let{connected:a,status:s,phone:i,className:n}=e,l=!0===a,r="connecting"===s,c=l?"WhatsApp conectado".concat(i?" \xb7 ".concat(i.startsWith("+")?i:"+".concat(i)):""):r?"WhatsApp conectandoâ¦":"WhatsApp sin sesi\xf3n activa";return(0,t.jsx)("span",{title:c,"aria-label":c,className:(0,B.cn)("inline-flex h-8 w-8 items-center justify-center rounded-full",l?"bg-[#25D366]/15 text-[#128C7E]":r?"bg-amber-50 text-amber-600":"bg-gray-100 text-gray-400",n),children:(0,t.jsx)(Q.y,{className:"w-4 h-4"})})}var W=s(22147),$=s(31541),K=s(61195),ee=s(74527),ea=s(43480),es=s(13008);let et={linkedin_apify:"LinkedIn (Apify)",coresignal:"CoreSignal",peopledatalabs:"People Data Labs",deep_search:"B\xfasqueda profunda",linkedin_unipile:"LinkedIn Unipile"};function ei(e){let{label:a,value:s,hint:i}=e;return(0,t.jsxs)("div",{className:"rounded-lg border bg-white px-3 py-2",children:[(0,t.jsx)("p",{className:"text-[11px] uppercase tracking-wide text-gray-500",children:a}),(0,t.jsx)("p",{className:"text-lg font-semibold text-gray-900 tabular-nums",children:s}),i?(0,t.jsx)("p",{className:"text-[11px] text-gray-500 mt-0.5",children:i}):null]})}function en(e){let{title:a,children:s}=e;return(0,t.jsxs)("section",{className:"space-y-2",children:[(0,t.jsx)("h3",{className:"text-sm font-semibold text-gray-800",children:a}),s]})}function el(e){let{companyId:a}=e,[s,n]=(0,i.useState)(!0),[l,r]=(0,i.useState)(""),[c,o]=(0,i.useState)(null),[d,m]=(0,i.useState)("plan");if((0,i.useEffect)(()=>{let e=!1,s=async()=>{n(!0),r("");try{let s=await fetch("/api/admin/companies/".concat(a,"/usage").concat("plan"===d?"":"?days=".concat(d))),t=await s.json();if(!s.ok||!t.success){e||r(t.error||"No se pudo cargar el uso");return}e||o(t.usage)}catch(a){e||r("Error de conexi\xf3n")}finally{e||n(!1)}};return s(),()=>{e=!0}},[a,d]),s)return(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm text-gray-500 py-8 justify-center",children:[(0,t.jsx)(T.Z,{className:"w-4 h-4 animate-spin"}),"Cargando uso del tenantâ¦"]});if(l||!c)return(0,t.jsx)("p",{className:"text-sm text-red-600",children:l||"Sin datos"});let u=c.quotas;return(0,t.jsxs)("div",{className:"space-y-5",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-sm font-medium text-gray-900",children:c.period.label}),(0,t.jsxs)("p",{className:"text-xs text-gray-500",children:[(0,B.o0)(c.peri
1od.from)," â ",(0,B.o0)(c.period.to)]})]}),(0,t.jsx)("div",{className:"flex gap-1",children:[["plan","Plan"],["30","30d"],["90","90d"]].map(e=>{let[a,s]=e;return(0,t.jsx)("button",{type:"button",onClick:()=>m(a),className:"px-2.5 py-1 text-xs rounded border ".concat(d===a?"bg-red-50 border-red-200 text-red-800":"bg-white border-gray-200 text-gray-600"),children:s},a)})})]}),(0,t.jsx)(en,{title:"Cupos del plan",children:(0,t.jsxs)("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-2",children:[(0,t.jsx)(ei,{label:"Usuarios",value:"".concat(u.users.used,"/").concat(u.users.label)}),(0,t.jsx)(ei,{label:"Vacantes activas",value:"".concat(u.positions.used,"/").concat(u.positions.limit)}),(0,t.jsx)(ei,{label:"Candidatos eval.",value:"".concat(u.candidates.remaining," rest."),hint:"L\xedmite ".concat(u.candidates.limit," \xb7 eventos ").concat(u.candidates.used_events)}),(0,t.jsx)(ei,{label:"Camila",value:"".concat(u.camila.remaining," rest."),hint:"L\xedmite ".concat(u.camila.limit," \xb7 starts ").concat(u.camila.started_events," \xb7 done ").concat(u.camila.completed)}),(0,t.jsx)(ei,{label:"Cr\xe9ditos IA",value:u.credits.total,hint:"Plan ".concat(u.credits.plan," + bonus ").concat(u.credits.bonus," \xb7 gastados ").concat(u.credits.spent_period)}),(0,t.jsx)(ei,{label:"Fotos IA",value:u.credits.photos})]})}),(0,t.jsxs)(en,{title:"Sourcing (jobs del periodo)",children:[(0,t.jsxs)("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-2 mb-2",children:[(0,t.jsx)(ei,{label:"Jobs",value:c.sourcing.totals.jobs}),(0,t.jsx)(ei,{label:"Resultados encontrados",value:c.sourcing.totals.found}),(0,t.jsx)(ei,{label:"Importados",value:c.sourcing.totals.imported}),(0,t.jsx)(ei,{label:"Con match",value:c.sourcing.totals.matched})]}),0===c.sourcing.byProvider.length?(0,t.jsx)("p",{className:"text-xs text-gray-500",children:"Sin b\xfasquedas en el periodo."}):(0,t.jsx)("div",{className:"overflow-x-auto rounded border",children:(0,t.jsxs)("table",{className:"w-full text-xs",children:[(0,t.jsx)("thead",{className:"bg-gray-50 text-gray-500",children:(0,t.jsxs)("tr",{children:[(0,t.jsx)("th",{className:"text-left px-2 py-1.5 font-medium",children:"Proveedor"}),(0,t.jsx)("th",{className:"text-right px-2 py-1.5 font-medium",children:"Jobs"}),(0,t.jsx)("th",{className:"text-right px-2 py-1.5 font-medium",children:"Found"}),(0,t.jsx)("th",{className:"text-right px-2 py-1.5 font-medium",children:"Import"}),(0,t.jsx)("th",{className:"text-right px-2 py-1.5 font-medium",children:"Match"}),(0,t.jsx)("th",{className:"text-right px-2 py-1.5 font-medium",children:"Fail"})]})}),(0,t.jsx)("tbody",{children:c.sourcing.byProvider.map(e=>(0,t.jsxs)("tr",{className:"border-t",children:[(0,t.jsx)("td",{className:"px-2 py-1.5",children:et[e.provider]||e.provider}),(0,t.jsx)("td",{className:"px-2 py-1.5 text-right tabular-nums",children:e.jobs}),(0,t.jsx)("td",{className:"px-2 py-1.5 text-right tabular-nums",children:e.found}),(0,t.jsx)("td",{className:"px-2 py-1.5 text-right tabular-nums",children:e.imported}),(0,t.jsx)("td",{className:"px-2 py-1.5 text-right tabular-nums",children:e.matched}),(0,t.jsx)("td",{className:"px-2 py-1.5 text-right tabular-nums",children:e.failed})]},e.provider))})]})})]}),(0,t.jsx)(en,{title:"Camila (entrevistas IA)",children:(0,t.jsxs)("div",{className:"grid grid-cols-2 sm:grid-cols-5 gap-2",children:[(0,t.jsx)(ei,{label:"Invitadas",value:c.camila.invited}),(0,t.jsx)(ei,{label:"En curso",value:c.camila.in_progress}),(0,t.jsx)(ei,{label:"Completadas",value:c.camila.completed}),(0,t.jsx)(ei,{label:"Expiradas",value:c.camila.expired}),(0,t.jsx)(ei,{label:"Otras",value:c.camila.other})]})}),(0,t.jsxs)(en,{title:"Candidatos / postulaciones",children:[(0,t.jsxs)("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-2 mb-2",children:[(0,t.jsx)(ei,{label:"Total hist\xf3rico",value:c.applications.total}),(0,t.jsx)(ei,{label:"Con match",value:c.applications.withMatch}),(0,t.jsx)(ei,{label:"Creadas en periodo",value:c.applications.createdInPeriod}),(0,t.jsx)(ei,{label:"Vacantes",value:"".concat(c.positions.active," activas / ").concat(c.positions.total)})]}),(0,t.jsxs)("div",{className:"grid sm:grid-cols-2 gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-xs font-medium text-gray-600 mb-1",children:"Por application_source"}),(0,t.jsx)("ul",{className:"text-xs space-y-0.5 max-h-40 overflow-y-auto border rounded p-2 bg-gray-50",children:c.applications.bySource.slice(0,20).map(e=>(0,t.jsxs)("li",{className:"flex justify-between gap-2",children:[(0,t.jsx)("span",{className:"truncate",children:e.source}),(0,t.jsx)("span",{className:"tabular-nums font-medium",children:e.count})]},e.source))})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-xs font-medium text-gray-600 mb-1",children:"Por acquisition_origin"}),(0,t.jsx)("ul",{className:"text-xs space-y-0.5 max-h-40 overflow-y-auto border rounded p-2 bg-gray-50",children:c.applications.byOrigin.slice(0,20).map(e=>(0,t.jsxs)("li",{className:"flex justify-between gap-2",children:[(0,t.jsx)("span",{className:"truncate",children:e.origin}),(0,t.jsx)("span",{className:"tabular-nums font-medium",children:e.count})]},e.origin))})]})]})]}),(0,t.jsx)(en,{title:"WhatsApp / LinkedIn outreach / otros",children:(0,t.jsxs)("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-2",children:[(0,t.jsx)(ei,{label:"WA c
1onectados",value:c.whatsapp.connected_users}),(0,t.jsx)(ei,{label:"WA mensajes",value:c.whatsapp.messages}),(0,t.jsx)(ei,{label:"WA send jobs",value:c.whatsapp.send_jobs}),(0,t.jsx)(ei,{label:"Outreach seq.",value:c.linkedin_outreach.sequences,hint:"Activas ".concat(c.linkedin_outreach.active," \xb7 done ").concat(c.linkedin_outreach.completed)}),(0,t.jsx)(ei,{label:"Page views",value:c.page_views}),(0,t.jsx)(ei,{label:"CV batch",value:c.cv_batch.jobs,hint:"".concat(c.cv_batch.files_ok," archivos OK")}),(0,t.jsx)(ei,{label:"Talent pool JD",value:c.talent_pool_jd.jobs}),(0,t.jsx)(ei,{label:"Assist chats",value:c.assist.conversations,hint:"".concat(c.assist.credits," cr\xe9ditos")})]})}),(0,t.jsx)(en,{title:"Cr\xe9ditos IA por acci\xf3n (periodo)",children:0===c.ai_credits_by_action.length?(0,t.jsx)("p",{className:"text-xs text-gray-500",children:"Sin consumo de cr\xe9ditos registrados."}):(0,t.jsx)("ul",{className:"text-xs space-y-0.5 border rounded p-2 bg-gray-50 max-h-36 overflow-y-auto",children:c.ai_credits_by_action.map(e=>(0,t.jsxs)("li",{className:"flex justify-between gap-2",children:[(0,t.jsxs)("span",{children:[e.action," ",(0,t.jsxs)("span",{className:"text-gray-400",children:["(",e.events,")"]})]}),(0,t.jsx)("span",{className:"tabular-nums font-medium",children:e.credits})]},e.action))})}),(0,t.jsx)(en,{title:"Eventos recientes (ledger)",children:0===c.recent_events.length?(0,t.jsx)("p",{className:"text-xs text-gray-500",children:"Sin eventos en ledger a\xfan (se registran al consumir Camila / candidatos evaluados)."}):(0,t.jsx)("ul",{className:"text-xs space-y-1 max-h-40 overflow-y-auto border rounded p-2",children:c.recent_events.map((e,a)=>(0,t.jsxs)("li",{className:"flex justify-between gap-2 border-b last:border-0 pb-1",children:[(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"font-medium",children:e.event_type}),1!==e.quantity?" \xd7".concat(e.quantity):""]}),(0,t.jsx)("span",{className:"text-gray-500 whitespace-nowrap",children:(0,B.o0)(e.created_at)})]},"".concat(e.created_at,"-").concat(a)))})})]})}let er=[{id:"general",label:"General"},{id:"billing",label:"Facturaci\xf3n"},{id:"plan",label:"Plan"},{id:"usage",label:"Uso"},{id:"users",label:"Usuarios"}],ec=()=>({name:"",slug:"",description:"",website:"",industry:"",country:"",city:"",operating_country_code:"MX",is_active:!0,logo_url:"",billing_legal_name:"",billing_rfc:"",billing_regimen_fiscal:"",billing_codigo_postal:"",billing_address:"",billing_email:"",billing_uso_cfdi:"G03",billing_contact_name:"",billing_contact_phone:"",payment_blocked:!1,payment_blocked_reason:"",billing_exempt:!1,ai_interview_avatar:!1});function eo(e){var a,s,n,l,r,c,x,p,h,j;let{open:g,tenantId:v,plans:f,onClose:y,onSaved:b,onInviteUser:N,onPasswordReset:w}=e,[_,C]=(0,i.useState)("general"),[S,k]=(0,i.useState)(!1),[z,E]=(0,i.useState)(!1),[Z,I]=(0,i.useState)(!1),[P,A]=(0,i.useState)(""),[O,F]=(0,i.useState)(ec()),[L,D]=(0,i.useState)("demo"),[U,q]=(0,i.useState)("7"),[Y,J]=(0,i.useState)("7"),[V,X]=(0,i.useState)(!1),[Q,et]=(0,i.useState)("0"),[ei,en]=(0,i.useState)(null),[eo,ed]=(0,i.useState)(null),[em,eu]=(0,i.useState)([]),[ex,ep]=(0,i.useState)({}),[eh,ej]=(0,i.useState)(null),[eg,ev]=(0,i.useState)(null),[ef,ey]=(0,i.useState)(!1),[eb,eN]=(0,i.useState)(""),[ew,e_]=(0,i.useState)(null),eC=(0,i.useCallback)(async()=>{if(v){k(!0),A("");try{var e,a,s,t,i,n;let l=await fetch("/api/admin/companies/".concat(v)),r=await l.json();if(!l.ok||!r.success){A(r.error||"No se pudo cargar la cuenta");return}let c=r.company;F({name:c.name||"",slug:c.slug||"",description:c.description||"",website:c.website||"",industry:c.industry||"",country:c.country||"",city:c.city||"",operating_country_code:c.operating_country_code||"MX",is_active:!1!==c.is_active,logo_url:c.logo_url||"",billing_legal_name:c.billing_legal_name||"",billing_rfc:c.billing_rfc||"",billing_regimen_fiscal:c.billing_regimen_fiscal||"",billing_codigo_postal:c.billing_codigo_postal||"",billing_address:c.billing_address||"",billing_email:c.billing_email||"",billing_uso_cfdi:c.billing_uso_cfdi||"G03",billing_contact_name:c.billing_contact_name||"",billing_contact_phone:c.billing_contact_phone||"",payment_blocked:!0===c.payment_blocked,payment_blocked_reason:c.payment_blocked_reason||"",billing_exempt:!0===c.billing_exempt,ai_interview_avatar:!0===c.ai_interview_avatar}),e_(null!==(s=c.payment_blocked_at)&&void 0!==s?s:null),en(r.plan),D((null===(e=r.plan)||void 0===e?void 0:e.slug)||"demo"),ed(r.credits),et(String(null!==(i=null!==(t=null===(a=r.credits)||void 0===a?void 0:a.bonusCredits)&&void 0!==t?t:c.ai_credits_bonus)&&void 0!==i?i:0)),eu(r.users||[]),ep(r.stats||{}),ev(null!==(n=c.stripe_customer_id)&&void 0!==n?n:null),eN("")}catch(e){A("Error de conexi\xf3n")}
1finally{k(!1)}}},[v]);if((0,i.useEffect)(()=>{g&&v&&(C("general"),eC())},[g,v,eC]),!g||!v)return null;let eS=(e,a)=>{F(s=>({...s,[e]:a}))},ek=async()=>{E(!0),A("");try{let e=await fetch("/api/admin/companies/".concat(v),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:O.name,slug:O.slug,description:O.description,website:O.website,industry:O.industry,country:O.country,city:O.city,operating_country_code:O.operating_country_code||"MX",is_active:O.is_active,logo_url:O.logo_url,billing_legal_name:O.billing_legal_name,billing_rfc:O.billing_rfc,billing_regimen_fiscal:O.billing_regimen_fiscal,billing_codigo_postal:O.billing_codigo_postal,billing_address:O.billing_address,billing_email:O.billing_email,billing_uso_cfdi:O.billing_uso_cfdi,billing_contact_name:O.billing_contact_name,billing_contact_phone:O.billing_contact_phone})}),a=await e.json();if(!e.ok||!a.success){A(a.error||"No se pudo guardar");return}a.stripe_warning?eN(a.stripe_warning):a.stripe_customer_id&&(ev(a.stripe_customer_id),eN("Datos sincronizados con Stripe.")),b()}catch(e){A("Error de conexi\xf3n")}finally{E(!1)}},ez=async()=>{E(!0),A("");try{let e=await fetch("/api/admin/companies/".concat(v),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({payment_blocked:!0===O.payment_blocked,payment_blocked_reason:!0===O.payment_blocked?String(O.payment_blocked_reason||"").trim():null})}),a=await e.json();if(!e.ok||!a.success){A(a.error||"No se pudo actualizar la suspensi\xf3n");return}await eC(),b()}catch(e){A("Error de conexi\xf3n")}finally{E(!1)}},eE=async()=>{E(!0),A("");try{let e=await fetch("/api/admin/companies/".concat(v),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({billing_exempt:!0===O.billing_exempt})}),a=await e.json();if(!e.ok||!a.success){A(a.error||"No se pudo actualizar");return}await eC(),b()}catch(e){A("Error de conexi\xf3n")}finally{E(!1)}},eZ=async()=>{E(!0),A("");try{let e=await fetch("/api/admin/companies/".concat(v),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({ai_interview_avatar:!0===O.ai_interview_avatar})}),a=await e.json();if(!e.ok||!a.success){A(a.error||"No se pudo actualizar el avatar IA");return}await eC(),b()}catch(e){A("Error de conexi\xf3n")}finally{E(!1)}},eI=async()=>{E(!0),A(""),eN("");try{let e=Number(Y);if(!Number.isFinite(e)||e<1){A("Indica cu\xe1ntos d\xedas extra (m\xednimo 1)");return}let a=await fetch("/api/admin/companies/".concat(v,"/plan/extend"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({days:e})}),s=await a.json();if(!a.ok||!s.success){A(s.error||"No se pudo extender el periodo");return}eN(s.message||"Periodo extendido."),await eC(),b()}catch(e){A("Error de conexi\xf3n")}finally{E(!1)}},eP=async()=>{E(!0),A("");try{let e=await fetch("/api/admin/companies/".concat(v,"/plan"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({plan_slug:L,extend_days:U?Number(U):void 0,activate_without_payment:V})}),a=await e.json();if(!e.ok||!a.success){A(a.error||"No se pudo asignar el plan");return}a.message&&eN(a.message),await eC(),b()}catch(e){A("Error de conexi\xf3n")}finally{E(!1)}},eA=async()=>{E(!0),A("");try{let e=await fetch("/api/admin/companies/".concat(v),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({ai_credits_bonus:Number(Q)||0})}),a=await e.json();if(!e.ok||!a.success){A(a.error||"No se pudieron actualizar los cr\xe9ditos");return}await eC(),b()}catch(e){A("Error de conexi\xf3n")}finally{E(!1)}},eT=async()=>{ey(!0),A(""),eN("");try{let e=await fetch("/api/admin/companies/".concat(v,"/stripe"),{method:"POST"}),a=await e.json();if(!e.ok||!a.success){A(a.error||"No se pudo sincronizar con Stripe");return}a.stripe_customer_id&&ev(a.stripe_customer_id),eN(a.warning||"Cliente sincronizado en Stripe.")}catch(e){A("Error de conexi\xf3n")}finally{ey(!1)}},eO=async e=>{ej(e.id),A("");try{let a=await fetch("/api/admin/users/".concat(e.id,"/reset-password"),{method:"POST"}),s=await a.json();if(!a.ok||!s.success){A(s.error||"No se pudo resetear la contrase\xf1a");return}null==w||w({email:s.email,temporary_password:s.temporary_password}),await eC()}catch(e){A("Error de conexi\xf3n")}
1finally{ej(null)}},eF=async e=>{ej(e.id),A("");try{let a=await fetch("/api/admin/users/".concat(e.id),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({is_active:!1===e.is_active})}),s=await a.json();if(!a.ok||!s.success){A(s.error||"No se pudo actualizar el usuario");return}await eC()}catch(e){A("Error de conexi\xf3n")}finally{ej(null)}},eL=async e=>{if(window.confirm("\xbfQuitar a ".concat(e.full_name||e.email," del equipo de esta cuenta? Si es contacto de un cliente, sigue en Panel â Clientes."))){ej(e.id),A("");try{let a=await fetch("/api/admin/users/".concat(e.id),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({company_id:null})}),s=await a.json();if(!a.ok||!s.success){A(s.error||"No se pudo quitar el usuario de la cuenta");return}await eC()}catch(e){A("Error de conexi\xf3n")}finally{ej(null)}}},eD=async e=>{I(!0),A("");try{let a=new FormData;a.append("file",e);let s=await fetch("/api/upload-file-public",{method:"POST",body:a}),t=await s.json();if(!s.ok||!t.publicUrl){A(t.error||"Error al subir logo");return}eS("logo_url",t.publicUrl)}catch(e){A("Error al subir logo")}finally{I(!1)}};return(0,t.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-black/50",onClick:y}),(0,t.jsxs)("div",{className:"relative bg-white rounded-xl shadow-xl max-w-2xl w-full max-h-[92vh] flex flex-col",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between p-5 border-b shrink-0",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Editar cuenta SaaS"}),(0,t.jsx)("p",{className:"text-sm text-gray-500 truncate",children:String(O.name)||v})]}),(0,t.jsx)("button",{type:"button",onClick:y,className:"p-1 rounded hover:bg-gray-100",children:(0,t.jsx)(R.Z,{className:"w-5 h-5"})})]}),(0,t.jsx)("div",{className:"flex border-b px-5 gap-1 shrink-0 overflow-x-auto",children:er.map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>C(e.id),className:"px-3 py-2 text-sm border-b-2 -mb-px whitespace-nowrap ".concat(_===e.id?"border-red-600 text-red-700 font-medium":"border-transparent text-gray-500"),children:e.label},e.id))}),(0,t.jsxs)("div",{className:"p-5 overflow-y-auto flex-1 space-y-4",children:[S&&(0,t.jsxs)("div",{className:"flex items-center justify-center py-12 text-gray-500",children:[(0,t.jsx)(T.Z,{className:"w-5 h-5 animate-spin mr-2"}),"Cargandoâ¦"]}),!S&&"general"===_&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-start gap-4",children:[(0,t.jsx)("div",{className:"w-16 h-16 rounded-lg border bg-gray-50 flex items-center justify-center overflow-hidden shrink-0",children:O.logo_url?(0,t.jsx)("img",{src:String(O.logo_url),alt:"",className:"w-full h-full object-contain"}):(0,t.jsx)("span",{className:"text-xs text-gray-400",children:"Logo"})}),(0,t.jsxs)("div",{className:"space-y-2 flex-1",children:[(0,t.jsx)(u._,{children:"Logo"}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsxs)("label",{className:"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium border border-input bg-background hover:bg-accent h-9 px-3 cursor-pointer",children:[(0,t.jsx)("input",{type:"file",accept:"image/*",className:"hidden",disabled:Z,onChange:e=>{var a;let s=null===(a=e.target.files)||void 0===a?void 0:a[0];s&&eD(s)}}),Z?(0,t.jsx)(T.Z,{className:"w-4 h-4 animate-spin mr-1"}):(0,t.jsx)($.Z,{className:"w-4 h-4 mr-1"}),"Subir"]}),(0,t.jsx)(m.I,{placeholder:"URL del logo",value:String(O.logo_url),onChange:e=>eS("logo_url",e.target.value),className:"flex-1 min-w-[180px]"})]})]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2 sm:col-span-2",children:[(0,t.jsx)(u._,{children:"Nombre"}),(0,t.jsx)(m.I,{value:String(O.name),onChange:e=>eS("name",e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"Slug"}),(0,t.jsx)(m.I,{value:String(O.slug),onChange:e=>eS("slug",e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2 flex flex-col justify-end",children:[(0,t.jsxs)(u._,{className:"flex items-center gap-2 cursor-pointer",children:[(0,t.jsx)("input",{type:"checkbox",checked:!1!==O.is_active,onChange:e=>eS("is_active",e.target.checked),className:"rounded"}),"Cuenta activa"]}),(0,t.jsx)("p",{className:"text-xs text-gray-500",children:"Si la desactivas, los usuarios no podr\xe1n acceder al panel."})]}),(0,t.jsxs)("div",{className:"space-y-2 sm:col-span-2",children:[(0,t.jsx)(u._,{children:"Descripci\xf3n"}),(0,t.jsx)(m.I,{value:String(O.description),onChange:e=>eS("description",e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"Sitio web"}),(0,t.jsx)(m.I,{value:String(O.website),onChange:e=>eS("website",e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"Industria"}),(0,t.jsx)(m.I,{value:String(O.industry),onChange:e=>eS("industry",e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"Pa\xeds donde opera"}),(0,t.jsxs)(M.Ph,{value:String(O.operating_country_code||"MX"),onValueChange:e=>eS("operating_country_code",e),modal:!1,children:[(0,t.jsx)(M.i4,{children:(0,t.jsx)(M.ki,{})}),(0,t.jsx)(M.Bw,{className:"z-[9999]",children:G.mb.map(e=>(0,t.jsx)(M.Ql,{value:e,children:G.ZN[e]},e))})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"Pa\xeds (texto libre)"}),(0,t.jsx)(m.I,{value:String(O.country),onChange:e=>eS("country",e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"Ciudad"}),(0,t.jsx)(m.I,{value:String(O.city),onChange:e=>eS("city",e.target.value)})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-3 text-xs text-gray-500 pt-2",children:[(0,t.jsxs)("span",{children:[null!==(a=ex.positions_count)&&void 0!==a?a:0," vacantes"]}),(0,t.jsxs)("span",{children:[null!==(s=ex.applications_count)&&void 0!==s?s:0," postulaciones"]}
1),(0,t.jsxs)("span",{className:(null!==(n=ex.linkedin_sourcing_count)&&void 0!==n?n:0)>0?"text-[#0A66C2] font-medium":void 0,title:"Candidatos extra\xeddos v\xeda LinkedIn (Apify)",children:[null!==(l=ex.linkedin_sourcing_count)&&void 0!==l?l:0," Apify"]}),(0,t.jsxs)("span",{className:(null!==(r=ex.coresignal_sourcing_count)&&void 0!==r?r:0)>0?"text-teal-800 font-medium":void 0,title:"Candidatos extra\xeddos v\xeda CoreSignal",children:[null!==(c=ex.coresignal_sourcing_count)&&void 0!==c?c:0," CoreSignal"]}),(0,t.jsxs)("span",{className:(null!==(x=ex.pdl_sourcing_count)&&void 0!==x?x:0)>0?"text-indigo-800 font-medium":void 0,title:"Candidatos extra\xeddos v\xeda People Data Labs",children:[null!==(p=ex.pdl_sourcing_count)&&void 0!==p?p:0," PDL"]}),(0,t.jsxs)("span",{children:[null!==(h=ex.final_clients_count)&&void 0!==h?h:0," clientes finales"]})]})]}),!S&&"billing"===_&&(0,t.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2 sm:col-span-2",children:[(0,t.jsx)(u._,{children:"Raz\xf3n social"}),(0,t.jsx)(m.I,{value:String(O.billing_legal_name),onChange:e=>eS("billing_legal_name",e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"RFC"}),(0,t.jsx)(m.I,{value:String(O.billing_rfc),onChange:e=>eS("billing_rfc",e.target.value.toUpperCase()),maxLength:13})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"R\xe9gimen fiscal"}),(0,t.jsx)(m.I,{value:String(O.billing_regimen_fiscal),onChange:e=>eS("billing_regimen_fiscal",e.target.value),placeholder:"601, 612, etc."})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"C\xf3digo postal"}),(0,t.jsx)(m.I,{value:String(O.billing_codigo_postal),onChange:e=>eS("billing_codigo_postal",e.target.value),maxLength:10})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"Uso CFDI"}),(0,t.jsx)(m.I,{value:String(O.billing_uso_cfdi),onChange:e=>eS("billing_uso_cfdi",e.target.value.toUpperCase()),placeholder:"G03"})]}),(0,t.jsxs)("div",{className:"space-y-2 sm:col-span-2",children:[(0,t.jsx)(u._,{children:"Domicilio fiscal"}),(0,t.jsx)(m.I,{value:String(O.billing_address),onChange:e=>eS("billing_address",e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"Email de facturaci\xf3n"}),(0,t.jsx)(m.I,{type:"email",value:String(O.billing_email),onChange:e=>eS("billing_email",e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"Contacto facturaci\xf3n"}),(0,t.jsx)(m.I,{value:String(O.billing_contact_name),onChange:e=>eS("billing_contact_name",e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2 sm:col-span-2",children:[(0,t.jsx)(u._,{children:"Tel\xe9fono contacto"}),(0,t.jsx)(m.I,{value:String(O.billing_contact_phone),onChange:e=>eS("billing_contact_phone",e.target.value)})]}),(0,t.jsx)("p",{className:"text-xs text-gray-500 sm:col-span-2",children:"Al guardar, los datos fiscales se sincronizan con Stripe si est\xe1 configurado."}),eg&&(0,t.jsxs)("p",{className:"text-xs text-emerald-700 sm:col-span-2 font-mono truncate",children:["Stripe customer: ",eg]}),eb&&(0,t.jsx)("p",{className:"text-xs text-emerald-700 sm:col-span-2",children:eb}),(0,t.jsx)("div",{className:"sm:col-span-2",children:(0,t.jsx)(o.z,{type:"button",variant:"outline",size:"sm",disabled:ef,onClick:()=>void eT(),children:ef?"Sincronizandoâ¦":"Sincronizar con Stripe"})})]}),!S&&"plan"===_&&(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"rounded-lg border border-red-200 bg-red-50/50 p-4 space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)(K.Z,{className:"w-5 h-5 text-red-700 shrink-0 mt-0.5"}),(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("p",{className:"font-medium text-red-900",children:"Suspensi\xf3n por falta de pago / deuda"}),(0,t.jsx)("p",{className:"text-xs text-red-800",children:"Bloquea el acceso al panel aunque el plan siga activo. El reclutador ver\xe1 un aviso de cobranza."})]})]}),(0,t.jsxs)(u._,{className:"flex items-center gap-2 cursor-pointer",children:[(0,t.jsx)("input",{type:"checkbox",checked:!0===O.payment_blocked,onChange:e=>eS("payment_blocked",e.target.checked),className:"rounded"}),"Cuenta suspendida por cobranza"]}),!0===O.payment_blocked&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"Motivo (opcional, visible para el cliente)"}),(0,t.jsx)(W.g,{value:String(O.payment_blocked_reason),onChange:e=>eS("payment_blocked_reason",e.target.value),placeholder:"Ej. Factura TG-2026-042 vencida. Saldo pendiente $4,500 MXN.",rows:3})]}),ew&&!0===O.payment_blocked&&(0,t.jsxs)("p",{className:"text-xs text-red-700",children:["Suspendida desde ",new Date(ew).toLocaleStr
1ing("es-MX")]}),(0,t.jsx)(o.z,{type:"button",variant:!0===O.payment_blocked?"destructive":"outline",size:"sm",disabled:z,onClick:()=>void ez(),children:z?"Guardandoâ¦":!0===O.payment_blocked?"Aplicar suspensi\xf3n":"Quitar suspensi\xf3n"})]}),ei&&(0,t.jsxs)("div",{className:"rounded-lg border p-4 space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"font-medium",children:ei.name||"Sin plan"}),(0,t.jsx)(d.C,{variant:ei.expired?"secondary":"default",children:ei.pending_payment||"pending_payment"===ei.status?"Pendiente de pago":!0===O.billing_exempt?"Gratis permanente":ei.expired?"Vencido":ei.active?"Activo":"Inactivo"})]}),ei.period_end&&(0,t.jsxs)("p",{className:"text-sm text-gray-500",children:["Vence: ",new Date(ei.period_end).toLocaleDateString("es-MX"),null!=ei.days_remaining&&ei.active?" \xb7 ".concat(ei.days_remaining," d\xedas restantes"):ei.expired?" \xb7 vencido (sin acceso al panel)":""]}),ei.expired&&"demo"===ei.slug&&(0,t.jsx)("p",{className:"text-xs text-amber-800 bg-amber-50 border border-amber-100 rounded px-2 py-1.5",children:"El trial Demo termin\xf3 y el tenant no puede entrar. Extiende unos d\xedas m\xe1s o asigna un plan de pago."}),eo&&(0,t.jsxs)("p",{className:"text-sm text-gray-600",children:["Cr\xe9ditos IA: ",null!==(j=eo.totalCredits)&&void 0!==j?j:0," total",eo.bonusCredits?" (".concat(eo.bonusCredits," bonus)"):""]})]}),(0,t.jsxs)("label",{className:"flex items-start gap-2 text-sm border rounded-lg p-3 bg-slate-50",children:[(0,t.jsx)("input",{type:"checkbox",className:"mt-1",checked:!0===O.billing_exempt,onChange:e=>eS("billing_exempt",e.target.checked)}),(0,t.jsxs)("span",{children:["Cuenta gratuita permanente (sin Stripe)",(0,t.jsx)("span",{className:"block text-xs text-gray-500 font-normal",children:"Como el tenant Talentgoo: sin cobro ni bloqueo por vencimiento de plan."})]})]}),(0,t.jsx)(o.z,{type:"button",variant:"outline",size:"sm",disabled:z,onClick:()=>void eE(),children:"Guardar exenci\xf3n de cobro"}),(0,t.jsxs)("label",{className:"flex items-start gap-2 text-sm border rounded-lg p-3 bg-slate-50",children:[(0,t.jsx)("input",{type:"checkbox",className:"mt-1",checked:!0===O.ai_interview_avatar,onChange:e=>eS("ai_interview_avatar",e.target.checked)}),(0,t.jsxs)("span",{children:["Avatar en entrevistas",(0,t.jsx)("span",{className:"block text-xs text-gray-500 font-normal",children:"Camila aparece en video. Consume minutos de Simli; ap\xe1galo en tenants que no lo tengan contratado."})]})]}),(0,t.jsx)(o.z,{type:"button",variant:"outline",size:"sm",disabled:z,onClick:()=>void eZ(),children:"Guardar avatar IA"}),(0,t.jsxs)("div",{className:"rounded-lg border border-blue-100 bg-blue-50/50 p-4 space-y-3",children:[(0,t.jsx)("p",{className:"text-sm font-medium text-gray-900",children:"Extender periodo actual"}),(0,t.jsx)("p",{className:"text-xs text-gray-600",children:"Suma d\xedas al vencimiento sin cambiar de plan. Si ya venci\xf3, cuenta desde hoy. \xdatil para dar 2â7 d\xedas m\xe1s de Demo."}),(0,t.jsxs)("div",{className:"flex flex-wrap items-end gap-2",children:[(0,t.jsxs)("div",{className:"space-y-1 flex-1 min-w-[120px]",children:[(0,t.jsx)(u._,{htmlFor:"extra-days",children:"D\xedas adicionales"}),(0,t.jsx)(m.I,{id:"extra-days",type:"number",min:1,value:Y,onChange:e=>J(e.target.value)})]}),(0,t.jsx)(o.z,{type:"button",disabled:z,onClick:()=>void eI(),children:z?"Guardandoâ¦":"Extender"})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"Asignar / renovar plan"}),(0,t.jsxs)(M.Ph,{value:L,onValueChange:D,modal:!1,children:[(0,t.jsx)(M.i4,{children:(0,t.jsx)(M.ki,{})}),(0,t.jsx)(M.Bw,{className:"z-[9999]",children:f.map(e=>(0,t.jsxs)(M.Ql,{value:e.slug,children:[e.name,e.duration_days?" (".concat(e.duration_days," d\xedas)"):""]},e.slug))})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"Duraci\xf3n total desde hoy (al aplicar plan)"}),(0,t.jsx)(m.I,{type:"number",min:1,value:U,onChange:e=>q(e.target.value)}),(0,t.jsx)("p",{className:"text-xs text-gray-500",children:'Renueva el plan completo: Demo 7, mensual 30. Para solo sumar d\xedas al vencimiento actual, usa "Extender periodo" arriba.'})]}),(0,t.jsxs)("label",{className:"flex items-start gap-2 text-sm",children:[(0,t.jsx)("input",{type:"checkbox",className:"mt-1",checked:V,onChange:e=>X(e.target.checked)}),(0,t.jsxs)("span",{children:["Activar sin pago (cortes\xeda / manual)",(0,t.jsx)("span",{className:"block text-xs text-gray-500 font-normal",children:"Si no marcas esto, un plan de pago queda pendiente hasta que el owner pague en Stripe."})]})]}),(0,t.jsx)(o.z,{type:"button",onClick:()=>void eP(),disabled:z,children:z?"Aplicandoâ¦":"Aplicar plan"}),(0,t.jsxs)("div",{className:"border-t pt-4 space-y-2",children:[(0,t.jsx)(u._,{children:"Cr\xe9ditos IA bonus (persisten entre renovaciones)"}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(m.I,{type:"number",min:0,value:Q,onChange:e=>et(e.target.value)}),(0,t.jsx)(o.z,{type:"button",variant:"outline",onClick:()=>void eA(),disabled:z,children:"Guardar"})]})]})]}),!S&&"usage"===_&&v&&(0,t.jsx)(el,{companyId:v}),!S&&"users"===_&&(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex justify-between items-center",children:[(0,t.jsxs)("p",{className:"text-sm text-gray-600",children:[em.length," usuario(s) con acceso al panel de esta cuenta"]}),(0,t.jsxs)(o.z,{type:"button",size:"sm",variant:"outline",onClick:()=>N(v),children:[(0,t.jsx)(ee.Z,{className:"w-4 h-4 mr-1"}),"Invitar"]})]}),0===em.length&&(0,t.jsx)("p",{className:"text-sm text-gray-500 text-center py-6",children:"Sin usuarios. Invita al primer reclutador."}),em.map(e=>(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3 p-3 border rounded-lg",children:[(0,t.jsxs)("div",{className:"flex items-start gap-2 min-w-0",children:[(0,t.jsx)(H,{connected:e.whatsapp_connected,status:e.whatsapp_status,phone:e.whatsapp_phone,className:"mt-0.5"}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("p",{className:"font-medium truncate",children:e.full_name||e.email}),(0,t.jsx)("p",{className:"text-sm text-gray-500 truncate",children:e.email}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2 mt-1",children:[(0,t.jsx)(d.
1C,{variant:"outline",children:e.role}),e.is_company_owner&&(0,t.jsx)(d.C,{className:"bg-amber-100 text-amber-900 border-amber-200 hover:bg-amber-100",children:"Owner"}),(0,t.jsx)(d.C,{variant:!1!==e.is_active?"default":"secondary",children:!1!==e.is_active?"Activo":"Bloqueado"})]}),(0,t.jsxs)("p",{className:"text-xs text-gray-500 mt-1",children:["Creado: ",e.created_at?(0,B.o0)(e.created_at):"â"," \xb7 ","\xdaltimo login:"," ",e.last_login?(0,B.o0)(e.last_login):"Nunca"]})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 shrink-0",children:[(0,t.jsx)(o.z,{type:"button",size:"sm",variant:"outline",disabled:eh===e.id,onClick:()=>void eO(e),children:"Reset pass"}),(0,t.jsxs)(o.z,{type:"button",size:"sm",variant:"outline",className:"text-red-700 border-red-200 hover:bg-red-50",disabled:eh===e.id,onClick:()=>void eL(e),children:[(0,t.jsx)(ea.Z,{className:"w-4 h-4 mr-1"}),"Quitar"]}),(0,t.jsx)(o.z,{type:"button",size:"sm",variant:!1!==e.is_active?"outline":"default",disabled:eh===e.id,onClick:()=>void eF(e),children:eh===e.id?(0,t.jsx)(T.Z,{className:"w-4 h-4 animate-spin"}):!1!==e.is_active?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(K.Z,{className:"w-4 h-4 mr-1"}),"Bloquear"]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(es.Z,{className:"w-4 h-4 mr-1"}),"Activar"]})})]})]},e.id))]}),P&&(0,t.jsx)("p",{className:"text-sm text-red-600",children:P})]}),(0,t.jsxs)("div",{className:"p-5 border-t flex justify-end gap-2 shrink-0",children:[(0,t.jsx)(o.z,{type:"button",variant:"outline",onClick:y,children:"Cerrar"}),("general"===_||"billing"===_)&&(0,t.jsx)(o.z,{type:"button",onClick:()=>void ek(),disabled:z||S,children:z?"Guardandoâ¦":"Guardar cambios"})]})]})]})}var ed=s(82104),em=s(72894),eu=s(74056),ex=s(93995);function ep(e){let{isOpen:a,onClose:s,title:n,message:l,type:r="info",confirmText:c="Aceptar",cancelText:o="Cancelar",onConfirm:d,onCancel:m,children:u}=e,[x,p]=(0,i.useState)(!1);(0,i.useEffect)(()=>(a?(p(!0),document.body.style.overflow="hidden"):(p(!1),document.body.style.overflow="unset"),()=>{document.body.style.overflow="unset"}),[a]);let h=()=>{p(!1),setTimeout(()=>{s()},200)};return a?(0,t.jsx)(ex.H,{children:(0,t.jsxs)("div",{className:"fixed inset-0 z-[200] flex items-center justify-center p-4 transition-opacity duration-200 ".concat(x?"opacity-100":"opacity-0"),children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm",onClick:h}),(0,t.jsxs)("div",{className:"relative bg-white rounded-2xl shadow-2xl max-w-md w-full transform transition-all duration-200 ".concat(x?"scale-100 translate-y-0":"scale-95 translate-y-4"),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between p-6 border-b border-gray-200",children:[(0,t.jsxs)("div",{className:"flex items-center space-x-3",children:[(()=>{switch(r){case"success":return(0,t.jsx)(es.Z,{className:"w-12 h-12 text-green-600"});case"error":return(0,t.jsx)(ed.Z,{className:"w-12 h-12 text-red-600"});case"warning":return(0,t.jsx)(em.Z,{className:"w-12 h-12 text-yellow-600"});case"info":return(0,t.jsx)(eu.Z,{className:"w-12 h-12 text-blue-600"})}})(),(0,t.jsx)("h2",{className:"text-xl font-semibold text-gray-900",children:n})]}),(0,t.jsx)("button",{onClick:h,className:"p-2 hover:bg-gray-100 rounded-full transition-colors",children:(0,t.jsx)(R.Z,{className:"w-5 h-5 text-gray-500"})})]}),(0,t.jsxs)("div",{className:"p-6",children:[(0,t.jsx)("p",{className:"text-gray-600 leading-relaxed",children:l}),u]}),(0,t.jsxs)("div",{className:"flex items-center justify-end space-x-3 p-6 border-t border-gray-200 bg-gray-50 rounded-b-2xl",children:[m&&(0,t.jsx)("button",{onClick:()=>{null==m||m(),h()},className:"px-4 py-2 text-gray-700 bg-white border border-gray-300 rounded-lg hover:bg-gray-50 transition-colors",children:o}),(0,t.jsx)("button",{onClick:()=>{null==d||d(),h()},className:"px-6 py-2 rounded-lg font-medium transition-colors ".concat((()=>{switch(r){case"success":return"bg-green-600 hover:bg-green-700 text-white";case"error":return"bg-red-600 hover:bg-red-700 text-white";case"warning":return"bg-yellow-600 hover:bg-yellow-700 text-white";case"info":return"bg-blue-600 hover:bg-blue-700 text-white"}})()),children:c})]})]})]})}):null}function eh(e){let{open:a,user:s,companies:n,onClose:l,onSaved:r,onDeleted:c,onPasswordReset:d}=e,[x,p]=(0,i.useState)(""),[h,j]=(0,i.useState)("recruiter"),[g,v]=(0,i.useState)(""),[f,y]=(0,i.useState)(!0),[b,N]=(0,i.useState)(!1),[w,_]=(0,i.useState)(!1),[C,S]=(0,i.useState)(!1),[k,z]=(0,i.useState)(!1),[E,Z]=(0,i.useState)("");if((0,i.useEffect)(()=>
1{if(a&&s){var e;p(s.full_name||""),j("company_admin"===s.role?"company_admin":"recruiter"),v(s.company_id||(null===(e=n[0])||void 0===e?void 0:e.id)||""),y(!1!==s.is_active),Z("")}},[a,s,n]),!a||!s)return null;let I=async e=>{e.preventDefault(),N(!0),Z("");try{let e=await fetch("/api/admin/users/".concat(s.id),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({full_name:x.trim(),role:h,company_id:g,is_active:f})}),a=await e.json();if(!e.ok||!a.success){Z(a.error||a.warning||"No se pudo guardar"),a.success&&(r(),l());return}r(),l()}catch(e){Z("Error de conexi\xf3n")}finally{N(!1)}},P=async()=>{if(s){_(!0),Z("");try{let e=await fetch("/api/admin/users/".concat(s.id,"/reset-password"),{method:"POST"}),a=await e.json();if(!e.ok||!a.success){Z(a.error||"No se pudo resetear la contrase\xf1a");return}y(!0),null==d||d({email:a.email,temporary_password:a.temporary_password}),r()}catch(e){Z("Error de conexi\xf3n")}finally{_(!1)}}},A=async()=>{if(s){S(!0),Z("");try{let e=await fetch("/api/admin/users/".concat(s.id),{method:"DELETE"}),a=await e.json().catch(()=>({}));if(!e.ok||!a.success){Z(a.error||"No se pudo eliminar");return}null==c||c(),l()}catch(e){Z("Error de conexi\xf3n")}finally{S(!1),z(!1)}}};return(0,t.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-black/50",onClick:l}),(0,t.jsxs)("div",{className:"relative bg-white rounded-xl shadow-xl max-w-md w-full",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between p-5 border-b",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Editar usuario"}),(0,t.jsx)("button",{type:"button",onClick:l,className:"p-1 rounded hover:bg-gray-100",children:(0,t.jsx)(R.Z,{className:"w-5 h-5"})})]}),(0,t.jsxs)("form",{onSubmit:I,className:"p-5 space-y-4",children:[(0,t.jsx)("p",{className:"text-sm text-gray-500",children:s.email}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"Nombre"}),(0,t.jsx)(m.I,{value:x,onChange:e=>p(e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"Cuenta SaaS"}),(0,t.jsxs)(M.Ph,{value:g,onValueChange:v,children:[(0,t.jsx)(M.i4,{children:(0,t.jsx)(M.ki,{})}),(0,t.jsx)(M.Bw,{children:n.map(e=>(0,t.jsx)(M.Ql,{value:e.id,children:e.name},e.id))})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"Rol"}),(0,t.jsxs)(M.Ph,{value:h,onValueChange:e=>j(e),children:[(0,t.jsx)(M.i4,{children:(0,t.jsx)(M.ki,{})}),(0,t.jsxs)(M.Bw,{children:[(0,t.jsx)(M.Ql,{value:"recruiter",children:"Reclutador"}),(0,t.jsx)(M.Ql,{value:"company_admin",children:"Admin de empresa"})]})]})]}),(0,t.jsxs)(u._,{className:"flex items-center gap-2 cursor-pointer",children:[(0,t.jsx)("input",{type:"checkbox",checked:f,onChange:e=>y(e.target.checked),className:"rounded"}),"Usuario activo (desmarcar = bloquear acceso)"]}),(0,t.jsx)(o.z,{type:"button",variant:"outline",className:"w-full",disabled:w||b,onClick:()=>void P(),children:w?"Generandoâ¦":"Generar nueva contrase\xf1a temporal"}),E&&(0,t.jsx)("p",{className:"text-sm text-red-600",children:E}),(0,t.jsxs)("div",{className:"flex flex-wrap justify-between gap-2 pt-1",children:[(0,t.jsx)(o.z,{type:"button",variant:"outline",className:"text-red-600 border-red-200 hover:bg-red-50 hover:text-red-700",disabled:C||b||w,onClick:()=>z(!0),children:C?"Eliminandoâ¦":"Eliminar usuario"}),(0,t.jsxs)("div",{className:"flex gap-2 ml-auto",children:[(0,t.jsx)(o.z,{type:"button",variant:"outline",onClick:l,children:"Cancelar"}),(0,t.jsx)(o.z,{type:"submit",disabled:b||C,children:b?"Guardandoâ¦":"Guardar"})]})]})]})]}),k&&s?(0,t.jsx)(ep,{isOpen:!0,onClose:()=>z(!1),title:"Eliminar usuario",message:'\xbfEliminar permanentemente a "'.concat(s.full_name||s.email,'" (').concat(s.email,")? Se borra Auth y el perfil. Esta acci\xf3n no se puede deshacer."),type:"warning",confirmText:"S\xed, eliminar",cancelText:"Cancelar",onConfirm:()=>void A(),onCancel:()=>z(!1)}):null]})}function ej(e){let{open:a,plan:s,onClose:n,onSaved:l}=e,[r,c]=(0,i.useState)(""),[d,x]=(0,i.useState)(""),[p,h]=(0,i.useState)(""),[j,g]=(0,i.useState)(""),[v,f]=(0,i.useState)(""),[y,b]=(0,i.useState)(""),[N,w]=(0,i.useState)(""),[_,C]=(0,i.useState)(""),[S,k]=(0,i.useState)(""),[z,E]=(0,i.useState)(""),[Z,I]=(0,i.useState)(!1),[P,A]=(0,i.useState)("");if((0,i.useEffect)(()=>
1{if(a&&s){var e,t,i,n,l,r,o,d,m,u;c(null!==(t=s.name)&&void 0!==t?t:""),x(String(null!==(i=s.price)&&void 0!==i?i:0)),h(String(null!==(n=s.max_users)&&void 0!==n?n:0)),g(String(null!==(l=s.max_candidates)&&void 0!==l?l:0)),f(String(null!==(r=s.max_positions)&&void 0!==r?r:0)),b(String(null!==(o=s.ai_credits)&&void 0!==o?o:0)),w(String(null!==(d=s.ai_interview_quota)&&void 0!==d?d:0)),C(null!=s.duration_days?String(s.duration_days):""),k(null!==(m=null===(e=s.features)||void 0===e?void 0:e.tagline)&&void 0!==m?m:""),E(String(null!==(u=s.display_order)&&void 0!==u?u:0)),A("")}},[a,s]),!a||!s)return null;let T="demo"===s.slug||null!=s.duration_days&&s.duration_days>0&&0===s.price,O=async e=>{e.preventDefault(),A("");let a=T?0:Number(d),t=Number(p),i=Number(j),c=Number(v),o=Number(y),m=Number(N),u=Number(z),x=""===_.trim()?null:Number(_);if(!r.trim()){A("El nombre es obligatorio");return}if(!T&&(!Number.isFinite(a)||a<0)){A("Precio inv\xe1lido");return}if(!Number.isFinite(t)||t<1){A("Usuarios inv\xe1lido (m\xednimo 1)");return}if(!Number.isFinite(c)||c<1){A("Vacantes inv\xe1lido (m\xednimo 1)");return}if(!Number.isFinite(i)||i<1){A("Candidatos inv\xe1lido (m\xednimo 1)");return}if(!Number.isFinite(o)||o<0){A("Cr\xe9ditos IA inv\xe1lidos");return}if(!Number.isFinite(m)||m<0){A("Cuota Camila inv\xe1lida");return}if(null!=x&&(!Number.isFinite(x)||x<1)){A("Duraci\xf3n en d\xedas inv\xe1lida");return}I(!0);try{let e=await fetch("/api/admin/plans/".concat(s.id),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:r.trim(),price:a,max_users:t,max_candidates:i,max_positions:c,ai_credits:o,ai_interview_quota:m,duration_days:x,tagline:S.trim()||null,display_order:Number.isFinite(u)?u:0})}),d=await e.json();if(!e.ok||!d.success){A(d.error||"No se pudo guardar");return}l(d.plan,{stripe_synced:d.stripe_synced,warning:d.warning}),n()}catch(e){A("Error de conexi\xf3n")}finally{I(!1)}};return(0,t.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-black/50",onClick:n}),(0,t.jsxs)("div",{className:"relative bg-white rounded-xl shadow-xl max-w-lg w-full max-h-[90vh] overflow-y-auto",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between p-5 border-b sticky top-0 bg-white z-10",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Editar plan"}),(0,t.jsxs)("p",{className:"text-xs text-gray-500 mt-0.5",children:["slug: ",s.slug]})]}),(0,t.jsx)("button",{type:"button",onClick:n,className:"p-1 rounded hover:bg-gray-100",children:(0,t.jsx)(R.Z,{className:"w-5 h-5"})})]}),(0,t.jsxs)("form",{onSubmit:O,className:"p-5 space-y-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"plan-name",children:"Nombre"}),(0,t.jsx)(m.I,{id:"plan-name",value:r,onChange:e=>c(e.target.value),required:!0})]}),T?(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"plan-duration",children:"Duraci\xf3n del trial (d\xedas)"}),(0,t.jsx)(m.I,{id:"plan-duration",type:"number",min:1,step:1,value:_,onChange:e=>C(e.target.value)}),(0,t.jsx)("p",{className:"text-xs text-gray-500",children:"Plan gratuito; no se cobra por Stripe."})]}):(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"plan-price",children:"Precio mensual (MXN)"}),(0,t.jsx)(m.I,{id:"plan-price",type:"number",min:0,step:1,value:d,onChange:e=>x(e.target.value)})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"plan-users",children:"Usuarios m\xe1x."}),(0,t.jsx)(m.I,{id:"plan-users",type:"number",min:1,step:1,value:p,onChange:e=>h(e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"plan-positions",children:"Vacantes m\xe1x."}),(0,t.jsx)(m.I,{id:"plan-positions",type:"number",min:1,step:1,value:v,onChange:e=>f(e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"plan-candidates",children:"Candidatos m\xe1x."}),(0,t.jsx)(m.I,{id:"plan-candidates",type:"number",min:1,step:1,value:j,onChange:e=>g(e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"plan-ai-credits",children:"Cr\xe9ditos IA"}),(0,t.jsx)(m.I,{id:"plan-ai-credits",type:"number",min:0,step:1,value:y,onChange:e=>b(e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"plan-camila",children:"Video-entrevistas Camila"}),(0,t.jsx)(m.I,{id:"plan-camila",type:"number",min:0,step:1,value:N,onChange:e=>w(e.target.value)})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"plan-tagline",children:"Descripci\xf3n corta (tagline)"}),(0,t.jsx)(m.I,{id:"plan-tagline",value:S,onChange:e=>k(e.target.value),placeholder:"Ej. Equipos peque\xf1os"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"plan-order",children:"Orden en cat\xe1logo"}),(0,t.jsx)(m.I,{id:"plan-order",type:"number",min:0,step:1,value:z,onChange:e=>E(e.target.value)})]}),!T&&(0,t.jsx)("p",{className:"text-xs text-gray-500",children:"Al guardar se actualiza la base de datos y se sincroniza con Stripe (producto, precio y metadatos)."}),P&&(0,t.jsx)("p",{className:"text-sm text-red-600",children:P}),(0,t.jsxs)("div",{className:"flex justify-end gap-2 pt-2",children:[(0,t.jsx)(o.z,{type:"button",variant:"outline",onClick:n,children:"Cancelar"}),(0,t.jsx)(o.z,{type:"submit",disabled:Z,children:Z?"Guardandoâ¦":"Guardar"})]})]})]})]})}function eg(e){let{open:a,pack:s,onClose:n,onSaved:l}=e,[r,c]=(0,i.useState)(""),[d,x]=(0,i.useState)(""),[p,h]=(0,i.useState)(!1),[j,g]=(0,i.useState)("");if((0,i.useEffect)(()=>
1{if(a&&s){var e,t;c(String(null!==(e=s.price)&&void 0!==e?e:0)),x(String(null!==(t=s.credits)&&void 0!==t?t:0)),g("")}},[a,s]),!a||!s)return null;let v=async e=>{e.preventDefault(),g("");let a=Number(r),t=Number(d);if(!Number.isFinite(a)||a<0){g("Precio inv\xe1lido");return}if(!Number.isFinite(t)||t<=0||!Number.isInteger(t)){g("Cr\xe9ditos inv\xe1lidos");return}h(!0);try{let e=await fetch("/api/admin/credit-packs/".concat(s.id),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({price:a,credits:t})}),i=await e.json();if(!e.ok||!i.success){g(i.error||"No se pudo guardar");return}l(i.pack,{stripe_synced:i.stripe_synced,warning:i.warning}),n()}catch(e){g("Error de conexi\xf3n")}finally{h(!1)}};return(0,t.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-black/50",onClick:n}),(0,t.jsxs)("div",{className:"relative bg-white rounded-xl shadow-xl max-w-md w-full",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between p-5 border-b",children:[(0,t.jsxs)("h2",{className:"text-lg font-semibold",children:["Editar pack â ",s.name]}),(0,t.jsx)("button",{type:"button",onClick:n,className:"p-1 rounded hover:bg-gray-100",children:(0,t.jsx)(R.Z,{className:"w-5 h-5"})})]}),(0,t.jsxs)("form",{onSubmit:v,className:"p-5 space-y-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"pack-credits",children:"Cr\xe9ditos incluidos"}),(0,t.jsx)(m.I,{id:"pack-credits",type:"number",min:1,step:1,value:d,onChange:e=>x(e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"pack-price",children:"Precio (MXN, pago \xfanico)"}),(0,t.jsx)(m.I,{id:"pack-price",type:"number",min:0,step:1,value:r,onChange:e=>c(e.target.value)})]}),(0,t.jsx)("p",{className:"text-xs text-gray-500",children:"Al guardar se actualiza la BD y se sincroniza un nuevo precio en Stripe (pago \xfanico)."}),j&&(0,t.jsx)("p",{className:"text-sm text-red-600",children:j}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)(o.z,{type:"button",variant:"outline",onClick:n,children:"Cancelar"}),(0,t.jsx)(o.z,{type:"submit",disabled:p,children:p?"Guardandoâ¦":"Guardar y sincronizar"})]})]})]})]})}let ev={overview:"/admin",companies:"/admin/empresas",leads:"/admin/leads",users:"/admin/usuarios",plans:"/admin/planes",activity:"/admin/actividad",articles:"/admin/articulos","position-codes":"/admin/codigos-vacante","assist-chats":"/admin/asistente-vacantes",prompts:"/admin/prompts"},ef=[{section:"overview",href:ev.overview,label:"Resumen",collapsedTitle:"Resumen"},{section:"companies",href:ev.companies,label:"Empresas",collapsedTitle:"Empresas"},{section:"leads",href:ev.leads,label:"Leads",collapsedTitle:"Leads"},{section:"users",href:ev.users,label:"Usuarios",collapsedTitle:"Usuarios"},{section:"plans",href:ev.plans,label:"Planes",collapsedTitle:"Planes"},{section:"activity",href:ev.activity,label:"Actividad",collapsedTitle:"Actividad"},{section:"articles",href:ev.articles,label:"Art\xedculos",collapsedTitle:"Art\xedculos"},{section:"position-codes",href:ev["position-codes"],label:"C\xf3digos de vacante",collapsedTitle:"C\xf3digos"},{section:"assist-chats",href:ev["assist-chats"],label:"Asistente vacantes",collapsedTitle:"Asistente"},{section:"prompts",href:ev.prompts,label:"Prompts LLM",collapsedTitle:"Prompts"}];Object.entries(ev).map(e=>{let[a,s]=e;return[s,a]});var ey=s(17472);function eb(e){let{items:a,loading:s,page:i,totalPages:n,total:r,pageSize:c,onPageChange:d,compact:m=!1,showViewAllLink:u=!1}=e;return(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"space-y-4",children:[s&&(0,t.jsx)("p",{className:"text-sm text-gray-500",children:"Cargandoâ¦"}),!s&&0===a.length&&(0,t.jsx)("p",{className:"text-sm text-gray-500",children:"Sin actividad reciente."}),a.map(e=>(0,t.jsxs)("div",{className:"flex items-start space-x-3 border rounded-lg ".concat(m?"p-3":"p-4"),children:[(0,t.jsx)("div",{className:"w-2 h-2 rounded-full mt-2 shrink-0 ".concat("warning"===e.severity?"bg-yellow-500":"bg-blue-500")}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("p",{className:"text-sm text-gray-900",children:e.message}),(0,t.jsx)("p",{className:"text-xs text-gray-500",children:e.timestamp?new Date(e.timestamp).toLocaleStr
1ing("es-MX"):""})]}),!m&&(0,t.jsxs)("div",{className:"flex items-center space-x-2 shrink-0",children:["warning"===e.severity&&(0,t.jsx)(em.Z,{className:"w-4 h-4 text-yellow-500"}),(0,t.jsx)(o.z,{variant:"ghost",size:"sm",type:"button",tabIndex:-1,"aria-hidden":!0,children:(0,t.jsx)(ey.Z,{className:"w-4 h-4"})})]}),m&&"warning"===e.severity&&(0,t.jsx)(em.Z,{className:"w-4 h-4 text-yellow-500 shrink-0"})]},e.id))]}),r>0&&(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 pt-2 border-t",children:[(0,t.jsxs)("p",{className:"text-xs text-gray-500",children:[0===r?0:(i-1)*c+1,"â",Math.min(i*c,r)," de ",r.toLocaleString("es-MX")," postulaciones"]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)(o.z,{type:"button",variant:"outline",size:"sm",disabled:s||i<=1,onClick:()=>d(i-1),children:[(0,t.jsx)(f.Z,{className:"w-4 h-4 mr-1"}),"Anterior"]}),(0,t.jsxs)("span",{className:"text-sm text-gray-600 min-w-[5rem] text-center",children:[i," / ",n]}),(0,t.jsxs)(o.z,{type:"button",variant:"outline",size:"sm",disabled:s||i>=n,onClick:()=>d(i+1),children:["Siguiente",(0,t.jsx)(v.Z,{className:"w-4 h-4 ml-1"})]})]})]}),u&&(0,t.jsx)("div",{className:"text-right",children:(0,t.jsx)(l(),{href:"/admin/actividad",className:"text-sm text-red-700 hover:underline font-medium",children:"Ver toda la actividad â"})})]})}var eN=s(55458),ew=s(38339),e_=s(64280),eC=s(28811),eS=s.n(eC),ek=s(4043),ez=s(58976),eE=s(22394);let eZ=eS()(()=>Promise.all([s.e(6481),s.e(1529),s.e(3221),s.e(4300)]).then(s.bind(s,43221)),{loadableGenerated:{webpack:()=>[43221]},ssr:!1,loading:()=>(0,t.jsxs)("div",{className:"flex h-full min-h-[420px] items-center justify-center bg-zinc-950 text-white/70",children:[(0,t.jsx)(T.Z,{className:"mr-2 h-5 w-5 animate-spin"}),"Conectando con Camilaâ¦"]})});function eI(e){let{size:a="sm",variant:s="default",className:n,label:l="Demo Camila home"}=e,[r,c]=(0,i.useState)(!1),[d,m]=(0,i.useState)(!1),[u,x]=(0,i.useState)(null),[p,h]=(0,i.useState)(null),j=(0,i.useCallback)(()=>{c(!1),h(null),x(null),m(!1)},[]),g=(0,i.useCallback)(async()=>{x(null),m(!0),c(!0),h(null);try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});e.getTracks().forEach(e=>e.stop())}catch(e){m(!1),x("Necesitas permiso de micr\xf3fono.");return}try{let e=await fetch("/api/admin/camila-demo/start",{method:"POST",credentials:"include"}),a=await e.json().catch(()=>({}));if(!e.ok||!a.success||!a.interviewId||!a.livekitToken||!a.livekitUrl)throw Error(a.error||"No se pudo iniciar la demo.");(0,eE.Ye)(a.interviewId,{interviewId:a.interviewId,livekitToken:a.livekitToken,livekitUrl:a.livekitUrl,candidateName:a.candidateName||"Admin",jobTitle:"Conversaci\xf3n comercial Talentgoo"}),h({interviewId:a.interviewId,livekitToken:a.livekitToken,livekitUrl:a.livekitUrl,candidateName:a.candidateName||"Admin"})}catch(e){x(e instanceof Error?e.message:"No se pudo iniciar la demo.")}finally{m(!1)}},[]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(o.z,{type:"button",size:a,variant:s,className:n,onClick:()=>void g(),disabled:d,children:[d?(0,t.jsx)(T.Z,{className:"mr-2 h-4 w-4 animate-spin"}):(0,t.jsx)(ek.Z,{className:"mr-2 h-4 w-4"}),l]}),r?(0,t.jsx)("div",{className:"fixed inset-0 z-[10060] flex items-center justify-center bg-black/75 p-3 backdrop-blur-sm sm:p-6",role:"dialog","aria-modal":"true","aria-label":"Demo Camila home",children:(0,t.jsxs)("div",{className:"relative flex h-[min(92vh,820px)] w-full max-w-5xl flex-col overflow-hidden rounded-2xl border border-white/10 bg-zinc-950 text-white shadow-2xl",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-white/10 px-4 py-3 sm:px-5",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-[11px] font-medium uppercase tracking-[0.14em] text-orange-400/90",children:"Admin \xb7 preview"}),(0,t.jsx)("h2",{className:"text-base font-semibold sm:text-lg",children:"Camila home (sin registro)"})]}),(0,t.jsx)("button",{type:"button",onClick:j,className:"rounded-full p-2 text-white/60 transition hover:bg-white/10 hover:text-white","aria-label":"Cerrar",children:(0,t.jsx)(R.Z,{className:"h-5 w-5"})})]}),u?(0,t.jsxs)("div",{className:"space-y-3 px-4 py-8 text-center sm:px-5",children:[(0,t.jsx)("p",{className:"text-sm text-red-300",children:u}),(0,t.jsx)(o.z,{type:"button",variant:"secondary",onClick:()=>void g(),children:"Reintentar"})]}):null,d&&!p?(0,t.jsxs)("div",{className:"flex flex-1 items-center justify-center text-white/70",children:[(0,t.jsx)(T.Z,{className:"mr-2 h-5 w-5 animate-spin"}),"Conectando con Camilaâ¦"]}):null,p?(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:(0,t.jsx)(eZ,{interviewId:p.interviewId,livekitUrl:p.livekitUrl,livekitToken:p.livekitToken,candidateName:p.candidateName,jobTitle:"Conversaci\xf3n comercial Talentgoo",variant:"candidate",micOnly:!0,embedded:!0,maxDurationSeconds:ez.G,wrapUpLeadSeconds:ez.y,skipRedirect:!0,onComplete:j})}):null]})}):null]})}function eP(e){return new Intl.NumberFormat("es-MX",{maximumFractionDigits:0}).format(e)}function eA(e){let{light:a,label:s}=e;return(0,t.jsx)("span",{className:"inline-block h-3 w-3 rounded-full ".concat("green"===a?"bg-emerald-500":"yellow"===a?"bg-amber-400":"red"===a?"bg-red-500":"bg-gray-400"),role:"img","aria-label":s,title:s})}function eT(){let[e,a]=(0,i.useState)(!0),[s,n]=(0,i.useState)(null),[l,r]=(0,i.useState)(null),[d,m]=(0,i.useState)([]),[u,x]=(0,i.useState)(null),p=(0,i.useCallback)(async()=>{a(!0),n(null);try{let e=await fetch("/api/admin/ai-providers",{credentials:"include",cache:"no-store"}),a=await e.json().catch(()=>({}));if(!e.ok||!(null==a?void 0:a.success)){n((null==a?void 0:a.error)||"No se pudo consultar el estado de las APIs");return}m(Array.isArray(a.providers)?a.providers:[]),r("string"==typeof a.checkedAt?a.checkedAt:null),x(a.talentgooUsage&&"object"==typeof a.talentgooUsage?a.talentgooUsage:null)}catch(e){n("Sin conexi\xf3n al consultar las APIs de ML")}finally{a(!1)}},[]);return(0,i.useEffect)(()=>{p()},[p]),(0,t.jsxs)(c.Zb,{className:"border-slate-200",children:[(0,t.jsxs)(c.Ol,{className:"flex flex-row flex-wrap items-start justify-between gap-3 space-y-0",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)(c.ll,{className:"flex items-center gap-2",children:[(0,t.jsx)(eN.Z,{className:"h-4 w-4 text-slate-700"}),"APIs y plataforma"]}),(0,t.jsxs)(c.SZ,{children:["Verde: todo bien. Amarillo: queda poco cupo o hay degradaci\xf3n. Rojo: hay que atenderlo. Gris: no est\xe1 configurada.",l?" Revisado: ".concat(new Date(l).toLocaleStr
1ing("es-MX")):""]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(eI,{}),(0,t.jsx)(o.z,{asChild:!0,size:"sm",variant:"outline",children:(0,t.jsxs)("a",{href:"/entrevista-ia/nueva",target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)(ew.Z,{className:"mr-2 h-4 w-4"}),"Probar Camila entrevista"]})}),(0,t.jsxs)(o.z,{type:"button",variant:"outline",size:"sm",onClick:()=>void p(),disabled:e,children:[e?(0,t.jsx)(T.Z,{className:"mr-2 h-4 w-4 animate-spin"}):(0,t.jsx)(e_.Z,{className:"mr-2 h-4 w-4"}),"Actualizar"]})]})]}),(0,t.jsxs)(c.aY,{children:[s?(0,t.jsx)("p",{className:"mb-3 text-sm text-red-700",children:s}):null,u?(0,t.jsxs)("p",{className:"mb-4 rounded-md border border-slate-200 bg-slate-50 px-3 py-2 text-sm text-slate-700",children:["En Talentgoo, \xfaltimos 30 d\xedas: ",eP(u.calls)," an\xe1lisis y"," ",eP(u.interviewsCompleted)," entrevistas IA hechas."]}):null,e&&0===d.length?(0,t.jsx)("p",{className:"text-sm text-gray-500",children:"Consultando APIsâ¦"}):(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:"w-full min-w-[640px] text-left text-sm",children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{className:"border-b text-xs uppercase tracking-wide text-gray-500",children:[(0,t.jsx)("th",{className:"py-2 pr-3 font-medium",children:"Proveedor"}),(0,t.jsx)("th",{className:"py-2 pr-3 font-medium",children:"Sem\xe1foro"}),(0,t.jsx)("th",{className:"py-2 font-medium",children:"En corto"})]})}),(0,t.jsx)("tbody",{children:d.map((e,a)=>{let s=d[a-1],n="infra"===e.group&&(null==s?void 0:s.group)!=="infra",l="sourcing"===e.group&&(null==s?void 0:s.group)!=="sourcing",r="infra"!==e.group&&"sourcing"!==e.group&&"interview"!==e.group&&"interview-agent"!==e.id,c=!!s&&(null==s?void 0:s.group)!=="infra"&&(null==s?void 0:s.group)!=="sourcing"&&(null==s?void 0:s.group)!=="interview"&&(null==s?void 0:s.id)!=="interview-agent",o=("interview"===e.group||"interview-agent"===e.id)&&(null==s?void 0:s.group)!=="interview"&&(null==s?void 0:s.id)!=="interview-agent",m=e.light||("ok"===e.status?"green":"missing"===e.status?"gray":"red"),u=e.lightLabel||("green"===m?"En verde":"yellow"===m?"Cuidado":"gray"===m?"Sin clave":"Alerta");return(0,t.jsxs)(i.Fragment,{children:[n?(0,t.jsx)("tr",{className:"bg-slate-50",children:(0,t.jsx)("td",{colSpan:3,className:"py-2 pt-4 text-xs font-semibold uppercase tracking-wide text-slate-600",children:"Plataforma (Railway, Supabase, Cloudflare)"})}):null,l?(0,t.jsx)("tr",{className:"bg-slate-50",children:(0,t.jsx)("td",{colSpan:3,className:"py-2 pt-4 text-xs font-semibold uppercase tracking-wide text-slate-600",children:"Sourcing y LinkedIn"})}):null,r&&!c?(0,t.jsx)("tr",{className:"bg-slate-50",children:(0,t.jsx)("td",{colSpan:3,className:"py-2 pt-4 text-xs font-semibold uppercase tracking-wide text-slate-600",children:"Modelos de IA"})}):null,o?(0,t.jsx)("tr",{className:"bg-slate-50",children:(0,t.jsx)("td",{colSpan:3,className:"py-2 pt-4 text-xs font-semibold uppercase tracking-wide text-slate-600",children:"Entrevista IA (voz y sala)"})}):null,(0,t.jsxs)("tr",{className:"border-b last:border-0 align-top",children:[(0,t.jsxs)("td",{className:"py-3 pr-3",children:[(0,t.jsx)("p",{className:"font-medium text-gray-900",children:e.name}),(0,t.jsx)("p",{className:"text-xs text-gray-500",children:e.usedFor})]}),(0,t.jsx)("td",{className:"py-3 pr-3",children:(0,t.jsx)(eA,{light:m,label:u})}),(0,t.jsx)("td",{className:"py-3 text-gray-700 max-w-[420px]",children:e.detail||e.error||"â"})]})]},e.id)})})]})})]})]})}var eO=s(49954),eF=s(98071);function eL(e){let{article:a,categories:s,open:n,onClose:l,onSaved:r}=e,c=!a,[d,x]=(0,i.useState)(""),[p,h]=(0,i.useState)(""),[j,g]=(0,i.useState)(""),[v,f]=(0,i.useState)(""),[y,b]=(0,i.useState)(""),[N,w]=(0,i.useState)(0),[_,C]=(0,i.useState)(""),[S,k]=(0,i.useState)(""),[z,E]=(0,i.useState)(!0),[Z,I]=(0,i.useState)(!1),[P,A]=(0,i.useState)(!1),[O,L]=(0,i.useState)(!1);async function D(e){var a;let s=null===(a=e.target.files)||void 0===a?void 0:a[0];if(s){A(!0);try{let e=new FormData;e.append("file",s);let a=await fetch("/api/admin/articles/upload-image",{method:"POST",body:e}),t=await a.json();if(!t.success){alert(t.error||"Error al subir");return}f(e=>e?"".concat(e,"\n\n").concat(t.markdownSnippet):t.markdownSnippet),_||C(t.publicUrl)}finally{A(!1),e.target.value=""}}}async function U(){if(!d.trim()||!p.trim()||!y){alert("T\xedtulo, slug y categor\xeda son obligatorios");return}I(!0);try{let e={title:d.trim(),slug:p.trim().toLowerCase(),summary:j.trim()||null,body:v,category_slug:y,display_order:N,cover_image_url:_.trim()||null,video_url:S.trim()||null,is_published:z},s=c?await fetch("/api/admin/articles",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}):await fetch("/api/admin/articles/".concat(a.id),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),t=await s.json();if(!t.success){alert(t.error||"Error al guardar");return}r()}finally{I(!1)}}async function M(){if(a&&confirm("\xbfEliminar este art\xedculo permanentemente?")){I(!0);try{let e=await fetch("/api/admin/articles/".concat(a.id),{method:"DELETE"}),s=await e.json();if(!s.success){alert(s.error||"Error al eliminar");return}r()}finally{I(!1)}}}return((0,i.useEffect)(()=>{var e,t,i,l,r;n&&(a?(x(a.title),h(a.slug),g(null!==(e=a.summary)&&void 0!==e?e:""),f(a.body),b(a.category_slug),w(a.display_order),C(null!==(t=a.cover_image_url)&&void 0!==t?t:""),k(null!==(i=a.video_url)&&void 0!==i?i:""),E(a.is_published),L(!0)):(x(""),h(""),g(""),f(""),b(null!==(r=null===(l=s[0])||void 0===l?void 0:l.slug)&&void 0!==r?r:""),w(0),C(""),k(""),E(!0),L(!1)))},[n,a,s]),(0,i.useEffect)(()=>{!O&&d&&h((0,eF.J)(d))},[d,O]),n)?(0,t.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-black/50",onClick:l}),(0,t.jsxs)("div",{className:"relative bg-white rounded-xl shadow-xl max-w-3xl w-full max-h-[90vh] flex flex-col",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between p-5 border-b shrink-0",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:c?"Nuevo art\xedculo":"Editar art\xedculo"}),(0,t.jsx)("button",{type:"button",onClick:l,className:"p-1 rounded hover:bg-gray-100",children:(0,t.jsx)(R.Z,{className:"w-5 h-5"})})]}),(0,t.jsxs)("div",{className:"p-5 overflow-y-auto flex-1 space-y-4",children:[(0,t.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"art-title",children:"T\xedtulo"}),(0,t.jsx)(m.I,{id:"art-title",value:d,onChange:e=>x(e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"art-slug",children:"Slug (URL)"}),(0,t.jsx)(m.I,{id:"art-slug",value:p,onChange:e=>{L(!0),h(e.target.value)}})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"art-summary",children:"Resumen"}),(0,t.jsx)(m.I,{id:"art-summary",value:j,onChange:e=>g(e.target.value)})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"art-cat",children:"Categor\xeda"}),(0,t.jsx)("select",{id:"art-cat",value:y,onChange:e=>b(e.target.value),className:"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm",children:s.map(e=>(0,t.jsx)("option",{value:e.slug,children:e.title},e.slug))})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"art-order",children:"Orden"}),(0,t.jsx)(m.I,{id:"art-order",type:"number",value:N,onChange:e=>w(Number(e.target.value))})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"art-cover",children:"Imagen de portada (URL)"}
1),(0,t.jsx)(m.I,{id:"art-cover",value:_,onChange:e=>C(e.target.value),placeholder:"https://â¦"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"art-video",children:"Video YouTube (URL o ID â se muestra arriba del art\xedculo)"}),(0,t.jsx)(m.I,{id:"art-video",value:S,onChange:e=>k(e.target.value),placeholder:"dQw4w9WgXcQ o https://youtube.com/watch?v=â¦"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)(u._,{htmlFor:"art-body",children:"Contenido"}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsxs)("label",{className:"cursor-pointer inline-flex",children:[(0,t.jsx)("input",{type:"file",accept:"image/*",className:"hidden",onChange:D}),(0,t.jsx)(o.z,{type:"button",variant:"outline",size:"sm",disabled:P,children:P?(0,t.jsx)(T.Z,{className:"h-4 w-4 animate-spin"}):(0,t.jsx)(eO.Z,{className:"h-4 w-4"})})]}),(0,t.jsx)(o.z,{type:"button",variant:"outline",size:"sm",onClick:function(){let e=prompt("ID o URL de YouTube (ej. dQw4w9WgXcQ)");if(!(null==e?void 0:e.trim()))return;let a="{{youtube:".concat(e.trim(),"}}");f(e=>e?"".concat(e,"\n\n").concat(a):a),S||k(e.trim())},children:"+ YouTube"})]})]}),(0,t.jsx)("textarea",{id:"art-body",value:v,onChange:e=>f(e.target.value),rows:14,className:"flex w-full rounded-md border border-input bg-background px-3 py-2 text-sm font-mono",placeholder:"P\xe1rrafos separados por l\xednea en blanco. {{image:https://â¦|Descripci\xf3n}} {{youtube:VIDEO_ID}}"}),(0,t.jsx)("p",{className:"text-xs text-gray-500",children:"Sube capturas con el bot\xf3n de imagen; se inserta el bloque autom\xe1ticamente. Deja URL vac\xeda en placeholders hasta subir la imagen real."})]}),(0,t.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,t.jsx)("input",{type:"checkbox",checked:z,onChange:e=>E(e.target.checked),className:"rounded border-gray-300"}),"Publicado (visible en dudas.talentgoo.com)"]})]}),(0,t.jsxs)("div",{className:"flex justify-between gap-2 p-5 border-t shrink-0",children:[(0,t.jsx)("div",{children:!c&&(0,t.jsxs)(o.z,{type:"button",variant:"destructive",size:"sm",onClick:M,disabled:Z,children:[(0,t.jsx)(F.Z,{className:"h-4 w-4 mr-1"}),"Eliminar"]})}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(o.z,{type:"button",variant:"outline",onClick:l,children:"Cancelar"}),(0,t.jsxs)(o.z,{type:"button",onClick:U,disabled:Z,children:[Z&&(0,t.jsx)(T.Z,{className:"h-4 w-4 animate-spin mr-2"}),"Guardar"]})]})]})]})]}):null}var eD=s(53711),eU=s(84075);function eM(){let[e,a]=(0,i.useState)([]),[s,n]=(0,i.useState)([]),[l,r]=(0,i.useState)(!0),[u,h]=(0,i.useState)(!1),[j,g]=(0,i.useState)(""),[y,b]=(0,i.useState)(""),[N,w]=(0,i.useState)(1),[_,C]=(0,i.useState)(0),[S,k]=(0,i.useState)(1),[z,E]=(0,i.useState)(null),[Z,I]=(0,i.useState)(!1),P=(0,i.useCallback)(async e=>{r(!0);try{let r=new URLSearchParams({page:String(e),limit:String(15)});j&&r.set("category",j),y.trim()&&r.set("q",y.trim());let u=await fetch("/api/admin/articles?".concat(r)),x=await u.json();if(x.success){var s,t,i,l,c,o,d,m;a(null!==(l=x.articles)&&void 0!==l?l:[]),n(null!==(c=x.categories)&&void 0!==c?c:[]),C(null!==(o=null===(s=x.pagination)||void 0===s?void 0:s.total)&&void 0!==o?o:0),k(null!==(d=null===(t=x.pagination)||void 0===t?void 0:t.total_pages)&&void 0!==d?d:1),w(null!==(m=null===(i=x.pagination)||void 0===i?void 0:i.page)&&void 0!==m?m:e)}}finally{r(!1)}},[j,y]);function A(){1===N?P(1):w(1)}async function F(e){h(!0);try{let a=await fetch("/api/admin/articles/".concat(e.id)),s=await a.json();s.success&&s.article&&E(s.article)}finally{h(!1)}}(0,i.useEffect)(()=>{P(N)},[P,N]);let L=(0,eU._j)(),D=0===_?0:(N-1)*15+1,U=Math.min(15*N,_);return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-2xl font-bold text-gray-900",children:"Art\xedculos de ayuda"}),(0,t.jsxs)("p",{className:"text-gray-600",children:["Centro de soporte en"," ",(0,t.jsxs)("a",{href:L,target:"_blank",rel:"noopener noreferrer",className:"text-blue-600 inline-flex items-center gap-1",children:["dudas.talentgoo.com",(0,t.jsx)(eD.Z,{className:"h-3.5 w-3.5"})]})]})]}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:(0,t.jsxs)(o.z,{size:"sm",onClick:()=>I(!0),children:[(0,t.jsx)(p.Z,{className:"h-4 w-4 mr-2"}),"Nuevo art\xedculo"]})})]}),(0,t.jsxs)(c.Zb,{children:[(0,t.jsx)(c.Ol,{children:(0,t.jsx)(c.ll,{className:"text-base",children:"Filtros"})}),(0,t.jsxs)(c.aY,{className:"flex flex-col sm:flex-row gap-3",children:[(0,t.jsxs)("div",{className:"relative flex-1",children:[(0,t.jsx)(x.Z,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400"}),(0,t.jsx)(m.I,{placeholder:"Buscar por t\xedtuloâ¦",value:y,onChange:e=>b(e.target.value),onKeyDown:e=>"Enter"===e.key&&A(),className:"pl-9"})]}),(0,t.jsxs)("select",{value:j,onChange:e=>g(e.target.value),className:"h-10 rounded-md border border-input bg-background px-3 text-sm",children:[(0,t.jsx)("option",{value:"",children:"Todas las categor\xedas"}),s.map(e=>(0,t.jsx)("option",{value:e.slug,children:e.title},e.slug))]}),(0,t.jsx)(o.z,{variant:"outline",onClick:A,children:"Aplicar"})]})]}),(0,t.jsxs)(c.Zb,{children:[(0,t.jsxs)(c.Ol,{children:[(0,t.jsxs)(c.ll,{children:[_.toLocaleStr
1ing("es-MX")," art\xedculos"]}),(0,t.jsxs)(c.SZ,{children:["Usa ","{{image:URL|descripci\xf3n}}"," y ","{{youtube:VIDEO_ID}}"," en el cuerpo del art\xedculo."]})]}),(0,t.jsx)(c.aY,{children:l?(0,t.jsx)("div",{className:"flex justify-center py-12",children:(0,t.jsx)(T.Z,{className:"h-8 w-8 animate-spin text-gray-400"})}):0===e.length?(0,t.jsx)("p",{className:"text-sm text-gray-500 py-8 text-center",children:'No hay art\xedculos. Crea uno con "Nuevo art\xedculo".'}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"divide-y divide-gray-100",children:e.map(e=>(0,t.jsxs)("div",{className:"py-4 flex flex-col sm:flex-row sm:items-center gap-3 justify-between",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,t.jsx)("p",{className:"font-medium text-gray-900",children:e.title}),!e.is_published&&(0,t.jsx)(d.C,{variant:"outline",className:"text-amber-700 border-amber-200",children:"Borrador"})]}),(0,t.jsx)("p",{className:"text-sm text-gray-500 truncate",children:e.slug}),(0,t.jsx)("p",{className:"text-xs text-gray-400 mt-1",children:e.category_slug})]}),(0,t.jsxs)("div",{className:"flex gap-2 shrink-0",children:[(0,t.jsx)(o.z,{variant:"outline",size:"sm",asChild:!0,children:(0,t.jsx)("a",{href:"".concat(L,"/").concat(e.slug),target:"_blank",rel:"noopener noreferrer",children:(0,t.jsx)(eD.Z,{className:"h-4 w-4"})})}),(0,t.jsxs)(o.z,{variant:"outline",size:"sm",onClick:()=>F(e),disabled:u,children:[(0,t.jsx)(O.Z,{className:"h-4 w-4 mr-1"}),"Editar"]})]})]},e.id))}),_>0&&(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 pt-4 mt-4 border-t",children:[(0,t.jsxs)("p",{className:"text-xs text-gray-500",children:[D,"â",U," de ",_.toLocaleString("es-MX")," art\xedculos"]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)(o.z,{type:"button",variant:"outline",size:"sm",disabled:l||N<=1,onClick:()=>w(e=>Math.max(1,e-1)),children:[(0,t.jsx)(f.Z,{className:"w-4 h-4 mr-1"}),"Anterior"]}),(0,t.jsxs)("span",{className:"text-sm text-gray-600 min-w-[5rem] text-center",children:[N," / ",S]}),(0,t.jsxs)(o.z,{type:"button",variant:"outline",size:"sm",disabled:l||N>=S,onClick:()=>w(e=>e+1),children:["Siguiente",(0,t.jsx)(v.Z,{className:"w-4 h-4 ml-1"})]})]})]})]})})]}),(z||Z)&&(0,t.jsx)(eL,{article:Z?null:z,categories:s,open:!!(z||Z),onClose:()=>{E(null),I(!1)},onSaved:()=>{E(null),I(!1),P(N)}})]})}function eR(){let[e,a]=(0,i.useState)([]),[s,n]=(0,i.useState)([]),[l,r]=(0,i.useState)(!0),[x,h]=(0,i.useState)(""),[j,g]=(0,i.useState)(""),[v,f]=(0,i.useState)(""),[y,b]=(0,i.useState)(!1),[N,w]=(0,i.useState)(""),[_,C]=(0,i.useState)(""),[S,k]=(0,i.useState)("10"),[z,E]=(0,i.useState)(!1),Z=(0,i.useCallback)(async()=>{r(!0),h("");try{var e,s;let[t,i]=await Promise.all([fetch("/api/admin/position-categories"),fetch("/api/admin/position-code-mappings")]),l=await t.json(),r=await i.json();if(!l.success)throw Error(l.error||"No se pudieron cargar categor\xedas");if(!r.success)throw Error(r.error||"No se pudieron cargar mappings");a(null!==(e=l.categories)&&void 0!==e?e:[]),n(null!==(s=r.mappings)&&void 0!==s?s:[])}catch(e){h(e instanceof Error?e.message:"Error al cargar")}finally{r(!1)}},[]);async function I(){b(!0),h("");try{let e=await fetch("/api/admin/position-categories",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:j,code_prefix:v})}),a=await e.json();if(!a.success)throw Error(a.error||"No se pudo crear");g(""),f(""),await Z()}catch(e){h(e instanceof Error?e.message:"No se pudo crear la categor\xeda")}finally{b(!1)}}async function P(e,a){h("");let s=await fetch("/api/admin/position-categories/".concat(e),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),t=await s.json();if(!t.success){h(t.error||"No se pudo actualizar");return}await Z()}async function A(){E(!0),h("");try{let e=await fetch("/api/admin/position-code-mappings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({pattern:N,category_id:_,priority:Number(S)||0})}),a=await e.json();if(!a.success)throw Error(a.error||"No se pudo crear");w(""),await Z()}catch(e){h(e instanceof Error?e.message:"No se pudo crear el mapping")}finally{E(!1)}}async function O(e,a){h("");let s=await fetch("/api/admin/position-code-mappings/".concat(e),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}
1),t=await s.json();if(!t.success){h(t.error||"No se pudo actualizar");return}await Z()}return(0,i.useEffect)(()=>{Z()},[Z]),(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-2xl font-bold text-gray-900",children:"C\xf3digos de vacante"}),(0,t.jsx)("p",{className:"text-gray-600",children:"Categor\xedas opcionales y mappings de t\xedtulo. Cambiar un prefijo solo afecta vacantes nuevas."})]}),x&&(0,t.jsx)("p",{className:"text-sm text-red-700 bg-red-50 border border-red-200 rounded-md px-3 py-2",children:x}),(0,t.jsxs)(c.Zb,{children:[(0,t.jsxs)(c.Ol,{children:[(0,t.jsx)(c.ll,{children:"Categor\xedas"}),(0,t.jsx)(c.SZ,{children:"El prefijo de 3 letras se usa en c\xf3digos nuevos (p. ej. MKT7K2)."})]}),(0,t.jsxs)(c.aY,{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-3 items-end",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(u._,{htmlFor:"cat-name",children:"Nombre"}),(0,t.jsx)(m.I,{id:"cat-name",value:j,onChange:e=>g(e.target.value),placeholder:"Marketing"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(u._,{htmlFor:"cat-prefix",children:"Prefijo"}),(0,t.jsx)(m.I,{id:"cat-prefix",value:v,onChange:e=>f(e.target.value.toUpperCase().replace(/[^A-Z]/g,"").slice(0,3)),placeholder:"MKT",maxLength:3})]}),(0,t.jsxs)(o.z,{type:"button",onClick:()=>void I(),disabled:y||!j.trim()||3!==v.length,children:[y?(0,t.jsx)(T.Z,{className:"h-4 w-4 mr-2 animate-spin"}):(0,t.jsx)(p.Z,{className:"h-4 w-4 mr-2"}),"Agregar"]})]}),l?(0,t.jsx)("div",{className:"flex justify-center py-8",children:(0,t.jsx)(T.Z,{className:"h-6 w-6 animate-spin text-gray-400"})}):(0,t.jsx)("div",{className:"overflow-x-auto rounded-md border",children:(0,t.jsxs)("table",{className:"min-w-full text-sm",children:[(0,t.jsx)("thead",{className:"bg-gray-50 text-left text-xs uppercase text-gray-500",children:(0,t.jsxs)("tr",{children:[(0,t.jsx)("th",{className:"px-3 py-2",children:"Categor\xeda"}),(0,t.jsx)("th",{className:"px-3 py-2",children:"Prefix"}),(0,t.jsx)("th",{className:"px-3 py-2",children:"Estado"}),(0,t.jsx)("th",{className:"px-3 py-2"})]})}),(0,t.jsx)("tbody",{className:"divide-y",children:e.map(e=>(0,t.jsxs)("tr",{children:[(0,t.jsx)("td",{className:"px-3 py-2",children:e.name}),(0,t.jsx)("td",{className:"px-3 py-2 font-mono",children:e.code_prefix}),(0,t.jsx)("td",{className:"px-3 py-2",children:(0,t.jsx)(d.C,{variant:e.enabled?"secondary":"outline",children:e.enabled?"Activa":"Inactiva"})}),(0,t.jsx)("td",{className:"px-3 py-2 text-right",children:(0,t.jsx)(o.z,{type:"button",size:"sm",variant:"outline",onClick:()=>void P(e.id,{enabled:!e.enabled}),children:e.enabled?"Desactivar":"Activar"})})]},e.id))})]})})]})]}),(0,t.jsxs)(c.Zb,{children:[(0,t.jsxs)(c.Ol,{children:[(0,t.jsx)(c.ll,{children:"Mappings de c\xf3digo"}),(0,t.jsx)(c.SZ,{children:"Si el recruiter no elige categor\xeda, el t\xedtulo se compara con estos patrones (el m\xe1s espec\xedfico gana)."})]}),(0,t.jsxs)(c.aY,{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-4 gap-3 items-end",children:[(0,t.jsxs)("div",{className:"sm:col-span-2",children:[(0,t.jsx)(u._,{htmlFor:"map-pattern",children:"Pattern"}),(0,t.jsx)(m.I,{id:"map-pattern",value:N,onChange:e=>w(e.target.value),placeholder:"account executive"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(u._,{htmlFor:"map-cat",children:"Categor\xeda"}),(0,t.jsxs)("select",{id:"map-cat",value:_,onChange:e=>C(e.target.value),className:"h-10 w-full rounded-md border border-input bg-background px-3 text-sm",children:[(0,t.jsx)("option",{value:"",children:"Seleccionarâ¦"}),e.filter(e=>e.enabled).map(e=>(0,t.jsxs)("option",{value:e.id,children:[e.name," (",e.code_prefix,")"]},e.id))]})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(m.I,{value:S,onChange:e=>k(e.target.value),placeholder:"Prioridad",className:"w-24"}),(0,t.jsx)(o.z,{type:"button",onClick:()=>void A(),disabled:z||N.trim().length<2||!_,children:z?(0,t.jsx)(T.Z,{className:"h-4 w-4 animate-spin"}):(0,t.jsx)(p.Z,{className:"h-4 w-4"})})]})]}),l?null:(0,t.jsx)("div",{className:"overflow-x-auto rounded-md border",children:(0,t.jsxs)("table",{className:"min-w-full text-sm",children:[(0,t.jsx)("thead",{className:"bg-gray-50 text-left text-xs uppercase text-gray-500",children:(0,t.jsxs)("tr",{children:[(0,t.jsx)("th",{className:"px-3 py-2",children:"Pattern"}),(0,t.jsx)("th",{className:"px-3 py-2",children:"Categor\xeda"}),(0,t.jsx)("th",{className:"px-3 py-2",children:"Prioridad"}),(0,t.jsx)("th",{className:"px-3 py-2",children:"Estado"}),(0,t.jsx)("th",{className:"px-3 py-2"})]})}),(0,t.jsx)("tbody",{className:"divide-y",children:s.map(e=>{var a,s;return(0,t.jsxs)("tr",{children:[(0,t.jsx)("td",{className:"px-3 py-2 font-mono",children:e.pattern}),(0,t.jsxs)("td",{className:"px-3 py-2",children:[(null===(a=e.category)||void 0===a?void 0:a.name)||"â"," ",(0,t.jsx)("span",{className:"text-gray-400",children:null===(s=e.category)||void 0===s?void 0:s.code_prefix})]}),(0,t.jsx)("td",{className:"px-3 py-2 tabular-nums",children:e.priority}
1),(0,t.jsx)("td",{className:"px-3 py-2",children:(0,t.jsx)(d.C,{variant:e.enabled?"secondary":"outline",children:e.enabled?"Activo":"Inactivo"})}),(0,t.jsx)("td",{className:"px-3 py-2 text-right",children:(0,t.jsx)(o.z,{type:"button",size:"sm",variant:"outline",onClick:()=>void O(e.id,{enabled:!e.enabled}),children:e.enabled?"Desactivar":"Activar"})})]},e.id)})})]})})]})]})]})}let eq={in_progress:"En curso",confirmed:"Confirmada",wizard_edit:"Pas\xf3 al wizard"};function eY(){let[e,a]=(0,i.useState)([]),[s,n]=(0,i.useState)(!0),[l,r]=(0,i.useState)(1),[m,u]=(0,i.useState)(0),[x,p]=(0,i.useState)(1),[h,j]=(0,i.useState)(""),[g,y]=(0,i.useState)(""),[b,N]=(0,i.useState)(null),[w,_]=(0,i.useState)(null),[C,S]=(0,i.useState)(!1),[k,z]=(0,i.useState)(!1),E=(0,i.useCallback)(async e=>{n(!0),y("");try{var s,t,i,l,c,o,d;let n=new URLSearchParams({page:String(e),limit:String(15)});h&&n.set("mode",h);let m=await fetch("/api/admin/position-assist-conversations?".concat(n)),x=await m.json();if(!x.success){y(x.error||"No se pudieron cargar las conversaciones. \xbfAplicaste la migraci\xf3n 133?"),a([]);return}a(null!==(l=x.items)&&void 0!==l?l:[]),u(null!==(c=null===(s=x.pagination)||void 0===s?void 0:s.total)&&void 0!==c?c:0),p(null!==(o=null===(t=x.pagination)||void 0===t?void 0:t.total_pages)&&void 0!==o?o:1),r(null!==(d=null===(i=x.pagination)||void 0===i?void 0:i.page)&&void 0!==d?d:e)}finally{n(!1)}},[h]);async function Z(e){N(e),z(!1),S(!0);try{let a=await fetch("/api/admin/position-assist-conversations/".concat(e)),s=await a.json();s.success?_(s.conversation):_(null)}finally{S(!1)}}(0,i.useEffect)(()=>{E(l)},[E,l]);let I=0===m?0:(l-1)*15+1,P=Math.min(15*l,m),A=k?null==w?void 0:w.messages:null==w?void 0:w.messagesRedacted;return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-2xl font-bold text-gray-900",children:"Asistente de vacantes"}),(0,t.jsx)("p",{className:"text-gray-600",children:"Auditor\xeda de chats. La vista por defecto est\xe1 redactada; el original es solo para revisi\xf3n interna."})]}),(0,t.jsxs)(c.Zb,{children:[(0,t.jsx)(c.Ol,{children:(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(c.ll,{children:"Conversaciones"}),(0,t.jsxs)(c.SZ,{children:[I,"â",P," de ",m]})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(o.z,{variant:""===h?"default":"outline",size:"sm",onClick:()=>{j(""),r(1)},children:"Todas"}),(0,t.jsx)(o.z,{variant:"assist"===h?"default":"outline",size:"sm",onClick:()=>{j("assist"),r(1)},children:"Asistido"}),(0,t.jsx)(o.z,{variant:"consultant"===h?"default":"outline",size:"sm",onClick:()=>{j("consultant"),r(1)},children:"Consultor"})]})]})}),(0,t.jsxs)(c.aY,{children:[g?(0,t.jsx)("p",{className:"mb-3 text-sm text-red-600",children:g}):null,s?(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm text-gray-500",children:[(0,t.jsx)(T.Z,{className:"h-4 w-4 animate-spin"}),"Cargandoâ¦"]}):0===e.length?(0,t.jsx)("p",{className:"text-sm text-gray-500",children:"A\xfan no hay conversaciones. Crea una vacante en modo asistido o consultor."}):(0,t.jsx)("ul",{className:"divide-y",children:e.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>void Z(e.id),className:"flex w-full flex-col gap-1 py-3 text-left hover:bg-gray-50 sm:flex-row sm:items-center sm:justify-between sm:gap-4",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1 overflow-hidden",children:[(0,t.jsx)("p",{className:"line-clamp-2 text-sm font-medium text-gray-900 break-words",children:e.preview||"(sin mensaje de usuario)"}),(0,t.jsxs)("p",{className:"truncate text-xs text-gray-500",children:[e.companyName," \xb7 ",e.userEmail," \xb7 ",new Date(e.updatedAt).toLocaleString()]})]}),(0,t.jsxs)("div",{className:"flex shrink-0 gap-2",children:[(0,t.jsx)(d.C,{variant:"outline",children:"consultant"===e.mode?"Consultor":"Asistido"}),(0,t.jsx)(d.C,{variant:"secondary",children:eq[e.outcome]||e.outcome})]})]})},e.id))}),x>1?(0,t.jsxs)("div",{className:"mt-4 flex items-center justify-end gap-2",children:[(0,t.jsx)(o.z,{variant:"outline",size:"sm",disabled:l<=1,onClick:()=>r(e=>e-1),children:(0,t.jsx)(f.Z,{className:"h-4 w-4"})}),(0,t.jsxs)("span",{className:"text-sm text-gray-600",children:[l," / ",x]}),(0,t.jsx)(o.z,{variant:"outline",size:"sm",disabled:l>=x,onClick:()=>r(e=>e+1),children:(0,t.jsx)(v.Z,{className:"h-4 w-4"})})]}):null]})]}),b?(0,t.jsxs)(c.Zb,{children:[(0,t.jsx)(c.Ol,{children:(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(c.ll,{children:"Detalle"}),(0,t.jsx)(c.SZ,{children:w?"".concat(w.companyName," \xb7 ").concat(w.userEmail):"â¦"})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(o.z,{variant:k?"outline":"default",size:"sm",onClick:()=>z(!1),children:"Redactado"}),(0,t.jsx)(o.z,{variant:k?"default":"outline",size:"sm",onClick:()=>z(!0),children:"Original (auditor\xeda)"}),(0,t.jsx)(o.z,{variant:"ghost",size:"sm",onClick:()=>{N(null),_(null)},children:"Cerrar"})]})]})}),(0,t.jsx)(c.aY,{children:C?(0,t.jsx)(T.Z,{className:"h-4 w-4 animate-spin text-gray-500"}):(0,t.jsx)("div",{className:"space-y-3",children:(A||[]).map((e,a)=>(0,t.jsxs)("div",{className:"user"===e.role?"text-right":"text-left",children:[(0,t.jsx)("p",{className:"text-[11px] uppercase tracking-wide text-gray-400",children:"user"===e.role?"Reclutador":"IA"}),(0,t.jsx)("p",{className:"whitespace-pre-wrap rounded-lg bg-gray-50 px-3 py-2 text-sm",children:e.content})]},"".concat(e.role,"-").concat(a)))})})]}):null]})}var eG=s(76637),eJ=s(98253);let eV={new:"Nuevo",contacted:"Contactado",qualified:"Calificado",proposal:"Propuesta",won:"Ganado",lost:"Perdido"},eX={camila:"Camila",landing:"Formulario",apollo:"Apollo",manual:"Manual"};function eQ(){let[e,a]=(0,i.useState)([]),[s,n]=(0,i.useState)(!0),[l,r]=(0,i.useState)(1),[p,h]=(0,i.useState)(0),[j,g]=(0,i.useState)(""),[y,b]=(0,i.useState)(""),[N,w]=(0,i.useState)(""),[_,C]=(0,i.useState)(""),[S,k]=(0,i.useState)(null),[z,E]=(0,i.useState)(null),Z=(0,i.useCallback)(async e=>{n(!0),C("");try{var s,t,i,l,c;let n=new URLSearchParams({page:String(e),limit:String(25)});j&&n.set("source",j),y&&n.set("status",y),N.trim()&&n.set("q",N.trim());let o=await fetch("/api/admin/leads?".concat(n)),d=await o.json();if(!d.success){C(d.error||"No se pudieron cargar los leads. \xbfAplicaste la migraci\xf3n 178/179?"),a([]);return}a(null!==(i=d.leads)&&void 0!==i?i:[]),h(null!==(l=null===(s=d.pagination)||void 0===s?void 0:s.total)&&void 0!==l?l:0),r(null!==(c=null===(t=d.pagination)||void 0===t?void 0:t.page)&&void 0!==c?c:e)}finally{n(!1)}},[N,j,y]);(0,i.useEffect)(()=>{Z(l)},[Z,l]);let I=Math.max(1,Math.ceil(p/25));return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-2xl font-bold text-gray-900",children:"Leads SaaS"}),(0,t.jsx)("p",{className:"text-gray-600",children:"Prospectos de Camila, formulario de contacto, Apollo o carga manual. Convi\xe9rtelos en tenant con el contacto como owner."})]}),(0,t.jsxs)(c.Zb,{children:[(0,t.jsx)(c.Ol,{children:(0,t.jsxs)("div",{className:"grid w-full grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-[minmax(0,1fr)_minmax(0,1fr)_minmax(0,2fr)]",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)(u._,{className:"text-xs text-gray-500",children:"Fuente"}),(0,t.jsxs)(M.Ph,{value:j||"all",onValueChange:e=>{g("all"===e?"":e),r(1)},modal:!1,children:[(0,t.jsx)(M.i4,{className:"w-full",children:(0,t.jsx)(M.ki,{})}),(0,t.jsxs)(M.Bw,{children:[(0,t.jsx)(M.Ql,{value:"all",children:"Todas"}),(0,t.jsx)(M.Ql,{value:"camila",children:"Camila"}),(0,t.jsx)(M.Ql,{value:"landing",children:"Formulario"}),(0,t.jsx)(M.Ql,{value:"apollo",children:"Apollo"}),(0,t.jsx)(M.Ql,{value:"manual",children:"Manual"})]})]})]}),(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)(u._,{className:"text-xs text-gray-500",children:"Estado"}),(0,t.jsxs)(M.Ph,{value:y||"all",onValueChange:e=>{b("all"===e?"":e),r(1)},modal:!1,children:[(0,t.jsx)(M.i4,{className:"w-full",children:(0,t.jsx)(M.ki,{})}),(0,t.jsxs)(M.Bw,{children:[(0,t.jsx)(M.Ql,{value:"all",children:"Todos"}),Object.entries(eV).map(e=>{let[a,s]=e;return(0,t.jsx)(M.Ql,{value:a,children:s},a)})]})]})]}),(0,t.jsxs)("div",{className:"space-y-1 sm:col-span-2 lg:col-span-1",children:[(0,t.jsx)(u._,{className:"text-xs text-gray-500",children:"Buscar"}),(0,t.jsxs)("div",{className:"flex w-full gap-1",children:[(0,t.jsx)(m.I,{value:N,onChange:e=>w(e.target.value),placeholder:"Empresa, nombre, email",className:"min-w-0 flex-1",onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),1===l?Z(1):r(1))}}),(0,t.jsx)(o.z,{type:"button",variant:"outline",size:"icon",className:"shrink-0",onClick:()=>{1===l?Z(1):r(1)},children:(0,t.jsx)(x.Z,{className:"h-4 w-4"})})]})]})]})}),(0,t.jsxs)(c.aY,{children:[_?(0,t.jsx)("p",{className:"mb-3 text-sm text-red-600",children:_}):null,s?(0,t.jsxs)("div",{className:"flex items-center justify-center py-12 text-gray-500",children:[(0,t.jsx)(T.Z,{className:"mr-2 h-5 w-5 animate-spin"}),"Cargandoâ¦"]}):0===e.length?(0,t.jsx)("p",{className:"py-10 text-center text-sm text-gray-500",children:"No hay leads con ese filtro."}):(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:"w-full text-sm",children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{className:"border-b text-left text-gray-500",children:[(0,t.jsx)("th",{className:"pb-2 pr-3 font-medium",children:"Empresa"}),(0,t.jsx)("th",{className:"pb-2 pr-3 font-medium",children:"Contacto"}),(0,t.jsx)("th",{className:"pb-2 pr-3 font-medium",children:"Fuente"}),(0,t.jsx)("th",{className:"pb-2 pr-3 font-medium",children:"Estado"}),(0,t.jsx)("th",{className:"pb-2 pr-3 font-medium",children:"Fecha"}),(0,t.jsx)("th",{className:"pb-2 font-medium"})]})}),(0,t.jsx)("tbody",{children:e.map(e=>{let a=!!e.converted_company_id||"won"===e.status,s=function(e){var a;let s=e.raw_response;return!!s&&(!!("string"==typeof(null===(a=s.sales_report)||void 0===a?void 0:a.text)&&s.sales_report.text.trim()||"string"==typeof s.interview_id&&s.interview_id.trim())||"camila"===e.source)}(e);return(0,t.jsxs)("tr",{className:"border-b last:border-0",children:[(0,t.jsxs)("td",{className:"py-3 pr-3 align-top",children:[(0,t.jsx)("div",{className:"font-medium text-gray-900",children:e.company_name}),e.company_phone?(0,t.jsx)("div",{className:"text-xs text-gray-500",children:e.company_phone}):null]}),(0,t.jsxs)("td",{className:"py-3 pr-3 align-top",children:[(0,t.jsx)("div",{className:"text-gray-900",children:e.contact_name||"â"}),(0,t.jsx)("div",{className:"text-xs text-gray-500",children:e.contact_email||"â"}),e.contact_title?(0,t.jsx)("div",{className:"text-xs text-gray-400",children:e.contact_title}):null]}),(0,t.jsx)("td",{className:"py-3 pr-3 align-top",children:(0,t.jsx)(d.
1C,{variant:"outline",children:eX[e.source]||e.source})}),(0,t.jsx)("td",{className:"py-3 pr-3 align-top",children:(0,t.jsx)(d.C,{variant:a?"default":"lost"===e.status?"destructive":"secondary",children:eV[e.status]||e.status})}),(0,t.jsx)("td",{className:"py-3 pr-3 align-top text-xs text-gray-500",children:(0,B.o0)(e.created_at)}),(0,t.jsx)("td",{className:"py-3 align-top text-right",children:(0,t.jsxs)("div",{className:"flex items-center justify-end gap-1.5",children:[s?(0,t.jsx)(o.z,{type:"button",size:"icon",variant:"outline",className:"h-8 w-8",title:"Reporte comercial Camila",onClick:()=>E(e),children:(0,t.jsx)(eG.Z,{className:"h-3.5 w-3.5"})}):null,a?(0,t.jsx)("span",{className:"text-xs text-gray-400",children:"Ya convertido"}):"lost"===e.status?null:(0,t.jsxs)(o.z,{type:"button",size:"sm",onClick:()=>k(e),disabled:!e.contact_email,title:e.contact_email?"Crear tenant con este contacto como owner":"Falta email de contacto",children:[(0,t.jsx)(eJ.Z,{className:"mr-1.5 h-3.5 w-3.5"}),"Convertir"]})]})})]},e.id)})})]})}),I>1?(0,t.jsxs)("div",{className:"mt-4 flex items-center justify-between",children:[(0,t.jsxs)(o.z,{type:"button",variant:"outline",size:"sm",disabled:l<=1||s,onClick:()=>r(e=>Math.max(1,e-1)),children:[(0,t.jsx)(f.Z,{className:"mr-1 h-4 w-4"}),"Anterior"]}),(0,t.jsxs)("span",{className:"text-sm text-gray-500",children:["P\xe1gina ",l," / ",I]}),(0,t.jsxs)(o.z,{type:"button",variant:"outline",size:"sm",disabled:l>=I||s,onClick:()=>r(e=>e+1),children:["Siguiente",(0,t.jsx)(v.Z,{className:"ml-1 h-4 w-4"})]})]}):null]})]}),S?(0,t.jsx)(eH,{lead:S,onClose:()=>k(null),onConverted:()=>{k(null),Z(l)}}):null,z?(0,t.jsx)(eB,{lead:z,onClose:()=>E(null)}):null]})}function eB(e){let{lead:a,onClose:s}=e,[n,l]=(0,i.useState)(!0),[r,c]=(0,i.useState)(""),[m,u]=(0,i.useState)(null),[x,p]=(0,i.useState)(!1),[h,j]=(0,i.useState)(null);return(0,i.useEffect)(()=>{let e=!1;return(async()=>{l(!0),c("");try{let s=await fetch("/api/admin/leads/".concat(encodeURIComponent(a.id),"/sales-report")),t=await s.json();if(e)return;if(!s.ok||!t.success){c(t.error||"No se pudo cargar el reporte");return}u("string"==typeof t.text?t.text:null),p(!!t.pending),j(t.report||null)}catch(a){e||c("Error de conexi\xf3n")}finally{e||l(!1)}})(),()=>{e=!0}},[a.id]),(0,t.jsxs)("div",{className:"fixed inset-0 z-[100] flex items-center justify-center p-4",children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-black/50",onClick:s}),(0,t.jsxs)("div",{className:"relative z-[101] flex max-h-[90vh] w-full max-w-2xl flex-col overflow-hidden rounded-xl bg-white shadow-xl",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b p-5",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Reporte comercial Camila"}),(0,t.jsxs)("p",{className:"text-sm text-gray-500",children:[a.contact_name||"Prospecto"," \xb7 ",a.company_name]})]}),(0,t.jsx)("button",{type:"button",onClick:s,className:"rounded p-1 hover:bg-gray-100",children:(0,t.jsx)(R.Z,{className:"h-5 w-5"})})]}),(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto p-5",children:n?(0,t.jsxs)("div",{className:"flex items-center justify-center py-16 text-gray-500",children:[(0,t.jsx)(T.Z,{className:"mr-2 h-5 w-5 animate-spin"}),"Cargando reporteâ¦"]}):r?(0,t.jsx)("p",{className:"text-sm text-red-600",children:r}):x||!m?(0,t.jsx)("p",{className:"text-sm text-gray-600",children:"El reporte a\xfan no est\xe1 listo. Se genera al terminar la charla con Camila; vuelve a abrir en unos minutos."}):(0,t.jsxs)("div",{className:"space-y-4",children:[(null==h?void 0:h.interes_nivel)||(null==h?void 0:h.calificacion)||(null==h?void 0:h.motivo_cierre)?(0,t.jsxs)("div",{className:"flex flex-wrap gap-2 text-xs",children:[h.interes_nivel?(0,t.jsxs)(d.C,{variant:"secondary",children:["Inter\xe9s: ",h.interes_nivel]}):null,h.motivo_cierre?(0,t.jsxs)(d.C,{variant:"outline",children:["Cierre: ",h.motivo_cierre]}):null,h.calificacion?(0,t.jsx)("span",{className:"text-gray-500",children:h.calificacion}):null]}):null,(0,t.jsx)("pre",{className:"whitespace-pre-wrap font-sans text-sm leading-relaxed text-gray-800",children:m})]})}),(0,t.jsx)("div",{className:"flex justify-end border-t p-4",children:(0,t.jsx)(o.z,{type:"button",variant:"outline",onClick:s,children:"Cerrar"})})]})]})}function eH(e){var a;let{lead:s,onClose:n,onConverted:l}=e,[r,c]=(0,i.useState)(s.company_name||""),[d,x]=(0,i.useState)(s.contact_email||""),[p,h]=(0,i.useState)(s.contact_name||""),[j,g]=(0,i.useState)("demo"),[v,f]=(0,i.useState)(!1),[y,b]=(0,i.useState)(!0),[N,w]=(0,i.useState)("MX"),[_,C]=(0,i.useState)([]),[S,k]=(0,i.useState)(!0),[z,E]=(0,i.useState)(!1),[Z,I]=(0,i.useState)("");async function P(e){e.preventDefault(),I(""),E(!0);try{let e=await fetch("/api/admin/leads/".concat(s.id,"/convert"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({company_name:r.trim(),admin_email:d.trim(),admin_name:p.trim()||void 0,plan_slug:j,billing_exempt:v,ai_interview_avatar:y,operating_country_code:N})}),a=await e.json();
1if(!e.ok||!a.success){I(Y(a,"No se pudo convertir el lead"));return}l()}catch(e){I("Error de conexi\xf3n")}finally{E(!1)}}(0,i.useEffect)(()=>{let e=!1;return(async()=>{k(!0);try{var a,s;let t=await fetch("/api/admin/plans"),i=await t.json();if(e)return;let n=null!==(s=i.plans)&&void 0!==s?s:[];C(n),g(n.some(e=>"demo"===e.slug)?"demo":(null===(a=n[0])||void 0===a?void 0:a.slug)||"demo")}finally{e||k(!1)}})(),()=>{e=!0}},[]);let A=_.find(e=>e.slug===j);return(0,t.jsxs)("div",{className:"fixed inset-0 z-[100] flex items-center justify-center p-4",children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-black/50",onClick:n}),(0,t.jsxs)("div",{className:"relative z-[101] max-h-[90vh] w-full max-w-lg overflow-y-auto rounded-xl bg-white shadow-xl",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b p-5",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Convertir lead â tenant"}),(0,t.jsx)("button",{type:"button",onClick:n,className:"rounded p-1 hover:bg-gray-100",children:(0,t.jsx)(R.Z,{className:"h-5 w-5"})})]}),(0,t.jsxs)("form",{onSubmit:P,className:"space-y-4 p-5",children:[(0,t.jsxs)("p",{className:"text-sm text-gray-500",children:["Se crea la cuenta SaaS y el contacto queda como ",(0,t.jsx)("strong",{children:"owner"}),". Recibe el correo de bienvenida con acceso."]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"Empresa"}),(0,t.jsx)(m.I,{value:r,onChange:e=>c(e.target.value),required:!0})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"Pa\xeds"}),(0,t.jsxs)(M.Ph,{value:N,onValueChange:w,modal:!1,children:[(0,t.jsx)(M.i4,{children:(0,t.jsx)(M.ki,{})}),(0,t.jsx)(M.Bw,{className:"z-[9999]",children:G.mb.map(e=>(0,t.jsx)(M.Ql,{value:e,children:G.ZN[e]},e))})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"Plan inicial"}),(0,t.jsxs)(M.Ph,{value:j,onValueChange:g,modal:!1,children:[(0,t.jsx)(M.i4,{disabled:S,children:(0,t.jsx)(M.ki,{placeholder:S?"Cargandoâ¦":"Plan"})}),(0,t.jsx)(M.Bw,{className:"z-[9999]",children:_.map(e=>(0,t.jsxs)(M.Ql,{value:e.slug,children:[e.name,e.price>0?" â $".concat(e.price.toLocaleString("es-MX")," MXN/mes"):" â Gratis"]},e.slug||e.id))})]}),(null==A?void 0:null===(a=A.features)||void 0===a?void 0:a.tagline)?(0,t.jsx)("p",{className:"text-xs text-gray-500",children:A.features.tagline}):null]}),(0,t.jsxs)("label",{className:"flex items-start gap-2 text-sm",children:[(0,t.jsx)("input",{type:"checkbox",className:"mt-1",checked:v,onChange:e=>f(e.target.checked)}),(0,t.jsx)("span",{children:"Cuenta gratuita permanente (sin Stripe)"})]}),(0,t.jsxs)("label",{className:"flex items-start gap-2 text-sm",children:[(0,t.jsx)("input",{type:"checkbox",className:"mt-1",checked:y,onChange:e=>b(e.target.checked)}),(0,t.jsx)("span",{children:"Avatar en entrevistas (Simli)"})]}),(0,t.jsxs)("div",{className:"space-y-3 border-t pt-4",children:[(0,t.jsx)("p",{className:"text-sm font-medium text-gray-700",children:"Owner"}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"Email"}),(0,t.jsx)(m.I,{type:"email",value:d,onChange:e=>x(e.target.value),required:!0})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{children:"Nombre"}),(0,t.jsx)(m.I,{value:p,onChange:e=>h(e.target.value)})]})]}),Z?(0,t.jsx)("p",{className:"text-sm text-red-600",children:Z}):null,(0,t.jsxs)("div",{className:"flex justify-end gap-2 pt-2",children:[(0,t.jsx)(o.z,{type:"button",variant:"outline",onClick:n,children:"Cancelar"}),(0,t.jsx)(o.z,{type:"submit",disabled:z||S||!r.trim()||!d.trim(),children:z?"Convirtiendoâ¦":"Crear tenant"})]})]})]})]})}var eW=s(15432),e$=s(92295);function eK(){let[e,a]=(0,i.useState)([]),[s,n]=(0,i.useState)([]),[l,r]=(0,i.useState)(!0),[p,h]=(0,i.useState)(null),[j,g]=(0,i.useState)("all"),[v,f]=(0,i.useState)(""),[y,b]=(0,i.useState)(null),[N,w]=(0,i.useState)(""),[_,C]=(0,i.useState)(!1),[S,k]=(0,i.useState)(null),z=(0,i.useCallback)(async()=>{r(!0),h(null);try{var e,s;let t=await fetch("/api/admin/prompts"),i=await t.json();if(!i.success)throw Error(i.error||"Error al cargar");a(null!==(e=i.sections)&&void 0!==e?e:[]),n(null!==(s=i.prompts)&&void 0!==s?s:[]),b(e=>{var a,s;return e&&i.prompts.some(a=>a.key===e)?e:null!==(s=null===(a=i.prompts[0])||void 0===a?void 0:a.key)&&void 0!==s?s:null})}catch(e){h(e instanceof Error?e.message:"Error al cargar prompts")}
1finally{r(!1)}},[]);(0,i.useEffect)(()=>{z()},[z]);let E=(0,i.useMemo)(()=>{var e;return null!==(e=s.find(e=>e.key===y))&&void 0!==e?e:null},[s,y]);(0,i.useEffect)(()=>{E&&(w(E.body),k(null))},[null==E?void 0:E.key,null==E?void 0:E.body]);let Z=(0,i.useMemo)(()=>{let e=v.trim().toLowerCase();return s.filter(a=>("all"===j||a.section===j)&&(!e||a.key.toLowerCase().includes(e)||a.label.toLowerCase().includes(e)||a.description.toLowerCase().includes(e)))},[s,j,v]);async function I(){if(E){C(!0),k(null);try{let e=await fetch("/api/admin/prompts/".concat(encodeURIComponent(E.key)),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({body:N})}),a=await e.json();if(!a.success)throw Error(a.error||"No se pudo guardar");k("Guardado"),await z()}catch(e){k(e instanceof Error?e.message:"Error al guardar")}finally{C(!1)}}}async function P(){if(E&&confirm("\xbfRestaurar el default de c\xf3digo para \xab".concat(E.label,"\xbb?"))){C(!0),k(null);try{let e=await fetch("/api/admin/prompts/".concat(encodeURIComponent(E.key)),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({reset:!0})}),a=await e.json();if(!a.success)throw Error(a.error||"No se pudo restaurar");k("Restaurado al default"),await z()}catch(e){k(e instanceof Error?e.message:"Error al restaurar")}finally{C(!1)}}}if(l)return(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground py-12 justify-center",children:[(0,t.jsx)(T.Z,{className:"h-4 w-4 animate-spin"}),"Cargando promptsâ¦"]});if(p)return(0,t.jsxs)(c.Zb,{children:[(0,t.jsxs)(c.Ol,{children:[(0,t.jsx)(c.ll,{children:"Prompts LLM"}),(0,t.jsx)(c.SZ,{className:"text-destructive",children:p})]}),(0,t.jsx)(c.aY,{children:(0,t.jsx)(o.z,{onClick:z,children:"Reintentar"})})]});let A=!!E&&N!==E.body;return(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-2xl font-bold tracking-tight",children:"Prompts LLM"}),(0,t.jsxs)("p",{className:"text-sm text-muted-foreground mt-1 max-w-3xl",children:["Fuente de verdad: base de datos (",(0,t.jsx)("code",{className:"text-xs",children:"platform_prompts"}),"). Camila, vacantes, CV, match, LinkedIn y el resto leen lo que guardes aqu\xed. El default del c\xf3digo solo sirve para sembrar claves nuevas o al pulsar Default. Placeholders:"," ","{{nombre}}","."]})]}),(0,t.jsxs)("div",{className:"flex flex-col lg:flex-row gap-4 min-h-[70vh]",children:[(0,t.jsxs)(c.Zb,{className:"lg:w-[340px] shrink-0 flex flex-col",children:[(0,t.jsxs)(c.Ol,{className:"pb-3 space-y-3",children:[(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(x.Z,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),(0,t.jsx)(m.I,{className:"pl-8",placeholder:"Buscarâ¦",value:v,onChange:e=>f(e.target.value)})]}),(0,t.jsxs)(M.Ph,{value:j,onValueChange:e=>g(e),children:[(0,t.jsx)(M.i4,{className:"w-full",children:(0,t.jsx)(M.ki,{placeholder:"Secci\xf3n"})}),(0,t.jsxs)(M.Bw,{children:[(0,t.jsx)(M.Ql,{value:"all",children:"Todas"}),e.map(e=>(0,t.jsx)(M.Ql,{value:e.id,children:e.label},e.id))]})]})]}),(0,t.jsxs)(c.aY,{className:"flex-1 overflow-y-auto space-y-1 pt-0 max-h-[60vh]",children:[Z.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>b(e.key),className:"w-full text-left rounded-md px-3 py-2 text-sm transition-colors ".concat(y===e.key?"bg-primary text-primary-foreground":"hover:bg-muted"),children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,t.jsx)("span",{className:"font-medium leading-snug",children:e.label}),e.isOverridden?(0,t.jsx)(d.C,{variant:y===e.key?"secondary":"outline",className:"shrink-0",children:"editado"}):null]}),(0,t.jsx)("div",{className:"text-xs mt-0.5 truncate ".concat(y===e.key?"opacity-80":"text-muted-foreground"),children:e.key})]},e.key)),0===Z.length?(0,t.jsx)("p",{className:"text-sm text-muted-foreground py-6 text-center",children:"Sin resultados"}):null]})]}),(0,t.jsx)(c.Zb,{className:"flex-1 flex flex-col min-w-0",children:E?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(c.Ol,{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(c.ll,{className:"text-lg",children:E.label}),(0,t.jsx)(c.SZ,{className:"mt-1",children:E.description}),(0,t.jsx)("code",{className:"text-xs text-muted-foreground mt-2 block",children:E.key})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[E.key.startsWith("home.camila")?(0,t.jsx)(eI,{size:"sm",variant:"secondary",label:"Probar Camila home"}):null,(0,t.jsxs)(o.z,{type:"button",variant:"outline",size:"sm",disabled:_||!E.isOverrid
1den,onClick:P,children:[(0,t.jsx)(eW.Z,{className:"h-3.5 w-3.5 mr-1.5"}),"Default"]}),(0,t.jsxs)(o.z,{type:"button",size:"sm",disabled:_||!A,onClick:I,children:[_?(0,t.jsx)(T.Z,{className:"h-3.5 w-3.5 mr-1.5 animate-spin"}):(0,t.jsx)(e$.Z,{className:"h-3.5 w-3.5 mr-1.5"}),"Guardar"]})]})]}),E.variables.length>0?(0,t.jsxs)("div",{className:"text-xs text-muted-foreground",children:[(0,t.jsx)(u._,{className:"text-xs",children:"Variables"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1 mt-1",children:E.variables.map(e=>(0,t.jsx)(d.C,{variant:"secondary",className:"font-mono text-[10px]",children:"{{".concat(e,"}}")},e))})]}):null,S?(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:S}):null]}),(0,t.jsx)(c.aY,{className:"flex-1 flex flex-col pt-0",children:(0,t.jsx)("textarea",{className:"w-full flex-1 min-h-[420px] rounded-md border bg-background px-3 py-2 text-sm font-mono leading-relaxed",value:N,onChange:e=>w(e.target.value),spellCheck:!1})})]}):(0,t.jsx)(c.aY,{className:"py-12 text-center text-muted-foreground text-sm",children:"Selecciona un prompt"})})]})]})}function e0(e){var a,s;let{section:n}=e,M=(0,r.usePathname)(),R=(0,r.useRouter)(),Y=(0,r.useSearchParams)(),[G,Q]=(0,i.useState)(!1),[W,$]=(0,i.useState)(!1),K=(0,i.useRef)(null);(0,i.useEffect)(()=>{function e(e){K.current&&!K.current.contains(e.target)&&$(!1)}return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[]);let[ee,ea]=(0,i.useState)(!0),[es,et]=(0,i.useState)(null),[ei,en]=(0,i.useState)(0),[el,er]=(0,i.useState)(0),[ec,ed]=(0,i.useState)(0),[em,eu]=(0,i.useState)(0),[ex,ev]=(0,i.useState)(0),[ey,eN]=(0,i.useState)(0),[ew,e_]=(0,i.useState)(0),[eC,eS]=(0,i.useState)(0),[ek,ez]=(0,i.useState)([]),[eE,eZ]=(0,i.useState)([]),[eP,eA]=(0,i.useState)(!1),[eO,eF]=(0,i.useState)(0),[eL,eD]=(0,i.useState)(1),[eU,eq]=(0,i.useState)(1),[eG,eJ]=(0,i.useState)(""),[eV,eX]=(0,i.useState)("50"),[eB,eH]=(0,i.useState)(!1),[eW,e$]=(0,i.useState)(""),[e0,e1]=(0,i.useState)(""),[e2,e4]=(0,i.useState)([]),[e5,e3]=(0,i.useState)([]),[e6,e9]=(0,i.useState)(!1),[e8,e7]=(0,i.useState)(!1),[ae,aa]=(0,i.useState)(),[as,at]=(0,i.useState)(null),[ai,an]=(0,i.useState)(null),[al,ar]=(0,i.useState)(!1),[ac,ao]=(0,i.useState)(!1),[ad,am]=(0,i.useState)([]),[au,ax]=(0,i.useState)(null),[ap,ah]=(0,i.useState)(null),[aj,ag]=(0,i.useState)(null),[av,af]=(0,i.useState)(""),[ay,ab]=(0,i.useState)(""),[aN,aw]=(0,i.useState)(null),[a_,aC]=(0,i.useState)(null),[aS,ak]=(0,i.useState)(null),[az,aE]=(0,i.useState)(null),[aZ,aI]=(0,i.useState)(null),aP=()=>{ea(!0),et(null),fetch("/api/admin/summary").then(e=>e.json()).then(e=>{var a,s,t,i,n,l,r,c;if(!e.success){et(e.error||"Error al cargar");return}let o=e.data;en(null!==(a=o.companies_count)&&void 0!==a?a:0),er(null!==(s=o.positions_total)&&void 0!==s?s:0),ed(null!==(t=o.applications_total)&&void 0!==t?t:0),eu(null!==(i=o.linkedin_sourcing_total)&&void 0!==i?i:0),ev(null!==(n=o.coresignal_sourcing_total)&&void 0!==n?n:0),eN(null!==(l=o.pdl_sourcing_total)&&void 0!==l?l:0),e_(null!==(r=o.ai_interviews_total)&&void 0!==r?r:0),eS(null!==(c=o.ai_interviews_completed)&&void 0!==c?c:0),ez(o.companies_with_stats||[])}).catch(()=>et("Sin conexi\xf3n")).finally(()=>ea(!1))},aA=Math.max(1,parseInt(Y.get("page")||"1",10)),aT="activity"===n?aA:eU,aO="activity"===n?15:10,aF=e=>{let a=Math.max(1,e);"activity"===n?R.push("/admin/actividad?page=".concat(a)):eq(a)};(0,i.useEffect)(()=>{if("overview"!==n&&"activity"!==n)return;let e=!1;return eA(!0),fetch("/api/admin/activity?page=".concat(aT,"&limit=").concat(aO)).then(e=>e.json()).then(a=>{var s,t,i,n;!e&&a.success&&(eZ(a.items||[]),eF(null!==(i=null===(s=a.pagination)||void 0===s?void 0:s.total)&&void 0!==i?i:0),eD(null!==(n=null===(t=a.pagination)||void 0===t?void 0:t.total_pages)&&void 0!==n?n:1))}).catch(()=>{e||(eZ([]),eF(0),eD(1))}).finally(()=>{e||eA(!1)}),()=>{e=!0}},[n,aT,aO]),(0,i.useEffect)(()=>{aP(),fetch("/api/admin/plans").then(e=>e.json()).then(e=>{e.success&&e4(e.plans||[])}).catch(()=>{}),fetch("/api/admin/billing/summary").then(e=>e.json()).then(e=>{e.success&&aI(e.billing||null)}
1).catch(()=>{})},[]),(0,i.useEffect)(()=>{"plans"===n&&fetch("/api/admin/credit-packs").then(e=>e.json()).then(e=>{e.success&&am(e.packs||[])}).catch(()=>{})},[n]),(0,i.useEffect)(()=>{"users"===n&&fetch("/api/admin/users").then(e=>e.json()).then(e=>{e.success&&e3(e.users||[])}).catch(()=>{})},[n]);let aL=ek.filter(e=>{var a;let s=av.trim().toLowerCase();return!s||e.name.toLowerCase().includes(s)||(e.slug||"").toLowerCase().includes(s)||((null===(a=e.plan)||void 0===a?void 0:a.name)||"").toLowerCase().includes(s)||(e.payment_blocked?"suspendida pago deuda":"").includes(s)}),aD=e5.filter(e=>{var a;let s=ay.trim().toLowerCase();if(!s)return!0;let t=(null===(a=ek.find(a=>a.id===e.company_id))||void 0===a?void 0:a.name)||"";return e.email.toLowerCase().includes(s)||(e.full_name||"").toLowerCase().includes(s)||e.role.toLowerCase().includes(s)||t.toLowerCase().includes(s)}),aU=e=>null!=e?"$".concat(e.toLocaleString("es-MX",{minimumFractionDigits:0,maximumFractionDigits:0})):"â",aM=e=>{var a,s,t;if(aP(),e.warning){at({title:"Empresa creada con aviso",message:e.warning,type:"error"});return}let i='Empresa "'.concat((null===(a=e.company)||void 0===a?void 0:a.name)||"Nueva",'" creada correctamente.');e.welcome_email_sent&&(null===(s=e.invited_user)||void 0===s?void 0:s.email)&&(i+="\n\nSe envi\xf3 el correo de bienvenida a ".concat(e.invited_user.email,".")),(null===(t=e.invited_user)||void 0===t?void 0:t.temporary_password)&&(i+="\n\nContrase\xf1a temporal (respaldo): ".concat(e.invited_user.temporary_password,"\n\nEntra en /auth/login/recruiter")),at({title:"Empresa creada",message:i})},aR=e=>{var a,s;"users"===n&&fetch("/api/admin/users").then(e=>e.json()).then(e=>{e.success&&e3(e.users||[])});let t=e.temporary_password;at({title:"Usuario creado",message:t?"Email: ".concat(null===(a=e.user)||void 0===a?void 0:a.email,"\nContrase\xf1a temporal: ").concat(t,"\n\nEntra en /auth/login/recruiter"):"Usuario ".concat(null===(s=e.user)||void 0===s?void 0:s.email," creado.")})},aq=e=>{at({title:"Contrase\xf1a temporal",message:"Email: ".concat(e.email,"\nContrase\xf1a: ").concat(e.temporary_password,"\n\nEntra en /auth/login/recruiter")})},aY=async e=>{let a=!1===e.is_active;aw(e.id);try{let s=await fetch("/api/admin/companies/".concat(e.id),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({is_active:a})}),t=await s.json();if(!s.ok||!t.success){at({title:"No se pudo actualizar",message:t.error||"Error al cambiar el estado de la empresa",type:"error"});return}ez(s=>s.map(s=>s.id===e.id?{...s,is_active:a}:s))}catch(e){at({title:"Error",message:"Sin conexi\xf3n al actualizar la empresa.",type:"error"})}finally{aw(null)}},aG=async e=>{var a,s;if("talentgoo-demo"===e.slug){at({title:"No permitido",message:"No se puede eliminar la cuenta interna de Talentgoo.",type:"error"});return}if((null!==(a=e.applications_count)&&void 0!==a?a:0)>0){at({title:"No permitido",message:"No se puede eliminar una cuenta que ya tiene postulaciones.",type:"error"});return}if(!window.confirm('\xbfEliminar permanentemente "'.concat(e.name,'" (').concat(e.slug||e.id,")?\n\nSe borran vacantes, postulaciones, plan y usuarios del equipo. No se puede deshacer.")))return;let t=null!==(s=window.prompt("Si el administrador no se cre\xf3 bien, escribe su email para liberarlo en Auth (opcional). Deja vac\xedo si no aplica:"))&&void 0!==s?s:"";aC(e.id);try{let a=await fetch("/api/admin/companies/".concat(e.id),{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify(t.trim()?{cleanup_email:t.trim()}:{})}),s=await a.json();if(!a.ok||!s.success){at({title:"No se pudo eliminar",message:s.error||"Error al eliminar la cuenta",type:"error"});return}ez(a=>a.filter(a=>a.id!==e.id)),en(e=>Math.max(0,e-1)),ap===e.id&&ah(null);let i='Cuenta "'.concat(e.name,'" eliminada. Ya puedes crearla de nuevo.');s.warning&&(i+="\n\nAviso: ".concat(s.warning)),at({title:"Cuenta eliminada",message:i})}catch(e){at({title:"Error",message:"Sin conexi\xf3n al eliminar la cuenta.",type:"error"})}finally{aC(null)}},aJ=async e=>{if("super_admin"===e.role){at({title:"No permitido",message:"No se puede eliminar un super_admin.",type:"error"});return}let a=e.full_name||e.email;ak(e.id),aE(null);try{let s=await fetch("/api/admin/users/".concat(e.id),{method:"DELETE"}),t=await s.json().catch(()=>({}));if(!s.ok||!t.success){at({title:"No se pudo eliminar",message:t.error||"Error al eliminar el usuario",type:"error"});return}e3(a=>a.filter(a=>a.id!==e.id)),(null==aj?void 0:aj.id)===e.id&&ag(null);let i='Usuario "'.concat(a,'" eliminado.');t.warning&&(i+="\n\nAviso: ".concat(t.warning)),at({title:"Usuario eliminado",message:i})}catch(e){at({title:"Error",message:"Sin conexi\xf3n al eliminar el usuario.",type:"error"})}finally{ak(null)}},aV=e=>{if("super_admin"===e.role){at({title:"No permitido",message:"No se puede eliminar un super_admin.",type:"error"});return}aE(e)},aX=async e=>{if("super_admin"===e.role)return;let a=!1===e.is_active;aw(e.id);try{let s=await fetch("/api/admin/users/".concat(e.id),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({is_active:a})}
1),t=await s.json();if(!s.ok||!t.success){at({title:"No se pudo actualizar",message:t.error||"Error al cambiar el estado del usuario",type:"error"});return}e3(s=>s.map(s=>s.id===e.id?{...s,is_active:a}:s)),t.warning&&at({title:"Usuario actualizado",message:t.warning})}catch(e){at({title:"Error",message:"Sin conexi\xf3n al actualizar el usuario.",type:"error"})}finally{aw(null)}},aQ=e=>{aa(e),e7(!0)},aB=async()=>{ao(!0);try{let e=await fetch("/api/admin/plans/sync",{method:"POST"}),a=await e.json(),s=await fetch("/api/admin/plans"),t=await s.json();if(t.success&&e4(t.plans||[]),!e.ok||!a.success){let e=(a.results||[]).filter(e=>!e.ok),s=e.map(e=>"".concat(e.name,": ").concat(e.error)).join("\n");at({title:"Sincronizaci\xf3n incompleta",message:s||a.error||"No se pudo sincronizar",type:"error"});return}at({title:"Stripe sincronizado",message:"".concat(a.synced," plan(es) de pago sincronizados con Stripe.")})}catch(e){at({title:"Error",message:"Sin conexi\xf3n",type:"error"})}finally{ao(!1)}},aH=async()=>{e1(""),e$("");let e=Number(eV);if(!eG.trim()){e1("Ingresa el email del candidato.");return}if(!Number.isFinite(e)||e<0||!Number.isInteger(e)){e1("Ingresa una cantidad v\xe1lida de cr\xe9ditos (entero >= 0).");return}try{eH(!0);let a=await fetch("/api/admin/candidate-credits",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:eG.trim(),credits:e})}),s=await a.json().catch(()=>({}));if(!a.ok){e1((null==s?void 0:s.error)||"No se pudieron asignar los cr\xe9ditos.");return}e$("Cr\xe9ditos actualizados para ".concat(eG.trim(),"."))}catch(e){console.error("Error assigning candidate credits:",e),e1("No se pudieron asignar los cr\xe9ditos.")}finally{eH(!1)}};return(0,t.jsxs)("div",{className:"min-h-screen bg-gray-50",children:[(0,t.jsx)("header",{className:"bg-white border-b",children:(0,t.jsx)("div",{className:"px-6 py-4",children:(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)(D.Q,{subtitle:"Panel de Super Administraci\xf3n",logoHref:"/admin"}),(0,t.jsxs)("div",{className:"flex items-center space-x-4",children:[(0,t.jsxs)(o.z,{variant:"outline",size:"sm",children:[(0,t.jsx)(x.Z,{className:"w-4 h-4 mr-2"}),"Buscar"]}),(0,t.jsxs)(o.z,{size:"sm",onClick:()=>e9(!0),children:[(0,t.jsx)(p.Z,{className:"w-4 h-4 mr-2"}),"Nueva cuenta"]}),(0,t.jsxs)("div",{className:"relative",ref:K,children:[(0,t.jsxs)(o.z,{variant:"ghost",size:"sm",onClick:()=>$(!W),className:"flex items-center space-x-2",children:[(0,t.jsx)("div",{className:"w-8 h-8 bg-blue-100 rounded-full flex items-center justify-center",children:(0,t.jsx)(h.Z,{className:"w-4 h-4 text-blue-600"})}),(0,t.jsx)("span",{className:"hidden sm:block",children:"Super Admin"})]}),W&&(0,t.jsx)("div",{className:"absolute right-0 mt-2 w-48 bg-white rounded-md shadow-lg border z-50",children:(0,t.jsxs)("div",{className:"py-1",children:[(0,t.jsxs)("button",{className:"flex items-center w-full px-4 py-2 text-sm text-gray-700 hover:bg-gray-100",children:[(0,t.jsx)(h.Z,{className:"w-4 h-4 mr-3"}),"Mi Perfil"]}),(0,t.jsxs)("button",{className:"flex items-center w-full px-4 py-2 text-sm text-gray-700 hover:bg-gray-100",children:[(0,t.jsx)(j.Z,{className:"w-4 h-4 mr-3"}),"Configuraci\xf3n"]}),(0,t.jsx)("hr",{className:"my-1"}),(0,t.jsxs)("button",{className:"flex items-center w-full px-4 py-2 text-sm text-red-600 hover:bg-red-50",type:"button",onClick:()=>{(async()=>{try{let e=(0,U.createClient)();await e.auth.signOut()}catch(e){}try{localStorage.removeItem("supabase.auth.token")}catch(e){}window.location.href="/auth/login/recruiter"})()},children:[(0,t.jsx)(g.Z,{className:"w-4 h-4 mr-3"}),"Cerrar Sesi\xf3n"]})]})})]})]})]})})}),(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("aside",{className:"".concat(G?"w-16":"w-64"," bg-white border-r min-h-screen transition-all duration-300"),children:(0,t.jsxs)("nav",{className:"p-4",children:[(0,t.jsx)("div",{className:"flex justify-end mb-4",children:(0,t.jsx)(o.z,{variant:"ghost",size:"sm",onClick:()=>Q(!G),className:"p-2",children:G?(0,t.jsx)(v.Z,{className:"w-4 h-4"}):(0,t.jsx)(f.Z,{className:"w-4 h-4"})})}),(0,t.jsx)("div",{className:"space-y-2",children:ef.map(e=>{let a=n===e.section||"overview"===e.section&&"/admin"===M.replace(/\/$/,""),s="overview"===e.section?y.Z:"companies"===e.section?b.Z:"leads"===e.section?N.Z:"users"===e.section?w.Z:"plans"===e.section?_.Z:"articles"===e.section?C.Z:"position-codes"===e.section?S.Z:"prompts"===e.section?k.Z:"assist-chats"===e.section?z.Z:E.Z;return(0,t.jsxs)(l(),{href:e.href,className:"w-full flex items-center ".concat(G?"justify-center px-2":"space-x-3 px-3"," py-2 rounded-lg text-left transition-colors ").concat(a?"bg-red-50 text-red-700 border border-red-200":"text-gray-700 hover:bg-gray-50"),title:G?e.collapsedTitle:"",children:[(0,t.jsx)(s,{className:"w-5 h-5"}),!G&&(0,t.jsx)("span",{children:e.label})]},e.section)})}),(0,t.jsxs)(l(),{href:"/dashboard",className:"mt-4 w-full flex items-center ".concat(G?"justify-center px-2":"space-x-3 px-3"," py-2 rounded-lg text-left transition-colors text-blue-700 hover:bg-blue-50 border border-blue-100"),title:G?"Modo reclutador":"",children:[(0,t.jsx)(Z.Z,{className:"w-5 h-5 shrink-0"}),!G&&(0,t.jsx)("span",{children:"Modo reclutador"})]})]})}),(0,t.jsxs)("main",{className:"flex-1 p-6",children:["overview"===n&&(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-8 gap-6",children:[(0,t.jsxs)(c.Zb,{children:[(0,t.jsxs)(c.Ol,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[(0,t.jsx)(c.ll,{className:"text-sm font-medium",children:"Cuentas S
1aaS"}),(0,t.jsx)(b.Z,{className:"h-4 w-4 text-muted-foreground"})]}),(0,t.jsxs)(c.aY,{children:[(0,t.jsx)("div",{className:"text-2xl font-bold",children:ee?"â¦":ei}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Tenants con acceso al producto"})]})]}),(0,t.jsxs)(c.Zb,{children:[(0,t.jsxs)(c.Ol,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[(0,t.jsx)(c.ll,{className:"text-sm font-medium",children:"Vacantes"}),(0,t.jsx)(b.Z,{className:"h-4 w-4 text-muted-foreground"})]}),(0,t.jsxs)(c.aY,{children:[(0,t.jsx)("div",{className:"text-2xl font-bold",children:ee?"â¦":el}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Total en positions"})]})]}),(0,t.jsxs)(c.Zb,{children:[(0,t.jsxs)(c.Ol,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[(0,t.jsx)(c.ll,{className:"text-sm font-medium",children:"Postulaciones"}),(0,t.jsx)(w.Z,{className:"h-4 w-4 text-muted-foreground"})]}),(0,t.jsxs)(c.aY,{children:[(0,t.jsx)("div",{className:"text-2xl font-bold",children:ee?"â¦":ec.toLocaleString()}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Total en applications"})]})]}),(0,t.jsxs)(c.Zb,{children:[(0,t.jsxs)(c.Ol,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[(0,t.jsx)(c.ll,{className:"text-sm font-medium",children:"LinkedIn (Apify)"}),(0,t.jsx)(I.Z,{className:"h-4 w-4 text-[#0A66C2]"})]}),(0,t.jsxs)(c.aY,{children:[(0,t.jsx)("div",{className:"text-2xl font-bold text-[#0A66C2]",children:ee?"â¦":em.toLocaleString()}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Candidatos extra\xeddos \xb7 Apify (oculto al reclutador)"})]})]}),(0,t.jsxs)(c.Zb,{children:[(0,t.jsxs)(c.Ol,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[(0,t.jsx)(c.ll,{className:"text-sm font-medium",children:"CoreSignal"}),(0,t.jsx)(N.Z,{className:"h-4 w-4 text-teal-700"})]}),(0,t.jsxs)(c.aY,{children:[(0,t.jsx)("div",{className:"text-2xl font-bold text-teal-800",children:ee?"â¦":ex.toLocaleString()}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Candidatos extra\xeddos \xb7 Obtener candidatos"})]})]}),(0,t.jsxs)(c.Zb,{children:[(0,t.jsxs)(c.Ol,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[(0,t.jsx)(c.ll,{className:"text-sm font-medium",children:"People Data Labs"}),(0,t.jsx)(N.Z,{className:"h-4 w-4 text-indigo-700"})]}),(0,t.jsxs)(c.aY,{children:[(0,t.jsx)("div",{className:"text-2xl font-bold text-indigo-800",children:ee?"â¦":ey.toLocaleString()}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Candidatos extra\xeddos \xb7 Obtener candidatos"})]})]}),(0,t.jsxs)(c.Zb,{children:[(0,t.jsxs)(c.Ol,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[(0,t.jsx)(c.ll,{className:"text-sm font-medium",children:"Entrevistas con IA"}),(0,t.jsx)(z.Z,{className:"h-4 w-4 text-muted-foreground"})]}),(0,t.jsxs)(c.aY,{children:[(0,t.jsx)("div",{className:"text-2xl font-bold",children:ee?"â¦":ew.toLocaleString()}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:ee?"â¦":"".concat(eC.toLocaleString()," completadas")}),(0,t.jsxs)("div",{className:"mt-2 flex flex-col gap-1",children:[(0,t.jsx)(eI,{size:"sm",variant:"outline",className:"h-auto justify-start px-0 text-xs font-medium text-orange-700 hover:bg-transparent hover:underline",label:"Demo Camila home (sin registro)"}),(0,t.jsx)("a",{href:"/entrevista-ia/nueva",target:"_blank",rel:"noopener noreferrer",className:"inline-flex text-xs font-medium text-teal-800 hover:underline",children:"Probar Camila entrevista"})]})]})]}),(0,t.jsxs)(c.Zb,{children:[(0,t.jsxs)(c.Ol,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[(0,t.jsx)(c.ll,{className:"text-sm font-medium",children:"MRR estimado"}),(0,t.jsx)(_.Z,{className:"h-4 w-4 text-muted-foreground"})]}),(0,t.jsxs)(c.aY,{children:[(0,t.jsx)("div",{className:"text-2xl font-bold",children:aZ?aU(aZ.mrr_mxn):ee?"â¦":"â"}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:[null!==(a=null==aZ?void 0:aZ.stripe_subscriptions)&&void 0!==a?a:0," suscripciones Stripe \xb7"," ",(null==aZ?void 0:aZ.stripe_configured)?"Stripe OK":"Stripe sin configurar"]})]})]}),(0,t.jsxs)(c.Zb,{children:[(0,t.jsxs)(c.Ol,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[(0,t.jsx)(c.ll,{className:"text-sm font-medium",children:"Ingresos cr\xe9ditos IA"}),(0,t.jsx)(y.Z,{className:"h-4 w-4 text-muted-foreground"})]}),(0,t.jsxs)(c.aY,{children:[(0,t.jsx)("div",{className:"text-2xl font-bold",children:aZ?aU(aZ.credit_revenue_mxn):ee?"â¦":"â"}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:["\xdaltimos 30 d\xedas: ",aZ?aU(aZ.credit_revenue_last_30_mxn):"â"]})]})]}),(0,t.jsxs)(c.Zb,{children:[(0,t.jsxs)(c.Ol,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[(0,t.jsx)(c.ll,{className:"text-sm font-medium",children:"Usuarios reclutadores"}),(0,t.jsx)(P.Z,{className:"h-4 w-4 text-muted-foreground"})]}),(0,t.jsxs)(c.aY,{children:[(0,t.jsx)("div",{className:"text-2xl font-bold",children:aZ?aZ.users_active:ee?"â¦":"â"}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:[null!==(s=null==aZ?void 0:aZ.users_total)&&void 0!==s?s:0," total incl. super admins"]})]})]}),(0,t.jsxs)(c.Zb,{children:[(0,t.jsxs)(c.Ol,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[(0,t.jsx)(c.ll,{className:"text-sm font-medium",children:"Estado"}),(0,t.jsx)(E.Z,{className:"h-4 w-4 text-muted-foreground"})]}),(0,t.jsxs)(c.aY,{children:[(0,t.jsx)("div",{className:"text-2xl font-bold text-green-700",children:"OK"}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Resumen le\xeddo desde BD"})]})]})]}),es&&(0,t.jsx)("div",{className:"rounded-lg border border-red-200 bg-red-50 px-4 py-2 text-sm text-red-800",children:es}),(0,t.jsx)(eT,{}),(0,t.jsxs)(c.Zb,{className:"border-violet-200",children:[(0,t.jsxs)(c.Ol,{children:[(0,t.jsxs)(c.ll,{className:"flex items-center gap-2",children:[(0,t.jsx)(P.Z,{className:"h-4 w-4 text-violet-700"}),"Cr\xe9ditos IA para candidatos"]}),(0,t.jsx)(c.SZ,{children:"Asigna un saldo de cr\xe9ditos por candidato usando su email."})]}),(0,t.jsxs)(c.aY,{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"candidate-credits-email",children:"Email del candidato"}),(0,t.jsx)(m.I,{id:"candidate-credits-email",type:"email",placeholder:"[email protected]",value:eG,onChange:e=>eJ(e.target.value)})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u._,{htmlFor:"candidate-credits-amount",children:"Cr\xe9ditos"}),(0,t.jsx)(m.I,{id:"candidate-credits-amount",type:"number",min:0,step:1,value:eV,onChange:e=>eX(e.target.value)})]})]}),e0&&(0,t.jsx)("p",{className:"text-sm text-red-600",children:e0}),eW&&(0,t.jsx)("p",{className:"text-sm text-emerald-700",children:eW}),(0,t.jsx)(o.z,{onClick:aH,disabled:eB,className:"bg-violet-600 hover:bg-violet-700 text-white",children:eB?"Guardando...":"Asignar cr\xe9ditos"})]})]}),(0,t.jsxs)(c.Zb,{children:[(0,t.jsxs)(c.Ol,{children:[(0,t.jsx)(c.ll,{children:"Actividad reciente"}),(0,t.jsx)(c.SZ,{children:"\xdaltimas postulaciones registradas (global)"})]}),(0,t.jsx)(c.aY,{children:(0,t.jsx)(eb,{items:eE,loading:eP,page:aT,totalPages:eL,total:eO,pageSize:aO,onPageChange:aF,compact:!0,showViewAllLink:eO>10})})]})]}),"companies"===n&&(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("div",{children:(0,t.jsx)("h2",{className:"text-2xl font-bold text-gray-900",children:"Empresas"})}),(0,t.jsxs)("div",{className:"flex flex-wrap space-x-2 gap-2",children:[(0,t.jsxs)("div",{className:"relative flex-1 min-w-[200px] max-w-xs",children:[(0,t.jsx)(x.Z,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),(0,t.jsx)(m.I,{placeholder:"Buscar cuentaâ¦",value:av,onChange:e=>af(e.target.value),className:"pl-9"})]}),(0,t.jsxs)(o.z,{variant:"outline",onClick:()=>af(""),children:[(0,t.jsx)(A.Z,{className:"w-4 h-4 mr-2"}),"Limpiar"]}),(0,t.jsxs)(o.z,{onClick:()=>e9(!0),children:[(0,t.jsx)(p.Z,{className:"w-4 h-4 mr-2"}),"Nueva cuenta"]}),(0,t.jsxs)(o.z,{variant:"outline",onClick:()=>{aa(void 0),e7(!0)},children:[(0,t.jsx)(w.Z,{className:"w-4 h-4 mr-2"}),"Invitar usuario"]})]})]}),(0,t.jsx)(c.Zb,{children:(0,t.jsx)(c.aY,{className:"p-0",children:(0,t.jsxs)("div",{className:"space-y-0",children:[ee&&(0,t.jsx)("div",{className:"p-8 text-center text-gray-500 text-sm",children:"Cargando cuentasâ¦"}),!ee&&0===aL.length&&(0,t.jsx)("div",{className:"p-8 text-center text-gray-500 text-sm",children:0===ek.length?"No hay cuentas S
1aaS. Crea la primera con el bot\xf3n \xabNueva cuenta\xbb.":"Ninguna cuenta coincide con la b\xfasqueda."}),aL.map((e,a)=>{var s,i,n,l,r,c,m;return(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 p-4 ".concat(a!==aL.length-1?"border-b":""),children:[(0,t.jsxs)("div",{className:"flex items-center space-x-4 min-w-0",children:[(0,t.jsx)("div",{className:"w-10 h-10 bg-blue-100 rounded-full flex items-center justify-center shrink-0 overflow-hidden",children:e.logo_url?(0,t.jsx)("img",{src:e.logo_url,alt:"",className:"w-full h-full object-cover"}):(0,t.jsx)("span",{className:"text-sm font-medium text-blue-700",children:e.name.slice(0,2).toUpperCase()})}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h3",{className:"font-medium text-gray-900 truncate",children:e.name}),(0,t.jsx)("p",{className:"text-sm text-gray-500 truncate",children:e.slug||e.id}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3 mt-1 text-xs text-gray-500",children:[(0,t.jsxs)("span",{children:[e.positions_count," vacantes"]}),(0,t.jsxs)("span",{children:[e.applications_count," postulaciones"]}),(0,t.jsxs)("span",{className:(null!==(s=e.linkedin_sourcing_count)&&void 0!==s?s:0)>0?"text-[#0A66C2] font-medium":void 0,title:"Candidatos extra\xeddos v\xeda LinkedIn (Apify)",children:[null!==(i=e.linkedin_sourcing_count)&&void 0!==i?i:0," Apify"]}),(0,t.jsxs)("span",{className:(null!==(n=e.coresignal_sourcing_count)&&void 0!==n?n:0)>0?"text-teal-800 font-medium":void 0,title:"Candidatos extra\xeddos v\xeda CoreSignal",children:[null!==(l=e.coresignal_sourcing_count)&&void 0!==l?l:0," CoreSignal"]}),(0,t.jsxs)("span",{className:(null!==(r=e.pdl_sourcing_count)&&void 0!==r?r:0)>0?"text-indigo-800 font-medium":void 0,title:"Candidatos extra\xeddos v\xeda People Data Labs",children:[null!==(c=e.pdl_sourcing_count)&&void 0!==c?c:0," PDL"]}),e.plan&&(0,t.jsxs)(d.C,{variant:e.plan.expired?"secondary":"outline",children:[e.plan.name,null!=e.plan.days_remaining&&e.plan.active?" \xb7 ".concat(e.plan.days_remaining,"d"):e.plan.expired?" \xb7 vencido":""]}),(0,t.jsxs)("span",{className:"text-gray-500",title:"Fecha de creaci\xf3n de la cuenta",children:["Creada:"," ",e.created_at?(0,B.o0)(e.created_at):"â"]}),(0,t.jsxs)("span",{className:"text-gray-500",title:"\xdaltimo inicio de sesi\xf3n de cualquier usuario de la cuenta",children:["Login:"," ",e.last_login?(0,B.o0)(e.last_login):"Nunca"]})]})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[e.payment_blocked&&(0,t.jsx)(d.C,{variant:"destructive",children:"Suspendida \xb7 pago"}),(0,t.jsx)("button",{type:"button",disabled:aN===e.id,title:!1!==e.is_active?"Clic para desactivar la cuenta":"Clic para activar la cuenta",onClick:()=>void aY(e),className:(0,B.cn)((0,d.t)({variant:!1!==e.is_active?"default":"secondary"}),"cursor-pointer disabled:opacity-70 disabled:cursor-wait inline-flex items-center justify-center gap-1.5 min-w-[5.25rem]"),children:aN===e.id?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(T.Z,{className:"w-3 h-3 animate-spin","aria-hidden":!0}),(0,t.jsx)("span",{children:"Guardando"})]}):!1!==e.is_active?"Activa":"Inactiva"}),(0,t.jsxs)(o.z,{variant:"outline",size:"sm",onClick:()=>ah(e.id),children:[(0,t.jsx)(O.Z,{className:"w-4 h-4 mr-1"}),"Editar"]}),(0,t.jsxs)(o.z,{variant:"outline",size:"sm",onClick:()=>aQ(e.id),children:[(0,t.jsx)(w.Z,{className:"w-4 h-4 mr-1"}),"Usuario"]}),(null!==(m=e.applications_count)&&void 0!==m?m:0)===0&&(0,t.jsx)(o.z,{variant:"outline",size:"sm",disabled:a_===e.id,className:"text-red-600 hover:text-red-700 hover:bg-red-50",onClick:()=>void aG(e),children:a_===e.id?(0,t.jsx)(T.Z,{className:"w-4 h-4 animate-spin"}):(0,t.jsx)(F.Z,{className:"w-4 h-4"})})]})]},e.id)})]})})})]}),"users"===n&&(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-2xl font-bold text-gray-900",children:"Usuarios"}),(0,t.jsx)("p",{className:"text-gray-600",children:"Reclutadores y admins de empresa"})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2 items-center",children:[(0,t.jsxs)("div",{className:"relative min-w-[200px]",children:[(0,t.jsx)(x.Z,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),(0,t.jsx)(m.I,{placeholder:"Buscar usuarioâ¦",value:ay,onChange:e=>ab(e.target.value),className:"pl-9"})]}),(0,t.jsxs)(o.z,{onClick:()=>{aa(void 0),e7(!0)},children:[(0,t.jsx)(p.Z,{className:"w-4 h-4 mr-2"}),"Invitar usuario"]})]})]}),(0,t.jsx)(c.Zb,{children:(0,t.jsxs)(c.aY,{className:"p-0",children:[0===aD.length&&(0,t.jsx)("div",{className:"p-8 text-center text-gray-500 text-sm",children:0===e5.length?"Sin usuarios o cargandoâ¦":"Ning\xfan usuario coincide con la b\xfasqueda."}),aD.map((e,a)=>{var s;let i=(null===(s=ek.find(a=>a.id===e.company_id))||void 0===s?void 0:s.name)||"â";return(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 p-4 ".concat(a!==aD.length-1?"border-b":""),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,t.jsx)(H,{connected:e.whatsapp_connected,status:e.whatsapp_status,phone:e.whatsapp_phone}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("p",{className:"font-medium text-gray-900",children:e.full_name||e.email}),(0,t.jsx)("p",{className:"text-sm text-gray-500",children:e.email}),(0,t.jsxs)("p",{className:"text-xs text-gray-400 mt-1",children:[i," \xb7 ","Creado: ",e.created_at?(0,B.o0)(e.created_at):"â"," \xb7 ","Login: ",e.last_login?(0,B.o0)(e.last_login):"Nunca"]})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(d.
1C,{variant:"outline",children:e.role}),e.is_company_owner&&(0,t.jsx)(d.C,{className:"bg-amber-100 text-amber-900 border-amber-200 hover:bg-amber-100",children:"Owner"}),(0,t.jsx)("button",{type:"button",disabled:aN===e.id||"super_admin"===e.role,title:"super_admin"===e.role?"No se puede cambiar un super admin desde aqu\xed":!1!==e.is_active?"Clic para desactivar":"Clic para activar",onClick:()=>void aX(e),className:(0,B.cn)((0,d.t)({variant:!1!==e.is_active?"default":"secondary"}),"cursor-pointer disabled:opacity-70 disabled:cursor-not-allowed inline-flex items-center justify-center gap-1.5 min-w-[5.25rem]"),children:aN===e.id?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(T.Z,{className:"w-3 h-3 animate-spin","aria-hidden":!0}),(0,t.jsx)("span",{children:"Guardando"})]}):!1!==e.is_active?"Activo":"Inactivo"}),(0,t.jsxs)(o.z,{variant:"outline",size:"sm",onClick:()=>ag(e),children:[(0,t.jsx)(O.Z,{className:"w-4 h-4 mr-1"}),"Editar"]}),"super_admin"!==e.role?(0,t.jsxs)(o.z,{variant:"outline",size:"sm",className:"text-red-600 border-red-200 hover:bg-red-50 hover:text-red-700",disabled:aS===e.id,onClick:()=>aV(e),children:[aS===e.id?(0,t.jsx)(T.Z,{className:"w-4 h-4 mr-1 animate-spin"}):(0,t.jsx)(F.Z,{className:"w-4 h-4 mr-1"}),"Eliminar"]}):null]})]},e.id)})]})})]}),"plans"===n&&(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-2xl font-bold text-gray-900",children:"Planes"}),(0,t.jsx)("p",{className:"text-gray-600",children:"Cat\xe1logo disponible al dar de alta empresas \xb7 precios en MXN"})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsxs)(o.z,{variant:"outline",onClick:aB,disabled:ac,children:[ac?(0,t.jsx)(T.Z,{className:"w-4 h-4 mr-2 animate-spin"}):(0,t.jsx)(P.Z,{className:"w-4 h-4 mr-2"}),"Sincronizar Stripe"]}),(0,t.jsxs)(o.z,{onClick:()=>ar(!0),children:[(0,t.jsx)(p.Z,{className:"w-4 h-4 mr-2"}),"Nuevo plan"]})]})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 lg:grid-cols-2 xl:grid-cols-4 gap-6",children:e2.map(e=>{var a,s,i,n;return(0,t.jsxs)(c.Zb,{children:[(0,t.jsxs)(c.Ol,{children:[(0,t.jsx)(c.ll,{children:e.name}),(0,t.jsx)(c.SZ,{children:e.duration_days?"".concat(e.duration_days," d\xedas \xb7 Gratis"):e.price>0?"$".concat(Number(e.price).toLocaleString("es-MX")," MXN/mes"):"Gratis"})]}),(0,t.jsx)(c.aY,{children:(0,t.jsxs)("div",{className:"space-y-2 text-sm",children:[(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{className:"text-gray-500",children:"Usuarios"}),(0,t.jsx)("span",{children:(0,q.WC)(e.max_users)})]}),(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{className:"text-gray-500",children:"Vacantes"}),(0,t.jsx)("span",{children:null!==(s=e.max_positions)&&void 0!==s?s:"â"})]}),(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{className:"text-gray-500",children:"Candidatos"}),(0,t.jsx)("span",{children:e.max_candidates})]}),(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{className:"text-gray-500",children:"Camila"}),(0,t.jsx)("span",{children:null!==(i=e.ai_interview_quota)&&void 0!==i?i:"â"})]}),(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{className:"text-gray-500",children:"Cr\xe9ditos IA"}),(0,t.jsx)("span",{children:null!==(n=e.ai_credits)&&void 0!==n?n:"â"})]}),(null===(a=e.features)||void 0===a?void 0:a.tagline)&&(0,t.jsx)("p",{className:"text-xs text-gray-500 pt-2",children:e.features.tagline}),e.stripe_price_id?(0,t.jsx)("p",{className:"text-xs text-emerald-600 pt-1",children:"Stripe: configurado"}):"demo"!==e.slug&&e.price>0&&!(e.duration_days&&e.duration_days>0)?(0,t.jsx)("p",{className:"text-xs text-amber-600 pt-1",children:"Stripe: pendiente â usa Sincronizar Stripe"}):null,(0,t.jsxs)(o.z,{variant:"outline",size:"sm",className:"w-full mt-3",onClick:()=>an(e),children:[(0,t.jsx)(O.Z,{className:"w-4 h-4 mr-2"}),"Editar plan"]})]})})]},e.slug||e.id)})}),(0,t.jsxs)("div",{className:"pt-4 border-t",children:[(0,t.jsx)("h3",{className:"text-xl font-semibold text-gray-900 mb-1",children:"Packs de cr\xe9ditos extra"}),(0,t.jsx)("p",{className:"text-gray-600 text-sm mb-4",children:"Precios de compra \xfanica para empresas (panel â Cr\xe9ditos IA)"}),(0,t.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6",children:[ad.map(e=>(0,t.jsxs)(c.Zb,{children:[(0,t.jsxs)(c.Ol,{children:[(0,t.jsx)(c.ll,{children:e.name}),(0,t.jsxs)(c.SZ,{children:[e.credits," cr\xe9ditos \xb7 $",Number(e.price).toLocaleStr
1ing("es-MX")," MXN"]})]}),(0,t.jsxs)(c.aY,{children:[(0,t.jsx)("p",{className:"text-sm text-gray-600 mb-2",children:e.ui_name}),e.hint&&(0,t.jsx)("p",{className:"text-xs text-gray-500 mb-2",children:e.hint}),e.stripe_price_id&&(0,t.jsx)("p",{className:"text-xs text-emerald-600 mb-2",children:"Stripe: configurado"}),(0,t.jsxs)(o.z,{variant:"outline",size:"sm",className:"w-full",onClick:()=>ax(e),children:[(0,t.jsx)(O.Z,{className:"w-4 h-4 mr-2"}),"Editar precio y cr\xe9ditos"]})]})]},e.id)),0===ad.length&&(0,t.jsx)("p",{className:"text-sm text-gray-500 col-span-full",children:"Aplica la migraci\xf3n 081_company_credit_packs_catalog.sql para ver los packs."})]})]})]}),"leads"===n&&(0,t.jsx)(eQ,{}),"articles"===n&&(0,t.jsx)(eM,{}),"position-codes"===n&&(0,t.jsx)(eR,{}),"assist-chats"===n&&(0,t.jsx)(eY,{}),"prompts"===n&&(0,t.jsx)(eK,{}),"activity"===n&&(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-2xl font-bold text-gray-900",children:"Logs de Actividad"}),(0,t.jsx)("p",{className:"text-gray-600",children:"Monitorea todas las acciones del sistema"})]}),(0,t.jsxs)(c.Zb,{children:[(0,t.jsx)(c.Ol,{children:(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(c.ll,{children:"Actividad del Sistema"}),(0,t.jsx)(c.SZ,{children:"\xdaltimos eventos y acciones registradas"})]}),(0,t.jsxs)("div",{className:"flex space-x-2",children:[(0,t.jsxs)(o.z,{variant:"outline",size:"sm",children:[(0,t.jsx)(A.Z,{className:"w-4 h-4 mr-2"}),"Filtrar"]}),(0,t.jsxs)(o.z,{variant:"outline",size:"sm",children:[(0,t.jsx)(L.Z,{className:"w-4 h-4 mr-2"}),"Exportar"]})]})]})}),(0,t.jsx)(c.aY,{children:(0,t.jsx)(eb,{items:eE,loading:eP,page:aT,totalPages:eL,total:eO,pageSize:aO,onPageChange:aF})})]})]})]})]}),(0,t.jsx)(J,{open:e6,onClose:()=>e9(!1),plans:e2,onCreated:e=>aM(e)}),(0,t.jsx)(X,{open:e8,onClose:()=>e7(!1),companies:ek.map(e=>({id:e.id,name:e.name})),defaultCompanyId:ae,onInvited:e=>aR(e)}),as&&(0,t.jsx)(ep,{isOpen:!0,onClose:()=>at(null),title:as.title,message:as.message,type:as.type||"success",confirmText:"Entendido",onConfirm:()=>at(null)}),az&&(0,t.jsx)(ep,{isOpen:!0,onClose:()=>aE(null),title:"Eliminar usuario",message:'\xbfEliminar permanentemente a "'.concat(az.full_name||az.email,'" (').concat(az.email,")? Se borra Auth y el perfil. Esta acci\xf3n no se puede deshacer."),type:"warning",confirmText:"S\xed, eliminar",cancelText:"Cancelar",onConfirm:()=>{aE(null),az&&aJ(az)},onCancel:()=>aE(null)}),(0,t.jsx)(ej,{open:!!ai,plan:ai,onClose:()=>an(null),onSaved:(e,a)=>{e4(a=>a.map(a=>a.id===e.id?{...a,...e}:a));let s="Plan ".concat(e.name," actualizado.");a.stripe_synced&&(s+="\n\nSincronizado con Stripe."),a.warning&&(s+="\n\nAviso: ".concat(a.warning)),at({title:"Plan actualizado",message:s})}}),(0,t.jsx)(V,{open:al,onClose:()=>ar(!1),onCreated:(e,a)=>{e4(a=>[...a,e].sort((e,a)=>{var s,t;return(null!==(s=e.display_order)&&void 0!==s?s:0)-(null!==(t=a.display_order)&&void 0!==t?t:0)}));let s="Plan ".concat(e.name," creado.");a.stripe_synced&&(s+="\n\nProducto y precio creados en Stripe."),a.warning&&(s+="\n\nAviso: ".concat(a.warning)),at({title:"Plan creado",message:s})}}),(0,t.jsx)(eg,{open:!!au,pack:au,onClose:()=>ax(null),onSaved:(e,a)=>{am(a=>a.map(a=>a.id===e.id?{...a,...e}:a));let s="Pack ".concat(e.name," actualizado: ").concat(e.credits," cr\xe9ditos \xb7 $").concat(e.price," MXN.");a.stripe_synced&&(s+="\n\nSincronizado con Stripe."),a.warning&&(s+="\n\nAviso: ".concat(a.warning)),at({title:"Pack actualizado",message:s})}}),(0,t.jsx)(eo,{open:!!ap,tenantId:ap,plans:e2,onClose:()=>ah(null),onSaved:aP,onInviteUser:e=>{ah(null),aa(e),e7(!0)},onPasswordReset:aq}),(0,t.jsx)(eh,{open:!!aj,user:aj,companies:ek.map(e=>({id:e.id,name:e.name})),onClose:()=>ag(null),onSaved:()=>{aP(),"users"===n&&fetch("/api/admin/users").then(e=>e.json()).then(e=>{e.success&&e3(e.users||[])}).catch(()=>{})},onDeleted:()=>{let e=null==aj?void 0:aj.id;ag(null),e&&e3(a=>a.filter(a=>a.id!==e)),aP(),at({title:"Usuario eliminado",message:"El usuario se elimin\xf3 por completo."})},onPasswordReset:aq})]})}},93995:function(e,a,s){s.d(a,{H:function(){return n}});var t=s(2265),i=s(54887);function n(e){let{children:a}=e,[s,n]=(0,t.useState)(null);return((0,t.useLayoutEffect)(()=>{let e;n(((e=document.getElementById("tg-modal-root"))||((e=document.createElement("div")).id="tg-modal-root",document.body.appendChild(e)),e))},[]),s)?(0,i.createPortal)(a,s):null}},70708:function(e,a,s){s.d(a,{C:function(){return r},t:function(){return l}});var t=s(57437);s(2265);var i=s(35080),n=s(81628);let l=(0,i.j)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function r(e){let{className:a,variant:s,...i}=e;return(0,t.jsx)("div",{className:(0,n.cn)(l({variant:s}),a),...i})}},49598:function(e,a,s){s.d(a,{Ol:function(){return r},SZ:function(){return o},Zb:function(){return l},aY:function(){return d},ll:function(){return c}});var t=s(57437),i=s(2265),n=s(81628);let l=i.forwardRef((e,a)=>{let{className:s,...i}=e;return(0,t.jsx)("div",{ref:a,className:(0,n.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",s),...i})});
1l.displayName="Card";let r=i.forwardRef((e,a)=>{let{className:s,...i}=e;return(0,t.jsx)("div",{ref:a,className:(0,n.cn)("flex flex-col space-y-1.5 p-6",s),...i})});r.displayName="CardHeader";let c=i.forwardRef((e,a)=>{let{className:s,...i}=e;return(0,t.jsx)("h3",{ref:a,className:(0,n.cn)("text-2xl font-semibold leading-none tracking-tight",s),...i})});c.displayName="CardTitle";let o=i.forwardRef((e,a)=>{let{className:s,...i}=e;return(0,t.jsx)("p",{ref:a,className:(0,n.cn)("text-sm text-muted-foreground",s),...i})});o.displayName="CardDescription";let d=i.forwardRef((e,a)=>{let{className:s,...i}=e;return(0,t.jsx)("div",{ref:a,className:(0,n.cn)("p-6 pt-0",s),...i})});d.displayName="CardContent";let m=i.forwardRef((e,a)=>{let{className:s,...i}=e;return(0,t.jsx)("div",{ref:a,className:(0,n.cn)("flex items-center p-6 pt-0",s),...i})});m.displayName="CardFooter"},35831:function(e,a,s){s.d(a,{I:function(){return l}});var t=s(57437),i=s(2265),n=s(81628);let l=i.forwardRef((e,a)=>{let{className:s,type:i,...l}=e;return(0,t.jsx)("input",{type:i,className:(0,n.cn)("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm r
1ing-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",s),ref:a,...l})});l.displayName="Input"},61465:function(e,a,s){s.d(a,{_:function(){return o}});var t=s(57437),i=s(2265),n=s(36335),l=s(35080),r=s(81628);let c=(0,l.j)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),o=i.forwardRef((e,a)=>{let{className:s,...i}=e;return(0,t.jsx)(n.f,{ref:a,className:(0,r.cn)(c(),s),...i})});o.displayName=n.f.displayName},22147:function(e,a,s){s.d(a,{g:function(){return l}});var t=s(57437),i=s(2265),n=s(81628);let l=i.forwardRef((e,a)=>{let{className:s,...i}=e;return(0,t.jsx)("textarea",{className:(0,n.cn)("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",s),ref:a,...i})});l.displayName="Textarea"},12150:function(e,a,s){s.d(a,{y:function(){return n}});var t=s(57437),i=s(81628);function n(e){let{className:a}=e;return(0,t.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:(0,i.cn)("shrink-0",a),"aria-hidden":!0,children:(0,t.jsx)("path",{d:"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.435 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z"})})}},58976:function(e,a,s){s.d(a,{G:function(){return t},y:function(){return i}});let t=900,i=90},84075:function(e,a,s){s.d(a,{_j:function(){return i}});var t=s(62601);function i(){var e;let a=null===(e=t.env.NEXT_PUBLIC_DUDAS_URL)||void 0===e?void 0:e.trim();return a?a.replace(/\/$/,""):"https://".concat("dudas",".talentgoo.com")}},98071:function(e,a,s){function t(e){let a={"&":"&","<":"<",">":">",'"':""","'":"'"};return e.replace(/[&<>"']/g,e=>{var s;return null!==(s=a[e])&&void 0!==s?s:e})}function i(e){return e.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}s.d(a,{J:function(){return i},X:function(){return t}})},22394:function(e,a,s){function t(e){if(!Array.isArray(e)||0===e.length)return!1;let a=e.filter(e=>"candidato"===e.role).map(e=>(e.text||"").trim()).join(" ").trim();return a.length>0}function i(e,a,s){let t=0;for(let s of e){var i;let e=null!==(i=s.offset_seconds)&&void 0!==i?i:s.offsetSeconds,n=null;if("number"==typeof e&&Number.isFinite(e)&&e>=0)n=e;else if(s.timestamp&&a){let e=(Date.parse(s.timestamp)-Date.parse(a))/1e3;Number.isFinite(e)&&e>=0&&(n=e)}null!=n&&(t=Math.max(t,n))}if(t>0)return t+12;if(s&&a){let e=(Date.parse(s)-Date.parse(a))/1e3;if(Number.isFinite(e)&&e>0)return e}return null}s.d(a,{$R:function(){return l},De:function(){return c},QD:function(){return i},Ye:function(){return r},dR:function(){return t}});let n="tg-entrevista-ia:";function l(e){let a="https://entrevistas.talentgoo.com".replace(/\/$/,""),s=e.startsWith("/")?e:"/".concat(e);return"".concat(a).concat(s)}function r(e,a){let s=JSON.stringify(a);sessionStorage.setItem("".concat(n).concat(e),s);try{localStorage.setItem("".concat(n).concat(e),s)}catch(e){}}function c(e){if(!e)return null;try{let a=sessionStorage.getItem("".concat(n).concat(e))||localStorage.getItem("".concat(n).concat(e));if(!a)return null;let s=JSON.parse(a);if(!(null==s?void 0:s.livekitToken)||!(null==s?void 0:s.livekitUrl))return null;return{interviewId:s.interviewId||e,livekitToken:s.livekitToken,livekitUrl:s.livekitUrl,candidateName:s.candidateName||"",jobTitle:s.jobTitle||"",recruiterName:s.recruiterName||"",role:"recruiter"===s.role||"candidate"===s.role||"observer"===s.role?s.role:"studio",leaveHref:s.leaveHref,applicationId:s.applicationId||function(e){if(!e)return"";try{let a=e.startsWith("http")?new URL(e).pathname:e,s=a.match(/\/dashboard\/candidates\/([^/?#]+)/);return s?decodeURIComponent(s[1]):""}catch(e){return""}}(s.leaveHref)||void 0}}catch(e){return null}}},40109:function(e,a,s){function t(e){let a=Number(null!=e?e:0);return!Number.isFinite(a)||a<=0?"â":a>=9999?"Ilimitados":String(a)}function i(e){return e.trim().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,50)}s.d(a,{WC:function(){return t},f6:function(){return i}})}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.