- 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>
148 lines
No EOL
3.9 KiB
CSS
148 lines
No EOL
3.9 KiB
CSS
@charset "UTF-8";
|
|
/* Tema Aurora Glass — cartão de vidro compacto centrado, inputs pill,
|
|
blobs de aurora animados flutuando */
|
|
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.3) 0%, transparent 70%);
|
|
background-attachment: fixed;
|
|
}
|
|
|
|
/* blobs animados flutuando atrás do cartão */
|
|
main.page-anonymous {
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
main.page-anonymous::before, main.page-anonymous::after {
|
|
content: "";
|
|
position: fixed;
|
|
width: 420px;
|
|
height: 420px;
|
|
border-radius: 50%;
|
|
filter: blur(70px);
|
|
opacity: 0.5;
|
|
pointer-events: none;
|
|
z-index: 0;
|
|
}
|
|
main.page-anonymous::before {
|
|
background: radial-gradient(circle, rgba(124, 108, 255, 0.55), transparent 65%);
|
|
top: -120px;
|
|
left: -80px;
|
|
animation: butterfly-float-a 14s ease-in-out infinite alternate;
|
|
}
|
|
main.page-anonymous::after {
|
|
background: radial-gradient(circle, rgba(45, 212, 191, 0.45), transparent 65%);
|
|
bottom: -140px;
|
|
right: -60px;
|
|
animation: butterfly-float-b 17s ease-in-out infinite alternate;
|
|
}
|
|
|
|
@keyframes butterfly-float-a {
|
|
from {
|
|
transform: translate(0, 0) scale(1);
|
|
}
|
|
to {
|
|
transform: translate(70px, 50px) scale(1.15);
|
|
}
|
|
}
|
|
@keyframes butterfly-float-b {
|
|
from {
|
|
transform: translate(0, 0) scale(1.1);
|
|
}
|
|
to {
|
|
transform: translate(-60px, -50px) scale(0.95);
|
|
}
|
|
}
|
|
/* cartão compacto que abraça o form */
|
|
.page-anonymous .container-tight {
|
|
max-width: 26rem !important;
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
|
|
.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: 26px;
|
|
padding: 2.2rem !important;
|
|
box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
|
|
}
|
|
|
|
.page-anonymous .main-content-card .col-md-5 {
|
|
width: 100% !important;
|
|
max-width: none;
|
|
flex: 1 1 100%;
|
|
}
|
|
|
|
.page-anonymous .card-header {
|
|
color: #f1f5f9;
|
|
border: 0;
|
|
background: transparent;
|
|
}
|
|
.page-anonymous .card-header h2 {
|
|
font-weight: 600;
|
|
}
|
|
|
|
.page-anonymous .form-label,
|
|
.page-anonymous .form-check-label,
|
|
.page-anonymous .text-muted,
|
|
.page-anonymous .copyright,
|
|
.page-anonymous a {
|
|
color: #cbd5e1 !important;
|
|
}
|
|
|
|
/* inputs pill */
|
|
.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: 999px;
|
|
color: #f8fafc;
|
|
padding: 0.65rem 1.2rem;
|
|
}
|
|
.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 .select2-container .select2-selection {
|
|
background: rgba(255, 255, 255, 0.08);
|
|
border: 1px solid rgba(255, 255, 255, 0.16);
|
|
border-radius: 999px;
|
|
}
|
|
|
|
.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: 999px;
|
|
color: #ffffff;
|
|
padding: 0.72rem;
|
|
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));
|
|
} |