Cada tema agora expõe variáveis próprias no theme.json (color pickers
na config, injetadas no compile SCSS com !default):
- aurora-glass: page-background + aurora-color-1/2/3 (gradientes e blobs)
- nordic-minimal: page-background, panel-background e decor-color
(grid, anéis e sombra do painel)
- sunset-mesh: page-background, accent-color (links/foco) e
mesh-color-1..4 (os 4 lóbulos do mesh)
- carbon-neon: page-background, glow-color (bordas/glow/prompt/cursor)
e terminal-background-color
Tons translúcidos derivados de variável usam color-mix() do CSS (scssphp
não avalia rgba($var) de cor injetada; color-mix passa direto e o browser
resolve). Validado: injeção de variável altera o CSS compilado e os 4
temas servem color-mix na página de login.
Temas legados removidos (aurora-boreal, baloons, cloud, desktop, light,
neon, night, original, power-red, prompt-developer) — catálogo agora são
só os 4 modernos.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- nordic-minimal: split-screen padrão Stripe/Notion — painel branco
full-height ancorado à direita, anéis decorativos no lado livre,
form alinhado à esquerda dentro do painel.
- carbon-neon: janela de terminal ancorada à esquerda — title bar com
os 3 botões (no .card-header vazio do card), título user@glpi:~/login,
labels com prompt '>', cursor '_' piscando no h2, botão '$ ENTRAR'
outline que preenche no hover.
- sunset-mesh: borderless padrão Linear/Vercel — sem card, coluna
estreita direto no mesh, inputs underline, botão pill.
- aurora-glass: glass compacto centrado (26rem) abraçando o form,
inputs pill e dois blobs de aurora animados (keyframes) atrás.
Todos estilizam select2 do dropdown de origem de login e têm fallback
responsivo (painel/terminal centralizam em telas estreitas). Previews
regenerados refletindo o layout de cada tema.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
O body da tela de login do GLPI 11 é <body class="welcome-anonymous">;
.page-anonymous fica no <main>. Os seletores body.page-anonymous nunca
casavam e o cinza padrão do Tabler ficava por cima. Agora o fundo é
aplicado em body.welcome-anonymous, body.login-page e main.page-anonymous
(background-attachment: fixed alinha as camadas no viewport).
Gotcha de dev: o cache do compileScss é chaveado pelo texto do @import,
não pelo conteúdo do arquivo — editar login.scss exige ?reload=1 na URL
do login para recompilar.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Temas 100% CSS (sem fotos de fundo — gradientes, mesh e glassmorphism),
seguindo o contrato de variáveis existente (btn-background/foreground,
card-background) e estilizando o .card-body interno (o scss.class força
.main-content-card transparente quando não há cor de cartão definida).
- aurora-glass: glassmorphism escuro, aurora indigo/violeta/teal,
backdrop-filter blur no cartão
- nordic-minimal: claro escandinavo, grid sutil, acento azul profundo
- sunset-mesh: mesh gradient quente (coral/âmbar/violeta), cartão
translúcido estilo Stripe/Linear
- carbon-neon: dark tech, grid de carbono, glow ciano no cartão e botão
login.css fallback compilado com o próprio scssphp do core; previews
renderizados por script PHP GD (gradientes por pixel + mockup do cartão).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>