/* assets/css/login.css Geizhals-inspiriertes, cleanes Login-Layout */ :root{ --gh-bg: #f4f6f8; --gh-card: #ffffff; --gh-text: #1f2937; --gh-muted: #6b7280; --gh-border: #e5e7eb; --gh-accent: #18a957; /* "Deal"-Grün */ --gh-accent-2: #0f8a45; --gh-danger: #d92d20; --gh-shadow: 0 10px 30px rgba(15, 23, 42, 0.08); --gh-radius: 14px; --gh-focus: 0 0 0 4px rgba(24, 169, 87, 0.18); } html, body{ height: 100%; } body{ margin: 0; font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif; color: var(--gh-text); background: radial-gradient(1200px 500px at 20% 0%, rgba(24,169,87,0.10), transparent 55%), radial-gradient(900px 400px at 90% 10%, rgba(59,130,246,0.08), transparent 60%), var(--gh-bg); } /* Überschrift */ h2{ max-width: 440px; margin: 44px auto 14px; padding: 0 18px; font-size: 1.55rem; letter-spacing: 0.2px; } /* Formular-Karte */ form{ max-width: 440px; margin: 0 auto; padding: 22px 18px 18px; background: var(--gh-card); border: 1px solid var(--gh-border); border-radius: var(--gh-radius); box-shadow: var(--gh-shadow); } label{ display: block; margin: 12px 0 6px; font-size: 0.95rem; color: var(--gh-muted); } input[type="text"], input[type="password"]{ width: 100%; box-sizing: border-box; padding: 12px 12px; border: 1px solid var(--gh-border); border-radius: 12px; background: #fbfbfc; color: var(--gh-text); outline: none; transition: border-color 140ms ease, box-shadow 140ms ease, background 140ms ease; } input[type="text"]:focus, input[type="password"]:focus{ border-color: rgba(24,169,87,0.55); box-shadow: var(--gh-focus); background: #ffffff; } /* Submit */ input[type="submit"]{ width: 100%; margin-top: 14px; padding: 12px 14px; border: 0; border-radius: 12px; background: linear-gradient(180deg, var(--gh-accent), var(--gh-accent-2)); color: #ffffff; font-weight: 650; cursor: pointer; transition: transform 120ms ease, filter 120ms ease; } input[type="submit"]:hover{ filter: brightness(1.02); transform: translateY(-1px); } input[type="submit"]:active{ transform: translateY(0px); } /* Fehlertext (dein

oberhalb des Forms) */ p{ max-width: 440px; margin: 10px auto; padding: 0 18px; color: var(--gh-muted); } p:has(+ form){ /* der Absatz direkt vor dem Form: als Alert darstellen */ color: #ffffff; background: var(--gh-danger); border-radius: 12px; padding: 10px 12px; box-shadow: 0 8px 18px rgba(217, 45, 32, 0.18); } /* Register-Link */ p a{ color: var(--gh-accent-2); text-decoration: none; font-weight: 600; } p a:hover{ text-decoration: underline; } /* Kleine Anpassungen für sehr schmale Displays */ @media (max-width: 520px){ h2{ margin-top: 28px; font-size: 1.35rem; } form{ border-radius: 12px; } }