{"name":"Horus Hub: Design System","brandBookUrl":"https://brand-book.horushub.com.br","publicBase":"https://thoth-orchestrator.horushub.com.br","kitUrl":"https://thoth-orchestrator.horushub.com.br/design-system/kit","kitPageFull":"https://thoth-orchestrator.horushub.com.br/design-system/kit/ui_kits/design-system/index.html","kitPagesByProduct":{"estagiario":"https://thoth-orchestrator.horushub.com.br/design-system/kit/ui_kits/design-system-estagiario/index.html","office":"https://thoth-orchestrator.horushub.com.br/design-system/kit/ui_kits/design-system-horus-office/index.html","jurislab":"https://thoth-orchestrator.horushub.com.br/design-system/kit/ui_kits/design-system-jurislab/index.html","advocacia":"https://thoth-orchestrator.horushub.com.br/design-system/kit/ui_kits/design-system-advocacia-com-ia/index.html","orchestrator":"https://thoth-orchestrator.horushub.com.br/design-system/kit/ui_kits/design-system-thoth-orchestrator/index.html"},"fonts":"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600;700;800&family=Source+Serif+4:opsz,wght@8..60,400;8..60,600&family=JetBrains+Mono:wght@400;500;600&display=swap","products":[{"key":"estagiario","scaleKey":"estagiario","name":"O Estagiário","artigo":"o","tagline":"Seu estagiário jurídico que nunca dorme.","kitPage":"https://thoth-orchestrator.horushub.com.br/design-system/kit/ui_kits/design-system-estagiario/index.html","hex":"#7c26d9","gradient":"linear-gradient(135deg, #7c26d9 0%, #a855f7 100%)","emblem":"https://thoth-orchestrator.horushub.com.br/design-system/emblems/estagiario.svg"},{"key":"hub","scaleKey":"hub","name":"Horus Hub","artigo":"o","tagline":"Inteligência jurídica que enxerga por você.","kitPage":null,"hex":"#3b82f6","gradient":"linear-gradient(135deg, #3b82f6 0%, #06b6d4 100%)","emblem":"https://thoth-orchestrator.horushub.com.br/design-system/emblems/hub.svg"},{"key":"office","scaleKey":"hub","name":"Horus Office","artigo":"o","tagline":"O escritório virtual do ecossistema.","kitPage":"https://thoth-orchestrator.horushub.com.br/design-system/kit/ui_kits/design-system-horus-office/index.html","hex":"#3b82f6","gradient":"var(--hp-grad-hub)","emblem":"https://thoth-orchestrator.horushub.com.br/design-system/emblems/office.svg"},{"key":"jurislab","scaleKey":"jurislab","name":"JurisLab","artigo":"o","tagline":"Peças jurídicas em minutos, não em madrugadas.","kitPage":"https://thoth-orchestrator.horushub.com.br/design-system/kit/ui_kits/design-system-jurislab/index.html","hex":"#06b6d4","gradient":"linear-gradient(135deg, #06b6d4 0%, #67e8f9 100%)","emblem":"https://thoth-orchestrator.horushub.com.br/design-system/emblems/jurislab.svg"},{"key":"advocacia","scaleKey":"advocacia","name":"Advocacia com IA","artigo":"a","tagline":"Marketing jurídico que capta no automático.","kitPage":"https://thoth-orchestrator.horushub.com.br/design-system/kit/ui_kits/design-system-advocacia-com-ia/index.html","hex":"#ec4899","gradient":"linear-gradient(135deg, #ec4899 0%, #f97316 100%)","emblem":"https://thoth-orchestrator.horushub.com.br/design-system/emblems/advocacia.svg"},{"key":"orchestrator","scaleKey":"orchestrator","name":"Orchestrator","artigo":"o","tagline":"O cockpit único do ecossistema Horus.","kitPage":"https://thoth-orchestrator.horushub.com.br/design-system/kit/ui_kits/design-system-thoth-orchestrator/index.html","hex":"#f97316","gradient":"linear-gradient(135deg, #f97316 0%, #facc15 100%)","emblem":"https://thoth-orchestrator.horushub.com.br/design-system/emblems/orchestrator.svg"}],"tokens":{"neutral":[{"name":"--hn-50","value":"#f4f4f7"},{"name":"--hn-100","value":"#e6e6ec"},{"name":"--hn-200","value":"#c9c9d2"},{"name":"--hn-300","value":"#9e9ea8"},{"name":"--hn-400","value":"#6b6b80"},{"name":"--hn-500","value":"#46465a"},{"name":"--hn-600","value":"#2e2e3c"},{"name":"--hn-700","value":"#222230"},{"name":"--hn-800","value":"#17171f"},{"name":"--hn-850","value":"#13131c"},{"name":"--hn-900","value":"#0f0f17"},{"name":"--hn-950","value":"#0a0a0f"}],"productScales":{"estagiario":[{"step":50,"value":"#f5f1f8"},{"step":100,"value":"#e1d5ed"},{"step":200,"value":"#cdb7e5"},{"step":300,"value":"#b996de"},{"step":400,"value":"#a573da"},{"step":500,"value":"#904ed9"},{"step":600,"value":"#7c26d9"},{"step":700,"value":"#631daf"},{"step":800,"value":"#4d1688"},{"step":900,"value":"#381062"}],"hub":[{"step":50,"value":"#f0f4f9"},{"step":100,"value":"#d8e2f3"},{"step":200,"value":"#bdd0ef"},{"step":300,"value":"#a0bded"},{"step":400,"value":"#81aaee"},{"step":500,"value":"#5f96f1"},{"step":600,"value":"#3b82f6"},{"step":700,"value":"#085fec"},{"step":800,"value":"#0749b7"},{"step":900,"value":"#053584"}],"office":[{"step":50,"value":"#f0f4f9"},{"step":100,"value":"#d8e2f3"},{"step":200,"value":"#bdd0ef"},{"step":300,"value":"#a0bded"},{"step":400,"value":"#81aaee"},{"step":500,"value":"#5f96f1"},{"step":600,"value":"#3b82f6"},{"step":700,"value":"#085fec"},{"step":800,"value":"#0749b7"},{"step":900,"value":"#053584"}],"jurislab":[{"step":50,"value":"#f0f8fa"},{"step":100,"value":"#ccebf0"},{"step":200,"value":"#a5e0ea"},{"step":300,"value":"#7ad8e8"},{"step":400,"value":"#4bd2ea"},{"step":500,"value":"#19cfee"},{"step":600,"value":"#06b6d4"},{"step":700,"value":"#0393ab"},{"step":800,"value":"#027285"},{"step":900,"value":"#025360"}],"advocacia":[{"step":50,"value":"#f9f1f5"},{"step":100,"value":"#f2dae6"},{"step":200,"value":"#ecc1d6"},{"step":300,"value":"#e9a6c7"},{"step":400,"value":"#e888b8"},{"step":500,"value":"#e969a8"},{"step":600,"value":"#ec4899"},{"step":700,"value":"#e1157a"},{"step":800,"value":"#af105f"},{"step":900,"value":"#7f0c45"}],"orchestrator":[{"step":50,"value":"#faf4f0"},{"step":100,"value":"#f2e0d3"},{"step":200,"value":"#eecbb3"},{"step":300,"value":"#ecb690"},{"step":400,"value":"#eea06a"},{"step":500,"value":"#f28a42"},{"step":600,"value":"#f97316"},{"step":700,"value":"#d55903"},{"step":800,"value":"#a54503"},{"step":900,"value":"#783202"}]},"functional":[{"name":"--hf-success","value":"#16a34a"},{"name":"--hf-warning","value":"#f97316"},{"name":"--hf-danger","value":"#ef4444"},{"name":"--hf-info","value":"#06b6d4"}],"gradients":[{"name":"--hp-grad-estagiario","value":"linear-gradient(135deg, #7c26d9 0%, #a855f7 100%)"},{"name":"--hp-grad-hub","value":"linear-gradient(135deg, #3b82f6 0%, #06b6d4 100%)"},{"name":"--hp-grad-jurislab","value":"linear-gradient(135deg, #06b6d4 0%, #67e8f9 100%)"},{"name":"--hp-grad-advocacia","value":"linear-gradient(135deg, #ec4899 0%, #f97316 100%)"},{"name":"--hp-grad-orchestrator","value":"linear-gradient(135deg, #f97316 0%, #facc15 100%)"},{"name":"--hp-grad-office","value":"var(--hp-grad-hub)"},{"name":"--hp-grad-cta","value":"linear-gradient(135deg, #7c26d9 0%, #3b82f6 100%)"},{"name":"--hp-grad-rainbow","value":"linear-gradient(90deg, #7c26d9 0%, #ec4899 28%, #f97316 52%, #06b6d4 78%, #3b82f6 100%)"},{"name":"--hp-grad-accent","value":"linear-gradient(135deg, var(--hp-estagiario) 0%, var(--hp-advocacia) 100%)"}],"glass":[{"name":"--hp-glass-bg","value":"rgba(15,15,23,0.6)"},{"name":"--hp-glass-border","value":"rgba(255,255,255,0.08)"},{"name":"--hp-glass-shadow","value":"0 8px 32px rgba(0,0,0,0.3)"},{"name":"--hp-blur","value":"10px"}],"semantic":[{"name":"--bg","value":"var(--hn-950)"},{"name":"--surface","value":"var(--hn-900)"},{"name":"--surface-raised","value":"var(--hn-800)"},{"name":"--border","value":"var(--hn-700)"},{"name":"--text","value":"#fafafa"},{"name":"--text-muted","value":"var(--hn-300)"}]},"foundations":{"type":{"families":[{"name":"--font-display","value":"'Space Grotesk', sans-serif"},{"name":"--font-sans","value":"'Inter', sans-serif"},{"name":"--font-serif","value":"'Source Serif 4', Georgia, serif"},{"name":"--font-mono","value":"'JetBrains Mono', monospace"}],"scale":[{"name":"--text-muted","value":"var(--hn-300)"},{"name":"--text-xs","value":"0.75rem"},{"name":"--text-sm","value":"0.875rem"},{"name":"--text-base","value":"1rem"},{"name":"--text-lg","value":"1.125rem"},{"name":"--text-xl","value":"1.25rem"},{"name":"--text-2xl","value":"1.5rem"},{"name":"--text-3xl","value":"1.875rem"},{"name":"--text-4xl","value":"2.25rem"},{"name":"--text-5xl","value":"3rem"},{"name":"--text-6xl","value":"3.75rem"},{"name":"--text-7xl","value":"4.5rem"}],"weights":[{"name":"--weight-normal","value":"400"},{"name":"--weight-medium","value":"500"},{"name":"--weight-semibold","value":"600"},{"name":"--weight-bold","value":"700"},{"name":"--weight-extrabold","value":"800"}],"leading":[{"name":"--leading-tight","value":"1.1"},{"name":"--leading-snug","value":"1.25"},{"name":"--leading-normal","value":"1.5"},{"name":"--leading-relaxed","value":"1.7"}],"tracking":[{"name":"--tracking-tight","value":"-0.02em"},{"name":"--tracking-normal","value":"0"},{"name":"--tracking-wide","value":"0.04em"},{"name":"--tracking-wider","value":"0.12em"}]},"spacing":[{"name":"--space-0","value":"0"},{"name":"--space-1","value":"0.25rem"},{"name":"--space-2","value":"0.5rem"},{"name":"--space-3","value":"0.75rem"},{"name":"--space-4","value":"1rem"},{"name":"--space-5","value":"1.25rem"},{"name":"--space-6","value":"1.5rem"},{"name":"--space-8","value":"2rem"},{"name":"--space-10","value":"2.5rem"},{"name":"--space-12","value":"3rem"},{"name":"--space-16","value":"4rem"},{"name":"--space-20","value":"5rem"},{"name":"--space-24","value":"6rem"}],"radius":[{"name":"--radius-sm","value":".5rem"},{"name":"--radius-md","value":".625rem"},{"name":"--radius-lg","value":".75rem"},{"name":"--radius-xl","value":"1rem"},{"name":"--radius-2xl","value":"1.5rem"},{"name":"--radius-full","value":"9999px"}],"shadows":[{"name":"--shadow-card","value":"0 4px 24px rgba(0,0,0,.3)"},{"name":"--shadow-glow","value":"0 0 60px var(--hp-primary-30)"},{"name":"--shadow-glow-sm","value":"0 0 30px var(--hp-primary-20)"}],"motion":{"durations":[{"name":"--dur-fast","value":"200ms"},{"name":"--dur-base","value":"300ms"},{"name":"--dur-slow","value":"500ms"},{"name":"--dur-ambient","value":"2000ms"}],"easings":[{"name":"--ease-signature","value":"cubic-bezier(.455,.03,.515,.955)"},{"name":"--ease-emphasis","value":"cubic-bezier(.645,.045,.355,1)"},{"name":"--ease-spring","value":"cubic-bezier(.34,1.56,.64,1)"},{"name":"--ease-smooth","value":"cubic-bezier(.2,.8,.2,1)"}]},"z":[{"name":"--z-dropdown","value":"30"},{"name":"--z-sticky","value":"40"},{"name":"--z-modal","value":"999"},{"name":"--z-toast","value":"1111"},{"name":"--z-tooltip","value":"9999"}]},"components":[{"category":"core","label":"Core","items":["Avatar","Badge","Button","Card","Dropdown","Icon","Input","Progress","Select","Switch","Tabs"]},{"category":"data","label":"Dados","items":["Chart","FunnelBoard","MetricStat","Table","Timeline"]},{"category":"documents","label":"Documentos","items":["Letterhead","ProposalCover","SignatureBlock"]},{"category":"feedback","label":"Feedback","items":["Dialog","EmptyState","Skeleton","Toast","Tooltip"]},{"category":"forms","label":"Formulários","items":["Checkbox","DatePicker","FileUpload","RadioGroup"]},{"category":"ai","label":"IA","items":["AIStreamingText","ChatBubble","PromptSuggestions"]},{"category":"print","label":"Impressos","items":["BusinessCard","Certificate","EmailSignature","MeetBackground"]},{"category":"brand","label":"Marca","items":["Emblem","ModuleLockup"]},{"category":"marketing","label":"Marketing","items":["Accordion","PricingCard","StepIndicator","TestimonialCard"]},{"category":"mascot","label":"Mascotes","items":["AtenaMascot","EstagiarioMascot","ThothMascot"]},{"category":"merch","label":"Merch","items":["MerchMockup"]},{"category":"media","label":"Mídia","items":["AudioPlayer","Carousel","VideoPlayer"]},{"category":"mockups","label":"Mockups","items":["BrandMockup"]},{"category":"navigation","label":"Navegação","items":["AppShell","Breadcrumb","CommandPalette","Pagination","SideNav"]},{"category":"newsletter","label":"Newsletter","items":["NewsletterFooter","NewsletterHeader","NewsletterSignup","NewsletterStory"]},{"category":"overlays","label":"Overlays","items":["Banner","Drawer","Popover"]},{"category":"social","label":"Social","items":["BlogCover","PageCover","ProfileCover","SocialPost","SocialStory","YoutubeThumbnail"]}],"componentDocs":{"AIStreamingText":{"category":"ai","label":"IA","sourcePath":"components/ai/AIStreamingText.jsx","summary":"Efeito de resposta da IA em tempo real, o texto entra caractere a caractere com cursor de glow roxo. Use dentro de um `ChatBubble role=\"ai\"`.","snippet":"<ChatBubble role=\"ai\">\n  <AIStreamingText text=\"Analisei a petição. Há 2 pontos de atenção no prazo recursal…\" />\n</ChatBubble>","props":[{"name":"text","type":"string","required":true},{"name":"speed","type":"number","required":false,"default":"18","doc":"ms por caractere."},{"name":"cursor","type":"boolean","required":false,"default":"true"},{"name":"onDone","type":"() => void","required":false}]},"ChatBubble":{"category":"ai","label":"IA","sourcePath":"components/ai/ChatBubble.jsx","summary":"Mensagem de chat com a IA do Hub. IA à esquerda com o emblema do módulo; usuário à direita com tint roxo.","snippet":"<ChatBubble role=\"ai\" timestamp=\"09:42\">Encontrei 3 precedentes do TST aplicáveis ao caso.</ChatBubble>\n<ChatBubble role=\"user\" userName=\"Marina Reis\">Resume os dois mais recentes.</ChatBubble>","props":[{"name":"role","type":"'ai' | 'user'","required":false,"default":"\"ai\""},{"name":"product","type":"'estagiario' | 'hub' | 'jurislab' | 'advocacia' | 'orchestrator' | 'office'","required":false,"default":"\"estagiario\""},{"name":"userName","type":"string","required":false,"default":"\"Você\"","doc":"Nome do usuário (avatar de iniciais)."},{"name":"timestamp","type":"string","required":false},{"name":"emblemBasePath","type":"string","required":false,"default":"\"../../assets/emblems\""},{"name":"children","type":"React.ReactNode","required":true}]},"PromptSuggestions":{"category":"ai","label":"IA","sourcePath":"components/ai/PromptSuggestions.jsx","summary":"Chips clicáveis para iniciar conversas com a IA, hover ganha borda e glow roxo.","snippet":"<PromptSuggestions\n  suggestions={[\n    { label: 'Resumir andamentos da semana', icon: 'file-text' },\n    { label: 'Calcular prazo recursal', icon: 'calendar' },\n    'Minutar contestação',\n  ]}\n  onPick={send}\n/>","props":[{"name":"suggestions","type":"(PromptSuggestion | string)[]","required":true},{"name":"onPick","type":"(label: string) => void","required":false}]},"Emblem":{"category":"brand","label":"Marca","sourcePath":"components/brand/Emblem.jsx","summary":"O emblema vórtice da Horus, o \"olho\" hexagonal em espiral que remete à tagline *\"Inteligência jurídica que enxerga por você.\"* Cada produto tem sua própria cor; use `brand` (roxo) para a marca guarda-chuva Horus.","snippet":"<Emblem product=\"brand\" size={80} />\n<Emblem product=\"jurislab\" size={48} glow={false} />","props":[{"name":"product","type":"'brand' | 'estagiario' | 'hub' | 'jurislab' | 'advocacia' | 'orchestrator' | 'office'","required":false,"default":"\"brand\""},{"name":"size","type":"number","required":false,"default":"64","doc":"px"},{"name":"glow","type":"boolean","required":false,"default":"true","doc":"Product-color drop-shadow glow."},{"name":"basePath","type":"string","required":false,"default":"\"assets/emblems\"","doc":"Path to assets/emblems relative to the host page."}]},"ModuleLockup":{"category":"brand","label":"Marca","sourcePath":"components/brand/ModuleLockup.jsx","summary":"A assinatura canônica da marca. Use em headers, footers, login e capas de PDF. Ao representar um módulo, faça o endosso como lockup. `Horus Hub · <Módulo>`: em vez de inventar um logo próprio do módulo.","snippet":"<ModuleLockup product=\"brand\" size={44} />\n<ModuleLockup product=\"jurislab\" orientation=\"vertical\" size={64} emphasizeModule />","props":[{"name":"product","type":"'brand' | 'estagiario' | 'jurislab' | 'advocacia' | 'orchestrator' | 'office' | 'hub'","required":false,"default":"\"brand\""},{"name":"orientation","type":"'horizontal' | 'vertical'","required":false,"default":"\"horizontal\""},{"name":"size","type":"number","required":false,"default":"40","doc":"Emblem px size."},{"name":"emphasizeModule","type":"boolean","required":false,"default":"false","doc":"Render module name in gradient text."},{"name":"basePath","type":"string","required":false,"default":"\"assets/emblems\"","doc":"Path to assets/emblems relative to host page."}]},"Avatar":{"category":"core","label":"Core","sourcePath":"components/core/Avatar.jsx","summary":"Avatar de usuário/entidade, iniciais sobre gradiente do produto ou uma imagem, com um dot de status opcional.","snippet":"<Avatar name=\"Marina Reis\" size={40} status=\"online\" />\n<Avatar src=\"/foto.jpg\" name=\"Marina\" />","props":[{"name":"name","type":"string","required":false},{"name":"src","type":"string","required":false},{"name":"size","type":"number","required":false,"default":"40","doc":"px"},{"name":"status","type":"'online' | 'busy' | 'away' | 'idle'","required":false},{"name":"square","type":"boolean","required":false,"default":"false","doc":"Rounded square instead of circle."}]},"Badge":{"category":"core","label":"Core","sourcePath":"components/core/Badge.jsx","summary":"Chip pequeno e tingido para rótulos, status e metadados. Use a cor funcional (`success`/`warning`/`danger`/`info`) para status, ou uma cor de produto para marcar o módulo.","snippet":"<Badge variant=\"info\" dot>Ao vivo</Badge>\n<Badge variant=\"success\">+3x faturamento</Badge>\n<Badge variant=\"neutral\">pt-BR</Badge>","props":[{"name":"variant","type":"'primary' | 'estagiario' | 'hub' | 'jurislab' | 'advocacia' | 'orchestrator'","required":false,"default":"\"primary\"","doc":"Product hue (primary = active product), functional state, or neutral."},{"name":"dot","type":"boolean","required":false,"default":"false","doc":"Show a glowing status dot."},{"name":"children","type":"React.ReactNode","required":false}]},"Button":{"category":"core","label":"Core","sourcePath":"components/core/Button.jsx","summary":"Botão de ação primária para interfaces Horus, preenchimento em gradiente roxo→azul com glow no variant primary; use para a ação mais importante da tela.","snippet":"<Button variant=\"primary\" size=\"lg\">Falar com especialista</Button>\n<Button variant=\"secondary\">Ver detalhes</Button>\n<Button variant=\"outline\" size=\"sm\">Cancelar</Button>","props":[{"name":"variant","type":"'primary' | 'secondary' | 'ghost' | 'outline' | 'destructive'","required":false,"default":"\"primary\"","doc":"Visual style."},{"name":"size","type":"'sm' | 'md' | 'lg'","required":false,"default":"\"md\""},{"name":"fullWidth","type":"boolean","required":false},{"name":"disabled","type":"boolean","required":false},{"name":"leadingIcon","type":"React.ReactNode","required":false},{"name":"trailingIcon","type":"React.ReactNode","required":false},{"name":"children","type":"React.ReactNode","required":false}]},"Card":{"category":"core","label":"Core","sourcePath":"components/core/Card.jsx","summary":"Superfície de conteúdo para a UI dark-first. `glass` para sobreposições em fundos com hero/glow; `gradient` para cards em destaque; `glow` para atrair o olhar a um card principal.","snippet":"<Card variant=\"glass\" padding=\"lg\">\n  <h3>JurisLab</h3>\n  <p>Laboratório de peças jurídicas com IA.</p>\n</Card>","props":[{"name":"variant","type":"'solid' | 'glass' | 'gradient'","required":false,"default":"\"solid\""},{"name":"glow","type":"boolean","required":false,"default":"false","doc":"Apply purple glow shadow."},{"name":"padding","type":"'none' | 'sm' | 'md' | 'lg' | 'xl'","required":false,"default":"\"lg\""},{"name":"children","type":"React.ReactNode","required":false}]},"Dropdown":{"category":"core","label":"Core","sourcePath":"components/core/Dropdown.jsx","summary":"Menu de ações ancorado a um gatilho. Os itens aceitam ícones, estilo `danger` e separadores `divider`.","snippet":"<Dropdown\n  align=\"right\"\n  trigger={<Button variant=\"secondary\" size=\"sm\">Ações</Button>}\n  items={[\n    { label: 'Editar', icon: <Icon name=\"pencil\" size={15} />, onClick: edit },\n    { divider: true },\n    { label: 'Excluir', icon: <Icon name=\"trash-2\" size={15} />, danger: true, onClick: del },\n  ]}\n/>","props":[{"name":"trigger","type":"React.ReactNode","required":true},{"name":"items","type":"DropdownItem[]","required":true},{"name":"align","type":"'left' | 'right'","required":false,"default":"\"left\"","doc":"Popover edge to align to the trigger."}]},"Icon":{"category":"core","label":"Core","sourcePath":"components/core/Icon.jsx","summary":"Ícones Lucide de verdade (traço fino de 2px arredondado, o estilo de ícone da marca). A página precisa carregar o script UMD do Lucide antes: `<script src=\"../../vendor/lucide.min.js\"></script>`.","snippet":"<Icon name=\"search\" size={18} />\n<Icon name=\"layout-dashboard\" />\n<Icon name=\"scale\" color=\"var(--hp-primary)\" />","props":[{"name":"name","type":"string","required":true,"doc":"Lucide icon name, kebab or Pascal case."},{"name":"size","type":"number","required":false,"default":"20","doc":"px"},{"name":"strokeWidth","type":"number","required":false,"default":"2"},{"name":"color","type":"string","required":false,"default":"\"currentColor\""}]},"Input":{"category":"core","label":"Core","sourcePath":"components/core/Input.jsx","summary":"Campo de formulário escuro com glow de foco roxo. Combina com `label`, `hint` e estados de `error`.","snippet":"<Input label=\"E-mail profissional\" placeholder=\"voce@escritorio.com.br\" />\n<Input label=\"OAB\" error=\"Número inválido\" />","props":[{"name":"label","type":"string","required":false},{"name":"hint","type":"string","required":false},{"name":"error","type":"string","required":false},{"name":"leadingIcon","type":"React.ReactNode","required":false}]},"Progress":{"category":"core","label":"Core","sourcePath":"components/core/Progress.jsx","summary":"Indicador de progresso com preenchimento em gradiente do produto e glow suave.","snippet":"<Progress value={72} showLabel />\n<Progress value={null} /> {/* indeterminado */}","props":[{"name":"value","type":"number | null","required":false,"default":"null","doc":"0-100, or null for indeterminate shimmer."},{"name":"height","type":"number","required":false,"default":"8","doc":"px"},{"name":"accent","type":"'estagiario' | 'hub' | 'jurislab' | 'advocacia' | 'orchestrator' | 'office'","required":false,"doc":"Solid accent instead of gradient."},{"name":"showLabel","type":"boolean","required":false}]},"Select":{"category":"core","label":"Core","sourcePath":"components/core/Select.jsx","summary":"Select customizado escuro. Fecha ao clicar fora; destaca a opção ativa na cor do produto.","snippet":"<Select label=\"Área de atuação\" placeholder=\"Escolha…\" options={['Trabalhista','Cível','Tributário']} onChange={setArea} />","props":[{"name":"options","type":"(SelectOption | string)[]","required":true},{"name":"value","type":"string","required":false},{"name":"defaultValue","type":"string","required":false},{"name":"onChange","type":"(value: string) => void","required":false},{"name":"placeholder","type":"string","required":false},{"name":"label","type":"string","required":false},{"name":"disabled","type":"boolean","required":false},{"name":"style","type":"React.CSSProperties","required":false}]},"Switch":{"category":"core","label":"Core","sourcePath":"components/core/Switch.jsx","summary":"Controle binário liga/desliga. Preenchimento em gradiente do produto + glow quando ativo.","snippet":"<Switch defaultChecked label=\"Notificações de novos leads\" />","props":[{"name":"checked","type":"boolean","required":false},{"name":"defaultChecked","type":"boolean","required":false},{"name":"onChange","type":"(checked: boolean) => void","required":false},{"name":"disabled","type":"boolean","required":false},{"name":"label","type":"string","required":false},{"name":"style","type":"React.CSSProperties","required":false}]},"Tabs":{"category":"core","label":"Core","sourcePath":"components/core/Tabs.jsx","summary":"Navegação por seções com sublinhado na aba ativa (cor do produto). Aceita ícones e badges de contagem.","snippet":"<Tabs\n  defaultValue=\"leads\"\n  tabs={[\n    { value: 'leads', label: 'Leads', badge: 12 },\n    { value: 'pecas', label: 'Peças' },\n    { value: 'metricas', label: 'Métricas' },\n  ]}\n/>","props":[{"name":"tabs","type":"TabItem[]","required":true},{"name":"value","type":"string","required":false},{"name":"defaultValue","type":"string","required":false},{"name":"onChange","type":"(value: string) => void","required":false},{"name":"style","type":"React.CSSProperties","required":false}]},"Chart":{"category":"data","label":"Dados","sourcePath":"components/data/Chart.jsx","summary":"Gráfico leve (linha com área em fade ou barras) na paleta canônica, para leads, CPL e faturamento em dashboards.","snippet":"<Chart type=\"line\" data={[42, 61, 55, 84, 97, 130]} labels={['Jan','Fev','Mar','Abr','Mai','Jun']} />\n<Chart type=\"bar\" data={[12, 18, 9, 22]} accent=\"jurislab\" showValues />","props":[{"name":"type","type":"'line' | 'bar'","required":false,"default":"\"line\""},{"name":"data","type":"number[]","required":true},{"name":"labels","type":"string[]","required":false},{"name":"height","type":"number","required":false,"default":"180","doc":"px"},{"name":"accent","type":"'estagiario' | 'hub' | 'jurislab' | 'advocacia' | 'orchestrator' | 'office'","required":false,"doc":"Cor sólida de módulo no lugar do gradiente."},{"name":"showValues","type":"boolean","required":false,"doc":"Mostra o valor sobre cada ponto/barra."}]},"FunnelBoard":{"category":"data","label":"Dados","sourcePath":"components/data/FunnelBoard.jsx","summary":"O funil de leads visual em colunas kanban, cabeçalho com dot glow + contagem, cards com badge e responsável.","snippet":"<FunnelBoard columns={[\n  { title: 'Novo', accent: 'info', cards: [{ title: 'Alvarenga & Souza', subtitle: 'Trabalhista', badge: 'Score 87', badgeVariant: 'success', owner: 'Marina Reis' }] },\n  { title: 'Qualificado', accent: 'warning', cards: [] },\n  { title: 'Fechado', accent: 'success', cards: [] },\n]} />","props":[{"name":"columns","type":"FunnelColumn[]","required":true}]},"MetricStat":{"category":"data","label":"Dados","sourcePath":"components/data/MetricStat.jsx","summary":"Métrica de destaque com indicador de tendência opcional, a marca aposta em números concretos (\"3x a 10x\", \"+R$\"). Usa o peso display do Space Grotesk.","snippet":"<MetricStat label=\"Faturamento\" value=\"+3,2\" unit=\"x\" trend=\"vs. trimestre anterior\" accent=\"success\" />\n<MetricStat label=\"Novos leads / mês\" value=\"184\" trend=\"12%\" accent=\"info\" />","props":[{"name":"label","type":"string","required":true},{"name":"value","type":"string | number","required":true},{"name":"unit","type":"string","required":false},{"name":"trend","type":"string","required":false},{"name":"trendDir","type":"'up' | 'down'","required":false,"default":"\"up\""},{"name":"accent","type":"'success' | 'info' | 'warning' | 'primary' | 'jurislab' | 'advocacia' | 'hub' | 'orchestrator'","required":false,"default":"\"success\""}]},"Table":{"category":"data","label":"Dados","sourcePath":"components/data/Table.jsx","summary":"Tabela de dados orientada a configuração para listas (leads, peças, faturas). Passe `columns` com `render` opcional para células customizadas (badges, botões).","snippet":"<Table\n  columns={[\n    { key: 'name', header: 'Cliente' },\n    { key: 'score', header: 'Score', render: (r) => <Badge variant={r.hue}>{r.score}</Badge> },\n    { key: 'cpl', header: 'CPL', align: 'right' },\n  ]}\n  rows={leads}\n  onRowClick={open}\n/>","props":[{"name":"columns","type":"TableColumn<T>[]","required":true},{"name":"rows","type":"T[]","required":true},{"name":"getRowKey","type":"(row: T) => string | number","required":false},{"name":"onRowClick","type":"(row: T) => void","required":false}]},"Timeline":{"category":"data","label":"Dados","sourcePath":"components/data/Timeline.jsx","summary":"Histórico de atividade (andamentos, funil, automações), dots coloridos com glow e linha conectora.","snippet":"<Timeline items={[\n  { title: 'Lead qualificado', description: 'Score 87, dor: reclamatória trabalhista.', time: '09:42', icon: 'user-check', accent: 'success' },\n  { title: 'Proposta enviada', time: 'há 2h', icon: 'send' },\n  { title: 'Aguardando retorno', accent: 'warning' },\n]} />","props":[{"name":"items","type":"TimelineItem[]","required":true}]},"Letterhead":{"category":"documents","label":"Documentos","sourcePath":"components/documents/Letterhead.jsx","summary":"Papel timbrado para contratos e ofícios, cabeçalho com o emblema Horus Hub, rodapé com a razão social (regra da marca: institucional assina Negócios Digitais).","snippet":"<Letterhead cnpj=\"00.000.000/0001-00\" page=\"1 / 2\">\n  <p>Prezado Dr. Souza,</p>\n  <p>…corpo do documento…</p>\n</Letterhead>","props":[{"name":"children","type":"React.ReactNode","required":true},{"name":"contact","type":"string","required":false,"default":"\"contato@horushub.com.br · horushub.com.br\""},{"name":"legal","type":"string","required":false,"default":"\"Horus Negócios Digitais LTDA\""},{"name":"cnpj","type":"string","required":false},{"name":"page","type":"string","required":false,"doc":"Ex.: \"1 / 3\"."},{"name":"emblemBasePath","type":"string","required":false,"default":"\"../../assets/emblems\""}]},"ProposalCover":{"category":"documents","label":"Documentos","sourcePath":"components/documents/ProposalCover.jsx","summary":"Capa de proposta/whitepaper no padrão horus-pdf-design (dark + glow + Space Grotesk). O rodapé assina a razão social, capas de documento são contexto institucional.","snippet":"<ProposalCover\n  title=\"Plano de crescimento com IA para o seu contencioso\"\n  client=\"Ferraz Tributário\" date=\"Julho 2026\" product=\"brand\" />","props":[{"name":"kicker","type":"string","required":false,"default":"\"Proposta comercial\""},{"name":"title","type":"React.ReactNode","required":true},{"name":"client","type":"string","required":false,"doc":"Nome do cliente (\"Preparado para …\")."},{"name":"date","type":"string","required":false},{"name":"product","type":"'brand' | 'estagiario' | 'hub' | 'jurislab' | 'advocacia' | 'orchestrator' | 'office'","required":false,"default":"\"brand\""},{"name":"footer","type":"string","required":false,"doc":"Rodapé institucional."},{"name":"emblemBasePath","type":"string","required":false,"default":"\"../../assets/emblems\""}]},"SignatureBlock":{"category":"documents","label":"Documentos","sourcePath":"components/documents/SignatureBlock.jsx","summary":"Assinaturas de contrato/proposta, use dentro do `Letterhead`.","snippet":"<SignatureBlock place=\"São Paulo\" date=\"18 de julho de 2026\"\n  parties={[\n    { name: 'Tales Almeida', role: 'Sócio', org: 'Horus Negócios Digitais LTDA' },\n    { name: 'Dra. Camila Ferraz', role: 'Sócia', org: 'Ferraz Tributário' },\n  ]} />","props":[{"name":"parties","type":"SignatureParty[]","required":true},{"name":"place","type":"string","required":false,"doc":"Ex.: \"São Paulo\"."},{"name":"date","type":"string","required":false,"doc":"Ex.: \"18 de julho de 2026\"."}]},"Dialog":{"category":"feedback","label":"Feedback","sourcePath":"components/feedback/Dialog.jsx","summary":"Modal centralizado sobre um scrim desfocado, entrando com spring. Você controla `open`/`onClose`.","snippet":"<Dialog open={open} onClose={close}\n  title=\"Excluir lead?\"\n  description=\"Esta ação não pode ser desfeita.\"\n  footer={<><Button variant=\"ghost\" onClick={close}>Cancelar</Button><Button variant=\"destructive\" onClick={confirm}>Excluir</Button></>}\n/>","props":[{"name":"open","type":"boolean","required":true},{"name":"onClose","type":"() => void","required":false},{"name":"title","type":"React.ReactNode","required":false},{"name":"description","type":"React.ReactNode","required":false},{"name":"footer","type":"React.ReactNode","required":false,"doc":"Footer actions (buttons)."},{"name":"width","type":"number","required":false,"default":"460","doc":"px"},{"name":"children","type":"React.ReactNode","required":false}]},"EmptyState":{"category":"feedback","label":"Feedback","sourcePath":"components/feedback/EmptyState.jsx","summary":"Tela vazia com emblema (ou ícone Lucide) sobre glow suave, título e CTA. Use em listas sem itens, buscas sem resultado e primeiros acessos.","snippet":"<EmptyState\n  icon=\"inbox\" title=\"Nenhum lead ainda\"\n  description=\"Quando sua campanha entrar no ar, os leads aparecem aqui em tempo real.\"\n  action={<Button variant=\"primary\" size=\"sm\">Criar campanha</Button>}\n/>","props":[{"name":"product","type":"'estagiario' | 'hub' | 'jurislab' | 'advocacia' | 'orchestrator' | 'office'","required":false,"default":"\"estagiario\""},{"name":"icon","type":"string","required":false,"doc":"Nome de ícone Lucide, substitui o emblema."},{"name":"title","type":"React.ReactNode","required":true},{"name":"description","type":"React.ReactNode","required":false},{"name":"action","type":"React.ReactNode","required":false,"doc":"Botão/CTA."},{"name":"emblemBasePath","type":"string","required":false,"default":"\"../../assets/emblems\""}]},"Skeleton":{"category":"feedback","label":"Feedback","sourcePath":"components/feedback/Skeleton.jsx","summary":"Shimmer de carregamento nos tons dark. Combine formas para esqueletos de cards e listas.","snippet":"<Skeleton variant=\"circle\" width={40} />\n<Skeleton variant=\"text\" lines={3} />\n<Skeleton variant=\"rect\" height={120} />","props":[{"name":"variant","type":"'text' | 'circle' | 'rect'","required":false,"default":"\"rect\""},{"name":"width","type":"number | string","required":false},{"name":"height","type":"number | string","required":false},{"name":"lines","type":"number","required":false,"default":"1","doc":"Para variant=\"text\": nº de linhas empilhadas."}]},"Toast":{"category":"feedback","label":"Feedback","sourcePath":"components/feedback/Toast.jsx","summary":"Card de notificação transitória. Empilhe vários em um contêiner fixo no canto; chame `onClose` para dispensar.","snippet":"<Toast variant=\"success\" title=\"Lead salvo\" description=\"Escritório Alvarenga entrou no funil.\" onClose={dismiss} />","props":[{"name":"variant","type":"'default' | 'success' | 'danger' | 'warning' | 'info'","required":false,"default":"\"default\""},{"name":"title","type":"React.ReactNode","required":false},{"name":"description","type":"React.ReactNode","required":false},{"name":"onClose","type":"() => void","required":false},{"name":"action","type":"React.ReactNode","required":false}]},"Tooltip":{"category":"feedback","label":"Feedback","sourcePath":"components/feedback/Tooltip.jsx","summary":"Tooltip escuro pequeno em hover/foco.","snippet":"<Tooltip content=\"Sincronizado ao vivo\" side=\"bottom\">\n  <Icon name=\"info\" size={16} />\n</Tooltip>","props":[{"name":"content","type":"React.ReactNode","required":true},{"name":"side","type":"'top' | 'bottom' | 'left' | 'right'","required":false,"default":"\"top\""},{"name":"children","type":"React.ReactNode","required":true}]},"Checkbox":{"category":"forms","label":"Formulários","sourcePath":"components/forms/Checkbox.jsx","summary":"Checkbox dark com check em gradiente CTA e glow quando marcado.","snippet":"<Checkbox defaultChecked label=\"Aceito receber materiais\" description=\"Ebooks e checklists de marketing jurídico.\" />","props":[{"name":"checked","type":"boolean","required":false},{"name":"defaultChecked","type":"boolean","required":false},{"name":"onChange","type":"(checked: boolean) => void","required":false},{"name":"label","type":"React.ReactNode","required":false},{"name":"description","type":"React.ReactNode","required":false},{"name":"disabled","type":"boolean","required":false}]},"DatePicker":{"category":"forms","label":"Formulários","sourcePath":"components/forms/DatePicker.jsx","summary":"Seletor de data pt-BR pensado para prazos processuais, com `deadlineWarnDays`, datas próximas ficam em warning com contagem regressiva (\"3d\", \"HOJE\").","snippet":"<DatePicker label=\"Prazo recursal\" deadlineWarnDays={7} onChange={setPrazo} />","props":[{"name":"value","type":"Date | null","required":false},{"name":"defaultValue","type":"Date | null","required":false},{"name":"onChange","type":"(date: Date) => void","required":false},{"name":"label","type":"React.ReactNode","required":false},{"name":"placeholder","type":"string","required":false,"default":"\"DD/MM/AAAA\""},{"name":"deadlineWarnDays","type":"number","required":false,"default":"0","doc":"Destaca em warning quando faltam ≤ N dias (0 = desligado)."},{"name":"disabled","type":"boolean","required":false},{"name":"style","type":"React.CSSProperties","required":false}]},"FileUpload":{"category":"forms","label":"Formulários","sourcePath":"components/forms/FileUpload.jsx","summary":"Upload de documentos (petições, procurações, contratos), dropzone com glow roxo no arraste e lista com tamanho + remover.","snippet":"<FileUpload accept=\".pdf,.docx\" hint=\"PDF ou DOCX até 10 MB\" onFiles={setDocs} />","props":[{"name":"accept","type":"string","required":false,"doc":"Filtro do input, ex. \".pdf,.docx\"."},{"name":"multiple","type":"boolean","required":false,"default":"true"},{"name":"onFiles","type":"(files: File[]) => void","required":false},{"name":"hint","type":"string","required":false,"default":"\"PDF, DOCX ou imagens\"","doc":"Texto auxiliar."}]},"RadioGroup":{"category":"forms","label":"Formulários","sourcePath":"components/forms/RadioGroup.jsx","summary":"Escolha exclusiva, dot em gradiente. Use `cards` para opções ricas (planos, tamanhos de equipe).","snippet":"<RadioGroup label=\"Tamanho da equipe\" cards defaultValue=\"2-5\"\n  options={[\n    { value: 'solo', label: 'Só eu', description: 'Advogado(a) solo' },\n    { value: '2-5', label: '2 a 5 pessoas' },\n    { value: '6+', label: '6 ou mais' },\n  ]} onChange={setTeam} />","props":[{"name":"options","type":"(RadioOption | string)[]","required":true},{"name":"value","type":"string","required":false},{"name":"defaultValue","type":"string","required":false},{"name":"onChange","type":"(value: string) => void","required":false},{"name":"label","type":"React.ReactNode","required":false},{"name":"cards","type":"boolean","required":false,"default":"false","doc":"Opções como cards selecionáveis."},{"name":"disabled","type":"boolean","required":false}]},"Accordion":{"category":"marketing","label":"Marketing","sourcePath":"components/marketing/Accordion.jsx","summary":"FAQ em acordeão, expansão animada, item aberto com borda roxa.","snippet":"<Accordion defaultOpen={0} items={[\n  { q: 'Isso fere o Provimento 205 da OAB?', a: 'Não. Toda captação segue as diretrizes de publicidade da OAB.' },\n  { q: 'Em quanto tempo vejo resultado?', a: 'Entre 6 e 12 meses para crescimento composto, com leads desde as primeiras semanas.' },\n]} />","props":[{"name":"items","type":"AccordionItem[]","required":true},{"name":"single","type":"boolean","required":false,"default":"true","doc":"Um aberto por vez."},{"name":"defaultOpen","type":"number","required":false,"default":"-1","doc":"Índice aberto inicialmente (-1 = nenhum)."}]},"PricingCard":{"category":"marketing","label":"Marketing","sourcePath":"components/marketing/PricingCard.jsx","summary":"Card de plano/preço. O plano em destaque usa borda em gradiente CTA + glow.","snippet":"<PricingCard plan=\"Performance\" price=\"R$ 1.997\" featured\n  description=\"Para escritórios em escala.\"\n  features={['Campanhas Meta + Google', 'JurisLab incluído', 'CS dedicado']}\n  onSelect={assinar} />","props":[{"name":"plan","type":"string","required":true},{"name":"price","type":"string","required":true,"doc":"Ex.: \"R$ 497\"."},{"name":"period","type":"string","required":false,"default":"\"/mês\""},{"name":"description","type":"string","required":false},{"name":"features","type":"string[]","required":false},{"name":"cta","type":"string","required":false,"default":"\"Começar agora\""},{"name":"onSelect","type":"() => void","required":false},{"name":"featured","type":"boolean","required":false},{"name":"badge","type":"string","required":false,"doc":"Texto do badge (default \"Mais popular\" quando featured)."}]},"StepIndicator":{"category":"marketing","label":"Marketing","sourcePath":"components/marketing/StepIndicator.jsx","summary":"Sequência \"como funciona\": círculos numerados em gradiente CTA com linha conectora. Horizontal para landing pages, vertical para onboarding.","snippet":"<StepIndicator steps={[\n  { title: 'Diagnóstico', description: 'Mapeamos seu funil em 45 min.' },\n  { title: 'Estratégia', description: 'Plano de captação sob medida.' },\n  { title: 'Escala', description: 'Leads e faturamento mensuráveis.' },\n]} />","props":[{"name":"steps","type":"Step[]","required":true},{"name":"active","type":"number","required":false,"default":"-1","doc":"Destaca até o passo N (-1 = todos)."},{"name":"orientation","type":"'horizontal' | 'vertical'","required":false,"default":"\"horizontal\""}]},"TestimonialCard":{"category":"marketing","label":"Marketing","sourcePath":"components/marketing/TestimonialCard.jsx","summary":"Depoimento com citação em serif itálico e resultado concreto em badge, a marca promete números, não hype.","snippet":"<TestimonialCard\n  quote=\"Em 6 meses o escritório dobrou a carteira sem contratar ninguém.\"\n  author=\"Dra. Camila Ferraz\" role=\"Ferraz Tributário: SP\"\n  result=\"+2,1x carteira\" />","props":[{"name":"quote","type":"string","required":true},{"name":"author","type":"string","required":true},{"name":"role","type":"string","required":false},{"name":"result","type":"string","required":false,"doc":"Métrica concreta, ex. \"+3,4x faturamento\"."},{"name":"resultVariant","type":"'success' | 'info' | 'primary' | 'neutral'","required":false,"default":"\"success\""}]},"AtenaMascot":{"category":"mascot","label":"Mascotes","sourcePath":"components/mascot/AtenaMascot.jsx","summary":"Atena, a agente da Advocacia com IA, robô de olhos roxos com cílios e armadura roxa/dourada, cercada por órbitas de comunidade. Poses são **estados da agente**: `disponivel` (verde), `respondendo` (ciano), `pesquisando` (azul), `orientando` (roxo), `personalizando` (pink), `atualizando` (warning), `bloqueado` (vermelho). `corpo-todo` para heros/marketing.","snippet":"<AtenaMascot pose=\"orientando\" size={64} statusDot />\n<AtenaMascot pose=\"disponivel\" size={56} say=\"Bem-vinda à comunidade! Sua trilha de IA começa pelo módulo 1. 💜\" />","props":[{"name":"pose","type":"'disponivel' | 'respondendo' | 'pesquisando' | 'orientando' | 'personalizando' | 'atualizando' | 'bloqueado' | 'corpo-todo'","required":false,"default":"\"disponivel\""},{"name":"size","type":"number","required":false,"default":"96","doc":"px"},{"name":"shape","type":"'circle' | 'rounded' | 'square'","required":false,"default":"\"circle\""},{"name":"ring","type":"boolean","required":false,"default":"true","doc":"Anel no gradiente pink da Advocacia + glow na cor do estado."},{"name":"statusDot","type":"boolean","required":false,"default":"false","doc":"Dot com a cor semântica do estado."},{"name":"say","type":"React.ReactNode","required":false,"doc":"Balão de fala."},{"name":"side","type":"'right' | 'left'","required":false,"default":"\"right\""},{"name":"basePath","type":"string","required":false,"default":"\"../../assets/mascots\""}]},"EstagiarioMascot":{"category":"mascot","label":"Mascotes","sourcePath":"components/mascot/EstagiarioMascot.jsx","summary":"O rosto do agente d'O Estagiário, robô formando com capelo. As poses são **estados do atendimento**, com cor semântica no `statusDot`: `disponivel` (verde), `qualificando`/`pensando` (azul), `anotando` (ciano), `explicando`/`oferecendo`/`empolgado` (roxo), `curioso` (info), `celebrando` (verde), `alerta` (warning), `bloqueado` (vermelho, mão de \"pare\"). Poses legadas `smile`/`frontal`/`isometric` seguem disponíveis para marketing.","snippet":"<EstagiarioMascot pose=\"qualificando\" size={64} statusDot />\n<EstagiarioMascot pose=\"celebrando\" size={56} say=\"FECHOU! 🎉 Agendado para quinta às 15h!\" />","props":[{"name":"pose","type":"'disponivel' | 'qualificando' | 'anotando' | 'pensando' | 'explicando' | 'oferecendo' | 'curioso' | 'empolgado' | 'celebrando' | 'alerta' | 'bloqueado' | 'smile' | 'frontal' | 'isometric'","required":false,"default":"\"disponivel\""},{"name":"size","type":"number","required":false,"default":"96","doc":"px"},{"name":"shape","type":"'circle' | 'rounded' | 'square'","required":false,"default":"\"circle\""},{"name":"ring","type":"boolean","required":false,"default":"true","doc":"Anel em gradiente CTA + glow na cor do estado."},{"name":"statusDot","type":"boolean","required":false,"default":"false","doc":"Dot com a cor semântica do estado."},{"name":"say","type":"React.ReactNode","required":false,"doc":"Balão de fala na voz do personagem."},{"name":"side","type":"'right' | 'left'","required":false,"default":"\"right\"","doc":"Lado do balão."},{"name":"basePath","type":"string","required":false,"default":"\"../../assets/mascots\"","doc":"Caminho relativo até assets/mascots."}]},"ThothMascot":{"category":"mascot","label":"Mascotes","sourcePath":"components/mascot/ThothMascot.jsx","summary":"Thoth, o escriba do Orchestrator, robô com halo hexagonal dourado e pena. Diferente do Estagiário, as poses são **estados operacionais** do agente, ideais para dashboards de automação: `disponivel` (verde), `respondendo` (ciano), `pesquisando` (azul), `orquestrando`/`delegando` (laranja), `construindo` (warning), `bloqueado` (vermelho, olhos acesos). `corpo-todo`, `glow` e `neutro` são poses de marketing/hero.","snippet":"<ThothMascot pose=\"orquestrando\" size={64} statusDot />\n<ThothMascot pose=\"bloqueado\" size={56} statusDot say=\"Fluxo pausado: falta a credencial do CRM. Me destrava aí? 🔑\" />","props":[{"name":"pose","type":"'disponivel' | 'respondendo' | 'pesquisando' | 'orquestrando' | 'delegando' | 'construindo' | 'bloqueado' | 'corpo-todo' | 'glow' | 'neutro'","required":false,"default":"\"disponivel\""},{"name":"size","type":"number","required":false,"default":"96","doc":"px"},{"name":"shape","type":"'circle' | 'rounded' | 'square'","required":false,"default":"\"circle\""},{"name":"ring","type":"boolean","required":false,"default":"true","doc":"Anel gradiente laranja do Orchestrator + glow na cor do estado."},{"name":"statusDot","type":"boolean","required":false,"default":"false","doc":"Dot com a cor semântica do estado."},{"name":"say","type":"React.ReactNode","required":false,"doc":"Balão de fala."},{"name":"side","type":"'right' | 'left'","required":false,"default":"\"right\""},{"name":"basePath","type":"string","required":false,"default":"\"../../assets/mascots\""}]},"AudioPlayer":{"category":"media","label":"Mídia","sourcePath":"components/media/AudioPlayer.jsx","summary":"Áudio de podcast ou mensagem de voz, waveform que acende em roxo conforme toca.","snippet":"<AudioPlayer title=\"Ep. 12, IA no contencioso\" subtitle=\"Horus Cast\" duration=\"32:08\" />","props":[{"name":"src","type":"string","required":false,"doc":"URL do áudio; sem ela, simula a reprodução."},{"name":"title","type":"string","required":false},{"name":"subtitle","type":"string","required":false},{"name":"duration","type":"string","required":false,"default":"\"04:20\"","doc":"Rótulo de duração."}]},"Carousel":{"category":"media","label":"Mídia","sourcePath":"components/media/Carousel.jsx","summary":"Carrossel de cases/depoimentos, setas em glass, dot ativo alongado em gradiente.","snippet":"<Carousel>\n  <TestimonialCard quote=\"…\" author=\"Dra. Camila Ferraz\" result=\"+2,1x carteira\" />\n  <TestimonialCard quote=\"…\" author=\"Dr. Rafael Souza\" result=\"184 leads/mês\" />\n</Carousel>","props":[{"name":"children","type":"React.ReactNode","required":true,"doc":"Elementos-slide."}]},"VideoPlayer":{"category":"media","label":"Mídia","sourcePath":"components/media/VideoPlayer.jsx","summary":"Player de vídeo com a moldura da marca (borda gradiente + glow) para VSLs, depoimentos e aulas.","snippet":"<VideoPlayer title=\"Como o JurisLab minutou 40 peças em uma semana\" poster=\"/case.jpg\" duration=\"08:12\" />","props":[{"name":"src","type":"string","required":false,"doc":"URL do vídeo; sem ela, renderiza poster/placeholder."},{"name":"poster","type":"string","required":false},{"name":"title","type":"string","required":false},{"name":"duration","type":"string","required":false,"default":"\"12:34\"","doc":"Rótulo de duração exibido."}]},"MerchMockup":{"category":"merch","label":"Merch","sourcePath":"components/merch/MerchMockup.jsx","summary":"Mockups flat de brindes da marca em CSS, material escuro, acento no gradiente CTA, emblema real. Para visualizar aplicação; produção final pede foto/3D.","snippet":"<MerchMockup item=\"notebook\" width={240} />\n<MerchMockup item=\"cap\" />\n<MerchMockup item=\"pen\" width={340} />\n<MerchMockup item=\"keychain\" />\n<MerchMockup item=\"sleeve\" width={320} />","props":[{"name":"item","type":"'notebook' | 'cap' | 'pen' | 'keychain' | 'sleeve'","required":false,"default":"\"notebook\""},{"name":"width","type":"number","required":false,"default":"260","doc":"px"},{"name":"emblemBasePath","type":"string","required":false,"default":"\"../../assets/emblems\""}]},"BrandMockup":{"category":"mockups","label":"Mockups","sourcePath":"components/mockups/BrandMockup.js","summary":"Foto real da peça da marca, agenda, boné, caneta, chaveiro, pasta A4, cartão de visita (frente e verso) e o cenário de videochamada. Use quando o ponto for mostrar como a marca sai impressa/produzida; para explicar a regra de construção, use o `MerchMockup` (CSS, recolore por produto).","snippet":"<BrandMockup item=\"card-front\" width={340} caption basePath=\"../../assets/mockups\" />\n<BrandMockup item=\"videocall\" width={560} caption=\"Fundo oficial para Meet e Zoom\" />\n<BrandMockup item=\"keychain\" width={200} />","props":[{"name":"item","type":"'notebook' | 'cap' | 'pen' | 'keychain' | 'folder' | 'card-front' | 'card-back' | 'videocall'","required":false,"default":"\"notebook\"","doc":"Peça a exibir."},{"name":"width","type":"number | string","required":false,"default":"280","doc":"Largura em px, ou qualquer valor CSS (\"100%\"); a altura vem da proporção nativa da foto."},{"name":"caption","type":"boolean | string","required":false,"doc":"`true` usa o rótulo canônico da peça; string usa o texto dado; ausente não legenda."},{"name":"rounded","type":"boolean","required":false,"default":"true"},{"name":"basePath","type":"string","required":false,"default":"\"../../assets/mockups\"","doc":"Caminho de assets/mockups relativo à página."}]},"AppShell":{"category":"navigation","label":"Navegação","sourcePath":"components/navigation/AppShell.jsx","summary":"Esqueleto de tela dos apps do Hub, sidebar com emblema do módulo, navegação com item ativo na cor do produto e rodapé de usuário. Envolva o conteúdo da tela como children.","snippet":"<AppShell\n  product=\"jurislab\" moduleName=\"JurisLab\"\n  items={[\n    { key: 'dash', label: 'Dashboard', icon: 'layout-dashboard' },\n    { key: 'pecas', label: 'Peças', icon: 'file-text', badge: 3 },\n    { key: 'config', label: 'Configurações', icon: 'settings' },\n  ]}\n  activeKey=\"dash\" onNavigate={setScreen}\n  user={{ name: 'Marina Reis', role: 'Sócia', status: 'online' }}\n>\n  <div style={{ padding: 32 }}>…conteúdo…</div>\n</AppShell>","props":[{"name":"product","type":"'estagiario' | 'hub' | 'jurislab' | 'advocacia' | 'orchestrator' | 'office'","required":false,"default":"\"estagiario\""},{"name":"moduleName","type":"string","required":false,"default":"\"O Estagiário\""},{"name":"items","type":"AppShellNavItem[]","required":true},{"name":"activeKey","type":"string","required":false},{"name":"onNavigate","type":"(key: string) => void","required":false},{"name":"user","type":"{ name: string; role?: string; status?: 'online' | 'busy' | 'away' | 'idle' }","required":false},{"name":"emblemBasePath","type":"string","required":false,"default":"\"../../assets/emblems\"","doc":"Caminho relativo até assets/emblems."},{"name":"children","type":"React.ReactNode","required":false}]},"Breadcrumb":{"category":"navigation","label":"Navegação","sourcePath":"components/navigation/Breadcrumb.jsx","summary":"Trilha de navegação para apps e docs; hover dos links em roxo.","snippet":"<Breadcrumb items={[\n  { label: 'Início', href: '#', icon: 'home' },\n  { label: 'Leads', href: '#' },\n  { label: 'Alvarenga & Souza' },\n]} />","props":[{"name":"items","type":"BreadcrumbItem[]","required":true}]},"CommandPalette":{"category":"navigation","label":"Navegação","sourcePath":"components/navigation/CommandPalette.jsx","summary":"Busca global ⌘K em glass-card, filtra comandos, navega com ↑↓/Enter/Esc. Agrupe itens contíguos com `group`.","snippet":"<CommandPalette open={open} onClose={close} commands={[\n  { group: 'Ações', label: 'Novo lead', icon: 'user-plus', hint: '⌘N', onSelect: novo },\n  { group: 'Ações', label: 'Minutar peça', icon: 'file-text', onSelect: minutar },\n  { group: 'Ir para', label: 'Dashboard', icon: 'layout-dashboard', onSelect: goDash },\n]} />","props":[{"name":"open","type":"boolean","required":true},{"name":"onClose","type":"() => void","required":false},{"name":"commands","type":"CommandItem[]","required":true},{"name":"placeholder","type":"string","required":false}]},"Pagination":{"category":"navigation","label":"Navegação","sourcePath":"components/navigation/Pagination.jsx","summary":"Paginação de listas e tabelas, janela com reticências, página ativa em tint roxo.","snippet":"<Pagination pages={12} defaultPage={3} onChange={loadPage} />","props":[{"name":"pages","type":"number","required":true},{"name":"page","type":"number","required":false,"doc":"Controlado."},{"name":"defaultPage","type":"number","required":false,"default":"1"},{"name":"onChange","type":"(page: number) => void","required":false}]},"SideNav":{"category":"navigation","label":"Navegação","sourcePath":"components/navigation/SideNav.jsx","summary":"Menu lateral padrão do Hub (padrão Advocacia com IA): toggle quadrado no topo **na cor do produto**, rail recolhido de 56px com chip flutuante colorido no hover, e **submenu lateral automático**: item com `children` abre um painel de abas e o menu principal recolhe sozinho.","snippet":"<SideNav\n  header={<ModuleLockup product=\"advocacia\" size={28} />}\n  headerCollapsed={<Emblem product=\"advocacia\" size={26} />}\n  groups={[{ items: [\n    { key: 'dash', label: 'Dashboard', icon: 'layout-dashboard' },\n    { key: 'mensagens', label: 'Mensagens', icon: 'mail', children: [\n      { key: 'campanhas', label: 'Campanhas', icon: 'megaphone' },\n      { key: 'sequencias', label: 'Sequências', icon: 'list-ordered' },\n      { key: 'templates', label: 'Templates', icon: 'file-text' },\n    ]},\n  ]}]}\n  activeKey=\"mensagens\" activeSubKey=\"campanhas\" onNavigate={go}\n/>","props":[{"name":"header","type":"React.ReactNode","required":false,"doc":"Marca no topo (lockup) quando expandido."},{"name":"headerCollapsed","type":"React.ReactNode","required":false,"doc":"Versão compacta do header (emblema) quando recolhido."},{"name":"groups","type":"SideNavGroup[]","required":true},{"name":"activeKey","type":"string","required":false},{"name":"activeSubKey","type":"string","required":false,"doc":"Item ativo dentro do submenu aberto."},{"name":"onNavigate","type":"(key: string) => void","required":false},{"name":"defaultCollapsed","type":"boolean","required":false,"default":"false"},{"name":"width","type":"number","required":false,"default":"250","doc":"Largura expandida em px."},{"name":"footer","type":"React.ReactNode","required":false,"doc":"Rodapé (ex.: usuário), oculto quando recolhido."}]},"NewsletterFooter":{"category":"newsletter","label":"Newsletter","sourcePath":"components/newsletter/NewsletterFooter.jsx","summary":"Rodapé de e-mail, assina a razão social (regra institucional) e traz o descadastro obrigatório.","snippet":"<NewsletterFooter />","props":[{"name":"handle","type":"string","required":false,"default":"\"@horushub.ia\""},{"name":"url","type":"string","required":false,"default":"\"horushub.com.br\""},{"name":"legal","type":"string","required":false,"default":"\"Horus Negócios Digitais LTDA\""},{"name":"unsubscribe","type":"string","required":false,"default":"\"Cancelar inscrição\""},{"name":"width","type":"number","required":false,"default":"560","doc":"px"}]},"NewsletterHeader":{"category":"newsletter","label":"Newsletter","sourcePath":"components/newsletter/NewsletterHeader.jsx","summary":"Cabeçalho de e-mail/newsletter com lockup e edição. Empilhe Header → Stories → Footer na mesma largura.","snippet":"<NewsletterHeader title=\"IA & Marketing Jurídico\" edition=\"#12\" date=\"18 jul 2026\" />","props":[{"name":"title","type":"string","required":false,"default":"\"IA & Marketing Jurídico\""},{"name":"edition","type":"string","required":false,"doc":"Ex.: \"#12\"."},{"name":"date","type":"string","required":false},{"name":"product","type":"'brand' | 'estagiario' | 'hub' | 'jurislab' | 'advocacia' | 'orchestrator' | 'office'","required":false,"default":"\"brand\""},{"name":"width","type":"number","required":false,"default":"560","doc":"px"},{"name":"emblemBasePath","type":"string","required":false,"default":"\"../../assets/emblems\""}]},"NewsletterSignup":{"category":"newsletter","label":"Newsletter","sourcePath":"components/newsletter/NewsletterSignup.jsx","summary":"Captura de assinantes para o site/blog, glow de hero, campo de e-mail com foco roxo e CTA gradiente.","snippet":"<NewsletterSignup onSubmit={(email) => subscribe(email)} />","props":[{"name":"title","type":"string","required":false},{"name":"description","type":"string","required":false},{"name":"cta","type":"string","required":false,"default":"\"Assinar grátis\""},{"name":"placeholder","type":"string","required":false},{"name":"note","type":"string","required":false,"default":"\"Sem spam. Cancele quando quiser.\""},{"name":"onSubmit","type":"(email: string) => void","required":false}]},"NewsletterStory":{"category":"newsletter","label":"Newsletter","sourcePath":"components/newsletter/NewsletterStory.jsx","summary":"Matéria de newsletter. Use uma `featured` no topo e 2-4 normais abaixo.","snippet":"<NewsletterStory featured kicker=\"Destaque\" title=\"Provimento 205: o que muda na captação\" excerpt=\"O guia prático para captar dentro das regras da OAB.\" cta=\"Ler análise completa\" />","props":[{"name":"kicker","type":"string","required":false},{"name":"title","type":"React.ReactNode","required":true},{"name":"excerpt","type":"React.ReactNode","required":false},{"name":"cta","type":"string","required":false,"doc":"Rótulo do botão."},{"name":"onCta","type":"() => void","required":false},{"name":"featured","type":"boolean","required":false},{"name":"width","type":"number","required":false,"default":"560","doc":"px"}]},"Banner":{"category":"overlays","label":"Overlays","sourcePath":"components/overlays/Banner.jsx","summary":"Faixa de anúncio no topo da página, promo em gradiente CTA, avisos em tint funcional.","snippet":"<Banner icon=\"sparkles\" action={<Button size=\"sm\" variant=\"secondary\">Garantir vaga</Button>} onClose={hide}>\n  Últimas vagas da mentoria de julho, encerra sexta.\n</Banner>","props":[{"name":"variant","type":"'gradient' | 'info' | 'warning'","required":false,"default":"\"gradient\""},{"name":"icon","type":"string","required":false,"doc":"Nome de ícone Lucide."},{"name":"action","type":"React.ReactNode","required":false},{"name":"onClose","type":"() => void","required":false},{"name":"children","type":"React.ReactNode","required":true}]},"Drawer":{"category":"overlays","label":"Overlays","sourcePath":"components/overlays/Drawer.jsx","summary":"Gaveta lateral para detalhes sem sair da tela (lead, filtros, configuração rápida). Fecha por Esc ou clique no scrim.","snippet":"<Drawer open={open} onClose={close} title=\"Detalhes do lead\"\n  footer={<Button variant=\"primary\" onClick={save}>Salvar</Button>}>\n  …conteúdo…\n</Drawer>","props":[{"name":"open","type":"boolean","required":true},{"name":"onClose","type":"() => void","required":false},{"name":"title","type":"React.ReactNode","required":false},{"name":"side","type":"'right' | 'left'","required":false,"default":"\"right\""},{"name":"width","type":"number","required":false,"default":"380","doc":"px"},{"name":"footer","type":"React.ReactNode","required":false},{"name":"children","type":"React.ReactNode","required":false}]},"Popover":{"category":"overlays","label":"Overlays","sourcePath":"components/overlays/Popover.jsx","summary":"Painel flutuante de conteúdo livre (filtros, mini-formulários, ajuda contextual). Diferente do Dropdown, não é uma lista de ações.","snippet":"<Popover trigger={<Button variant=\"secondary\" size=\"sm\">Filtros</Button>} width={300}>\n  <Select label=\"Área\" options={['Todas','Trabalhista','Cível']} defaultValue=\"Todas\" />\n</Popover>","props":[{"name":"trigger","type":"React.ReactNode","required":true},{"name":"align","type":"'left' | 'right'","required":false,"default":"\"left\""},{"name":"width","type":"number","required":false,"default":"280","doc":"px"},{"name":"children","type":"React.ReactNode","required":false}]},"BusinessCard":{"category":"print","label":"Impressos","sourcePath":"components/print/BusinessCard.jsx","summary":"Cartão de visita na proporção real de impressão (85,5×54mm), frente dark com filete gradiente, verso gradiente com emblema.","snippet":"<BusinessCard name=\"Tales Almeida\" role=\"Sócio\" phone=\"+55 11 99999-0000\" />\n<BusinessCard side=\"back\" />","props":[{"name":"side","type":"'front' | 'back'","required":false,"default":"\"front\""},{"name":"name","type":"string","required":false},{"name":"role","type":"string","required":false},{"name":"email","type":"string","required":false},{"name":"phone","type":"string","required":false},{"name":"url","type":"string","required":false,"default":"\"horushub.com.br\""},{"name":"handle","type":"string","required":false,"default":"\"@horushub.ia\""},{"name":"width","type":"number","required":false,"default":"340","doc":"px"},{"name":"emblemBasePath","type":"string","required":false,"default":"\"../../assets/emblems\""}]},"Certificate":{"category":"print","label":"Impressos","sourcePath":"components/print/Certificate.jsx","summary":"Certificado de mentoria/treinamento, moldura em filete gradiente e nome do aluno em serif itálico.","snippet":"<Certificate recipient=\"Dra. Camila Ferraz\" course=\"a Mentoria de Marketing Jurídico\" hours=\"8 horas\" date=\"julho de 2026\" />","props":[{"name":"recipient","type":"string","required":true},{"name":"course","type":"string","required":true,"doc":"Ex.: \"a Mentoria de Marketing Jurídico\"."},{"name":"hours","type":"string","required":false,"doc":"Ex.: \"8 horas\"."},{"name":"date","type":"string","required":false},{"name":"signer","type":"string","required":false},{"name":"signerRole","type":"string","required":false},{"name":"width","type":"number","required":false,"default":"560","doc":"px"},{"name":"emblemBasePath","type":"string","required":false,"default":"\"../../assets/emblems\""}]},"EmailSignature":{"category":"print","label":"Impressos","sourcePath":"components/print/EmailSignature.jsx","summary":"Assinatura de e-mail do time, emblema, cargo em roxo, contatos e a tagline em serif.","snippet":"<EmailSignature name=\"Tales Almeida\" role=\"Sócio\" phone=\"+55 11 99999-0000\" />","props":[{"name":"name","type":"string","required":false},{"name":"role","type":"string","required":false},{"name":"phone","type":"string","required":false},{"name":"email","type":"string","required":false},{"name":"url","type":"string","required":false},{"name":"handle","type":"string","required":false},{"name":"tagline","type":"string","required":false},{"name":"emblemBasePath","type":"string","required":false,"default":"\"../../assets/emblems\""}]},"MeetBackground":{"category":"print","label":"Impressos","sourcePath":"components/print/MeetBackground.jsx","summary":"Fundo virtual de reunião, discreto o bastante para não competir com o rosto; lockup no canto superior direito.","snippet":"<MeetBackground label=\"Diagnóstico: Ferraz Tributário\" />","props":[{"name":"product","type":"'brand' | 'estagiario' | 'hub' | 'jurislab' | 'advocacia' | 'orchestrator' | 'office'","required":false,"default":"\"brand\""},{"name":"label","type":"string","required":false,"doc":"Texto discreto (ex. nome/rodada da reunião)."},{"name":"width","type":"number","required":false,"default":"560","doc":"px"},{"name":"emblemBasePath","type":"string","required":false,"default":"\"../../assets/emblems\""}]},"BlogCover":{"category":"social","label":"Social","sourcePath":"components/social/BlogCover.jsx","summary":"Capa de post de blog na proporção OG (1200×630), funciona como imagem de compartilhamento.","snippet":"<BlogCover category=\"Captação\" title=\"O funil de leads que fatura sem depender de\" highlight=\"indicação.\" author=\"Tales Almeida\" readTime=\"7 min de leitura\" />","props":[{"name":"category","type":"string","required":false,"default":"\"Marketing jurídico\""},{"name":"title","type":"React.ReactNode","required":true},{"name":"highlight","type":"string","required":false,"doc":"Trecho final em gradient-text."},{"name":"author","type":"string","required":false},{"name":"readTime","type":"string","required":false,"doc":"Ex.: \"7 min de leitura\"."},{"name":"product","type":"'brand' | 'estagiario' | 'hub' | 'jurislab' | 'advocacia' | 'orchestrator' | 'office'","required":false,"default":"\"brand\""},{"name":"width","type":"number","required":false,"default":"560","doc":"px"},{"name":"emblemBasePath","type":"string","required":false,"default":"\"../../assets/emblems\""}]},"PageCover":{"category":"social","label":"Social","sourcePath":"components/social/PageCover.jsx","summary":"Capa de página com proporção e zona segura por rede, no LinkedIn o conteúdo desvia do avatar (marcado em tracejado no preview).","snippet":"<PageCover network=\"linkedin\" cta=\"Agende um diagnóstico\" />\n<PageCover network=\"facebook\" />","props":[{"name":"network","type":"'linkedin' | 'facebook'","required":false,"default":"\"linkedin\""},{"name":"tagline","type":"string","required":false,"default":"tagline oficial"},{"name":"cta","type":"string","required":false,"doc":"Pílula de CTA opcional."},{"name":"product","type":"'brand' | 'estagiario' | 'hub' | 'jurislab' | 'advocacia' | 'orchestrator' | 'office'","required":false,"default":"\"brand\""},{"name":"url","type":"string","required":false,"default":"\"horushub.com.br\""},{"name":"width","type":"number","required":false,"default":"640","doc":"px"},{"name":"emblemBasePath","type":"string","required":false,"default":"\"../../assets/emblems\""}]},"ProfileCover":{"category":"social","label":"Social","sourcePath":"components/social/ProfileCover.jsx","summary":"Capa de perfil para LinkedIn/YouTube/X, lockup + tagline oficial e a régua rainbow dos módulos na base.","snippet":"<ProfileCover />\n<ProfileCover product=\"jurislab\" tagline=\"Peças jurídicas em minutos, não em madrugadas.\" />","props":[{"name":"tagline","type":"string","required":false,"default":"tagline oficial"},{"name":"product","type":"'brand' | 'estagiario' | 'hub' | 'jurislab' | 'advocacia' | 'orchestrator' | 'office'","required":false,"default":"\"brand\""},{"name":"url","type":"string","required":false,"default":"\"horushub.com.br\""},{"name":"width","type":"number","required":false,"default":"640","doc":"px"},{"name":"emblemBasePath","type":"string","required":false,"default":"\"../../assets/emblems\""}]},"SocialPost":{"category":"social","label":"Social","sourcePath":"components/social/SocialPost.jsx","summary":"Post quadrado de feed com a assinatura visual (dark + glow + gradient-text no destaque). Aplique o recurso [IA] no texto quando a palavra contém \"ia\".","snippet":"<SocialPost kicker=\"Marketing jurídico\" headline=\"Seu escritório não precisa de mais curtidas. Precisa de\" highlight=\"faturamento.\" />","props":[{"name":"kicker","type":"string","required":false},{"name":"headline","type":"React.ReactNode","required":true},{"name":"highlight","type":"string","required":false,"doc":"Trecho final em gradient-text."},{"name":"product","type":"'brand' | 'estagiario' | 'hub' | 'jurislab' | 'advocacia' | 'orchestrator' | 'office'","required":false,"default":"\"brand\""},{"name":"handle","type":"string","required":false,"default":"\"@horushub.ia\""},{"name":"width","type":"number","required":false,"default":"380","doc":"px"},{"name":"emblemBasePath","type":"string","required":false,"default":"\"../../assets/emblems\""}]},"SocialStory":{"category":"social","label":"Social","sourcePath":"components/social/SocialStory.jsx","summary":"Modelo de story com CTA em pílula gradiente.","snippet":"<SocialStory kicker=\"Advocacia com IA\" headline=\"Quantos leads seu site gerou\" highlight=\"essa semana?\" cta=\"Fazer diagnóstico\" />","props":[{"name":"kicker","type":"string","required":false},{"name":"headline","type":"React.ReactNode","required":true},{"name":"highlight","type":"string","required":false},{"name":"cta","type":"string","required":false,"default":"\"Arrasta pra cima\""},{"name":"product","type":"'brand' | 'estagiario' | 'hub' | 'jurislab' | 'advocacia' | 'orchestrator' | 'office'","required":false,"default":"\"brand\""},{"name":"handle","type":"string","required":false,"default":"\"@horushub.ia\""},{"name":"width","type":"number","required":false,"default":"240","doc":"px"},{"name":"emblemBasePath","type":"string","required":false,"default":"\"../../assets/emblems\""}]},"YoutubeThumbnail":{"category":"social","label":"Social","sourcePath":"components/social/YoutubeThumbnail.jsx","summary":"Thumbnail de YouTube de alto contraste, título gigante + arte do mascote à direita.","snippet":"<YoutubeThumbnail tag=\"EP. 12\" title=\"IA no contencioso:\" highlight=\"o que muda?\" mascotSrc=\"../../assets/mascots/estagiario-isometric.png\" />","props":[{"name":"title","type":"React.ReactNode","required":true},{"name":"highlight","type":"string","required":false},{"name":"tag","type":"string","required":false,"doc":"Badge no topo, ex. \"EP. 12\" ou \"TUTORIAL\"."},{"name":"mascotSrc","type":"string","required":false,"doc":"Caminho de uma arte de mascote (assets/mascots/…)."},{"name":"product","type":"'brand' | 'estagiario' | 'hub' | 'jurislab' | 'advocacia' | 'orchestrator' | 'office'","required":false,"default":"\"brand\""},{"name":"width","type":"number","required":false,"default":"480","doc":"px"},{"name":"emblemBasePath","type":"string","required":false,"default":"\"../../assets/emblems\""}]}},"voice":{"lang":"pt-BR","principles":["Direto, sem hype. Números concretos.","Vocabulário do mercado jurídico; trate por \"você\".","Tudo market-facing assina Horus Hub; módulos são lockups endossados.","Dark-first. Fontes: Space Grotesk (títulos) + Inter (corpo)."]},"version":"2026-10-23-4e9978a5"}