UI Toolkit
Every piece the dashboard is built from, in one place. Plain Tailwind utilities, light and dark.
Tokens
Colors, radius and spacing. Each color has a light and a dark value.
Typography
Inter for interface text, JetBrains Mono for hashes, tokens and code.
Forms
Labels above fields, help text below. Errors say what to do next.
- Claude Code
- Codex
- Grok
Selects
One select everywhere, in the toolkit's type and colors. The list opens in the browser's top layer, so no sidebar or overflow clips it, and flips up near the bottom. Arrows, Home, End, letters, Enter, Escape and Tab work as in a native select; the form still submits a plain select.
- Manhã
- Tarde
- Noite
- 5º ano A
- 5º ano B
- 6º ano A
- Motivo…
- Atestado médico
- Viagem
- Outro
- E.M. Vila Galvão
- E.M. Jardim das Oliveiras
- E.M. Santa Rita
- E.M. Parque Alvorada
- E.M. Morada do Sol
- E.M. Boa Vista
- E.M. Lago Azul
- E.M. Conjunto Uirapuru
- E.M. Residencial Alvorada II
- E.M. Jardim Canedo
- E.M. São Francisco
- E.M. Setor Sul
- Nenhuma opção encontrada
- Hoje
- 7 dias
- 30 dias
- E.M. Vila Galvão
- E.M. Jardim das Oliveiras
- E.M. Santa Rita
- E.M. Parque Alvorada
- E.M. Morada do Sol
- E.M. Boa Vista
- E.M. Lago Azul
- E.M. Conjunto Uirapuru
- E.M. Residencial Alvorada II
- E.M. Jardim Canedo
- E.M. São Francisco
- E.M. Setor Sul
- Nenhuma opção encontrada
- Escolha uma área
- Bloco A
- Portaria principal
- Pátio
- Biblioteca
- Bloco B
- Portaria de serviço
- Quadra
- Anexo
- Laboratório
- Administrador
- Porteiro
- Encarregado de dados
- Diretor (em breve)
- Administrador
- Porteiro
- Encarregado de dados
- Diretor (em breve)
Status
Verdicts, states, providers and roles. Color always comes with a word.
Data
Numbers first. Every number says what it counts and over which period.
| Member | Role | Sessions | Tokens | Est. cost | Last active |
|---|---|---|---|---|---|
| AS Ana Souza ana@softforge.dev | Admin | 128 | 6.2M | $412 | 2 min ago |
| BR Bruno Reis bruno@softforge.dev | Developer | 96 | 5.1M | $348 | 12 min ago |
| CM Carla Mendes carla@softforge.dev | Developer | 74 | 3.9M | $266 | 1 h ago |
| DP Diego Prado diego@softforge.dev | Member | 31 | 2.4M | $171 | Yesterday |
Distribution
Stacked bars per interval. Pick what to group by, then select a bar to see who made it up.
Where usage happens
6,980 requests in the period · demo data
Select an interval to see its distribution. Times use this browser's time zone.
Compositions
The product's own building blocks: a commit with its AI session, and a judge flag.
Bruno's prompt to Codex included a value that looks like a live Stripe key. The judge redacted it before storing the transcript.
STRIPE_KEY=sk_live_••••••••••3f9a
Clickable cards
A card or row with a page of its own opens from anywhere on it. Its main link is a stretched_link: the card is relative group/card, every other control inside is relative z-10, and middle-click still opens a new tab.
| Ana Souza | Professora | |
| Bruno Reis | Aluno |
Feedback
Every action answers. Every data surface has an empty, loading, error and no-access state.
Scrollbars
One quiet scrollbar everywhere: thin, rounded, no arrows, no track. The root layout sets it once on <html>; components add nothing.
Scroll with
overflow-y-auto
and stop there. Add
[scrollbar-gutter:stable]
when the bar comes and goes and would shift the content.
Never set scrollbar-width,
scrollbar-color
or
::-webkit-scrollbar
on a component: Chromium then drops the shared look for that element.
Chromium and Safari draw the bar from the
scrollbar*
variants; Firefox gets
scrollbar-width: thin
and the scrollbar
color token. Only a carousel hides it.
Tips
Tooltips drawn in the browser's top layer, so nothing clips them: not the sidebar, not a dialog, not a scrolling list. Hover, focus or tap the trigger. The native title attribute stays only on truncated text, where it repeats what is cut.
- Arthur Lima 14:59
- Beatriz Souza 13:02
- Elisa Prado 13:01
- Presentes
- 24
- Atrasados
- 3
- Faltas
- 1