// slides-b.jsx — slides 06 → 12 — v5 (Due-Diligence-safe)

// ── 06 · TRAÇÃO ────────────────────────────────────────────────────
function Slide06() {
  const nums = [
    { big: '2',    cap: 'clientes em produção · verticais distintas',         sub: 'food service multi-unidade · empresa de eventos POA', hi: true },
    { big: '3ª',   cap: 'vertical em prospecção',                              sub: 'serviços financeiros regulados (correspondente bancário)', hi: true },
    { big: '79',   cap: 'modelos Prisma em produção',                          sub: '56 enums · schema único monorepo' },
    { big: '15',   cap: 'ferramentas IA registradas',                          sub: 'tool_call · auditável · reversível' },
    { big: '8',    cap: 'apps no monorepo Turborepo',                          sub: 'portal · admin · whatsapp-bot · cowork · landings' },
    { big: 'SLU',  cap: 'CNPJ ativo · 13/04/2026',                             sub: '66.186.284/0001-60 · Porto Alegre / RS', textBig: true },
  ];
  return (
    <section data-screen-label="06 Tração" className="slide traction-slide">
      <SlideChrome n={6} label="TRAÇÃO" />
      <div className="tr-head">
        <div className="eyebrow mono">V. Prova factual</div>
        <h2 className="display">
          Números <span className="accent">reais</span>, não projeções.
        </h2>
        <p className="lede">
          Tudo abaixo é commit, schema ou contrato em produção. Fonte primária:
          <span className="mono"> Prisma migrations · GitHub main · operação ativa</span>.
        </p>
      </div>
      <div className="tr-grid">
        {nums.map((n, i) => (
          <div key={i} className={`tr-cell anim-tr ${n.hi ? 'hi' : ''}`} style={{ animationDelay: `${i * 80}ms` }}>
            <div className="tr-num mono">
              <span className={n.textBig ? 'tr-text-big' : ''}>{n.big}</span>
            </div>
            <div className="tr-cap">{n.cap}</div>
            <div className="tr-sub mono">{n.sub}</div>
          </div>
        ))}
      </div>
      <div className="tr-foot mono">
        <span>FONTES</span>
        <span>PRISMA SCHEMA @ MAIN · MONOREPO TURBOREPO · CONTRATOS ATIVOS · CNPJ RFB</span>
      </div>
    </section>
  );
}

// ── 07 · MERCADO ───────────────────────────────────────────────────
function Slide07() {
  return (
    <section data-screen-label="07 Mercado" className="slide">
      <SlideChrome n={7} label="MERCADO" />
      <div className="m-head">
        <div className="eyebrow mono">VI. Dimensionamento · critério AM</div>
        <h2 className="display">
          Um mercado brasileiro que <em>já existe</em>,<br />
          mal operado.
        </h2>
      </div>

      <div className="m-steps">
        <div className="m-step">
          <div className="m-step-label mono">TAM · TOTAL ADDRESSABLE</div>
          <div className="m-step-num mono">21<span className="m-unit">M</span></div>
          <div className="m-step-desc">
            Micro e Pequenas Empresas brasileiras ativas. Universo de todas as
            MPEs com presença digital.
          </div>
          <div className="m-step-src mono">Sebrae · MPEs no Brasil</div>
        </div>

        <div className="m-step m-step-mid">
          <div className="m-step-label mono">SAM · SUL DO BRASIL</div>
          <div className="m-step-num mono">RS+SC<span className="m-unit">ICP</span></div>
          <div className="m-step-desc">
            MPEs do Sul com atendimento ativo via WhatsApp e investimento em
            mídia paga. Recorte geográfico e de ticket compatível com pricing
            atual.
          </div>
          <div className="m-step-src mono">Sebrae RS · estimativa Crux9</div>
        </div>

        <div className="m-step m-step-som">
          <div className="m-step-label mono">SOM · 12 MESES</div>
          <div className="m-step-num mono">30<span className="m-unit">clientes</span></div>
          <div className="m-step-desc">
            Target conservador 12 meses, replicando o motor IA em verticais já
            validadas (food service, eventos) e novas verticais qualificadas.
          </div>
          <div className="m-step-src mono">Crux9 · bottom-up pipeline</div>
        </div>
      </div>

      <div className="m-foot">
        <p>
          O gargalo não é demanda — é operação. Mesmo capturando uma fração
          mínima do SAM, o motor IA opera o mesmo código em verticais distintas.
          O concorrente real não é outra startup: é o cliente que continua
          perdendo leads por falta de resposta.
        </p>
      </div>
    </section>
  );
}

