4 temas modernos de login: aurora-glass, nordic-minimal, sunset-mesh, carbon-neon

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>
This commit is contained in:
Claude 2026-07-03 20:25:38 -03:00
parent 9ca8ea616b
commit 9c05c3e35d
16 changed files with 710 additions and 0 deletions

View file

@ -0,0 +1,77 @@
@charset "UTF-8";
/* Tema Aurora Glass — glassmorphism escuro com aurora */
body.page-anonymous {
min-height: 100vh;
background-color: #0b0e1a;
background-image: radial-gradient(40% 55% at 15% 20%, rgba(124, 108, 255, 0.45) 0%, transparent 70%), radial-gradient(45% 60% at 85% 15%, rgba(45, 212, 191, 0.35) 0%, transparent 70%), radial-gradient(50% 65% at 70% 90%, rgba(168, 85, 247, 0.35) 0%, transparent 70%), radial-gradient(35% 45% at 30% 80%, rgba(59, 130, 246, 0.3) 0%, transparent 70%);
background-attachment: fixed;
}
.page-anonymous .main-content-card .card-body {
background: rgba(255, 255, 255, 0.07);
backdrop-filter: blur(18px);
-webkit-backdrop-filter: blur(18px);
border: 1px solid rgba(255, 255, 255, 0.14);
border-radius: 20px;
padding: 2.2rem !important;
box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
}
.page-anonymous .card-header {
color: #f1f5f9;
border: 0;
background: transparent;
}
.page-anonymous .form-label,
.page-anonymous .form-check-label,
.page-anonymous .text-muted,
.page-anonymous .copyright,
.page-anonymous a {
color: #cbd5e1 !important;
}
.page-anonymous .form-control,
.page-anonymous .form-select {
background: rgba(255, 255, 255, 0.08);
border: 1px solid rgba(255, 255, 255, 0.16);
border-radius: 12px;
color: #f8fafc;
padding: 0.65rem 0.85rem;
}
.page-anonymous .form-control::placeholder,
.page-anonymous .form-select::placeholder {
color: rgba(241, 245, 249, 0.45);
}
.page-anonymous .form-control:focus,
.page-anonymous .form-select:focus {
background: rgba(255, 255, 255, 0.12);
border-color: rgba(124, 108, 255, 0.65);
box-shadow: 0 0 0 0.25rem rgba(124, 108, 255, 0.22);
color: #ffffff;
}
.page-anonymous .form-check-input {
background-color: rgba(255, 255, 255, 0.12);
border-color: rgba(255, 255, 255, 0.25);
}
.page-anonymous .btn.btn-primary {
background: linear-gradient(135deg, #7c6cff 0%, #4f8bff 100%);
border: 0;
border-radius: 12px;
color: #ffffff;
padding: 0.7rem;
font-weight: 600;
letter-spacing: 0.02em;
transition: transform 0.15s ease, box-shadow 0.15s ease;
box-shadow: 0 10px 24px rgba(124, 108, 255, 0.35);
}
.page-anonymous .btn.btn-primary:hover {
transform: translateY(-1px);
box-shadow: 0 14px 30px rgba(124, 108, 255, 0.45);
}
.page-anonymous .glpi-logo {
filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.4));
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

View file

