@citron-systems/citron-ui 1.11.0 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import{Send as Kn,Calendar as jn}from"lucide-react";import{clsx as $n}from"clsx";import{twMerge as _n}from"tailwind-merge";function o(...t){return _n($n(t))}import{jsx as Me,jsxs as qn}from"react/jsx-runtime";var Un={primary:["bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]"],secondary:["bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]","border border-[var(--inkblot-semantic-color-border-default)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:border-[var(--inkblot-semantic-color-border-strong)]","active:bg-[var(--inkblot-semantic-color-background-tertiary)]"]};function pr({buttons:t,className:e}){return Me("div",{className:o("flex flex-wrap items-center gap-[var(--inkblot-spacing-3)]",e),children:t.map(r=>qn("button",{type:"button",onClick:()=>{r.onClick?.()},disabled:r.disabled,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center gap-2 rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)] font-medium","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","transition-colors duration-[var(--inkblot-duration-fast)]","disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:pointer-events-none disabled:cursor-not-allowed",Un[r.variant]),children:[r.icon??null,r.label]},r.id))})}function Se({onSendNow:t,onSchedule:e,onSaveDraft:r,className:a}){return Me(pr,{buttons:[{id:"send",label:"Send Now",variant:"primary",icon:Me(Kn,{className:"h-4 w-4"}),onClick:t},{id:"schedule",label:"Schedule",variant:"secondary",icon:Me(jn,{className:"h-4 w-4"}),onClick:e},{id:"draft",label:"Save Draft",variant:"secondary",onClick:r}],className:a})}import{forwardRef as Yn}from"react";import{Loader2 as Xn,Sparkles as Zn}from"lucide-react";import{jsx as Ht,jsxs as br}from"react/jsx-runtime";var re=Yn(({label:t,loading:e=!1,onWriteWithAI:r,disabled:a,className:i,...n},s)=>{let l=a||e;return br("div",{className:o("flex flex-col gap-[var(--inkblot-spacing-2)]",i),children:[br("div",{className:"flex items-center justify-between",children:[t?Ht("label",{htmlFor:n.id,className:o("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:t}):Ht("span",{}),r?br("button",{type:"button",onClick:r,disabled:e,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center gap-2 rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-interactive-secondary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)] font-medium","text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:border-[var(--inkblot-semantic-color-border-strong)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","transition-colors duration-[var(--inkblot-duration-fast)]","disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:cursor-not-allowed disabled:pointer-events-none"),children:[e?Ht(Xn,{className:"h-4 w-4 shrink-0 animate-spin"}):Ht(Zn,{className:"h-4 w-4 shrink-0",style:{color:"var(--inkblot-semantic-color-status-warning)"}}),e?"Generating...":"Write with AI"]}):null]}),Ht("div",{className:"relative",children:Ht("textarea",{ref:s,disabled:l,className:o("min-h-[12rem] w-full rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-secondary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]","transition-colors duration-[var(--inkblot-duration-fast)]","hover:border-[var(--inkblot-semantic-color-border-strong)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:cursor-not-allowed disabled:pointer-events-none"),...n})})]})});re.displayName="AIComposeInput";import{forwardRef as Qn}from"react";import{jsx as ti}from"react/jsx-runtime";var Jn={primary:"border border-transparent bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)] shadow-[var(--inkblot-shadow-sm)] hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]",secondary:"border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:border-[var(--inkblot-semantic-color-border-strong)] active:bg-[var(--inkblot-semantic-color-background-tertiary)]"},oe=Qn(({className:t,variant:e="primary",disabled:r,...a},i)=>ti("button",{ref:i,disabled:r,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)] [font:var(--inkblot-semantic-typography-body-medium)] font-semibold transition-[background,border-color,box-shadow,color] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--inkblot-semantic-color-background-primary)] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",Jn[e],t),...a}));oe.displayName="Button";import{useMemo as ei,useState as go}from"react";import{ArrowDown as ri,ArrowUp as oi,ArrowUpDown as ai,CheckCircle as ni,Zap as ii,FileText as si,Clock as li}from"lucide-react";import{jsx as z,jsxs as Tt}from"react/jsx-runtime";var ci={sent:{icon:ni,label:"Sent",colorClass:"text-[var(--inkblot-semantic-color-status-success)]"},active:{icon:ii,label:"Active",colorClass:"text-[var(--inkblot-semantic-color-status-warning)]"},draft:{icon:si,label:"Draft",colorClass:"text-[var(--inkblot-semantic-color-text-secondary)]"},scheduled:{icon:li,label:"Scheduled",colorClass:"text-[var(--inkblot-semantic-color-status-info)]"}};function Ee({columns:t,rows:e,sortKey:r,sortDirection:a,defaultSortKey:i,defaultSortDirection:n="asc",onSortChange:s,sortableColumns:l,emptyTitle:c="No campaigns found",emptyDescription:d="Create a campaign or adjust filters to see results.",className:b}){let[m,v]=go(i),[p,g]=go(n),C=r!==void 0&&a!==void 0,w=C?r:m,N=C?a:p,T=u=>!l||l.length===0?!0:l.includes(u),h=(u,x)=>{if(x==="campaign")return u.campaignName.toLowerCase();if(x==="status")return u.status;if(x==="opens")return Number.parseFloat(u.opens.replace("%","").trim())||0;if(x==="clicks")return Number.parseFloat(u.clicks.replace("%","").trim())||0;if(x==="date")return new Date(u.date).getTime()||0;let P=u[x];return typeof P=="number"?P:String(P??"").toLowerCase()},y=ei(()=>w?[...e].sort((x,P)=>{let M=h(x,w),A=h(P,w);return M<A?N==="asc"?-1:1:M>A?N==="asc"?1:-1:0}):e,[N,w,e]),k=u=>{let x=w===u&&N==="asc"?"desc":"asc";C||(v(u),g(x)),s?.(u,x)};return z("div",{className:o("overflow-x-auto rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-subtle)]","bg-[var(--inkblot-semantic-color-background-primary)]",b),children:Tt("table",{className:"w-full min-w-[600px] border-collapse",children:[z("thead",{children:z("tr",{className:"bg-[var(--inkblot-semantic-color-background-secondary)]",children:t.map(u=>z("th",{className:o("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)] text-left","uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:T(u.key)?Tt("button",{type:"button",onClick:()=>k(u.key),className:"inline-flex items-center gap-[var(--inkblot-spacing-1)] rounded-[var(--inkblot-radius-sm)] transition-colors duration-[var(--inkblot-duration-fast)] hover:text-[var(--inkblot-semantic-color-text-primary)]",children:[u.label,w!==u.key?z(ai,{className:"h-3.5 w-3.5","aria-hidden":!0}):N==="asc"?z(oi,{className:"h-3.5 w-3.5","aria-hidden":!0}):z(ri,{className:"h-3.5 w-3.5","aria-hidden":!0})]}):u.label},u.key))})}),z("tbody",{children:y.length===0?z("tr",{children:z("td",{colSpan:t.length,className:"px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-10)] text-center",children:Tt("div",{className:"mx-auto flex max-w-[420px] flex-col gap-[var(--inkblot-spacing-1)]",children:[z("span",{className:"[font:var(--inkblot-semantic-typography-body-large-bold)] text-[var(--inkblot-semantic-color-text-primary)]",children:c}),z("span",{className:"[font:var(--inkblot-semantic-typography-body-small)] text-[var(--inkblot-semantic-color-text-secondary)]",children:d})]})})}):y.map(u=>Tt("tr",{className:o("border-b border-[var(--inkblot-semantic-color-border-subtle)] last:border-b-0","transition-colors duration-[var(--inkblot-duration-fast)]","hover:bg-[var(--inkblot-semantic-color-background-secondary)]/50"),children:[z("td",{className:o("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:Tt("div",{className:"flex flex-col gap-0.5",children:[z("span",{className:o("[font:var(--inkblot-semantic-typography-body-large-bold)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:u.campaignName}),z("span",{className:o("[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:u.recipients})]})}),z("td",{className:o("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:z(di,{status:u.status,subtext:u.statusSubtext})}),z("td",{className:o("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:u.opens}),z("td",{className:o("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:u.clicks}),z("td",{className:o("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:u.date})]},u.id))})]})})}function di({status:t,subtext:e}){let r=ci[t],a=r.icon;return Tt("div",{className:"flex flex-col gap-0.5",children:[Tt("div",{className:o("inline-flex items-center gap-1.5","[font:var(--inkblot-semantic-typography-body-small)] font-medium",r.colorClass),children:[z(a,{className:"h-4 w-4 shrink-0"}),r.label]}),e?z("span",{className:o("[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:e}):null]})}import{Sparkles as pi}from"lucide-react";import{File as mi}from"lucide-react";import{jsx as ae,jsxs as fo}from"react/jsx-runtime";function Le({category:t,title:e,uses:r,onClick:a,className:i}){return fo("button",{type:"button",onClick:a,className:o("flex flex-col gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-lg)]","bg-[var(--inkblot-semantic-color-background-secondary)]","border border-[var(--inkblot-semantic-color-border-subtle)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-5)]","text-left transition-colors duration-[var(--inkblot-duration-fast)]","hover:border-[var(--inkblot-semantic-color-border-default)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]",i),children:[fo("div",{className:"flex items-start justify-between gap-2",children:[ae("span",{className:o("rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)]","bg-[var(--inkblot-semantic-color-background-tertiary)]","[font:var(--inkblot-semantic-typography-body-small)] font-medium","text-[var(--inkblot-semantic-color-text-primary)]"),children:t}),ae("span",{className:o("[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:r})]}),ae("h3",{className:o("[font:var(--inkblot-semantic-typography-body-large-bold)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:e}),ae("div",{className:"flex flex-1 items-end justify-center pt-[var(--inkblot-spacing-4)]",children:ae(mi,{className:o("h-10 w-10","text-[var(--inkblot-semantic-color-text-tertiary)]")})})]})}import{jsx as Ie,jsxs as ur}from"react/jsx-runtime";function Re({title:t="EMAIL TEMPLATES",onGenerateWithAI:e,templates:r,onTemplateClick:a,className:i}){return ur("section",{className:o("flex flex-col gap-[var(--inkblot-spacing-6)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-5)] shadow-[var(--inkblot-shadow-sm)]",i),children:[ur("div",{className:"flex flex-col gap-[var(--inkblot-spacing-4)] sm:flex-row sm:items-center sm:justify-between",children:[Ie("h2",{className:o("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:t}),e?ur("button",{type:"button",onClick:e,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] w-fit items-center justify-center gap-2 rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)] font-medium","text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:border-[var(--inkblot-semantic-color-border-strong)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","transition-colors duration-[var(--inkblot-duration-fast)]"),children:[Ie(pi,{className:"h-4 w-4 shrink-0",style:{color:"var(--inkblot-semantic-color-status-warning)"}}),"Generate with AI"]}):null]}),Ie("div",{className:"grid grid-cols-1 gap-[var(--inkblot-spacing-6)] sm:grid-cols-2",children:r.map(n=>Ie(Le,{category:n.category,title:n.title,uses:n.uses,onClick:()=>a?.(n)},n.id))})]})}import{useRef as bi}from"react";import{Loader2 as ui,Paperclip as vi,Send as gi,Sparkles as fi}from"lucide-react";import{jsx as et,jsxs as vr}from"react/jsx-runtime";function Bt({promptValue:t="",onPromptChange:e,onPromptSubmit:r,onFilesAttach:a,isProcessing:i=!1,response:n,placeholder:s="Ask Citron Intelligence...",accept:l,multiple:c=!0,className:d}){let b=bi(null),m=g=>{g.key==="Enter"&&!g.shiftKey&&(g.preventDefault(),r?.())},v=()=>{b.current?.click()},p=g=>{let C=g.target.files;C&&C.length>0&&a&&a(Array.from(C)),g.target.value=""};return vr("div",{className:o("flex w-full max-w-[80rem] flex-col gap-[var(--inkblot-spacing-3)]",d),children:[vr("div",{className:o("flex items-end gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-2)] shadow-[var(--inkblot-shadow-sm)]",i&&"pointer-events-none"),"aria-busy":i,children:[et("input",{ref:b,type:"file",accept:l,multiple:c,onChange:p,className:"sr-only","aria-hidden":!0}),et("button",{type:"button",onClick:v,disabled:i,className:o("flex h-9 w-9 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-full)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] text-[var(--inkblot-semantic-color-text-tertiary)] transition-[background,border-color,color] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]","hover:border-[var(--inkblot-semantic-color-border-strong)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)] hover:text-[var(--inkblot-semantic-color-text-secondary)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-secondary)]","disabled:pointer-events-none disabled:opacity-[var(--inkblot-opacity-disabled)]"),"aria-label":"Adjuntar archivos",children:et(vi,{size:18,strokeWidth:1.7,"aria-hidden":!0})}),vr("div",{className:"relative flex min-w-0 flex-1 items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]",children:[et(fi,{size:18,strokeWidth:1.7,className:"shrink-0 text-[var(--inkblot-semantic-color-text-tertiary)]","aria-hidden":!0}),et("textarea",{value:t,onChange:g=>e?.(g.target.value),onKeyDown:m,placeholder:s,rows:2,disabled:i,className:o("min-h-[2.5rem] min-w-0 flex-1 resize-none border-0 bg-transparent py-0 pr-[var(--inkblot-spacing-12)] [font:var(--inkblot-semantic-typography-body-medium)] text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]","focus:outline-none focus:ring-0","disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]")}),et("div",{className:o("absolute bottom-[var(--inkblot-spacing-2)] right-[var(--inkblot-spacing-2)] flex h-8 w-8 items-center justify-center rounded-[var(--inkblot-radius-full)]",i?"bg-[var(--inkblot-semantic-color-interactive-primary)]":""),children:i?et(ui,{size:16,strokeWidth:2,className:"animate-spin text-[var(--inkblot-semantic-color-text-inverse)]","aria-hidden":!0}):et("button",{type:"button",onClick:r,disabled:i,className:o("flex h-full w-full items-center justify-center rounded-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)] transition-[background,box-shadow] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]"),"aria-label":"Enviar",children:et(gi,{size:16,strokeWidth:2,"aria-hidden":!0})})})]})]}),n?et("div",{className:"rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)]",children:et("div",{className:"min-w-0 [font:var(--inkblot-semantic-typography-body-medium)] text-[var(--inkblot-semantic-color-text-primary)]",children:n})}):null]})}import{ArrowUpRight as ki,BadgeCheck as yi,Building2 as xi,TrendingUp as hi,UserRound as Ni,Users as Ci}from"lucide-react";import{jsx as V,jsxs as K}from"react/jsx-runtime";var wi={Person:"border-l-[var(--inkblot-semantic-color-status-info)]",Organization:"border-l-[var(--inkblot-semantic-color-status-warning)]",Deal:"border-l-[var(--inkblot-semantic-color-status-success)]"},Ti={Person:Ni,Organization:xi,Deal:yi},Pi={Person:"bg-[var(--inkblot-semantic-color-status-info)]/15 text-[var(--inkblot-semantic-color-status-info)]",Organization:"bg-[var(--inkblot-semantic-color-status-warning)]/15 text-[var(--inkblot-semantic-color-status-warning)]",Deal:"bg-[var(--inkblot-semantic-color-status-success)]/15 text-[var(--inkblot-semantic-color-status-success)]"},Mi=[{label:"Contacts",value:"12",icon:Ci},{label:"Open Deals",value:"3",icon:hi},{label:"Touchpoints",value:"47",icon:ki}];function Ae({name:t,entityType:e,subtitle:r,statusLabel:a,metadata:i,edges:n=[],stats:s,connections:l,className:c}){let d=Ti[e];if(s!==void 0||l!==void 0){let m=s??Mi;return K("article",{className:o("glass flex flex-col gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-xl)] p-[var(--inkblot-spacing-5)]",c),children:[K("div",{className:"flex items-start justify-between",children:[K("div",{className:"flex items-center gap-[var(--inkblot-spacing-3)]",children:[V("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-interactive-primary)]/10",children:V(d,{className:"h-5 w-5 text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0})}),K("div",{children:[V("h3",{className:"text-sm font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:t}),r?V("p",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:r}):null]})]}),a?V("span",{className:"rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)]/10 px-2 py-0.5 font-mono text-xs text-[var(--inkblot-semantic-color-interactive-primary)]",children:a}):null]}),V("div",{className:"grid grid-cols-3 gap-[var(--inkblot-spacing-3)]",children:m.map(v=>{let p=v.icon;return K("div",{className:"rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)] p-[var(--inkblot-spacing-3)]",children:[K("div",{className:"mb-1 flex items-center gap-1.5",children:[p?V(p,{className:"h-3 w-3 text-[var(--inkblot-semantic-color-text-tertiary)]","aria-hidden":!0}):null,V("span",{className:"text-[10px] uppercase tracking-wider text-[var(--inkblot-semantic-color-text-tertiary)]",children:v.label})]}),V("span",{className:"text-lg font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:v.value})]},v.label)})}),l?K("div",{className:"flex items-center gap-2 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:[V("span",{className:"h-1.5 w-1.5 rounded-full bg-[var(--inkblot-semantic-color-interactive-primary)]"}),l]}):null]})}return K("article",{className:o("flex flex-col gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] border-l-4 bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-sm)]",wi[e],c),children:[K("div",{className:"flex items-start justify-between gap-[var(--inkblot-spacing-3)]",children:[K("div",{className:"flex items-center gap-[var(--inkblot-spacing-3)]",children:[V("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] text-[var(--inkblot-semantic-color-text-secondary)]",children:V(d,{className:"h-5 w-5","aria-hidden":!0})}),K("div",{className:"flex flex-col gap-[var(--inkblot-spacing-1)]",children:[V("h3",{className:"[font:var(--inkblot-semantic-typography-body-medium)] font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:t}),r?V("p",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:r}):V("span",{className:o("inline-flex w-fit items-center rounded-[var(--inkblot-radius-full)] px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)] [font:var(--inkblot-semantic-typography-body-small)] font-medium uppercase tracking-wide",Pi[e]),children:e})]})]}),a?V("span",{className:"rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)]/10 px-2 py-0.5 font-mono text-xs text-[var(--inkblot-semantic-color-interactive-primary)]",children:a}):null]}),i&&Object.keys(i).length>0?V("dl",{className:"grid grid-cols-1 gap-[var(--inkblot-spacing-2)] sm:grid-cols-2",children:Object.entries(i).map(([m,v])=>K("div",{className:"rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]",children:[V("dt",{className:"[font:var(--inkblot-semantic-typography-body-small)] uppercase tracking-wide text-[var(--inkblot-semantic-color-text-tertiary)]",children:m}),V("dd",{className:"[font:var(--inkblot-semantic-typography-body-medium)] text-[var(--inkblot-semantic-color-text-secondary)]",children:v})]},m))}):null,n.length>0?K("div",{className:"flex flex-col gap-[var(--inkblot-spacing-2)]",children:[V("h4",{className:"[font:var(--inkblot-semantic-typography-body-small)] font-medium uppercase tracking-wide text-[var(--inkblot-semantic-color-text-secondary)]",children:"Edges"}),V("ul",{className:"flex flex-wrap gap-[var(--inkblot-spacing-2)]",children:n.map((m,v)=>K("li",{className:"rounded-[var(--inkblot-radius-full)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-1)] [font:var(--inkblot-semantic-typography-body-small)] text-[var(--inkblot-semantic-color-text-secondary)]",children:[m.type,m.target?` \u2192 ${m.target}`:""]},v))})]}):null,l?K("div",{className:"flex items-center gap-2 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:[V("span",{className:"h-1.5 w-1.5 rounded-full bg-[var(--inkblot-semantic-color-interactive-primary)]"}),l]}):null]})}import{forwardRef as Si}from"react";import{jsx as Ei}from"react/jsx-runtime";var Pt=Si(({className:t,error:e,disabled:r,...a},i)=>Ei("input",{ref:i,disabled:r,"aria-invalid":e,"aria-disabled":r,className:o("min-h-[var(--inkblot-size-touch-target-min)] w-full rounded-[var(--inkblot-radius-lg)] border bg-[var(--inkblot-semantic-color-background-secondary)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)] [font:var(--inkblot-semantic-typography-body-medium)] text-[var(--inkblot-semantic-color-text-primary)] shadow-[var(--inkblot-shadow-xs)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)] transition-[background,border-color,box-shadow] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--inkblot-semantic-color-background-primary)] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",e?"border-[var(--inkblot-semantic-color-status-error)] focus-visible:ring-[var(--inkblot-semantic-color-status-error)]":"border-[var(--inkblot-semantic-color-border-default)] hover:border-[var(--inkblot-semantic-color-border-strong)] hover:bg-[var(--inkblot-semantic-color-background-primary)]",t),...a}));Pt.displayName="Input";import{Component as Li}from"react";import{jsx as gr,jsxs as Ii}from"react/jsx-runtime";var D=class extends Li{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}render(){return this.state.hasError&&this.state.error?Ii("div",{role:"alert",className:o("flex flex-col gap-4 rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4",this.props.className),children:[gr("p",{className:"text-base font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:"This module failed to load"}),gr("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:this.state.error.message}),gr(oe,{variant:"secondary",onClick:this.props.onRetry,className:"w-fit border-[var(--inkblot-semantic-color-status-error)]",children:"Retry"})]}):this.props.children}};import{jsx as st,jsxs as fr}from"react/jsx-runtime";function ko({title:t,insights:e,stats:r=[],commandValue:a="",onCommandChange:i,onCommandSubmit:n,className:s}){let l=c=>{c.key==="Enter"&&(c.preventDefault(),n?.())};return st(D,{className:s,children:fr("div",{className:"flex flex-col gap-4 rounded-[var(--inkblot-radius-xl)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4",children:[st("h2",{className:"text-xl font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:t}),e?st("div",{className:"rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-interactive-primary)] p-4",style:{boxShadow:"0 0 12px var(--inkblot-semantic-color-interactive-primary)"},children:e}):null,r.length>0?fr("div",{children:[st("h3",{className:"mb-2 text-sm font-medium text-[var(--inkblot-semantic-color-text-secondary)]",children:"Connected To"}),st("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3",children:r.map((c,d)=>fr("div",{className:"rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)] px-3 py-2",children:[st("span",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:c.label}),st("p",{className:"text-sm font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:c.value})]},d))})]}):null,st("div",{className:"mt-2",children:st(Pt,{type:"text",value:a,onChange:c=>i?.(c.target.value),onKeyDown:l,placeholder:"Ask about this entity...",className:"rounded-[var(--inkblot-radius-md)]"})})]})})}import{Component as Ri}from"react";import{jsx as yo}from"react/jsx-runtime";var De=class extends Ri{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}render(){return this.state.hasError&&this.state.error?this.props.fallback?this.props.fallback:yo("div",{className:o("inline-flex items-center gap-3 rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-tertiary)] px-4 py-3 text-[var(--inkblot-semantic-color-text-secondary)]",this.props.className),role:"alert",children:yo("span",{className:"text-sm font-medium",children:"Something went wrong"})}):this.props.children}};import{jsx as Di}from"react/jsx-runtime";var Ai={success:"border-[var(--inkblot-semantic-color-status-success)] bg-[var(--inkblot-semantic-color-status-success)]/10 text-[var(--inkblot-semantic-color-status-success)]",warning:"border-[var(--inkblot-semantic-color-status-warning)] bg-[var(--inkblot-semantic-color-status-warning)]/10 text-[var(--inkblot-semantic-color-status-warning)]",error:"border-[var(--inkblot-semantic-color-status-error)] bg-[var(--inkblot-semantic-color-status-error)]/10 text-[var(--inkblot-semantic-color-status-error)]",info:"border-[var(--inkblot-semantic-color-status-info)] bg-[var(--inkblot-semantic-color-status-info)]/10 text-[var(--inkblot-semantic-color-status-info)]"};function He({label:t,variant:e="info",className:r}){return Di("span",{className:o("inline-flex items-center rounded-[var(--inkblot-radius-md)] border px-2 py-0.5 text-xs font-medium",Ai[e],r),children:t})}import{jsx as zt,jsxs as Bi}from"react/jsx-runtime";function Hi(t){return t>=.8?"success":t>=.5?"info":t>=.2?"warning":"error"}function Be({event:t,className:e}){let r=Hi(t.confidence_score),a=`${Math.round(t.confidence_score*100)}%`;return Bi("div",{className:o("flex flex-wrap items-center gap-2 rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4",e),children:[zt("span",{className:"text-sm font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:t.actor}),zt("span",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:"\u2192"}),zt("span",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:t.subject}),zt("span",{className:"rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)] px-2 py-0.5 text-xs text-[var(--inkblot-semantic-color-text-secondary)]",children:t.event_type}),zt("span",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:t.timestamp}),zt(He,{label:a,variant:r})]})}import{Clock3 as zi}from"lucide-react";import{jsx as pt,jsxs as xo}from"react/jsx-runtime";var Vi={success:"bg-[var(--inkblot-semantic-color-status-success)]",warning:"bg-[var(--inkblot-semantic-color-status-warning)]",error:"bg-[var(--inkblot-semantic-color-status-error)]",info:"bg-[var(--inkblot-semantic-color-status-info)]"};function Oi(){return pt(zi,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-text-tertiary)]","aria-hidden":!0})}function ho({events:t,className:e}){return pt(D,{className:e,children:pt("div",{className:o("flex flex-col gap-[var(--inkblot-spacing-3)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-sm)]"),children:t.map(r=>xo("div",{className:"flex items-start gap-[var(--inkblot-spacing-3)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]/60 bg-[var(--inkblot-semantic-color-background-primary)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]",children:[pt("div",{className:"mt-[var(--inkblot-spacing-1)] flex h-7 w-7 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)]",children:r.icon??pt(Oi,{})}),xo("div",{className:"min-w-0 flex-1",children:[pt("p",{className:"[font:var(--inkblot-semantic-typography-body-medium)] font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:r.title}),pt("p",{className:"[font:var(--inkblot-semantic-typography-body-small)] text-[var(--inkblot-semantic-color-text-tertiary)]",children:r.timestamp})]}),r.status?pt("div",{className:o("mt-[var(--inkblot-spacing-2)] h-2 w-2 shrink-0 rounded-[var(--inkblot-radius-full)]",Vi[r.status]),"aria-hidden":!0}):null]},r.id))})})}import{TrendingDown as Fi,TrendingUp as Gi}from"lucide-react";import{jsx as bt,jsxs as ne}from"react/jsx-runtime";var yr=36,kr=2*Math.PI*yr;function ze({label:t,value:e,subtext:r,trend:a,className:i}){let n=Math.min(100,Math.max(0,e)),s=kr-n/100*kr;return bt(D,{className:i,children:ne("div",{className:"flex flex-col items-center gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-sm)]",children:[ne("div",{className:"relative",children:[ne("svg",{width:"96",height:"96",viewBox:"0 0 96 96",className:"-rotate-90",children:[bt("circle",{cx:"48",cy:"48",r:yr,fill:"none",stroke:"var(--inkblot-semantic-color-background-tertiary)",strokeWidth:"4"}),bt("circle",{cx:"48",cy:"48",r:yr,fill:"none",stroke:"var(--inkblot-semantic-color-interactive-primary)",strokeWidth:"4",strokeDasharray:kr,strokeDashoffset:s,strokeLinecap:"round",className:"transition-[stroke-dashoffset] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]"})]}),bt("div",{className:"absolute inset-0 flex flex-col items-center justify-center",children:ne("span",{className:"flex items-center gap-[var(--inkblot-spacing-1)] [font:var(--inkblot-semantic-typography-heading-small)] font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:[n,"%",a==="up"?bt(Gi,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-status-success)]","aria-hidden":!0}):a==="down"?bt(Fi,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-status-error)]","aria-hidden":!0}):null]})})]}),ne("div",{className:"text-center",children:[bt("p",{className:"[font:var(--inkblot-semantic-typography-body-medium)] font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:t}),r?bt("p",{className:"[font:var(--inkblot-semantic-typography-body-small)] text-[var(--inkblot-semantic-color-text-tertiary)]",children:r}):null]})]})})}import{jsx as Mt,jsxs as _i}from"react/jsx-runtime";var Wi={default:"text-[var(--inkblot-semantic-color-text-primary)]",success:"text-[var(--inkblot-semantic-color-status-success)]",warning:"text-[var(--inkblot-semantic-color-status-warning)]",error:"text-[var(--inkblot-semantic-color-status-error)]"};function $i({className:t}){return Mt("svg",{viewBox:"0 0 16 16",className:o("h-4 w-4",t),"aria-hidden":!0,children:Mt("path",{fill:"currentColor",d:"M6 4l4 4-4 4V4z"})})}function No({items:t,className:e}){return Mt(D,{className:e,children:Mt("ul",{className:o("flex flex-col gap-4 py-2"),children:t.map((r,a)=>_i("li",{className:"flex items-center justify-between gap-4",children:[Mt("span",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:r.label}),Mt("span",{className:o("flex items-center gap-1 text-sm font-medium",Wi[r.variant??"default"]),children:r.value!=null?r.value:Mt($i,{})})]},a))})})}import{jsx as Ki}from"react/jsx-runtime";function ut({className:t,...e}){return Ki("div",{className:o("animate-shimmer rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]/40 bg-[length:200%_100%] bg-[linear-gradient(90deg,var(--inkblot-semantic-color-background-secondary)_0%,var(--inkblot-semantic-color-background-tertiary)_50%,var(--inkblot-semantic-color-background-secondary)_100%)]",t),...e})}import{jsx as ie,jsxs as ji}from"react/jsx-runtime";function Vt({className:t,...e}){return ji("div",{className:o("flex flex-col gap-[var(--inkblot-spacing-3)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-sm)]",t),...e,children:[ie(ut,{className:"h-8 w-3/5"}),ie(ut,{className:"h-4 w-full"}),ie(ut,{className:"h-4 w-11/12"}),ie(ut,{className:"h-4 w-4/5"}),ie(ut,{className:"h-4 w-2/3"})]})}import{jsx as Ve,jsxs as Co}from"react/jsx-runtime";function Oe({children:t,loading:e=!1,title:r,className:a,onRetry:i}){return Ve(D,{className:a,onRetry:i,children:e?Co("div",{className:o("flex flex-col gap-4",a),children:[r?Ve("h2",{className:"text-lg font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:r}):null,Ve(Vt,{})]}):Co("div",{className:o("flex flex-col gap-4",a),children:[r?Ve("h2",{className:"text-lg font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:r}):null,t]})})}import{Plus as Ui}from"lucide-react";import{jsx as se,jsxs as Fe}from"react/jsx-runtime";function Ot({title:t,subtitle:e,icon:r,action:a,className:i}){return Fe("header",{className:o("flex flex-col gap-2 sm:flex-row sm:items-start sm:justify-between","pb-[var(--inkblot-spacing-2)]",i),children:[Fe("div",{className:"flex items-start gap-[var(--inkblot-spacing-3)]",children:[r?se("div",{className:o("flex h-10 w-10 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-lg)]","bg-[var(--inkblot-semantic-color-background-secondary)]","[color:var(--inkblot-semantic-color-status-warning)]"),children:r}):null,Fe("div",{className:"min-w-0",children:[se("h1",{className:o("text-[var(--inkblot-semantic-color-text-primary)]","[font:var(--inkblot-semantic-typography-heading-medium)]"),children:t}),e?se("p",{className:o("mt-0.5 text-[var(--inkblot-semantic-color-text-secondary)]","[font:var(--inkblot-semantic-typography-body-small)]"),children:e}):null]})]}),a?se("div",{className:"mt-[var(--inkblot-spacing-4)] shrink-0 sm:mt-0",children:a}):null]})}function Ft({label:t,onClick:e,icon:r,className:a}){return Fe("button",{type:"button",onClick:e,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center gap-2 rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]","[font:var(--inkblot-semantic-typography-body-medium)] font-semibold","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","transition-colors duration-[var(--inkblot-duration-fast)]",a),children:[r??se(Ui,{className:"h-4 w-4"}),t]})}import{Link as qi}from"react-router-dom";import{jsx as xr,jsxs as wo}from"react/jsx-runtime";function Ge({resetErrorBoundary:t}){return wo("div",{role:"alert",className:o("flex min-h-[50vh] flex-col items-center justify-center gap-[var(--inkblot-spacing-6)] px-[var(--inkblot-spacing-6)] py-[var(--inkblot-spacing-8)]","bg-[var(--inkblot-semantic-color-background-primary)]","[font:var(--inkblot-semantic-typography-body-small)]"),children:[xr("p",{className:"text-center text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-heading-medium)]",children:"Esta p\xE1gina no est\xE1 disponible"}),wo("div",{className:"flex flex-col items-center gap-[var(--inkblot-spacing-4)] sm:flex-row",children:[xr("button",{type:"button",onClick:t,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","transition-colors duration-[var(--inkblot-duration-fast)]"),children:"Reintentar"}),xr(qi,{to:"/",className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","text-[var(--inkblot-semantic-color-interactive-primary)] underline-offset-4 hover:underline","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","transition-colors duration-[var(--inkblot-duration-fast)]"),children:"Ir al inicio"})]})]})}import{ErrorBoundary as Yi}from"react-error-boundary";import{useNavigate as Xi}from"react-router-dom";import{jsx as Zi}from"react/jsx-runtime";function To({children:t,fallback:e}){let r=Xi();return Zi(Yi,{FallbackComponent:e??Ge,onReset:()=>{r("/")},children:t})}import{forwardRef as Qi}from"react";import{Search as Ji}from"lucide-react";import{jsx as hr,jsxs as Po}from"react/jsx-runtime";var vt=Qi(({className:t,label:e,error:r,disabled:a,...i},n)=>Po("div",{className:"flex flex-col gap-1",children:[e?hr("label",{htmlFor:i.id,className:o("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:e}):null,Po("div",{className:o("flex items-center gap-2 rounded-[var(--inkblot-radius-full)]","bg-[var(--inkblot-semantic-color-background-secondary)]","border transition-colors duration-[var(--inkblot-duration-fast)]","focus-within:ring-2 focus-within:ring-[var(--inkblot-semantic-color-border-focus)] focus-within:ring-offset-2 focus-within:ring-offset-[var(--inkblot-semantic-color-background-primary)]",r?"border-[var(--inkblot-semantic-color-status-error)]":"border-[var(--inkblot-semantic-color-border-default)] hover:border-[var(--inkblot-semantic-color-border-strong)]",a&&"opacity-[var(--inkblot-opacity-disabled)] pointer-events-none cursor-not-allowed"),children:[hr(Ji,{className:o("ml-[var(--inkblot-spacing-4)] h-4 w-4 shrink-0","text-[var(--inkblot-semantic-color-text-tertiary)]")}),hr("input",{ref:n,type:"search",disabled:a,"aria-invalid":r,"aria-label":e??"Search",className:o("min-h-[var(--inkblot-size-touch-target-min)] w-full flex-1 bg-transparent px-2 py-[var(--inkblot-spacing-2)] pr-[var(--inkblot-spacing-4)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]","focus:outline-none","disabled:cursor-not-allowed",t),...i})]})]}));vt.displayName="SearchBar";import{jsx as ts}from"react/jsx-runtime";function Mo({children:t,columns:e=4,className:r}){return ts("div",{className:o("grid gap-[var(--inkblot-spacing-4)]",{1:"grid-cols-1",2:"grid-cols-1 sm:grid-cols-2",3:"grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",4:"grid-cols-1 sm:grid-cols-2 lg:grid-cols-4"}[e],r),children:t})}import{useCallback as es,useMemo as rs,useState as os}from"react";import{jsx as le,jsxs as as}from"react/jsx-runtime";function So({items:t,activeItemId:e,defaultActiveItemId:r,onActiveItemChange:a,onItemClick:i,className:n}){let s=rs(()=>r!==void 0?r:t.find(v=>v.active)?.id,[r,t]),[l,c]=os(s),d=e!==void 0,b=d?e:l,m=es((v,p)=>{if(p.disabled){v.preventDefault();return}d||c(p.id),i?.(p.id,p),p.onClick?.(p.id),a?.(p.id,p)},[d,a,i]);return le(D,{className:n,children:le("nav",{className:o("flex w-16 flex-col items-center gap-[var(--inkblot-spacing-2)] border-r border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-4)]"),"aria-label":"Navigation",children:t.map(v=>{let p=b?v.id===b:!!v.active;return as("button",{type:"button",disabled:v.disabled,onClick:g=>m(g,v),"aria-current":p?"page":void 0,className:o("relative flex w-full flex-col items-center gap-[var(--inkblot-spacing-1)] rounded-[var(--inkblot-radius-lg)] border border-transparent px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-2)] transition-[background,border-color,color] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",p?"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] text-[var(--inkblot-semantic-color-interactive-primary)]":"text-[var(--inkblot-semantic-color-text-tertiary)] hover:bg-[var(--inkblot-semantic-color-background-primary)] hover:text-[var(--inkblot-semantic-color-text-secondary)]","disabled:pointer-events-none disabled:opacity-[var(--inkblot-opacity-disabled)]"),children:[p?le("span",{className:"absolute left-[-0.5rem] top-1/2 h-6 w-1 -translate-y-1/2 rounded-r-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0}):null,le("div",{className:"flex h-8 w-8 items-center justify-center [&>svg]:h-5 [&>svg]:w-5",children:v.icon}),v.label?le("span",{className:"[font:var(--inkblot-semantic-typography-body-small)] font-medium",children:v.label}):null]},v.id)})})})}import{jsx as Z,jsxs as Nr}from"react/jsx-runtime";var Eo={success:"text-[var(--inkblot-semantic-color-status-success)]",error:"text-[var(--inkblot-semantic-color-status-error)]",neutral:"text-[var(--inkblot-semantic-color-text-secondary)]"};function We({items:t,className:e}){return Z("div",{className:o("grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",e),children:t.map(r=>Z(ns,{item:r},r.label))})}function ns({item:t}){let e=t.changeVariant??"neutral",r=Eo[e];return Nr("div",{className:o("flex flex-col gap-1 rounded-[var(--inkblot-radius-lg)]","bg-[var(--inkblot-semantic-color-background-secondary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-4)]","border border-[var(--inkblot-semantic-color-border-subtle)]"),children:[Z("span",{className:o("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:t.label}),Z("span",{className:o("[font:var(--inkblot-semantic-typography-heading-medium)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:t.value}),t.change?Z("span",{className:o("[font:var(--inkblot-semantic-typography-body-small)]",r),children:t.change}):null]})}function Lo({items:t,className:e}){return Z("div",{className:o("grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",e),children:t.map(r=>Z(is,{item:r},r.label))})}function is({item:t}){let e=t.changeVariant??"neutral",r=Eo[e],a=t.chartData??[],i=Math.max(...a,1);return Nr("div",{className:o("flex flex-col gap-2 rounded-[var(--inkblot-radius-lg)]","bg-[var(--inkblot-semantic-color-background-secondary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-4)]","border border-[var(--inkblot-semantic-color-border-subtle)]"),children:[Z("span",{className:o("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:t.label}),Nr("div",{className:"flex items-end justify-between gap-2",children:[Z("span",{className:o("[font:var(--inkblot-semantic-typography-heading-medium)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:t.value}),a.length>0?Z("div",{className:"flex h-8 items-end gap-0.5",children:a.map((n,s)=>Z("div",{className:"w-1 min-w-[2px] rounded-sm bg-[var(--inkblot-semantic-color-interactive-primary)] opacity-80",style:{height:`${n/i*100}%`,minHeight:4}},s))}):null]}),t.change?Z("span",{className:o("[font:var(--inkblot-semantic-typography-body-small)]",r),children:t.change}):null]})}import{jsx as Io,jsxs as ss}from"react/jsx-runtime";function $e({tabs:t,activeTabId:e,onTabChange:r,className:a}){return Io("nav",{role:"tablist","aria-label":"Tabs",className:o("flex gap-0 pt-[var(--inkblot-spacing-2)]",a),children:t.map(i=>{let n=i.id===e;return ss("button",{role:"tab","aria-selected":n,"aria-controls":`panel-${i.id}`,id:`tab-${i.id}`,type:"button",onClick:()=>r(i.id),className:o("relative px-[var(--inkblot-spacing-5)] py-[var(--inkblot-spacing-4)]","[font:var(--inkblot-semantic-typography-body-medium)]","transition-colors duration-[var(--inkblot-duration-fast)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]",n?["font-semibold text-[var(--inkblot-semantic-color-text-primary)]","bg-[var(--inkblot-semantic-color-background-secondary)]","rounded-t-[var(--inkblot-radius-lg)]"]:["text-[var(--inkblot-semantic-color-text-secondary)]","hover:text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-background-secondary)]/50"]),children:[i.label,n?Io("span",{className:"absolute bottom-0 left-0 right-0 h-0.5 rounded-full bg-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0}):null]},i.id)})})}import{Calendar as ls,Check as cs,User as ds}from"lucide-react";import{jsx as St,jsxs as ce}from"react/jsx-runtime";var ms={urgent:"bg-[var(--inkblot-semantic-color-status-error)]/20 text-[var(--inkblot-semantic-color-status-error)] border-[var(--inkblot-semantic-color-status-error)]/30",high:"bg-[var(--inkblot-semantic-color-status-warning)]/20 text-[var(--inkblot-semantic-color-status-warning)] border-[var(--inkblot-semantic-color-status-warning)]/30",medium:"bg-[var(--inkblot-semantic-color-status-success)]/10 text-[var(--inkblot-semantic-color-status-success)] border-[var(--inkblot-semantic-color-status-success)]/30",low:"bg-[var(--inkblot-semantic-color-background-tertiary)] text-[var(--inkblot-semantic-color-text-secondary)] border-[var(--inkblot-semantic-color-border-subtle)]"};function _e({id:t,title:e,company:r,priority:a,date:i,assignee:n,completed:s=!1,onToggle:l,onClick:c,className:d}){let b=ms[a];return ce("div",{role:"button",tabIndex:0,onClick:()=>c?.(t),onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),c?.(t))},className:o("flex items-center gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-subtle)]","bg-[var(--inkblot-semantic-color-background-secondary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","transition-colors duration-[var(--inkblot-duration-fast)]","hover:border-[var(--inkblot-semantic-color-border-default)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","cursor-pointer",d),children:[St("button",{type:"button",onClick:m=>{m.stopPropagation(),l?.(t)},"aria-label":s?"Mark as incomplete":"Mark as complete","aria-pressed":s,className:o("flex h-5 w-5 shrink-0 items-center justify-center rounded-full","transition-colors duration-[var(--inkblot-duration-fast)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]",s?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"border-2 border-[var(--inkblot-semantic-color-border-default)] bg-transparent"),children:s?St(cs,{className:"h-3 w-3",strokeWidth:3}):null}),ce("div",{className:"min-w-0 flex-1",children:[St("p",{className:o("[font:var(--inkblot-semantic-typography-body-large-bold)]","text-[var(--inkblot-semantic-color-text-primary)]",s&&"line-through text-[var(--inkblot-semantic-color-text-secondary)]"),children:e}),St("p",{className:o("mt-0.5 [font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]",s&&"line-through"),children:r})]}),ce("div",{className:"flex shrink-0 flex-wrap items-center justify-end gap-[var(--inkblot-spacing-3)]",children:[St("span",{className:o("rounded-[var(--inkblot-radius-md)] border px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)]","[font:var(--inkblot-semantic-typography-body-small)] font-medium",b),children:a.charAt(0).toUpperCase()+a.slice(1)}),ce("span",{className:o("flex items-center gap-1","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:[St(ls,{className:"h-4 w-4 shrink-0 text-[var(--inkblot-semantic-color-text-tertiary)]"}),i]}),ce("span",{className:o("flex items-center gap-1","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:[St(ds,{className:"h-4 w-4 shrink-0 text-[var(--inkblot-semantic-color-text-tertiary)]"}),n]})]})]})}import{CircleDot as ps,Clock as bs,CheckCircle as us}from"lucide-react";import{jsx as Gt,jsxs as Ro}from"react/jsx-runtime";var vs={todo:ps,in_progress:bs,done:us};function Ke({sections:t,onTaskToggle:e,onTaskClick:r,className:a}){return Gt("div",{className:o("flex flex-col gap-[var(--inkblot-spacing-8)]",a),children:t.map(i=>{let n=vs[i.id],s=i.id==="done";return Ro("section",{className:"flex flex-col gap-[var(--inkblot-spacing-4)]",children:[Ro("div",{className:"flex items-center gap-[var(--inkblot-spacing-3)]",children:[Gt(n,{className:o("h-5 w-5 shrink-0",s?"text-[var(--inkblot-semantic-color-interactive-primary)]":"text-[var(--inkblot-semantic-color-text-secondary)]")}),Gt("h2",{className:o("[font:var(--inkblot-semantic-typography-body-large-bold)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:i.label}),Gt("span",{className:o("rounded-[var(--inkblot-radius-full)] px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)]","bg-[var(--inkblot-semantic-color-background-secondary)]","[font:var(--inkblot-semantic-typography-body-small)] font-medium","text-[var(--inkblot-semantic-color-text-primary)]"),children:i.count})]}),Gt("div",{className:"flex flex-col gap-[var(--inkblot-spacing-3)]",children:i.tasks.map(l=>Gt(_e,{...l,completed:s,onToggle:e,onClick:r},l.id))})]},i.id)})})}import{Mail as Ao,FileText as je,Zap as gs,Phone as Do,Link2 as fs}from"lucide-react";import{jsx as rt,jsxs as Ho}from"react/jsx-runtime";function ks(t){return t>=.8?"bg-[var(--inkblot-semantic-color-status-success)]":t>=.5?"bg-[var(--inkblot-semantic-color-status-info)]":t>=.2?"bg-[var(--inkblot-semantic-color-status-warning)]":"bg-[var(--inkblot-semantic-color-status-error)]"}var ys={EMAIL_OPENED:Ao,EMAIL_SENT:Ao,INVOICE_PAID:je,INVOICE_OVERDUE:je,CONTRACT_SIGNED:je,STAGE_CHANGED:gs,CALL_COMPLETED:Do,PHONE_CALL:Do,RELATIONSHIP_DETECTED:fs};function xs(t){return ys[t]??je}function hs(t){return t.metadata?.description??t.event_type.replace(/_/g," ").toLowerCase()}function Ns(t){return t.metadata?.details??`${t.actor} - ${t.subject}`}function Ue({events:t,onEntitySelect:e,findEntity:r,emptyMessage:a="No hay actividad reciente",className:i}){let n=e?s=>{let l=r?.(s.subject)??r?.(s.actor);l&&e(l)}:void 0;return rt(D,{children:rt("div",{className:o("space-y-2",i),children:t.length===0?rt("p",{className:"py-6 text-center text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:a}):t.map(s=>{let c=!!(r?.(s.subject)??r?.(s.actor))&&!!n,d=xs(s.event_type),b=Ho("div",{className:"flex flex-1 items-center gap-3",children:[rt(d,{className:"h-4 w-4 shrink-0 text-[var(--inkblot-semantic-color-text-secondary)]","aria-hidden":!0}),rt("div",{className:`h-2 w-2 shrink-0 rounded-full ${ks(s.confidence_score)}`,"aria-hidden":!0}),Ho("div",{className:"min-w-0 flex-1",children:[rt("p",{className:"text-sm font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:hs(s)}),rt("p",{className:"text-xs text-[var(--inkblot-semantic-color-text-secondary)]",children:Ns(s)})]}),rt("span",{className:"shrink-0 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:s.timestamp})]}),m=s.id??`${s.actor}-${s.subject}-${s.timestamp}`;return rt("div",{children:c?rt("button",{type:"button",onClick:()=>n(s),className:"flex w-full items-center gap-3 rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-secondary)] p-3 text-left transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)] focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]",children:b}):rt("div",{className:"flex w-full items-center gap-3 rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-secondary)] p-3",children:b})},m)})})})}import{NavLink as Cs}from"react-router-dom";import{ClipboardList as ws,Brain as Ts,BarChart3 as Ps,Network as Ms,Activity as Ss,Settings as Es,Sparkles as Ls}from"lucide-react";import{jsx as Et,jsxs as Rs}from"react/jsx-runtime";var Is=[{id:"home",path:"/",icon:ws,label:"Home"},{id:"intelligence",path:"/intelligence",icon:Ts,label:"Intelligence"},{id:"pipeline",path:"/pipeline",icon:Ps,label:"Pipeline"},{id:"graph",path:"/graph",icon:Ms,label:"Graph"},{id:"events",path:"/events",icon:Ss,label:"Events"},{id:"settings",path:"/settings",icon:Es,label:"Settings"}];function Bo({items:t=Is,brandLogo:e,brandTitle:r="Command Canvas \u2014 AI-native Interface",className:a}){return Et(D,{children:Rs("nav",{className:o("flex h-full flex-col gap-[var(--inkblot-spacing-4)] border-r border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-3)]",a),children:[Et("div",{className:"flex flex-col items-center gap-2",children:Et("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] shadow-[var(--inkblot-shadow-sm)]",title:r,children:e??Et(Ls,{className:"h-5 w-5 text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0})})}),Et("div",{className:"flex flex-1 flex-col gap-[var(--inkblot-spacing-2)]",children:t.map(i=>{let n=i.icon;return Et(Cs,{to:i.path,end:i.path==="/","aria-label":i.label,className:({isActive:s})=>`flex items-center justify-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-lg)] border border-transparent px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-2)] transition-[background,border-color,color] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] ${s?"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] text-[var(--inkblot-semantic-color-interactive-primary)]":"text-[var(--inkblot-semantic-color-text-secondary)] hover:border-[var(--inkblot-semantic-color-border-default)]/60 hover:bg-[var(--inkblot-semantic-color-background-primary)]"}`,children:Et(n,{size:20,"aria-hidden":!0})},i.id)})})]})})}import{useState as qe,useCallback as As,useRef as Ds,useEffect as Hs}from"react";import{jsx as $,jsxs as Ye}from"react/jsx-runtime";function Bs(t){let e=t.toLowerCase();return e.includes("entity")||e.includes("company")||e.includes("person")||e.includes("deal")||e.includes("profile")||e.includes("org")?"entity":e.includes("event")||e.includes("activity")||e.includes("recent")||e.includes("stream")||e.includes("log")?"event":"general"}function zs({entities:t}){let e=t[0];return e?Ye("div",{className:"space-y-3",children:[$("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:"Here's the entity profile and current intelligence scores:"}),$(Ae,{name:e.name,entityType:e.type,metadata:e.metadata,edges:[{type:"WORKS_WITH",target:t[1]?.name},{type:"MANAGES",target:t[4]?.name}]})]}):null}function Vs({events:t}){return Ye("div",{className:"space-y-2",children:[$("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:"Latest activity from the event bus:"}),t.slice(0,5).map(e=>$(Be,{event:e},e.id??`${e.actor}-${e.subject}-${e.timestamp}`))]})}function Os(){return $("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-primary)]",children:"Revenue confidence is trending upward at 78%. Momentum score increased 12% this week driven by 3 new meetings with Acme Corp. Churn risk remains low at 15% across the active pipeline."})}function zo({entities:t,events:e,onFocusEntity:r,findEntity:a,placeholder:i="Ask anything \u2014 deals, contacts, forecasts...",emptyMessage:n="Escribe para comenzar...",className:s}){let[l,c]=qe(""),[d,b]=qe([]),[m,v]=qe(!1),[p,g]=qe(new Map),C=Ds(null);Hs(()=>{C.current&&(C.current.scrollTop=C.current.scrollHeight)},[d,m]);let w=As(()=>{let N=l.trim();if(!N||m)return;let T=a?.(N);T&&r&&r(T);let h={id:`msg-${Date.now()}`,role:"user",content:N,timestamp:new Date().toISOString()},y=Bs(N);b(k=>[...k,h]),c(""),v(!0),setTimeout(()=>{let k={id:`msg-${Date.now()}-res`,role:"assistant",content:"",intent:y,timestamp:new Date().toISOString()},u;switch(y){case"entity":u=$(zs,{entities:t});break;case"event":u=$(Vs,{events:e});break;default:u=$(Os,{})}g(x=>{let P=new Map(x);return P.set(k.id,u),P}),b(x=>[...x,k]),v(!1)},1e3)},[l,m,t,e,r,a]);return Ye("div",{className:o("flex h-full flex-col",s),children:[Ye("div",{ref:C,className:"flex-1 space-y-4 overflow-y-auto p-4",children:[d.length===0&&!m?$("div",{className:"flex flex-1 items-center justify-center py-12",children:$("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:n})}):d.map(N=>$("div",{className:"flex flex-col gap-2",children:N.role==="user"?$("div",{className:"flex justify-end",children:$("div",{className:"max-w-[80%] rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-interactive-primary)] px-4 py-3 text-sm text-[var(--inkblot-semantic-color-text-primary)]",children:N.content})}):$("div",{className:"max-w-[90%]",children:p.get(N.id)??$("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-primary)]",children:N.content})})},N.id)),m&&$("div",{className:"max-w-[70%]",children:$(Vt,{className:"animate-shimmer"})})]}),$("div",{className:"shrink-0 border-t border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-4",children:$(Bt,{promptValue:l,onPromptChange:c,onPromptSubmit:w,isProcessing:m,placeholder:i})})]})}import{Sparkles as Fs}from"lucide-react";import{jsx as de,jsxs as Vo}from"react/jsx-runtime";function Oo({prompt:t,onPromptChange:e,onSubmit:r,isProcessing:a,placeholder:i="Ask anything \u2014 deals, contacts, forecasts...",subtitle:n="Citron OS v1.0 \u2014 AI-native Revenue & Operations Platform",className:s}){return Vo("div",{className:o("border-t border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-[var(--inkblot-spacing-6)] py-[var(--inkblot-spacing-4)]",s),children:[Vo("div",{className:"flex items-start gap-[var(--inkblot-spacing-3)]",children:[de("div",{className:"mt-[var(--inkblot-spacing-1)] flex h-10 w-10 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)]",children:de(Fs,{className:"h-5 w-5 text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0})}),de("div",{className:"flex-1",children:de(Bt,{promptValue:t,onPromptChange:e,onPromptSubmit:r,isProcessing:a,placeholder:i})})]}),n&&de("p",{className:"mt-[var(--inkblot-spacing-2)] [font:var(--inkblot-semantic-typography-body-small)] text-[var(--inkblot-semantic-color-text-tertiary)]",children:n})]})}import{jsx as Wt,jsxs as Cr}from"react/jsx-runtime";function Fo({events:t,title:e="Event Stream",showLive:r=!0,className:a}){return Wt(D,{children:Cr("div",{className:o("flex h-full flex-col bg-[var(--inkblot-semantic-color-background-secondary)]",a),children:[Cr("div",{className:"flex shrink-0 items-center justify-between border-b border-[var(--inkblot-semantic-color-border-default)] px-4 py-3",children:[Wt("span",{className:"text-xs font-medium uppercase tracking-wider text-[var(--inkblot-semantic-color-text-secondary)]",children:e}),r&&Cr("div",{className:"flex items-center gap-2",children:[Wt("div",{className:"h-2 w-2 rounded-full bg-[var(--inkblot-semantic-color-status-success)]"}),Wt("span",{className:"text-xs text-[var(--inkblot-semantic-color-status-success)]",children:"Live"})]})]}),Wt("div",{className:"flex-1 overflow-auto p-4",children:Wt(Ue,{events:t})})]})})}import{jsx as Y,jsxs as Lt}from"react/jsx-runtime";var Gs=[{label:"Pipeline Health",value:76},{label:"Churn Risk",value:28},{label:"Expansion Signal",value:64},{label:"Team Velocity",value:83}],Ws=[{title:"Acme Corp likely to close within 14 days",description:"Based on email sentiment, meeting cadence, and champion engagement patterns.",confidence:89},{title:"Churn risk detected: GlobalTech Inc",description:"Declining touchpoints and support ticket volume suggest potential churn.",confidence:74},{title:"Expansion opportunity: TechVentures",description:"Usage patterns and NPS scores indicate readiness for upsell conversation.",confidence:81}];function Go({loading:t,kpiCards:e=Gs,aiInsights:r=Ws,title:a="Intelligence Lab",subtitle:i="AI-generated insights - Updated 3 min ago",className:n}){return Lt("div",{className:o("flex h-full flex-col gap-4 overflow-y-auto p-4",n),children:[Lt("div",{children:[Y("h1",{className:"text-2xl font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:a}),Y("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:i})]}),Y(Oe,{loading:t,title:"",children:Y(D,{children:Lt("div",{className:"flex flex-col gap-4",children:[Y("div",{className:"grid grid-cols-2 gap-4 lg:grid-cols-4",children:e.map(s=>Y(ze,{label:s.label,value:s.value,subtext:s.subtext,trend:s.trend},s.label))}),Lt("div",{children:[Y("h2",{className:"mb-4 border-b border-[var(--inkblot-semantic-color-border-default)] pb-2 text-sm font-bold uppercase tracking-wider text-[var(--inkblot-semantic-color-text-primary)]",children:"AI Insights"}),Y("div",{className:"flex flex-col gap-4",children:r.map(s=>Y(D,{children:Lt("div",{className:"flex items-start justify-between gap-4 rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4",children:[Lt("div",{className:"min-w-0 flex-1",children:[Y("h3",{className:"font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:s.title}),Y("p",{className:"mt-1 text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:s.description})]}),Lt("div",{className:"flex shrink-0 flex-col items-center",children:[Y("span",{className:"text-lg font-bold text-[var(--inkblot-semantic-color-text-primary)]",children:s.confidence}),Y("span",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Conf."})]})]})},s.title))})]})]})})})]})}import{jsx as me,jsxs as wr}from"react/jsx-runtime";function Wo({navigation:t,eventStream:e,commandBar:r,children:a,className:i,eventStreamWidth:n="w-80"}){return wr("div",{className:o("flex h-screen w-screen overflow-hidden bg-[var(--inkblot-semantic-color-background-primary)]",i),children:[me("aside",{className:"flex h-full w-16 shrink-0 flex-col border-r border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)]",children:t}),me("main",{className:"flex flex-1 flex-col overflow-hidden",children:wr("div",{className:"flex min-h-0 flex-1",children:[wr("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden bg-[var(--inkblot-semantic-color-background-primary)]",children:[me("div",{className:"flex-1 overflow-auto px-[var(--inkblot-spacing-6)] py-[var(--inkblot-spacing-6)]",children:a}),me("div",{className:"shrink-0 border-t border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)]",children:r})]}),e&&me("aside",{className:o("flex h-full shrink-0 flex-col border-l border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)]",n),children:e})]})})]})}import{useState as Tr}from"react";import{Check as $s,X as _s}from"lucide-react";import{jsx as $t,jsxs as Xe}from"react/jsx-runtime";var Ks=["urgent","high","medium","low"];function Ze({onConfirm:t,onCancel:e,className:r}){let[a,i]=Tr(""),[n,s]=Tr(""),[l,c]=Tr("medium");return Xe("form",{onSubmit:b=>{b.preventDefault();let m=a.trim();m&&(t({title:m,company:n.trim()||void 0,priority:l}),i(""),s(""),c("medium"))},className:o("flex flex-col gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-secondary)]","p-[var(--inkblot-spacing-4)]",r),children:[$t("input",{type:"text",value:a,onChange:b=>i(b.target.value),placeholder:"Task title...",autoFocus:!0,required:!0,className:o("min-h-[var(--inkblot-size-touch-target-min)] w-full rounded-[var(--inkblot-radius-md)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)]")}),$t("input",{type:"text",value:n,onChange:b=>s(b.target.value),placeholder:"Company (optional)",className:o("min-h-[var(--inkblot-size-touch-target-min)] w-full rounded-[var(--inkblot-radius-md)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)]")}),$t("div",{className:"flex flex-wrap gap-[var(--inkblot-spacing-2)]",children:Ks.map(b=>$t("button",{type:"button",onClick:()=>c(b),className:o("rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)]","[font:var(--inkblot-semantic-typography-body-small)] font-medium","transition-colors duration-[var(--inkblot-duration-fast)]",l===b?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"bg-[var(--inkblot-semantic-color-background-tertiary)] text-[var(--inkblot-semantic-color-text-secondary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]/80"),children:b.charAt(0).toUpperCase()+b.slice(1)},b))}),Xe("div",{className:"flex justify-end gap-[var(--inkblot-spacing-2)]",children:[Xe("button",{type:"button",onClick:e,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center gap-2 rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-interactive-secondary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)] font-medium","text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)]"),children:[$t(_s,{className:"h-4 w-4"}),"Cancel"]}),Xe("button",{type:"submit",disabled:!a.trim(),className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center gap-2 rounded-[var(--inkblot-radius-lg)]","bg-[var(--inkblot-semantic-color-interactive-primary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)] font-medium","text-[var(--inkblot-semantic-color-text-inverse)]","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)]","disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:cursor-not-allowed"),children:[$t($s,{className:"h-4 w-4"}),"Add Task"]})]})]})}import{useState as Pr,useMemo as $o}from"react";import{ClipboardList as js}from"lucide-react";import{jsx as It,jsxs as qs}from"react/jsx-runtime";function gt(t,e,r="You"){let i=new Date().toLocaleDateString("en-US",{month:"short",day:"numeric"})||"Today";return{id:e,title:t.title,company:t.company??"Unassigned",priority:t.priority??"medium",date:i,assignee:r,status:"todo"}}function Us(t){let e={todo:t.filter(r=>r.status==="todo"),in_progress:t.filter(r=>r.status==="in_progress"),done:t.filter(r=>r.status==="done")};return[{id:"todo",label:"TO DO",count:e.todo.length,tasks:e.todo},{id:"in_progress",label:"IN PROGRESS",count:e.in_progress.length,tasks:e.in_progress},{id:"done",label:"DONE",count:e.done.length,tasks:e.done}]}var ft=[gt({title:"Follow up with Sarah Chen on proposal",company:"Acme Corp",priority:"high"},"1"),gt({title:"Schedule demo with engineering team",company:"TechStart Inc",priority:"medium"},"2"),gt({title:"Prepare quarterly report slides",company:"GlobalTech",priority:"low"},"3"),gt({title:"Review Q1 marketing budget",company:"TechStart Inc",priority:"medium"},"4"),gt({title:"Draft partnership agreement",company:"Enterprise Co",priority:"urgent"},"5"),gt({title:"Send contract to legal team",company:"GlobalTech",priority:"low"},"6"),gt({title:"Update CRM with new contacts",company:"Acme Corp",priority:"low"},"7")];ft[0].status="todo";ft[1].status="todo";ft[2].status="todo";ft[3].status="in_progress";ft[4].status="in_progress";ft[5].status="done";ft[6].status="done";function _o({initialTasks:t=ft,onTaskCreate:e,onTaskToggle:r,onTaskClick:a,className:i}){let[n,s]=Pr(t),[l,c]=Pr(!1),[d,b]=Pr(""),m=$o(()=>{if(!d.trim())return n;let T=d.toLowerCase();return n.filter(h=>h.title.toLowerCase().includes(T)||h.company.toLowerCase().includes(T))},[n,d]),v=$o(()=>Us(m),[m]),p=n.filter(T=>T.status!=="done").length,g=n.filter(T=>T.priority==="urgent"&&T.status!=="done").length,C=`${p} pending${g>0?` \xB7 ${g} urgent`:""}`,w=T=>{let h=`task-${Date.now()}`,y=gt(T,h);s(k=>[y,...k]),c(!1),e?.(T)},N=T=>{s(h=>h.map(y=>{if(y.id!==T)return y;let k=y.status==="done"?"todo":"done";return{...y,status:k}})),r?.(T)};return It("div",{className:o("flex min-h-screen flex-col bg-[var(--inkblot-semantic-color-background-primary)]",i),children:qs("div",{className:"flex flex-1 flex-col gap-8 px-8 py-8",children:[It(Ot,{title:"Tasks",subtitle:C,icon:It(js,{className:"h-5 w-5"}),action:It(Ft,{label:"New Task",onClick:()=>c(T=>!T)})}),It(vt,{placeholder:"Search tasks...",value:d,onChange:T=>b(T.target.value)}),l?It(Ze,{onConfirm:w,onCancel:()=>c(!1)}):null,It(Ke,{sections:v,onTaskToggle:N,onTaskClick:a})]})})}import{useState as _t,useMemo as Mr}from"react";import{Mail as Ys}from"lucide-react";import{Fragment as Js,jsx as _,jsxs as Kt}from"react/jsx-runtime";var Xs=`Hi [Name],
1
+ import{Send as mi,Calendar as pi}from"lucide-react";import{clsx as ci}from"clsx";import{twMerge as di}from"tailwind-merge";function o(...t){return di(ci(t))}import{jsx as Se,jsxs as ui}from"react/jsx-runtime";var bi={primary:["bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]"],secondary:["bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]","border border-[var(--inkblot-semantic-color-border-default)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:border-[var(--inkblot-semantic-color-border-strong)]","active:bg-[var(--inkblot-semantic-color-background-tertiary)]"]};function hr({buttons:t,className:e}){return Se("div",{className:o("flex flex-wrap items-center gap-[var(--inkblot-spacing-3)]",e),children:t.map(r=>ui("button",{type:"button",onClick:()=>{r.onClick?.()},disabled:r.disabled,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center gap-2 rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)] font-medium","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","transition-colors duration-[var(--inkblot-duration-fast)]","disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:pointer-events-none disabled:cursor-not-allowed",bi[r.variant]),children:[r.icon??null,r.label]},r.id))})}function Ee({onSendNow:t,onSchedule:e,onSaveDraft:r,className:a}){return Se(hr,{buttons:[{id:"send",label:"Send Now",variant:"primary",icon:Se(mi,{className:"h-4 w-4"}),onClick:t},{id:"schedule",label:"Schedule",variant:"secondary",icon:Se(pi,{className:"h-4 w-4"}),onClick:e},{id:"draft",label:"Save Draft",variant:"secondary",onClick:r}],className:a})}import{forwardRef as vi}from"react";import{Loader2 as gi,Sparkles as fi}from"lucide-react";import{jsx as Ot,jsxs as Nr}from"react/jsx-runtime";var oe=vi(({label:t,loading:e=!1,onWriteWithAI:r,disabled:a,className:i,...n},s)=>{let c=a||e;return Nr("div",{className:o("flex flex-col gap-[var(--inkblot-spacing-2)]",i),children:[Nr("div",{className:"flex items-center justify-between",children:[t?Ot("label",{htmlFor:n.id,className:o("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:t}):Ot("span",{}),r?Nr("button",{type:"button",onClick:r,disabled:e,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center gap-2 rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-interactive-secondary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)] font-medium","text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:border-[var(--inkblot-semantic-color-border-strong)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","transition-colors duration-[var(--inkblot-duration-fast)]","disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:cursor-not-allowed disabled:pointer-events-none"),children:[e?Ot(gi,{className:"h-4 w-4 shrink-0 animate-spin"}):Ot(fi,{className:"h-4 w-4 shrink-0",style:{color:"var(--inkblot-semantic-color-status-warning)"}}),e?"Generating...":"Write with AI"]}):null]}),Ot("div",{className:"relative",children:Ot("textarea",{ref:s,disabled:c,className:o("min-h-[12rem] w-full rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-secondary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]","transition-colors duration-[var(--inkblot-duration-fast)]","hover:border-[var(--inkblot-semantic-color-border-strong)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:cursor-not-allowed disabled:pointer-events-none"),...n})})]})});oe.displayName="AIComposeInput";import{forwardRef as ki}from"react";import{jsx as xi}from"react/jsx-runtime";var yi={primary:"border border-transparent bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)] shadow-[var(--inkblot-shadow-sm)] hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]",secondary:"border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:border-[var(--inkblot-semantic-color-border-strong)] active:bg-[var(--inkblot-semantic-color-background-tertiary)]"},ae=ki(({className:t,variant:e="primary",disabled:r,...a},i)=>xi("button",{ref:i,disabled:r,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)] [font:var(--inkblot-semantic-typography-body-medium)] font-semibold transition-[background,border-color,box-shadow,color] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--inkblot-semantic-color-background-primary)] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",yi[e],t),...a}));ae.displayName="Button";import{useMemo as hi,useState as Io}from"react";import{ArrowDown as Ni,ArrowUp as Ci,ArrowUpDown as wi,CheckCircle as Ti,Zap as Pi,FileText as Mi,Clock as Si}from"lucide-react";import{jsx as O,jsxs as St}from"react/jsx-runtime";var Ei={sent:{icon:Ti,label:"Sent",colorClass:"text-[var(--inkblot-semantic-color-status-success)]"},active:{icon:Pi,label:"Active",colorClass:"text-[var(--inkblot-semantic-color-status-warning)]"},draft:{icon:Mi,label:"Draft",colorClass:"text-[var(--inkblot-semantic-color-text-secondary)]"},scheduled:{icon:Si,label:"Scheduled",colorClass:"text-[var(--inkblot-semantic-color-status-info)]"}};function Ie({columns:t,rows:e,sortKey:r,sortDirection:a,defaultSortKey:i,defaultSortDirection:n="asc",onSortChange:s,sortableColumns:c,emptyTitle:l="No campaigns found",emptyDescription:d="Create a campaign or adjust filters to see results.",className:p}){let[u,v]=Io(i),[b,g]=Io(n),N=r!==void 0&&a!==void 0,w=N?r:u,x=N?a:b,E=m=>!c||c.length===0?!0:c.includes(m),T=(m,y)=>{if(y==="campaign")return m.campaignName.toLowerCase();if(y==="status")return m.status;if(y==="opens")return Number.parseFloat(m.opens.replace("%","").trim())||0;if(y==="clicks")return Number.parseFloat(m.clicks.replace("%","").trim())||0;if(y==="date")return new Date(m.date).getTime()||0;let C=m[y];return typeof C=="number"?C:String(C??"").toLowerCase()},h=hi(()=>w?[...e].sort((y,C)=>{let P=T(y,w),A=T(C,w);return P<A?x==="asc"?-1:1:P>A?x==="asc"?1:-1:0}):e,[x,w,e]),k=m=>{let y=w===m&&x==="asc"?"desc":"asc";N||(v(m),g(y)),s?.(m,y)};return O("div",{className:o("overflow-x-auto rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-subtle)]","bg-[var(--inkblot-semantic-color-background-primary)]",p),children:St("table",{className:"w-full min-w-[600px] border-collapse",children:[O("thead",{children:O("tr",{className:"bg-[var(--inkblot-semantic-color-background-secondary)]",children:t.map(m=>O("th",{className:o("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)] text-left","uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:E(m.key)?St("button",{type:"button",onClick:()=>k(m.key),className:"inline-flex items-center gap-[var(--inkblot-spacing-1)] rounded-[var(--inkblot-radius-sm)] transition-colors duration-[var(--inkblot-duration-fast)] hover:text-[var(--inkblot-semantic-color-text-primary)]",children:[m.label,w!==m.key?O(wi,{className:"h-3.5 w-3.5","aria-hidden":!0}):x==="asc"?O(Ci,{className:"h-3.5 w-3.5","aria-hidden":!0}):O(Ni,{className:"h-3.5 w-3.5","aria-hidden":!0})]}):m.label},m.key))})}),O("tbody",{children:h.length===0?O("tr",{children:O("td",{colSpan:t.length,className:"px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-10)] text-center",children:St("div",{className:"mx-auto flex max-w-[420px] flex-col gap-[var(--inkblot-spacing-1)]",children:[O("span",{className:"[font:var(--inkblot-semantic-typography-body-large-bold)] text-[var(--inkblot-semantic-color-text-primary)]",children:l}),O("span",{className:"[font:var(--inkblot-semantic-typography-body-small)] text-[var(--inkblot-semantic-color-text-secondary)]",children:d})]})})}):h.map(m=>St("tr",{className:o("border-b border-[var(--inkblot-semantic-color-border-subtle)] last:border-b-0","transition-colors duration-[var(--inkblot-duration-fast)]","hover:bg-[var(--inkblot-semantic-color-background-secondary)]/50"),children:[O("td",{className:o("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:St("div",{className:"flex flex-col gap-0.5",children:[O("span",{className:o("[font:var(--inkblot-semantic-typography-body-large-bold)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:m.campaignName}),O("span",{className:o("[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:m.recipients})]})}),O("td",{className:o("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:O(Ii,{status:m.status,subtext:m.statusSubtext})}),O("td",{className:o("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:m.opens}),O("td",{className:o("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:m.clicks}),O("td",{className:o("px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)]","border-b border-[var(--inkblot-semantic-color-border-subtle)]"),children:m.date})]},m.id))})]})})}function Ii({status:t,subtext:e}){let r=Ei[t],a=r.icon;return St("div",{className:"flex flex-col gap-0.5",children:[St("div",{className:o("inline-flex items-center gap-1.5","[font:var(--inkblot-semantic-typography-body-small)] font-medium",r.colorClass),children:[O(a,{className:"h-4 w-4 shrink-0"}),r.label]}),e?O("span",{className:o("[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:e}):null]})}import{Sparkles as Ri}from"lucide-react";import{File as Li}from"lucide-react";import{jsx as ne,jsxs as Lo}from"react/jsx-runtime";function Le({category:t,title:e,uses:r,onClick:a,className:i}){return Lo("button",{type:"button",onClick:a,className:o("flex flex-col gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-lg)]","bg-[var(--inkblot-semantic-color-background-secondary)]","border border-[var(--inkblot-semantic-color-border-subtle)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-5)]","text-left transition-colors duration-[var(--inkblot-duration-fast)]","hover:border-[var(--inkblot-semantic-color-border-default)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]",i),children:[Lo("div",{className:"flex items-start justify-between gap-2",children:[ne("span",{className:o("rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)]","bg-[var(--inkblot-semantic-color-background-tertiary)]","[font:var(--inkblot-semantic-typography-body-small)] font-medium","text-[var(--inkblot-semantic-color-text-primary)]"),children:t}),ne("span",{className:o("[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:r})]}),ne("h3",{className:o("[font:var(--inkblot-semantic-typography-body-large-bold)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:e}),ne("div",{className:"flex flex-1 items-end justify-center pt-[var(--inkblot-spacing-4)]",children:ne(Li,{className:o("h-10 w-10","text-[var(--inkblot-semantic-color-text-tertiary)]")})})]})}import{jsx as Re,jsxs as Cr}from"react/jsx-runtime";function Ae({title:t="EMAIL TEMPLATES",onGenerateWithAI:e,templates:r,onTemplateClick:a,className:i}){return Cr("section",{className:o("flex flex-col gap-[var(--inkblot-spacing-6)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-5)] shadow-[var(--inkblot-shadow-sm)]",i),children:[Cr("div",{className:"flex flex-col gap-[var(--inkblot-spacing-4)] sm:flex-row sm:items-center sm:justify-between",children:[Re("h2",{className:o("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:t}),e?Cr("button",{type:"button",onClick:e,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] w-fit items-center justify-center gap-2 rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)] font-medium","text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:border-[var(--inkblot-semantic-color-border-strong)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","transition-colors duration-[var(--inkblot-duration-fast)]"),children:[Re(Ri,{className:"h-4 w-4 shrink-0",style:{color:"var(--inkblot-semantic-color-status-warning)"}}),"Generate with AI"]}):null]}),Re("div",{className:"grid grid-cols-1 gap-[var(--inkblot-spacing-6)] sm:grid-cols-2",children:r.map(n=>Re(Le,{category:n.category,title:n.title,uses:n.uses,onClick:()=>a?.(n)},n.id))})]})}import{useRef as Ai}from"react";import{Loader2 as Di,Paperclip as Hi,Send as Bi,Sparkles as Oi}from"lucide-react";import{jsx as et,jsxs as wr}from"react/jsx-runtime";function Vt({promptValue:t="",onPromptChange:e,onPromptSubmit:r,onFilesAttach:a,isProcessing:i=!1,response:n,placeholder:s="Ask Citron Intelligence...",accept:c,multiple:l=!0,className:d}){let p=Ai(null),u=g=>{g.key==="Enter"&&!g.shiftKey&&(g.preventDefault(),r?.())},v=()=>{p.current?.click()},b=g=>{let N=g.target.files;N&&N.length>0&&a&&a(Array.from(N)),g.target.value=""};return wr("div",{className:o("flex w-full max-w-[80rem] flex-col gap-[var(--inkblot-spacing-3)]",d),children:[wr("div",{className:o("flex items-end gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-2)] shadow-[var(--inkblot-shadow-sm)]",i&&"pointer-events-none"),"aria-busy":i,children:[et("input",{ref:p,type:"file",accept:c,multiple:l,onChange:b,className:"sr-only","aria-hidden":!0}),et("button",{type:"button",onClick:v,disabled:i,className:o("flex h-9 w-9 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-full)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] text-[var(--inkblot-semantic-color-text-tertiary)] transition-[background,border-color,color] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]","hover:border-[var(--inkblot-semantic-color-border-strong)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)] hover:text-[var(--inkblot-semantic-color-text-secondary)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-secondary)]","disabled:pointer-events-none disabled:opacity-[var(--inkblot-opacity-disabled)]"),"aria-label":"Adjuntar archivos",children:et(Hi,{size:18,strokeWidth:1.7,"aria-hidden":!0})}),wr("div",{className:"relative flex min-w-0 flex-1 items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]",children:[et(Oi,{size:18,strokeWidth:1.7,className:"shrink-0 text-[var(--inkblot-semantic-color-text-tertiary)]","aria-hidden":!0}),et("textarea",{value:t,onChange:g=>e?.(g.target.value),onKeyDown:u,placeholder:s,rows:2,disabled:i,className:o("min-h-[2.5rem] min-w-0 flex-1 resize-none border-0 bg-transparent py-0 pr-[var(--inkblot-spacing-12)] [font:var(--inkblot-semantic-typography-body-medium)] text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]","focus:outline-none focus:ring-0","disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]")}),et("div",{className:o("absolute bottom-[var(--inkblot-spacing-2)] right-[var(--inkblot-spacing-2)] flex h-8 w-8 items-center justify-center rounded-[var(--inkblot-radius-full)]",i?"bg-[var(--inkblot-semantic-color-interactive-primary)]":""),children:i?et(Di,{size:16,strokeWidth:2,className:"animate-spin text-[var(--inkblot-semantic-color-text-inverse)]","aria-hidden":!0}):et("button",{type:"button",onClick:r,disabled:i,className:o("flex h-full w-full items-center justify-center rounded-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)] transition-[background,box-shadow] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]"),"aria-label":"Enviar",children:et(Bi,{size:16,strokeWidth:2,"aria-hidden":!0})})})]})]}),n?et("div",{className:"rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)]",children:et("div",{className:"min-w-0 [font:var(--inkblot-semantic-typography-body-medium)] text-[var(--inkblot-semantic-color-text-primary)]",children:n})}):null]})}import{ArrowUpRight as Vi,BadgeCheck as zi,Building2 as Fi,TrendingUp as Gi,UserRound as Wi,Users as Ki}from"lucide-react";import{jsx as V,jsxs as _}from"react/jsx-runtime";var $i={Person:"border-l-[var(--inkblot-semantic-color-status-info)]",Organization:"border-l-[var(--inkblot-semantic-color-status-warning)]",Deal:"border-l-[var(--inkblot-semantic-color-status-success)]"},_i={Person:Wi,Organization:Fi,Deal:zi},Ui={Person:"bg-[var(--inkblot-semantic-color-status-info)]/15 text-[var(--inkblot-semantic-color-status-info)]",Organization:"bg-[var(--inkblot-semantic-color-status-warning)]/15 text-[var(--inkblot-semantic-color-status-warning)]",Deal:"bg-[var(--inkblot-semantic-color-status-success)]/15 text-[var(--inkblot-semantic-color-status-success)]"},ji=[{label:"Contacts",value:"12",icon:Ki},{label:"Open Deals",value:"3",icon:Gi},{label:"Touchpoints",value:"47",icon:Vi}];function De({name:t,entityType:e,subtitle:r,statusLabel:a,metadata:i,edges:n=[],stats:s,connections:c,className:l}){let d=_i[e];if(s!==void 0||c!==void 0){let u=s??ji;return _("article",{className:o("glass flex flex-col gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-xl)] p-[var(--inkblot-spacing-5)]",l),children:[_("div",{className:"flex items-start justify-between",children:[_("div",{className:"flex items-center gap-[var(--inkblot-spacing-3)]",children:[V("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-interactive-primary)]/10",children:V(d,{className:"h-5 w-5 text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0})}),_("div",{children:[V("h3",{className:"text-sm font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:t}),r?V("p",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:r}):null]})]}),a?V("span",{className:"rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)]/10 px-2 py-0.5 font-mono text-xs text-[var(--inkblot-semantic-color-interactive-primary)]",children:a}):null]}),V("div",{className:"grid grid-cols-3 gap-[var(--inkblot-spacing-3)]",children:u.map(v=>{let b=v.icon;return _("div",{className:"rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)] p-[var(--inkblot-spacing-3)]",children:[_("div",{className:"mb-1 flex items-center gap-1.5",children:[b?V(b,{className:"h-3 w-3 text-[var(--inkblot-semantic-color-text-tertiary)]","aria-hidden":!0}):null,V("span",{className:"text-[10px] uppercase tracking-wider text-[var(--inkblot-semantic-color-text-tertiary)]",children:v.label})]}),V("span",{className:"text-lg font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:v.value})]},v.label)})}),c?_("div",{className:"flex items-center gap-2 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:[V("span",{className:"h-1.5 w-1.5 rounded-full bg-[var(--inkblot-semantic-color-interactive-primary)]"}),c]}):null]})}return _("article",{className:o("flex flex-col gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] border-l-4 bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-sm)]",$i[e],l),children:[_("div",{className:"flex items-start justify-between gap-[var(--inkblot-spacing-3)]",children:[_("div",{className:"flex items-center gap-[var(--inkblot-spacing-3)]",children:[V("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] text-[var(--inkblot-semantic-color-text-secondary)]",children:V(d,{className:"h-5 w-5","aria-hidden":!0})}),_("div",{className:"flex flex-col gap-[var(--inkblot-spacing-1)]",children:[V("h3",{className:"[font:var(--inkblot-semantic-typography-body-medium)] font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:t}),r?V("p",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:r}):V("span",{className:o("inline-flex w-fit items-center rounded-[var(--inkblot-radius-full)] px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)] [font:var(--inkblot-semantic-typography-body-small)] font-medium uppercase tracking-wide",Ui[e]),children:e})]})]}),a?V("span",{className:"rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)]/10 px-2 py-0.5 font-mono text-xs text-[var(--inkblot-semantic-color-interactive-primary)]",children:a}):null]}),i&&Object.keys(i).length>0?V("dl",{className:"grid grid-cols-1 gap-[var(--inkblot-spacing-2)] sm:grid-cols-2",children:Object.entries(i).map(([u,v])=>_("div",{className:"rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]",children:[V("dt",{className:"[font:var(--inkblot-semantic-typography-body-small)] uppercase tracking-wide text-[var(--inkblot-semantic-color-text-tertiary)]",children:u}),V("dd",{className:"[font:var(--inkblot-semantic-typography-body-medium)] text-[var(--inkblot-semantic-color-text-secondary)]",children:v})]},u))}):null,n.length>0?_("div",{className:"flex flex-col gap-[var(--inkblot-spacing-2)]",children:[V("h4",{className:"[font:var(--inkblot-semantic-typography-body-small)] font-medium uppercase tracking-wide text-[var(--inkblot-semantic-color-text-secondary)]",children:"Edges"}),V("ul",{className:"flex flex-wrap gap-[var(--inkblot-spacing-2)]",children:n.map((u,v)=>_("li",{className:"rounded-[var(--inkblot-radius-full)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-1)] [font:var(--inkblot-semantic-typography-body-small)] text-[var(--inkblot-semantic-color-text-secondary)]",children:[u.type,u.target?` \u2192 ${u.target}`:""]},v))})]}):null,c?_("div",{className:"flex items-center gap-2 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:[V("span",{className:"h-1.5 w-1.5 rounded-full bg-[var(--inkblot-semantic-color-interactive-primary)]"}),c]}):null]})}import{forwardRef as qi}from"react";import{jsx as Yi}from"react/jsx-runtime";var Et=qi(({className:t,error:e,disabled:r,...a},i)=>Yi("input",{ref:i,disabled:r,"aria-invalid":e,"aria-disabled":r,className:o("min-h-[var(--inkblot-size-touch-target-min)] w-full rounded-[var(--inkblot-radius-lg)] border bg-[var(--inkblot-semantic-color-background-secondary)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)] [font:var(--inkblot-semantic-typography-body-medium)] text-[var(--inkblot-semantic-color-text-primary)] shadow-[var(--inkblot-shadow-xs)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)] transition-[background,border-color,box-shadow] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--inkblot-semantic-color-background-primary)] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",e?"border-[var(--inkblot-semantic-color-status-error)] focus-visible:ring-[var(--inkblot-semantic-color-status-error)]":"border-[var(--inkblot-semantic-color-border-default)] hover:border-[var(--inkblot-semantic-color-border-strong)] hover:bg-[var(--inkblot-semantic-color-background-primary)]",t),...a}));Et.displayName="Input";import{Component as Xi}from"react";import{jsx as Tr,jsxs as Zi}from"react/jsx-runtime";var D=class extends Xi{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}render(){return this.state.hasError&&this.state.error?Zi("div",{role:"alert",className:o("flex flex-col gap-4 rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4",this.props.className),children:[Tr("p",{className:"text-base font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:"This module failed to load"}),Tr("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:this.state.error.message}),Tr(ae,{variant:"secondary",onClick:this.props.onRetry,className:"w-fit border-[var(--inkblot-semantic-color-status-error)]",children:"Retry"})]}):this.props.children}};import{jsx as lt,jsxs as Pr}from"react/jsx-runtime";function Ro({title:t,insights:e,stats:r=[],commandValue:a="",onCommandChange:i,onCommandSubmit:n,className:s}){let c=l=>{l.key==="Enter"&&(l.preventDefault(),n?.())};return lt(D,{className:s,children:Pr("div",{className:"flex flex-col gap-4 rounded-[var(--inkblot-radius-xl)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4",children:[lt("h2",{className:"text-xl font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:t}),e?lt("div",{className:"rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-interactive-primary)] p-4",style:{boxShadow:"0 0 12px var(--inkblot-semantic-color-interactive-primary)"},children:e}):null,r.length>0?Pr("div",{children:[lt("h3",{className:"mb-2 text-sm font-medium text-[var(--inkblot-semantic-color-text-secondary)]",children:"Connected To"}),lt("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3",children:r.map((l,d)=>Pr("div",{className:"rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)] px-3 py-2",children:[lt("span",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:l.label}),lt("p",{className:"text-sm font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:l.value})]},d))})]}):null,lt("div",{className:"mt-2",children:lt(Et,{type:"text",value:a,onChange:l=>i?.(l.target.value),onKeyDown:c,placeholder:"Ask about this entity...",className:"rounded-[var(--inkblot-radius-md)]"})})]})})}import{Component as Ji}from"react";import{jsx as Ao}from"react/jsx-runtime";var He=class extends Ji{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}render(){return this.state.hasError&&this.state.error?this.props.fallback?this.props.fallback:Ao("div",{className:o("inline-flex items-center gap-3 rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-tertiary)] px-4 py-3 text-[var(--inkblot-semantic-color-text-secondary)]",this.props.className),role:"alert",children:Ao("span",{className:"text-sm font-medium",children:"Something went wrong"})}):this.props.children}};import{jsx as ts}from"react/jsx-runtime";var Qi={success:"border-[var(--inkblot-semantic-color-status-success)] bg-[var(--inkblot-semantic-color-status-success)]/10 text-[var(--inkblot-semantic-color-status-success)]",warning:"border-[var(--inkblot-semantic-color-status-warning)] bg-[var(--inkblot-semantic-color-status-warning)]/10 text-[var(--inkblot-semantic-color-status-warning)]",error:"border-[var(--inkblot-semantic-color-status-error)] bg-[var(--inkblot-semantic-color-status-error)]/10 text-[var(--inkblot-semantic-color-status-error)]",info:"border-[var(--inkblot-semantic-color-status-info)] bg-[var(--inkblot-semantic-color-status-info)]/10 text-[var(--inkblot-semantic-color-status-info)]"};function Be({label:t,variant:e="info",className:r}){return ts("span",{className:o("inline-flex items-center rounded-[var(--inkblot-radius-md)] border px-2 py-0.5 text-xs font-medium",Qi[e],r),children:t})}import{jsx as zt,jsxs as rs}from"react/jsx-runtime";function es(t){return t>=.8?"success":t>=.5?"info":t>=.2?"warning":"error"}function Oe({event:t,className:e}){let r=es(t.confidence_score),a=`${Math.round(t.confidence_score*100)}%`;return rs("div",{className:o("flex flex-wrap items-center gap-2 rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4",e),children:[zt("span",{className:"text-sm font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:t.actor}),zt("span",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:"\u2192"}),zt("span",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:t.subject}),zt("span",{className:"rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)] px-2 py-0.5 text-xs text-[var(--inkblot-semantic-color-text-secondary)]",children:t.event_type}),zt("span",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:t.timestamp}),zt(Be,{label:a,variant:r})]})}import{Clock3 as os}from"lucide-react";import{jsx as bt,jsxs as Do}from"react/jsx-runtime";var as={success:"bg-[var(--inkblot-semantic-color-status-success)]",warning:"bg-[var(--inkblot-semantic-color-status-warning)]",error:"bg-[var(--inkblot-semantic-color-status-error)]",info:"bg-[var(--inkblot-semantic-color-status-info)]"};function ns(){return bt(os,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-text-tertiary)]","aria-hidden":!0})}function Ho({events:t,className:e}){return bt(D,{className:e,children:bt("div",{className:o("flex flex-col gap-[var(--inkblot-spacing-3)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-sm)]"),children:t.map(r=>Do("div",{className:"flex items-start gap-[var(--inkblot-spacing-3)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]/60 bg-[var(--inkblot-semantic-color-background-primary)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]",children:[bt("div",{className:"mt-[var(--inkblot-spacing-1)] flex h-7 w-7 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)]",children:r.icon??bt(ns,{})}),Do("div",{className:"min-w-0 flex-1",children:[bt("p",{className:"[font:var(--inkblot-semantic-typography-body-medium)] font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:r.title}),bt("p",{className:"[font:var(--inkblot-semantic-typography-body-small)] text-[var(--inkblot-semantic-color-text-tertiary)]",children:r.timestamp})]}),r.status?bt("div",{className:o("mt-[var(--inkblot-spacing-2)] h-2 w-2 shrink-0 rounded-[var(--inkblot-radius-full)]",as[r.status]),"aria-hidden":!0}):null]},r.id))})})}import{TrendingDown as is,TrendingUp as ss}from"lucide-react";import{jsx as ut,jsxs as ie}from"react/jsx-runtime";var Sr=36,Mr=2*Math.PI*Sr;function Ve({label:t,value:e,subtext:r,trend:a,className:i}){let n=Math.min(100,Math.max(0,e)),s=Mr-n/100*Mr;return ut(D,{className:i,children:ie("div",{className:"flex flex-col items-center gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-sm)]",children:[ie("div",{className:"relative",children:[ie("svg",{width:"96",height:"96",viewBox:"0 0 96 96",className:"-rotate-90",children:[ut("circle",{cx:"48",cy:"48",r:Sr,fill:"none",stroke:"var(--inkblot-semantic-color-background-tertiary)",strokeWidth:"4"}),ut("circle",{cx:"48",cy:"48",r:Sr,fill:"none",stroke:"var(--inkblot-semantic-color-interactive-primary)",strokeWidth:"4",strokeDasharray:Mr,strokeDashoffset:s,strokeLinecap:"round",className:"transition-[stroke-dashoffset] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]"})]}),ut("div",{className:"absolute inset-0 flex flex-col items-center justify-center",children:ie("span",{className:"flex items-center gap-[var(--inkblot-spacing-1)] [font:var(--inkblot-semantic-typography-heading-small)] font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:[n,"%",a==="up"?ut(ss,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-status-success)]","aria-hidden":!0}):a==="down"?ut(is,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-status-error)]","aria-hidden":!0}):null]})})]}),ie("div",{className:"text-center",children:[ut("p",{className:"[font:var(--inkblot-semantic-typography-body-medium)] font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:t}),r?ut("p",{className:"[font:var(--inkblot-semantic-typography-body-small)] text-[var(--inkblot-semantic-color-text-tertiary)]",children:r}):null]})]})})}import{jsx as It,jsxs as ds}from"react/jsx-runtime";var ls={default:"text-[var(--inkblot-semantic-color-text-primary)]",success:"text-[var(--inkblot-semantic-color-status-success)]",warning:"text-[var(--inkblot-semantic-color-status-warning)]",error:"text-[var(--inkblot-semantic-color-status-error)]"};function cs({className:t}){return It("svg",{viewBox:"0 0 16 16",className:o("h-4 w-4",t),"aria-hidden":!0,children:It("path",{fill:"currentColor",d:"M6 4l4 4-4 4V4z"})})}function Bo({items:t,className:e}){return It(D,{className:e,children:It("ul",{className:o("flex flex-col gap-4 py-2"),children:t.map((r,a)=>ds("li",{className:"flex items-center justify-between gap-4",children:[It("span",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:r.label}),It("span",{className:o("flex items-center gap-1 text-sm font-medium",ls[r.variant??"default"]),children:r.value!=null?r.value:It(cs,{})})]},a))})})}import{jsx as ms}from"react/jsx-runtime";function vt({className:t,...e}){return ms("div",{className:o("animate-shimmer rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]/40 bg-[length:200%_100%] bg-[linear-gradient(90deg,var(--inkblot-semantic-color-background-secondary)_0%,var(--inkblot-semantic-color-background-tertiary)_50%,var(--inkblot-semantic-color-background-secondary)_100%)]",t),...e})}import{jsx as se,jsxs as ps}from"react/jsx-runtime";function Ft({className:t,...e}){return ps("div",{className:o("flex flex-col gap-[var(--inkblot-spacing-3)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-sm)]",t),...e,children:[se(vt,{className:"h-8 w-3/5"}),se(vt,{className:"h-4 w-full"}),se(vt,{className:"h-4 w-11/12"}),se(vt,{className:"h-4 w-4/5"}),se(vt,{className:"h-4 w-2/3"})]})}import{jsx as ze,jsxs as Oo}from"react/jsx-runtime";function Fe({children:t,loading:e=!1,title:r,className:a,onRetry:i}){return ze(D,{className:a,onRetry:i,children:e?Oo("div",{className:o("flex flex-col gap-4",a),children:[r?ze("h2",{className:"text-lg font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:r}):null,ze(Ft,{})]}):Oo("div",{className:o("flex flex-col gap-4",a),children:[r?ze("h2",{className:"text-lg font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:r}):null,t]})})}import{Plus as bs}from"lucide-react";import{jsx as le,jsxs as Ge}from"react/jsx-runtime";function Gt({title:t,subtitle:e,icon:r,action:a,className:i}){return Ge("header",{className:o("flex flex-col gap-2 sm:flex-row sm:items-start sm:justify-between","pb-[var(--inkblot-spacing-2)]",i),children:[Ge("div",{className:"flex items-start gap-[var(--inkblot-spacing-3)]",children:[r?le("div",{className:o("flex h-10 w-10 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-lg)]","bg-[var(--inkblot-semantic-color-background-secondary)]","[color:var(--inkblot-semantic-color-status-warning)]"),children:r}):null,Ge("div",{className:"min-w-0",children:[le("h1",{className:o("text-[var(--inkblot-semantic-color-text-primary)]","[font:var(--inkblot-semantic-typography-heading-medium)]"),children:t}),e?le("p",{className:o("mt-0.5 text-[var(--inkblot-semantic-color-text-secondary)]","[font:var(--inkblot-semantic-typography-body-small)]"),children:e}):null]})]}),a?le("div",{className:"mt-[var(--inkblot-spacing-4)] shrink-0 sm:mt-0",children:a}):null]})}function Wt({label:t,onClick:e,icon:r,className:a}){return Ge("button",{type:"button",onClick:e,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center gap-2 rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]","[font:var(--inkblot-semantic-typography-body-medium)] font-semibold","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","transition-colors duration-[var(--inkblot-duration-fast)]",a),children:[r??le(bs,{className:"h-4 w-4"}),t]})}import{Link as us}from"react-router-dom";import{jsx as Er,jsxs as Vo}from"react/jsx-runtime";function We({resetErrorBoundary:t}){return Vo("div",{role:"alert",className:o("flex min-h-[50vh] flex-col items-center justify-center gap-[var(--inkblot-spacing-6)] px-[var(--inkblot-spacing-6)] py-[var(--inkblot-spacing-8)]","bg-[var(--inkblot-semantic-color-background-primary)]","[font:var(--inkblot-semantic-typography-body-small)]"),children:[Er("p",{className:"text-center text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-heading-medium)]",children:"Esta p\xE1gina no est\xE1 disponible"}),Vo("div",{className:"flex flex-col items-center gap-[var(--inkblot-spacing-4)] sm:flex-row",children:[Er("button",{type:"button",onClick:t,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","transition-colors duration-[var(--inkblot-duration-fast)]"),children:"Reintentar"}),Er(us,{to:"/",className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","text-[var(--inkblot-semantic-color-interactive-primary)] underline-offset-4 hover:underline","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","transition-colors duration-[var(--inkblot-duration-fast)]"),children:"Ir al inicio"})]})]})}import{ErrorBoundary as vs}from"react-error-boundary";import{useNavigate as gs}from"react-router-dom";import{jsx as fs}from"react/jsx-runtime";function zo({children:t,fallback:e}){let r=gs();return fs(vs,{FallbackComponent:e??We,onReset:()=>{r("/")},children:t})}import{forwardRef as ks}from"react";import{Search as ys}from"lucide-react";import{jsx as Ir,jsxs as Fo}from"react/jsx-runtime";var gt=ks(({className:t,label:e,error:r,disabled:a,...i},n)=>Fo("div",{className:"flex flex-col gap-1",children:[e?Ir("label",{htmlFor:i.id,className:o("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:e}):null,Fo("div",{className:o("flex items-center gap-2 rounded-[var(--inkblot-radius-full)]","bg-[var(--inkblot-semantic-color-background-secondary)]","border transition-colors duration-[var(--inkblot-duration-fast)]","focus-within:ring-2 focus-within:ring-[var(--inkblot-semantic-color-border-focus)] focus-within:ring-offset-2 focus-within:ring-offset-[var(--inkblot-semantic-color-background-primary)]",r?"border-[var(--inkblot-semantic-color-status-error)]":"border-[var(--inkblot-semantic-color-border-default)] hover:border-[var(--inkblot-semantic-color-border-strong)]",a&&"opacity-[var(--inkblot-opacity-disabled)] pointer-events-none cursor-not-allowed"),children:[Ir(ys,{className:o("ml-[var(--inkblot-spacing-4)] h-4 w-4 shrink-0","text-[var(--inkblot-semantic-color-text-tertiary)]")}),Ir("input",{ref:n,type:"search",disabled:a,"aria-invalid":r,"aria-label":e??"Search",className:o("min-h-[var(--inkblot-size-touch-target-min)] w-full flex-1 bg-transparent px-2 py-[var(--inkblot-spacing-2)] pr-[var(--inkblot-spacing-4)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]","focus:outline-none","disabled:cursor-not-allowed",t),...i})]})]}));gt.displayName="SearchBar";import{jsx as xs}from"react/jsx-runtime";function Go({children:t,columns:e=4,className:r}){return xs("div",{className:o("grid gap-[var(--inkblot-spacing-4)]",{1:"grid-cols-1",2:"grid-cols-1 sm:grid-cols-2",3:"grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",4:"grid-cols-1 sm:grid-cols-2 lg:grid-cols-4"}[e],r),children:t})}import{useCallback as hs,useMemo as Ns,useState as Cs}from"react";import{jsx as ce,jsxs as ws}from"react/jsx-runtime";function Wo({items:t,activeItemId:e,defaultActiveItemId:r,onActiveItemChange:a,onItemClick:i,className:n}){let s=Ns(()=>r!==void 0?r:t.find(v=>v.active)?.id,[r,t]),[c,l]=Cs(s),d=e!==void 0,p=d?e:c,u=hs((v,b)=>{if(b.disabled){v.preventDefault();return}d||l(b.id),i?.(b.id,b),b.onClick?.(b.id),a?.(b.id,b)},[d,a,i]);return ce(D,{className:n,children:ce("nav",{className:o("flex w-16 flex-col items-center gap-[var(--inkblot-spacing-2)] border-r border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-4)]"),"aria-label":"Navigation",children:t.map(v=>{let b=p?v.id===p:!!v.active;return ws("button",{type:"button",disabled:v.disabled,onClick:g=>u(g,v),"aria-current":b?"page":void 0,className:o("relative flex w-full flex-col items-center gap-[var(--inkblot-spacing-1)] rounded-[var(--inkblot-radius-lg)] border border-transparent px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-2)] transition-[background,border-color,color] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",b?"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] text-[var(--inkblot-semantic-color-interactive-primary)]":"text-[var(--inkblot-semantic-color-text-tertiary)] hover:bg-[var(--inkblot-semantic-color-background-primary)] hover:text-[var(--inkblot-semantic-color-text-secondary)]","disabled:pointer-events-none disabled:opacity-[var(--inkblot-opacity-disabled)]"),children:[b?ce("span",{className:"absolute left-[-0.5rem] top-1/2 h-6 w-1 -translate-y-1/2 rounded-r-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0}):null,ce("div",{className:"flex h-8 w-8 items-center justify-center [&>svg]:h-5 [&>svg]:w-5",children:v.icon}),v.label?ce("span",{className:"[font:var(--inkblot-semantic-typography-body-small)] font-medium",children:v.label}):null]},v.id)})})})}import{jsx as Z,jsxs as Lr}from"react/jsx-runtime";var Ko={success:"text-[var(--inkblot-semantic-color-status-success)]",error:"text-[var(--inkblot-semantic-color-status-error)]",neutral:"text-[var(--inkblot-semantic-color-text-secondary)]"};function Ke({items:t,className:e}){return Z("div",{className:o("grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",e),children:t.map(r=>Z(Ts,{item:r},r.label))})}function Ts({item:t}){let e=t.changeVariant??"neutral",r=Ko[e];return Lr("div",{className:o("flex flex-col gap-1 rounded-[var(--inkblot-radius-lg)]","bg-[var(--inkblot-semantic-color-background-secondary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-4)]","border border-[var(--inkblot-semantic-color-border-subtle)]"),children:[Z("span",{className:o("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:t.label}),Z("span",{className:o("[font:var(--inkblot-semantic-typography-heading-medium)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:t.value}),t.change?Z("span",{className:o("[font:var(--inkblot-semantic-typography-body-small)]",r),children:t.change}):null]})}function $o({items:t,className:e}){return Z("div",{className:o("grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",e),children:t.map(r=>Z(Ps,{item:r},r.label))})}function Ps({item:t}){let e=t.changeVariant??"neutral",r=Ko[e],a=t.chartData??[],i=Math.max(...a,1);return Lr("div",{className:o("flex flex-col gap-2 rounded-[var(--inkblot-radius-lg)]","bg-[var(--inkblot-semantic-color-background-secondary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-4)]","border border-[var(--inkblot-semantic-color-border-subtle)]"),children:[Z("span",{className:o("uppercase tracking-wider","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:t.label}),Lr("div",{className:"flex items-end justify-between gap-2",children:[Z("span",{className:o("[font:var(--inkblot-semantic-typography-heading-medium)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:t.value}),a.length>0?Z("div",{className:"flex h-8 items-end gap-0.5",children:a.map((n,s)=>Z("div",{className:"w-1 min-w-[2px] rounded-sm bg-[var(--inkblot-semantic-color-interactive-primary)] opacity-80",style:{height:`${n/i*100}%`,minHeight:4}},s))}):null]}),t.change?Z("span",{className:o("[font:var(--inkblot-semantic-typography-body-small)]",r),children:t.change}):null]})}import{jsx as _o,jsxs as Ms}from"react/jsx-runtime";function $e({tabs:t,activeTabId:e,onTabChange:r,className:a}){return _o("nav",{role:"tablist","aria-label":"Tabs",className:o("flex gap-0 pt-[var(--inkblot-spacing-2)]",a),children:t.map(i=>{let n=i.id===e;return Ms("button",{role:"tab","aria-selected":n,"aria-controls":`panel-${i.id}`,id:`tab-${i.id}`,type:"button",onClick:()=>r(i.id),className:o("relative px-[var(--inkblot-spacing-5)] py-[var(--inkblot-spacing-4)]","[font:var(--inkblot-semantic-typography-body-medium)]","transition-colors duration-[var(--inkblot-duration-fast)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]",n?["font-semibold text-[var(--inkblot-semantic-color-text-primary)]","bg-[var(--inkblot-semantic-color-background-secondary)]","rounded-t-[var(--inkblot-radius-lg)]"]:["text-[var(--inkblot-semantic-color-text-secondary)]","hover:text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-background-secondary)]/50"]),children:[i.label,n?_o("span",{className:"absolute bottom-0 left-0 right-0 h-0.5 rounded-full bg-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0}):null]},i.id)})})}import{Calendar as Ss,Check as Es,User as Is}from"lucide-react";import{jsx as Lt,jsxs as de}from"react/jsx-runtime";var Ls={urgent:"bg-[var(--inkblot-semantic-color-status-error)]/20 text-[var(--inkblot-semantic-color-status-error)] border-[var(--inkblot-semantic-color-status-error)]/30",high:"bg-[var(--inkblot-semantic-color-status-warning)]/20 text-[var(--inkblot-semantic-color-status-warning)] border-[var(--inkblot-semantic-color-status-warning)]/30",medium:"bg-[var(--inkblot-semantic-color-status-success)]/10 text-[var(--inkblot-semantic-color-status-success)] border-[var(--inkblot-semantic-color-status-success)]/30",low:"bg-[var(--inkblot-semantic-color-background-tertiary)] text-[var(--inkblot-semantic-color-text-secondary)] border-[var(--inkblot-semantic-color-border-subtle)]"};function _e({id:t,title:e,company:r,priority:a,date:i,assignee:n,completed:s=!1,onToggle:c,onClick:l,className:d}){let p=Ls[a];return de("div",{role:"button",tabIndex:0,onClick:()=>l?.(t),onKeyDown:u=>{(u.key==="Enter"||u.key===" ")&&(u.preventDefault(),l?.(t))},className:o("flex items-center gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-subtle)]","bg-[var(--inkblot-semantic-color-background-secondary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]","transition-colors duration-[var(--inkblot-duration-fast)]","hover:border-[var(--inkblot-semantic-color-border-default)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]","cursor-pointer",d),children:[Lt("button",{type:"button",onClick:u=>{u.stopPropagation(),c?.(t)},"aria-label":s?"Mark as incomplete":"Mark as complete","aria-pressed":s,className:o("flex h-5 w-5 shrink-0 items-center justify-center rounded-full","transition-colors duration-[var(--inkblot-duration-fast)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]",s?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"border-2 border-[var(--inkblot-semantic-color-border-default)] bg-transparent"),children:s?Lt(Es,{className:"h-3 w-3",strokeWidth:3}):null}),de("div",{className:"min-w-0 flex-1",children:[Lt("p",{className:o("[font:var(--inkblot-semantic-typography-body-large-bold)]","text-[var(--inkblot-semantic-color-text-primary)]",s&&"line-through text-[var(--inkblot-semantic-color-text-secondary)]"),children:e}),Lt("p",{className:o("mt-0.5 [font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]",s&&"line-through"),children:r})]}),de("div",{className:"flex shrink-0 flex-wrap items-center justify-end gap-[var(--inkblot-spacing-3)]",children:[Lt("span",{className:o("rounded-[var(--inkblot-radius-md)] border px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)]","[font:var(--inkblot-semantic-typography-body-small)] font-medium",p),children:a.charAt(0).toUpperCase()+a.slice(1)}),de("span",{className:o("flex items-center gap-1","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:[Lt(Ss,{className:"h-4 w-4 shrink-0 text-[var(--inkblot-semantic-color-text-tertiary)]"}),i]}),de("span",{className:o("flex items-center gap-1","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:[Lt(Is,{className:"h-4 w-4 shrink-0 text-[var(--inkblot-semantic-color-text-tertiary)]"}),n]})]})]})}import{CircleDot as Rs,Clock as As,CheckCircle as Ds}from"lucide-react";import{jsx as Kt,jsxs as Uo}from"react/jsx-runtime";var Hs={todo:Rs,in_progress:As,done:Ds};function Ue({sections:t,onTaskToggle:e,onTaskClick:r,className:a}){return Kt("div",{className:o("flex flex-col gap-[var(--inkblot-spacing-8)]",a),children:t.map(i=>{let n=Hs[i.id],s=i.id==="done";return Uo("section",{className:"flex flex-col gap-[var(--inkblot-spacing-4)]",children:[Uo("div",{className:"flex items-center gap-[var(--inkblot-spacing-3)]",children:[Kt(n,{className:o("h-5 w-5 shrink-0",s?"text-[var(--inkblot-semantic-color-interactive-primary)]":"text-[var(--inkblot-semantic-color-text-secondary)]")}),Kt("h2",{className:o("[font:var(--inkblot-semantic-typography-body-large-bold)]","text-[var(--inkblot-semantic-color-text-primary)]"),children:i.label}),Kt("span",{className:o("rounded-[var(--inkblot-radius-full)] px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)]","bg-[var(--inkblot-semantic-color-background-secondary)]","[font:var(--inkblot-semantic-typography-body-small)] font-medium","text-[var(--inkblot-semantic-color-text-primary)]"),children:i.count})]}),Kt("div",{className:"flex flex-col gap-[var(--inkblot-spacing-3)]",children:i.tasks.map(c=>Kt(_e,{...c,completed:s,onToggle:e,onClick:r},c.id))})]},i.id)})})}import{Mail as jo,FileText as je,Zap as Bs,Phone as qo,Link2 as Os}from"lucide-react";import{jsx as rt,jsxs as Yo}from"react/jsx-runtime";function Vs(t){return t>=.8?"bg-[var(--inkblot-semantic-color-status-success)]":t>=.5?"bg-[var(--inkblot-semantic-color-status-info)]":t>=.2?"bg-[var(--inkblot-semantic-color-status-warning)]":"bg-[var(--inkblot-semantic-color-status-error)]"}var zs={EMAIL_OPENED:jo,EMAIL_SENT:jo,INVOICE_PAID:je,INVOICE_OVERDUE:je,CONTRACT_SIGNED:je,STAGE_CHANGED:Bs,CALL_COMPLETED:qo,PHONE_CALL:qo,RELATIONSHIP_DETECTED:Os};function Fs(t){return zs[t]??je}function Gs(t){return t.metadata?.description??t.event_type.replace(/_/g," ").toLowerCase()}function Ws(t){return t.metadata?.details??`${t.actor} - ${t.subject}`}function qe({events:t,onEntitySelect:e,findEntity:r,emptyMessage:a="No hay actividad reciente",className:i}){let n=e?s=>{let c=r?.(s.subject)??r?.(s.actor);c&&e(c)}:void 0;return rt(D,{children:rt("div",{className:o("space-y-2",i),children:t.length===0?rt("p",{className:"py-6 text-center text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:a}):t.map(s=>{let l=!!(r?.(s.subject)??r?.(s.actor))&&!!n,d=Fs(s.event_type),p=Yo("div",{className:"flex flex-1 items-center gap-3",children:[rt(d,{className:"h-4 w-4 shrink-0 text-[var(--inkblot-semantic-color-text-secondary)]","aria-hidden":!0}),rt("div",{className:`h-2 w-2 shrink-0 rounded-full ${Vs(s.confidence_score)}`,"aria-hidden":!0}),Yo("div",{className:"min-w-0 flex-1",children:[rt("p",{className:"text-sm font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:Gs(s)}),rt("p",{className:"text-xs text-[var(--inkblot-semantic-color-text-secondary)]",children:Ws(s)})]}),rt("span",{className:"shrink-0 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:s.timestamp})]}),u=s.id??`${s.actor}-${s.subject}-${s.timestamp}`;return rt("div",{children:l?rt("button",{type:"button",onClick:()=>n(s),className:"flex w-full items-center gap-3 rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-secondary)] p-3 text-left transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)] focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)] focus:ring-offset-2 focus:ring-offset-[var(--inkblot-semantic-color-background-primary)]",children:p}):rt("div",{className:"flex w-full items-center gap-3 rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-secondary)] p-3",children:p})},u)})})})}import{NavLink as Ks}from"react-router-dom";import{ClipboardList as $s,Brain as _s,BarChart3 as Us,Network as js,Activity as qs,Settings as Ys,Sparkles as Xs}from"lucide-react";import{jsx as Rt,jsxs as Js}from"react/jsx-runtime";var Zs=[{id:"home",path:"/",icon:$s,label:"Home"},{id:"intelligence",path:"/intelligence",icon:_s,label:"Intelligence"},{id:"pipeline",path:"/pipeline",icon:Us,label:"Pipeline"},{id:"graph",path:"/graph",icon:js,label:"Graph"},{id:"events",path:"/events",icon:qs,label:"Events"},{id:"settings",path:"/settings",icon:Ys,label:"Settings"}];function Xo({items:t=Zs,brandLogo:e,brandTitle:r="Command Canvas \u2014 AI-native Interface",className:a}){return Rt(D,{children:Js("nav",{className:o("flex h-full flex-col gap-[var(--inkblot-spacing-4)] border-r border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-3)]",a),children:[Rt("div",{className:"flex flex-col items-center gap-2",children:Rt("div",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] shadow-[var(--inkblot-shadow-sm)]",title:r,children:e??Rt(Xs,{className:"h-5 w-5 text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0})})}),Rt("div",{className:"flex flex-1 flex-col gap-[var(--inkblot-spacing-2)]",children:t.map(i=>{let n=i.icon;return Rt(Ks,{to:i.path,end:i.path==="/","aria-label":i.label,className:({isActive:s})=>`flex items-center justify-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-lg)] border border-transparent px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-2)] transition-[background,border-color,color] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] ${s?"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] text-[var(--inkblot-semantic-color-interactive-primary)]":"text-[var(--inkblot-semantic-color-text-secondary)] hover:border-[var(--inkblot-semantic-color-border-default)]/60 hover:bg-[var(--inkblot-semantic-color-background-primary)]"}`,children:Rt(n,{size:20,"aria-hidden":!0})},i.id)})})]})})}import{useState as Ye,useCallback as Qs,useRef as tl,useEffect as el}from"react";import{jsx as K,jsxs as Xe}from"react/jsx-runtime";function rl(t){let e=t.toLowerCase();return e.includes("entity")||e.includes("company")||e.includes("person")||e.includes("deal")||e.includes("profile")||e.includes("org")?"entity":e.includes("event")||e.includes("activity")||e.includes("recent")||e.includes("stream")||e.includes("log")?"event":"general"}function ol({entities:t}){let e=t[0];return e?Xe("div",{className:"space-y-3",children:[K("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:"Here's the entity profile and current intelligence scores:"}),K(De,{name:e.name,entityType:e.type,metadata:e.metadata,edges:[{type:"WORKS_WITH",target:t[1]?.name},{type:"MANAGES",target:t[4]?.name}]})]}):null}function al({events:t}){return Xe("div",{className:"space-y-2",children:[K("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:"Latest activity from the event bus:"}),t.slice(0,5).map(e=>K(Oe,{event:e},e.id??`${e.actor}-${e.subject}-${e.timestamp}`))]})}function nl(){return K("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-primary)]",children:"Revenue confidence is trending upward at 78%. Momentum score increased 12% this week driven by 3 new meetings with Acme Corp. Churn risk remains low at 15% across the active pipeline."})}function Zo({entities:t,events:e,onFocusEntity:r,findEntity:a,placeholder:i="Ask anything \u2014 deals, contacts, forecasts...",emptyMessage:n="Escribe para comenzar...",className:s}){let[c,l]=Ye(""),[d,p]=Ye([]),[u,v]=Ye(!1),[b,g]=Ye(new Map),N=tl(null);el(()=>{N.current&&(N.current.scrollTop=N.current.scrollHeight)},[d,u]);let w=Qs(()=>{let x=c.trim();if(!x||u)return;let E=a?.(x);E&&r&&r(E);let T={id:`msg-${Date.now()}`,role:"user",content:x,timestamp:new Date().toISOString()},h=rl(x);p(k=>[...k,T]),l(""),v(!0),setTimeout(()=>{let k={id:`msg-${Date.now()}-res`,role:"assistant",content:"",intent:h,timestamp:new Date().toISOString()},m;switch(h){case"entity":m=K(ol,{entities:t});break;case"event":m=K(al,{events:e});break;default:m=K(nl,{})}g(y=>{let C=new Map(y);return C.set(k.id,m),C}),p(y=>[...y,k]),v(!1)},1e3)},[c,u,t,e,r,a]);return Xe("div",{className:o("flex h-full flex-col",s),children:[Xe("div",{ref:N,className:"flex-1 space-y-4 overflow-y-auto p-4",children:[d.length===0&&!u?K("div",{className:"flex flex-1 items-center justify-center py-12",children:K("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:n})}):d.map(x=>K("div",{className:"flex flex-col gap-2",children:x.role==="user"?K("div",{className:"flex justify-end",children:K("div",{className:"max-w-[80%] rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-interactive-primary)] px-4 py-3 text-sm text-[var(--inkblot-semantic-color-text-primary)]",children:x.content})}):K("div",{className:"max-w-[90%]",children:b.get(x.id)??K("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-primary)]",children:x.content})})},x.id)),u&&K("div",{className:"max-w-[70%]",children:K(Ft,{className:"animate-shimmer"})})]}),K("div",{className:"shrink-0 border-t border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-4",children:K(Vt,{promptValue:c,onPromptChange:l,onPromptSubmit:w,isProcessing:u,placeholder:i})})]})}import{Sparkles as il}from"lucide-react";import{jsx as me,jsxs as Jo}from"react/jsx-runtime";function Qo({prompt:t,onPromptChange:e,onSubmit:r,isProcessing:a,placeholder:i="Ask anything \u2014 deals, contacts, forecasts...",subtitle:n="Citron OS v1.0 \u2014 AI-native Revenue & Operations Platform",className:s}){return Jo("div",{className:o("border-t border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-[var(--inkblot-spacing-6)] py-[var(--inkblot-spacing-4)]",s),children:[Jo("div",{className:"flex items-start gap-[var(--inkblot-spacing-3)]",children:[me("div",{className:"mt-[var(--inkblot-spacing-1)] flex h-10 w-10 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)]",children:me(il,{className:"h-5 w-5 text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0})}),me("div",{className:"flex-1",children:me(Vt,{promptValue:t,onPromptChange:e,onPromptSubmit:r,isProcessing:a,placeholder:i})})]}),n&&me("p",{className:"mt-[var(--inkblot-spacing-2)] [font:var(--inkblot-semantic-typography-body-small)] text-[var(--inkblot-semantic-color-text-tertiary)]",children:n})]})}import{jsx as $t,jsxs as Rr}from"react/jsx-runtime";function ta({events:t,title:e="Event Stream",showLive:r=!0,className:a}){return $t(D,{children:Rr("div",{className:o("flex h-full flex-col bg-[var(--inkblot-semantic-color-background-secondary)]",a),children:[Rr("div",{className:"flex shrink-0 items-center justify-between border-b border-[var(--inkblot-semantic-color-border-default)] px-4 py-3",children:[$t("span",{className:"text-xs font-medium uppercase tracking-wider text-[var(--inkblot-semantic-color-text-secondary)]",children:e}),r&&Rr("div",{className:"flex items-center gap-2",children:[$t("div",{className:"h-2 w-2 rounded-full bg-[var(--inkblot-semantic-color-status-success)]"}),$t("span",{className:"text-xs text-[var(--inkblot-semantic-color-status-success)]",children:"Live"})]})]}),$t("div",{className:"flex-1 overflow-auto p-4",children:$t(qe,{events:t})})]})})}import{jsx as Y,jsxs as At}from"react/jsx-runtime";var sl=[{label:"Pipeline Health",value:76},{label:"Churn Risk",value:28},{label:"Expansion Signal",value:64},{label:"Team Velocity",value:83}],ll=[{title:"Acme Corp likely to close within 14 days",description:"Based on email sentiment, meeting cadence, and champion engagement patterns.",confidence:89},{title:"Churn risk detected: GlobalTech Inc",description:"Declining touchpoints and support ticket volume suggest potential churn.",confidence:74},{title:"Expansion opportunity: TechVentures",description:"Usage patterns and NPS scores indicate readiness for upsell conversation.",confidence:81}];function ea({loading:t,kpiCards:e=sl,aiInsights:r=ll,title:a="Intelligence Lab",subtitle:i="AI-generated insights - Updated 3 min ago",className:n}){return At("div",{className:o("flex h-full flex-col gap-4 overflow-y-auto p-4",n),children:[At("div",{children:[Y("h1",{className:"text-2xl font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:a}),Y("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:i})]}),Y(Fe,{loading:t,title:"",children:Y(D,{children:At("div",{className:"flex flex-col gap-4",children:[Y("div",{className:"grid grid-cols-2 gap-4 lg:grid-cols-4",children:e.map(s=>Y(Ve,{label:s.label,value:s.value,subtext:s.subtext,trend:s.trend},s.label))}),At("div",{children:[Y("h2",{className:"mb-4 border-b border-[var(--inkblot-semantic-color-border-default)] pb-2 text-sm font-bold uppercase tracking-wider text-[var(--inkblot-semantic-color-text-primary)]",children:"AI Insights"}),Y("div",{className:"flex flex-col gap-4",children:r.map(s=>Y(D,{children:At("div",{className:"flex items-start justify-between gap-4 rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4",children:[At("div",{className:"min-w-0 flex-1",children:[Y("h3",{className:"font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:s.title}),Y("p",{className:"mt-1 text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:s.description})]}),At("div",{className:"flex shrink-0 flex-col items-center",children:[Y("span",{className:"text-lg font-bold text-[var(--inkblot-semantic-color-text-primary)]",children:s.confidence}),Y("span",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Conf."})]})]})},s.title))})]})]})})})]})}import{jsx as pe,jsxs as Ar}from"react/jsx-runtime";function ra({navigation:t,eventStream:e,commandBar:r,children:a,className:i,eventStreamWidth:n="w-80"}){return Ar("div",{className:o("flex h-screen w-screen overflow-hidden bg-[var(--inkblot-semantic-color-background-primary)]",i),children:[pe("aside",{className:"flex h-full w-16 shrink-0 flex-col border-r border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)]",children:t}),pe("main",{className:"flex flex-1 flex-col overflow-hidden",children:Ar("div",{className:"flex min-h-0 flex-1",children:[Ar("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden bg-[var(--inkblot-semantic-color-background-primary)]",children:[pe("div",{className:"flex-1 overflow-auto px-[var(--inkblot-spacing-6)] py-[var(--inkblot-spacing-6)]",children:a}),pe("div",{className:"shrink-0 border-t border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)]",children:r})]}),e&&pe("aside",{className:o("flex h-full shrink-0 flex-col border-l border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)]",n),children:e})]})})]})}import{useState as Dr}from"react";import{Check as cl,X as dl}from"lucide-react";import{jsx as _t,jsxs as Ze}from"react/jsx-runtime";var ml=["urgent","high","medium","low"];function Je({onConfirm:t,onCancel:e,className:r}){let[a,i]=Dr(""),[n,s]=Dr(""),[c,l]=Dr("medium");return Ze("form",{onSubmit:p=>{p.preventDefault();let u=a.trim();u&&(t({title:u,company:n.trim()||void 0,priority:c}),i(""),s(""),l("medium"))},className:o("flex flex-col gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-secondary)]","p-[var(--inkblot-spacing-4)]",r),children:[_t("input",{type:"text",value:a,onChange:p=>i(p.target.value),placeholder:"Task title...",autoFocus:!0,required:!0,className:o("min-h-[var(--inkblot-size-touch-target-min)] w-full rounded-[var(--inkblot-radius-md)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)]")}),_t("input",{type:"text",value:n,onChange:p=>s(p.target.value),placeholder:"Company (optional)",className:o("min-h-[var(--inkblot-size-touch-target-min)] w-full rounded-[var(--inkblot-radius-md)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)]","text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)]")}),_t("div",{className:"flex flex-wrap gap-[var(--inkblot-spacing-2)]",children:ml.map(p=>_t("button",{type:"button",onClick:()=>l(p),className:o("rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)]","[font:var(--inkblot-semantic-typography-body-small)] font-medium","transition-colors duration-[var(--inkblot-duration-fast)]",c===p?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"bg-[var(--inkblot-semantic-color-background-tertiary)] text-[var(--inkblot-semantic-color-text-secondary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]/80"),children:p.charAt(0).toUpperCase()+p.slice(1)},p))}),Ze("div",{className:"flex justify-end gap-[var(--inkblot-spacing-2)]",children:[Ze("button",{type:"button",onClick:e,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center gap-2 rounded-[var(--inkblot-radius-lg)]","border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-interactive-secondary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)] font-medium","text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)]"),children:[_t(dl,{className:"h-4 w-4"}),"Cancel"]}),Ze("button",{type:"submit",disabled:!a.trim(),className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center gap-2 rounded-[var(--inkblot-radius-lg)]","bg-[var(--inkblot-semantic-color-interactive-primary)]","px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)] font-medium","text-[var(--inkblot-semantic-color-text-inverse)]","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]","focus:outline-none focus:ring-2 focus:ring-[var(--inkblot-semantic-color-border-focus)]","disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:cursor-not-allowed"),children:[_t(cl,{className:"h-4 w-4"}),"Add Task"]})]})]})}import{useState as ar,useMemo as aa}from"react";import{ClipboardList as El,LayoutGrid as Il,List as Ll}from"lucide-react";import{useMemo as vl,useState as gl}from"react";import{useState as pl}from"react";import{jsx as ul}from"react/jsx-runtime";var bl={sm:"h-8 px-3 text-xs",md:"h-10 px-4 text-sm",lg:"h-11 px-5 text-sm"};function Hr({pressed:t,defaultPressed:e=!1,onPressedChange:r,size:a="md",variant:i="default",disabled:n,className:s,children:c,...l}){let[d,p]=pl(e),u=t??d;return ul("button",{type:"button","aria-pressed":u,disabled:n,onClick:()=>{if(n)return;let b=!u;t===void 0&&p(b),r?.(b)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] border font-medium transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",bl[a],i==="default"?u?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]":u?"border-[var(--inkblot-semantic-color-text-primary)] bg-[var(--inkblot-semantic-color-background-tertiary)] text-[var(--inkblot-semantic-color-text-primary)]":"border-[var(--inkblot-semantic-color-border-default)] bg-transparent text-[var(--inkblot-semantic-color-text-secondary)] hover:text-[var(--inkblot-semantic-color-text-primary)]",s),...l,children:c})}import{jsx as oa,jsxs as fl}from"react/jsx-runtime";function Br({type:t="single",items:e,value:r,defaultValue:a,onValueChange:i,className:n,...s}){let c=a??(t==="single"?"":[]),[l,d]=gl(c),p=r??l,u=vl(()=>{if(t==="single"){let g=typeof p=="string"?p:"";return new Set(g?[g]:[])}let b=Array.isArray(p)?p:[];return new Set(b)},[p,t]),v=b=>{if(t==="single"){let w=u.has(b)?"":b;r===void 0&&d(w),i?.(w);return}let g=Array.isArray(p)?p:[],N=g.includes(b)?g.filter(w=>w!==b):[...g,b];r===void 0&&d(N),i?.(N)};return oa("div",{className:o("inline-flex items-center gap-2 rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-tertiary)] p-1",n),...s,children:e.map(b=>{let g=b.icon;return fl(Hr,{pressed:u.has(b.id),onPressedChange:()=>v(b.id),disabled:b.disabled,size:"sm",children:[g?oa(g,{className:"mr-2 size-4"}):null,b.label]},b.id)})})}import{DragDropContext as wl}from"@hello-pangea/dnd";import{useCallback as Tl,useMemo as Pl}from"react";import{Draggable as hl}from"@hello-pangea/dnd";import{useState as kl}from"react";import{User as yl}from"lucide-react";import{jsx as Qe}from"react/jsx-runtime";var xl={sm:"h-8 w-8 text-xs",md:"h-10 w-10 text-sm",lg:"h-14 w-14 text-base"};function Or({src:t,alt:e="Avatar",fallback:r,size:a="md",disabled:i=!1,className:n}){let[s,c]=kl(!1),l=!!(t&&!s);return Qe("span",{"aria-disabled":i,className:o("inline-flex shrink-0 items-center justify-center overflow-hidden rounded-[var(--inkblot-radius-full)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-tertiary)] text-[var(--inkblot-semantic-color-text-secondary)]",i&&"opacity-[var(--inkblot-opacity-disabled)]",xl[a],n),children:l?Qe("img",{src:t,alt:e,onError:()=>c(!0),className:"h-full w-full object-cover"}):r?Qe("span",{className:"font-medium uppercase",children:r.slice(0,2)}):Qe(yl,{className:"h-4 w-4"})})}import{jsx as ft,jsxs as Vr}from"react/jsx-runtime";var Nl={low:"bg-[var(--inkblot-semantic-color-status-info)]",medium:"bg-[var(--inkblot-semantic-color-status-success)]",high:"bg-[var(--inkblot-semantic-color-status-warning)]",urgent:"bg-[var(--inkblot-semantic-color-status-error)]"};function tr({task:t,index:e,className:r}){let a=t.jiraKey??`TASK-${t.id}`;return ft(hl,{draggableId:t.id,index:e,children:(i,n)=>Vr("div",{ref:i.innerRef,...i.draggableProps,...i.dragHandleProps,className:o("relative flex cursor-grab flex-col gap-[var(--inkblot-spacing-3)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-sm)]","active:cursor-grabbing",n.isDragging&&"shadow-[var(--inkblot-shadow-lg)] ring-2 ring-[var(--inkblot-semantic-color-border-focus)]",r),children:[ft("div",{className:"absolute right-[var(--inkblot-spacing-3)] top-[var(--inkblot-spacing-3)] h-8 w-1 rounded-[var(--inkblot-radius-sm)]",children:ft("span",{className:o("block h-full w-full rounded-[var(--inkblot-radius-sm)]",Nl[t.priority])})}),ft("p",{className:o("pr-[var(--inkblot-spacing-4)] text-[var(--inkblot-semantic-color-text-primary)]","[font:var(--inkblot-semantic-typography-body-medium)] font-semibold"),children:t.title}),ft("p",{className:"text-[var(--inkblot-semantic-color-text-tertiary)] [font:var(--inkblot-semantic-typography-body-small)]",children:t.company}),Vr("div",{className:"flex items-end justify-between gap-[var(--inkblot-spacing-2)]",children:[Vr("div",{className:"flex flex-col gap-0.5",children:[ft("span",{className:"text-[var(--inkblot-semantic-color-text-tertiary)] [font:var(--inkblot-semantic-typography-body-small)]",children:a}),t.date?ft("span",{className:"text-[var(--inkblot-semantic-color-text-secondary)] [font:var(--inkblot-semantic-typography-body-small)]",children:t.date}):null]}),ft(Or,{size:"sm",fallback:t.assignee.replace(/\s/g,"").slice(0,2).toUpperCase(),alt:t.assignee})]})]})})}import{Droppable as Cl}from"@hello-pangea/dnd";import{jsx as zr,jsxs as Fr}from"react/jsx-runtime";function er({columnId:t,title:e,count:r,children:a,className:i}){return Fr("div",{className:o("flex min-w-[min(100%,280px)] flex-1 flex-col rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-tertiary)]",i),children:[Fr("header",{className:o("flex items-center justify-between gap-[var(--inkblot-spacing-3)] border-b border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-secondary)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]"),children:[zr("h2",{className:o("text-[var(--inkblot-semantic-color-text-secondary)] [font:var(--inkblot-semantic-typography-body-small)]","font-semibold uppercase tracking-wide"),children:e}),zr("span",{className:o("min-w-[var(--inkblot-size-touch-target-min)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-2)] py-0.5 text-center","bg-[var(--inkblot-semantic-color-background-tertiary)] text-[var(--inkblot-semantic-color-text-primary)]","[font:var(--inkblot-semantic-typography-body-small)] font-medium"),children:r})]}),zr(Cl,{droppableId:t,children:(n,s)=>Fr("div",{ref:n.innerRef,...n.droppableProps,className:o("flex min-h-[200px] flex-1 flex-col gap-[var(--inkblot-spacing-3)] p-[var(--inkblot-spacing-3)]",s.isDraggingOver&&"bg-[var(--inkblot-semantic-color-interactive-secondary)]/30"),children:[a,n.placeholder]})})]})}import{jsx as rr}from"react/jsx-runtime";var Ml=[{id:"todo",title:"TO DO"},{id:"in_progress",title:"IN PROGRESS"},{id:"done",title:"DONE"}];function Sl(t,e){let{destination:r,source:a,draggableId:i}=e;if(!r||a.droppableId===r.droppableId&&a.index===r.index)return t;let n=r.droppableId,s=t.find(v=>v.id===i);if(!s)return t;let c=t.filter(v=>v.id!==i),l={...s,status:n},p=[...c.filter(v=>v.status===n)];return p.splice(r.index,0,l),["todo","in_progress","done"].flatMap(v=>v===n?p:c.filter(b=>b.status===v))}function or({tasks:t,onTasksChange:e,className:r}){let a=Tl(n=>{e(Sl(t,n))},[t,e]),i=Pl(()=>{let n={todo:[],in_progress:[],done:[]};for(let s of t)n[s.status].push(s);return n},[t]);return rr(wl,{onDragEnd:a,children:rr("div",{className:o("flex w-full flex-col gap-[var(--inkblot-spacing-4)] lg:flex-row lg:items-start lg:overflow-x-auto",r),children:Ml.map(n=>{let s=i[n.id];return rr(er,{columnId:n.id,title:n.title,count:s.length,children:s.map((c,l)=>rr(tr,{task:c,index:l},c.id))},n.id)})})})}import{jsx as nt,jsxs as na}from"react/jsx-runtime";function kt(t,e,r="You",a){let n=new Date().toLocaleDateString("en-US",{month:"short",day:"numeric"})||"Today";return{id:e,title:t.title,company:t.company??"Unassigned",priority:t.priority??"medium",date:n,assignee:r,status:"todo",jiraKey:a}}function Rl(t){let e={todo:t.filter(r=>r.status==="todo"),in_progress:t.filter(r=>r.status==="in_progress"),done:t.filter(r=>r.status==="done")};return[{id:"todo",label:"TO DO",count:e.todo.length,tasks:e.todo},{id:"in_progress",label:"IN PROGRESS",count:e.in_progress.length,tasks:e.in_progress},{id:"done",label:"DONE",count:e.done.length,tasks:e.done}]}var yt=[kt({title:"Follow up with Sarah Chen on proposal",company:"Acme Corp",priority:"high"},"1","You","CRM-104"),kt({title:"Schedule demo with engineering team",company:"TechStart Inc",priority:"medium"},"2","Alex M.","CRM-112"),kt({title:"Prepare quarterly report slides",company:"GlobalTech",priority:"low"},"3","Sam R.","CRM-98"),kt({title:"Review Q1 marketing budget",company:"TechStart Inc",priority:"medium"},"4","Jamie L.","CRM-120"),kt({title:"Draft partnership agreement",company:"Enterprise Co",priority:"urgent"},"5","You","CRM-88"),kt({title:"Send contract to legal team",company:"GlobalTech",priority:"low"},"6","Lisa K."),kt({title:"Update CRM with new contacts",company:"Acme Corp",priority:"low"},"7","Morgan P.","CRM-130")];yt[0].status="todo";yt[1].status="todo";yt[2].status="todo";yt[3].status="in_progress";yt[4].status="in_progress";yt[5].status="done";yt[6].status="done";function ia({initialTasks:t=yt,onTaskCreate:e,onTaskToggle:r,onTaskClick:a,onTasksReorder:i,className:n}){let[s,c]=ar(t),[l,d]=ar(!1),[p,u]=ar(""),[v,b]=ar("list"),g=aa(()=>{if(!p.trim())return s;let m=p.toLowerCase();return s.filter(y=>y.title.toLowerCase().includes(m)||y.company.toLowerCase().includes(m)||(y.jiraKey?.toLowerCase().includes(m)??!1))},[s,p]),N=aa(()=>Rl(g),[g]),w=s.filter(m=>m.status!=="done").length,x=s.filter(m=>m.priority==="urgent"&&m.status!=="done").length,E=`${w} pending${x>0?` \xB7 ${x} urgent`:""}`,T=m=>{let y=`task-${Date.now()}`,C=kt(m,y);c(P=>[C,...P]),d(!1),e?.(m)},h=m=>{c(y=>y.map(C=>{if(C.id!==m)return C;let P=C.status==="done"?"todo":"done";return{...C,status:P}})),r?.(m)},k=m=>{c(m),i?.(m)};return nt("div",{className:o("flex min-h-screen flex-col bg-[var(--inkblot-semantic-color-background-primary)]",n),children:na("div",{className:"flex flex-1 flex-col gap-8 px-8 py-8",children:[nt(Gt,{title:"Tasks",subtitle:E,icon:nt(El,{className:"h-5 w-5"}),action:nt(Wt,{label:"New Task",onClick:()=>d(m=>!m)})}),na("div",{className:"flex flex-col gap-[var(--inkblot-spacing-4)] xl:flex-row xl:items-center xl:gap-[var(--inkblot-spacing-4)]",children:[nt(Br,{type:"single",value:v,onValueChange:m=>{(m==="list"||m==="kanban")&&b(m)},items:[{id:"list",label:"List View",icon:Ll},{id:"kanban",label:"Kanban Board View",icon:Il}]}),nt("div",{className:"min-w-0 flex-1",children:nt(gt,{placeholder:v==="list"?"Search tasks (title, company, Jira key)...":"Switch to list view to search and filter tasks",value:p,onChange:m=>u(m.target.value),disabled:v==="kanban"})})]}),l?nt(Je,{onConfirm:T,onCancel:()=>d(!1)}):null,v==="list"?nt(Ue,{sections:N,onTaskToggle:h,onTaskClick:a}):nt(or,{tasks:s,onTasksChange:k})]})})}import{useState as Ut,useMemo as Gr}from"react";import{Mail as Al}from"lucide-react";import{Fragment as Ol,jsx as $,jsxs as jt}from"react/jsx-runtime";var Dl=`Hi [Name],
2
2
 
3
3
  I hope this email finds you well. I wanted to reach out regarding our recent conversation about [Topic].
4
4
 
@@ -17,5 +17,5 @@ I'd love to schedule a quick call this week to walk you through these in more de
17
17
  Looking forward to hearing from you.
18
18
 
19
19
  Best regards,
20
- [Your name]`,Ko=[{id:"1",campaignName:"Q1 Product Launch",recipients:"2840 recipients",status:"sent",opens:"68%",clicks:"24%",date:"Feb 12, 2026"},{id:"2",campaignName:"Welcome Series",recipients:"1200 recipients",status:"active",statusSubtext:"Running",opens:"-",clicks:"-",date:"Feb 28, 2026"},{id:"3",campaignName:"Re-engagement Campaign",recipients:"890 recipients",status:"draft",opens:"-",clicks:"-",date:"Feb 5, 2026"},{id:"4",campaignName:"Holiday Promo",recipients:"4500 recipients",status:"scheduled",opens:"-",clicks:"-",date:"Mar 1, 2026"}],jo=[{id:"1",category:"Onboarding",title:"Welcome Series",uses:"34 uses"},{id:"2",category:"Marketing",title:"Product Announcement",uses:"12 uses"},{id:"3",category:"Retention",title:"Renewal Reminder",uses:"28 uses"},{id:"4",category:"Sales",title:"Meeting Follow-up",uses:"56 uses"}],Uo=["Acme Corp - Sarah Chen","TechStart Inc - Mike Rodriguez","GlobalTech - Lisa Kim","Enterprise Co - John Smith","StartupXYZ - Emma Wilson"],Zs=[{key:"campaign",label:"Campaign"},{key:"status",label:"Status"},{key:"opens",label:"Opens"},{key:"clicks",label:"Clicks"},{key:"date",label:"Date"}],Qs=[{label:"Total Sent",value:"12.4K",change:"This month",changeVariant:"success"},{label:"Avg. Open Rate",value:"64%",change:"+8% vs prior",changeVariant:"success"},{label:"Avg. Click Rate",value:"22%",change:"+3% vs prior",changeVariant:"success"},{label:"Active Automations",value:"7",change:"3 paused",changeVariant:"error"}];function qo({onSendNow:t,onSchedule:e,onSaveDraft:r,onNewCampaign:a,onGenerateWithAI:i,onTemplateClick:n,className:s}){let[l,c]=_t("campaigns"),[d,b]=_t(""),[m,v]=_t(""),[p,g]=_t(""),[C,w]=_t(!1),[N,T]=_t(""),h=Mr(()=>{if(!d.trim())return Ko;let S=d.toLowerCase();return Ko.filter(F=>F.campaignName.toLowerCase().includes(S)||F.recipients.toLowerCase().includes(S))},[d]),y=Mr(()=>{if(!d.trim())return jo;let S=d.toLowerCase();return jo.filter(F=>F.title.toLowerCase().includes(S)||F.category.toLowerCase().includes(S))},[d]),k=Mr(()=>{if(!N.trim())return Uo;let S=N.toLowerCase();return Uo.filter(F=>F.toLowerCase().includes(S))},[N]),u=async()=>{w(!0),await new Promise(S=>setTimeout(S,1500)),g(Xs),w(!1)},x=()=>{t?.()},P=()=>{e?.()},M=()=>{r?.()},A=l==="campaigns"||l==="templates";return _("div",{className:o("flex min-h-screen flex-col bg-[var(--inkblot-semantic-color-background-primary)]",s),children:Kt("div",{className:"flex flex-1 flex-col gap-[var(--inkblot-spacing-8)] px-[var(--inkblot-spacing-8)] py-[var(--inkblot-spacing-8)]",children:[_(Ot,{title:"Email Campaigns",subtitle:"Automate outreach \xB7 AI-powered templates",icon:_(Ys,{className:"h-5 w-5"}),action:_(Ft,{label:"New Campaign",onClick:()=>a?.()})}),_($e,{tabs:[{id:"campaigns",label:"Campaigns"},{id:"templates",label:"Templates"},{id:"compose",label:"Compose"}],activeTabId:l,onTabChange:c}),A?_(vt,{placeholder:l==="campaigns"?"Search campaigns...":"Search templates...",value:d,onChange:S=>b(S.target.value)}):null,l==="campaigns"?Kt(Js,{children:[_(We,{items:Qs}),_(Ee,{columns:Zs,rows:h})]}):l==="templates"?_(Re,{templates:y,onGenerateWithAI:i,onTemplateClick:n}):Kt("div",{className:"flex max-w-2xl flex-col gap-[var(--inkblot-spacing-6)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-6)] shadow-[var(--inkblot-shadow-sm)]",children:[Kt("div",{className:"flex flex-col gap-[var(--inkblot-spacing-6)]",children:[Kt("div",{className:"flex flex-col gap-[var(--inkblot-spacing-2)]",children:[_("label",{className:"uppercase tracking-wider text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-body-small)]",children:"Subject"}),_(Pt,{type:"text",value:m,onChange:S=>v(S.target.value),placeholder:"Enter subject line..."})]}),_(re,{label:"Body",value:p,onChange:S=>g(S.target.value),placeholder:"Compose your email or let AI generate content...",loading:C,onWriteWithAI:u}),Kt("div",{className:"flex flex-col gap-[var(--inkblot-spacing-2)]",children:[_(vt,{label:"Recipients",placeholder:"Search contacts, segments, or tags...",value:N,onChange:S=>T(S.target.value)}),k.length>0?_("ul",{className:"flex flex-wrap gap-[var(--inkblot-spacing-2)]",children:k.slice(0,5).map(S=>_("li",{className:o("rounded-[var(--inkblot-radius-md)]","bg-[var(--inkblot-semantic-color-background-secondary)]","px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)]","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:S},S))}):null]})]}),_(Se,{onSendNow:x,onSchedule:P,onSaveDraft:M})]})]})})}import{useMemo as tl,useState as el}from"react";import{ChevronDown as rl}from"lucide-react";import{jsx as Qe,jsxs as Yo}from"react/jsx-runtime";function ol({items:t,defaultValue:e,allowMultiple:r=!1,className:a}){let i=tl(()=>new Set(e??[]),[e]),[n,s]=el(i),l=c=>{s(d=>{let b=new Set(d);return b.has(c)?(b.delete(c),b):r?(b.add(c),b):new Set([c])})};return Qe("div",{className:o("w-full overflow-hidden rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)]",a),children:t.map((c,d)=>{let b=n.has(c.id);return Yo("div",{className:o(d!==0&&"border-t border-[var(--inkblot-semantic-color-border-default)]"),children:[Yo("button",{type:"button",disabled:c.disabled,"aria-expanded":b,onClick:()=>l(c.id),className:o("flex min-h-[var(--inkblot-size-touch-target-min)] w-full items-center justify-between gap-[var(--inkblot-spacing-3)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)] text-left text-[var(--inkblot-semantic-color-text-primary)] transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",c.disabled?"cursor-not-allowed opacity-[var(--inkblot-opacity-disabled)]":"hover:bg-[var(--inkblot-semantic-color-background-tertiary)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-[-2px]"),children:[Qe("span",{className:"font-medium",children:c.title}),Qe(rl,{className:o("h-4 w-4 shrink-0 text-[var(--inkblot-semantic-color-text-tertiary)] transition-transform duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",b&&"rotate-180")})]}),b&&Qe("div",{className:"px-[var(--inkblot-spacing-4)] pb-[var(--inkblot-spacing-4)] text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:c.content})]},c.id)})})}import{AlertCircle as al,AlertTriangle as nl,CheckCircle2 as il,Info as sl}from"lucide-react";import{jsx as Sr,jsxs as Xo}from"react/jsx-runtime";var ll={info:"border-[var(--inkblot-semantic-color-status-info)] bg-[var(--inkblot-semantic-color-status-info)]/10 text-[var(--inkblot-semantic-color-text-primary)]",success:"border-[var(--inkblot-semantic-color-status-success)] bg-[var(--inkblot-semantic-color-status-success)]/10 text-[var(--inkblot-semantic-color-text-primary)]",warning:"border-[var(--inkblot-semantic-color-status-warning)] bg-[var(--inkblot-semantic-color-status-warning)]/10 text-[var(--inkblot-semantic-color-text-primary)]",error:"border-[var(--inkblot-semantic-color-status-error)] bg-[var(--inkblot-semantic-color-status-error)]/10 text-[var(--inkblot-semantic-color-text-primary)]"},cl={info:sl,success:il,warning:nl,error:al};function dl({title:t,description:e,variant:r="info",className:a}){let i=cl[r];return Xo("div",{role:"alert",className:o("flex w-full items-start gap-[var(--inkblot-spacing-3)] rounded-[var(--inkblot-radius-lg)] border px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]",ll[r],a),children:[Sr(i,{className:"mt-0.5 h-4 w-4 shrink-0"}),Xo("div",{className:"flex min-w-0 flex-col gap-[var(--inkblot-spacing-1)]",children:[Sr("div",{className:"font-semibold",children:t}),e&&Sr("div",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:e})]})]})}import{useCallback as Zo,useEffect as ml,useId as Qo,useRef as Er}from"react";import{AlertTriangle as pl}from"lucide-react";import{jsx as Rt,jsxs as Je}from"react/jsx-runtime";function bl({open:t,title:e,description:r,confirmLabel:a="Confirmar",cancelLabel:i="Cancelar",destructive:n=!1,confirmDisabled:s=!1,closeOnConfirm:l=!0,initialFocusRef:c,onOpenChange:d,onConfirm:b,onCancel:m,className:v}){let p=Er(null),g=Er(null),C=Er(null),w=Qo(),N=Qo(),T=Zo(()=>{m?.(),d?.(!1)},[m,d]),h=Zo(()=>{b?.(),l&&d?.(!1)},[l,b,d]);return ml(()=>{if(!t)return;C.current=document.activeElement instanceof HTMLElement?document.activeElement:null,(c?.current??g.current??p.current)?.focus();let k=u=>{u.key==="Escape"&&T()};return window.addEventListener("keydown",k),()=>{window.removeEventListener("keydown",k),C.current?.focus()}},[T,c,t]),t?Rt("div",{className:"fixed inset-0 z-50 grid place-items-center bg-[var(--inkblot-semantic-color-background-primary)]/70 px-[var(--inkblot-spacing-4)]",onClick:T,children:Je("div",{role:"alertdialog","aria-modal":"true","aria-labelledby":w,"aria-describedby":r?N:void 0,tabIndex:-1,ref:p,onClick:y=>y.stopPropagation(),className:o("w-full max-w-[520px] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-6)] text-[var(--inkblot-semantic-color-text-primary)] shadow-lg",v),children:[Je("div",{className:"mb-[var(--inkblot-spacing-4)] flex items-start gap-[var(--inkblot-spacing-3)]",children:[Rt("div",{className:o("mt-0.5 rounded-[var(--inkblot-radius-full)] p-[var(--inkblot-spacing-2)]",n?"bg-[var(--inkblot-semantic-color-status-error)]/15 text-[var(--inkblot-semantic-color-status-error)]":"bg-[var(--inkblot-semantic-color-status-warning)]/15 text-[var(--inkblot-semantic-color-status-warning)]"),children:Rt(pl,{className:"h-5 w-5"})}),Je("div",{className:"flex-1",children:[Rt("h2",{id:w,className:"text-lg font-semibold",children:e}),r&&Rt("p",{id:N,className:"mt-[var(--inkblot-spacing-2)] text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:r})]})]}),Je("div",{className:"flex flex-wrap justify-end gap-[var(--inkblot-spacing-2)]",children:[Rt("button",{type:"button",ref:g,onClick:T,className:"inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-interactive-secondary)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)] font-medium text-[var(--inkblot-semantic-color-text-primary)] transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]",children:i}),Rt("button",{type:"button",disabled:s,onClick:h,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)] font-medium text-[var(--inkblot-semantic-color-text-inverse)] transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",n?"bg-[var(--inkblot-semantic-color-status-error)] hover:bg-[var(--inkblot-semantic-color-status-error)]/85 active:bg-[var(--inkblot-semantic-color-status-error)]/80":"bg-[var(--inkblot-semantic-color-interactive-primary)] hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]"),children:a})]})]})}):null}import{useEffect as ul,useRef as vl,useState as Lr}from"react";import{Check as gl,Loader2 as fl,Sparkles as Jo}from"lucide-react";import{Fragment as Ir,jsx as lt,jsxs as jt}from"react/jsx-runtime";var kl=["Write a product launch announcement for a SaaS tool","Create a re-engagement email for churned users","Draft a welcome email for new customers","Write a quarterly business review summary","Create a seasonal promotion email with urgency"];function Ak({value:t,defaultValue:e="",onValueChange:r,isGenerating:a,onGeneratingChange:i,generated:n,onGeneratedChange:s,generationDelayMs:l=1500,onSubmitPrompt:c,generateBlocks:d,onGenerate:b,suggestions:m=kl,className:v}){let[p,g]=Lr(e),[C,w]=Lr(!1),[N,T]=Lr(!1),h=vl(null),y=t!==void 0,k=y?t:p,u=a!==void 0,x=u?a:C,P=n!==void 0,M=P?n:N,A=L=>{y||g(L),r?.(L)},S=L=>{u||w(L),i?.(L)},F=L=>{P||T(L),s?.(L)};ul(()=>()=>{h.current!==null&&window.clearTimeout(h.current)},[]);let E=L=>{let G=Date.now();return[{id:`ai-${G}-1`,type:"heading",content:"Exciting News from Our Team"},{id:`ai-${G}-2`,type:"text",content:`Generated from prompt: ${L}`},{id:`ai-${G}-3`,type:"image",content:""},{id:`ai-${G}-4`,type:"text",content:"Our latest updates are designed to help you achieve more with less effort. We've built these improvements with your feedback in mind."},{id:`ai-${G}-5`,type:"button",content:"Learn More"},{id:`ai-${G}-6`,type:"divider",content:""},{id:`ai-${G}-7`,type:"text",content:`Best regards,
21
- The Team`}]},B=async()=>{let L=k.trim();if(!L||x)return;c?.(L),S(!0);let G;d?G=await Promise.resolve(d(L)):(await new Promise(q=>{window.setTimeout(()=>q(),l)}),G=E(L)),b?.(G),S(!1),F(!0),h.current=window.setTimeout(()=>F(!1),1800)};return jt("section",{className:o(v),children:[jt("div",{className:"mb-2 flex items-center gap-2",children:[lt(Jo,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-status-warning)]"}),lt("span",{className:"text-xs font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:"AI Email Generator"})]}),jt("div",{className:"space-y-3",children:[lt("textarea",{value:k,onChange:L=>A(L.target.value),rows:3,placeholder:"Describe the email you want to create...",className:"w-full resize-none rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-4 py-3 text-sm text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)] outline-none"}),lt("div",{className:"flex flex-wrap gap-1.5",children:m.map(L=>lt("button",{type:"button",onClick:()=>A(L),className:"rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-secondary)] px-2.5 py-1 text-[10px] text-[var(--inkblot-semantic-color-text-primary)] transition-opacity duration-[var(--inkblot-duration-fast)] hover:opacity-85",children:L},L))}),lt("button",{type:"button",onClick:B,disabled:!k.trim()||x,className:"flex items-center gap-2 rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-status-warning)]/10 px-4 py-2 text-xs font-medium text-[var(--inkblot-semantic-color-status-warning)] transition-opacity duration-[var(--inkblot-duration-fast)] disabled:opacity-40",children:x?jt(Ir,{children:[lt(fl,{className:"h-3 w-3 animate-spin"}),"Generating..."]}):M?jt(Ir,{children:[lt(gl,{className:"h-3 w-3"}),"Applied to editor"]}):jt(Ir,{children:[lt(Jo,{className:"h-3 w-3"}),"Generate Email"]})})]})]})}import{CheckSquare as xl,Command as hl,FileText as Nl,Mail as Cl,MessageSquare as wl,Settings as Tl,Users as Pl}from"lucide-react";import{jsx as Rr,jsxs as yl}from"react/jsx-runtime";function Ar({label:t,icon:e,active:r=!1,onClick:a,title:i,dataTour:n,className:s}){return yl("button",{type:"button",onClick:a,"data-tour":n,className:o("group relative flex h-10 w-10 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-transparent transition-colors duration-[var(--inkblot-duration-fast)]",r?"bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]":"text-[var(--inkblot-semantic-color-text-tertiary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:text-[var(--inkblot-semantic-color-text-primary)]",s),title:i??t,"aria-current":r?"page":void 0,"aria-label":t,children:[Rr(e,{className:"h-[18px] w-[18px]","aria-hidden":!0}),r?Rr("span",{className:"absolute left-0 top-1/2 h-4 w-[2px] -translate-y-1/2 rounded-r bg-[var(--inkblot-semantic-color-interactive-primary)]"}):null,Rr("span",{className:"pointer-events-none absolute left-full z-50 ml-3 whitespace-nowrap rounded-[var(--inkblot-radius-sm)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-2 py-1 text-xs font-medium text-[var(--inkblot-semantic-color-text-primary)] opacity-0 transition-opacity duration-[var(--inkblot-duration-fast)] group-hover:opacity-100",children:t})]})}import{jsx as Ut,jsxs as ta}from"react/jsx-runtime";var Ml=[{id:"canvas",icon:wl,label:"Canvas",path:"/",dataTour:"nav-canvas"},{id:"invoices",icon:Nl,label:"Invoices & Deals",path:"/invoices",dataTour:"nav-invoices"},{id:"contacts",icon:Pl,label:"Contacts",path:"/contacts",dataTour:"nav-contacts"},{id:"campaigns",icon:Cl,label:"Campaigns",path:"/campaigns",dataTour:"nav-campaigns"},{id:"tasks",icon:xl,label:"Tasks",path:"/tasks",dataTour:"nav-tasks"}],Sl=[{id:"settings",icon:Tl,label:"Settings",path:"/settings",dataTour:"nav-settings"}];function ea({items:t=Ml,bottomItems:e=Sl,activePath:r="/",onNavigate:a,logo:i,showStatusDot:n=!0,className:s}){return ta("aside",{"data-tour":"sidebar",className:o("flex h-full w-16 flex-col items-center gap-1 border-r border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] py-4",s),children:[Ut("div",{className:"mb-6 flex h-9 w-9 items-center justify-center rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-interactive-primary)]",children:i??Ut(hl,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-text-inverse)]","aria-hidden":!0})}),Ut("nav",{className:"hide-scrollbar flex flex-1 flex-col gap-1 overflow-y-auto",children:t.map(l=>Ut(Ar,{label:l.label,icon:l.icon,active:l.path===r,onClick:()=>a?.(l.path),dataTour:l.dataTour},l.id))}),ta("div",{className:"flex flex-col gap-1",children:[e.map(l=>Ut(Ar,{label:l.label,icon:l.icon,active:l.path===r,onClick:()=>a?.(l.path),dataTour:l.dataTour},l.id)),n?Ut("span",{"data-tour":"system-status",className:"mx-auto mt-2 h-2 w-2 animate-pulse rounded-full bg-[var(--inkblot-semantic-color-status-success)]",title:"System Online"}):null]})]})}import{CreditCard as ra,FileText as El,GitBranch as Ll,Mail as Il,Phone as Rl,Zap as Al}from"lucide-react";import{jsx as nt,jsxs as pe}from"react/jsx-runtime";var Dl=[{id:1,icon:Il,title:"Email opened",meta:"Jane Smith \xB7 Acme Corp",time:"2m ago",status:"info"},{id:2,icon:ra,title:"Invoice #1042 paid",meta:"$24,500 \xB7 TechVentures",time:"8m ago",status:"success"},{id:3,icon:Al,title:"Pipeline stage changed",meta:"Negotiation \u2192 Closing",time:"14m ago",status:"warning"},{id:4,icon:Rl,title:"Call completed",meta:"12 min \xB7 Mark Johnson",time:"23m ago",status:"info"},{id:5,icon:El,title:"Contract signed",meta:"NDA \xB7 GlobalTech Inc",time:"1h ago",status:"success"},{id:6,icon:Ll,title:"New relationship detected",meta:"Acme \u2194 DataFlow Labs",time:"2h ago",status:"info"},{id:7,icon:ra,title:"Invoice overdue",meta:"$8,200 \xB7 StartupXYZ",time:"3h ago",status:"danger"}],Hl={success:"bg-[var(--inkblot-semantic-color-status-success)]",warning:"bg-[var(--inkblot-semantic-color-status-warning)]",error:"bg-[var(--inkblot-semantic-color-status-error)]",danger:"bg-[var(--inkblot-semantic-color-status-error)]",info:"bg-[var(--inkblot-semantic-color-status-info)]"};function Dr({title:t="Event Stream",liveLabel:e="Live",events:r=Dl,onItemClick:a,className:i}){return pe("section",{className:o("p-4",i),children:[pe("header",{className:"mb-4 flex items-center justify-between",children:[nt("h3",{className:"text-xs font-medium uppercase tracking-wide text-[var(--inkblot-semantic-color-text-tertiary)]",children:t}),nt("span",{className:"text-[10px] font-medium text-[var(--inkblot-semantic-color-text-tertiary)]",children:e})]}),nt("ul",{className:"space-y-1",children:r.map(n=>{let s=n.icon;return nt("li",{children:pe("button",{type:"button",onClick:()=>a?.(n),className:"group flex w-full items-start gap-3 rounded-[var(--inkblot-radius-md)] px-2.5 py-2.5 text-left transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]",children:[nt("span",{className:"mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-background-tertiary)]",children:nt(s,{className:"h-3.5 w-3.5 text-[var(--inkblot-semantic-color-text-tertiary)] group-hover:text-[var(--inkblot-semantic-color-text-secondary)]","aria-hidden":!0})}),pe("span",{className:"min-w-0 flex-1",children:[pe("span",{className:"flex items-center gap-2",children:[nt("span",{className:o("h-1.5 w-1.5 shrink-0 rounded-full",Hl[n.status])}),nt("span",{className:"truncate text-xs font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:n.title})]}),nt("span",{className:"mt-0.5 block truncate text-[10px] text-[var(--inkblot-semantic-color-text-tertiary)]",children:n.meta})]}),nt("span",{className:"mt-0.5 shrink-0 text-[10px] text-[var(--inkblot-semantic-color-text-tertiary)]",children:n.time})]})},n.id)})})]})}import{useState as qt,useRef as Bl}from"react";import{motion as oa,AnimatePresence as zl}from"framer-motion";import{Send as Vl,Sparkles as aa,Activity as Ol,ChevronDown as Fl,FileText as Gl,Mail as Wl,Users as $l,CheckSquare as _l,MessageSquare as Kl,Paperclip as Hr,X as jl}from"lucide-react";import{Fragment as Xl,jsx as R,jsxs as j}from"react/jsx-runtime";var Ul=[{id:"general",label:"General",icon:Kl,description:"Full CRM assistant"},{id:"invoices",label:"Invoices",icon:Gl,description:"Create & manage invoices"},{id:"campaigns",label:"Campaigns",icon:Wl,description:"Email campaigns & templates"},{id:"contacts",label:"Contacts",icon:$l,description:"Contact management"},{id:"tasks",label:"Tasks",icon:_l,description:"Task automation"}],ql={general:{text:"Here's an overview of your CRM data with entity profile and intelligence scores.",cards:["entity","intelligence"]},invoices:{text:"I've pulled up your latest invoice data and deal health metrics.",cards:["entity","intelligence"]},campaigns:{text:"Analyzing your campaign performance. Here are the key insights.",cards:["intelligence"]},contacts:{text:"Here's the contact profile and relationship intelligence.",cards:["entity"]},tasks:{text:"I've reviewed your task queue. Here's what needs attention.",cards:["intelligence"]}},Yl=[{id:"1",role:"assistant",content:"Welcome to Citron OS. I'm your AI assistant \u2014 ask me anything about your revenue operations."}];function tr({defaultTab:t="chat",tab:e,onTabChange:r,agents:a=Ul,defaultAgent:i,agent:n,onAgentChange:s,messages:l,defaultMessages:c=Yl,onMessagesChange:d,onSend:b,onAddCanvasBlocks:m,agentResponses:v=ql,autoRespond:p=!0,autoRespondDelayMs:g=800,renderEventsTab:C,className:w}){let[N,T]=qt(t),[h,y]=qt(i??a[0]),[k,u]=qt(!1),[x,P]=qt(c),[M,A]=qt(""),[S,F]=qt([]),E=Bl(null),B=e!==void 0,L=B?e:N,G=n!==void 0,q=G?n:h,he=l!==void 0,Ne=he?l:x,Ce=f=>{B||T(f),r?.(f)},we=f=>{G||y(f),s?.(f)},te=f=>{he||P(f),d?.(f)},ee=()=>{if(!M.trim()&&S.length===0)return;let f=S.map(X=>X.name),W={id:Date.now().toString(),role:"user",content:M||`Attached ${f.length} file(s)`,files:f.length>0?f:void 0},mt=[...Ne,W];if(te(mt),b?.(M,S),A(""),F([]),m){let X=`loading-${Date.now()}`;m([{id:X,type:"loading"}])}p&&setTimeout(()=>{let X=v[q.id]??v.general??{text:"Processing your request...",cards:[]};te([...mt,{id:(Date.now()+1).toString(),role:"assistant",content:X.text}]),m&&m([{id:`text-${Date.now()}`,type:"text",content:`[${q.label}] ${X.text}`},...X.cards.map((mr,Wn)=>({id:`card-${Date.now()}-${Wn}`,type:mr}))])},g)},Te=f=>{f.target.files&&F(W=>[...W,...Array.from(f.target.files)]),E.current&&(E.current.value="")},Pe=f=>{F(W=>W.filter((mt,X)=>X!==f))},dr=q.icon;return j("div",{className:o("flex h-full flex-col bg-[var(--inkblot-semantic-color-background-secondary)]",w),children:[j("div",{className:"flex border-b border-[var(--inkblot-semantic-color-border-default)]",children:[j("button",{type:"button",onClick:()=>Ce("chat"),className:o("flex flex-1 items-center justify-center gap-1.5 px-3 py-2.5 text-xs font-medium transition-colors duration-[var(--inkblot-duration-fast)]",L==="chat"?"border-b-2 border-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-primary)]":"text-[var(--inkblot-semantic-color-text-tertiary)] hover:text-[var(--inkblot-semantic-color-text-primary)]"),children:[R(aa,{className:"h-3 w-3","aria-hidden":!0}),"AI Chat"]}),j("button",{type:"button",onClick:()=>Ce("events"),className:o("flex flex-1 items-center justify-center gap-1.5 px-3 py-2.5 text-xs font-medium transition-colors duration-[var(--inkblot-duration-fast)]",L==="events"?"border-b-2 border-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-primary)]":"text-[var(--inkblot-semantic-color-text-tertiary)] hover:text-[var(--inkblot-semantic-color-text-primary)]"),children:[R(Ol,{className:"h-3 w-3","aria-hidden":!0}),"Events"]})]}),L==="events"?R("div",{className:"hide-scrollbar flex-1 overflow-y-auto",children:C?.()}):j(Xl,{children:[j("div",{className:"relative border-b border-[var(--inkblot-semantic-color-border-default)] px-3 py-2",children:[j("button",{type:"button",onClick:()=>u(!k),className:"flex w-full items-center gap-2 rounded-[var(--inkblot-radius-md)] px-2.5 py-1.5 transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]",children:[R(dr,{className:"h-3.5 w-3.5 text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0}),j("span",{className:"text-xs font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:[q.label," Agent"]}),R(Fl,{className:o("ml-auto h-3 w-3 text-[var(--inkblot-semantic-color-text-tertiary)] transition-transform duration-[var(--inkblot-duration-fast)]",k&&"rotate-180"),"aria-hidden":!0})]}),R(zl,{children:k&&R(oa.div,{initial:{opacity:0,y:-4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.15},className:"glass absolute left-3 right-3 top-full z-50 mt-1 rounded-[var(--inkblot-radius-md)] py-1 shadow-[var(--inkblot-shadow-lg)]",children:a.map(f=>{let W=f.icon;return j("button",{type:"button",onClick:()=>{we(f),u(!1)},className:o("flex w-full items-center gap-2.5 px-3 py-2 text-left transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]",q.id===f.id&&"bg-[var(--inkblot-semantic-color-interactive-secondary)]"),children:[R(W,{className:"h-3.5 w-3.5 text-[var(--inkblot-semantic-color-text-tertiary)]","aria-hidden":!0}),j("div",{children:[R("p",{className:"text-xs font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:f.label}),R("p",{className:"text-[10px] text-[var(--inkblot-semantic-color-text-tertiary)]",children:f.description})]})]},f.id)})})})]}),R("div",{className:"hide-scrollbar flex-1 space-y-3 overflow-y-auto px-3 py-3",children:Ne.map(f=>R(oa.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.2},className:f.role==="user"?"flex justify-end":"",children:f.role==="user"?j("div",{className:"max-w-[85%]",children:[f.files&&f.files.length>0&&R("div",{className:"mb-1 flex flex-wrap justify-end gap-1",children:f.files.map((W,mt)=>j("span",{className:"flex items-center gap-1 rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-secondary)] px-1.5 py-0.5 text-[10px] text-[var(--inkblot-semantic-color-text-tertiary)]",children:[R(Hr,{className:"h-2 w-2","aria-hidden":!0}),W]},mt))}),R("div",{className:"rounded-2xl rounded-br-sm bg-[var(--inkblot-semantic-color-interactive-secondary)] px-3 py-2 text-xs leading-relaxed text-[var(--inkblot-semantic-color-text-primary)]",children:f.content})]}):j("div",{className:"flex items-start gap-2",children:[R("div",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)]/15",children:R(aa,{className:"h-2.5 w-2.5 text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0})}),R("p",{className:"text-xs leading-relaxed text-[var(--inkblot-semantic-color-text-secondary)]",children:f.content})]})},f.id))}),S.length>0&&R("div",{className:"flex flex-wrap gap-1.5 border-t border-[var(--inkblot-semantic-color-border-default)]/50 px-3 py-2",children:S.map((f,W)=>j("span",{className:"flex items-center gap-1.5 rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-secondary)] px-2 py-1 text-[10px] text-[var(--inkblot-semantic-color-text-primary)]",children:[R(Hr,{className:"h-2.5 w-2.5 text-[var(--inkblot-semantic-color-text-tertiary)]","aria-hidden":!0}),f.name,R("button",{type:"button",onClick:()=>Pe(W),className:"text-[var(--inkblot-semantic-color-text-tertiary)] transition-colors duration-[var(--inkblot-duration-fast)] hover:text-[var(--inkblot-semantic-color-status-error)]","aria-label":`Remove ${f.name}`,children:R(jl,{className:"h-2.5 w-2.5"})})]},W))}),R("div",{className:"border-t border-[var(--inkblot-semantic-color-border-default)] px-3 py-2.5",children:j("div",{className:"glass flex items-center gap-2 rounded-[var(--inkblot-radius-md)] px-3 py-2",children:[R("input",{type:"file",ref:E,onChange:Te,multiple:!0,className:"hidden"}),R("button",{type:"button",onClick:()=>E.current?.click(),className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] text-[var(--inkblot-semantic-color-text-tertiary)] transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:text-[var(--inkblot-semantic-color-text-primary)]",title:"Attach files","aria-label":"Attach files",children:R(Hr,{className:"h-3 w-3"})}),R("input",{type:"text",value:M,onChange:f=>A(f.target.value),onKeyDown:f=>{f.key==="Enter"&&ee()},placeholder:`Ask ${q.label} agent...`,className:"flex-1 bg-transparent text-xs text-[var(--inkblot-semantic-color-text-primary)] outline-none placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]"}),R("button",{type:"button",onClick:ee,disabled:!M.trim()&&S.length===0,className:"flex h-6 w-6 items-center justify-center rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)] transition-opacity duration-[var(--inkblot-duration-fast)] hover:opacity-90 disabled:opacity-30","aria-label":"Send message",children:R(Vl,{className:"h-3 w-3"})})]})})]})]})}import{createContext as Zl,useContext as Ql,useState as Jl,useCallback as na}from"react";import{jsx as rc}from"react/jsx-runtime";var ia=Zl(null);function tc(){let t=Ql(ia);if(!t)throw new Error("useCanvas must be used within a CanvasProvider");return t}var ec=[{id:"welcome-1",type:"text",content:"Welcome to Citron OS. Use the AI chat on the right to interact with your revenue engine."},{id:"welcome-2",type:"entity"},{id:"welcome-3",type:"intelligence"}];function Br({children:t,initialBlocks:e=ec}){let[r,a]=Jl(e),i=na(s=>{a(l=>[...l,...s])},[]),n=na(()=>{a([])},[]);return rc(ia.Provider,{value:{blocks:r,addBlocks:i,clearBlocks:n},children:t})}import{jsx as At,jsxs as sa}from"react/jsx-runtime";function xy({children:t,showEventFeed:e=!1,showRightPanel:r=!1,sidebarProps:a,eventFeedProps:i,rightPanelProps:n,canvasProviderProps:s,className:l}){let c=r||e,d=sa("div",{className:o("flex h-screen w-full overflow-hidden bg-[var(--inkblot-semantic-color-background-primary)]",l),children:[At(ea,{...a}),sa("main",{className:"flex flex-1 overflow-hidden",children:[At("section",{"data-tour":"canvas",className:"hide-scrollbar flex-1 overflow-y-auto",children:t}),c?At("aside",{"data-tour":"right-panel",className:"flex w-80 flex-col overflow-hidden border-l border-[var(--inkblot-semantic-color-border-default)]",children:r?At(tr,{renderEventsTab:()=>At(Dr,{...i}),...n}):At(Dr,{...i})}):null]})]});return r?At(Br,{...s,children:d}):d}import{jsx as la,jsxs as ac}from"react/jsx-runtime";function oc({ratio:t=16/9,children:e,className:r}){let a=Number.isFinite(t)&&t>0?t:1.7777777777777777;return ac("div",{className:o("relative w-full overflow-hidden",r),children:[la("div",{style:{paddingTop:`${1/a*100}%`}}),la("div",{className:"absolute inset-0",children:e})]})}import{useState as nc}from"react";import{User as ic}from"lucide-react";import{jsx as er}from"react/jsx-runtime";var sc={sm:"h-8 w-8 text-xs",md:"h-10 w-10 text-sm",lg:"h-14 w-14 text-base"};function lc({src:t,alt:e="Avatar",fallback:r,size:a="md",disabled:i=!1,className:n}){let[s,l]=nc(!1),c=!!(t&&!s);return er("span",{"aria-disabled":i,className:o("inline-flex shrink-0 items-center justify-center overflow-hidden rounded-[var(--inkblot-radius-full)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-tertiary)] text-[var(--inkblot-semantic-color-text-secondary)]",i&&"opacity-[var(--inkblot-opacity-disabled)]",sc[a],n),children:c?er("img",{src:t,alt:e,onError:()=>l(!0),className:"h-full w-full object-cover"}):r?er("span",{className:"font-medium uppercase",children:r.slice(0,2)}):er(ic,{className:"h-4 w-4"})})}import{jsx as mc}from"react/jsx-runtime";var cc={default:"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]",secondary:"bg-[var(--inkblot-semantic-color-background-tertiary)] text-[var(--inkblot-semantic-color-text-primary)]",success:"bg-[var(--inkblot-semantic-color-status-success)]/15 text-[var(--inkblot-semantic-color-status-success)]",warning:"bg-[var(--inkblot-semantic-color-status-warning)]/15 text-[var(--inkblot-semantic-color-status-warning)]",error:"bg-[var(--inkblot-semantic-color-status-error)]/15 text-[var(--inkblot-semantic-color-status-error)]",outline:"border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-primary)]"};function dc({children:t,variant:e="default",disabled:r=!1,className:a}){return mc("span",{"aria-disabled":r,className:o("inline-flex min-h-[calc(var(--inkblot-size-touch-target-min)-1rem)] items-center justify-center rounded-[var(--inkblot-radius-full)] px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)] text-xs font-semibold transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",cc[e],r&&"opacity-[var(--inkblot-opacity-disabled)]",a),children:t})}import{ChevronRight as pc}from"lucide-react";import{jsx as be,jsxs as uc}from"react/jsx-runtime";function bc({items:t,className:e}){return be("nav",{"aria-label":"Breadcrumb",className:o("w-full",e),children:be("ol",{className:"flex flex-wrap items-center gap-[var(--inkblot-spacing-2)]",children:t.map((r,a)=>{let i=r.href&&!r.disabled&&!r.current?be("a",{href:r.href,onClick:r.onClick,className:"rounded-[var(--inkblot-radius-sm)] text-sm text-[var(--inkblot-semantic-color-text-secondary)] transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] hover:text-[var(--inkblot-semantic-color-text-primary)]",children:r.label}):be("span",{"aria-current":r.current?"page":void 0,className:o("text-sm",r.current?"font-semibold text-[var(--inkblot-semantic-color-text-primary)]":"text-[var(--inkblot-semantic-color-text-tertiary)]",r.disabled&&"opacity-[var(--inkblot-opacity-disabled)]"),children:r.label});return uc("li",{className:"flex items-center gap-[var(--inkblot-spacing-2)]",children:[i,a<t.length-1&&be(pc,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-text-tertiary)]"})]},r.id)})})})}import{useMemo as ca,useState as vc}from"react";import{ChevronLeft as gc,ChevronRight as fc}from"lucide-react";import{jsx as kt,jsxs as Vr}from"react/jsx-runtime";var kc=["L","M","X","J","V","S","D"];function da(t){return new Date(t.getFullYear(),t.getMonth(),1)}function yc(t){return new Date(t.getFullYear(),t.getMonth()+1,0)}function xc(t,e){return t.getFullYear()===e.getFullYear()&&t.getMonth()===e.getMonth()&&t.getDate()===e.getDate()}function zr(t){return`${t.getFullYear()}-${t.getMonth()}-${t.getDate()}`}function hc(t){let e=da(t),r=yc(t),a=(e.getDay()+6)%7,i=r.getDate(),n=[];for(let s=0;s<a;s+=1)n.push(null);for(let s=1;s<=i;s+=1)n.push(new Date(t.getFullYear(),t.getMonth(),s));for(;n.length%7!==0;)n.push(null);return n}function Nc({value:t,onChange:e,disabledDates:r,className:a}){let i=t??new Date,[n,s]=vc(da(i)),l=ca(()=>hc(n),[n]),c=ca(()=>new Set((r??[]).map(zr)),[r]);return Vr("div",{className:o("w-[320px] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)] text-[var(--inkblot-semantic-color-text-primary)]",a),children:[Vr("div",{className:"mb-[var(--inkblot-spacing-3)] flex items-center justify-between",children:[kt("button",{type:"button",onClick:()=>s(new Date(n.getFullYear(),n.getMonth()-1,1)),className:"inline-flex h-8 w-8 items-center justify-center rounded-[var(--inkblot-radius-md)] text-[var(--inkblot-semantic-color-text-secondary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]",children:kt(gc,{className:"h-4 w-4"})}),kt("div",{className:"font-semibold",children:n.toLocaleDateString("es-ES",{month:"long",year:"numeric"})}),kt("button",{type:"button",onClick:()=>s(new Date(n.getFullYear(),n.getMonth()+1,1)),className:"inline-flex h-8 w-8 items-center justify-center rounded-[var(--inkblot-radius-md)] text-[var(--inkblot-semantic-color-text-secondary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]",children:kt(fc,{className:"h-4 w-4"})})]}),Vr("div",{className:"grid grid-cols-7 gap-[var(--inkblot-spacing-1)]",children:[kc.map(d=>kt("div",{className:"pb-[var(--inkblot-spacing-1)] text-center text-xs font-medium text-[var(--inkblot-semantic-color-text-tertiary)]",children:d},d)),l.map((d,b)=>{if(!d)return kt("div",{className:"h-9"},`empty-${b}`);let m=c.has(zr(d)),v=t?xc(d,t):!1;return kt("button",{type:"button",disabled:m,onClick:()=>e?.(d),className:o("h-9 rounded-[var(--inkblot-radius-md)] text-sm transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",v?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]",m&&"cursor-not-allowed opacity-[var(--inkblot-opacity-disabled)]"),children:d.getDate()},zr(d))})]})]})}import{jsx as Yt}from"react/jsx-runtime";function Cc({className:t,interactive:e=!1,disabled:r=!1,...a}){return Yt("div",{"aria-disabled":r,className:o("w-full rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-primary)]",e&&"transition-[border-color,transform,background] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] hover:border-[var(--inkblot-semantic-color-border-strong)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)] active:translate-y-px",r&&"pointer-events-none opacity-[var(--inkblot-opacity-disabled)]",t),...a})}function wc({className:t,...e}){return Yt("div",{className:o("flex flex-col gap-[var(--inkblot-spacing-1)] p-[var(--inkblot-spacing-5)]",t),...e})}function Tc({className:t,...e}){return Yt("h3",{className:o("text-base font-semibold text-[var(--inkblot-semantic-color-text-primary)]",t),...e})}function Pc({className:t,...e}){return Yt("p",{className:o("text-sm text-[var(--inkblot-semantic-color-text-secondary)]",t),...e})}function Mc({className:t,...e}){return Yt("div",{className:o("px-[var(--inkblot-spacing-5)] pb-[var(--inkblot-spacing-5)]",t),...e})}function Sc({className:t,...e}){return Yt("div",{className:o("flex items-center justify-end gap-[var(--inkblot-spacing-2)] border-t border-[var(--inkblot-semantic-color-border-default)] px-[var(--inkblot-spacing-5)] py-[var(--inkblot-spacing-4)]",t),...e})}import{useState as Ec}from"react";import{ChevronLeft as Lc,ChevronRight as Ic}from"lucide-react";import{jsx as yt,jsxs as Or}from"react/jsx-runtime";function Rc({items:t,initialIndex:e=0,loop:r=!1,className:a}){let[i,n]=Ec(Math.min(Math.max(e,0),Math.max(t.length-1,0))),s=r||i>0,l=r||i<t.length-1,c=()=>{if(t.length!==0){if(r){n(b=>(b-1+t.length)%t.length);return}n(b=>Math.max(b-1,0))}},d=()=>{if(t.length!==0){if(r){n(b=>(b+1)%t.length);return}n(b=>Math.min(b+1,t.length-1))}};return Or("div",{className:o("w-full rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)]",a),children:[yt("div",{className:"relative overflow-hidden rounded-[var(--inkblot-radius-lg)]",children:yt("div",{className:"flex transition-transform duration-[var(--inkblot-duration-normal)] ease-[var(--inkblot-easing-default)]",style:{transform:`translateX(-${i*100}%)`},children:t.map((b,m)=>yt("div",{className:"w-full shrink-0",children:b},m))})}),Or("div",{className:"mt-[var(--inkblot-spacing-3)] flex items-center justify-between",children:[yt("div",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:t.length>0?`${i+1} de ${t.length}`:"Sin elementos"}),Or("div",{className:"flex gap-[var(--inkblot-spacing-2)]",children:[yt("button",{type:"button",onClick:c,disabled:!s||t.length===0,className:"inline-flex h-9 w-9 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",children:yt(Lc,{className:"h-4 w-4"})}),yt("button",{type:"button",onClick:d,disabled:!l||t.length===0,className:"inline-flex h-9 w-9 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",children:yt(Ic,{className:"h-4 w-4"})})]})]})]})}import{jsx as Dt,jsxs as ma}from"react/jsx-runtime";function Ac({data:t,title:e="Rendimiento",emptyMessage:r="No hay datos para mostrar.",className:a}){let i=Math.max(...t.map(n=>n.value),0);return ma("div",{className:o("w-full rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-5)]",a),children:[Dt("h3",{className:"mb-[var(--inkblot-spacing-4)] text-sm font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:e}),t.length===0?Dt("div",{className:"rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-4)] text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:r}):Dt("div",{className:"flex flex-col gap-[var(--inkblot-spacing-3)]",children:t.map(n=>{let s=i>0?n.value/i*100:0;return ma("div",{className:"grid grid-cols-[120px_1fr_48px] items-center gap-[var(--inkblot-spacing-3)]",children:[Dt("span",{className:"truncate text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:n.label}),Dt("div",{className:"h-3 overflow-hidden rounded-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-background-tertiary)]",children:Dt("div",{className:"h-full rounded-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-interactive-primary)]",style:{width:`${s}%`,backgroundColor:n.color??"var(--inkblot-semantic-color-interactive-primary)"}})}),Dt("span",{className:"text-right text-sm font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:n.value})]},n.id)})})]})}import{useState as Dc}from"react";import{Check as Hc}from"lucide-react";import{jsx as rr,jsxs as pa}from"react/jsx-runtime";function Bc({checked:t,defaultChecked:e=!1,onCheckedChange:r,label:a,description:i,disabled:n=!1,error:s=!1,className:l}){let[c,d]=Dc(e),b=t!==void 0,m=b?t:c,v=p=>{b||d(p),r?.(p)};return pa("label",{className:o("inline-flex items-start gap-[var(--inkblot-spacing-3)] text-[var(--inkblot-semantic-color-text-primary)]",n&&"cursor-not-allowed opacity-[var(--inkblot-opacity-disabled)]",l),children:[rr("button",{type:"button",role:"checkbox","aria-checked":m,disabled:n,onClick:()=>v(!m),className:o("mt-0.5 inline-flex h-5 w-5 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] border transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-2",m?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] hover:border-[var(--inkblot-semantic-color-border-strong)]",s&&!m&&"border-[var(--inkblot-semantic-color-status-error)]"),children:m&&rr(Hc,{className:"h-4 w-4"})}),(a||i)&&pa("span",{className:"flex flex-col gap-[var(--inkblot-spacing-1)]",children:[a&&rr("span",{className:"text-sm font-medium",children:a}),i&&rr("span",{className:o("text-xs text-[var(--inkblot-semantic-color-text-secondary)]",s&&!m&&"text-[var(--inkblot-semantic-color-status-error)]"),children:i})]})]})}import{jsx as ue,jsxs as Fr}from"react/jsx-runtime";var zc={success:"var(--inkblot-semantic-color-status-success)",warning:"var(--inkblot-semantic-color-status-warning)",error:"var(--inkblot-semantic-color-status-error)",info:"var(--inkblot-semantic-color-status-info)",primary:"var(--inkblot-semantic-color-interactive-primary)"};function ba({label:t,value:e,tone:r="primary",color:a,inverted:i=!1,size:n=72,className:s}){let l=Math.max(0,Math.min(100,e)),c=i?100-l:l,d=5,b=(n-d)/2,m=2*Math.PI*b,v=m-c/100*m,p=a??zc[r];return ue("div",{className:s,children:Fr("div",{className:"flex flex-col items-center gap-2",children:[Fr("div",{className:"relative",style:{width:n,height:n},children:[Fr("svg",{width:n,height:n,className:"-rotate-90",children:[ue("circle",{cx:n/2,cy:n/2,r:b,fill:"none",stroke:"var(--inkblot-semantic-color-background-tertiary)",strokeWidth:d}),ue("circle",{cx:n/2,cy:n/2,r:b,fill:"none",stroke:p,strokeWidth:d,strokeDasharray:m,strokeDashoffset:v,strokeLinecap:"round",className:"transition-[stroke-dashoffset] duration-[var(--inkblot-duration-fast)]"})]}),ue("span",{className:"absolute inset-0 flex items-center justify-center text-sm font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:l})]}),ue("span",{className:"text-center text-[10px] leading-tight text-[var(--inkblot-semantic-color-text-tertiary)]",children:t})]})})}import{useState as Vc}from"react";import{ChevronDown as Oc}from"lucide-react";import{jsx as Gr,jsxs as ua}from"react/jsx-runtime";function Fc({title:t,children:e,defaultOpen:r=!1,disabled:a=!1,className:i}){let[n,s]=Vc(r);return ua("div",{className:o("w-full rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)]",a&&"opacity-[var(--inkblot-opacity-disabled)]",i),children:[ua("button",{type:"button",disabled:a,"aria-expanded":n,onClick:()=>s(l=>!l),className:o("flex min-h-[var(--inkblot-size-touch-target-min)] w-full items-center justify-between gap-[var(--inkblot-spacing-3)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)] text-left text-[var(--inkblot-semantic-color-text-primary)]",!a&&"hover:bg-[var(--inkblot-semantic-color-background-tertiary)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-[-2px]"),children:[Gr("span",{className:"font-medium",children:t}),Gr(Oc,{className:o("h-4 w-4 text-[var(--inkblot-semantic-color-text-tertiary)] transition-transform duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",n&&"rotate-180")})]}),n&&Gr("div",{className:"border-t border-[var(--inkblot-semantic-color-border-default)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-4)] text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:e})]})}import{useMemo as Gc,useState as Wc}from"react";import{Search as $c}from"lucide-react";import{jsx as xt,jsxs as Wr}from"react/jsx-runtime";function _c({items:t,placeholder:e="Buscar comando...",onSelect:r,className:a}){let[i,n]=Wc(""),s=Gc(()=>{let l=i.trim().toLowerCase();return l?t.filter(c=>{let d=c.label.toLowerCase().includes(l),b=(c.keywords??[]).some(m=>m.toLowerCase().includes(l));return d||b}):t},[t,i]);return Wr("div",{className:o("w-full rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)]",a),children:[Wr("div",{className:"flex items-center gap-[var(--inkblot-spacing-2)] border-b border-[var(--inkblot-semantic-color-border-default)] px-[var(--inkblot-spacing-3)]",children:[xt($c,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-text-tertiary)]"}),xt("input",{value:i,onChange:l=>n(l.target.value),placeholder:e,className:"h-11 w-full bg-transparent text-sm text-[var(--inkblot-semantic-color-text-primary)] outline-none placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]"})]}),xt("div",{className:"max-h-[280px] overflow-y-auto p-[var(--inkblot-spacing-2)]",children:s.length>0?xt("ul",{className:"flex flex-col gap-[var(--inkblot-spacing-1)]",children:s.map(l=>xt("li",{children:Wr("button",{type:"button",disabled:l.disabled,onClick:()=>r?.(l),className:o("flex min-h-[var(--inkblot-size-touch-target-min)] w-full items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] text-left text-sm text-[var(--inkblot-semantic-color-text-primary)] transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",l.disabled?"cursor-not-allowed opacity-[var(--inkblot-opacity-disabled)]":"hover:bg-[var(--inkblot-semantic-color-background-tertiary)] active:bg-[var(--inkblot-semantic-color-background-tertiary)]"),children:[l.icon&&xt("span",{className:"text-[var(--inkblot-semantic-color-text-tertiary)]",children:l.icon}),xt("span",{children:l.label})]})},l.id))}):xt("div",{className:"px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-3)] text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:"Sin resultados para tu b\xFAsqueda."})})]})}import{useEffect as Kc,useMemo as jc,useRef as Uc,useState as $r}from"react";import{Send as qc,Sparkles as or}from"lucide-react";import{jsx as I,jsxs as ot}from"react/jsx-runtime";var Yc=[{id:"1",role:"user",content:"Show me Acme Corp's profile and deal health."},{id:"2",role:"assistant",content:"Here's the entity profile and current intelligence scores for Acme Corp.",cards:["entity","intelligence"]}],_r="rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-3 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]";function jx({title:t="Command Canvas",subtitle:e="AI-native interface \u2014 results appear here",readyLabel:r="System ready",placeholder:a="Ask anything \u2014 deals, contacts, forecasts...",footerText:i="Citron OS v1.0 \xB7 AI-native Revenue & Operations Platform",blocks:n,renderBlock:s,messages:l,initialMessages:c=Yc,onMessagesChange:d,inputValue:b,defaultInputValue:m="",onInputValueChange:v,autoAssistantResponse:p=!0,assistantResponseDelayMs:g=700,isResponding:C,onRespondingChange:w,onSend:N,generateAssistantMessage:T,renderCard:h,hideInput:y=!1,className:k}){let[u,x]=$r(c),[P,M]=$r(m),[A,S]=$r(!1),F=Uc(null),E=l!==void 0,B=E?l:u,L=b!==void 0,G=L?b:P,q=C!==void 0,he=q?C:A,Ne=G.trim().length>0&&!he,Ce=jc(()=>f=>({content:`Analyzing "${f}". Here are the latest insights.`,cards:["entity","intelligence"]}),[]),we=f=>{E||x(f),d?.(f)},te=f=>{L||M(f),v?.(f)},ee=f=>{q||S(f),w?.(f)};Kc(()=>()=>{F.current!==null&&window.clearTimeout(F.current)},[]);let Te=()=>{let f=G.trim();if(!f)return;let W={id:`${Date.now()}-user`,role:"user",content:f},mt=[...B,W];we(mt),te(""),N?.(f),p&&(ee(!0),F.current=window.setTimeout(()=>{let X=(T??Ce)(f),mr=[...mt,{id:`${Date.now()}-assistant`,role:"assistant",content:X.content,cards:X.cards}];we(mr),ee(!1)},g))},Pe=n!==void 0,dr=f=>f.type==="text"?ot("div",{className:"flex items-start gap-3",children:[I("div",{className:"mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)]/15",children:I(or,{className:"h-3.5 w-3.5 text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0})}),I("p",{className:"pt-0.5 text-sm leading-relaxed text-[var(--inkblot-semantic-color-text-secondary)]",children:f.content})]}):f.type==="entity"?h?h("entity"):I("div",{className:_r,children:"Entity card preview"}):f.type==="intelligence"?h?h("intelligence"):I("div",{className:_r,children:"Intelligence card preview"}):f.type==="loading"?ot("div",{className:"flex items-center gap-3",children:[I("div",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)]/15",children:I(or,{className:"h-3.5 w-3.5 animate-pulse text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0})}),ot("div",{className:"flex gap-1",children:[I("span",{className:"h-1.5 w-1.5 animate-bounce rounded-full bg-[var(--inkblot-semantic-color-text-tertiary)]",style:{animationDelay:"0ms"}}),I("span",{className:"h-1.5 w-1.5 animate-bounce rounded-full bg-[var(--inkblot-semantic-color-text-tertiary)]",style:{animationDelay:"150ms"}}),I("span",{className:"h-1.5 w-1.5 animate-bounce rounded-full bg-[var(--inkblot-semantic-color-text-tertiary)]",style:{animationDelay:"300ms"}})]})]}):null;return ot("section",{className:o("flex h-full flex-col",k),children:[ot("header",{className:"flex items-center justify-between border-b border-[var(--inkblot-semantic-color-border-default)] px-8 py-5",children:[ot("div",{children:[I("h2",{className:"text-lg font-semibold tracking-tight text-[var(--inkblot-semantic-color-text-primary)]",children:t}),I("p",{className:"mt-0.5 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:e})]}),ot("div",{className:"flex items-center gap-2 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:[I("span",{className:"h-1.5 w-1.5 rounded-full bg-[var(--inkblot-semantic-color-status-success)]"}),r]})]}),I("div",{className:"hide-scrollbar flex-1 overflow-y-auto px-8 py-6",children:I("div",{className:"mx-auto max-w-3xl space-y-6",children:Pe?n.map(f=>I("div",{children:s?s(f):dr(f)},f.id)):B.map(f=>f.role==="user"?I("div",{className:"flex justify-end",children:I("div",{className:"max-w-md rounded-2xl rounded-br-sm bg-[var(--inkblot-semantic-color-interactive-secondary)] px-4 py-2.5 text-sm leading-relaxed text-[var(--inkblot-semantic-color-text-primary)]",children:f.content})},f.id):ot("div",{className:"space-y-4",children:[ot("div",{className:"flex items-start gap-3",children:[I("div",{className:"mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)]/15",children:I(or,{className:"h-3.5 w-3.5 text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0})}),I("p",{className:"pt-0.5 text-sm leading-relaxed text-[var(--inkblot-semantic-color-text-secondary)]",children:f.content})]}),f.cards?.length?I("div",{className:"ml-9 grid gap-4",children:f.cards.map(W=>h?I("div",{children:h(W)},W):I("div",{className:_r,children:W==="entity"?"Entity card preview":"Intelligence card preview"},W))}):null]},f.id))})}),!y&&!Pe?I("footer",{className:"border-t border-[var(--inkblot-semantic-color-border-default)] px-8 py-4",children:ot("div",{className:"mx-auto max-w-3xl",children:[ot("div",{className:"flex items-center gap-3 rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-4 py-3",children:[I(or,{className:"h-4 w-4 shrink-0 text-[var(--inkblot-semantic-color-text-tertiary)]"}),I("input",{type:"text",value:G,onChange:f=>te(f.target.value),onKeyDown:f=>{f.key==="Enter"&&Te()},placeholder:a,className:"flex-1 bg-transparent text-sm text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)] outline-none"}),I("button",{type:"button",onClick:Te,disabled:!Ne,className:"flex h-8 w-8 items-center justify-center rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)] transition-opacity duration-[var(--inkblot-duration-fast)] disabled:opacity-35","aria-label":"Send",children:I(qc,{className:"h-3.5 w-3.5"})})]}),I("p",{className:"mt-2 text-center text-[10px] text-[var(--inkblot-semantic-color-text-tertiary)]",children:i})]})}):I("footer",{className:"border-t border-[var(--inkblot-semantic-color-border-default)] px-8 py-3",children:I("p",{className:"text-center text-[10px] text-[var(--inkblot-semantic-color-text-tertiary)]",children:i})})]})}import{useEffect as Xc,useRef as Zc,useState as va}from"react";import{jsx as ar,jsxs as Kr}from"react/jsx-runtime";function Qc({trigger:t,items:e,className:r}){let[a,i]=va(!1),[n,s]=va({x:0,y:0}),l=Zc(null);Xc(()=>{if(!a)return;let d=()=>i(!1);return document.addEventListener("click",d),document.addEventListener("contextmenu",d),()=>{document.removeEventListener("click",d),document.removeEventListener("contextmenu",d)}},[a]);let c=d=>{d.preventDefault();let b=l.current?.getBoundingClientRect(),m=b?.left??0,v=b?.top??0;s({x:d.clientX-m,y:d.clientY-v}),i(!0)};return Kr("div",{ref:l,className:o("relative w-full",r),onContextMenu:c,children:[t,a&&ar("div",{role:"menu",className:"absolute z-40 min-w-[220px] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-1)] shadow-lg",style:{left:n.x,top:n.y},children:e.map(d=>Kr("button",{type:"button",role:"menuitem",disabled:d.disabled,onClick:()=>{d.onSelect?.(),i(!1)},className:o("flex min-h-[var(--inkblot-size-touch-target-min)] w-full items-center justify-between gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] text-sm transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",d.disabled?"cursor-not-allowed opacity-[var(--inkblot-opacity-disabled)]":"hover:bg-[var(--inkblot-semantic-color-background-tertiary)]",d.danger?"text-[var(--inkblot-semantic-color-status-error)]":"text-[var(--inkblot-semantic-color-text-primary)]"),children:[Kr("span",{className:"flex items-center gap-[var(--inkblot-spacing-2)]",children:[d.icon&&ar("span",{className:"text-[var(--inkblot-semantic-color-text-tertiary)]",children:d.icon}),ar("span",{children:d.label})]}),d.shortcut&&ar("span",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:d.shortcut})]},d.id))})]})}import{createContext as Jc,forwardRef as Ur,useCallback as jr,useContext as td,useEffect as ga,useId as fa,useMemo as ed,useRef as ka,useState as rd}from"react";import{createPortal as od}from"react-dom";import{X as ad}from"lucide-react";import{jsx as Q,jsxs as ya}from"react/jsx-runtime";var xa=Jc(null);function qr(){let t=td(xa);if(!t)throw new Error("Dialog components must be used within Dialog");return t}function nd({open:t,defaultOpen:e=!1,onOpenChange:r,children:a}){let[i,n]=rd(e),s=t!==void 0,l=s?t:i,c=jr(b=>{s||n(b),r?.(b)},[s,r]),d=ed(()=>({open:l,setOpen:c}),[l,c]);return Q(xa.Provider,{value:d,children:a})}var ha=Ur(({className:t,type:e="button",onClick:r,...a},i)=>{let{setOpen:n}=qr();return Q("button",{ref:i,type:e,onClick:s=>{r?.(s),s.defaultPrevented||n(!0)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-2","disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:pointer-events-none disabled:cursor-not-allowed","[font:var(--inkblot-semantic-typography-body-medium)]",t),...a})});ha.displayName="DialogTrigger";var Na=Ur(({className:t,children:e,showCloseButton:r=!0,initialFocusRef:a,...i},n)=>{let{open:s,setOpen:l}=qr(),c=fa(),d=fa(),b=ka(null),m=ka(null),v=jr(g=>{if(b.current=g,typeof n=="function"){n(g);return}n&&(n.current=g)},[n]),p=jr(()=>{l(!1)},[l]);return ga(()=>{if(!s)return;let g=C=>{C.key==="Escape"&&p()};return window.addEventListener("keydown",g),()=>{window.removeEventListener("keydown",g)}},[p,s]),ga(()=>{if(!s)return;m.current=document.activeElement instanceof HTMLElement?document.activeElement:null;let g=a?.current,C=b.current?.querySelector('button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])');return(g??C??b.current)?.focus(),()=>{m.current?.focus()}},[a,s]),!s||typeof document>"u"?null:od(ya("div",{className:o("fixed inset-0 z-50 flex items-center justify-center p-[var(--inkblot-spacing-6)]"),children:[Q("button",{type:"button","aria-label":"Close dialog",className:o("absolute inset-0 bg-[var(--inkblot-semantic-color-background-primary)]/70"),onClick:p}),ya("div",{ref:v,role:"dialog","aria-modal":"true","aria-labelledby":c,"aria-describedby":d,tabIndex:-1,className:o("relative z-10 w-full max-w-[calc(var(--inkblot-size-touch-target-min)*10)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-6)]","shadow-[var(--inkblot-shadow-lg)]",t),...i,children:[r?Q(Yr,{"aria-label":"Close dialog",className:o("absolute right-[var(--inkblot-spacing-4)] top-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-md)] p-[var(--inkblot-spacing-2)]"),children:Q(ad,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})}):null,Q("div",{id:c,className:"sr-only"}),Q("div",{id:d,className:"sr-only"}),e]})]}),document.body)});Na.displayName="DialogContent";function id({className:t,...e}){return Q("div",{className:o("mb-[var(--inkblot-spacing-4)] grid gap-[var(--inkblot-spacing-2)]",t),...e})}function sd({className:t,...e}){return Q("h2",{className:o("text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-heading-small)]",t),...e})}function ld({className:t,...e}){return Q("p",{className:o("text-[var(--inkblot-semantic-color-text-secondary)] [font:var(--inkblot-semantic-typography-body-medium)]",t),...e})}function cd({className:t,...e}){return Q("div",{className:o("mt-[var(--inkblot-spacing-6)] flex flex-wrap justify-end gap-[var(--inkblot-spacing-3)]",t),...e})}var Yr=Ur(({className:t,type:e="button",onClick:r,...a},i)=>{let{setOpen:n}=qr();return Q("button",{ref:i,type:e,onClick:s=>{r?.(s),s.defaultPrevented||n(!1)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]","border border-[var(--inkblot-semantic-color-border-default)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:border-[var(--inkblot-semantic-color-border-strong)]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-2","[font:var(--inkblot-semantic-typography-body-medium)]",t),...a})});Yr.displayName="DialogClose";import{createContext as dd,forwardRef as Zr,useCallback as Xr,useContext as md,useEffect as Ca,useMemo as pd,useRef as wa,useState as bd}from"react";import{createPortal as ud}from"react-dom";import{X as vd}from"lucide-react";import{jsx as it,jsxs as hd}from"react/jsx-runtime";var Ta=dd(null);function Qr(){let t=md(Ta);if(!t)throw new Error("Drawer components must be used within Drawer");return t}function gd({children:t,open:e,defaultOpen:r=!1,onOpenChange:a,side:i="right"}){let[n,s]=bd(r),l=e!==void 0,c=l?e:n,d=Xr(m=>{l||s(m),a?.(m)},[l,a]),b=pd(()=>({open:c,setOpen:d,side:i}),[c,d,i]);return it(Ta.Provider,{value:b,children:t})}var Pa=Zr(({className:t,type:e="button",onClick:r,...a},i)=>{let{setOpen:n}=Qr();return it("button",{ref:i,type:e,onClick:s=>{r?.(s),s.defaultPrevented||n(!0)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-2",t),...a})});Pa.displayName="DrawerTrigger";var Ma=Zr(({className:t,children:e,initialFocusRef:r,...a},i)=>{let{open:n,setOpen:s,side:l}=Qr(),c=wa(null),d=wa(null),b=Xr(v=>{if(c.current=v,typeof i=="function"){i(v);return}i&&(i.current=v)},[i]),m=Xr(()=>{s(!1)},[s]);return Ca(()=>{if(!n)return;let v=p=>{p.key==="Escape"&&m()};return window.addEventListener("keydown",v),()=>{window.removeEventListener("keydown",v)}},[m,n]),Ca(()=>{if(!n)return;d.current=document.activeElement instanceof HTMLElement?document.activeElement:null;let v=r?.current,p=c.current?.querySelector('button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])');return(v??p??c.current)?.focus(),()=>{d.current?.focus()}},[r,n]),!n||typeof document>"u"?null:ud(hd("div",{className:"fixed inset-0 z-50",children:[it("button",{type:"button","aria-label":"Close drawer",className:"absolute inset-0 bg-[var(--inkblot-semantic-color-background-primary)]/70",onClick:m}),it("div",{ref:b,role:"dialog","aria-modal":"true",tabIndex:-1,className:o("absolute top-0 h-full w-full max-w-[calc(var(--inkblot-size-touch-target-min)*7)] border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-6)] shadow-[var(--inkblot-shadow-lg)]",l==="right"?"right-0 border-l":"left-0 border-r",t),...a,children:e})]}),document.body)});Ma.displayName="DrawerContent";function fd({className:t,...e}){return it("div",{className:o("mb-[var(--inkblot-spacing-4)] grid gap-[var(--inkblot-spacing-2)]",t),...e})}function kd({className:t,...e}){return it("h2",{className:o("text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-heading-small)]",t),...e})}function yd({className:t,...e}){return it("p",{className:o("text-[var(--inkblot-semantic-color-text-secondary)] [font:var(--inkblot-semantic-typography-body-medium)]",t),...e})}function xd({className:t,...e}){return it("div",{className:o("mt-[var(--inkblot-spacing-6)] flex flex-wrap justify-end gap-[var(--inkblot-spacing-3)]",t),...e})}var Sa=Zr(({className:t,type:e="button",onClick:r,children:a,...i},n)=>{let{setOpen:s}=Qr();return it("button",{ref:n,type:e,onClick:l=>{r?.(l),l.defaultPrevented||s(!1)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]","border border-[var(--inkblot-semantic-color-border-default)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]",t),...i,children:a??it(vd,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})})});Sa.displayName="DrawerClose";import{createContext as Nd,forwardRef as Jr,useCallback as Cd,useContext as wd,useEffect as Td,useMemo as Pd,useRef as Md,useState as Sd}from"react";import{ChevronDown as Ed}from"lucide-react";import{jsx as ve,jsxs as Aa}from"react/jsx-runtime";var Ea=Nd(null);function to(){let t=wd(Ea);if(!t)throw new Error("DropdownMenu components must be used within DropdownMenu");return t}function Ld({children:t,open:e,defaultOpen:r=!1,onOpenChange:a}){let[i,n]=Sd(r),s=Md(null),l=e!==void 0,c=l?e:i,d=Cd(m=>{l||n(m),a?.(m)},[l,a]);Td(()=>{if(!c)return;let m=p=>{let g=p.target;g&&s.current&&!s.current.contains(g)&&d(!1)},v=p=>{p.key==="Escape"&&d(!1)};return window.addEventListener("pointerdown",m),window.addEventListener("keydown",v),()=>{window.removeEventListener("pointerdown",m),window.removeEventListener("keydown",v)}},[c,d]);let b=Pd(()=>({open:c,setOpen:d,containerRef:s}),[c,d]);return ve(Ea.Provider,{value:b,children:ve("div",{ref:s,className:"relative inline-flex",children:t})})}var La=Jr(({className:t,type:e="button",showChevron:r=!0,onClick:a,children:i,...n},s)=>{let{open:l,setOpen:c}=to();return Aa("button",{ref:s,type:e,"aria-haspopup":"menu","aria-expanded":l,onClick:d=>{a?.(d),d.defaultPrevented||c(!l)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-2","[font:var(--inkblot-semantic-typography-body-medium)]",t),...n,children:[i,r?ve(Ed,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}}):null]})});La.displayName="DropdownMenuTrigger";var Ia=Jr(({className:t,...e},r)=>{let{open:a}=to();return a?ve("div",{ref:r,role:"menu",className:o("absolute right-0 top-[calc(100%+var(--inkblot-spacing-2))] z-40 min-w-[calc(var(--inkblot-size-touch-target-min)*4)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-2)] shadow-[var(--inkblot-shadow-md)]",t),...e}):null});Ia.displayName="DropdownMenuContent";var Ra=Jr(({className:t,type:e="button",icon:r,onClick:a,children:i,...n},s)=>{let{setOpen:l}=to();return Aa("button",{ref:s,type:e,role:"menuitem",onClick:c=>{a?.(c),c.defaultPrevented||l(!1)},className:o("flex min-h-[var(--inkblot-size-touch-target-min)] w-full items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]","text-left text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-secondary)]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-0","[font:var(--inkblot-semantic-typography-body-medium)]",t),...n,children:[r,i]})});Ra.displayName="DropdownMenuItem";function Id({className:t,...e}){return ve("div",{className:o("my-[var(--inkblot-spacing-2)] border-b border-[var(--inkblot-semantic-color-border-default)]",t),...e})}import{useMemo as Da,useState as Rd}from"react";import{ChevronDown as Ad,ChevronUp as Dd,Columns as Hd,GripVertical as Bd,Image as za,Minus as zd,MousePointerClick as Vd,Square as Od,Trash2 as Fd,Type as Ha}from"lucide-react";import{jsx as H,jsxs as ct}from"react/jsx-runtime";var Ba=[{type:"heading",label:"Heading",icon:Ha},{type:"text",label:"Text",icon:Ha},{type:"image",label:"Image",icon:za},{type:"button",label:"Button",icon:Od},{type:"divider",label:"Divider",icon:zd},{type:"columns",label:"2 Columns",icon:Hd}],Gd={heading:"Your Heading Here",text:"Write your content here. Click to edit this text block.",image:"https://placehold.co/600x200",button:"Click Me",divider:"",columns:"Column 1 | Column 2"};function Eh({blocks:t,onBlocksChange:e,availableBlockTypes:r,editingId:a,onEditingIdChange:i,onAddBlock:n,onDeleteBlock:s,onMoveBlock:l,onBlockContentChange:c,readOnly:d=!1,className:b}){let[m,v]=Rd(null),p=a!==void 0,g=p?a:m,C=u=>{p||v(u),i?.(u)},w=Da(()=>!r||r.length===0?Ba:Ba.filter(u=>r.includes(u.type)),[r]),N=Da(()=>t.reduce((u,x,P)=>(u[x.id]=P,u),{}),[t]),T=u=>{if(d)return;let x={id:`block-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:u,content:Gd[u]};e([...t,x]),n?.(u,x)},h=(u,x)=>{d||(e(t.map(P=>P.id===u?{...P,content:x}:P)),c?.(u,x))},y=u=>{d||(e(t.filter(x=>x.id!==u)),s?.(u))},k=(u,x)=>{if(d)return;let P=N[u],M=P+x;if(M<0||M>=t.length)return;let A=[...t],[S]=A.splice(P,1);A.splice(M,0,S),e(A),l?.(u,x)};return ct("section",{className:o("flex gap-4",b),children:[ct("aside",{className:"w-44 shrink-0",children:[H("span",{className:"text-[10px] uppercase tracking-wide text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Blocks"}),H("div",{className:"mt-2 space-y-1",children:w.map(u=>ct("button",{type:"button",onClick:()=>T(u.type),disabled:d,className:"flex w-full items-center gap-2 rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] px-3 py-2 text-xs text-[var(--inkblot-semantic-color-text-primary)] transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]",children:[H(u.icon,{className:"h-3.5 w-3.5 text-[var(--inkblot-semantic-color-text-tertiary)]"}),u.label]},u.type))})]}),H("div",{className:"glass min-h-[400px] flex-1 rounded-[var(--inkblot-radius-lg)] p-6",children:t.length===0?ct("div",{className:"flex h-full flex-col items-center justify-center gap-3 text-center",children:[H(Vd,{className:"h-8 w-8 text-[var(--inkblot-semantic-color-text-tertiary)]/40"}),ct("div",{children:[H("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Drop blocks here to build your email"}),H("p",{className:"mt-1 text-[10px] text-[var(--inkblot-semantic-color-text-tertiary)]/60",children:"or use AI to generate a full layout"})]})]}):H("div",{className:"space-y-2",children:t.map((u,x)=>ct("article",{className:"group flex items-start gap-2",children:[H("div",{className:"pt-1 text-[var(--inkblot-semantic-color-text-tertiary)]",children:H(Bd,{className:"h-3.5 w-3.5"})}),ct("div",{className:"flex-1 rounded-[var(--inkblot-radius-md)] border border-transparent p-3 transition-colors duration-[var(--inkblot-duration-fast)] group-hover:border-[var(--inkblot-semantic-color-border-default)]",children:[u.type==="heading"?H("h2",{contentEditable:!d&&g===u.id,suppressContentEditableWarning:!0,onClick:()=>{d||C(u.id)},onBlur:P=>{h(u.id,P.currentTarget.textContent??""),C(null)},className:"cursor-text text-xl font-bold text-[var(--inkblot-semantic-color-text-primary)] outline-none",children:u.content}):null,u.type==="text"?H("p",{contentEditable:!d&&g===u.id,suppressContentEditableWarning:!0,onClick:()=>{d||C(u.id)},onBlur:P=>{h(u.id,P.currentTarget.textContent??""),C(null)},className:"cursor-text text-sm leading-relaxed text-[var(--inkblot-semantic-color-text-secondary)] outline-none",children:u.content}):null,u.type==="image"?H("div",{className:"flex h-32 items-center justify-center overflow-hidden rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)]",children:H(za,{className:"h-8 w-8 text-[var(--inkblot-semantic-color-text-tertiary)]/50"})}):null,u.type==="button"?H("div",{className:"flex justify-center",children:H("span",{contentEditable:!d&&g===u.id,suppressContentEditableWarning:!0,onClick:()=>{d||C(u.id)},onBlur:P=>{h(u.id,P.currentTarget.textContent??""),C(null)},className:"cursor-text rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-interactive-primary)] px-6 py-2.5 text-sm font-medium text-[var(--inkblot-semantic-color-text-inverse)] outline-none",children:u.content})}):null,u.type==="divider"?H("hr",{className:"my-2 border-[var(--inkblot-semantic-color-border-default)]"}):null,u.type==="columns"?ct("div",{className:"grid grid-cols-2 gap-4",children:[H("div",{className:"rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)] p-4 text-center text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Column 1"}),H("div",{className:"rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)] p-4 text-center text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Column 2"})]}):null]}),ct("div",{className:"flex flex-col gap-1 opacity-0 transition-opacity duration-[var(--inkblot-duration-fast)] group-hover:opacity-100",children:[H("button",{type:"button",onClick:()=>k(u.id,-1),disabled:d||x===0,className:"rounded-[var(--inkblot-radius-sm)] p-1 text-[var(--inkblot-semantic-color-text-tertiary)] transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] disabled:opacity-30","aria-label":"Move up",children:H(Dd,{className:"h-3 w-3"})}),H("button",{type:"button",onClick:()=>k(u.id,1),disabled:d||x===t.length-1,className:"rounded-[var(--inkblot-radius-sm)] p-1 text-[var(--inkblot-semantic-color-text-tertiary)] transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] disabled:opacity-30","aria-label":"Move down",children:H(Ad,{className:"h-3 w-3"})}),H("button",{type:"button",onClick:()=>y(u.id),disabled:d,className:"rounded-[var(--inkblot-radius-sm)] p-1 text-[var(--inkblot-semantic-color-status-error)] transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-status-error)]/10","aria-label":"Delete block",children:H(Fd,{className:"h-3 w-3"})})]})]},u.id))})})]})}import{forwardRef as Wd}from"react";import{jsx as ge,jsxs as Va}from"react/jsx-runtime";var Oa=Wd(({className:t,...e},r)=>ge("form",{ref:r,className:o("grid gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-5)]",t),...e}));Oa.displayName="Form";function $d({className:t,label:e,hint:r,error:a,children:i,requiredIndicator:n,...s}){return Va("div",{className:o("grid gap-[var(--inkblot-spacing-2)]",t),...s,children:[e?Va("p",{className:"text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-body-medium)]",children:[e,n?ge("span",{className:"ml-[var(--inkblot-spacing-1)] text-[var(--inkblot-semantic-color-status-error)]",children:"*"}):null]}):null,i,a?ge("p",{className:"text-[var(--inkblot-semantic-color-status-error)] [font:var(--inkblot-semantic-typography-body-small)]",children:a}):r?ge("p",{className:"text-[var(--inkblot-semantic-color-text-secondary)] [font:var(--inkblot-semantic-typography-body-small)]",children:r}):null]})}function _d({className:t,...e}){return ge("div",{className:o("mt-[var(--inkblot-spacing-2)] flex flex-wrap justify-end gap-[var(--inkblot-spacing-3)]",t),...e})}import{useEffect as Kd,useRef as jd}from"react";import{jsx as Xt,jsxs as Zt}from"react/jsx-runtime";var Ud=[{id:"1",label:"Acme Corp",kind:"org",x:400,y:250,score:82},{id:"2",label:"TechVentures",kind:"org",x:220,y:140,score:65},{id:"3",label:"DataFlow Labs",kind:"org",x:600,y:160,score:45},{id:"4",label:"Jane Smith",kind:"person",x:300,y:380,score:90},{id:"5",label:"Mark Johnson",kind:"person",x:520,y:370,score:72},{id:"6",label:"GlobalTech",kind:"org",x:160,y:300,score:38},{id:"7",label:"Sarah Lee",kind:"person",x:650,y:310,score:55}],qd=[{from:"1",to:"2",strength:.8},{from:"1",to:"3",strength:.5},{from:"1",to:"4",strength:.9},{from:"1",to:"5",strength:.7},{from:"2",to:"6",strength:.4},{from:"3",to:"7",strength:.6},{from:"4",to:"5",strength:.3},{from:"6",to:"4",strength:.5}];function Yd(t,e,r,a){return t>=70?e:t>=50?r:a}function ht(t,e){for(let r of e){let a=t.getPropertyValue(r).trim();if(a)return a}return""}function eo(t,e,r){if(e){t.font=e;return}t.font=r}function Wh({title:t="Entity Graph",subtitle:e,nodes:r=Ud,edges:a=qd,className:i}){let n=jd(null);Kd(()=>{let l=n.current;if(!l)return;let c=l.getContext("2d");if(!c)return;let d=()=>{let b=l.getBoundingClientRect(),m=window.devicePixelRatio||1;l.width=b.width*m,l.height=b.height*m,c.setTransform(m,0,0,m,0,0),c.clearRect(0,0,b.width,b.height);let v=getComputedStyle(document.documentElement),p=ht(v,["--inkblot-semantic-color-border-default","--inkblot-semantic-color-border-strong"]),g=ht(v,["--inkblot-semantic-color-text-tertiary","--inkblot-semantic-color-text-secondary"]),C=ht(v,["--inkblot-semantic-color-background-secondary","--inkblot-semantic-color-background-primary"]),w=ht(v,["--inkblot-semantic-color-status-success","--inkblot-semantic-color-interactive-primary"]),N=ht(v,["--inkblot-semantic-color-status-warning","--inkblot-semantic-color-status-info"]),T=ht(v,["--inkblot-semantic-color-status-error","--inkblot-semantic-color-status-warning"]),h=ht(v,["--inkblot-semantic-typography-body-small","--inkblot-semantic-typography-body-medium"]),y=ht(v,["--inkblot-semantic-typography-body-medium","--inkblot-semantic-typography-body-small"]),k=c.font;a.forEach(u=>{let x=r.find(M=>M.id===u.from),P=r.find(M=>M.id===u.to);!x||!P||(c.beginPath(),c.moveTo(x.x,x.y),c.lineTo(P.x,P.y),c.strokeStyle=p,c.globalAlpha=Math.min(1,Math.max(0,u.strength*.45)),c.lineWidth=Math.max(1,u.strength*2),c.stroke(),c.globalAlpha=1)}),r.forEach(u=>{let x=Yd(u.score,w,N,T),P=u.kind==="org"?28:22;c.beginPath(),c.arc(u.x,u.y,P+8,0,Math.PI*2),c.fillStyle=x,c.globalAlpha=.08,c.fill(),c.globalAlpha=1,c.beginPath(),c.arc(u.x,u.y,P,0,Math.PI*2),c.fillStyle=C,c.strokeStyle=x,c.globalAlpha=.7,c.lineWidth=1.5,c.fill(),c.stroke(),c.globalAlpha=1,c.fillStyle=x,eo(c,h,k),c.textAlign="center",c.textBaseline="middle",c.fillText(u.kind==="org"?"\u2B21":"\u25CF",u.x,u.y),c.fillStyle=g,eo(c,y,k),c.fillText(u.label,u.x,u.y+P+16),c.fillStyle=x,c.globalAlpha=.8,eo(c,h,k),c.fillText(String(u.score),u.x,u.y+P+28),c.globalAlpha=1})};return d(),window.addEventListener("resize",d),()=>window.removeEventListener("resize",d)},[a,r]);let s=e??`Relationship intelligence \xB7 ${r.length} nodes \xB7 ${a.length} edges`;return Zt("section",{className:o("flex h-full flex-col",i),children:[Zt("header",{className:"flex items-center justify-between border-b border-[var(--inkblot-semantic-color-border-default)] px-8 py-5",children:[Zt("div",{children:[Xt("h2",{className:"text-lg font-semibold tracking-tight text-[var(--inkblot-semantic-color-text-primary)]",children:t}),Xt("p",{className:"mt-0.5 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:s})]}),Zt("div",{className:"flex items-center gap-4 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:[Zt("span",{className:"flex items-center gap-1.5",children:[Xt("span",{className:"h-2 w-2 rounded-full bg-[var(--inkblot-semantic-color-status-success)]"}),"Orgs"]}),Zt("span",{className:"flex items-center gap-1.5",children:[Xt("span",{className:"h-2 w-2 rounded-full bg-[var(--inkblot-semantic-color-status-warning)]"}),"People"]})]})]}),Xt("div",{className:"relative flex-1",children:Xt("canvas",{ref:n,className:"h-full w-full"})})]})}import{useCallback as Xd,useEffect as Zd,useMemo as Qd,useState as ro}from"react";import{ArrowLeft as Jd,ArrowRight as tm,Check as em,X as rm}from"lucide-react";import{Fragment as Fa,jsx as J,jsxs as Nt}from"react/jsx-runtime";var om=[{target:"[data-tour='sidebar']",title:"Navigation Sidebar",description:"Access all CRM modules from this sidebar. Each icon represents a different module.",position:"right"},{target:"[data-tour='canvas']",title:"AI Command Canvas",description:"This is your AI-powered command center where you can orchestrate tasks and workflows.",position:"bottom"},{target:"[data-tour='event-feed']",title:"Real-Time Event Feed",description:"Follow live system activity like stage updates, invoices, and communication events.",position:"left"},{target:"[data-tour='system-status']",title:"System Status",description:"This indicator confirms platform health and connectivity.",position:"right"}];function Xh({steps:t=om,open:e,defaultOpen:r=!0,onOpenChange:a,stepIndex:i,defaultStepIndex:n=0,onStepIndexChange:s,onComplete:l,className:c}){let[d,b]=ro(r),[m,v]=ro(n),[p,g]=ro(null),C=e??d,w=i??m,N=t[w],T=w===t.length-1,h=M=>{e===void 0&&b(M),a?.(M)},y=M=>{let A=Math.min(Math.max(M,0),Math.max(t.length-1,0));i===void 0&&v(A),s?.(A)},k=Xd(()=>{let M=document.querySelector(N.target);if(!M){g(null);return}g(M.getBoundingClientRect())},[N.target]);Zd(()=>(k(),window.addEventListener("resize",k),window.addEventListener("scroll",k,!0),()=>{window.removeEventListener("resize",k),window.removeEventListener("scroll",k,!0)}),[k]);let u=()=>{if(T){h(!1),l();return}y(w+1)},x=()=>{y(w-1)},P=Qd(()=>{if(!p)return{top:"50%",left:"50%",transform:"translate(-50%, -50%)"};let M=16,A=320;return N.position==="right"?{top:p.top+p.height/2,left:p.right+M,transform:"translateY(-50%)"}:N.position==="left"?{top:p.top+p.height/2,left:p.left-A-M,transform:"translateY(-50%)"}:N.position==="top"?{top:p.top-M,left:p.left+p.width/2,transform:"translate(-50%, -100%)"}:{top:p.bottom+M,left:p.left+p.width/2,transform:"translateX(-50%)"}},[N.position,p]);return C?Nt("div",{className:o("fixed inset-0 z-[200]",c),children:[p?J("div",{className:"pointer-events-none absolute rounded-[var(--inkblot-radius-lg)] border-2 border-[var(--inkblot-semantic-color-interactive-primary)]/50",style:{top:p.top-6,left:p.left-6,width:p.width+12,height:p.height+12,boxShadow:"0 0 0 9999px var(--inkblot-semantic-color-background-inverse), var(--inkblot-shadow-lg)"}}):J("div",{className:"absolute inset-0 bg-[var(--inkblot-semantic-color-background-inverse)]/70"}),Nt("div",{style:{...P,position:"absolute",width:320,zIndex:210},className:"rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-5 shadow-[var(--inkblot-shadow-lg)]",children:[Nt("div",{className:"mb-3 flex items-center justify-between",children:[Nt("span",{className:"text-[10px] uppercase tracking-wide text-[var(--inkblot-semantic-color-text-tertiary)]",children:["Step ",w+1," of ",t.length]}),J("button",{type:"button",onClick:()=>{h(!1),l()},className:"rounded-[var(--inkblot-radius-sm)] p-1 text-[var(--inkblot-semantic-color-text-tertiary)] transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]","aria-label":"Close tour",children:J(rm,{className:"h-3 w-3"})})]}),J("h3",{className:"mb-1.5 text-sm font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:N.title}),J("p",{className:"text-xs leading-relaxed text-[var(--inkblot-semantic-color-text-tertiary)]",children:N.description}),J("div",{className:"mb-3 mt-4 flex gap-1",children:t.map((M,A)=>J("span",{className:o("h-1 flex-1 rounded-full",A<=w?"bg-[var(--inkblot-semantic-color-interactive-primary)]":"bg-[var(--inkblot-semantic-color-background-tertiary)]")},`${A}-progress`))}),Nt("div",{className:"flex items-center justify-between",children:[Nt("button",{type:"button",onClick:x,disabled:w===0,className:"flex items-center gap-1 text-xs text-[var(--inkblot-semantic-color-text-tertiary)] transition-opacity duration-[var(--inkblot-duration-fast)] disabled:opacity-0",children:[J(Jd,{className:"h-3 w-3"}),"Back"]}),J("button",{type:"button",onClick:u,className:"flex items-center gap-1.5 rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-interactive-primary)] px-4 py-2 text-xs font-medium text-[var(--inkblot-semantic-color-text-inverse)]",children:T?Nt(Fa,{children:[J(em,{className:"h-3 w-3"}),"Get Started"]}):Nt(Fa,{children:["Next",J(tm,{className:"h-3 w-3"})]})})]})]})]}):null}import{createContext as am,forwardRef as Ga,useContext as nm,useMemo as im,useRef as sm,useState as lm}from"react";import{jsx as nr}from"react/jsx-runtime";var Wa=am(null);function $a(){let t=nm(Wa);if(!t)throw new Error("HoverCard components must be used within HoverCard");return t}function cm({children:t,openDelay:e=120,closeDelay:r=120}){let[a,i]=lm(!1),n=sm(null),s=im(()=>({open:a,setOpen:i,openDelay:e,closeDelay:r,timeoutRef:n}),[a,e,r]);return nr(Wa.Provider,{value:s,children:nr("div",{className:"relative inline-flex",children:t})})}var _a=Ga(({className:t,onMouseEnter:e,onMouseLeave:r,onFocus:a,onBlur:i,...n},s)=>{let{setOpen:l,openDelay:c,closeDelay:d,timeoutRef:b}=$a();return nr("div",{ref:s,tabIndex:0,onMouseEnter:m=>{e?.(m),b.current&&window.clearTimeout(b.current),b.current=window.setTimeout(()=>l(!0),c)},onMouseLeave:m=>{r?.(m),b.current&&window.clearTimeout(b.current),b.current=window.setTimeout(()=>l(!1),d)},onFocus:m=>{a?.(m),l(!0)},onBlur:m=>{i?.(m),l(!1)},className:o(t),...n})});_a.displayName="HoverCardTrigger";var Ka=Ga(({className:t,onMouseEnter:e,onMouseLeave:r,...a},i)=>{let{open:n,setOpen:s,closeDelay:l,timeoutRef:c}=$a();return n?nr("div",{ref:i,role:"dialog",onMouseEnter:d=>{e?.(d),c.current&&window.clearTimeout(c.current),s(!0)},onMouseLeave:d=>{r?.(d),c.current&&window.clearTimeout(c.current),c.current=window.setTimeout(()=>s(!1),l)},className:o("absolute left-0 top-[calc(100%+var(--inkblot-spacing-2))] z-40 min-w-[calc(var(--inkblot-size-touch-target-min)*4)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-md)]",t),...a}):null});Ka.displayName="HoverCardContent";import{forwardRef as dm,useMemo as mm,useRef as pm,useState as bm}from"react";import{jsx as ja}from"react/jsx-runtime";var Ua=dm(({className:t,disabled:e,length:r=6,value:a,defaultValue:i="",onValueChange:n,containerProps:s,...l},c)=>{let[d,b]=bm(i.slice(0,r)),m=pm([]),v=a!==void 0,p=v?a.slice(0,r):d,g=mm(()=>Array.from({length:r},(y,k)=>p[k]??""),[p,r]),C=y=>{let k=y.slice(0,r);v||b(k),n?.(k)},w=y=>{let k=m.current[y];k?.focus(),k?.select()},N=(y,k)=>{let u=k.replace(/[^0-9A-Za-z]/g,"").slice(0,1),x=g.map((P,M)=>M===y?u:P);C(x.join("")),u&&y<r-1&&w(y+1)},T=(y,k)=>{if(k.key==="Backspace"&&!g[y]&&y>0){let u=g.map((x,P)=>P===y-1?"":x);C(u.join("")),w(y-1)}k.key==="ArrowLeft"&&y>0&&(k.preventDefault(),w(y-1)),k.key==="ArrowRight"&&y<r-1&&(k.preventDefault(),w(y+1))};return ja("div",{ref:c,onPaste:y=>{y.preventDefault();let k=y.clipboardData.getData("text").replace(/[^0-9A-Za-z]/g,"").slice(0,r);k&&(C(k),w(Math.min(k.length,r-1)))},className:o("flex items-center gap-[var(--inkblot-spacing-2)]",t,s?.className),...s,children:g.map((y,k)=>ja("input",{ref:u=>{m.current[k]=u},type:"text",inputMode:"numeric",maxLength:1,value:y,disabled:e,onChange:u=>N(k,u.target.value),onKeyDown:u=>T(k,u),className:o("min-h-[var(--inkblot-size-touch-target-min)] w-full rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-secondary)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]","text-center text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-heading-small)]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-2","disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:pointer-events-none"),...l},`otp-slot-${k}`))})});Ua.displayName="InputOtp";import{jsx as oo,jsxs as vm}from"react/jsx-runtime";var um=[{label:"Revenue Confidence",value:82,tone:"success"},{label:"Churn Risk",value:23,tone:"warning",inverted:!0},{label:"Momentum",value:67,tone:"primary"}];function vN({title:t="Intelligence Scores",items:e=um,className:r}){return vm("article",{className:o("glass rounded-[var(--inkblot-radius-lg)] p-5",r),children:[oo("h3",{className:"mb-4 text-xs font-medium uppercase tracking-wide text-[var(--inkblot-semantic-color-text-tertiary)]",children:t}),oo("div",{className:"grid grid-cols-3 gap-6",children:e.map(a=>oo(ba,{label:a.label,value:a.value,tone:a.tone,color:a.color,inverted:a.inverted},a.label))})]})}import{forwardRef as gm}from"react";import{jsx as fm,jsxs as km}from"react/jsx-runtime";var qa=gm(({className:t,children:e,requiredIndicator:r,...a},i)=>km("label",{ref:i,className:o("inline-flex items-center gap-[var(--inkblot-spacing-1)] text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-body-medium)]",t),...a,children:[e,r?fm("span",{className:"text-[var(--inkblot-semantic-color-status-error)]",children:"*"}):null]}));qa.displayName="Label";import{createContext as Ya,forwardRef as fe,useContext as Xa,useMemo as Za,useRef as ym,useState as xm}from"react";import{ChevronDown as hm}from"lucide-react";import{jsx as Ct,jsxs as sn}from"react/jsx-runtime";var Qa=Ya(null);function ao(){let t=Xa(Qa);if(!t)throw new Error("Menubar components must be used within Menubar");return t}var Ja=Ya(null);function tn(){let t=Xa(Ja);if(!t)throw new Error("Menubar menu components must be used within MenubarMenu");return t}var en=fe(({className:t,...e},r)=>{let[a,i]=xm(null),n=Za(()=>({openMenuId:a,setOpenMenuId:i}),[a]);return Ct(Qa.Provider,{value:n,children:Ct("div",{ref:r,className:o("flex items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-2)]",t),...e})})});en.displayName="Menubar";function Nm({id:t,className:e,...r}){let a=Za(()=>({menuId:t}),[t]);return Ct(Ja.Provider,{value:a,children:Ct("div",{className:o("relative inline-flex",e),...r})})}var rn=fe(({className:t,type:e="button",showChevron:r=!0,onClick:a,children:i,...n},s)=>{let{openMenuId:l,setOpenMenuId:c}=ao(),{menuId:d}=tn(),b=l===d;return sn("button",{ref:s,type:e,"aria-haspopup":"menu","aria-expanded":b,onClick:m=>{a?.(m),m.defaultPrevented||c(b?null:d)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)]",b?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-secondary)]",t),...n,children:[i,r?Ct(hm,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}}):null]})});rn.displayName="MenubarTrigger";var on=fe(({className:t,...e},r)=>{let{openMenuId:a}=ao(),{menuId:i}=tn();return a!==i?null:Ct("div",{ref:r,role:"menu",className:o("absolute left-0 top-[calc(100%+var(--inkblot-spacing-2))] z-40 min-w-[calc(var(--inkblot-size-touch-target-min)*4)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-2)] shadow-[var(--inkblot-shadow-md)]",t),...e})});on.displayName="MenubarContent";var an=fe(({className:t,type:e="button",icon:r,...a},i)=>sn("button",{ref:i,type:e,role:"menuitem",className:o("flex min-h-[var(--inkblot-size-touch-target-min)] w-full items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]","text-left text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-secondary)]","[font:var(--inkblot-semantic-typography-body-medium)]",t),...a,children:[r,a.children]}));an.displayName="MenubarItem";function Cm({className:t,...e}){return Ct("div",{className:o("my-[var(--inkblot-spacing-2)] border-b border-[var(--inkblot-semantic-color-border-default)]",t),...e})}var nn=fe(({className:t,...e},r)=>{let{setOpenMenuId:a}=ao(),i=ym(null);return Ct("div",{ref:n=>{i.current=n,typeof r=="function"?r(n):r&&(r.current=n)},onPointerDown:n=>{i.current?.contains(n.target)&&a(null)},className:o(t),...e})});nn.displayName="MenubarCloseZone";import{ChevronRight as ln}from"lucide-react";import{jsx as ir,jsxs as cn}from"react/jsx-runtime";function wm({items:t,className:e,onItemSelect:r}){return ir("nav",{"aria-label":"Navigation menu",className:o("flex flex-wrap items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-2)]",e),children:t.map(a=>ir(Tm,{item:a,onSelect:()=>r?.(a)},a.id))})}function Tm({item:t,onSelect:e,className:r,...a}){let i=o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)]",t.active?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-secondary)]",t.disabled&&"pointer-events-none opacity-[var(--inkblot-opacity-disabled)]",r);return t.href?cn("a",{href:t.href,"aria-current":t.active?"page":void 0,className:i,onClick:()=>e?.(),...a,children:[t.icon,t.label,t.active?null:ir(ln,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})]}):cn("button",{type:"button","aria-current":t.active?"page":void 0,disabled:t.disabled,className:i,onClick:()=>e?.(),children:[t.icon,t.label,t.active?null:ir(ln,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})]})}import{useMemo as Pm,useState as dn}from"react";import{ArrowLeft as Mm,ArrowRight as Sm,Briefcase as Em,Building2 as Lm,Check as Im,Command as Rm,Globe as Am,Megaphone as Dm,Sparkles as Hm,Target as mn,Users as Bm}from"lucide-react";import{Fragment as pn,jsx as O,jsxs as tt}from"react/jsx-runtime";var zm=[{id:"company",question:"What's your company name?",subtitle:"We'll personalize your workspace around your brand.",icon:Lm,type:"input",field:"companyName",placeholder:"e.g. Acme Corporation"},{id:"size",question:"How many employees does your company have?",subtitle:"This helps us tailor the right features for your team size.",icon:Bm,type:"select",field:"companySize",options:[{value:"1-10",label:"1-10"},{value:"11-50",label:"11-50"},{value:"51-200",label:"51-200"},{value:"201-1000",label:"201-1,000"},{value:"1000+",label:"1,000+"}]},{id:"industry",question:"What industry are you in?",subtitle:"We'll pre-configure pipelines and templates for your sector.",icon:Em,type:"select",field:"industry",options:[{value:"saas",label:"SaaS / Software"},{value:"agency",label:"Agency / Consulting"},{value:"ecommerce",label:"E-Commerce"},{value:"fintech",label:"Fintech"},{value:"healthcare",label:"Healthcare"},{value:"other",label:"Other"}]},{id:"role",question:"What's your role?",subtitle:"So we can surface the most relevant modules first.",icon:mn,type:"select",field:"role",options:[{value:"founder",label:"Founder / CEO"},{value:"sales",label:"Sales Leader"},{value:"marketing",label:"Marketing"},{value:"ops",label:"Operations"},{value:"other",label:"Other"}]},{id:"goals",question:"What do you want to achieve?",subtitle:"Select all that apply. We'll prioritize these in your dashboard.",icon:mn,type:"multi-select",field:"goals",options:[{value:"pipeline",label:"Manage Sales Pipeline"},{value:"contacts",label:"Organize Contacts"},{value:"email",label:"Email Campaigns"},{value:"invoicing",label:"Invoicing"},{value:"reporting",label:"Analytics & Reporting"},{value:"automation",label:"Workflow Automation"}]},{id:"source",question:"How did you hear about us?",subtitle:"Helps us improve our outreach.",icon:Dm,type:"select",field:"source",options:[{value:"google",label:"Google Search"},{value:"social",label:"Social Media"},{value:"referral",label:"Friend / Colleague"},{value:"event",label:"Conference / Event"},{value:"other",label:"Other"}]},{id:"website",question:"What's your company website?",subtitle:"Optional, we'll try to auto-import your branding.",icon:Am,type:"input",field:"website",placeholder:"e.g. https://acme.com"}];function WN({onComplete:t,steps:e=zm,value:r,defaultValue:a,onValueChange:i,stepIndex:n,defaultStepIndex:s=0,onStepIndexChange:l,onCancel:c,showSkip:d=!0,className:b}){let[m,v]=dn(s),[p,g]=dn(a??{}),C=n!==void 0,w=r!==void 0,N=C?n:m,T=w?r:p,h=e[N],y=T[h.field]??(h.type==="multi-select"?[]:""),k=N===e.length-1,u=Pm(()=>h.type==="multi-select"?y.length>0:h.id==="website"?!0:typeof y=="string"&&y.trim().length>0,[y,h.id,h.type]),x=E=>{let B=Math.min(Math.max(E,0),Math.max(e.length-1,0));C||v(B),l?.(B)},P=E=>{w||g(E),i?.(E)},M=()=>x(N-1),A=()=>{if(k){t(T);return}x(N+1)},S=(E,B)=>{P({...T,[E]:B})},F=(E,B)=>{let L=T[E]??[],G=L.includes(B)?L.filter(q=>q!==B):[...L,B];S(E,G)};return tt("section",{className:o("fixed inset-0 z-[100] flex items-center justify-center bg-[var(--inkblot-semantic-color-background-primary)]",b),children:[tt("div",{className:"absolute inset-0 overflow-hidden",children:[O("div",{className:"absolute left-1/4 top-1/4 h-96 w-96 rounded-full bg-[var(--inkblot-semantic-color-interactive-primary)]/5 blur-[120px]"}),O("div",{className:"absolute bottom-1/4 right-1/4 h-96 w-96 rounded-full bg-[var(--inkblot-semantic-color-status-warning)]/5 blur-[120px]"})]}),tt("div",{className:"relative w-full max-w-lg px-6",children:[tt("header",{className:"mb-12 flex items-center justify-center gap-2",children:[O("span",{className:"flex h-10 w-10 items-center justify-center rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-interactive-primary)]",children:O(Rm,{className:"h-5 w-5 text-[var(--inkblot-semantic-color-text-inverse)]"})}),O("span",{className:"text-lg font-semibold tracking-tight text-[var(--inkblot-semantic-color-text-primary)]",children:"Citron OS"})]}),O("div",{className:"mb-10 flex gap-1",children:e.map((E,B)=>O("span",{className:o("h-0.5 flex-1 rounded-full",B<N?"bg-[var(--inkblot-semantic-color-interactive-primary)]":B===N?"bg-[var(--inkblot-semantic-color-interactive-primary)]/60":"bg-[var(--inkblot-semantic-color-background-tertiary)]")},E.id))}),tt("div",{className:"space-y-6",children:[tt("div",{children:[O("div",{className:"mb-4 flex h-10 w-10 items-center justify-center rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-interactive-secondary)]",children:O(h.icon,{className:"h-5 w-5 text-[var(--inkblot-semantic-color-text-primary)]"})}),O("h2",{className:"text-xl font-semibold tracking-tight text-[var(--inkblot-semantic-color-text-primary)]",children:h.question}),O("p",{className:"mt-1 text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:h.subtitle})]}),h.type==="input"?O("input",{autoFocus:!0,value:y||"",onChange:E=>S(h.field,E.target.value),placeholder:h.placeholder,onKeyDown:E=>{E.key==="Enter"&&u&&A()},className:"w-full rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-5 py-3.5 text-sm text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)] outline-none"}):null,h.type==="select"?O("div",{className:"grid grid-cols-2 gap-2",children:h.options?.map(E=>O("button",{type:"button",onClick:()=>S(h.field,E.value),className:o("rounded-[var(--inkblot-radius-lg)] border px-4 py-3 text-left text-sm transition-colors duration-[var(--inkblot-duration-fast)]",y===E.value?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)]/10 text-[var(--inkblot-semantic-color-text-primary)]":"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-tertiary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]"),children:E.label},E.value))}):null,h.type==="multi-select"?O("div",{className:"grid grid-cols-2 gap-2",children:h.options?.map(E=>{let B=y.includes(E.value);return tt("button",{type:"button",onClick:()=>F(h.field,E.value),className:o("flex items-center gap-2 rounded-[var(--inkblot-radius-lg)] border px-4 py-3 text-left text-sm transition-colors duration-[var(--inkblot-duration-fast)]",B?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)]/10 text-[var(--inkblot-semantic-color-text-primary)]":"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-tertiary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]"),children:[O("span",{className:o("flex h-4 w-4 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] border",B?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)]":"border-[var(--inkblot-semantic-color-border-default)]"),children:B?O(Im,{className:"h-2.5 w-2.5 text-[var(--inkblot-semantic-color-text-inverse)]"}):null}),E.label]},E.value)})}):null]}),tt("footer",{className:"mt-10 flex items-center justify-between",children:[tt("button",{type:"button",onClick:M,disabled:N===0,className:"flex items-center gap-1.5 rounded-[var(--inkblot-radius-md)] px-4 py-2 text-xs text-[var(--inkblot-semantic-color-text-tertiary)] transition-opacity duration-[var(--inkblot-duration-fast)] disabled:opacity-0",children:[O(Mm,{className:"h-3 w-3"}),"Back"]}),tt("div",{className:"flex items-center gap-3",children:[!k&&d?O("button",{type:"button",onClick:c??A,className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Skip"}):null,O("button",{type:"button",onClick:A,disabled:!u,className:"flex items-center gap-2 rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-interactive-primary)] px-5 py-2.5 text-xs font-medium text-[var(--inkblot-semantic-color-text-inverse)] transition-opacity duration-[var(--inkblot-duration-fast)] disabled:opacity-40",children:k?tt(pn,{children:[O(Hm,{className:"h-3 w-3"}),"Launch Citron OS"]}):tt(pn,{children:["Continue",O(Sm,{className:"h-3 w-3"})]})})]})]})]})]})}import{ChevronLeft as Vm,ChevronRight as Om}from"lucide-react";import{jsx as ke,jsxs as Gm}from"react/jsx-runtime";function Fm({page:t,totalPages:e,onPageChange:r,className:a}){let i=Array.from({length:e},(n,s)=>s+1);return Gm("nav",{"aria-label":"Pagination",className:o("flex items-center gap-[var(--inkblot-spacing-2)]",a),children:[ke("button",{type:"button","aria-label":"Previous page",disabled:t<=1,onClick:()=>r(Math.max(t-1,1)),className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] px-[var(--inkblot-spacing-3)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:pointer-events-none"),children:ke(Vm,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})}),i.map(n=>{let s=n===t;return ke("button",{type:"button",onClick:()=>r(n),"aria-current":s?"page":void 0,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] min-w-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)]","[font:var(--inkblot-semantic-typography-body-medium)]",s?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]"),children:n},`page-${n}`)}),ke("button",{type:"button","aria-label":"Next page",disabled:t>=e,onClick:()=>r(Math.min(t+1,e)),className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] px-[var(--inkblot-spacing-3)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:pointer-events-none"),children:ke(Om,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})})]})}import{createContext as Wm,forwardRef as no,useCallback as $m,useContext as _m,useEffect as Km,useMemo as jm,useRef as Um,useState as qm}from"react";import{jsx as ye}from"react/jsx-runtime";var bn=Wm(null);function io(){let t=_m(bn);if(!t)throw new Error("Popover components must be used within Popover");return t}function Ym({children:t,open:e,defaultOpen:r=!1,onOpenChange:a}){let[i,n]=qm(r),s=Um(null),l=e!==void 0,c=l?e:i,d=$m(m=>{l||n(m),a?.(m)},[l,a]);Km(()=>{if(!c)return;let m=p=>{let g=p.target;g&&s.current&&!s.current.contains(g)&&d(!1)},v=p=>{p.key==="Escape"&&d(!1)};return window.addEventListener("pointerdown",m),window.addEventListener("keydown",v),()=>{window.removeEventListener("pointerdown",m),window.removeEventListener("keydown",v)}},[c,d]);let b=jm(()=>({open:c,setOpen:d,containerRef:s}),[c,d]);return ye(bn.Provider,{value:b,children:ye("div",{ref:s,className:"relative inline-flex",children:t})})}var un=no(({className:t,type:e="button",onClick:r,...a},i)=>{let{open:n,setOpen:s}=io();return ye("button",{ref:i,type:e,"aria-haspopup":"dialog","aria-expanded":n,onClick:l=>{r?.(l),l.defaultPrevented||s(!n)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)] text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]","[font:var(--inkblot-semantic-typography-body-medium)]",t),...a})});un.displayName="PopoverTrigger";var vn=no(({className:t,...e},r)=>{let{open:a}=io();return a?ye("div",{ref:r,role:"dialog",className:o("absolute left-0 top-[calc(100%+var(--inkblot-spacing-2))] z-40 min-w-[calc(var(--inkblot-size-touch-target-min)*4)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-md)]",t),...e}):null});vn.displayName="PopoverContent";var gn=no(({className:t,type:e="button",onClick:r,...a},i)=>{let{setOpen:n}=io();return ye("button",{ref:i,type:e,onClick:s=>{r?.(s),s.defaultPrevented||n(!1)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]",t),...a})});gn.displayName="PopoverClose";import{forwardRef as Xm}from"react";import{jsx as so,jsxs as Zm}from"react/jsx-runtime";var fn=Xm(({className:t,value:e,max:r=100,showValueLabel:a=!1,...i},n)=>{let s=Math.max(0,Math.min(e/r,1)),l=`${Math.round(s*100)}%`;return Zm("div",{ref:n,className:o("grid gap-[var(--inkblot-spacing-2)]",t),...i,children:[so("div",{className:"h-[var(--inkblot-spacing-2)] overflow-hidden rounded-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-background-secondary)]",children:so("div",{className:"h-full rounded-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-interactive-primary)] transition-[width] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",style:{width:l}})}),a?so("p",{className:"text-[var(--inkblot-semantic-color-text-secondary)] [font:var(--inkblot-semantic-typography-body-small)]",children:l}):null]})});fn.displayName="Progress";import{forwardRef as yn,useState as Qm}from"react";import{jsx as xe,jsxs as kn}from"react/jsx-runtime";var xn=yn(({className:t,options:e,value:r,defaultValue:a,onValueChange:i,name:n="radio-group",...s},l)=>{let[c,d]=Qm(a??""),b=r!==void 0,m=b?r:c,v=p=>{b||d(p),i?.(p)};return xe("div",{ref:l,role:"radiogroup",className:o("grid gap-[var(--inkblot-spacing-2)]",t),...s,children:e.map(p=>kn("label",{className:o("flex cursor-pointer items-start gap-[var(--inkblot-spacing-3)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] p-[var(--inkblot-spacing-3)]","bg-[var(--inkblot-semantic-color-background-primary)] hover:bg-[var(--inkblot-semantic-color-background-secondary)]",p.disabled&&"pointer-events-none opacity-[var(--inkblot-opacity-disabled)]"),children:[xe(lo,{type:"radio",name:n,value:p.value,checked:m===p.value,disabled:p.disabled,onChange:()=>v(p.value)}),kn("span",{className:"grid gap-[var(--inkblot-spacing-1)]",children:[xe("span",{className:"text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-body-medium)]",children:p.label}),p.description?xe("span",{className:"text-[var(--inkblot-semantic-color-text-secondary)] [font:var(--inkblot-semantic-typography-body-small)]",children:p.description}):null]})]},p.value))})});xn.displayName="RadioGroup";var lo=yn(({className:t,...e},r)=>xe("input",{ref:r,className:o("mt-[var(--inkblot-spacing-1)] h-[var(--inkblot-spacing-4)] w-[var(--inkblot-spacing-4)] border-[var(--inkblot-semantic-color-border-default)] text-[var(--inkblot-semantic-color-interactive-primary)]",t),...e}));lo.displayName="RadioGroupItem";import{useMemo as Jm,useState as tp}from"react";import{GripVertical as ep,GripHorizontal as rp}from"lucide-react";import{jsx as Qt,jsxs as ap}from"react/jsx-runtime";function op({primary:t,secondary:e,direction:r="horizontal",defaultPrimarySize:a=50,minPrimarySize:i=20,minSecondarySize:n=20,className:s}){let[l,c]=tp(a),d=r==="horizontal",b=Jm(()=>d?{gridTemplateColumns:`${l}fr auto ${100-l}fr`}:{gridTemplateRows:`${l}fr auto ${100-l}fr`},[d,l]),m=(v,p)=>{let g=p.getBoundingClientRect(),C=d?(v.x-g.left)/g.width*100:(v.y-g.top)/g.height*100,w=100-n,N=Math.min(w,Math.max(i,C));c(N)};return ap("div",{className:o("grid h-full w-full overflow-hidden rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)]",s),style:b,children:[Qt("div",{className:"min-h-0 min-w-0 overflow-auto p-[var(--inkblot-spacing-3)]",children:t}),Qt("div",{className:o(d?"w-[var(--inkblot-spacing-2)]":"h-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-border-default)]"),children:Qt("button",{type:"button","aria-label":"Resize panels",className:o("flex h-full w-full items-center justify-center bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-secondary)]","hover:bg-[var(--inkblot-semantic-color-background-tertiary)] active:bg-[var(--inkblot-semantic-color-background-secondary)]"),onPointerDown:v=>{let p=v.currentTarget.closest("div")?.parentElement;if(!p)return;m({x:v.clientX,y:v.clientY},p);let g=w=>{m({x:w.clientX,y:w.clientY},p)},C=()=>{window.removeEventListener("pointermove",g),window.removeEventListener("pointerup",C)};window.addEventListener("pointermove",g),window.addEventListener("pointerup",C)},children:d?Qt(ep,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}}):Qt(rp,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})})}),Qt("div",{className:"min-h-0 min-w-0 overflow-auto p-[var(--inkblot-spacing-3)]",children:e})]})}import{forwardRef as np}from"react";import{jsx as ip}from"react/jsx-runtime";var hn=np(({className:t,maxHeight:e="var(--inkblot-size-touch-target-min)",...r},a)=>ip("div",{ref:a,className:o("overflow-auto rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-3)]",t),style:{maxHeight:e,...r.style},...r}));hn.displayName="ScrollArea";import{ChevronDown as sp}from"lucide-react";import{forwardRef as lp}from"react";import{jsx as co,jsxs as Nn}from"react/jsx-runtime";var Cn=lp(({className:t,options:e,placeholder:r,error:a,disabled:i,...n},s)=>Nn("div",{className:"relative w-full",children:[Nn("select",{ref:s,disabled:i,"aria-invalid":a,className:o("min-h-[var(--inkblot-size-touch-target-min)] w-full appearance-none rounded-[var(--inkblot-radius-md)] border bg-[var(--inkblot-semantic-color-background-secondary)] px-4 py-2 pr-10 text-[var(--inkblot-semantic-color-text-primary)] transition-[border-color,box-shadow] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",a?"border-[var(--inkblot-semantic-color-status-error)] focus-visible:ring-[var(--inkblot-semantic-color-status-error)]":"border-[var(--inkblot-semantic-color-border-default)] hover:border-[var(--inkblot-semantic-color-border-strong)]",t),...n,children:[r?co("option",{value:"",disabled:!0,children:r}):null,e.map(l=>co("option",{value:l.value,disabled:l.disabled,children:l.label},l.value))]}),co(sp,{"aria-hidden":!0,className:"pointer-events-none absolute right-3 top-1/2 size-4 -translate-y-1/2 text-[var(--inkblot-semantic-color-text-tertiary)]"})]}));Cn.displayName="Select";import{forwardRef as cp}from"react";import{jsx as dp}from"react/jsx-runtime";var wn=cp(({className:t,orientation:e="horizontal",decorative:r=!0,...a},i)=>dp("div",{ref:i,role:r?"none":"separator","aria-orientation":e,className:o("shrink-0 bg-[var(--inkblot-semantic-color-border-default)]",e==="horizontal"?"h-px w-full":"h-full w-px",t),...a}));wn.displayName="Separator";import{X as mp}from"lucide-react";import{useEffect as pp}from"react";import{jsx as Jt,jsxs as sr}from"react/jsx-runtime";var bp={top:"inset-x-0 top-0 border-b rounded-b-[var(--inkblot-radius-lg)]",right:"inset-y-0 right-0 h-full w-full max-w-[420px] border-l",bottom:"inset-x-0 bottom-0 border-t rounded-t-[var(--inkblot-radius-lg)]",left:"inset-y-0 left-0 h-full w-full max-w-[420px] border-r"};function up({open:t,onOpenChange:e,side:r="right",title:a,description:i,showCloseButton:n=!0,className:s,overlayClassName:l,children:c,...d}){return pp(()=>{if(!t)return;let b=m=>{m.key==="Escape"&&e?.(!1)};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[t,e]),t?sr("div",{className:"fixed inset-0 z-50",children:[Jt("button",{type:"button","aria-label":"Cerrar panel",onClick:()=>e?.(!1),className:o("absolute inset-0 bg-[var(--inkblot-semantic-color-background-primary)]/70",l)}),sr("section",{role:"dialog","aria-modal":"true",className:o("absolute bg-[var(--inkblot-semantic-color-background-secondary)] p-5 text-[var(--inkblot-semantic-color-text-primary)] shadow-lg border-[var(--inkblot-semantic-color-border-default)]",bp[r],s),...d,children:[(a||i||n)&&sr("header",{className:"mb-4 flex items-start justify-between gap-4",children:[sr("div",{children:[a?Jt("h3",{className:"text-base font-semibold",children:a}):null,i?Jt("p",{className:"mt-1 text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:i}):null]}),n?Jt("button",{type:"button","aria-label":"Cerrar",onClick:()=>e?.(!1),className:"inline-flex size-9 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] text-[var(--inkblot-semantic-color-text-secondary)] transition-colors hover:text-[var(--inkblot-semantic-color-text-primary)]",children:Jt(mp,{className:"size-4"})}):null]}),Jt("div",{children:c})]})]}):null}import{PanelLeftClose as vp,PanelLeftOpen as gp}from"lucide-react";import{Fragment as kp,jsx as dt,jsxs as lr}from"react/jsx-runtime";function fp({items:t,collapsed:e=!1,onCollapsedChange:r,header:a,footer:i,className:n,...s}){return lr("aside",{className:o("flex h-full flex-col border-r border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-3 transition-[width] duration-[var(--inkblot-duration-fast)]",e?"w-[76px]":"w-[260px]",n),...s,children:[lr("div",{className:"mb-3 flex items-center justify-between gap-2",children:[dt("div",{className:o("truncate text-sm font-semibold",e&&"sr-only"),children:a}),dt("button",{type:"button","aria-label":e?"Expandir sidebar":"Colapsar sidebar",onClick:()=>r?.(!e),className:"inline-flex size-9 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] text-[var(--inkblot-semantic-color-text-secondary)] hover:text-[var(--inkblot-semantic-color-text-primary)]",children:e?dt(gp,{className:"size-4"}):dt(vp,{className:"size-4"})})]}),dt("nav",{className:"flex flex-1 flex-col gap-1",children:t.map(l=>{let c=l.icon;return lr("button",{type:"button",disabled:l.disabled,onClick:l.onClick,className:o("flex min-h-[var(--inkblot-size-touch-target-min)] items-center gap-3 rounded-[var(--inkblot-radius-md)] px-3 py-2 text-sm transition-colors",l.active?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"text-[var(--inkblot-semantic-color-text-secondary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)] hover:text-[var(--inkblot-semantic-color-text-primary)]",l.disabled&&"cursor-not-allowed opacity-[var(--inkblot-opacity-disabled)]"),children:[c?dt(c,{className:"size-4 shrink-0"}):null,e?null:lr(kp,{children:[dt("span",{className:"truncate",children:l.label}),l.badge?dt("span",{className:"ml-auto",children:l.badge}):null]})]},l.id)})}),i?dt("div",{className:o("mt-3 border-t border-[var(--inkblot-semantic-color-border-default)] pt-3",e&&"sr-only"),children:i}):null]})}import{forwardRef as yp,useMemo as xp}from"react";import{jsx as cr,jsxs as Tn}from"react/jsx-runtime";var Pn=yp(({className:t,value:e,defaultValue:r,min:a=0,max:i=100,step:n=1,disabled:s,showValue:l=!0,onValueChange:c,...d},b)=>{let m=e??r??a,v=xp(()=>i<=a?0:(m-a)/(i-a)*100,[m,a,i]);return Tn("div",{className:o("w-full",t),children:[Tn("div",{className:"mb-2 flex items-center justify-between text-sm",children:[cr("span",{className:"text-[var(--inkblot-semantic-color-text-secondary)]",children:a}),l?cr("span",{className:"font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:m}):null,cr("span",{className:"text-[var(--inkblot-semantic-color-text-secondary)]",children:i})]}),cr("input",{ref:b,type:"range",value:e,defaultValue:r,min:a,max:i,step:n,disabled:s,onChange:p=>c?.(Number(p.target.value)),className:"h-2 w-full cursor-pointer appearance-none rounded-full bg-[var(--inkblot-semantic-color-background-tertiary)] disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)] [&::-webkit-slider-runnable-track]:h-2 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-transparent [&::-webkit-slider-thumb]:mt-[-4px] [&::-webkit-slider-thumb]:size-4 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border [&::-webkit-slider-thumb]:border-[var(--inkblot-semantic-color-border-default)] [&::-webkit-slider-thumb]:bg-[var(--inkblot-semantic-color-background-secondary)] [&::-webkit-slider-thumb]:shadow-sm [&::-moz-range-track]:h-2 [&::-moz-range-track]:rounded-full [&::-moz-range-track]:bg-transparent [&::-moz-range-thumb]:size-4 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border [&::-moz-range-thumb]:border-[var(--inkblot-semantic-color-border-default)] [&::-moz-range-thumb]:bg-[var(--inkblot-semantic-color-background-secondary)]",style:{background:`linear-gradient(to right, var(--inkblot-semantic-color-interactive-primary) 0%, var(--inkblot-semantic-color-interactive-primary) ${v}%, var(--inkblot-semantic-color-background-tertiary) ${v}%, var(--inkblot-semantic-color-background-tertiary) 100%)`},...d})]})});Pn.displayName="Slider";import{useMemo as Ep}from"react";import{AlertTriangle as hp,CheckCircle2 as Np,CircleX as Cp,Info as wp,X as Tp}from"lucide-react";import{jsx as at,jsxs as Mn}from"react/jsx-runtime";var Pp={info:"border-[var(--inkblot-semantic-color-status-info)]",success:"border-[var(--inkblot-semantic-color-status-success)]",warning:"border-[var(--inkblot-semantic-color-status-warning)]",error:"border-[var(--inkblot-semantic-color-status-error)]"},Mp={info:at(wp,{className:"size-4"}),success:at(Np,{className:"size-4"}),warning:at(hp,{className:"size-4"}),error:at(Cp,{className:"size-4"})};function mo({title:t,description:e,variant:r="info",action:a,onClose:i,className:n,...s}){return at("div",{role:"status",className:o("w-full rounded-[var(--inkblot-radius-lg)] border-l-4 border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-3 text-[var(--inkblot-semantic-color-text-primary)] shadow-sm",Pp[r],n),...s,children:Mn("div",{className:"flex items-start gap-3",children:[at("span",{className:"mt-0.5 text-[var(--inkblot-semantic-color-text-secondary)]",children:Mp[r]}),Mn("div",{className:"min-w-0 flex-1",children:[at("p",{className:"text-sm font-semibold",children:t}),e?at("p",{className:"mt-1 text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:e}):null,a?at("button",{type:"button",...a,className:o("mt-2 rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] px-2 py-1 text-xs font-medium text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]",a.className),children:a.label}):null]}),i?at("button",{type:"button","aria-label":"Cerrar notificaci\xF3n",onClick:i,className:"inline-flex size-8 items-center justify-center rounded-[var(--inkblot-radius-md)] text-[var(--inkblot-semantic-color-text-tertiary)] hover:text-[var(--inkblot-semantic-color-text-primary)]",children:at(Tp,{className:"size-4"})}):null]})})}import{jsx as Sn}from"react/jsx-runtime";var Sp={"top-left":"top-4 left-4","top-right":"top-4 right-4","bottom-left":"bottom-4 left-4","bottom-right":"bottom-4 right-4"};function po({toasts:t,position:e="bottom-right",onDismiss:r,className:a,...i}){return Sn("div",{className:o("fixed z-50 flex w-full max-w-[360px] flex-col gap-2",Sp[e],a),...i,children:t.map(n=>Sn(mo,{...n,onClose:()=>r?.(n.id)},n.id))})}import{jsx as Ip}from"react/jsx-runtime";function Lp({toasts:t,maxVisible:e=3,position:r="bottom-right",onDismiss:a,...i}){let n=Ep(()=>t.slice(0,e),[t,e]);return Ip(po,{toasts:n,position:r,onDismiss:a,...i})}import{forwardRef as Rp,useState as Ap}from"react";import{jsx as En}from"react/jsx-runtime";var Ln=Rp(({checked:t,defaultChecked:e=!1,onCheckedChange:r,disabled:a,className:i,...n},s)=>{let[l,c]=Ap(e),d=t??l;return En("button",{ref:s,type:"button",role:"switch","aria-checked":d,disabled:a,onClick:()=>{if(a)return;let m=!d;t===void 0&&c(m),r?.(m)},className:o("relative inline-flex h-7 w-12 items-center rounded-full border transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",d?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)]":"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-tertiary)]",i),...n,children:En("span",{className:o("inline-block size-5 rounded-full bg-[var(--inkblot-semantic-color-background-secondary)] transition-transform duration-[var(--inkblot-duration-fast)]",d?"translate-x-6":"translate-x-1")})})});Ln.displayName="Switch";import{forwardRef as wt}from"react";import{ArrowDown as Dp,ArrowUp as Hp,ArrowUpDown as Bp}from"lucide-react";import{jsx as U,jsxs as On}from"react/jsx-runtime";var In=wt(({className:t,...e},r)=>U("div",{className:"w-full overflow-x-auto rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]",children:U("table",{ref:r,className:o("w-full border-collapse bg-[var(--inkblot-semantic-color-background-secondary)]",t),...e})})),Rn=wt(({className:t,...e},r)=>U("thead",{ref:r,className:o("bg-[var(--inkblot-semantic-color-background-tertiary)]",t),...e})),An=wt(({className:t,...e},r)=>U("tbody",{ref:r,className:o(t),...e})),Dn=wt(({className:t,...e},r)=>U("tr",{ref:r,className:o("border-b border-[var(--inkblot-semantic-color-border-default)] text-[var(--inkblot-semantic-color-text-primary)] transition-colors hover:bg-[var(--inkblot-semantic-color-background-tertiary)]",t),...e})),Hn=wt(({className:t,children:e,sortable:r=!1,sortDirection:a,onSort:i,sortButtonProps:n,...s},l)=>U("th",{ref:l,className:o("px-4 py-3 text-left text-sm font-semibold text-[var(--inkblot-semantic-color-text-secondary)]",t),...s,children:r?On("button",{type:"button",onClick:i,className:"inline-flex items-center gap-[var(--inkblot-spacing-1)] rounded-[var(--inkblot-radius-sm)] text-inherit transition-colors duration-[var(--inkblot-duration-fast)] hover:text-[var(--inkblot-semantic-color-text-primary)]",...n,children:[e,a==="asc"?U(Hp,{className:"h-3.5 w-3.5","aria-hidden":!0}):a==="desc"?U(Dp,{className:"h-3.5 w-3.5","aria-hidden":!0}):U(Bp,{className:"h-3.5 w-3.5","aria-hidden":!0})]}):e})),Bn=wt(({className:t,...e},r)=>U("td",{ref:r,className:o("px-4 py-3 text-sm",t),...e})),zn=wt(({className:t,...e},r)=>U("caption",{ref:r,className:o("p-3 text-left text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",t),...e})),Vn=wt(({className:t,colSpan:e,title:r="No data available",description:a="Adjust filters or add records to populate this table.",...i},n)=>U("tr",{children:U("td",{ref:n,colSpan:e,className:o("px-4 py-10 text-center align-middle","text-[var(--inkblot-semantic-color-text-secondary)]",t),...i,children:On("div",{className:"mx-auto flex max-w-[420px] flex-col gap-[var(--inkblot-spacing-1)]",children:[U("span",{className:"[font:var(--inkblot-semantic-typography-body-large-bold)] text-[var(--inkblot-semantic-color-text-primary)]",children:r}),U("span",{className:"[font:var(--inkblot-semantic-typography-body-small)]",children:a})]})})}));In.displayName="Table";Rn.displayName="TableHeader";An.displayName="TableBody";Dn.displayName="TableRow";Hn.displayName="TableHead";Bn.displayName="TableCell";zn.displayName="TableCaption";Vn.displayName="TableEmptyState";import{useMemo as zp,useState as Vp}from"react";import{jsx as bo,jsxs as Fp}from"react/jsx-runtime";function Op({items:t,value:e,defaultValue:r,onValueChange:a,fullWidth:i=!1,className:n,...s}){let l=r??t.find(p=>!p.disabled)?.id??"",[c,d]=Vp(l),b=e??c,m=zp(()=>t.find(p=>p.id===b)??t.find(p=>!p.disabled),[b,t]),v=p=>{e===void 0&&d(p),a?.(p)};return Fp("div",{className:o("w-full",n),...s,children:[bo("div",{role:"tablist",className:"inline-flex rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-tertiary)] p-1",children:t.map(p=>{let g=p.id===m?.id;return bo("button",{type:"button",role:"tab","aria-selected":g,disabled:p.disabled,onClick:()=>v(p.id),className:o("min-h-[var(--inkblot-size-touch-target-min)] rounded-[var(--inkblot-radius-md)] px-4 py-2 text-sm font-medium transition-colors disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",i&&"flex-1",g?"bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-primary)]":"text-[var(--inkblot-semantic-color-text-secondary)] hover:text-[var(--inkblot-semantic-color-text-primary)]"),children:p.label},p.id)})}),bo("div",{className:"mt-3 rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4 text-[var(--inkblot-semantic-color-text-primary)]",children:m?.content})]})}import{forwardRef as Gp}from"react";import{jsx as $p}from"react/jsx-runtime";var Wp={none:"resize-none",vertical:"resize-y",horizontal:"resize-x",both:"resize"},Fn=Gp(({className:t,error:e,disabled:r,resize:a="vertical",...i},n)=>$p("textarea",{ref:n,disabled:r,"aria-invalid":e,className:o("min-h-[120px] w-full rounded-[var(--inkblot-radius-md)] border bg-[var(--inkblot-semantic-color-background-secondary)] px-4 py-3 text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)] transition-[border-color,box-shadow] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",Wp[a],e?"border-[var(--inkblot-semantic-color-status-error)] focus-visible:ring-[var(--inkblot-semantic-color-status-error)]":"border-[var(--inkblot-semantic-color-border-default)] hover:border-[var(--inkblot-semantic-color-border-strong)]",t),...i}));Fn.displayName="Textarea";import{useState as _p}from"react";import{jsx as jp}from"react/jsx-runtime";var Kp={sm:"h-8 px-3 text-xs",md:"h-10 px-4 text-sm",lg:"h-11 px-5 text-sm"};function uo({pressed:t,defaultPressed:e=!1,onPressedChange:r,size:a="md",variant:i="default",disabled:n,className:s,children:l,...c}){let[d,b]=_p(e),m=t??d;return jp("button",{type:"button","aria-pressed":m,disabled:n,onClick:()=>{if(n)return;let p=!m;t===void 0&&b(p),r?.(p)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] border font-medium transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",Kp[a],i==="default"?m?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]":m?"border-[var(--inkblot-semantic-color-text-primary)] bg-[var(--inkblot-semantic-color-background-tertiary)] text-[var(--inkblot-semantic-color-text-primary)]":"border-[var(--inkblot-semantic-color-border-default)] bg-transparent text-[var(--inkblot-semantic-color-text-secondary)] hover:text-[var(--inkblot-semantic-color-text-primary)]",s),...c,children:l})}import{useMemo as Up,useState as qp}from"react";import{jsx as Gn,jsxs as Xp}from"react/jsx-runtime";function Yp({type:t="single",items:e,value:r,defaultValue:a,onValueChange:i,className:n,...s}){let l=a??(t==="single"?"":[]),[c,d]=qp(l),b=r??c,m=Up(()=>{if(t==="single"){let g=typeof b=="string"?b:"";return new Set(g?[g]:[])}let p=Array.isArray(b)?b:[];return new Set(p)},[b,t]),v=p=>{if(t==="single"){let w=m.has(p)?"":p;r===void 0&&d(w),i?.(w);return}let g=Array.isArray(b)?b:[],C=g.includes(p)?g.filter(w=>w!==p):[...g,p];r===void 0&&d(C),i?.(C)};return Gn("div",{className:o("inline-flex items-center gap-2 rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-tertiary)] p-1",n),...s,children:e.map(p=>{let g=p.icon;return Xp(uo,{pressed:m.has(p.id),onPressedChange:()=>v(p.id),disabled:p.disabled,size:"sm",children:[g?Gn(g,{className:"mr-2 size-4"}):null,p.label]},p.id)})})}import{useState as Zp}from"react";import{jsx as tb,jsxs as eb}from"react/jsx-runtime";var Qp={top:"bottom-full left-1/2 mb-2 -translate-x-1/2",right:"left-full top-1/2 ml-2 -translate-y-1/2",bottom:"left-1/2 top-full mt-2 -translate-x-1/2",left:"right-full top-1/2 mr-2 -translate-y-1/2"};function Jp({content:t,side:e="top",open:r,defaultOpen:a=!1,onOpenChange:i,disabled:n=!1,className:s,children:l,...c}){let[d,b]=Zp(a),m=r??d,v=p=>{r===void 0&&b(p),i?.(p)};return eb("span",{className:o("relative inline-flex",s),onMouseEnter:()=>!n&&v(!0),onMouseLeave:()=>v(!1),onFocus:()=>!n&&v(!0),onBlur:()=>v(!1),...c,children:[l,m&&!n?tb("span",{role:"tooltip",className:o("pointer-events-none absolute z-50 rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-3 py-2 text-xs text-[var(--inkblot-semantic-color-text-primary)] shadow-sm",Qp[e]),children:t}):null]})}import{forwardRef as rb}from"react";import{NavLink as ob}from"react-router-dom";import{jsx as ab}from"react/jsx-runtime";var vo=rb(({className:t,activeClassName:e,pendingClassName:r,...a},i)=>ab(ob,{ref:i,className:({isActive:n,isPending:s})=>o(t,n&&e,s&&r),...a}));vo.displayName="NavLinkRouter";export{re as AIComposeInput,Ak as AIEmailGenerator,ol as Accordion,pr as ActionButtons,Ue as ActivityStream,dl as Alert,bl as AlertDialog,xy as AppLayout,Bo as AppNavigationRail,ea as AppSidebar,oc as AspectRatio,lc as Avatar,dc as Badge,bc as Breadcrumb,oe as Button,Nc as Calendar,Ee as CampaignTable,Br as CanvasProvider,Cc as Card,Mc as CardContent,Pc as CardDescription,Sc as CardFooter,wc as CardHeader,Tc as CardTitle,Rc as Carousel,Ac as Chart,zo as ChatFeed,Bc as Checkbox,ba as CircularScore,Fc as Collapsible,_c as Command,Oo as CommandBar,jx as CommandCanvas,Bt as CommandInterface,Qc as ContextMenu,nd as Dialog,Yr as DialogClose,Na as DialogContent,ld as DialogDescription,cd as DialogFooter,id as DialogHeader,sd as DialogTitle,ha as DialogTrigger,gd as Drawer,Sa as DrawerClose,Ma as DrawerContent,yd as DrawerDescription,xd as DrawerFooter,fd as DrawerHeader,kd as DrawerTitle,Pa as DrawerTrigger,Ld as DropdownMenu,Ia as DropdownMenuContent,Ra as DropdownMenuItem,Id as DropdownMenuSeparator,La as DropdownMenuTrigger,Eh as EmailBlockEditor,qo as EmailCampaignsView,Se as EmailComposeActionButtons,Re as EmailTemplatesSection,Ae as EntityCard,ko as EntityCommandCard,De as ErrorBoundary,Dr as EventFeed,Be as EventRow,ho as EventStreamFeed,Fo as EventStreamSidebar,Oa as Form,_d as FormActions,$d as FormField,Wh as GraphView,Xh as GuidedTour,cm as HoverCard,Ka as HoverCardContent,_a as HoverCardTrigger,Pt as Input,Ua as InputOtp,vN as IntelligenceCard,Go as IntelligenceLab,ze as IntelligenceScoreCard,qa as Label,Wo as MainShell,en as Menubar,nn as MenubarCloseZone,on as MenubarContent,an as MenubarItem,Nm as MenubarMenu,Cm as MenubarSeparator,rn as MenubarTrigger,No as MetricComparisonList,Oe as ModuleContainer,D as ModuleErrorBoundary,Vt as ModuleSkeleton,Ar as NavLink,vo as NavLinkRouter,wm as NavigationMenu,So as OSNavigationRail,WN as OnboardingWizard,Ge as PageErrorFallback,Ot as PageHeader,Ft as PageHeaderActionButton,Fm as Pagination,Ym as Popover,gn as PopoverClose,vn as PopoverContent,un as PopoverTrigger,fn as Progress,xn as RadioGroup,lo as RadioGroupItem,op as Resizable,tr as RightPanel,To as RouteWithErrorBoundary,hn as ScrollArea,vt as SearchBar,Cn as Select,wn as Separator,up as Sheet,fp as Sidebar,ut as Skeleton,Pn as Slider,Lp as Sonner,Mo as StatCardGrid,We as StatCards,Lo as StatCardsWithChart,He as StatusBadge,Ln as Switch,$e as TabSystem,In as Table,An as TableBody,zn as TableCaption,Bn as TableCell,Vn as TableEmptyState,Hn as TableHead,Rn as TableHeader,Dn as TableRow,Op as Tabs,Ze as TaskCreateForm,_e as TaskItem,Ke as TaskList,_o as TasksView,Le as TemplateCard,Fn as Textarea,mo as Toast,po as Toaster,uo as Toggle,Yp as ToggleGroup,Jp as Tooltip,tc as useCanvas};
20
+ [Your name]`,sa=[{id:"1",campaignName:"Q1 Product Launch",recipients:"2840 recipients",status:"sent",opens:"68%",clicks:"24%",date:"Feb 12, 2026"},{id:"2",campaignName:"Welcome Series",recipients:"1200 recipients",status:"active",statusSubtext:"Running",opens:"-",clicks:"-",date:"Feb 28, 2026"},{id:"3",campaignName:"Re-engagement Campaign",recipients:"890 recipients",status:"draft",opens:"-",clicks:"-",date:"Feb 5, 2026"},{id:"4",campaignName:"Holiday Promo",recipients:"4500 recipients",status:"scheduled",opens:"-",clicks:"-",date:"Mar 1, 2026"}],la=[{id:"1",category:"Onboarding",title:"Welcome Series",uses:"34 uses"},{id:"2",category:"Marketing",title:"Product Announcement",uses:"12 uses"},{id:"3",category:"Retention",title:"Renewal Reminder",uses:"28 uses"},{id:"4",category:"Sales",title:"Meeting Follow-up",uses:"56 uses"}],ca=["Acme Corp - Sarah Chen","TechStart Inc - Mike Rodriguez","GlobalTech - Lisa Kim","Enterprise Co - John Smith","StartupXYZ - Emma Wilson"],Hl=[{key:"campaign",label:"Campaign"},{key:"status",label:"Status"},{key:"opens",label:"Opens"},{key:"clicks",label:"Clicks"},{key:"date",label:"Date"}],Bl=[{label:"Total Sent",value:"12.4K",change:"This month",changeVariant:"success"},{label:"Avg. Open Rate",value:"64%",change:"+8% vs prior",changeVariant:"success"},{label:"Avg. Click Rate",value:"22%",change:"+3% vs prior",changeVariant:"success"},{label:"Active Automations",value:"7",change:"3 paused",changeVariant:"error"}];function da({onSendNow:t,onSchedule:e,onSaveDraft:r,onNewCampaign:a,onGenerateWithAI:i,onTemplateClick:n,className:s}){let[c,l]=Ut("campaigns"),[d,p]=Ut(""),[u,v]=Ut(""),[b,g]=Ut(""),[N,w]=Ut(!1),[x,E]=Ut(""),T=Gr(()=>{if(!d.trim())return sa;let M=d.toLowerCase();return sa.filter(F=>F.campaignName.toLowerCase().includes(M)||F.recipients.toLowerCase().includes(M))},[d]),h=Gr(()=>{if(!d.trim())return la;let M=d.toLowerCase();return la.filter(F=>F.title.toLowerCase().includes(M)||F.category.toLowerCase().includes(M))},[d]),k=Gr(()=>{if(!x.trim())return ca;let M=x.toLowerCase();return ca.filter(F=>F.toLowerCase().includes(M))},[x]),m=async()=>{w(!0),await new Promise(M=>setTimeout(M,1500)),g(Dl),w(!1)},y=()=>{t?.()},C=()=>{e?.()},P=()=>{r?.()},A=c==="campaigns"||c==="templates";return $("div",{className:o("flex min-h-screen flex-col bg-[var(--inkblot-semantic-color-background-primary)]",s),children:jt("div",{className:"flex flex-1 flex-col gap-[var(--inkblot-spacing-8)] px-[var(--inkblot-spacing-8)] py-[var(--inkblot-spacing-8)]",children:[$(Gt,{title:"Email Campaigns",subtitle:"Automate outreach \xB7 AI-powered templates",icon:$(Al,{className:"h-5 w-5"}),action:$(Wt,{label:"New Campaign",onClick:()=>a?.()})}),$($e,{tabs:[{id:"campaigns",label:"Campaigns"},{id:"templates",label:"Templates"},{id:"compose",label:"Compose"}],activeTabId:c,onTabChange:l}),A?$(gt,{placeholder:c==="campaigns"?"Search campaigns...":"Search templates...",value:d,onChange:M=>p(M.target.value)}):null,c==="campaigns"?jt(Ol,{children:[$(Ke,{items:Bl}),$(Ie,{columns:Hl,rows:T})]}):c==="templates"?$(Ae,{templates:h,onGenerateWithAI:i,onTemplateClick:n}):jt("div",{className:"flex max-w-2xl flex-col gap-[var(--inkblot-spacing-6)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-6)] shadow-[var(--inkblot-shadow-sm)]",children:[jt("div",{className:"flex flex-col gap-[var(--inkblot-spacing-6)]",children:[jt("div",{className:"flex flex-col gap-[var(--inkblot-spacing-2)]",children:[$("label",{className:"uppercase tracking-wider text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-body-small)]",children:"Subject"}),$(Et,{type:"text",value:u,onChange:M=>v(M.target.value),placeholder:"Enter subject line..."})]}),$(oe,{label:"Body",value:b,onChange:M=>g(M.target.value),placeholder:"Compose your email or let AI generate content...",loading:N,onWriteWithAI:m}),jt("div",{className:"flex flex-col gap-[var(--inkblot-spacing-2)]",children:[$(gt,{label:"Recipients",placeholder:"Search contacts, segments, or tags...",value:x,onChange:M=>E(M.target.value)}),k.length>0?$("ul",{className:"flex flex-wrap gap-[var(--inkblot-spacing-2)]",children:k.slice(0,5).map(M=>$("li",{className:o("rounded-[var(--inkblot-radius-md)]","bg-[var(--inkblot-semantic-color-background-secondary)]","px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)]","[font:var(--inkblot-semantic-typography-body-small)]","text-[var(--inkblot-semantic-color-text-secondary)]"),children:M},M))}):null]})]}),$(Ee,{onSendNow:y,onSchedule:C,onSaveDraft:P})]})]})})}import{createContext as Vl,useCallback as ma,useContext as zl,useEffect as Fl,useLayoutEffect as Gl,useMemo as Wl,useState as pa}from"react";import{jsx as _l}from"react/jsx-runtime";var nr="citron-ui-theme",ua=Vl(null);function Kl(){if(typeof window>"u")return null;try{let t=window.localStorage.getItem(nr);if(t==="light"||t==="dark")return t}catch{}return null}function $l(){return typeof window>"u"?"light":window.matchMedia?.("(prefers-color-scheme: dark)").matches?"dark":"light"}function ba(t){typeof document>"u"||document.documentElement.setAttribute("data-theme",t)}function va({children:t}){let[e,r]=pa("light"),[a,i]=pa(!1);Gl(()=>{if(typeof window>"u")return;let d=Kl()??$l();r(d),ba(d),i(!0)},[]),Fl(()=>{if(a&&(ba(e),!(typeof window>"u")))try{window.localStorage.setItem(nr,e)}catch{}},[e,a]);let n=ma(l=>{r(l)},[]),s=ma(()=>{r(l=>l==="light"?"dark":"light")},[]),c=Wl(()=>({theme:e,setTheme:n,toggleTheme:s}),[e,n,s]);return _l(ua.Provider,{value:c,children:t})}function ir(){let t=zl(ua);if(!t)throw new Error("useTheme must be used within a ThemeProvider");return t}import{Moon as Ul,Sun as jl}from"lucide-react";import{jsx as ga}from"react/jsx-runtime";function sr({className:t,type:e="button",...r}){let{theme:a,toggleTheme:i}=ir(),n=a==="dark",s=n?jl:Ul;return ga("button",{type:e,onClick:i,"aria-label":n?"Switch to light mode":"Switch to dark mode","aria-pressed":n,className:o("group relative inline-flex h-10 w-10 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-transparent","text-[var(--inkblot-semantic-color-text-tertiary)] transition-colors duration-[var(--inkblot-duration-fast)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:text-[var(--inkblot-semantic-color-text-primary)]","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--inkblot-semantic-color-background-primary)]",t),...r,children:ga(s,{className:"h-[18px] w-[18px] shrink-0",strokeWidth:2,"aria-hidden":!0})})}import{useMemo as ql,useState as Yl}from"react";import{ChevronDown as Xl}from"lucide-react";import{jsx as lr,jsxs as fa}from"react/jsx-runtime";function Zl({items:t,defaultValue:e,allowMultiple:r=!1,className:a}){let i=ql(()=>new Set(e??[]),[e]),[n,s]=Yl(i),c=l=>{s(d=>{let p=new Set(d);return p.has(l)?(p.delete(l),p):r?(p.add(l),p):new Set([l])})};return lr("div",{className:o("w-full overflow-hidden rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)]",a),children:t.map((l,d)=>{let p=n.has(l.id);return fa("div",{className:o(d!==0&&"border-t border-[var(--inkblot-semantic-color-border-default)]"),children:[fa("button",{type:"button",disabled:l.disabled,"aria-expanded":p,onClick:()=>c(l.id),className:o("flex min-h-[var(--inkblot-size-touch-target-min)] w-full items-center justify-between gap-[var(--inkblot-spacing-3)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)] text-left text-[var(--inkblot-semantic-color-text-primary)] transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",l.disabled?"cursor-not-allowed opacity-[var(--inkblot-opacity-disabled)]":"hover:bg-[var(--inkblot-semantic-color-background-tertiary)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-[-2px]"),children:[lr("span",{className:"font-medium",children:l.title}),lr(Xl,{className:o("h-4 w-4 shrink-0 text-[var(--inkblot-semantic-color-text-tertiary)] transition-transform duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",p&&"rotate-180")})]}),p&&lr("div",{className:"px-[var(--inkblot-spacing-4)] pb-[var(--inkblot-spacing-4)] text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:l.content})]},l.id)})})}import{AlertCircle as Jl,AlertTriangle as Ql,CheckCircle2 as tc,Info as ec}from"lucide-react";import{jsx as Wr,jsxs as ka}from"react/jsx-runtime";var rc={info:"border-[var(--inkblot-semantic-color-status-info)] bg-[var(--inkblot-semantic-color-status-info)]/10 text-[var(--inkblot-semantic-color-text-primary)]",success:"border-[var(--inkblot-semantic-color-status-success)] bg-[var(--inkblot-semantic-color-status-success)]/10 text-[var(--inkblot-semantic-color-text-primary)]",warning:"border-[var(--inkblot-semantic-color-status-warning)] bg-[var(--inkblot-semantic-color-status-warning)]/10 text-[var(--inkblot-semantic-color-text-primary)]",error:"border-[var(--inkblot-semantic-color-status-error)] bg-[var(--inkblot-semantic-color-status-error)]/10 text-[var(--inkblot-semantic-color-text-primary)]"},oc={info:ec,success:tc,warning:Ql,error:Jl};function ac({title:t,description:e,variant:r="info",className:a}){let i=oc[r];return ka("div",{role:"alert",className:o("flex w-full items-start gap-[var(--inkblot-spacing-3)] rounded-[var(--inkblot-radius-lg)] border px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)]",rc[r],a),children:[Wr(i,{className:"mt-0.5 h-4 w-4 shrink-0"}),ka("div",{className:"flex min-w-0 flex-col gap-[var(--inkblot-spacing-1)]",children:[Wr("div",{className:"font-semibold",children:t}),e&&Wr("div",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:e})]})]})}import{useCallback as ya,useEffect as nc,useId as xa,useRef as Kr}from"react";import{AlertTriangle as ic}from"lucide-react";import{jsx as Dt,jsxs as cr}from"react/jsx-runtime";function sc({open:t,title:e,description:r,confirmLabel:a="Confirmar",cancelLabel:i="Cancelar",destructive:n=!1,confirmDisabled:s=!1,closeOnConfirm:c=!0,initialFocusRef:l,onOpenChange:d,onConfirm:p,onCancel:u,className:v}){let b=Kr(null),g=Kr(null),N=Kr(null),w=xa(),x=xa(),E=ya(()=>{u?.(),d?.(!1)},[u,d]),T=ya(()=>{p?.(),c&&d?.(!1)},[c,p,d]);return nc(()=>{if(!t)return;N.current=document.activeElement instanceof HTMLElement?document.activeElement:null,(l?.current??g.current??b.current)?.focus();let k=m=>{m.key==="Escape"&&E()};return window.addEventListener("keydown",k),()=>{window.removeEventListener("keydown",k),N.current?.focus()}},[E,l,t]),t?Dt("div",{className:"fixed inset-0 z-50 grid place-items-center bg-[var(--inkblot-semantic-color-background-primary)]/70 px-[var(--inkblot-spacing-4)]",onClick:E,children:cr("div",{role:"alertdialog","aria-modal":"true","aria-labelledby":w,"aria-describedby":r?x:void 0,tabIndex:-1,ref:b,onClick:h=>h.stopPropagation(),className:o("w-full max-w-[520px] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-6)] text-[var(--inkblot-semantic-color-text-primary)] shadow-lg",v),children:[cr("div",{className:"mb-[var(--inkblot-spacing-4)] flex items-start gap-[var(--inkblot-spacing-3)]",children:[Dt("div",{className:o("mt-0.5 rounded-[var(--inkblot-radius-full)] p-[var(--inkblot-spacing-2)]",n?"bg-[var(--inkblot-semantic-color-status-error)]/15 text-[var(--inkblot-semantic-color-status-error)]":"bg-[var(--inkblot-semantic-color-status-warning)]/15 text-[var(--inkblot-semantic-color-status-warning)]"),children:Dt(ic,{className:"h-5 w-5"})}),cr("div",{className:"flex-1",children:[Dt("h2",{id:w,className:"text-lg font-semibold",children:e}),r&&Dt("p",{id:x,className:"mt-[var(--inkblot-spacing-2)] text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:r})]})]}),cr("div",{className:"flex flex-wrap justify-end gap-[var(--inkblot-spacing-2)]",children:[Dt("button",{type:"button",ref:g,onClick:E,className:"inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-interactive-secondary)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)] font-medium text-[var(--inkblot-semantic-color-text-primary)] transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]",children:i}),Dt("button",{type:"button",disabled:s,onClick:T,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)] font-medium text-[var(--inkblot-semantic-color-text-inverse)] transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",n?"bg-[var(--inkblot-semantic-color-status-error)] hover:bg-[var(--inkblot-semantic-color-status-error)]/85 active:bg-[var(--inkblot-semantic-color-status-error)]/80":"bg-[var(--inkblot-semantic-color-interactive-primary)] hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]"),children:a})]})]})}):null}import{useEffect as lc,useRef as cc,useState as $r}from"react";import{Check as dc,Loader2 as mc,Sparkles as ha}from"lucide-react";import{Fragment as _r,jsx as ct,jsxs as qt}from"react/jsx-runtime";var pc=["Write a product launch announcement for a SaaS tool","Create a re-engagement email for churned users","Draft a welcome email for new customers","Write a quarterly business review summary","Create a seasonal promotion email with urgency"];function gx({value:t,defaultValue:e="",onValueChange:r,isGenerating:a,onGeneratingChange:i,generated:n,onGeneratedChange:s,generationDelayMs:c=1500,onSubmitPrompt:l,generateBlocks:d,onGenerate:p,suggestions:u=pc,className:v}){let[b,g]=$r(e),[N,w]=$r(!1),[x,E]=$r(!1),T=cc(null),h=t!==void 0,k=h?t:b,m=a!==void 0,y=m?a:N,C=n!==void 0,P=C?n:x,A=I=>{h||g(I),r?.(I)},M=I=>{m||w(I),i?.(I)},F=I=>{C||E(I),s?.(I)};lc(()=>()=>{T.current!==null&&window.clearTimeout(T.current)},[]);let S=I=>{let G=Date.now();return[{id:`ai-${G}-1`,type:"heading",content:"Exciting News from Our Team"},{id:`ai-${G}-2`,type:"text",content:`Generated from prompt: ${I}`},{id:`ai-${G}-3`,type:"image",content:""},{id:`ai-${G}-4`,type:"text",content:"Our latest updates are designed to help you achieve more with less effort. We've built these improvements with your feedback in mind."},{id:`ai-${G}-5`,type:"button",content:"Learn More"},{id:`ai-${G}-6`,type:"divider",content:""},{id:`ai-${G}-7`,type:"text",content:`Best regards,
21
+ The Team`}]},B=async()=>{let I=k.trim();if(!I||y)return;l?.(I),M(!0);let G;d?G=await Promise.resolve(d(I)):(await new Promise(q=>{window.setTimeout(()=>q(),c)}),G=S(I)),p?.(G),M(!1),F(!0),T.current=window.setTimeout(()=>F(!1),1800)};return qt("section",{className:o(v),children:[qt("div",{className:"mb-2 flex items-center gap-2",children:[ct(ha,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-status-warning)]"}),ct("span",{className:"text-xs font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:"AI Email Generator"})]}),qt("div",{className:"space-y-3",children:[ct("textarea",{value:k,onChange:I=>A(I.target.value),rows:3,placeholder:"Describe the email you want to create...",className:"w-full resize-none rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-4 py-3 text-sm text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)] outline-none"}),ct("div",{className:"flex flex-wrap gap-1.5",children:u.map(I=>ct("button",{type:"button",onClick:()=>A(I),className:"rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-secondary)] px-2.5 py-1 text-[10px] text-[var(--inkblot-semantic-color-text-primary)] transition-opacity duration-[var(--inkblot-duration-fast)] hover:opacity-85",children:I},I))}),ct("button",{type:"button",onClick:B,disabled:!k.trim()||y,className:"flex items-center gap-2 rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-status-warning)]/10 px-4 py-2 text-xs font-medium text-[var(--inkblot-semantic-color-status-warning)] transition-opacity duration-[var(--inkblot-duration-fast)] disabled:opacity-40",children:y?qt(_r,{children:[ct(mc,{className:"h-3 w-3 animate-spin"}),"Generating..."]}):P?qt(_r,{children:[ct(dc,{className:"h-3 w-3"}),"Applied to editor"]}):qt(_r,{children:[ct(ha,{className:"h-3 w-3"}),"Generate Email"]})})]})]})}import{CheckSquare as uc,Command as vc,FileText as gc,Mail as fc,MessageSquare as kc,Settings as yc,Users as xc}from"lucide-react";import{jsx as Ur,jsxs as bc}from"react/jsx-runtime";function jr({label:t,icon:e,active:r=!1,onClick:a,title:i,dataTour:n,className:s}){return bc("button",{type:"button",onClick:a,"data-tour":n,className:o("group relative flex h-10 w-10 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-transparent transition-colors duration-[var(--inkblot-duration-fast)]",r?"bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]":"text-[var(--inkblot-semantic-color-text-tertiary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:text-[var(--inkblot-semantic-color-text-primary)]",s),title:i??t,"aria-current":r?"page":void 0,"aria-label":t,children:[Ur(e,{className:"h-[18px] w-[18px]","aria-hidden":!0}),r?Ur("span",{className:"absolute left-0 top-1/2 h-4 w-[2px] -translate-y-1/2 rounded-r bg-[var(--inkblot-semantic-color-interactive-primary)]"}):null,Ur("span",{className:"pointer-events-none absolute left-full z-50 ml-3 whitespace-nowrap rounded-[var(--inkblot-radius-sm)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-2 py-1 text-xs font-medium text-[var(--inkblot-semantic-color-text-primary)] opacity-0 transition-opacity duration-[var(--inkblot-duration-fast)] group-hover:opacity-100",children:t})]})}import{jsx as xt,jsxs as qr}from"react/jsx-runtime";var hc=[{id:"canvas",icon:kc,label:"Canvas",path:"/",dataTour:"nav-canvas"},{id:"invoices",icon:gc,label:"Invoices & Deals",path:"/invoices",dataTour:"nav-invoices"},{id:"contacts",icon:xc,label:"Contacts",path:"/contacts",dataTour:"nav-contacts"},{id:"campaigns",icon:fc,label:"Campaigns",path:"/campaigns",dataTour:"nav-campaigns"},{id:"tasks",icon:uc,label:"Tasks",path:"/tasks",dataTour:"nav-tasks"}],Nc=[{id:"settings",icon:yc,label:"Settings",path:"/settings",dataTour:"nav-settings"}];function Na({items:t=hc,bottomItems:e=Nc,activePath:r="/",onNavigate:a,logo:i,showStatusDot:n=!0,showThemeToggle:s=!0,className:c}){return qr("aside",{"data-tour":"sidebar",className:o("flex h-full w-16 flex-col items-center gap-1 border-r border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] py-4",c),children:[xt("div",{className:"mb-6 flex h-9 w-9 items-center justify-center rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-interactive-primary)]",children:i??xt(vc,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-text-inverse)]","aria-hidden":!0})}),xt("nav",{className:"hide-scrollbar flex flex-1 flex-col gap-1 overflow-y-auto",children:t.map(l=>xt(jr,{label:l.label,icon:l.icon,active:l.path===r,onClick:()=>a?.(l.path),dataTour:l.dataTour},l.id))}),qr("div",{className:"flex flex-col gap-1",children:[e.map(l=>xt(jr,{label:l.label,icon:l.icon,active:l.path===r,onClick:()=>a?.(l.path),dataTour:l.dataTour},l.id)),s?qr("div",{className:"group relative flex justify-center",children:[xt(sr,{}),xt("span",{className:"pointer-events-none absolute left-full z-50 ml-3 whitespace-nowrap rounded-[var(--inkblot-radius-sm)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-2 py-1 text-xs font-medium text-[var(--inkblot-semantic-color-text-primary)] opacity-0 transition-opacity duration-[var(--inkblot-duration-fast)] group-hover:opacity-100",children:"Theme"})]}):null,n?xt("span",{"data-tour":"system-status",className:"mx-auto mt-2 h-2 w-2 animate-pulse rounded-full bg-[var(--inkblot-semantic-color-status-success)]",title:"System Online"}):null]})]})}import{CreditCard as Ca,FileText as Cc,GitBranch as wc,Mail as Tc,Phone as Pc,Zap as Mc}from"lucide-react";import{jsx as it,jsxs as be}from"react/jsx-runtime";var Sc=[{id:1,icon:Tc,title:"Email opened",meta:"Jane Smith \xB7 Acme Corp",time:"2m ago",status:"info"},{id:2,icon:Ca,title:"Invoice #1042 paid",meta:"$24,500 \xB7 TechVentures",time:"8m ago",status:"success"},{id:3,icon:Mc,title:"Pipeline stage changed",meta:"Negotiation \u2192 Closing",time:"14m ago",status:"warning"},{id:4,icon:Pc,title:"Call completed",meta:"12 min \xB7 Mark Johnson",time:"23m ago",status:"info"},{id:5,icon:Cc,title:"Contract signed",meta:"NDA \xB7 GlobalTech Inc",time:"1h ago",status:"success"},{id:6,icon:wc,title:"New relationship detected",meta:"Acme \u2194 DataFlow Labs",time:"2h ago",status:"info"},{id:7,icon:Ca,title:"Invoice overdue",meta:"$8,200 \xB7 StartupXYZ",time:"3h ago",status:"danger"}],Ec={success:"bg-[var(--inkblot-semantic-color-status-success)]",warning:"bg-[var(--inkblot-semantic-color-status-warning)]",error:"bg-[var(--inkblot-semantic-color-status-error)]",danger:"bg-[var(--inkblot-semantic-color-status-error)]",info:"bg-[var(--inkblot-semantic-color-status-info)]"};function Yr({title:t="Event Stream",liveLabel:e="Live",events:r=Sc,onItemClick:a,className:i}){return be("section",{className:o("p-4",i),children:[be("header",{className:"mb-4 flex items-center justify-between",children:[it("h3",{className:"text-xs font-medium uppercase tracking-wide text-[var(--inkblot-semantic-color-text-tertiary)]",children:t}),it("span",{className:"text-[10px] font-medium text-[var(--inkblot-semantic-color-text-tertiary)]",children:e})]}),it("ul",{className:"space-y-1",children:r.map(n=>{let s=n.icon;return it("li",{children:be("button",{type:"button",onClick:()=>a?.(n),className:"group flex w-full items-start gap-3 rounded-[var(--inkblot-radius-md)] px-2.5 py-2.5 text-left transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]",children:[it("span",{className:"mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-background-tertiary)]",children:it(s,{className:"h-3.5 w-3.5 text-[var(--inkblot-semantic-color-text-tertiary)] group-hover:text-[var(--inkblot-semantic-color-text-secondary)]","aria-hidden":!0})}),be("span",{className:"min-w-0 flex-1",children:[be("span",{className:"flex items-center gap-2",children:[it("span",{className:o("h-1.5 w-1.5 shrink-0 rounded-full",Ec[n.status])}),it("span",{className:"truncate text-xs font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:n.title})]}),it("span",{className:"mt-0.5 block truncate text-[10px] text-[var(--inkblot-semantic-color-text-tertiary)]",children:n.meta})]}),it("span",{className:"mt-0.5 shrink-0 text-[10px] text-[var(--inkblot-semantic-color-text-tertiary)]",children:n.time})]})},n.id)})})]})}import{useState as Yt,useRef as Ic}from"react";import{motion as wa,AnimatePresence as Lc}from"framer-motion";import{Send as Rc,Sparkles as Ta,Activity as Ac,ChevronDown as Dc,FileText as Hc,Mail as Bc,Users as Oc,CheckSquare as Vc,MessageSquare as zc,Paperclip as Xr,X as Fc}from"lucide-react";import{Fragment as $c,jsx as R,jsxs as U}from"react/jsx-runtime";var Gc=[{id:"general",label:"General",icon:zc,description:"Full CRM assistant"},{id:"invoices",label:"Invoices",icon:Hc,description:"Create & manage invoices"},{id:"campaigns",label:"Campaigns",icon:Bc,description:"Email campaigns & templates"},{id:"contacts",label:"Contacts",icon:Oc,description:"Contact management"},{id:"tasks",label:"Tasks",icon:Vc,description:"Task automation"}],Wc={general:{text:"Here's an overview of your CRM data with entity profile and intelligence scores.",cards:["entity","intelligence"]},invoices:{text:"I've pulled up your latest invoice data and deal health metrics.",cards:["entity","intelligence"]},campaigns:{text:"Analyzing your campaign performance. Here are the key insights.",cards:["intelligence"]},contacts:{text:"Here's the contact profile and relationship intelligence.",cards:["entity"]},tasks:{text:"I've reviewed your task queue. Here's what needs attention.",cards:["intelligence"]}},Kc=[{id:"1",role:"assistant",content:"Welcome to Citron OS. I'm your AI assistant \u2014 ask me anything about your revenue operations."}];function dr({defaultTab:t="chat",tab:e,onTabChange:r,agents:a=Gc,defaultAgent:i,agent:n,onAgentChange:s,messages:c,defaultMessages:l=Kc,onMessagesChange:d,onSend:p,onAddCanvasBlocks:u,agentResponses:v=Wc,autoRespond:b=!0,autoRespondDelayMs:g=800,renderEventsTab:N,className:w}){let[x,E]=Yt(t),[T,h]=Yt(i??a[0]),[k,m]=Yt(!1),[y,C]=Yt(l),[P,A]=Yt(""),[M,F]=Yt([]),S=Ic(null),B=e!==void 0,I=B?e:x,G=n!==void 0,q=G?n:T,Ne=c!==void 0,Ce=Ne?c:y,we=f=>{B||E(f),r?.(f)},Te=f=>{G||h(f),s?.(f)},ee=f=>{Ne||C(f),d?.(f)},re=()=>{if(!P.trim()&&M.length===0)return;let f=M.map(X=>X.name),W={id:Date.now().toString(),role:"user",content:P||`Attached ${f.length} file(s)`,files:f.length>0?f:void 0},pt=[...Ce,W];if(ee(pt),p?.(P,M),A(""),F([]),u){let X=`loading-${Date.now()}`;u([{id:X,type:"loading"}])}b&&setTimeout(()=>{let X=v[q.id]??v.general??{text:"Processing your request...",cards:[]};ee([...pt,{id:(Date.now()+1).toString(),role:"assistant",content:X.text}]),u&&u([{id:`text-${Date.now()}`,type:"text",content:`[${q.label}] ${X.text}`},...X.cards.map((xr,li)=>({id:`card-${Date.now()}-${li}`,type:xr}))])},g)},Pe=f=>{f.target.files&&F(W=>[...W,...Array.from(f.target.files)]),S.current&&(S.current.value="")},Me=f=>{F(W=>W.filter((pt,X)=>X!==f))},yr=q.icon;return U("div",{className:o("flex h-full flex-col bg-[var(--inkblot-semantic-color-background-secondary)]",w),children:[U("div",{className:"flex border-b border-[var(--inkblot-semantic-color-border-default)]",children:[U("button",{type:"button",onClick:()=>we("chat"),className:o("flex flex-1 items-center justify-center gap-1.5 px-3 py-2.5 text-xs font-medium transition-colors duration-[var(--inkblot-duration-fast)]",I==="chat"?"border-b-2 border-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-primary)]":"text-[var(--inkblot-semantic-color-text-tertiary)] hover:text-[var(--inkblot-semantic-color-text-primary)]"),children:[R(Ta,{className:"h-3 w-3","aria-hidden":!0}),"AI Chat"]}),U("button",{type:"button",onClick:()=>we("events"),className:o("flex flex-1 items-center justify-center gap-1.5 px-3 py-2.5 text-xs font-medium transition-colors duration-[var(--inkblot-duration-fast)]",I==="events"?"border-b-2 border-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-primary)]":"text-[var(--inkblot-semantic-color-text-tertiary)] hover:text-[var(--inkblot-semantic-color-text-primary)]"),children:[R(Ac,{className:"h-3 w-3","aria-hidden":!0}),"Events"]})]}),I==="events"?R("div",{className:"hide-scrollbar flex-1 overflow-y-auto",children:N?.()}):U($c,{children:[U("div",{className:"relative border-b border-[var(--inkblot-semantic-color-border-default)] px-3 py-2",children:[U("button",{type:"button",onClick:()=>m(!k),className:"flex w-full items-center gap-2 rounded-[var(--inkblot-radius-md)] px-2.5 py-1.5 transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]",children:[R(yr,{className:"h-3.5 w-3.5 text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0}),U("span",{className:"text-xs font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:[q.label," Agent"]}),R(Dc,{className:o("ml-auto h-3 w-3 text-[var(--inkblot-semantic-color-text-tertiary)] transition-transform duration-[var(--inkblot-duration-fast)]",k&&"rotate-180"),"aria-hidden":!0})]}),R(Lc,{children:k&&R(wa.div,{initial:{opacity:0,y:-4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.15},className:"glass absolute left-3 right-3 top-full z-50 mt-1 rounded-[var(--inkblot-radius-md)] py-1 shadow-[var(--inkblot-shadow-lg)]",children:a.map(f=>{let W=f.icon;return U("button",{type:"button",onClick:()=>{Te(f),m(!1)},className:o("flex w-full items-center gap-2.5 px-3 py-2 text-left transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]",q.id===f.id&&"bg-[var(--inkblot-semantic-color-interactive-secondary)]"),children:[R(W,{className:"h-3.5 w-3.5 text-[var(--inkblot-semantic-color-text-tertiary)]","aria-hidden":!0}),U("div",{children:[R("p",{className:"text-xs font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:f.label}),R("p",{className:"text-[10px] text-[var(--inkblot-semantic-color-text-tertiary)]",children:f.description})]})]},f.id)})})})]}),R("div",{className:"hide-scrollbar flex-1 space-y-3 overflow-y-auto px-3 py-3",children:Ce.map(f=>R(wa.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.2},className:f.role==="user"?"flex justify-end":"",children:f.role==="user"?U("div",{className:"max-w-[85%]",children:[f.files&&f.files.length>0&&R("div",{className:"mb-1 flex flex-wrap justify-end gap-1",children:f.files.map((W,pt)=>U("span",{className:"flex items-center gap-1 rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-secondary)] px-1.5 py-0.5 text-[10px] text-[var(--inkblot-semantic-color-text-tertiary)]",children:[R(Xr,{className:"h-2 w-2","aria-hidden":!0}),W]},pt))}),R("div",{className:"rounded-2xl rounded-br-sm bg-[var(--inkblot-semantic-color-interactive-secondary)] px-3 py-2 text-xs leading-relaxed text-[var(--inkblot-semantic-color-text-primary)]",children:f.content})]}):U("div",{className:"flex items-start gap-2",children:[R("div",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)]/15",children:R(Ta,{className:"h-2.5 w-2.5 text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0})}),R("p",{className:"text-xs leading-relaxed text-[var(--inkblot-semantic-color-text-secondary)]",children:f.content})]})},f.id))}),M.length>0&&R("div",{className:"flex flex-wrap gap-1.5 border-t border-[var(--inkblot-semantic-color-border-default)]/50 px-3 py-2",children:M.map((f,W)=>U("span",{className:"flex items-center gap-1.5 rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-secondary)] px-2 py-1 text-[10px] text-[var(--inkblot-semantic-color-text-primary)]",children:[R(Xr,{className:"h-2.5 w-2.5 text-[var(--inkblot-semantic-color-text-tertiary)]","aria-hidden":!0}),f.name,R("button",{type:"button",onClick:()=>Me(W),className:"text-[var(--inkblot-semantic-color-text-tertiary)] transition-colors duration-[var(--inkblot-duration-fast)] hover:text-[var(--inkblot-semantic-color-status-error)]","aria-label":`Remove ${f.name}`,children:R(Fc,{className:"h-2.5 w-2.5"})})]},W))}),R("div",{className:"border-t border-[var(--inkblot-semantic-color-border-default)] px-3 py-2.5",children:U("div",{className:"glass flex items-center gap-2 rounded-[var(--inkblot-radius-md)] px-3 py-2",children:[R("input",{type:"file",ref:S,onChange:Pe,multiple:!0,className:"hidden"}),R("button",{type:"button",onClick:()=>S.current?.click(),className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] text-[var(--inkblot-semantic-color-text-tertiary)] transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:text-[var(--inkblot-semantic-color-text-primary)]",title:"Attach files","aria-label":"Attach files",children:R(Xr,{className:"h-3 w-3"})}),R("input",{type:"text",value:P,onChange:f=>A(f.target.value),onKeyDown:f=>{f.key==="Enter"&&re()},placeholder:`Ask ${q.label} agent...`,className:"flex-1 bg-transparent text-xs text-[var(--inkblot-semantic-color-text-primary)] outline-none placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]"}),R("button",{type:"button",onClick:re,disabled:!P.trim()&&M.length===0,className:"flex h-6 w-6 items-center justify-center rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)] transition-opacity duration-[var(--inkblot-duration-fast)] hover:opacity-90 disabled:opacity-30","aria-label":"Send message",children:R(Rc,{className:"h-3 w-3"})})]})})]})]})}import{createContext as _c,useContext as Uc,useState as jc,useCallback as Pa}from"react";import{jsx as Xc}from"react/jsx-runtime";var Ma=_c(null);function qc(){let t=Uc(Ma);if(!t)throw new Error("useCanvas must be used within a CanvasProvider");return t}var Yc=[{id:"welcome-1",type:"text",content:"Welcome to Citron OS. Use the AI chat on the right to interact with your revenue engine."},{id:"welcome-2",type:"entity"},{id:"welcome-3",type:"intelligence"}];function Zr({children:t,initialBlocks:e=Yc}){let[r,a]=jc(e),i=Pa(s=>{a(c=>[...c,...s])},[]),n=Pa(()=>{a([])},[]);return Xc(Ma.Provider,{value:{blocks:r,addBlocks:i,clearBlocks:n},children:t})}import{jsx as Ht,jsxs as Sa}from"react/jsx-runtime";function ah({children:t,showEventFeed:e=!1,showRightPanel:r=!1,sidebarProps:a,eventFeedProps:i,rightPanelProps:n,canvasProviderProps:s,className:c}){let l=r||e,d=Sa("div",{className:o("flex h-screen w-full overflow-hidden bg-[var(--inkblot-semantic-color-background-primary)]",c),children:[Ht(Na,{...a}),Sa("main",{className:"flex flex-1 overflow-hidden",children:[Ht("section",{"data-tour":"canvas",className:"hide-scrollbar flex-1 overflow-y-auto",children:t}),l?Ht("aside",{"data-tour":"right-panel",className:"flex w-80 flex-col overflow-hidden border-l border-[var(--inkblot-semantic-color-border-default)]",children:r?Ht(dr,{renderEventsTab:()=>Ht(Yr,{...i}),...n}):Ht(Yr,{...i})}):null]})]});return r?Ht(Zr,{...s,children:d}):d}import{jsx as Ea,jsxs as Jc}from"react/jsx-runtime";function Zc({ratio:t=16/9,children:e,className:r}){let a=Number.isFinite(t)&&t>0?t:1.7777777777777777;return Jc("div",{className:o("relative w-full overflow-hidden",r),children:[Ea("div",{style:{paddingTop:`${1/a*100}%`}}),Ea("div",{className:"absolute inset-0",children:e})]})}import{jsx as ed}from"react/jsx-runtime";var Qc={default:"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]",secondary:"bg-[var(--inkblot-semantic-color-background-tertiary)] text-[var(--inkblot-semantic-color-text-primary)]",success:"bg-[var(--inkblot-semantic-color-status-success)]/15 text-[var(--inkblot-semantic-color-status-success)]",warning:"bg-[var(--inkblot-semantic-color-status-warning)]/15 text-[var(--inkblot-semantic-color-status-warning)]",error:"bg-[var(--inkblot-semantic-color-status-error)]/15 text-[var(--inkblot-semantic-color-status-error)]",outline:"border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-primary)]"};function td({children:t,variant:e="default",disabled:r=!1,className:a}){return ed("span",{"aria-disabled":r,className:o("inline-flex min-h-[calc(var(--inkblot-size-touch-target-min)-1rem)] items-center justify-center rounded-[var(--inkblot-radius-full)] px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-1)] text-xs font-semibold transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",Qc[e],r&&"opacity-[var(--inkblot-opacity-disabled)]",a),children:t})}import{ChevronRight as rd}from"lucide-react";import{jsx as ue,jsxs as ad}from"react/jsx-runtime";function od({items:t,className:e}){return ue("nav",{"aria-label":"Breadcrumb",className:o("w-full",e),children:ue("ol",{className:"flex flex-wrap items-center gap-[var(--inkblot-spacing-2)]",children:t.map((r,a)=>{let i=r.href&&!r.disabled&&!r.current?ue("a",{href:r.href,onClick:r.onClick,className:"rounded-[var(--inkblot-radius-sm)] text-sm text-[var(--inkblot-semantic-color-text-secondary)] transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] hover:text-[var(--inkblot-semantic-color-text-primary)]",children:r.label}):ue("span",{"aria-current":r.current?"page":void 0,className:o("text-sm",r.current?"font-semibold text-[var(--inkblot-semantic-color-text-primary)]":"text-[var(--inkblot-semantic-color-text-tertiary)]",r.disabled&&"opacity-[var(--inkblot-opacity-disabled)]"),children:r.label});return ad("li",{className:"flex items-center gap-[var(--inkblot-spacing-2)]",children:[i,a<t.length-1&&ue(rd,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-text-tertiary)]"})]},r.id)})})})}import{useMemo as Ia,useState as nd}from"react";import{ChevronLeft as id,ChevronRight as sd}from"lucide-react";import{jsx as ht,jsxs as Qr}from"react/jsx-runtime";var ld=["L","M","X","J","V","S","D"];function La(t){return new Date(t.getFullYear(),t.getMonth(),1)}function cd(t){return new Date(t.getFullYear(),t.getMonth()+1,0)}function dd(t,e){return t.getFullYear()===e.getFullYear()&&t.getMonth()===e.getMonth()&&t.getDate()===e.getDate()}function Jr(t){return`${t.getFullYear()}-${t.getMonth()}-${t.getDate()}`}function md(t){let e=La(t),r=cd(t),a=(e.getDay()+6)%7,i=r.getDate(),n=[];for(let s=0;s<a;s+=1)n.push(null);for(let s=1;s<=i;s+=1)n.push(new Date(t.getFullYear(),t.getMonth(),s));for(;n.length%7!==0;)n.push(null);return n}function pd({value:t,onChange:e,disabledDates:r,className:a}){let i=t??new Date,[n,s]=nd(La(i)),c=Ia(()=>md(n),[n]),l=Ia(()=>new Set((r??[]).map(Jr)),[r]);return Qr("div",{className:o("w-[320px] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)] text-[var(--inkblot-semantic-color-text-primary)]",a),children:[Qr("div",{className:"mb-[var(--inkblot-spacing-3)] flex items-center justify-between",children:[ht("button",{type:"button",onClick:()=>s(new Date(n.getFullYear(),n.getMonth()-1,1)),className:"inline-flex h-8 w-8 items-center justify-center rounded-[var(--inkblot-radius-md)] text-[var(--inkblot-semantic-color-text-secondary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]",children:ht(id,{className:"h-4 w-4"})}),ht("div",{className:"font-semibold",children:n.toLocaleDateString("es-ES",{month:"long",year:"numeric"})}),ht("button",{type:"button",onClick:()=>s(new Date(n.getFullYear(),n.getMonth()+1,1)),className:"inline-flex h-8 w-8 items-center justify-center rounded-[var(--inkblot-radius-md)] text-[var(--inkblot-semantic-color-text-secondary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]",children:ht(sd,{className:"h-4 w-4"})})]}),Qr("div",{className:"grid grid-cols-7 gap-[var(--inkblot-spacing-1)]",children:[ld.map(d=>ht("div",{className:"pb-[var(--inkblot-spacing-1)] text-center text-xs font-medium text-[var(--inkblot-semantic-color-text-tertiary)]",children:d},d)),c.map((d,p)=>{if(!d)return ht("div",{className:"h-9"},`empty-${p}`);let u=l.has(Jr(d)),v=t?dd(d,t):!1;return ht("button",{type:"button",disabled:u,onClick:()=>e?.(d),className:o("h-9 rounded-[var(--inkblot-radius-md)] text-sm transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",v?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]",u&&"cursor-not-allowed opacity-[var(--inkblot-opacity-disabled)]"),children:d.getDate()},Jr(d))})]})]})}import{jsx as Xt}from"react/jsx-runtime";function bd({className:t,interactive:e=!1,disabled:r=!1,...a}){return Xt("div",{"aria-disabled":r,className:o("w-full rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-primary)]",e&&"transition-[border-color,transform,background] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] hover:border-[var(--inkblot-semantic-color-border-strong)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)] active:translate-y-px",r&&"pointer-events-none opacity-[var(--inkblot-opacity-disabled)]",t),...a})}function ud({className:t,...e}){return Xt("div",{className:o("flex flex-col gap-[var(--inkblot-spacing-1)] p-[var(--inkblot-spacing-5)]",t),...e})}function vd({className:t,...e}){return Xt("h3",{className:o("text-base font-semibold text-[var(--inkblot-semantic-color-text-primary)]",t),...e})}function gd({className:t,...e}){return Xt("p",{className:o("text-sm text-[var(--inkblot-semantic-color-text-secondary)]",t),...e})}function fd({className:t,...e}){return Xt("div",{className:o("px-[var(--inkblot-spacing-5)] pb-[var(--inkblot-spacing-5)]",t),...e})}function kd({className:t,...e}){return Xt("div",{className:o("flex items-center justify-end gap-[var(--inkblot-spacing-2)] border-t border-[var(--inkblot-semantic-color-border-default)] px-[var(--inkblot-spacing-5)] py-[var(--inkblot-spacing-4)]",t),...e})}import{useState as yd}from"react";import{ChevronLeft as xd,ChevronRight as hd}from"lucide-react";import{jsx as Nt,jsxs as to}from"react/jsx-runtime";function Nd({items:t,initialIndex:e=0,loop:r=!1,className:a}){let[i,n]=yd(Math.min(Math.max(e,0),Math.max(t.length-1,0))),s=r||i>0,c=r||i<t.length-1,l=()=>{if(t.length!==0){if(r){n(p=>(p-1+t.length)%t.length);return}n(p=>Math.max(p-1,0))}},d=()=>{if(t.length!==0){if(r){n(p=>(p+1)%t.length);return}n(p=>Math.min(p+1,t.length-1))}};return to("div",{className:o("w-full rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-4)]",a),children:[Nt("div",{className:"relative overflow-hidden rounded-[var(--inkblot-radius-lg)]",children:Nt("div",{className:"flex transition-transform duration-[var(--inkblot-duration-normal)] ease-[var(--inkblot-easing-default)]",style:{transform:`translateX(-${i*100}%)`},children:t.map((p,u)=>Nt("div",{className:"w-full shrink-0",children:p},u))})}),to("div",{className:"mt-[var(--inkblot-spacing-3)] flex items-center justify-between",children:[Nt("div",{className:"text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:t.length>0?`${i+1} de ${t.length}`:"Sin elementos"}),to("div",{className:"flex gap-[var(--inkblot-spacing-2)]",children:[Nt("button",{type:"button",onClick:l,disabled:!s||t.length===0,className:"inline-flex h-9 w-9 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",children:Nt(xd,{className:"h-4 w-4"})}),Nt("button",{type:"button",onClick:d,disabled:!c||t.length===0,className:"inline-flex h-9 w-9 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",children:Nt(hd,{className:"h-4 w-4"})})]})]})]})}import{jsx as Bt,jsxs as Ra}from"react/jsx-runtime";function Cd({data:t,title:e="Rendimiento",emptyMessage:r="No hay datos para mostrar.",className:a}){let i=Math.max(...t.map(n=>n.value),0);return Ra("div",{className:o("w-full rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-5)]",a),children:[Bt("h3",{className:"mb-[var(--inkblot-spacing-4)] text-sm font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:e}),t.length===0?Bt("div",{className:"rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-4)] text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:r}):Bt("div",{className:"flex flex-col gap-[var(--inkblot-spacing-3)]",children:t.map(n=>{let s=i>0?n.value/i*100:0;return Ra("div",{className:"grid grid-cols-[120px_1fr_48px] items-center gap-[var(--inkblot-spacing-3)]",children:[Bt("span",{className:"truncate text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:n.label}),Bt("div",{className:"h-3 overflow-hidden rounded-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-background-tertiary)]",children:Bt("div",{className:"h-full rounded-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-interactive-primary)]",style:{width:`${s}%`,backgroundColor:n.color??"var(--inkblot-semantic-color-interactive-primary)"}})}),Bt("span",{className:"text-right text-sm font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:n.value})]},n.id)})})]})}import{useState as wd}from"react";import{Check as Td}from"lucide-react";import{jsx as mr,jsxs as Aa}from"react/jsx-runtime";function Pd({checked:t,defaultChecked:e=!1,onCheckedChange:r,label:a,description:i,disabled:n=!1,error:s=!1,className:c}){let[l,d]=wd(e),p=t!==void 0,u=p?t:l,v=b=>{p||d(b),r?.(b)};return Aa("label",{className:o("inline-flex items-start gap-[var(--inkblot-spacing-3)] text-[var(--inkblot-semantic-color-text-primary)]",n&&"cursor-not-allowed opacity-[var(--inkblot-opacity-disabled)]",c),children:[mr("button",{type:"button",role:"checkbox","aria-checked":u,disabled:n,onClick:()=>v(!u),className:o("mt-0.5 inline-flex h-5 w-5 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] border transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-2",u?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] hover:border-[var(--inkblot-semantic-color-border-strong)]",s&&!u&&"border-[var(--inkblot-semantic-color-status-error)]"),children:u&&mr(Td,{className:"h-4 w-4"})}),(a||i)&&Aa("span",{className:"flex flex-col gap-[var(--inkblot-spacing-1)]",children:[a&&mr("span",{className:"text-sm font-medium",children:a}),i&&mr("span",{className:o("text-xs text-[var(--inkblot-semantic-color-text-secondary)]",s&&!u&&"text-[var(--inkblot-semantic-color-status-error)]"),children:i})]})]})}import{jsx as ve,jsxs as eo}from"react/jsx-runtime";var Md={success:"var(--inkblot-semantic-color-status-success)",warning:"var(--inkblot-semantic-color-status-warning)",error:"var(--inkblot-semantic-color-status-error)",info:"var(--inkblot-semantic-color-status-info)",primary:"var(--inkblot-semantic-color-interactive-primary)"};function Da({label:t,value:e,tone:r="primary",color:a,inverted:i=!1,size:n=72,className:s}){let c=Math.max(0,Math.min(100,e)),l=i?100-c:c,d=5,p=(n-d)/2,u=2*Math.PI*p,v=u-l/100*u,b=a??Md[r];return ve("div",{className:s,children:eo("div",{className:"flex flex-col items-center gap-2",children:[eo("div",{className:"relative",style:{width:n,height:n},children:[eo("svg",{width:n,height:n,className:"-rotate-90",children:[ve("circle",{cx:n/2,cy:n/2,r:p,fill:"none",stroke:"var(--inkblot-semantic-color-background-tertiary)",strokeWidth:d}),ve("circle",{cx:n/2,cy:n/2,r:p,fill:"none",stroke:b,strokeWidth:d,strokeDasharray:u,strokeDashoffset:v,strokeLinecap:"round",className:"transition-[stroke-dashoffset] duration-[var(--inkblot-duration-fast)]"})]}),ve("span",{className:"absolute inset-0 flex items-center justify-center text-sm font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:c})]}),ve("span",{className:"text-center text-[10px] leading-tight text-[var(--inkblot-semantic-color-text-tertiary)]",children:t})]})})}import{useState as Sd}from"react";import{ChevronDown as Ed}from"lucide-react";import{jsx as ro,jsxs as Ha}from"react/jsx-runtime";function Id({title:t,children:e,defaultOpen:r=!1,disabled:a=!1,className:i}){let[n,s]=Sd(r);return Ha("div",{className:o("w-full rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)]",a&&"opacity-[var(--inkblot-opacity-disabled)]",i),children:[Ha("button",{type:"button",disabled:a,"aria-expanded":n,onClick:()=>s(c=>!c),className:o("flex min-h-[var(--inkblot-size-touch-target-min)] w-full items-center justify-between gap-[var(--inkblot-spacing-3)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-3)] text-left text-[var(--inkblot-semantic-color-text-primary)]",!a&&"hover:bg-[var(--inkblot-semantic-color-background-tertiary)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-[-2px]"),children:[ro("span",{className:"font-medium",children:t}),ro(Ed,{className:o("h-4 w-4 text-[var(--inkblot-semantic-color-text-tertiary)] transition-transform duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",n&&"rotate-180")})]}),n&&ro("div",{className:"border-t border-[var(--inkblot-semantic-color-border-default)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-4)] text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:e})]})}import{useMemo as Ld,useState as Rd}from"react";import{Search as Ad}from"lucide-react";import{jsx as Ct,jsxs as oo}from"react/jsx-runtime";function Dd({items:t,placeholder:e="Buscar comando...",onSelect:r,className:a}){let[i,n]=Rd(""),s=Ld(()=>{let c=i.trim().toLowerCase();return c?t.filter(l=>{let d=l.label.toLowerCase().includes(c),p=(l.keywords??[]).some(u=>u.toLowerCase().includes(c));return d||p}):t},[t,i]);return oo("div",{className:o("w-full rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)]",a),children:[oo("div",{className:"flex items-center gap-[var(--inkblot-spacing-2)] border-b border-[var(--inkblot-semantic-color-border-default)] px-[var(--inkblot-spacing-3)]",children:[Ct(Ad,{className:"h-4 w-4 text-[var(--inkblot-semantic-color-text-tertiary)]"}),Ct("input",{value:i,onChange:c=>n(c.target.value),placeholder:e,className:"h-11 w-full bg-transparent text-sm text-[var(--inkblot-semantic-color-text-primary)] outline-none placeholder:text-[var(--inkblot-semantic-color-text-tertiary)]"})]}),Ct("div",{className:"max-h-[280px] overflow-y-auto p-[var(--inkblot-spacing-2)]",children:s.length>0?Ct("ul",{className:"flex flex-col gap-[var(--inkblot-spacing-1)]",children:s.map(c=>Ct("li",{children:oo("button",{type:"button",disabled:c.disabled,onClick:()=>r?.(c),className:o("flex min-h-[var(--inkblot-size-touch-target-min)] w-full items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] text-left text-sm text-[var(--inkblot-semantic-color-text-primary)] transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",c.disabled?"cursor-not-allowed opacity-[var(--inkblot-opacity-disabled)]":"hover:bg-[var(--inkblot-semantic-color-background-tertiary)] active:bg-[var(--inkblot-semantic-color-background-tertiary)]"),children:[c.icon&&Ct("span",{className:"text-[var(--inkblot-semantic-color-text-tertiary)]",children:c.icon}),Ct("span",{children:c.label})]})},c.id))}):Ct("div",{className:"px-[var(--inkblot-spacing-2)] py-[var(--inkblot-spacing-3)] text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:"Sin resultados para tu b\xFAsqueda."})})]})}import{useEffect as Hd,useMemo as Bd,useRef as Od,useState as ao}from"react";import{Send as Vd,Sparkles as pr}from"lucide-react";import{jsx as L,jsxs as ot}from"react/jsx-runtime";var zd=[{id:"1",role:"user",content:"Show me Acme Corp's profile and deal health."},{id:"2",role:"assistant",content:"Here's the entity profile and current intelligence scores for Acme Corp.",cards:["entity","intelligence"]}],no="rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-3 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]";function CN({title:t="Command Canvas",subtitle:e="AI-native interface \u2014 results appear here",readyLabel:r="System ready",placeholder:a="Ask anything \u2014 deals, contacts, forecasts...",footerText:i="Citron OS v1.0 \xB7 AI-native Revenue & Operations Platform",blocks:n,renderBlock:s,messages:c,initialMessages:l=zd,onMessagesChange:d,inputValue:p,defaultInputValue:u="",onInputValueChange:v,autoAssistantResponse:b=!0,assistantResponseDelayMs:g=700,isResponding:N,onRespondingChange:w,onSend:x,generateAssistantMessage:E,renderCard:T,hideInput:h=!1,className:k}){let[m,y]=ao(l),[C,P]=ao(u),[A,M]=ao(!1),F=Od(null),S=c!==void 0,B=S?c:m,I=p!==void 0,G=I?p:C,q=N!==void 0,Ne=q?N:A,Ce=G.trim().length>0&&!Ne,we=Bd(()=>f=>({content:`Analyzing "${f}". Here are the latest insights.`,cards:["entity","intelligence"]}),[]),Te=f=>{S||y(f),d?.(f)},ee=f=>{I||P(f),v?.(f)},re=f=>{q||M(f),w?.(f)};Hd(()=>()=>{F.current!==null&&window.clearTimeout(F.current)},[]);let Pe=()=>{let f=G.trim();if(!f)return;let W={id:`${Date.now()}-user`,role:"user",content:f},pt=[...B,W];Te(pt),ee(""),x?.(f),b&&(re(!0),F.current=window.setTimeout(()=>{let X=(E??we)(f),xr=[...pt,{id:`${Date.now()}-assistant`,role:"assistant",content:X.content,cards:X.cards}];Te(xr),re(!1)},g))},Me=n!==void 0,yr=f=>f.type==="text"?ot("div",{className:"flex items-start gap-3",children:[L("div",{className:"mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)]/15",children:L(pr,{className:"h-3.5 w-3.5 text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0})}),L("p",{className:"pt-0.5 text-sm leading-relaxed text-[var(--inkblot-semantic-color-text-secondary)]",children:f.content})]}):f.type==="entity"?T?T("entity"):L("div",{className:no,children:"Entity card preview"}):f.type==="intelligence"?T?T("intelligence"):L("div",{className:no,children:"Intelligence card preview"}):f.type==="loading"?ot("div",{className:"flex items-center gap-3",children:[L("div",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)]/15",children:L(pr,{className:"h-3.5 w-3.5 animate-pulse text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0})}),ot("div",{className:"flex gap-1",children:[L("span",{className:"h-1.5 w-1.5 animate-bounce rounded-full bg-[var(--inkblot-semantic-color-text-tertiary)]",style:{animationDelay:"0ms"}}),L("span",{className:"h-1.5 w-1.5 animate-bounce rounded-full bg-[var(--inkblot-semantic-color-text-tertiary)]",style:{animationDelay:"150ms"}}),L("span",{className:"h-1.5 w-1.5 animate-bounce rounded-full bg-[var(--inkblot-semantic-color-text-tertiary)]",style:{animationDelay:"300ms"}})]})]}):null;return ot("section",{className:o("flex h-full flex-col",k),children:[ot("header",{className:"flex items-center justify-between border-b border-[var(--inkblot-semantic-color-border-default)] px-8 py-5",children:[ot("div",{children:[L("h2",{className:"text-lg font-semibold tracking-tight text-[var(--inkblot-semantic-color-text-primary)]",children:t}),L("p",{className:"mt-0.5 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:e})]}),ot("div",{className:"flex items-center gap-2 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:[L("span",{className:"h-1.5 w-1.5 rounded-full bg-[var(--inkblot-semantic-color-status-success)]"}),r]})]}),L("div",{className:"hide-scrollbar flex-1 overflow-y-auto px-8 py-6",children:L("div",{className:"mx-auto max-w-3xl space-y-6",children:Me?n.map(f=>L("div",{children:s?s(f):yr(f)},f.id)):B.map(f=>f.role==="user"?L("div",{className:"flex justify-end",children:L("div",{className:"max-w-md rounded-2xl rounded-br-sm bg-[var(--inkblot-semantic-color-interactive-secondary)] px-4 py-2.5 text-sm leading-relaxed text-[var(--inkblot-semantic-color-text-primary)]",children:f.content})},f.id):ot("div",{className:"space-y-4",children:[ot("div",{className:"flex items-start gap-3",children:[L("div",{className:"mt-0.5 flex h-6 w-6 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)]/15",children:L(pr,{className:"h-3.5 w-3.5 text-[var(--inkblot-semantic-color-interactive-primary)]","aria-hidden":!0})}),L("p",{className:"pt-0.5 text-sm leading-relaxed text-[var(--inkblot-semantic-color-text-secondary)]",children:f.content})]}),f.cards?.length?L("div",{className:"ml-9 grid gap-4",children:f.cards.map(W=>T?L("div",{children:T(W)},W):L("div",{className:no,children:W==="entity"?"Entity card preview":"Intelligence card preview"},W))}):null]},f.id))})}),!h&&!Me?L("footer",{className:"border-t border-[var(--inkblot-semantic-color-border-default)] px-8 py-4",children:ot("div",{className:"mx-auto max-w-3xl",children:[ot("div",{className:"flex items-center gap-3 rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-4 py-3",children:[L(pr,{className:"h-4 w-4 shrink-0 text-[var(--inkblot-semantic-color-text-tertiary)]"}),L("input",{type:"text",value:G,onChange:f=>ee(f.target.value),onKeyDown:f=>{f.key==="Enter"&&Pe()},placeholder:a,className:"flex-1 bg-transparent text-sm text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)] outline-none"}),L("button",{type:"button",onClick:Pe,disabled:!Ce,className:"flex h-8 w-8 items-center justify-center rounded-[var(--inkblot-radius-sm)] bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)] transition-opacity duration-[var(--inkblot-duration-fast)] disabled:opacity-35","aria-label":"Send",children:L(Vd,{className:"h-3.5 w-3.5"})})]}),L("p",{className:"mt-2 text-center text-[10px] text-[var(--inkblot-semantic-color-text-tertiary)]",children:i})]})}):L("footer",{className:"border-t border-[var(--inkblot-semantic-color-border-default)] px-8 py-3",children:L("p",{className:"text-center text-[10px] text-[var(--inkblot-semantic-color-text-tertiary)]",children:i})})]})}import{useEffect as Fd,useRef as Gd,useState as Ba}from"react";import{jsx as br,jsxs as io}from"react/jsx-runtime";function Wd({trigger:t,items:e,className:r}){let[a,i]=Ba(!1),[n,s]=Ba({x:0,y:0}),c=Gd(null);Fd(()=>{if(!a)return;let d=()=>i(!1);return document.addEventListener("click",d),document.addEventListener("contextmenu",d),()=>{document.removeEventListener("click",d),document.removeEventListener("contextmenu",d)}},[a]);let l=d=>{d.preventDefault();let p=c.current?.getBoundingClientRect(),u=p?.left??0,v=p?.top??0;s({x:d.clientX-u,y:d.clientY-v}),i(!0)};return io("div",{ref:c,className:o("relative w-full",r),onContextMenu:l,children:[t,a&&br("div",{role:"menu",className:"absolute z-40 min-w-[220px] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-[var(--inkblot-spacing-1)] shadow-lg",style:{left:n.x,top:n.y},children:e.map(d=>io("button",{type:"button",role:"menuitem",disabled:d.disabled,onClick:()=>{d.onSelect?.(),i(!1)},className:o("flex min-h-[var(--inkblot-size-touch-target-min)] w-full items-center justify-between gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] text-sm transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",d.disabled?"cursor-not-allowed opacity-[var(--inkblot-opacity-disabled)]":"hover:bg-[var(--inkblot-semantic-color-background-tertiary)]",d.danger?"text-[var(--inkblot-semantic-color-status-error)]":"text-[var(--inkblot-semantic-color-text-primary)]"),children:[io("span",{className:"flex items-center gap-[var(--inkblot-spacing-2)]",children:[d.icon&&br("span",{className:"text-[var(--inkblot-semantic-color-text-tertiary)]",children:d.icon}),br("span",{children:d.label})]}),d.shortcut&&br("span",{className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:d.shortcut})]},d.id))})]})}import{createContext as Kd,forwardRef as lo,useCallback as so,useContext as $d,useEffect as Oa,useId as Va,useMemo as _d,useRef as za,useState as Ud}from"react";import{createPortal as jd}from"react-dom";import{X as qd}from"lucide-react";import{jsx as J,jsxs as Fa}from"react/jsx-runtime";var Ga=Kd(null);function co(){let t=$d(Ga);if(!t)throw new Error("Dialog components must be used within Dialog");return t}function Yd({open:t,defaultOpen:e=!1,onOpenChange:r,children:a}){let[i,n]=Ud(e),s=t!==void 0,c=s?t:i,l=so(p=>{s||n(p),r?.(p)},[s,r]),d=_d(()=>({open:c,setOpen:l}),[c,l]);return J(Ga.Provider,{value:d,children:a})}var Wa=lo(({className:t,type:e="button",onClick:r,...a},i)=>{let{setOpen:n}=co();return J("button",{ref:i,type:e,onClick:s=>{r?.(s),s.defaultPrevented||n(!0)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-2","disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:pointer-events-none disabled:cursor-not-allowed","[font:var(--inkblot-semantic-typography-body-medium)]",t),...a})});Wa.displayName="DialogTrigger";var Ka=lo(({className:t,children:e,showCloseButton:r=!0,initialFocusRef:a,...i},n)=>{let{open:s,setOpen:c}=co(),l=Va(),d=Va(),p=za(null),u=za(null),v=so(g=>{if(p.current=g,typeof n=="function"){n(g);return}n&&(n.current=g)},[n]),b=so(()=>{c(!1)},[c]);return Oa(()=>{if(!s)return;let g=N=>{N.key==="Escape"&&b()};return window.addEventListener("keydown",g),()=>{window.removeEventListener("keydown",g)}},[b,s]),Oa(()=>{if(!s)return;u.current=document.activeElement instanceof HTMLElement?document.activeElement:null;let g=a?.current,N=p.current?.querySelector('button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])');return(g??N??p.current)?.focus(),()=>{u.current?.focus()}},[a,s]),!s||typeof document>"u"?null:jd(Fa("div",{className:o("fixed inset-0 z-50 flex items-center justify-center p-[var(--inkblot-spacing-6)]"),children:[J("button",{type:"button","aria-label":"Close dialog",className:o("absolute inset-0 bg-[var(--inkblot-semantic-color-background-primary)]/70"),onClick:b}),Fa("div",{ref:v,role:"dialog","aria-modal":"true","aria-labelledby":l,"aria-describedby":d,tabIndex:-1,className:o("relative z-10 w-full max-w-[calc(var(--inkblot-size-touch-target-min)*10)] rounded-[var(--inkblot-radius-xl)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-6)]","shadow-[var(--inkblot-shadow-lg)]",t),...i,children:[r?J(mo,{"aria-label":"Close dialog",className:o("absolute right-[var(--inkblot-spacing-4)] top-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-md)] p-[var(--inkblot-spacing-2)]"),children:J(qd,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})}):null,J("div",{id:l,className:"sr-only"}),J("div",{id:d,className:"sr-only"}),e]})]}),document.body)});Ka.displayName="DialogContent";function Xd({className:t,...e}){return J("div",{className:o("mb-[var(--inkblot-spacing-4)] grid gap-[var(--inkblot-spacing-2)]",t),...e})}function Zd({className:t,...e}){return J("h2",{className:o("text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-heading-small)]",t),...e})}function Jd({className:t,...e}){return J("p",{className:o("text-[var(--inkblot-semantic-color-text-secondary)] [font:var(--inkblot-semantic-typography-body-medium)]",t),...e})}function Qd({className:t,...e}){return J("div",{className:o("mt-[var(--inkblot-spacing-6)] flex flex-wrap justify-end gap-[var(--inkblot-spacing-3)]",t),...e})}var mo=lo(({className:t,type:e="button",onClick:r,...a},i)=>{let{setOpen:n}=co();return J("button",{ref:i,type:e,onClick:s=>{r?.(s),s.defaultPrevented||n(!1)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]","border border-[var(--inkblot-semantic-color-border-default)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] hover:border-[var(--inkblot-semantic-color-border-strong)]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-2","[font:var(--inkblot-semantic-typography-body-medium)]",t),...a})});mo.displayName="DialogClose";import{createContext as tm,forwardRef as bo,useCallback as po,useContext as em,useEffect as $a,useMemo as rm,useRef as _a,useState as om}from"react";import{createPortal as am}from"react-dom";import{X as nm}from"lucide-react";import{jsx as st,jsxs as mm}from"react/jsx-runtime";var Ua=tm(null);function uo(){let t=em(Ua);if(!t)throw new Error("Drawer components must be used within Drawer");return t}function im({children:t,open:e,defaultOpen:r=!1,onOpenChange:a,side:i="right"}){let[n,s]=om(r),c=e!==void 0,l=c?e:n,d=po(u=>{c||s(u),a?.(u)},[c,a]),p=rm(()=>({open:l,setOpen:d,side:i}),[l,d,i]);return st(Ua.Provider,{value:p,children:t})}var ja=bo(({className:t,type:e="button",onClick:r,...a},i)=>{let{setOpen:n}=uo();return st("button",{ref:i,type:e,onClick:s=>{r?.(s),s.defaultPrevented||n(!0)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]","hover:bg-[var(--inkblot-semantic-color-interactive-primary-hover)] active:bg-[var(--inkblot-semantic-color-interactive-primary-active)]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-2",t),...a})});ja.displayName="DrawerTrigger";var qa=bo(({className:t,children:e,initialFocusRef:r,...a},i)=>{let{open:n,setOpen:s,side:c}=uo(),l=_a(null),d=_a(null),p=po(v=>{if(l.current=v,typeof i=="function"){i(v);return}i&&(i.current=v)},[i]),u=po(()=>{s(!1)},[s]);return $a(()=>{if(!n)return;let v=b=>{b.key==="Escape"&&u()};return window.addEventListener("keydown",v),()=>{window.removeEventListener("keydown",v)}},[u,n]),$a(()=>{if(!n)return;d.current=document.activeElement instanceof HTMLElement?document.activeElement:null;let v=r?.current,b=l.current?.querySelector('button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])');return(v??b??l.current)?.focus(),()=>{d.current?.focus()}},[r,n]),!n||typeof document>"u"?null:am(mm("div",{className:"fixed inset-0 z-50",children:[st("button",{type:"button","aria-label":"Close drawer",className:"absolute inset-0 bg-[var(--inkblot-semantic-color-background-primary)]/70",onClick:u}),st("div",{ref:p,role:"dialog","aria-modal":"true",tabIndex:-1,className:o("absolute top-0 h-full w-full max-w-[calc(var(--inkblot-size-touch-target-min)*7)] border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-6)] shadow-[var(--inkblot-shadow-lg)]",c==="right"?"right-0 border-l":"left-0 border-r",t),...a,children:e})]}),document.body)});qa.displayName="DrawerContent";function sm({className:t,...e}){return st("div",{className:o("mb-[var(--inkblot-spacing-4)] grid gap-[var(--inkblot-spacing-2)]",t),...e})}function lm({className:t,...e}){return st("h2",{className:o("text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-heading-small)]",t),...e})}function cm({className:t,...e}){return st("p",{className:o("text-[var(--inkblot-semantic-color-text-secondary)] [font:var(--inkblot-semantic-typography-body-medium)]",t),...e})}function dm({className:t,...e}){return st("div",{className:o("mt-[var(--inkblot-spacing-6)] flex flex-wrap justify-end gap-[var(--inkblot-spacing-3)]",t),...e})}var Ya=bo(({className:t,type:e="button",onClick:r,children:a,...i},n)=>{let{setOpen:s}=uo();return st("button",{ref:n,type:e,onClick:c=>{r?.(c),c.defaultPrevented||s(!1)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-lg)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]","border border-[var(--inkblot-semantic-color-border-default)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]",t),...i,children:a??st(nm,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})})});Ya.displayName="DrawerClose";import{createContext as pm,forwardRef as vo,useCallback as bm,useContext as um,useEffect as vm,useMemo as gm,useRef as fm,useState as km}from"react";import{ChevronDown as ym}from"lucide-react";import{jsx as ge,jsxs as tn}from"react/jsx-runtime";var Xa=pm(null);function go(){let t=um(Xa);if(!t)throw new Error("DropdownMenu components must be used within DropdownMenu");return t}function xm({children:t,open:e,defaultOpen:r=!1,onOpenChange:a}){let[i,n]=km(r),s=fm(null),c=e!==void 0,l=c?e:i,d=bm(u=>{c||n(u),a?.(u)},[c,a]);vm(()=>{if(!l)return;let u=b=>{let g=b.target;g&&s.current&&!s.current.contains(g)&&d(!1)},v=b=>{b.key==="Escape"&&d(!1)};return window.addEventListener("pointerdown",u),window.addEventListener("keydown",v),()=>{window.removeEventListener("pointerdown",u),window.removeEventListener("keydown",v)}},[l,d]);let p=gm(()=>({open:l,setOpen:d,containerRef:s}),[l,d]);return ge(Xa.Provider,{value:p,children:ge("div",{ref:s,className:"relative inline-flex",children:t})})}var Za=vo(({className:t,type:e="button",showChevron:r=!0,onClick:a,children:i,...n},s)=>{let{open:c,setOpen:l}=go();return tn("button",{ref:s,type:e,"aria-haspopup":"menu","aria-expanded":c,onClick:d=>{a?.(d),d.defaultPrevented||l(!c)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)]","text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-2","[font:var(--inkblot-semantic-typography-body-medium)]",t),...n,children:[i,r?ge(ym,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}}):null]})});Za.displayName="DropdownMenuTrigger";var Ja=vo(({className:t,...e},r)=>{let{open:a}=go();return a?ge("div",{ref:r,role:"menu",className:o("absolute right-0 top-[calc(100%+var(--inkblot-spacing-2))] z-40 min-w-[calc(var(--inkblot-size-touch-target-min)*4)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-2)] shadow-[var(--inkblot-shadow-md)]",t),...e}):null});Ja.displayName="DropdownMenuContent";var Qa=vo(({className:t,type:e="button",icon:r,onClick:a,children:i,...n},s)=>{let{setOpen:c}=go();return tn("button",{ref:s,type:e,role:"menuitem",onClick:l=>{a?.(l),l.defaultPrevented||c(!1)},className:o("flex min-h-[var(--inkblot-size-touch-target-min)] w-full items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]","text-left text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-secondary)]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-0","[font:var(--inkblot-semantic-typography-body-medium)]",t),...n,children:[r,i]})});Qa.displayName="DropdownMenuItem";function hm({className:t,...e}){return ge("div",{className:o("my-[var(--inkblot-spacing-2)] border-b border-[var(--inkblot-semantic-color-border-default)]",t),...e})}import{useMemo as en,useState as Nm}from"react";import{ChevronDown as Cm,ChevronUp as wm,Columns as Tm,GripVertical as Pm,Image as an,Minus as Mm,MousePointerClick as Sm,Square as Em,Trash2 as Im,Type as rn}from"lucide-react";import{jsx as H,jsxs as dt}from"react/jsx-runtime";var on=[{type:"heading",label:"Heading",icon:rn},{type:"text",label:"Text",icon:rn},{type:"image",label:"Image",icon:an},{type:"button",label:"Button",icon:Em},{type:"divider",label:"Divider",icon:Mm},{type:"columns",label:"2 Columns",icon:Tm}],Lm={heading:"Your Heading Here",text:"Write your content here. Click to edit this text block.",image:"https://placehold.co/600x200",button:"Click Me",divider:"",columns:"Column 1 | Column 2"};function iC({blocks:t,onBlocksChange:e,availableBlockTypes:r,editingId:a,onEditingIdChange:i,onAddBlock:n,onDeleteBlock:s,onMoveBlock:c,onBlockContentChange:l,readOnly:d=!1,className:p}){let[u,v]=Nm(null),b=a!==void 0,g=b?a:u,N=m=>{b||v(m),i?.(m)},w=en(()=>!r||r.length===0?on:on.filter(m=>r.includes(m.type)),[r]),x=en(()=>t.reduce((m,y,C)=>(m[y.id]=C,m),{}),[t]),E=m=>{if(d)return;let y={id:`block-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,type:m,content:Lm[m]};e([...t,y]),n?.(m,y)},T=(m,y)=>{d||(e(t.map(C=>C.id===m?{...C,content:y}:C)),l?.(m,y))},h=m=>{d||(e(t.filter(y=>y.id!==m)),s?.(m))},k=(m,y)=>{if(d)return;let C=x[m],P=C+y;if(P<0||P>=t.length)return;let A=[...t],[M]=A.splice(C,1);A.splice(P,0,M),e(A),c?.(m,y)};return dt("section",{className:o("flex gap-4",p),children:[dt("aside",{className:"w-44 shrink-0",children:[H("span",{className:"text-[10px] uppercase tracking-wide text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Blocks"}),H("div",{className:"mt-2 space-y-1",children:w.map(m=>dt("button",{type:"button",onClick:()=>E(m.type),disabled:d,className:"flex w-full items-center gap-2 rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] px-3 py-2 text-xs text-[var(--inkblot-semantic-color-text-primary)] transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]",children:[H(m.icon,{className:"h-3.5 w-3.5 text-[var(--inkblot-semantic-color-text-tertiary)]"}),m.label]},m.type))})]}),H("div",{className:"glass min-h-[400px] flex-1 rounded-[var(--inkblot-radius-lg)] p-6",children:t.length===0?dt("div",{className:"flex h-full flex-col items-center justify-center gap-3 text-center",children:[H(Sm,{className:"h-8 w-8 text-[var(--inkblot-semantic-color-text-tertiary)]/40"}),dt("div",{children:[H("p",{className:"text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Drop blocks here to build your email"}),H("p",{className:"mt-1 text-[10px] text-[var(--inkblot-semantic-color-text-tertiary)]/60",children:"or use AI to generate a full layout"})]})]}):H("div",{className:"space-y-2",children:t.map((m,y)=>dt("article",{className:"group flex items-start gap-2",children:[H("div",{className:"pt-1 text-[var(--inkblot-semantic-color-text-tertiary)]",children:H(Pm,{className:"h-3.5 w-3.5"})}),dt("div",{className:"flex-1 rounded-[var(--inkblot-radius-md)] border border-transparent p-3 transition-colors duration-[var(--inkblot-duration-fast)] group-hover:border-[var(--inkblot-semantic-color-border-default)]",children:[m.type==="heading"?H("h2",{contentEditable:!d&&g===m.id,suppressContentEditableWarning:!0,onClick:()=>{d||N(m.id)},onBlur:C=>{T(m.id,C.currentTarget.textContent??""),N(null)},className:"cursor-text text-xl font-bold text-[var(--inkblot-semantic-color-text-primary)] outline-none",children:m.content}):null,m.type==="text"?H("p",{contentEditable:!d&&g===m.id,suppressContentEditableWarning:!0,onClick:()=>{d||N(m.id)},onBlur:C=>{T(m.id,C.currentTarget.textContent??""),N(null)},className:"cursor-text text-sm leading-relaxed text-[var(--inkblot-semantic-color-text-secondary)] outline-none",children:m.content}):null,m.type==="image"?H("div",{className:"flex h-32 items-center justify-center overflow-hidden rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)]",children:H(an,{className:"h-8 w-8 text-[var(--inkblot-semantic-color-text-tertiary)]/50"})}):null,m.type==="button"?H("div",{className:"flex justify-center",children:H("span",{contentEditable:!d&&g===m.id,suppressContentEditableWarning:!0,onClick:()=>{d||N(m.id)},onBlur:C=>{T(m.id,C.currentTarget.textContent??""),N(null)},className:"cursor-text rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-interactive-primary)] px-6 py-2.5 text-sm font-medium text-[var(--inkblot-semantic-color-text-inverse)] outline-none",children:m.content})}):null,m.type==="divider"?H("hr",{className:"my-2 border-[var(--inkblot-semantic-color-border-default)]"}):null,m.type==="columns"?dt("div",{className:"grid grid-cols-2 gap-4",children:[H("div",{className:"rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)] p-4 text-center text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Column 1"}),H("div",{className:"rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-background-tertiary)] p-4 text-center text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Column 2"})]}):null]}),dt("div",{className:"flex flex-col gap-1 opacity-0 transition-opacity duration-[var(--inkblot-duration-fast)] group-hover:opacity-100",children:[H("button",{type:"button",onClick:()=>k(m.id,-1),disabled:d||y===0,className:"rounded-[var(--inkblot-radius-sm)] p-1 text-[var(--inkblot-semantic-color-text-tertiary)] transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] disabled:opacity-30","aria-label":"Move up",children:H(wm,{className:"h-3 w-3"})}),H("button",{type:"button",onClick:()=>k(m.id,1),disabled:d||y===t.length-1,className:"rounded-[var(--inkblot-radius-sm)] p-1 text-[var(--inkblot-semantic-color-text-tertiary)] transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] disabled:opacity-30","aria-label":"Move down",children:H(Cm,{className:"h-3 w-3"})}),H("button",{type:"button",onClick:()=>h(m.id),disabled:d,className:"rounded-[var(--inkblot-radius-sm)] p-1 text-[var(--inkblot-semantic-color-status-error)] transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-status-error)]/10","aria-label":"Delete block",children:H(Im,{className:"h-3 w-3"})})]})]},m.id))})})]})}import{forwardRef as Rm}from"react";import{jsx as fe,jsxs as nn}from"react/jsx-runtime";var sn=Rm(({className:t,...e},r)=>fe("form",{ref:r,className:o("grid gap-[var(--inkblot-spacing-4)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-5)]",t),...e}));sn.displayName="Form";function Am({className:t,label:e,hint:r,error:a,children:i,requiredIndicator:n,...s}){return nn("div",{className:o("grid gap-[var(--inkblot-spacing-2)]",t),...s,children:[e?nn("p",{className:"text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-body-medium)]",children:[e,n?fe("span",{className:"ml-[var(--inkblot-spacing-1)] text-[var(--inkblot-semantic-color-status-error)]",children:"*"}):null]}):null,i,a?fe("p",{className:"text-[var(--inkblot-semantic-color-status-error)] [font:var(--inkblot-semantic-typography-body-small)]",children:a}):r?fe("p",{className:"text-[var(--inkblot-semantic-color-text-secondary)] [font:var(--inkblot-semantic-typography-body-small)]",children:r}):null]})}function Dm({className:t,...e}){return fe("div",{className:o("mt-[var(--inkblot-spacing-2)] flex flex-wrap justify-end gap-[var(--inkblot-spacing-3)]",t),...e})}import{useEffect as Hm,useRef as Bm}from"react";import{jsx as Zt,jsxs as Jt}from"react/jsx-runtime";var Om=[{id:"1",label:"Acme Corp",kind:"org",x:400,y:250,score:82},{id:"2",label:"TechVentures",kind:"org",x:220,y:140,score:65},{id:"3",label:"DataFlow Labs",kind:"org",x:600,y:160,score:45},{id:"4",label:"Jane Smith",kind:"person",x:300,y:380,score:90},{id:"5",label:"Mark Johnson",kind:"person",x:520,y:370,score:72},{id:"6",label:"GlobalTech",kind:"org",x:160,y:300,score:38},{id:"7",label:"Sarah Lee",kind:"person",x:650,y:310,score:55}],Vm=[{from:"1",to:"2",strength:.8},{from:"1",to:"3",strength:.5},{from:"1",to:"4",strength:.9},{from:"1",to:"5",strength:.7},{from:"2",to:"6",strength:.4},{from:"3",to:"7",strength:.6},{from:"4",to:"5",strength:.3},{from:"6",to:"4",strength:.5}];function zm(t,e,r,a){return t>=70?e:t>=50?r:a}function wt(t,e){for(let r of e){let a=t.getPropertyValue(r).trim();if(a)return a}return""}function fo(t,e,r){if(e){t.font=e;return}t.font=r}function yC({title:t="Entity Graph",subtitle:e,nodes:r=Om,edges:a=Vm,className:i}){let n=Bm(null);Hm(()=>{let c=n.current;if(!c)return;let l=c.getContext("2d");if(!l)return;let d=()=>{let p=c.getBoundingClientRect(),u=window.devicePixelRatio||1;c.width=p.width*u,c.height=p.height*u,l.setTransform(u,0,0,u,0,0),l.clearRect(0,0,p.width,p.height);let v=getComputedStyle(document.documentElement),b=wt(v,["--inkblot-semantic-color-border-default","--inkblot-semantic-color-border-strong"]),g=wt(v,["--inkblot-semantic-color-text-tertiary","--inkblot-semantic-color-text-secondary"]),N=wt(v,["--inkblot-semantic-color-background-secondary","--inkblot-semantic-color-background-primary"]),w=wt(v,["--inkblot-semantic-color-status-success","--inkblot-semantic-color-interactive-primary"]),x=wt(v,["--inkblot-semantic-color-status-warning","--inkblot-semantic-color-status-info"]),E=wt(v,["--inkblot-semantic-color-status-error","--inkblot-semantic-color-status-warning"]),T=wt(v,["--inkblot-semantic-typography-body-small","--inkblot-semantic-typography-body-medium"]),h=wt(v,["--inkblot-semantic-typography-body-medium","--inkblot-semantic-typography-body-small"]),k=l.font;a.forEach(m=>{let y=r.find(P=>P.id===m.from),C=r.find(P=>P.id===m.to);!y||!C||(l.beginPath(),l.moveTo(y.x,y.y),l.lineTo(C.x,C.y),l.strokeStyle=b,l.globalAlpha=Math.min(1,Math.max(0,m.strength*.45)),l.lineWidth=Math.max(1,m.strength*2),l.stroke(),l.globalAlpha=1)}),r.forEach(m=>{let y=zm(m.score,w,x,E),C=m.kind==="org"?28:22;l.beginPath(),l.arc(m.x,m.y,C+8,0,Math.PI*2),l.fillStyle=y,l.globalAlpha=.08,l.fill(),l.globalAlpha=1,l.beginPath(),l.arc(m.x,m.y,C,0,Math.PI*2),l.fillStyle=N,l.strokeStyle=y,l.globalAlpha=.7,l.lineWidth=1.5,l.fill(),l.stroke(),l.globalAlpha=1,l.fillStyle=y,fo(l,T,k),l.textAlign="center",l.textBaseline="middle",l.fillText(m.kind==="org"?"\u2B21":"\u25CF",m.x,m.y),l.fillStyle=g,fo(l,h,k),l.fillText(m.label,m.x,m.y+C+16),l.fillStyle=y,l.globalAlpha=.8,fo(l,T,k),l.fillText(String(m.score),m.x,m.y+C+28),l.globalAlpha=1})};return d(),window.addEventListener("resize",d),()=>window.removeEventListener("resize",d)},[a,r]);let s=e??`Relationship intelligence \xB7 ${r.length} nodes \xB7 ${a.length} edges`;return Jt("section",{className:o("flex h-full flex-col",i),children:[Jt("header",{className:"flex items-center justify-between border-b border-[var(--inkblot-semantic-color-border-default)] px-8 py-5",children:[Jt("div",{children:[Zt("h2",{className:"text-lg font-semibold tracking-tight text-[var(--inkblot-semantic-color-text-primary)]",children:t}),Zt("p",{className:"mt-0.5 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:s})]}),Jt("div",{className:"flex items-center gap-4 text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:[Jt("span",{className:"flex items-center gap-1.5",children:[Zt("span",{className:"h-2 w-2 rounded-full bg-[var(--inkblot-semantic-color-status-success)]"}),"Orgs"]}),Jt("span",{className:"flex items-center gap-1.5",children:[Zt("span",{className:"h-2 w-2 rounded-full bg-[var(--inkblot-semantic-color-status-warning)]"}),"People"]})]})]}),Zt("div",{className:"relative flex-1",children:Zt("canvas",{ref:n,className:"h-full w-full"})})]})}import{useCallback as Fm,useEffect as Gm,useMemo as Wm,useState as ko}from"react";import{ArrowLeft as Km,ArrowRight as $m,Check as _m,X as Um}from"lucide-react";import{Fragment as ln,jsx as Q,jsxs as Tt}from"react/jsx-runtime";var jm=[{target:"[data-tour='sidebar']",title:"Navigation Sidebar",description:"Access all CRM modules from this sidebar. Each icon represents a different module.",position:"right"},{target:"[data-tour='canvas']",title:"AI Command Canvas",description:"This is your AI-powered command center where you can orchestrate tasks and workflows.",position:"bottom"},{target:"[data-tour='event-feed']",title:"Real-Time Event Feed",description:"Follow live system activity like stage updates, invoices, and communication events.",position:"left"},{target:"[data-tour='system-status']",title:"System Status",description:"This indicator confirms platform health and connectivity.",position:"right"}];function MC({steps:t=jm,open:e,defaultOpen:r=!0,onOpenChange:a,stepIndex:i,defaultStepIndex:n=0,onStepIndexChange:s,onComplete:c,className:l}){let[d,p]=ko(r),[u,v]=ko(n),[b,g]=ko(null),N=e??d,w=i??u,x=t[w],E=w===t.length-1,T=P=>{e===void 0&&p(P),a?.(P)},h=P=>{let A=Math.min(Math.max(P,0),Math.max(t.length-1,0));i===void 0&&v(A),s?.(A)},k=Fm(()=>{let P=document.querySelector(x.target);if(!P){g(null);return}g(P.getBoundingClientRect())},[x.target]);Gm(()=>(k(),window.addEventListener("resize",k),window.addEventListener("scroll",k,!0),()=>{window.removeEventListener("resize",k),window.removeEventListener("scroll",k,!0)}),[k]);let m=()=>{if(E){T(!1),c();return}h(w+1)},y=()=>{h(w-1)},C=Wm(()=>{if(!b)return{top:"50%",left:"50%",transform:"translate(-50%, -50%)"};let P=16,A=320;return x.position==="right"?{top:b.top+b.height/2,left:b.right+P,transform:"translateY(-50%)"}:x.position==="left"?{top:b.top+b.height/2,left:b.left-A-P,transform:"translateY(-50%)"}:x.position==="top"?{top:b.top-P,left:b.left+b.width/2,transform:"translate(-50%, -100%)"}:{top:b.bottom+P,left:b.left+b.width/2,transform:"translateX(-50%)"}},[x.position,b]);return N?Tt("div",{className:o("fixed inset-0 z-[200]",l),children:[b?Q("div",{className:"pointer-events-none absolute rounded-[var(--inkblot-radius-lg)] border-2 border-[var(--inkblot-semantic-color-interactive-primary)]/50",style:{top:b.top-6,left:b.left-6,width:b.width+12,height:b.height+12,boxShadow:"0 0 0 9999px var(--inkblot-semantic-color-background-inverse), var(--inkblot-shadow-lg)"}}):Q("div",{className:"absolute inset-0 bg-[var(--inkblot-semantic-color-background-inverse)]/70"}),Tt("div",{style:{...C,position:"absolute",width:320,zIndex:210},className:"rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-5 shadow-[var(--inkblot-shadow-lg)]",children:[Tt("div",{className:"mb-3 flex items-center justify-between",children:[Tt("span",{className:"text-[10px] uppercase tracking-wide text-[var(--inkblot-semantic-color-text-tertiary)]",children:["Step ",w+1," of ",t.length]}),Q("button",{type:"button",onClick:()=>{T(!1),c()},className:"rounded-[var(--inkblot-radius-sm)] p-1 text-[var(--inkblot-semantic-color-text-tertiary)] transition-colors duration-[var(--inkblot-duration-fast)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]","aria-label":"Close tour",children:Q(Um,{className:"h-3 w-3"})})]}),Q("h3",{className:"mb-1.5 text-sm font-semibold text-[var(--inkblot-semantic-color-text-primary)]",children:x.title}),Q("p",{className:"text-xs leading-relaxed text-[var(--inkblot-semantic-color-text-tertiary)]",children:x.description}),Q("div",{className:"mb-3 mt-4 flex gap-1",children:t.map((P,A)=>Q("span",{className:o("h-1 flex-1 rounded-full",A<=w?"bg-[var(--inkblot-semantic-color-interactive-primary)]":"bg-[var(--inkblot-semantic-color-background-tertiary)]")},`${A}-progress`))}),Tt("div",{className:"flex items-center justify-between",children:[Tt("button",{type:"button",onClick:y,disabled:w===0,className:"flex items-center gap-1 text-xs text-[var(--inkblot-semantic-color-text-tertiary)] transition-opacity duration-[var(--inkblot-duration-fast)] disabled:opacity-0",children:[Q(Km,{className:"h-3 w-3"}),"Back"]}),Q("button",{type:"button",onClick:m,className:"flex items-center gap-1.5 rounded-[var(--inkblot-radius-md)] bg-[var(--inkblot-semantic-color-interactive-primary)] px-4 py-2 text-xs font-medium text-[var(--inkblot-semantic-color-text-inverse)]",children:E?Tt(ln,{children:[Q(_m,{className:"h-3 w-3"}),"Get Started"]}):Tt(ln,{children:["Next",Q($m,{className:"h-3 w-3"})]})})]})]})]}):null}import{createContext as qm,forwardRef as cn,useContext as Ym,useMemo as Xm,useRef as Zm,useState as Jm}from"react";import{jsx as ur}from"react/jsx-runtime";var dn=qm(null);function mn(){let t=Ym(dn);if(!t)throw new Error("HoverCard components must be used within HoverCard");return t}function Qm({children:t,openDelay:e=120,closeDelay:r=120}){let[a,i]=Jm(!1),n=Zm(null),s=Xm(()=>({open:a,setOpen:i,openDelay:e,closeDelay:r,timeoutRef:n}),[a,e,r]);return ur(dn.Provider,{value:s,children:ur("div",{className:"relative inline-flex",children:t})})}var pn=cn(({className:t,onMouseEnter:e,onMouseLeave:r,onFocus:a,onBlur:i,...n},s)=>{let{setOpen:c,openDelay:l,closeDelay:d,timeoutRef:p}=mn();return ur("div",{ref:s,tabIndex:0,onMouseEnter:u=>{e?.(u),p.current&&window.clearTimeout(p.current),p.current=window.setTimeout(()=>c(!0),l)},onMouseLeave:u=>{r?.(u),p.current&&window.clearTimeout(p.current),p.current=window.setTimeout(()=>c(!1),d)},onFocus:u=>{a?.(u),c(!0)},onBlur:u=>{i?.(u),c(!1)},className:o(t),...n})});pn.displayName="HoverCardTrigger";var bn=cn(({className:t,onMouseEnter:e,onMouseLeave:r,...a},i)=>{let{open:n,setOpen:s,closeDelay:c,timeoutRef:l}=mn();return n?ur("div",{ref:i,role:"dialog",onMouseEnter:d=>{e?.(d),l.current&&window.clearTimeout(l.current),s(!0)},onMouseLeave:d=>{r?.(d),l.current&&window.clearTimeout(l.current),l.current=window.setTimeout(()=>s(!1),c)},className:o("absolute left-0 top-[calc(100%+var(--inkblot-spacing-2))] z-40 min-w-[calc(var(--inkblot-size-touch-target-min)*4)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-md)]",t),...a}):null});bn.displayName="HoverCardContent";import{forwardRef as tp,useMemo as ep,useRef as rp,useState as op}from"react";import{jsx as un}from"react/jsx-runtime";var vn=tp(({className:t,disabled:e,length:r=6,value:a,defaultValue:i="",onValueChange:n,containerProps:s,...c},l)=>{let[d,p]=op(i.slice(0,r)),u=rp([]),v=a!==void 0,b=v?a.slice(0,r):d,g=ep(()=>Array.from({length:r},(h,k)=>b[k]??""),[b,r]),N=h=>{let k=h.slice(0,r);v||p(k),n?.(k)},w=h=>{let k=u.current[h];k?.focus(),k?.select()},x=(h,k)=>{let m=k.replace(/[^0-9A-Za-z]/g,"").slice(0,1),y=g.map((C,P)=>P===h?m:C);N(y.join("")),m&&h<r-1&&w(h+1)},E=(h,k)=>{if(k.key==="Backspace"&&!g[h]&&h>0){let m=g.map((y,C)=>C===h-1?"":y);N(m.join("")),w(h-1)}k.key==="ArrowLeft"&&h>0&&(k.preventDefault(),w(h-1)),k.key==="ArrowRight"&&h<r-1&&(k.preventDefault(),w(h+1))};return un("div",{ref:l,onPaste:h=>{h.preventDefault();let k=h.clipboardData.getData("text").replace(/[^0-9A-Za-z]/g,"").slice(0,r);k&&(N(k),w(Math.min(k.length,r-1)))},className:o("flex items-center gap-[var(--inkblot-spacing-2)]",t,s?.className),...s,children:g.map((h,k)=>un("input",{ref:m=>{u.current[k]=m},type:"text",inputMode:"numeric",maxLength:1,value:h,disabled:e,onChange:m=>x(k,m.target.value),onKeyDown:m=>E(k,m),className:o("min-h-[var(--inkblot-size-touch-target-min)] w-full rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-secondary)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]","text-center text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-heading-small)]","focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--inkblot-semantic-color-border-focus)] focus-visible:outline-offset-2","disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:pointer-events-none"),...c},`otp-slot-${k}`))})});vn.displayName="InputOtp";import{jsx as yo,jsxs as np}from"react/jsx-runtime";var ap=[{label:"Revenue Confidence",value:82,tone:"success"},{label:"Churn Risk",value:23,tone:"warning",inverted:!0},{label:"Momentum",value:67,tone:"primary"}];function UC({title:t="Intelligence Scores",items:e=ap,className:r}){return np("article",{className:o("glass rounded-[var(--inkblot-radius-lg)] p-5",r),children:[yo("h3",{className:"mb-4 text-xs font-medium uppercase tracking-wide text-[var(--inkblot-semantic-color-text-tertiary)]",children:t}),yo("div",{className:"grid grid-cols-3 gap-6",children:e.map(a=>yo(Da,{label:a.label,value:a.value,tone:a.tone,color:a.color,inverted:a.inverted},a.label))})]})}import{forwardRef as ip}from"react";import{jsx as sp,jsxs as lp}from"react/jsx-runtime";var gn=ip(({className:t,children:e,requiredIndicator:r,...a},i)=>lp("label",{ref:i,className:o("inline-flex items-center gap-[var(--inkblot-spacing-1)] text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-body-medium)]",t),...a,children:[e,r?sp("span",{className:"text-[var(--inkblot-semantic-color-status-error)]",children:"*"}):null]}));gn.displayName="Label";import{createContext as fn,forwardRef as ke,useContext as kn,useMemo as yn,useRef as cp,useState as dp}from"react";import{ChevronDown as mp}from"lucide-react";import{jsx as Pt,jsxs as Sn}from"react/jsx-runtime";var xn=fn(null);function xo(){let t=kn(xn);if(!t)throw new Error("Menubar components must be used within Menubar");return t}var hn=fn(null);function Nn(){let t=kn(hn);if(!t)throw new Error("Menubar menu components must be used within MenubarMenu");return t}var Cn=ke(({className:t,...e},r)=>{let[a,i]=dp(null),n=yn(()=>({openMenuId:a,setOpenMenuId:i}),[a]);return Pt(xn.Provider,{value:n,children:Pt("div",{ref:r,className:o("flex items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-2)]",t),...e})})});Cn.displayName="Menubar";function pp({id:t,className:e,...r}){let a=yn(()=>({menuId:t}),[t]);return Pt(hn.Provider,{value:a,children:Pt("div",{className:o("relative inline-flex",e),...r})})}var wn=ke(({className:t,type:e="button",showChevron:r=!0,onClick:a,children:i,...n},s)=>{let{openMenuId:c,setOpenMenuId:l}=xo(),{menuId:d}=Nn(),p=c===d;return Sn("button",{ref:s,type:e,"aria-haspopup":"menu","aria-expanded":p,onClick:u=>{a?.(u),u.defaultPrevented||l(p?null:d)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)]",p?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-secondary)]",t),...n,children:[i,r?Pt(mp,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}}):null]})});wn.displayName="MenubarTrigger";var Tn=ke(({className:t,...e},r)=>{let{openMenuId:a}=xo(),{menuId:i}=Nn();return a!==i?null:Pt("div",{ref:r,role:"menu",className:o("absolute left-0 top-[calc(100%+var(--inkblot-spacing-2))] z-40 min-w-[calc(var(--inkblot-size-touch-target-min)*4)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-2)] shadow-[var(--inkblot-shadow-md)]",t),...e})});Tn.displayName="MenubarContent";var Pn=ke(({className:t,type:e="button",icon:r,...a},i)=>Sn("button",{ref:i,type:e,role:"menuitem",className:o("flex min-h-[var(--inkblot-size-touch-target-min)] w-full items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]","text-left text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-secondary)]","[font:var(--inkblot-semantic-typography-body-medium)]",t),...a,children:[r,a.children]}));Pn.displayName="MenubarItem";function bp({className:t,...e}){return Pt("div",{className:o("my-[var(--inkblot-spacing-2)] border-b border-[var(--inkblot-semantic-color-border-default)]",t),...e})}var Mn=ke(({className:t,...e},r)=>{let{setOpenMenuId:a}=xo(),i=cp(null);return Pt("div",{ref:n=>{i.current=n,typeof r=="function"?r(n):r&&(r.current=n)},onPointerDown:n=>{i.current?.contains(n.target)&&a(null)},className:o(t),...e})});Mn.displayName="MenubarCloseZone";import{ChevronRight as En}from"lucide-react";import{jsx as vr,jsxs as In}from"react/jsx-runtime";function up({items:t,className:e,onItemSelect:r}){return vr("nav",{"aria-label":"Navigation menu",className:o("flex flex-wrap items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-2)]",e),children:t.map(a=>vr(vp,{item:a,onSelect:()=>r?.(a)},a.id))})}function vp({item:t,onSelect:e,className:r,...a}){let i=o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center gap-[var(--inkblot-spacing-2)] rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]","[font:var(--inkblot-semantic-typography-body-medium)]",t.active?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-secondary)]",t.disabled&&"pointer-events-none opacity-[var(--inkblot-opacity-disabled)]",r);return t.href?In("a",{href:t.href,"aria-current":t.active?"page":void 0,className:i,onClick:()=>e?.(),...a,children:[t.icon,t.label,t.active?null:vr(En,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})]}):In("button",{type:"button","aria-current":t.active?"page":void 0,disabled:t.disabled,className:i,onClick:()=>e?.(),children:[t.icon,t.label,t.active?null:vr(En,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})]})}import{useMemo as gp,useState as Ln}from"react";import{ArrowLeft as fp,ArrowRight as kp,Briefcase as yp,Building2 as xp,Check as hp,Command as Np,Globe as Cp,Megaphone as wp,Sparkles as Tp,Target as Rn,Users as Pp}from"lucide-react";import{Fragment as An,jsx as z,jsxs as tt}from"react/jsx-runtime";var Mp=[{id:"company",question:"What's your company name?",subtitle:"We'll personalize your workspace around your brand.",icon:xp,type:"input",field:"companyName",placeholder:"e.g. Acme Corporation"},{id:"size",question:"How many employees does your company have?",subtitle:"This helps us tailor the right features for your team size.",icon:Pp,type:"select",field:"companySize",options:[{value:"1-10",label:"1-10"},{value:"11-50",label:"11-50"},{value:"51-200",label:"51-200"},{value:"201-1000",label:"201-1,000"},{value:"1000+",label:"1,000+"}]},{id:"industry",question:"What industry are you in?",subtitle:"We'll pre-configure pipelines and templates for your sector.",icon:yp,type:"select",field:"industry",options:[{value:"saas",label:"SaaS / Software"},{value:"agency",label:"Agency / Consulting"},{value:"ecommerce",label:"E-Commerce"},{value:"fintech",label:"Fintech"},{value:"healthcare",label:"Healthcare"},{value:"other",label:"Other"}]},{id:"role",question:"What's your role?",subtitle:"So we can surface the most relevant modules first.",icon:Rn,type:"select",field:"role",options:[{value:"founder",label:"Founder / CEO"},{value:"sales",label:"Sales Leader"},{value:"marketing",label:"Marketing"},{value:"ops",label:"Operations"},{value:"other",label:"Other"}]},{id:"goals",question:"What do you want to achieve?",subtitle:"Select all that apply. We'll prioritize these in your dashboard.",icon:Rn,type:"multi-select",field:"goals",options:[{value:"pipeline",label:"Manage Sales Pipeline"},{value:"contacts",label:"Organize Contacts"},{value:"email",label:"Email Campaigns"},{value:"invoicing",label:"Invoicing"},{value:"reporting",label:"Analytics & Reporting"},{value:"automation",label:"Workflow Automation"}]},{id:"source",question:"How did you hear about us?",subtitle:"Helps us improve our outreach.",icon:wp,type:"select",field:"source",options:[{value:"google",label:"Google Search"},{value:"social",label:"Social Media"},{value:"referral",label:"Friend / Colleague"},{value:"event",label:"Conference / Event"},{value:"other",label:"Other"}]},{id:"website",question:"What's your company website?",subtitle:"Optional, we'll try to auto-import your branding.",icon:Cp,type:"input",field:"website",placeholder:"e.g. https://acme.com"}];function yw({onComplete:t,steps:e=Mp,value:r,defaultValue:a,onValueChange:i,stepIndex:n,defaultStepIndex:s=0,onStepIndexChange:c,onCancel:l,showSkip:d=!0,className:p}){let[u,v]=Ln(s),[b,g]=Ln(a??{}),N=n!==void 0,w=r!==void 0,x=N?n:u,E=w?r:b,T=e[x],h=E[T.field]??(T.type==="multi-select"?[]:""),k=x===e.length-1,m=gp(()=>T.type==="multi-select"?h.length>0:T.id==="website"?!0:typeof h=="string"&&h.trim().length>0,[h,T.id,T.type]),y=S=>{let B=Math.min(Math.max(S,0),Math.max(e.length-1,0));N||v(B),c?.(B)},C=S=>{w||g(S),i?.(S)},P=()=>y(x-1),A=()=>{if(k){t(E);return}y(x+1)},M=(S,B)=>{C({...E,[S]:B})},F=(S,B)=>{let I=E[S]??[],G=I.includes(B)?I.filter(q=>q!==B):[...I,B];M(S,G)};return tt("section",{className:o("fixed inset-0 z-[100] flex items-center justify-center bg-[var(--inkblot-semantic-color-background-primary)]",p),children:[tt("div",{className:"absolute inset-0 overflow-hidden",children:[z("div",{className:"absolute left-1/4 top-1/4 h-96 w-96 rounded-full bg-[var(--inkblot-semantic-color-interactive-primary)]/5 blur-[120px]"}),z("div",{className:"absolute bottom-1/4 right-1/4 h-96 w-96 rounded-full bg-[var(--inkblot-semantic-color-status-warning)]/5 blur-[120px]"})]}),tt("div",{className:"relative w-full max-w-lg px-6",children:[tt("header",{className:"mb-12 flex items-center justify-center gap-2",children:[z("span",{className:"flex h-10 w-10 items-center justify-center rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-interactive-primary)]",children:z(Np,{className:"h-5 w-5 text-[var(--inkblot-semantic-color-text-inverse)]"})}),z("span",{className:"text-lg font-semibold tracking-tight text-[var(--inkblot-semantic-color-text-primary)]",children:"Citron OS"})]}),z("div",{className:"mb-10 flex gap-1",children:e.map((S,B)=>z("span",{className:o("h-0.5 flex-1 rounded-full",B<x?"bg-[var(--inkblot-semantic-color-interactive-primary)]":B===x?"bg-[var(--inkblot-semantic-color-interactive-primary)]/60":"bg-[var(--inkblot-semantic-color-background-tertiary)]")},S.id))}),tt("div",{className:"space-y-6",children:[tt("div",{children:[z("div",{className:"mb-4 flex h-10 w-10 items-center justify-center rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-interactive-secondary)]",children:z(T.icon,{className:"h-5 w-5 text-[var(--inkblot-semantic-color-text-primary)]"})}),z("h2",{className:"text-xl font-semibold tracking-tight text-[var(--inkblot-semantic-color-text-primary)]",children:T.question}),z("p",{className:"mt-1 text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",children:T.subtitle})]}),T.type==="input"?z("input",{autoFocus:!0,value:h||"",onChange:S=>M(T.field,S.target.value),placeholder:T.placeholder,onKeyDown:S=>{S.key==="Enter"&&m&&A()},className:"w-full rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-5 py-3.5 text-sm text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)] outline-none"}):null,T.type==="select"?z("div",{className:"grid grid-cols-2 gap-2",children:T.options?.map(S=>z("button",{type:"button",onClick:()=>M(T.field,S.value),className:o("rounded-[var(--inkblot-radius-lg)] border px-4 py-3 text-left text-sm transition-colors duration-[var(--inkblot-duration-fast)]",h===S.value?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)]/10 text-[var(--inkblot-semantic-color-text-primary)]":"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-tertiary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]"),children:S.label},S.value))}):null,T.type==="multi-select"?z("div",{className:"grid grid-cols-2 gap-2",children:T.options?.map(S=>{let B=h.includes(S.value);return tt("button",{type:"button",onClick:()=>F(T.field,S.value),className:o("flex items-center gap-2 rounded-[var(--inkblot-radius-lg)] border px-4 py-3 text-left text-sm transition-colors duration-[var(--inkblot-duration-fast)]",B?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)]/10 text-[var(--inkblot-semantic-color-text-primary)]":"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-tertiary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]"),children:[z("span",{className:o("flex h-4 w-4 shrink-0 items-center justify-center rounded-[var(--inkblot-radius-sm)] border",B?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)]":"border-[var(--inkblot-semantic-color-border-default)]"),children:B?z(hp,{className:"h-2.5 w-2.5 text-[var(--inkblot-semantic-color-text-inverse)]"}):null}),S.label]},S.value)})}):null]}),tt("footer",{className:"mt-10 flex items-center justify-between",children:[tt("button",{type:"button",onClick:P,disabled:x===0,className:"flex items-center gap-1.5 rounded-[var(--inkblot-radius-md)] px-4 py-2 text-xs text-[var(--inkblot-semantic-color-text-tertiary)] transition-opacity duration-[var(--inkblot-duration-fast)] disabled:opacity-0",children:[z(fp,{className:"h-3 w-3"}),"Back"]}),tt("div",{className:"flex items-center gap-3",children:[!k&&d?z("button",{type:"button",onClick:l??A,className:"text-xs text-[var(--inkblot-semantic-color-text-tertiary)]",children:"Skip"}):null,z("button",{type:"button",onClick:A,disabled:!m,className:"flex items-center gap-2 rounded-[var(--inkblot-radius-lg)] bg-[var(--inkblot-semantic-color-interactive-primary)] px-5 py-2.5 text-xs font-medium text-[var(--inkblot-semantic-color-text-inverse)] transition-opacity duration-[var(--inkblot-duration-fast)] disabled:opacity-40",children:k?tt(An,{children:[z(Tp,{className:"h-3 w-3"}),"Launch Citron OS"]}):tt(An,{children:["Continue",z(kp,{className:"h-3 w-3"})]})})]})]})]})]})}import{ChevronLeft as Sp,ChevronRight as Ep}from"lucide-react";import{jsx as ye,jsxs as Lp}from"react/jsx-runtime";function Ip({page:t,totalPages:e,onPageChange:r,className:a}){let i=Array.from({length:e},(n,s)=>s+1);return Lp("nav",{"aria-label":"Pagination",className:o("flex items-center gap-[var(--inkblot-spacing-2)]",a),children:[ye("button",{type:"button","aria-label":"Previous page",disabled:t<=1,onClick:()=>r(Math.max(t-1,1)),className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] px-[var(--inkblot-spacing-3)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:pointer-events-none"),children:ye(Sp,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})}),i.map(n=>{let s=n===t;return ye("button",{type:"button",onClick:()=>r(n),"aria-current":s?"page":void 0,className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] min-w-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)]","[font:var(--inkblot-semantic-typography-body-medium)]",s?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]"),children:n},`page-${n}`)}),ye("button",{type:"button","aria-label":"Next page",disabled:t>=e,onClick:()=>r(Math.min(t+1,e)),className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] px-[var(--inkblot-spacing-3)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)] disabled:opacity-[var(--inkblot-opacity-disabled)] disabled:pointer-events-none"),children:ye(Ep,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})})]})}import{createContext as Rp,forwardRef as ho,useCallback as Ap,useContext as Dp,useEffect as Hp,useMemo as Bp,useRef as Op,useState as Vp}from"react";import{jsx as xe}from"react/jsx-runtime";var Dn=Rp(null);function No(){let t=Dp(Dn);if(!t)throw new Error("Popover components must be used within Popover");return t}function zp({children:t,open:e,defaultOpen:r=!1,onOpenChange:a}){let[i,n]=Vp(r),s=Op(null),c=e!==void 0,l=c?e:i,d=Ap(u=>{c||n(u),a?.(u)},[c,a]);Hp(()=>{if(!l)return;let u=b=>{let g=b.target;g&&s.current&&!s.current.contains(g)&&d(!1)},v=b=>{b.key==="Escape"&&d(!1)};return window.addEventListener("pointerdown",u),window.addEventListener("keydown",v),()=>{window.removeEventListener("pointerdown",u),window.removeEventListener("keydown",v)}},[l,d]);let p=Bp(()=>({open:l,setOpen:d,containerRef:s}),[l,d]);return xe(Dn.Provider,{value:p,children:xe("div",{ref:s,className:"relative inline-flex",children:t})})}var Hn=ho(({className:t,type:e="button",onClick:r,...a},i)=>{let{open:n,setOpen:s}=No();return xe("button",{ref:i,type:e,"aria-haspopup":"dialog","aria-expanded":n,onClick:c=>{r?.(c),c.defaultPrevented||s(!n)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] px-[var(--inkblot-spacing-4)] py-[var(--inkblot-spacing-2)] text-[var(--inkblot-semantic-color-text-primary)]","hover:bg-[var(--inkblot-semantic-color-interactive-secondary-hover)]","[font:var(--inkblot-semantic-typography-body-medium)]",t),...a})});Hn.displayName="PopoverTrigger";var Bn=ho(({className:t,...e},r)=>{let{open:a}=No();return a?xe("div",{ref:r,role:"dialog",className:o("absolute left-0 top-[calc(100%+var(--inkblot-spacing-2))] z-40 min-w-[calc(var(--inkblot-size-touch-target-min)*4)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]","bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-4)] shadow-[var(--inkblot-shadow-md)]",t),...e}):null});Bn.displayName="PopoverContent";var On=ho(({className:t,type:e="button",onClick:r,...a},i)=>{let{setOpen:n}=No();return xe("button",{ref:i,type:e,onClick:s=>{r?.(s),s.defaultPrevented||n(!1)},className:o("inline-flex min-h-[var(--inkblot-size-touch-target-min)] items-center justify-center rounded-[var(--inkblot-radius-md)] px-[var(--inkblot-spacing-3)] py-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-interactive-secondary)] text-[var(--inkblot-semantic-color-text-primary)]",t),...a})});On.displayName="PopoverClose";import{forwardRef as Fp}from"react";import{jsx as Co,jsxs as Gp}from"react/jsx-runtime";var Vn=Fp(({className:t,value:e,max:r=100,showValueLabel:a=!1,...i},n)=>{let s=Math.max(0,Math.min(e/r,1)),c=`${Math.round(s*100)}%`;return Gp("div",{ref:n,className:o("grid gap-[var(--inkblot-spacing-2)]",t),...i,children:[Co("div",{className:"h-[var(--inkblot-spacing-2)] overflow-hidden rounded-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-background-secondary)]",children:Co("div",{className:"h-full rounded-[var(--inkblot-radius-full)] bg-[var(--inkblot-semantic-color-interactive-primary)] transition-[width] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)]",style:{width:c}})}),a?Co("p",{className:"text-[var(--inkblot-semantic-color-text-secondary)] [font:var(--inkblot-semantic-typography-body-small)]",children:c}):null]})});Vn.displayName="Progress";import{forwardRef as Fn,useState as Wp}from"react";import{jsx as he,jsxs as zn}from"react/jsx-runtime";var Gn=Fn(({className:t,options:e,value:r,defaultValue:a,onValueChange:i,name:n="radio-group",...s},c)=>{let[l,d]=Wp(a??""),p=r!==void 0,u=p?r:l,v=b=>{p||d(b),i?.(b)};return he("div",{ref:c,role:"radiogroup",className:o("grid gap-[var(--inkblot-spacing-2)]",t),...s,children:e.map(b=>zn("label",{className:o("flex cursor-pointer items-start gap-[var(--inkblot-spacing-3)] rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] p-[var(--inkblot-spacing-3)]","bg-[var(--inkblot-semantic-color-background-primary)] hover:bg-[var(--inkblot-semantic-color-background-secondary)]",b.disabled&&"pointer-events-none opacity-[var(--inkblot-opacity-disabled)]"),children:[he(wo,{type:"radio",name:n,value:b.value,checked:u===b.value,disabled:b.disabled,onChange:()=>v(b.value)}),zn("span",{className:"grid gap-[var(--inkblot-spacing-1)]",children:[he("span",{className:"text-[var(--inkblot-semantic-color-text-primary)] [font:var(--inkblot-semantic-typography-body-medium)]",children:b.label}),b.description?he("span",{className:"text-[var(--inkblot-semantic-color-text-secondary)] [font:var(--inkblot-semantic-typography-body-small)]",children:b.description}):null]})]},b.value))})});Gn.displayName="RadioGroup";var wo=Fn(({className:t,...e},r)=>he("input",{ref:r,className:o("mt-[var(--inkblot-spacing-1)] h-[var(--inkblot-spacing-4)] w-[var(--inkblot-spacing-4)] border-[var(--inkblot-semantic-color-border-default)] text-[var(--inkblot-semantic-color-interactive-primary)]",t),...e}));wo.displayName="RadioGroupItem";import{useMemo as Kp,useState as $p}from"react";import{GripVertical as _p,GripHorizontal as Up}from"lucide-react";import{jsx as Qt,jsxs as qp}from"react/jsx-runtime";function jp({primary:t,secondary:e,direction:r="horizontal",defaultPrimarySize:a=50,minPrimarySize:i=20,minSecondarySize:n=20,className:s}){let[c,l]=$p(a),d=r==="horizontal",p=Kp(()=>d?{gridTemplateColumns:`${c}fr auto ${100-c}fr`}:{gridTemplateRows:`${c}fr auto ${100-c}fr`},[d,c]),u=(v,b)=>{let g=b.getBoundingClientRect(),N=d?(v.x-g.left)/g.width*100:(v.y-g.top)/g.height*100,w=100-n,x=Math.min(w,Math.max(i,N));l(x)};return qp("div",{className:o("grid h-full w-full overflow-hidden rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)]",s),style:p,children:[Qt("div",{className:"min-h-0 min-w-0 overflow-auto p-[var(--inkblot-spacing-3)]",children:t}),Qt("div",{className:o(d?"w-[var(--inkblot-spacing-2)]":"h-[var(--inkblot-spacing-2)]","bg-[var(--inkblot-semantic-color-border-default)]"),children:Qt("button",{type:"button","aria-label":"Resize panels",className:o("flex h-full w-full items-center justify-center bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-secondary)]","hover:bg-[var(--inkblot-semantic-color-background-tertiary)] active:bg-[var(--inkblot-semantic-color-background-secondary)]"),onPointerDown:v=>{let b=v.currentTarget.closest("div")?.parentElement;if(!b)return;u({x:v.clientX,y:v.clientY},b);let g=w=>{u({x:w.clientX,y:w.clientY},b)},N=()=>{window.removeEventListener("pointermove",g),window.removeEventListener("pointerup",N)};window.addEventListener("pointermove",g),window.addEventListener("pointerup",N)},children:d?Qt(_p,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}}):Qt(Up,{style:{width:"var(--inkblot-spacing-4)",height:"var(--inkblot-spacing-4)"}})})}),Qt("div",{className:"min-h-0 min-w-0 overflow-auto p-[var(--inkblot-spacing-3)]",children:e})]})}import{forwardRef as Yp}from"react";import{jsx as Xp}from"react/jsx-runtime";var Wn=Yp(({className:t,maxHeight:e="var(--inkblot-size-touch-target-min)",...r},a)=>Xp("div",{ref:a,className:o("overflow-auto rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-primary)] p-[var(--inkblot-spacing-3)]",t),style:{maxHeight:e,...r.style},...r}));Wn.displayName="ScrollArea";import{ChevronDown as Zp}from"lucide-react";import{forwardRef as Jp}from"react";import{jsx as To,jsxs as Kn}from"react/jsx-runtime";var $n=Jp(({className:t,options:e,placeholder:r,error:a,disabled:i,...n},s)=>Kn("div",{className:"relative w-full",children:[Kn("select",{ref:s,disabled:i,"aria-invalid":a,className:o("min-h-[var(--inkblot-size-touch-target-min)] w-full appearance-none rounded-[var(--inkblot-radius-md)] border bg-[var(--inkblot-semantic-color-background-secondary)] px-4 py-2 pr-10 text-[var(--inkblot-semantic-color-text-primary)] transition-[border-color,box-shadow] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",a?"border-[var(--inkblot-semantic-color-status-error)] focus-visible:ring-[var(--inkblot-semantic-color-status-error)]":"border-[var(--inkblot-semantic-color-border-default)] hover:border-[var(--inkblot-semantic-color-border-strong)]",t),...n,children:[r?To("option",{value:"",disabled:!0,children:r}):null,e.map(c=>To("option",{value:c.value,disabled:c.disabled,children:c.label},c.value))]}),To(Zp,{"aria-hidden":!0,className:"pointer-events-none absolute right-3 top-1/2 size-4 -translate-y-1/2 text-[var(--inkblot-semantic-color-text-tertiary)]"})]}));$n.displayName="Select";import{forwardRef as Qp}from"react";import{jsx as tb}from"react/jsx-runtime";var _n=Qp(({className:t,orientation:e="horizontal",decorative:r=!0,...a},i)=>tb("div",{ref:i,role:r?"none":"separator","aria-orientation":e,className:o("shrink-0 bg-[var(--inkblot-semantic-color-border-default)]",e==="horizontal"?"h-px w-full":"h-full w-px",t),...a}));_n.displayName="Separator";import{X as eb}from"lucide-react";import{useEffect as rb}from"react";import{jsx as te,jsxs as gr}from"react/jsx-runtime";var ob={top:"inset-x-0 top-0 border-b rounded-b-[var(--inkblot-radius-lg)]",right:"inset-y-0 right-0 h-full w-full max-w-[420px] border-l",bottom:"inset-x-0 bottom-0 border-t rounded-t-[var(--inkblot-radius-lg)]",left:"inset-y-0 left-0 h-full w-full max-w-[420px] border-r"};function ab({open:t,onOpenChange:e,side:r="right",title:a,description:i,showCloseButton:n=!0,className:s,overlayClassName:c,children:l,...d}){return rb(()=>{if(!t)return;let p=u=>{u.key==="Escape"&&e?.(!1)};return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[t,e]),t?gr("div",{className:"fixed inset-0 z-50",children:[te("button",{type:"button","aria-label":"Cerrar panel",onClick:()=>e?.(!1),className:o("absolute inset-0 bg-[var(--inkblot-semantic-color-background-primary)]/70",c)}),gr("section",{role:"dialog","aria-modal":"true",className:o("absolute bg-[var(--inkblot-semantic-color-background-secondary)] p-5 text-[var(--inkblot-semantic-color-text-primary)] shadow-lg border-[var(--inkblot-semantic-color-border-default)]",ob[r],s),...d,children:[(a||i||n)&&gr("header",{className:"mb-4 flex items-start justify-between gap-4",children:[gr("div",{children:[a?te("h3",{className:"text-base font-semibold",children:a}):null,i?te("p",{className:"mt-1 text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:i}):null]}),n?te("button",{type:"button","aria-label":"Cerrar",onClick:()=>e?.(!1),className:"inline-flex size-9 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] text-[var(--inkblot-semantic-color-text-secondary)] transition-colors hover:text-[var(--inkblot-semantic-color-text-primary)]",children:te(eb,{className:"size-4"})}):null]}),te("div",{children:l})]})]}):null}import{PanelLeftClose as nb,PanelLeftOpen as ib}from"lucide-react";import{Fragment as lb,jsx as mt,jsxs as fr}from"react/jsx-runtime";function sb({items:t,collapsed:e=!1,onCollapsedChange:r,header:a,footer:i,className:n,...s}){return fr("aside",{className:o("flex h-full flex-col border-r border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-3 transition-[width] duration-[var(--inkblot-duration-fast)]",e?"w-[76px]":"w-[260px]",n),...s,children:[fr("div",{className:"mb-3 flex items-center justify-between gap-2",children:[mt("div",{className:o("truncate text-sm font-semibold",e&&"sr-only"),children:a}),mt("button",{type:"button","aria-label":e?"Expandir sidebar":"Colapsar sidebar",onClick:()=>r?.(!e),className:"inline-flex size-9 items-center justify-center rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] text-[var(--inkblot-semantic-color-text-secondary)] hover:text-[var(--inkblot-semantic-color-text-primary)]",children:e?mt(ib,{className:"size-4"}):mt(nb,{className:"size-4"})})]}),mt("nav",{className:"flex flex-1 flex-col gap-1",children:t.map(c=>{let l=c.icon;return fr("button",{type:"button",disabled:c.disabled,onClick:c.onClick,className:o("flex min-h-[var(--inkblot-size-touch-target-min)] items-center gap-3 rounded-[var(--inkblot-radius-md)] px-3 py-2 text-sm transition-colors",c.active?"bg-[var(--inkblot-semantic-color-interactive-primary)] text-[var(--inkblot-semantic-color-text-inverse)]":"text-[var(--inkblot-semantic-color-text-secondary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)] hover:text-[var(--inkblot-semantic-color-text-primary)]",c.disabled&&"cursor-not-allowed opacity-[var(--inkblot-opacity-disabled)]"),children:[l?mt(l,{className:"size-4 shrink-0"}):null,e?null:fr(lb,{children:[mt("span",{className:"truncate",children:c.label}),c.badge?mt("span",{className:"ml-auto",children:c.badge}):null]})]},c.id)})}),i?mt("div",{className:o("mt-3 border-t border-[var(--inkblot-semantic-color-border-default)] pt-3",e&&"sr-only"),children:i}):null]})}import{forwardRef as cb,useMemo as db}from"react";import{jsx as kr,jsxs as Un}from"react/jsx-runtime";var jn=cb(({className:t,value:e,defaultValue:r,min:a=0,max:i=100,step:n=1,disabled:s,showValue:c=!0,onValueChange:l,...d},p)=>{let u=e??r??a,v=db(()=>i<=a?0:(u-a)/(i-a)*100,[u,a,i]);return Un("div",{className:o("w-full",t),children:[Un("div",{className:"mb-2 flex items-center justify-between text-sm",children:[kr("span",{className:"text-[var(--inkblot-semantic-color-text-secondary)]",children:a}),c?kr("span",{className:"font-medium text-[var(--inkblot-semantic-color-text-primary)]",children:u}):null,kr("span",{className:"text-[var(--inkblot-semantic-color-text-secondary)]",children:i})]}),kr("input",{ref:p,type:"range",value:e,defaultValue:r,min:a,max:i,step:n,disabled:s,onChange:b=>l?.(Number(b.target.value)),className:"h-2 w-full cursor-pointer appearance-none rounded-full bg-[var(--inkblot-semantic-color-background-tertiary)] disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)] [&::-webkit-slider-runnable-track]:h-2 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-transparent [&::-webkit-slider-thumb]:mt-[-4px] [&::-webkit-slider-thumb]:size-4 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border [&::-webkit-slider-thumb]:border-[var(--inkblot-semantic-color-border-default)] [&::-webkit-slider-thumb]:bg-[var(--inkblot-semantic-color-background-secondary)] [&::-webkit-slider-thumb]:shadow-sm [&::-moz-range-track]:h-2 [&::-moz-range-track]:rounded-full [&::-moz-range-track]:bg-transparent [&::-moz-range-thumb]:size-4 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border [&::-moz-range-thumb]:border-[var(--inkblot-semantic-color-border-default)] [&::-moz-range-thumb]:bg-[var(--inkblot-semantic-color-background-secondary)]",style:{background:`linear-gradient(to right, var(--inkblot-semantic-color-interactive-primary) 0%, var(--inkblot-semantic-color-interactive-primary) ${v}%, var(--inkblot-semantic-color-background-tertiary) ${v}%, var(--inkblot-semantic-color-background-tertiary) 100%)`},...d})]})});jn.displayName="Slider";import{useMemo as yb}from"react";import{AlertTriangle as mb,CheckCircle2 as pb,CircleX as bb,Info as ub,X as vb}from"lucide-react";import{jsx as at,jsxs as qn}from"react/jsx-runtime";var gb={info:"border-[var(--inkblot-semantic-color-status-info)]",success:"border-[var(--inkblot-semantic-color-status-success)]",warning:"border-[var(--inkblot-semantic-color-status-warning)]",error:"border-[var(--inkblot-semantic-color-status-error)]"},fb={info:at(ub,{className:"size-4"}),success:at(pb,{className:"size-4"}),warning:at(mb,{className:"size-4"}),error:at(bb,{className:"size-4"})};function Po({title:t,description:e,variant:r="info",action:a,onClose:i,className:n,...s}){return at("div",{role:"status",className:o("w-full rounded-[var(--inkblot-radius-lg)] border-l-4 border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-3 text-[var(--inkblot-semantic-color-text-primary)] shadow-sm",gb[r],n),...s,children:qn("div",{className:"flex items-start gap-3",children:[at("span",{className:"mt-0.5 text-[var(--inkblot-semantic-color-text-secondary)]",children:fb[r]}),qn("div",{className:"min-w-0 flex-1",children:[at("p",{className:"text-sm font-semibold",children:t}),e?at("p",{className:"mt-1 text-sm text-[var(--inkblot-semantic-color-text-secondary)]",children:e}):null,a?at("button",{type:"button",...a,className:o("mt-2 rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] px-2 py-1 text-xs font-medium text-[var(--inkblot-semantic-color-text-primary)] hover:bg-[var(--inkblot-semantic-color-background-tertiary)]",a.className),children:a.label}):null]}),i?at("button",{type:"button","aria-label":"Cerrar notificaci\xF3n",onClick:i,className:"inline-flex size-8 items-center justify-center rounded-[var(--inkblot-radius-md)] text-[var(--inkblot-semantic-color-text-tertiary)] hover:text-[var(--inkblot-semantic-color-text-primary)]",children:at(vb,{className:"size-4"})}):null]})})}import{jsx as Yn}from"react/jsx-runtime";var kb={"top-left":"top-4 left-4","top-right":"top-4 right-4","bottom-left":"bottom-4 left-4","bottom-right":"bottom-4 right-4"};function Mo({toasts:t,position:e="bottom-right",onDismiss:r,className:a,...i}){return Yn("div",{className:o("fixed z-50 flex w-full max-w-[360px] flex-col gap-2",kb[e],a),...i,children:t.map(n=>Yn(Po,{...n,onClose:()=>r?.(n.id)},n.id))})}import{jsx as hb}from"react/jsx-runtime";function xb({toasts:t,maxVisible:e=3,position:r="bottom-right",onDismiss:a,...i}){let n=yb(()=>t.slice(0,e),[t,e]);return hb(Mo,{toasts:n,position:r,onDismiss:a,...i})}import{forwardRef as Nb,useState as Cb}from"react";import{jsx as Xn}from"react/jsx-runtime";var Zn=Nb(({checked:t,defaultChecked:e=!1,onCheckedChange:r,disabled:a,className:i,...n},s)=>{let[c,l]=Cb(e),d=t??c;return Xn("button",{ref:s,type:"button",role:"switch","aria-checked":d,disabled:a,onClick:()=>{if(a)return;let u=!d;t===void 0&&l(u),r?.(u)},className:o("relative inline-flex h-7 w-12 items-center rounded-full border transition-colors duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",d?"border-[var(--inkblot-semantic-color-interactive-primary)] bg-[var(--inkblot-semantic-color-interactive-primary)]":"border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-tertiary)]",i),...n,children:Xn("span",{className:o("inline-block size-5 rounded-full bg-[var(--inkblot-semantic-color-background-secondary)] transition-transform duration-[var(--inkblot-duration-fast)]",d?"translate-x-6":"translate-x-1")})})});Zn.displayName="Switch";import{forwardRef as Mt}from"react";import{ArrowDown as wb,ArrowUp as Tb,ArrowUpDown as Pb}from"lucide-react";import{jsx as j,jsxs as ii}from"react/jsx-runtime";var Jn=Mt(({className:t,...e},r)=>j("div",{className:"w-full overflow-x-auto rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)]",children:j("table",{ref:r,className:o("w-full border-collapse bg-[var(--inkblot-semantic-color-background-secondary)]",t),...e})})),Qn=Mt(({className:t,...e},r)=>j("thead",{ref:r,className:o("bg-[var(--inkblot-semantic-color-background-tertiary)]",t),...e})),ti=Mt(({className:t,...e},r)=>j("tbody",{ref:r,className:o(t),...e})),ei=Mt(({className:t,...e},r)=>j("tr",{ref:r,className:o("border-b border-[var(--inkblot-semantic-color-border-default)] text-[var(--inkblot-semantic-color-text-primary)] transition-colors hover:bg-[var(--inkblot-semantic-color-background-tertiary)]",t),...e})),ri=Mt(({className:t,children:e,sortable:r=!1,sortDirection:a,onSort:i,sortButtonProps:n,...s},c)=>j("th",{ref:c,className:o("px-4 py-3 text-left text-sm font-semibold text-[var(--inkblot-semantic-color-text-secondary)]",t),...s,children:r?ii("button",{type:"button",onClick:i,className:"inline-flex items-center gap-[var(--inkblot-spacing-1)] rounded-[var(--inkblot-radius-sm)] text-inherit transition-colors duration-[var(--inkblot-duration-fast)] hover:text-[var(--inkblot-semantic-color-text-primary)]",...n,children:[e,a==="asc"?j(Tb,{className:"h-3.5 w-3.5","aria-hidden":!0}):a==="desc"?j(wb,{className:"h-3.5 w-3.5","aria-hidden":!0}):j(Pb,{className:"h-3.5 w-3.5","aria-hidden":!0})]}):e})),oi=Mt(({className:t,...e},r)=>j("td",{ref:r,className:o("px-4 py-3 text-sm",t),...e})),ai=Mt(({className:t,...e},r)=>j("caption",{ref:r,className:o("p-3 text-left text-sm text-[var(--inkblot-semantic-color-text-tertiary)]",t),...e})),ni=Mt(({className:t,colSpan:e,title:r="No data available",description:a="Adjust filters or add records to populate this table.",...i},n)=>j("tr",{children:j("td",{ref:n,colSpan:e,className:o("px-4 py-10 text-center align-middle","text-[var(--inkblot-semantic-color-text-secondary)]",t),...i,children:ii("div",{className:"mx-auto flex max-w-[420px] flex-col gap-[var(--inkblot-spacing-1)]",children:[j("span",{className:"[font:var(--inkblot-semantic-typography-body-large-bold)] text-[var(--inkblot-semantic-color-text-primary)]",children:r}),j("span",{className:"[font:var(--inkblot-semantic-typography-body-small)]",children:a})]})})}));Jn.displayName="Table";Qn.displayName="TableHeader";ti.displayName="TableBody";ei.displayName="TableRow";ri.displayName="TableHead";oi.displayName="TableCell";ai.displayName="TableCaption";ni.displayName="TableEmptyState";import{useMemo as Mb,useState as Sb}from"react";import{jsx as So,jsxs as Ib}from"react/jsx-runtime";function Eb({items:t,value:e,defaultValue:r,onValueChange:a,fullWidth:i=!1,className:n,...s}){let c=r??t.find(b=>!b.disabled)?.id??"",[l,d]=Sb(c),p=e??l,u=Mb(()=>t.find(b=>b.id===p)??t.find(b=>!b.disabled),[p,t]),v=b=>{e===void 0&&d(b),a?.(b)};return Ib("div",{className:o("w-full",n),...s,children:[So("div",{role:"tablist",className:"inline-flex rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-tertiary)] p-1",children:t.map(b=>{let g=b.id===u?.id;return So("button",{type:"button",role:"tab","aria-selected":g,disabled:b.disabled,onClick:()=>v(b.id),className:o("min-h-[var(--inkblot-size-touch-target-min)] rounded-[var(--inkblot-radius-md)] px-4 py-2 text-sm font-medium transition-colors disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",i&&"flex-1",g?"bg-[var(--inkblot-semantic-color-background-secondary)] text-[var(--inkblot-semantic-color-text-primary)]":"text-[var(--inkblot-semantic-color-text-secondary)] hover:text-[var(--inkblot-semantic-color-text-primary)]"),children:b.label},b.id)})}),So("div",{className:"mt-3 rounded-[var(--inkblot-radius-lg)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] p-4 text-[var(--inkblot-semantic-color-text-primary)]",children:u?.content})]})}import{forwardRef as Lb}from"react";import{jsx as Ab}from"react/jsx-runtime";var Rb={none:"resize-none",vertical:"resize-y",horizontal:"resize-x",both:"resize"},si=Lb(({className:t,error:e,disabled:r,resize:a="vertical",...i},n)=>Ab("textarea",{ref:n,disabled:r,"aria-invalid":e,className:o("min-h-[120px] w-full rounded-[var(--inkblot-radius-md)] border bg-[var(--inkblot-semantic-color-background-secondary)] px-4 py-3 text-[var(--inkblot-semantic-color-text-primary)] placeholder:text-[var(--inkblot-semantic-color-text-tertiary)] transition-[border-color,box-shadow] duration-[var(--inkblot-duration-fast)] ease-[var(--inkblot-easing-default)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--inkblot-semantic-color-border-focus)] focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-[var(--inkblot-opacity-disabled)]",Rb[a],e?"border-[var(--inkblot-semantic-color-status-error)] focus-visible:ring-[var(--inkblot-semantic-color-status-error)]":"border-[var(--inkblot-semantic-color-border-default)] hover:border-[var(--inkblot-semantic-color-border-strong)]",t),...i}));si.displayName="Textarea";import{useState as Db}from"react";import{jsx as Ob,jsxs as Vb}from"react/jsx-runtime";var Hb={top:"bottom-full left-1/2 mb-2 -translate-x-1/2",right:"left-full top-1/2 ml-2 -translate-y-1/2",bottom:"left-1/2 top-full mt-2 -translate-x-1/2",left:"right-full top-1/2 mr-2 -translate-y-1/2"};function Bb({content:t,side:e="top",open:r,defaultOpen:a=!1,onOpenChange:i,disabled:n=!1,className:s,children:c,...l}){let[d,p]=Db(a),u=r??d,v=b=>{r===void 0&&p(b),i?.(b)};return Vb("span",{className:o("relative inline-flex",s),onMouseEnter:()=>!n&&v(!0),onMouseLeave:()=>v(!1),onFocus:()=>!n&&v(!0),onBlur:()=>v(!1),...l,children:[c,u&&!n?Ob("span",{role:"tooltip",className:o("pointer-events-none absolute z-50 rounded-[var(--inkblot-radius-md)] border border-[var(--inkblot-semantic-color-border-default)] bg-[var(--inkblot-semantic-color-background-secondary)] px-3 py-2 text-xs text-[var(--inkblot-semantic-color-text-primary)] shadow-sm",Hb[e]),children:t}):null]})}import{forwardRef as zb}from"react";import{NavLink as Fb}from"react-router-dom";import{jsx as Gb}from"react/jsx-runtime";var Eo=zb(({className:t,activeClassName:e,pendingClassName:r,...a},i)=>Gb(Fb,{ref:i,className:({isActive:n,isPending:s})=>o(t,n&&e,s&&r),...a}));Eo.displayName="NavLinkRouter";var GP="var(--inkblot-semantic-color-background-primary)",WP="var(--inkblot-semantic-color-background-secondary)",KP="var(--inkblot-semantic-color-border-default)",$P="var(--inkblot-semantic-color-text-primary)",_P="var(--inkblot-semantic-color-text-secondary)",UP="var(--inkblot-semantic-color-interactive-primary)",jP="var(--inkblot-semantic-color-interactive-secondary)",qP="var(--inkblot-semantic-color-interactive-secondary-hover)";export{oe as AIComposeInput,gx as AIEmailGenerator,Zl as Accordion,hr as ActionButtons,qe as ActivityStream,ac as Alert,sc as AlertDialog,ah as AppLayout,Xo as AppNavigationRail,Na as AppSidebar,Zc as AspectRatio,Or as Avatar,td as Badge,od as Breadcrumb,ae as Button,nr as CITRON_THEME_STORAGE_KEY,pd as Calendar,Ie as CampaignTable,Zr as CanvasProvider,bd as Card,fd as CardContent,gd as CardDescription,kd as CardFooter,ud as CardHeader,vd as CardTitle,Nd as Carousel,Cd as Chart,Zo as ChatFeed,Pd as Checkbox,Da as CircularScore,Id as Collapsible,Dd as Command,Qo as CommandBar,CN as CommandCanvas,Vt as CommandInterface,Wd as ContextMenu,Yd as Dialog,mo as DialogClose,Ka as DialogContent,Jd as DialogDescription,Qd as DialogFooter,Xd as DialogHeader,Zd as DialogTitle,Wa as DialogTrigger,im as Drawer,Ya as DrawerClose,qa as DrawerContent,cm as DrawerDescription,dm as DrawerFooter,sm as DrawerHeader,lm as DrawerTitle,ja as DrawerTrigger,xm as DropdownMenu,Ja as DropdownMenuContent,Qa as DropdownMenuItem,hm as DropdownMenuSeparator,Za as DropdownMenuTrigger,iC as EmailBlockEditor,da as EmailCampaignsView,Ee as EmailComposeActionButtons,Ae as EmailTemplatesSection,De as EntityCard,Ro as EntityCommandCard,He as ErrorBoundary,Yr as EventFeed,Oe as EventRow,Ho as EventStreamFeed,ta as EventStreamSidebar,sn as Form,Dm as FormActions,Am as FormField,yC as GraphView,MC as GuidedTour,Qm as HoverCard,bn as HoverCardContent,pn as HoverCardTrigger,Et as Input,vn as InputOtp,UC as IntelligenceCard,ea as IntelligenceLab,Ve as IntelligenceScoreCard,gn as Label,ra as MainShell,Cn as Menubar,Mn as MenubarCloseZone,Tn as MenubarContent,Pn as MenubarItem,pp as MenubarMenu,bp as MenubarSeparator,wn as MenubarTrigger,Bo as MetricComparisonList,Fe as ModuleContainer,D as ModuleErrorBoundary,Ft as ModuleSkeleton,jr as NavLink,Eo as NavLinkRouter,up as NavigationMenu,Wo as OSNavigationRail,yw as OnboardingWizard,We as PageErrorFallback,Gt as PageHeader,Wt as PageHeaderActionButton,Ip as Pagination,zp as Popover,On as PopoverClose,Bn as PopoverContent,Hn as PopoverTrigger,Vn as Progress,Gn as RadioGroup,wo as RadioGroupItem,jp as Resizable,dr as RightPanel,zo as RouteWithErrorBoundary,Wn as ScrollArea,gt as SearchBar,$n as Select,_n as Separator,ab as Sheet,sb as Sidebar,vt as Skeleton,jn as Slider,xb as Sonner,Go as StatCardGrid,Ke as StatCards,$o as StatCardsWithChart,Be as StatusBadge,Zn as Switch,$e as TabSystem,Jn as Table,ti as TableBody,ai as TableCaption,oi as TableCell,ni as TableEmptyState,ri as TableHead,Qn as TableHeader,ei as TableRow,Eb as Tabs,Je as TaskCreateForm,_e as TaskItem,or as TaskKanbanBoard,tr as TaskKanbanCard,er as TaskKanbanColumn,Ue as TaskList,ia as TasksView,Le as TemplateCard,si as Textarea,va as ThemeProvider,sr as ThemeSwitcherButton,Po as Toast,Mo as Toaster,Hr as Toggle,Br as ToggleGroup,Bb as Tooltip,GP as semanticBackgroundPrimary,WP as semanticBackgroundSecondary,KP as semanticBorderDefault,UP as semanticInteractivePrimary,jP as semanticInteractiveSecondary,qP as semanticInteractiveSecondaryHover,$P as semanticTextPrimary,_P as semanticTextSecondary,qc as useCanvas,ir as useTheme};