// ── 08 · BUSINESS MODEL ────────────────────────────────────────────
function Slide08() {
  return (
    <section data-screen-label="08 Business Model" className="slide">
      <SlideChrome n={8} label="BUSINESS MODEL" />
      <div className="b-head">
        <div className="eyebrow mono">VII. Como ganhamos dinheiro · critério MN</div>
        <h2 className="display">Parceria fundadora <span className="accent">+</span> recorrência,<br/>margens de SaaS.</h2>
      </div>

      <div className="b-cols">
        <div className="b-col">
          <div className="b-col-tag mono">FASE 1 · HOJE</div>
          <h3 className="b-col-title">Consultoria white-label</h3>
          <p className="b-col-sub">
            Implantação sob medida no número do cliente. Pricing consultivo
            definido caso-a-caso. Modelo <em>parceria fundadora</em>
            performance-gated: setup parcelado + fee escalonado em estágios
            conforme tração comprovada (gatilho objetivo). Mídia 100% na conta
            do cliente, zero markup.
          </p>
          <div className="b-price">
            <div className="b-price-row mono">
              <span>Modelo</span>
              <b>Setup + recorrente</b>
            </div>
            <div className="b-price-row mono">
              <span>Custo marginal</span>
              <b>infra própria · baixo</b>
            </div>
            <div className="b-price-row mono">
              <span>Margem bruta</span>
              <b>compatível com SaaS</b>
            </div>
          </div>
          <div className="b-badge mono">
            ▲ 2 clientes em produção <span className="accent">2026</span> — recorrência validada
          </div>
        </div>

        <div className="b-col b-col-next">
          <div className="b-col-tag mono">FASE 2 · Q4 / 2026</div>
          <h3 className="b-col-title">SaaS multi-tenant</h3>
          <p className="b-col-sub">
            Plataforma self-service. Cliente final conecta WhatsApp, sobe
            catálogo, paga via cartão. Mesmo núcleo técnico, zero serviço manual.
            Pricing tarifado por volume de mensagens + tools executadas.
          </p>
          <div className="b-price">
            <div className="b-price-row mono">
              <span>Modelo</span>
              <b>Recorrente tarifado</b>
            </div>
            <div className="b-price-row mono">
              <span>Onboarding</span>
              <b>self-service &lt;15min</b>
            </div>
            <div className="b-price-row mono">
              <span>Pricing público</span>
              <b>a definir · beta-driven</b>
            </div>
          </div>
          <div className="b-badge mono muted-badge">
            Beta Q4 · pricing definido com beta partners
          </div>
        </div>
      </div>

      <div className="b-metrics">
        <div className="b-metric">
          <div className="b-metric-k mono">CUSTO MARGINAL</div>
          <div className="b-metric-v mono">baixo</div>
          <div className="b-metric-s">infra própria · open-weights</div>
        </div>
        <div className="b-metric">
          <div className="b-metric-k mono">RECORRÊNCIA</div>
          <div className="b-metric-v mono">100%</div>
          <div className="b-metric-s">2 clientes em prod · verticais distintas</div>
        </div>
        <div className="b-metric">
          <div className="b-metric-k mono">MARKUP MÍDIA</div>
          <div className="b-metric-v mono">0×</div>
          <div className="b-metric-s">conta do cliente · transparência total</div>
        </div>
        <div className="b-metric">
          <div className="b-metric-k mono">PERFORMANCE-GATED</div>
          <div className="b-metric-v mono">SIM</div>
          <div className="b-metric-s">fee escalona conforme tração comprovada</div>
        </div>
      </div>
    </section>
  );
}

