Filosofia
MGConnect é um sistema de telemetria veicular operado por frotistas, mecânicos e analistas. A interface precisa entregar muita informação rapidamente, sem distrair. O design é industrial, não consumer; operacional, não decorativo; e privilegia densidade informacional sobre espaço em branco generoso.
Princípios
- Leitura rápida — números monoespaçados, hierarquia tipográfica enxuta, sem decoração entre dado e olho.
- Baixa distração — animações curtas (≤250ms), cores fortes só para sinal, não para decoração.
- Alta densidade — minicards de 95×~60px cabem 3-12 por linha; grid é o padrão sobre lista vertical.
- Estado sempre visível — online/offline/loading nunca ambíguo; tempos sempre presentes; OTA com etapa numerada.
- Dark é primário — operadores passam horas na tela; light existe para sol direto.
- Mobile preserva densidade — não simplificamos no celular; mantemos minicards, viramos modal em bottom-sheet.
Regras
Decisões fechadas. Não negociar caso-a-caso — alinhe aqui antes.
--mgc-radius-xl (16px). Minicards usam --mgc-radius-md (8px). Modais usam --mgc-radius-2xl (18px). Nenhum valor entre estes.--mgc-danger (#e74c3c): deletar, abortar OTA, reset hard, desativar veículo. Não confundir com erro de display (que é alert, não button).--mgc-info ou --mgc-warning para destacar sem alarmar.--mgc-trans-fast (120ms). Exceção: cards que levantam (transform translateY) usam --mgc-trans-slow (250ms) porque elasticidade pede mais tempo.--mgc-overlay (rgba 0.55 / 0.68 dark) com backdrop-filter: blur(2px). Mobile vira bottom-sheet automaticamente abaixo de 600px..mgc-mono. Habilita tabular-nums — colunas de números alinham sozinhas.#fff, #1e293b). Use sempre var(--mgc-…). Hard-code quebra dark mode.<body class="dark-mode">. Compatível com Albert View atual. Todos os componentes herdam via variáveis — nenhuma classe precisa de override manual.--mgc-info). Não remover. Acessibilidade não é opcional.Como usar
Em qualquer página MGConnect, adicione apenas o link CSS e marque o body.
Setup mínimo
Toggle dark/light em JS
Cores
Tokens semânticos, nunca literais. Cada cor tem um papel definido.
Superfícies
Texto
Status semântico
Bordas e sombras
Tipografia
Sans para texto, mono para dados. Escala compacta — 6 tamanhos.
Famílias
Escala
Espaçamento
Escala 4px. Tudo é múltiplo. Nada de ad-hoc.
Raios
7 valores. Cada componente tem o seu — fixo.
Sombras
4 níveis. Adapta automaticamente para dark mode.
Transições
3 velocidades. Padrão é fast (120ms).
--mgc-trans-fast: 120ms — hover, mudança de cor, toggle. Padrão.--mgc-trans-base: 200ms — barras de progresso, painéis abrindo.--mgc-trans-slow: 250ms — transform elástico (cards levantando).Demo (passe o mouse)
levanta no hover
Botões
Default → ação reversível. Primary → ação principal. Danger → destrutivo.
Variantes
Tamanhos
Icon button
Status badges & Pills
Sinalização visual de estado. Cor sempre semântica.
Status badge (120×38px, dentro de card)
Pills (tag minúscula em listas)
Cards
Container padrão. Radius 16px (xl), padding 16px, shadow-md.
PRZ · IVC4026
OKGRT · JCU5A70
SENSORPZT · XAF1100
ERROMinicards
Densidade máxima — 95px de largura. 9-12 por linha em desktop, 3 em mobile.
Grids
.mgc-grid padrão é responsivo (auto-fill minmax 240px). Para mini, use .mgc-grid--mini.
Padrão
Alerts
Mensagens contextuais. Diferente de status — fala da operação, não do veículo.
Tabelas
Densas, monoespaçadas, sticky-header. Hover de linha sinaliza interatividade.
| Sigla | Placa | Status | Vel | RPM | Último sinal |
|---|---|---|---|---|---|
| PRZ | IVC4026 | OK | 82 | 1840 | 12s |
| GRT | JCU5A70 | ATENÇÃO | 0 | 760 | 8s |
| PZT | XAF1100 | OFFLINE | — | — | 3h12m |
| VND | VEC8821 | OTA | 0 | 820 | 2s |
Timeline
Eventos discretos em ordem temporal. Cor do marcador codifica natureza.
Barra OTA
Progresso + etapa numerada. Cor da barra sinaliza estado global.
Modal
Overlay 0.55, blur 2px, content radius 18px. Mobile vira bottom-sheet.
Tooltips
Conteúdo informativo on-hover, fora do fluxo da página.
Passe o mouse no card abaixo para ver o tooltip.
Loaders
Spinner, dots, pulse, toast. Cada um sinaliza um tipo de espera.