butterfly/themes/nordic-minimal/login.css
Claude d36e14c767 Temas: variáveis de cor por tema + remoção dos 10 temas legados
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>
2026-07-03 20:54:58 -03:00

151 lines
No EOL
3.7 KiB
CSS

@charset "UTF-8";
/* Tema Nordic Minimal — split-screen: painel branco full-height à direita,
fundo decorativo à esquerda (padrão Stripe/Notion) */
body.welcome-anonymous,
body.login-page,
main.page-anonymous {
min-height: 100vh;
background-color: #eef2f6;
background-image: linear-gradient(color-mix(in srgb, #1e3a5f 5%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, #1e3a5f 5%, transparent) 1px, transparent 1px), radial-gradient(45% 60% at 25% 35%, color-mix(in srgb, #1e3a5f 16%, transparent) 0%, transparent 70%), radial-gradient(35% 45% at 10% 80%, color-mix(in srgb, #1e3a5f 12%, rgba(96, 165, 250, 0)) 0%, transparent 70%);
background-size: 36px 36px, 36px 36px, 100% 100%, 100% 100%;
background-attachment: fixed;
}
/* anéis decorativos no lado esquerdo livre */
main.page-anonymous {
position: relative;
}
main.page-anonymous::before {
content: "";
position: fixed;
left: 8vw;
top: 50%;
transform: translateY(-50%);
width: 340px;
height: 340px;
border: 2px solid color-mix(in srgb, #1e3a5f 14%, transparent);
border-radius: 50%;
pointer-events: none;
}
main.page-anonymous::after {
content: "";
position: fixed;
left: calc(8vw + 60px);
top: calc(50% - 110px);
width: 220px;
height: 220px;
border: 2px dashed color-mix(in srgb, #1e3a5f 20%, transparent);
border-radius: 50%;
pointer-events: none;
}
/* painel ancorado à direita, altura total */
.page-anonymous .flex-fill.d-flex.flex-column {
padding: 0 !important;
margin: 0 !important;
min-height: 100vh;
align-items: flex-end;
}
.page-anonymous .container-tight {
margin: 0 !important;
width: 30rem;
max-width: 100vw !important;
min-height: 100vh;
display: flex;
flex-direction: column;
justify-content: center;
background: #ffffff;
padding: 2rem 3.2rem !important;
box-shadow: -32px 0 70px color-mix(in srgb, #1e3a5f 16%, transparent);
}
.page-anonymous .container-tight .text-center {
text-align: left !important;
}
.page-anonymous .main-content-card .card-body {
padding: 0 !important;
}
.page-anonymous .main-content-card .col-md-5 {
width: 100% !important;
max-width: none;
flex: 1 1 100%;
}
.page-anonymous .card-header {
border: 0;
background: transparent;
padding-left: 0;
}
.page-anonymous .card-header h2 {
color: #1e293b;
font-weight: 700;
margin: 0 !important;
text-align: left;
}
.page-anonymous .form-label {
color: #475569;
font-weight: 600;
font-size: 0.76rem;
text-transform: uppercase;
letter-spacing: 0.08em;
}
.page-anonymous .form-control,
.page-anonymous .form-select {
background: #fafbfc;
border: 1px solid #dfe5ec;
border-radius: 10px;
color: #1e293b;
padding: 0.7rem 0.9rem;
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 color-mix(in srgb, #1e3a5f 12%, transparent);
}
.page-anonymous .select2-container .select2-selection {
background: #fafbfc;
border: 1px solid #dfe5ec;
border-radius: 10px;
}
.page-anonymous .btn.btn-primary {
background: #1e3a5f;
border: 0;
border-radius: 10px;
color: #ffffff;
padding: 0.75rem;
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;
}
@media (max-width: 900px) {
.page-anonymous .container-tight {
width: 100vw;
box-shadow: none;
}
main.page-anonymous::before,
main.page-anonymous::after {
display: none;
}
}