Fundamentos
Uma cor de ação, uma escala tipográfica de duas famílias e uma regra de forma que o sistema inteiro obedece: quase nada é arredondado.
Cores
O laranja é ação e foco, nunca decoração. O preto carrega hierarquia (topo, hero, planos em destaque). O papel é o fundo de tudo — o sistema não usa branco puro como superfície de página, só dentro de caixas.
:root{
--orange:#FF4B12; --orange2:#FF7A45;
--ink:#0B0B0B; --ink2:#171613;
--paper:#F1F0EC; --paper2:#E4E3DC;
--line:#C9C7BE; --muted:#6E6B62;
--ok:#166534; --erro:#B3261E; --alerta:#8A5A00;
}
--ink ou --muted. Sobre o preto, use
--orange2 (#FF7A45), que é o tom claro criado exatamente para isso.Tipografia
Archivo para conteúdo, com pesos altos e entrelinha apertada
(letter-spacing negativo nos títulos). IBM Plex Mono para tudo
que é etiqueta: botões, tags, rótulos de campo, metadados. A regra é simples — se o texto
nomeia alguma coisa, é mono e caixa alta; se ele é lido, é Archivo.
Título de página
Título de seção
Subtítulo
Parágrafo de abertura, logo abaixo do título.
Texto corrido do sistema, no painel e no site.
Explicação de apoio, abaixo de tabela ou campo.
Categoria acima do título
<p class="eyebrow">Categoria</p> <h1>Título de página</h1> <p class="lede">Parágrafo de abertura.</p> <p>Texto corrido.</p> <p class="pequeno">Explicação de apoio.</p> /* o eyebrow carrega a barrinha laranja no ::before — é ela que identifica a marca antes de qualquer logo */
Espaço e forma
Escala
Seções usam clamp() em vez de
valor fixo: padding:clamp(16px,2.2vw,26px). O sistema respira menos no
celular sem precisar de media query.
Forma
tudo: caixas, botões, campos
1px sólido, cor --line
mensagens e destaques
profundidade vem da borda
Componentes
Cada bloco traz o componente ao vivo, o selo do que já existe e o HTML para copiar.
Botões
São dois conjuntos, e a diferença é o lugar: .btn é do site
público (contorno por padrão, .forte em laranja para a ação principal);
button é do painel (preenchido em preto, .sec para secundário,
.peq dentro de tabela).
<div class="acoes"> <a class="btn forte" href="#">Ação principal</a> <a class="btn" href="#">Ação secundária</a> </div>
td.acoes
<button type="submit">Gravar</button>
<button type="button" class="sec">Cancelar</button>
<button type="submit" class="peq sec">apagar</button>
/* no PHP, o botão de ação em tabela sai pronto: */
<?= adm_botao_post('sala_apagar', ['id' => $id], 'apagar', 'sec',
'Apagar a sala? Não há desfazer.') ?>
<a class="btn forte" href="#">Ação principal</a> <a class="btn claro" href="#">Contorno claro</a> /* nunca use .btn sem modificador sobre preto: a borda escura desaparece no fundo */
Formulários
<div class="campo"> <label for="nome">Nome da sala</label> <input id="nome" name="nome" type="text" placeholder="Encontro da Turma 01"> <p class="dica">Explicação curta do campo.</p> </div> <label class="marcar"><input type="checkbox"> <span>Rótulo da opção</span></label> /* o painel envolve tudo em .grade para virar coluna no celular */ <div class="grade" style="grid-template-columns:repeat(auto-fit,minmax(230px,1fr))">
Caixas e cartões
Servidor
Uma caixa por assunto. É a unidade de composição do painel inteiro: título, conteúdo e, quando precisa, a explicação do porquê no fim.
Caixa escura
Para o que é privilegiado ou definitivo — um plano em destaque, um aviso de operação.
<div class="caixa"> <h2>Servidor</h2> … <p class="pequeno">Por que este campo existe.</p> </div> <div class="caixa escura">…</div>
Harness de agentes
Como colocar um agente sob regra e medir o que ele entrega.
12 hR$ 480- Catálogo completo
- Material de apoio
- Sem prazo
- 16 encontros de 3h
- Duas imersões
- Sistema no ar
<a class="card" href="/curso.php?c=harness"> <span class="tag o">4 etapas</span> <h4>Harness de agentes</h4> <p class="pequeno">Descrição curta.</p> <span class="pe"><span>12 h</span><b>R$ 480</b></span> </a> <div class="plano destaque"> <span class="nome">ONDA · Turma 01</span> <div class="preco">R$ 800</div> <ul><li>16 encontros de 3h</li></ul> </div>
O que você precisa saber
- Cada turma sai com um sistema em produção, não com certificado.
- São 16 encontros semanais de 3h mais duas imersões de 8h.
- A garantia da primeira onda cobre as quatro primeiras semanas.
<div class="numero"><b>149</b><span>aulas publicadas</span></div>
<div class="destaque-cx"><h4>O que você precisa saber</h4>
<ul><li>Item</li></ul></div>
<div class="pessoa"><span class="pessoa__av">SB</span>
<div><div class="pessoa__nome">Nome</div>
<div class="pessoa__papel">Papel</div></div></div>
Listas
Incluído
- Material das cinco ondas
- Videoaulas
- Sala de vídeo
- Certificado de conclusão
Características
- Encontros semanais
- Turma reduzida
- Caso real da sua operação
- Entregável verificado
Como funciona
- A equipe traz o problema real
- O sistema nasce sob harness
- Cada onda entrega uma parte no ar
- A última semana é a virada de chave
<ul class="lista-ok"><li>Item com marca de conferido</li></ul> <ul class="lista-tr"><li>Item com traço</li></ul> <ol class="lista-n"><li>Passo numerado (01, 02…)</li></ol>
Feedback
<div class="msg a">Deu certo.</div> <div class="msg w">Atenção: falta configurar algo.</div> <div class="msg e">Não deu, e este é o motivo.</div> /* no PHP elas vêm de adm_voltar($msg, 'a'|'w'|'e') */
.msg de erro ou alerta carrega a saída.<div class="barra"><div class="barra__fill" style="width:15%"></div></div> <span class="dica-tip" data-tip="Texto de apoio">termo</span> <button data-modal-abrir="dlg">Abrir diálogo</button> /* o painel já tem um diálogo de confirmação pronto: qualquer <form data-confirmar="…"> pergunta antes de enviar — ver adm_confirmar_js() em _admin.php */
Tabelas
| Sala | Tipo | Usos | Estado | Ações |
|---|---|---|---|---|
| Encontro da Turma 01 T01 · Turma 01 |
sala da turma | 12 | aberta | |
| Plantão GPlanSiS | sala livre | 3 | aberta | |
| Reunião · 03/09 16:20 | reunião 1:1 | 1 | fechada |
Explicação abaixo da tabela, sempre: o que a coluna significa e o que a ação faz de irreversível.
<div class="rolar">
<table>
<thead><tr><th>Sala</th><th class="n">Usos</th></tr></thead>
<tbody><tr><td>…</td><td class="n">12</td></tr></tbody>
</table>
</div>
/* adm_fechar() copia o <th> para data-label de cada <td>:
no celular a tabela vira cartão sem ninguém anotar nada */
Blocos de página
Seções inteiras, na ordem em que o site as empilha.
Turma 01 · início 06/10/2026
Sua equipe sai com um sistema no ar.
Não é curso que termina em certificado. São 18 semanas em que cada setor constrói e coloca em produção o próprio sistema.
<section class="hero"><div class="wrap"> <p class="eyebrow">Turma 01 · início 06/10/2026</p> <h1>Sua equipe sai com um sistema <em>no ar</em>.</h1> <p class="lede">Subtítulo.</p> <div class="acoes"><a class="btn forte" href="#">Ação</a></div> </div></section> /* o <em> dentro do h1 pinta a palavra de laranja — é o único destaque tipográfico do sistema */
Pronto para pôr o primeiro sistema no ar?
Fale com a gente e veja se a sua operação cabe na próxima turma.
<div class="cta"> <h2>Título da chamada</h2> <p>Texto de apoio.</p> <div class="cluster"><a class="btn forte" href="#">Ação</a></div> </div> /* regra do sistema: todo CTA de WhatsApp tem o par por e-mail — quem está no computador do trabalho não tem o app */
- Topbar de sessão (só com login) —
topbar_html() - Nav do site ou
.topodo painel - Hero preto: eyebrow, h1 com
<em>, lede, ações - Faixa de fatos em mono
- Seções de conteúdo em
.caixaou.card - Tabela em
.rolar, com explicação embaixo - Chamada final e rodapé
<body>
<?= topbar_html() ?> /* só com sessão */
<nav class="topo">…</nav>
<section class="hero">…</section>
<section class="sec"><div class="wrap">
<div class="grade g3">…</div>
</div></section>
<footer>…</footer>
</body>
Como usar
1. A fonte da verdade é o PHP
Os estilos moram em site_css() (_site.php),
adm_css() (_admin.php) e no bloco do _topbar.php. Esta página
é o espelho, não o original: mudou lá, atualize aqui.
2. Nunca escreva cor à mão
Use as variáveis. Um #FF4B12 solto no meio de um arquivo é
o que impede trocar a marca depois — e sempre aparece um.
3. Nomes em português
O sistema inteiro nomeia em português: .caixa,
.msg, .tag, .rolar, .pequeno.
Componente novo segue a mesma língua.
4. Acessibilidade
Foco visível em laranja, sempre. Abas e sanfona já vêm com
aria-expanded / aria-selected. Rótulo de campo é obrigatório.