// ── 09 · ROADMAP ───────────────────────────────────────────────────
function Slide09() {
  const quarters = [
    {
      q: 'Q1', tag: 'FEITO',
      items: [
        ['PORTAL MULTI-TENANT EM PROD', 'monorepo Turborepo · 8 apps'],
        ['SCHEMA PRISMA', '79 modelos · 56 enums · schema único'],
        ['TOOLS IA REGISTRADAS', '15 ferramentas · tool_call auditável'],
        ['SLU ATIVA', 'CNPJ 66.186.284/0001-60 · 13/04/2026'],
        ['2 WORKSPACES ATIVOS', 'verticais distintas em produção'],
      ],
    },
    {
      q: 'Q2', tag: 'EM EXECUÇÃO',
      items: [
        ['CLIENTE FOOD GO-LIVE', 'mai/2026 · número oficial'],
        ['3ª VERTICAL', 'pipeline avançado · financeira regulada'],
        ['RECEITA RECORRENTE', 'consolidação dos contratos ativos'],
        ['PRÊMIO SEBRAE', 'submissão 30/04 · alvo top 10'],
      ],
    },
    {
      q: 'Q3', tag: 'PLANEJADO',
      items: [
        ['SLU → LTDA', 'acordo de sócios formalizado'],
        ['10–15 CLIENTES', 'target · mix RS+SC'],
        ['1ª CONTRATAÇÃO', 'engenheiro pleno (target)'],
        ['TRANSIÇÃO BRUNO', 'CLT → PJ ao fim do seguro-desemprego (set/2026)'],
      ],
    },
    {
      q: 'Q4', tag: 'ALVO',
      items: [
        ['30 CLIENTES TARGET', 'cenário conservador'],
        ['CASE STUDY PÚBLICO', 'autorização institucional'],
        ['VALIDAÇÃO SEAN ELLIS 40%', 'product-market fit signal'],
        ['RONDA INICIAL DE CAPITAL', 'avaliação · target · sem valor específico'],
      ],
    },
  ];
  return (
    <section data-screen-label="09 Roadmap" className="slide">
      <SlideChrome n={9} label="ROADMAP" />
      <div className="r-head">
        <div className="eyebrow mono">VIII. 2026 · trimestre a trimestre</div>
        <h2 className="display">Sem datas fictícias. Só compromissos.</h2>
      </div>
      <div className="r-track">
        <div className="r-track-line" />
        {quarters.map((q, i) => (
          <div key={i} className="r-col">
            <div className="r-marker">
              <span className="r-marker-dot" />
              <span className="mono r-marker-q">{q.q} · 2026</span>
              <span className="mono r-marker-tag">{q.tag}</span>
            </div>
            <ul className="r-items">
              {q.items.map((it, j) => (
                <li key={j}>
                  <div className="r-item-k mono">{it[0]}</div>
                  <div className="r-item-v">{it[1]}</div>
                </li>
              ))}
            </ul>
          </div>
        ))}
      </div>
      <div className="r-foot mono">
        Sinal de saúde: se Q2 não consolidar receita recorrente, revisamos modelo antes de avaliar capital.
      </div>
    </section>
  );
}

// ── 10 · TIME ──────────────────────────────────────────────────────
function TeamCard({ initials, name, role, equity, equityPos, lines, stack }) {
  return (
    <div className="team-card">
      <div className="team-photo mono">
        <span>{initials}</span>
      </div>
      <div className="team-role mono">{role}</div>
      <div className="team-name">{name}</div>
      <ul className="team-lines">
        {lines.map((l, i) => <li key={i}>{l}</li>)}
      </ul>
      <div className="team-equity mono">
        <div><span className="muted">SLU HOJE</span><b>{equity}</b></div>
        <div><span className="muted">PÓS-LTDA</span><b>{equityPos}</b></div>
      </div>
      <div className="team-stack mono">{stack}</div>
    </div>
  );
}

function Slide10() {
  return (
    <section data-screen-label="10 Time" className="slide">
      <SlideChrome n={10} label="TIME" />
      <div className="tm-head">
        <div className="eyebrow mono">IX. Sócios · critério CE</div>
        <h2 className="display">
          <span className="mono">3</span> fundadores, papéis claros,<br />
          equity formalizada.
        </h2>
        <p className="lede">
          SLU 100% Altair (CNPJ ativo desde 13/04/2026). Intenção formalizada
          entre os 3 fundadores via reunião e registro em grupo:
          <span className="mono"> 51% / 25% / 24%</span>, a ser instituída via
          acordo de sócios em Q3/2026, sincronizado com a transição CLT→PJ do
          Bruno (programada para set/2026 ao fim do seguro-desemprego em curso).
        </p>
      </div>
      <div className="tm-grid">
        <TeamCard
          initials="AG"
          name="Altair Pedro Viana Garcia"
          role="Cofundador · CEO / CTO"
          equity="100%"
          equityPos="51%"
          lines={[
            'Código, produto, arquitetura e infra.',
            '10+ anos em backend distribuído e DevOps.',
            'Autor do schema Prisma (79 modelos) e do RAG soberano.',
          ]}
          stack="TS · Next · Prisma · PG · Ollama"
        />
        <TeamCard
          initials="BM"
          name="Bruno"
          role="Cofundador · Engenharia"
          equity="—"
          equityPos="25%"
          lines={[
            'Portal SaaS multi-tenant e integrações.',
            'QA, CI/CD, landing pages de clientes.',
            'Transição CLT → PJ programada set/2026.',
          ]}
          stack="Next · shadcn · GitHub Actions · Caddy"
        />
        <TeamCard
          initials="AN"
          name="Andrei"
          role="Cofundador · Comercial"
          equity="—"
          equityPos="24%"
          lines={[
            'Prospecção outbound e fechamento.',
            'Relacionamento com clientes recorrentes.',
            'MEI hoje · formaliza LTDA Q3/26.',
          ]}
          stack="MEI hoje · LTDA Q3/26"
        />
      </div>
      <div className="tm-foot mono">
        PORTO ALEGRE / RS / BRASIL · CNPJ 66.186.284/0001-60
      </div>
    </section>
  );
}

