function CampaignsScreen(){const{PageHeader,Card,Table,Badge,KpiCard,ProgressBar,Drawer,Button,Input,Select,EmptyState}=window.VRticeDesignSystem_d763eb;const{bp,toast}=useShell();const[r,setR]=React.useState([]),[sel,setSel]=React.useState(null),[nw,setNw]=React.useState(false),[form,setForm]=React.useState({name:'',kind:'ICP',channel:'EMAIL'}),[busy,setBusy]=React.useState(false);const load=React.useCallback(async()=>setR(await window.VxSalesIntelligence.listCampaigns()),[]);React.useEffect(()=>{load()},[load]);const c=r.find(x=>x.id===sel)||r[0],kind={SEGMENT:'Segmento',REGION:'Região',OPPORTUNITY:'Oportunidade',SOURCE:'Fonte',ICP:'ICP',CUSTOM:'Custom'};const create=async()=>{try{setBusy(true);const x=await window.VxSalesIntelligence.createCampaign({name:form.name,kind:form.kind,channel:form.channel,status:'DRAFT'});setR(v=>[x,...v]);setSel(x.id);setNw(false);setForm({name:'',kind:'ICP',channel:'EMAIL'});toast('Campanha criada como rascunho')}catch(e){toast(e.message||'Não foi possível criar','ph-warning')}finally{setBusy(false)}};const toggle=async()=>{try{const x=await window.VxSalesIntelligence.updateCampaign(c.id,{status:c.status==='ACTIVE'?'PAUSED':'ACTIVE'});setR(v=>v.map(y=>y.id===x.id?x:y));toast(x.status==='ACTIVE'?'Campanha ativada':'Campanha pausada')}catch(e){toast(e.message||'Não foi possível atualizar','ph-warning')}};return <BlockGrid.Auto id="campaigns"><PageHeader size="lg" eyebrow="COMERCIAL · SALES INTELLIGENCE" title="Campanhas" description="Segmentação e outbound sobre a base real de prospects." actions={<PBtn perm="commercial_intelligence.create" icon="ph-plus" onClick={()=>setNw(true)}>Nova campanha</PBtn>}/><Card variant="flat" padding={0} gap={0} style={{overflow:'hidden'}}>{r.length?<VxTable id="campanhas" cellX={bp==='mobile'?12:24} rowY={16} minWidth={760} onRowClick={x=>setSel(x.id)} rows={r} columns={[{key:'n',label:'Campanha',sort:x=>x.name,render:x=><span style={{display:'flex',flexDirection:'column',gap:3}}><strong>{x.name}</strong><span style={{fontSize:12,color:'var(--text-muted)'}}>{kind[x.kind]||x.kind} · {x.channel}</span></span>},{key:'s',label:'Status',sort:x=>x.status,render:x=><Badge tone={x.status==='ACTIVE'?'success':x.status==='PAUSED'?'warning':'neutral'}>{x.status}</Badge>},{key:'t',label:'Alvo',sort:x=>x.target_count||0,mono:true,render:x=>x.target_count||0}]} />:<div style={{padding:24}}><EmptyState variant="block" icon="ph-megaphone" title="Nenhuma campanha criada">Crie uma campanha a partir do ICP, região, segmento ou oportunidade.</EmptyState></div>}</Card>{c&&<CcPanel title={c.name} sub={(kind[c.kind]||c.kind)+' · '+c.channel+' · '+c.status} action={<PBtn perm="commercial_intelligence.edit" size="sm" variant="secondary" onClick={toggle}>{c.status==='ACTIVE'?'Pausar':'Ativar'}</PBtn>}><div style={cxGrid(180,16)}><KpiCard compact label="Prospects selecionados" value={String(c.target_count||0)}/><KpiCard compact label="Status" value={c.status}/></div><div style={{fontSize:13,color:'var(--text-muted)'}}>Critérios: {JSON.stringify(c.criteria||{})}</div></CcPanel>}{nw&&<Drawer kicker="Sales Intelligence" title="Nova campanha" onClose={()=>setNw(false)} footer={<><Button block loading={busy} disabled={!form.name.trim()} onClick={create}>Criar rascunho</Button><Button variant="ghost" onClick={()=>setNw(false)}>Cancelar</Button></>}><Input label="Nome" placeholder="Ex.: Infraestrutura Sudeste" value={form.name} onChange={e=>setForm({...form,name:e.target.value})}/><Select label="Tipo" options={['ICP','Segmento','Região','Oportunidade','Fonte','Custom']} value={form.kind} onChange={e=>setForm({...form,kind:{ICP:'ICP',Segmento:'SEGMENT',Região:'REGION',Oportunidade:'OPPORTUNITY',Fonte:'SOURCE',Custom:'CUSTOM'}[e.target.value]})}/><Select label="Canal" options={['EMAIL','PHONE','EMAIL_PHONE','WHATSAPP','MULTI']} value={form.channel} onChange={e=>setForm({...form,channel:e.target.value})}/></Drawer>}</BlockGrid.Auto>};window.CampaignsScreen=CampaignsScreen;