@ -0,0 +1,85 @@
/* Tema Aurora Glass — glassmorphism escuro com aurora */
$btn-background-color: #7c6cff !default;
$btn-foreground-color: #ffffff !default;
body.page-anonymous {
min-height: 100vh;
background-color: #0b0e1a;
background-image:
radial-gradient(40% 55% at 15% 20%, rgba(124, 108, 255, 0.45) 0%, transparent 70%),
radial-gradient(45% 60% at 85% 15%, rgba(45, 212, 191, 0.35) 0%, transparent 70%),
radial-gradient(50% 65% at 70% 90%, rgba(168, 85, 247, 0.35) 0%, transparent 70%),
radial-gradient(35% 45% at 30% 80%, rgba(59, 130, 246, 0.30) 0%, transparent 70%);
background-attachment: fixed;
}
.page-anonymous .main-content-card .card-body {
background: rgba(255, 255, 255, 0.07);
backdrop-filter: blur(18px);
-webkit-backdrop-filter: blur(18px);
border: 1px solid rgba(255, 255, 255, 0.14);
border-radius: 20px;
padding: 2.2rem !important;
box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
}
.page-anonymous .card-header {
color: #f1f5f9;
border: 0;
background: transparent;
}
.page-anonymous .form-label,
.page-anonymous .form-check-label,
.page-anonymous .text-muted,
.page-anonymous .copyright,
.page-anonymous a {
color: #cbd5e1 !important;
}
.page-anonymous .form-control,
.page-anonymous .form-select {
background: rgba(255, 255, 255, 0.08);
border: 1px solid rgba(255, 255, 255, 0.16);
border-radius: 12px;
color: #f8fafc;
padding: 0.65rem 0.85rem;
&::placeholder {
color: rgba(241, 245, 249, 0.45);
}
&:focus {
background: rgba(255, 255, 255, 0.12);
border-color: rgba(124, 108, 255, 0.65);
box-shadow: 0 0 0 0.25rem rgba(124, 108, 255, 0.22);
color: #ffffff;
}
}
.page-anonymous .form-check-input {
background-color: rgba(255, 255, 255, 0.12);
border-color: rgba(255, 255, 255, 0.25);
}
.page-anonymous .btn.btn-primary {
background: linear-gradient(135deg, $btn-background-color 0%, #4f8bff 100%);
border: 0;
border-radius: 12px;
color: $btn-foreground-color;
padding: 0.7rem;
font-weight: 600;
letter-spacing: 0.02em;
transition: transform 0.15s ease, box-shadow 0.15s ease;
box-shadow: 0 10px 24px rgba(124, 108, 255, 0.35);
&:hover {
transform: translateY(-1px);
box-shadow: 0 14px 30px rgba(124, 108, 255, 0.45);
}
}
.page-anonymous .glpi-logo {
filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.4));
}

View file

@ -0,0 +1,18 @@
{
"name": "Aurora Glass",
"description": "Glassmorphism escuro com aurora em indigo, violeta e teal",
"variables": {
"btn-background-color": {
"name": "Cor de fundo dos Botões",
"default": "#7c6cff"
},
"btn-foreground-color": {
"name": "Cor do texto dos Botões",
"default": "#ffffff"
},
"card-background-color": {
"name": "Cor do cartão",
"default": ""
}
}
}

View file