// ── 11 · ASK ───────────────────────────────────────────────────────
function Slide11() {
  return (
    <section data-screen-label="11 Ask" className="slide">
      <SlideChrome n={11} label="ASK" />
      <div className="ask-head">
        <div className="eyebrow mono">X. Pedido</div>
        <h2 className="display">
          O Sebrae premia <span className="accent">replicabilidade</span>.<br />
          Crux9 é replicável por construção.
        </h2>
        <p className="lede">
          Crux9 tem produto em produção, <span className="mono">2</span> clientes
          recorrentes em verticais distintas, arquitetura soberana. O que ainda
          não tem — e o Sebrae sim — é capilaridade nacional. Aderência aos 4
          critérios <span className="mono">MN · SO · AM · CE</span>.
        </p>
      </div>

      <div className="ask-boxes">
        <div className="ask-box">
          <div className="ask-n mono">01</div>
          <div className="ask-title">Top 10 · Serviços Digitais</div>
          <p>
            Classificação na categoria, hit nos 4 critérios:
            margem &amp; negócio (MN), soberania (SO), tamanho de mercado (AM),
            capacidade de execução (CE).
          </p>
          <div className="ask-metric mono">aderência · 4/4 critérios</div>
        </div>
        <div className="ask-box ask-box-mid">
          <div className="ask-n mono">02</div>
          <div className="ask-title">Distribuição via rede Sebrae</div>
          <p>
            Posicionar Crux9 como motor de IA soberana acessível à rede de PMEs
            Sebrae. Canal institucional para SMBs RS+SC, oferta co-branded,
            trilha de onboarding compartilhada.
          </p>
          <div className="ask-metric mono">canal · rede de PMEs Sebrae</div>
        </div>
        <div className="ask-box">
          <div className="ask-n mono">03</div>
          <div className="ask-title">Prêmio R$ 250k · Campeã Nacional</div>
          <p>
            Runway para expansão regional. Investimento direto em infra,
            primeira contratação técnica e estruturação do SaaS multi-tenant —
            sem necessidade imediata de capital externo.
          </p>
          <div className="ask-metric mono">runway · expansão regional</div>
        </div>
      </div>

      <div className="ask-foot">
        <p>
          Um motor, <span className="mono">N</span> verticais. Mesmo código,
          mesmo RAG, mesma operação servindo de catálogo food a serviços
          financeiros regulados. <em>Replicabilidade</em> não como promessa —
          como arquitetura.
        </p>
      </div>
    </section>
  );
}

// ── 12 · FECHAMENTO ────────────────────────────────────────────────
function Slide12() {
  return (
    <section data-screen-label="12 Fechamento" className="slide dark close-slide">
      <div className="slide-ticker invert">
        <span>CRUX9</span>
        <span className="dot" />
        <span>OBRIGADO</span>
      </div>
      <div className="close-grid">
        <div className="close-eyebrow mono anim-cover anim-cover-1">FIM · 12 / 12</div>
        <h1 className="close-headline anim-cover anim-cover-2">
          <span className="mask"><span className="mask-inner accent">Crux9.</span></span>
        </h1>
        <div className="close-sub anim-cover anim-cover-3">
          IA que opera dentro da operação.
        </div>
        <div className="close-meta mono anim-cover anim-cover-4">
          <div className="close-line">
            <span className="muted">CONTATO</span>
            <span>altair@crux9.com</span>
          </div>
          <div className="close-line">
            <span className="muted">WEB</span>
            <span>crux9.com</span>
            <span className="sep">·</span>
            <span>POA / RS / Brasil</span>
          </div>
          <div className="close-line">
            <span className="muted">CNPJ</span>
            <span>66.186.284/0001-60</span>
            <span className="sep">·</span>
            <span>SLU ativa · 13/04/2026</span>
          </div>
        </div>
      </div>
      <div className="close-foot mono anim-cover anim-cover-5">
        PRÊMIO SEBRAE STARTUPS 2026 · CATEGORIA SERVIÇOS DIGITAIS
      </div>
    </section>
  );
}

Object.assign(window, { Slide06, Slide07, Slide08, Slide09, Slide10, Slide11, Slide12 });
