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>
87 lines
2.4 KiB
SCSS
87 lines
2.4 KiB
SCSS
/* Tema Aurora Glass — glassmorphism escuro com aurora */
|
|
|
|
$btn-background-color: #7c6cff !default;
|
|
$btn-foreground-color: #ffffff !default;
|
|
|
|
body.welcome-anonymous,
|
|
body.login-page,
|
|
main.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));
|
|
}
|