Merge remote-tracking branch 'origin/main'

This commit is contained in:
pauli 2026-01-22 22:50:51 +01:00
commit ba3e7fd379
2 changed files with 104 additions and 35 deletions

View File

@ -1,28 +1,22 @@
/* assets/css/login.css /* assets/css/login.css
Login-Layout im Stil von style.css (dunkler Hintergrund + helle Cards) Geizhals-inspiriertes, cleanes Login-Layout
*/ */
:root{ :root{
/* nutzt eure globalen Farben aus style.css, mit Fallbacks */ /* Dunkelblauer Background, helle Cards, blaue Akzente */
--gh-bg: var(--bg-main, #151923); --gh-bg: #0f172a;
--gh-card: var(--bg-card, #ffffff); --gh-card: #ffffff;
--gh-header: var(--bg-header, #1f2937); --gh-text: #0f172a;
--gh-muted: #475569;
--gh-border: #e5e7eb;
--gh-text: var(--text-main, #151c2e); --gh-primary: #2563eb;
--gh-muted: var(--text-muted, #6b7280); --gh-primary-2: #1d4ed8;
--gh-border: var(--border-color, #e5e7eb); --gh-link: #2563eb;
--gh-primary: var(--color-primary, #2563eb);
--gh-primary-hover: var(--color-primary-hover, #1d4ed8);
--gh-danger: #d92d20; --gh-danger: #d92d20;
--gh-shadow: 0 14px 34px rgba(2, 6, 23, 0.35);
--gh-radius: var(--radius-lg, 16px); --gh-radius: 16px;
--gh-shadow: var(--shadow-md, 0 6px 20px rgba(0,0,0,0.08));
--gh-transition-fast: var(--transition-fast, 150ms ease);
--gh-transition-normal: var(--transition-normal, 250ms ease);
--gh-focus: 0 0 0 4px rgba(37, 99, 235, 0.28); --gh-focus: 0 0 0 4px rgba(37, 99, 235, 0.28);
} }
@ -31,7 +25,15 @@
min-height: calc(100svh - 56px); min-height: calc(100svh - 56px);
padding: 34px 18px 60px; padding: 34px 18px 60px;
background: var(--gh-bg); background: var(--gh-bg);
color: var(--gh-text); }
.auth__grid{
max-width: 1080px;
margin: 0 auto;
display: grid;
grid-template-columns: 1.06fr 0.94fr;
gap: 22px;
align-items: start;
} }
.auth__card, .auth__card,
@ -42,6 +44,26 @@
box-shadow: var(--gh-shadow); box-shadow: var(--gh-shadow);
} }
.auth__card{
padding: 22px;
}
.auth__header{
display: grid;
grid-template-columns: auto 1fr;
column-gap: 14px;
row-gap: 2px;
align-items: center;
margin-bottom: 12px;
}
.auth__logo{
display: block;
width: 140px;
height: auto;
grid-row: span 2;
}
.auth__title{ .auth__title{
margin: 0; margin: 0;
font-size: 1.55rem; font-size: 1.55rem;
@ -56,10 +78,27 @@
line-height: 1.4; line-height: 1.4;
} }
.auth__alert{
margin: 12px 0 14px;
color: #ffffff;
background: var(--gh-danger);
border-radius: 12px;
padding: 10px 12px;
box-shadow: 0 8px 18px rgba(217, 45, 32, 0.18);
}
.auth__form{
margin-top: 6px;
}
.auth__field{
margin-top: 12px;
}
.auth__field label{ .auth__field label{
display: block; display: block;
margin: 0 0 6px; margin: 0 0 6px;
font-size: 0.85rem; font-size: 0.95rem;
color: var(--gh-muted); color: var(--gh-muted);
} }
@ -67,13 +106,13 @@
.auth__field input[type="password"]{ .auth__field input[type="password"]{
width: 100%; width: 100%;
box-sizing: border-box; box-sizing: border-box;
padding: 0.75rem 0.8rem; padding: 12px 12px;
border: 1px solid var(--gh-border); border: 1px solid var(--gh-border);
border-radius: var(--radius-sm, 6px); border-radius: 12px;
background: #ffffff; background: #ffffff;
color: var(--gh-text); color: var(--gh-text);
outline: none; outline: none;
transition: border-color var(--gh-transition-fast), box-shadow var(--gh-transition-fast); transition: border-color 140ms ease, box-shadow 140ms ease, background 140ms ease;
} }
.auth__field input[type="text"]:focus, .auth__field input[type="text"]:focus,
@ -82,20 +121,25 @@
box-shadow: var(--gh-focus); box-shadow: var(--gh-focus);
} }
.auth__actions{
margin-top: 14px;
}
.auth__submit{ .auth__submit{
width: 100%; width: 100%;
padding: 0.75rem 0.8rem; padding: 12px 14px;
border: 0; border: 0;
border-radius: var(--radius-sm, 6px); border-radius: 12px;
background: var(--gh-primary); background: linear-gradient(180deg, var(--gh-primary), var(--gh-primary-2));
color: #ffffff; color: #ffffff;
font-weight: 650; font-weight: 750;
letter-spacing: 0.2px;
cursor: pointer; cursor: pointer;
transition: background var(--gh-transition-fast), transform var(--gh-transition-fast); transition: transform 120ms ease, filter 120ms ease;
} }
.auth__submit:hover{ .auth__submit:hover{
background: var(--gh-primary-hover); filter: brightness(1.02);
transform: translateY(-1px); transform: translateY(-1px);
} }
@ -103,15 +147,21 @@
transform: translateY(0px); transform: translateY(0px);
} }
.auth__links{
margin-top: 14px;
padding-top: 12px;
border-top: 1px dashed var(--gh-border);
}
.auth__muted{ .auth__muted{
margin: 8px 0 0; margin: 8px 0 0;
color: var(--gh-muted); color: var(--gh-muted);
} }
.auth__muted a{ .auth__muted a{
color: var(--gh-primary); color: var(--gh-link);
text-decoration: none; text-decoration: none;
font-weight: 600; font-weight: 700;
} }
.auth__muted a:hover{ .auth__muted a:hover{
@ -120,14 +170,32 @@
.auth__sideCard{ .auth__sideCard{
padding: 18px; padding: 18px;
background: var(--gh-card);
}
.auth__sideCard h3{
margin: 0 0 10px;
font-size: 1.05rem;
color: var(--gh-text);
}
.auth__sideCard ul{
margin: 0;
padding-left: 18px;
color: var(--gh-text);
}
.auth__sideCard li{
margin: 8px 0;
color: var(--gh-text);
} }
.auth__tip{ .auth__tip{
margin-top: 14px; margin-top: 14px;
padding: 12px 12px; padding: 12px 12px;
border-radius: var(--radius-md, 10px); border-radius: 12px;
background: #f3f4f6; background: rgba(37,99,235,0.06);
border: 1px solid var(--gh-border); border: 1px solid rgba(37,99,235,0.16);
color: var(--gh-text); color: var(--gh-text);
} }

View File

@ -67,6 +67,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
<header class="auth__header"> <header class="auth__header">
<h2 class="auth__title">Login</h2> <h2 class="auth__title">Login</h2>
<p class="auth__subtitle">Melde dich an, um deine Wunschliste zu verwalten und Deals schneller zu speichern.</p>
</header> </header>
<?php if ($loginError): ?> <?php if ($loginError): ?>