@ -0,0 +1,84 @@
@charset "UTF-8";
/* Tema Carbon Neon — dark tech com glow ciano */
body.page-anonymous {
min-height: 100vh;
background-color: #07090d;
background-image: radial-gradient(55% 45% at 50% 0%, rgba(0, 229, 199, 0.14) 0%, transparent 70%), radial-gradient(40% 40% at 90% 90%, rgba(56, 189, 248, 0.1) 0%, transparent 70%), linear-gradient(rgba(148, 163, 184, 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(148, 163, 184, 0.05) 1px, transparent 1px);
background-size: 100% 100%, 100% 100%, 44px 44px, 44px 44px;
background-attachment: fixed;
}
.page-anonymous .main-content-card .card-body {
background: rgba(15, 20, 28, 0.92);
border: 1px solid rgba(0, 229, 199, 0.22);
border-radius: 16px;
padding: 2.3rem !important;
box-shadow: 0 0 0 1px rgba(0, 229, 199, 0.06), 0 0 45px rgba(0, 229, 199, 0.1), 0 26px 60px rgba(0, 0, 0, 0.6);
}
.page-anonymous .card-header {
color: #e2e8f0;
border: 0;
background: transparent;
font-weight: 600;
}
.page-anonymous .form-label {
color: #7dd3c8;
font-size: 0.78rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
}
.page-anonymous .form-control,
.page-anonymous .form-select {
background: rgba(2, 6, 12, 0.75);
border: 1px solid rgba(148, 163, 184, 0.22);
border-radius: 10px;
color: #e2e8f0;
padding: 0.65rem 0.85rem;
}
.page-anonymous .form-control::placeholder,
.page-anonymous .form-select::placeholder {
color: rgba(148, 163, 184, 0.45);
}
.page-anonymous .form-control:focus,
.page-anonymous .form-select:focus {
background: rgba(2, 6, 12, 0.9);
border-color: rgba(0, 229, 199, 0.65);
box-shadow: 0 0 0 0.25rem rgba(0, 229, 199, 0.15), 0 0 18px rgba(0, 229, 199, 0.2);
color: #ffffff;
}
.page-anonymous .form-check-input {
background-color: rgba(2, 6, 12, 0.75);
border-color: rgba(148, 163, 184, 0.35);
}
.page-anonymous .btn.btn-primary {
background: #00e5c7;
border: 0;
border-radius: 10px;
color: #031a17;
padding: 0.7rem;
font-weight: 700;
letter-spacing: 0.03em;
text-transform: uppercase;
font-size: 0.82rem;
box-shadow: 0 0 22px rgba(0, 229, 199, 0.35);
transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.page-anonymous .btn.btn-primary:hover {
transform: translateY(-1px);
box-shadow: 0 0 34px rgba(0, 229, 199, 0.55);
}
.page-anonymous .text-muted,
.page-anonymous .copyright {
color: #64748b !important;
}
.page-anonymous a {
color: #00e5c7 !important;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

View file

@ -0,0 +1,95 @@
/* Tema Carbon Neon — dark tech com glow ciano */
$btn-background-color: #00e5c7 !default;
$btn-foreground-color: #031a17 !default;
body.page-anonymous {
min-height: 100vh;
background-color: #07090d;
background-image:
radial-gradient(55% 45% at 50% 0%, rgba(0, 229, 199, 0.14) 0%, transparent 70%),
radial-gradient(40% 40% at 90% 90%, rgba(56, 189, 248, 0.10) 0%, transparent 70%),
linear-gradient(rgba(148, 163, 184, 0.05) 1px, transparent 1px),
linear-gradient(90deg, rgba(148, 163, 184, 0.05) 1px, transparent 1px);
background-size: 100% 100%, 100% 100%, 44px 44px, 44px 44px;
background-attachment: fixed;
}
.page-anonymous .main-content-card .card-body {
background: rgba(15, 20, 28, 0.92);
border: 1px solid rgba(0, 229, 199, 0.22);
border-radius: 16px;
padding: 2.3rem !important;
box-shadow:
0 0 0 1px rgba(0, 229, 199, 0.06),
0 0 45px rgba(0, 229, 199, 0.10),
0 26px 60px rgba(0, 0, 0, 0.60);
}
.page-anonymous .card-header {
color: #e2e8f0;
border: 0;
background: transparent;
font-weight: 600;
}
.page-anonymous .form-label {
color: #7dd3c8;
font-size: 0.78rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
}
.page-anonymous .form-control,
.page-anonymous .form-select {
background: rgba(2, 6, 12, 0.75);
border: 1px solid rgba(148, 163, 184, 0.22);
border-radius: 10px;
color: #e2e8f0;
padding: 0.65rem 0.85rem;
&::placeholder {
color: rgba(148, 163, 184, 0.45);
}
&:focus {
background: rgba(2, 6, 12, 0.9);
border-color: rgba(0, 229, 199, 0.65);
box-shadow: 0 0 0 0.25rem rgba(0, 229, 199, 0.15), 0 0 18px rgba(0, 229, 199, 0.20);
color: #ffffff;
}
}
.page-anonymous .form-check-input {
background-color: rgba(2, 6, 12, 0.75);
border-color: rgba(148, 163, 184, 0.35);
}
.page-anonymous .btn.btn-primary {
background: $btn-background-color;
border: 0;
border-radius: 10px;
color: $btn-foreground-color;
padding: 0.7rem;
font-weight: 700;
letter-spacing: 0.03em;
text-transform: uppercase;
font-size: 0.82rem;
box-shadow: 0 0 22px rgba(0, 229, 199, 0.35);
transition: box-shadow 0.15s ease, transform 0.15s ease;
&:hover {
transform: translateY(-1px);
box-shadow: 0 0 34px rgba(0, 229, 199, 0.55);
}
}
.page-anonymous .text-muted,
.page-anonymous .copyright {
color: #64748b !important;
}
.page-anonymous a {
color: #00e5c7 !important;
}

View file

@ -0,0 +1,18 @@
{
"name": "Carbon Neon",
"description": "Dark tech com glow ciano sobre carbono",
"variables": {
"btn-background-color": {
"name": "Cor de fundo dos Botões",
"default": "#00e5c7"
},
"btn-foreground-color": {
"name": "Cor do texto dos Botões",
"default": "#031a17"
},
"card-background-color": {
"name": "Cor do cartão",
"default": ""
}
}
}

View file

@ -0,0 +1,71 @@
@charset "UTF-8";
/* Tema Nordic Minimal — claro, limpo, escandinavo */
body.page-anonymous {
min-height: 100vh;
background-color: #f4f6f8;
background-image: linear-gradient(rgba(30, 58, 95, 0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(30, 58, 95, 0.045) 1px, transparent 1px), radial-gradient(60% 50% at 100% 0%, rgba(30, 58, 95, 0.07) 0%, transparent 70%);
background-size: 32px 32px, 32px 32px, 100% 100%;
background-attachment: fixed;
}
.page-anonymous .main-content-card .card-body {
background: #ffffff;
border: 1px solid #e8ecf1;
border-radius: 16px;
padding: 2.4rem !important;
box-shadow: 0 20px 50px rgba(30, 58, 95, 0.1), 0 2px 8px rgba(30, 58, 95, 0.05);
}
.page-anonymous .card-header {
color: #1e293b;
border: 0;
background: transparent;
font-weight: 600;
}
.page-anonymous .form-label {
color: #475569;
font-weight: 500;
font-size: 0.8rem;
text-transform: uppercase;
letter-spacing: 0.06em;
}
.page-anonymous .form-control,
.page-anonymous .form-select {
background: #fafbfc;
border: 1px solid #dfe5ec;
border-radius: 10px;
color: #1e293b;
padding: 0.65rem 0.85rem;
transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.page-anonymous .form-control:focus,
.page-anonymous .form-select:focus {
background: #ffffff;
border-color: #1e3a5f;
box-shadow: 0 0 0 0.25rem rgba(30, 58, 95, 0.12);
}
.page-anonymous .btn.btn-primary {
background: #1e3a5f;
border: 0;
border-radius: 10px;
color: #ffffff;
padding: 0.7rem;
font-weight: 600;
transition: filter 0.15s ease, transform 0.15s ease;
}
.page-anonymous .btn.btn-primary:hover {
filter: brightness(1.15);
transform: translateY(-1px);
}
.page-anonymous .text-muted,
.page-anonymous .copyright {
color: #94a3b8 !important;
}
.page-anonymous a {
color: #1e3a5f !important;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

View file

@ -0,0 +1,78 @@
/* Tema Nordic Minimal — claro, limpo, escandinavo */
$btn-background-color: #1e3a5f !default;
$btn-foreground-color: #ffffff !default;
body.page-anonymous {
min-height: 100vh;
background-color: #f4f6f8;
background-image:
linear-gradient(rgba(30, 58, 95, 0.045) 1px, transparent 1px),
linear-gradient(90deg, rgba(30, 58, 95, 0.045) 1px, transparent 1px),
radial-gradient(60% 50% at 100% 0%, rgba(30, 58, 95, 0.07) 0%, transparent 70%);
background-size: 32px 32px, 32px 32px, 100% 100%;
background-attachment: fixed;
}
.page-anonymous .main-content-card .card-body {
background: #ffffff;
border: 1px solid #e8ecf1;
border-radius: 16px;
padding: 2.4rem !important;
box-shadow: 0 20px 50px rgba(30, 58, 95, 0.10), 0 2px 8px rgba(30, 58, 95, 0.05);
}
.page-anonymous .card-header {
color: #1e293b;
border: 0;
background: transparent;
font-weight: 600;
}
.page-anonymous .form-label {
color: #475569;
font-weight: 500;
font-size: 0.8rem;
text-transform: uppercase;
letter-spacing: 0.06em;
}
.page-anonymous .form-control,
.page-anonymous .form-select {
background: #fafbfc;
border: 1px solid #dfe5ec;
border-radius: 10px;
color: #1e293b;
padding: 0.65rem 0.85rem;
transition: border-color 0.15s ease, box-shadow 0.15s ease;
&:focus {
background: #ffffff;
border-color: $btn-background-color;
box-shadow: 0 0 0 0.25rem rgba(30, 58, 95, 0.12);
}
}
.page-anonymous .btn.btn-primary {
background: $btn-background-color;
border: 0;
border-radius: 10px;
color: $btn-foreground-color;
padding: 0.7rem;
font-weight: 600;
transition: filter 0.15s ease, transform 0.15s ease;
&:hover {
filter: brightness(1.15);
transform: translateY(-1px);
}
}
.page-anonymous .text-muted,
.page-anonymous .copyright {
color: #94a3b8 !important;
}
.page-anonymous a {
color: #1e3a5f !important;
}

View file

@ -0,0 +1,18 @@
{
"name": "Nordic Minimal",
"description": "Minimalista claro escandinavo com acento azul profundo",
"variables": {
"btn-background-color": {
"name": "Cor de fundo dos Botões",
"default": "#1e3a5f"
},
"btn-foreground-color": {
"name": "Cor do texto dos Botões",
"default": "#ffffff"
},
"card-background-color": {
"name": "Cor do cartão",
"default": ""
}
}
}

View file

@ -0,0 +1,70 @@
@charset "UTF-8";
/* Tema Sunset Mesh — mesh gradient quente */
body.page-anonymous {
min-height: 100vh;
background-color: #fff1eb;
background-image: radial-gradient(45% 55% at 10% 15%, rgba(255, 122, 89, 0.55) 0%, transparent 70%), radial-gradient(50% 60% at 90% 10%, rgba(255, 190, 92, 0.5) 0%, transparent 70%), radial-gradient(55% 65% at 85% 85%, rgba(196, 113, 245, 0.4) 0%, transparent 70%), radial-gradient(45% 55% at 15% 90%, rgba(250, 113, 133, 0.45) 0%, transparent 70%);
background-attachment: fixed;
}
.page-anonymous .main-content-card .card-body {
background: rgba(255, 255, 255, 0.72);
backdrop-filter: blur(14px);
-webkit-backdrop-filter: blur(14px);
border: 1px solid rgba(255, 255, 255, 0.85);
border-radius: 22px;
padding: 2.3rem !important;
box-shadow: 0 22px 55px rgba(148, 63, 106, 0.22);
}
.page-anonymous .card-header {
color: #3b1d54;
border: 0;
background: transparent;
font-weight: 700;
}
.page-anonymous .form-label {
color: #6b4a7e;
font-weight: 500;
}
.page-anonymous .form-control,
.page-anonymous .form-select {
background: rgba(255, 255, 255, 0.85);
border: 1px solid rgba(196, 113, 245, 0.3);
border-radius: 12px;
color: #3b1d54;
padding: 0.65rem 0.85rem;
}
.page-anonymous .form-control:focus,
.page-anonymous .form-select:focus {
background: #ffffff;
border-color: #c471f5;
box-shadow: 0 0 0 0.25rem rgba(196, 113, 245, 0.2);
}
.page-anonymous .btn.btn-primary {
background: #1f1235;
border: 0;
border-radius: 12px;
color: #ffffff;
padding: 0.7rem;
font-weight: 600;
letter-spacing: 0.02em;
box-shadow: 0 12px 26px rgba(31, 18, 53, 0.35);
transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.page-anonymous .btn.btn-primary:hover {
transform: translateY(-1px);
box-shadow: 0 16px 32px rgba(31, 18, 53, 0.45);
}
.page-anonymous .text-muted,
.page-anonymous .copyright {
color: #8a6aa0 !important;
}
.page-anonymous a {
color: #7828c8 !important;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 7 KiB

View file

@ -0,0 +1,78 @@
/* Tema Sunset Mesh — mesh gradient quente */
$btn-background-color: #1f1235 !default;
$btn-foreground-color: #ffffff !default;
body.page-anonymous {
min-height: 100vh;
background-color: #fff1eb;
background-image:
radial-gradient(45% 55% at 10% 15%, rgba(255, 122, 89, 0.55) 0%, transparent 70%),
radial-gradient(50% 60% at 90% 10%, rgba(255, 190, 92, 0.50) 0%, transparent 70%),
radial-gradient(55% 65% at 85% 85%, rgba(196, 113, 245, 0.40) 0%, transparent 70%),
radial-gradient(45% 55% at 15% 90%, rgba(250, 113, 133, 0.45) 0%, transparent 70%);
background-attachment: fixed;
}
.page-anonymous .main-content-card .card-body {
background: rgba(255, 255, 255, 0.72);
backdrop-filter: blur(14px);
-webkit-backdrop-filter: blur(14px);
border: 1px solid rgba(255, 255, 255, 0.85);
border-radius: 22px;
padding: 2.3rem !important;
box-shadow: 0 22px 55px rgba(148, 63, 106, 0.22);
}
.page-anonymous .card-header {
color: #3b1d54;
border: 0;
background: transparent;
font-weight: 700;
}
.page-anonymous .form-label {
color: #6b4a7e;
font-weight: 500;
}
.page-anonymous .form-control,
.page-anonymous .form-select {
background: rgba(255, 255, 255, 0.85);
border: 1px solid rgba(196, 113, 245, 0.30);
border-radius: 12px;
color: #3b1d54;
padding: 0.65rem 0.85rem;
&:focus {
background: #ffffff;
border-color: #c471f5;
box-shadow: 0 0 0 0.25rem rgba(196, 113, 245, 0.20);
}
}
.page-anonymous .btn.btn-primary {
background: $btn-background-color;
border: 0;
border-radius: 12px;
color: $btn-foreground-color;
padding: 0.7rem;
font-weight: 600;
letter-spacing: 0.02em;
box-shadow: 0 12px 26px rgba(31, 18, 53, 0.35);
transition: transform 0.15s ease, box-shadow 0.15s ease;
&:hover {
transform: translateY(-1px);
box-shadow: 0 16px 32px rgba(31, 18, 53, 0.45);
}
}
.page-anonymous .text-muted,
.page-anonymous .copyright {
color: #8a6aa0 !important;
}
.page-anonymous a {
color: #7828c8 !important;
}

View file

@ -0,0 +1,18 @@
{
"name": "Sunset Mesh",
"description": "Mesh gradient quente em coral, âmbar e violeta",
"variables": {
"btn-background-color": {
"name": "Cor de fundo dos Botões",
"default": "#1f1235"
},
"btn-foreground-color": {
"name": "Cor do texto dos Botões",
"default": "#ffffff"
},
"card-background-color": {
"name": "Cor do cartão",
"default": ""
}
}
}