Files
skyevouchers/templates/admin_login.html
T
2026-06-28 16:51:38 +00:00

83 lines
3.2 KiB
HTML

<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Admin · skyevouchers</title>
<style>
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Space+Mono:wght@400;700&display=swap');
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
--bg: #07080f; --surface: #0e1018; --border: #1e2133;
--accent: #5b6cff; --accent2: #a78bfa; --glow: rgba(91,108,255,.35);
--text: #e8eaf6; --muted: #5a5e7a; --code-bg: #12152a;
}
body {
min-height: 100vh; background: var(--bg); color: var(--text);
font-family: 'Space Grotesk', sans-serif;
display: flex; align-items: center; justify-content: center;
}
body::before {
content: ''; position: fixed; inset: 0;
background-image: linear-gradient(rgba(91,108,255,.04) 1px, transparent 1px),
linear-gradient(90deg, rgba(91,108,255,.04) 1px, transparent 1px);
background-size: 48px 48px; pointer-events: none;
}
.card {
position: relative; z-index: 1;
background: var(--surface); border: 1px solid var(--border);
border-radius: 20px; padding: 2.5rem 3rem; width: 100%; max-width: 400px;
box-shadow: 0 0 80px rgba(0,0,0,.6), 0 0 120px var(--glow);
display: flex; flex-direction: column; gap: 1.5rem;
}
.logo {
font-family: 'Space Mono', monospace; font-size: .7rem; font-weight: 700;
letter-spacing: .3em; text-transform: uppercase; color: var(--muted);
text-align: center;
}
.logo span { color: var(--accent); }
h1 { font-size: 1.3rem; font-weight: 600; text-align: center; }
label { font-size: .8rem; color: var(--muted); letter-spacing: .05em; display: block; margin-bottom: .4rem; }
input[type=password] {
width: 100%; padding: .85rem 1rem;
background: var(--code-bg); border: 1px solid var(--border);
border-radius: 10px; color: var(--text);
font-family: 'Space Grotesk', sans-serif; font-size: .95rem;
outline: none; transition: border-color .2s;
}
input[type=password]:focus { border-color: var(--accent); }
.btn {
width: 100%; padding: .9rem;
background: linear-gradient(135deg, var(--accent), var(--accent2));
color: #fff; font-family: 'Space Grotesk', sans-serif;
font-size: .95rem; font-weight: 600; border: none;
border-radius: 10px; cursor: pointer;
box-shadow: 0 0 30px rgba(91,108,255,.3);
transition: opacity .2s;
}
.btn:hover { opacity: .9; }
.alert {
font-size: .85rem; color: #f87171; text-align: center;
padding: .7rem; background: rgba(248,113,113,.08);
border: 1px solid rgba(248,113,113,.2); border-radius: 8px;
}
</style>
</head>
<body>
<div class="card">
<div class="logo">sky<span>e</span>vouchers</div>
<h1>Admin-Bereich</h1>
{% with messages = get_flashed_messages(with_categories=true) %}
{% for cat, msg in messages %}
<div class="alert">{{ msg }}</div>
{% endfor %}
{% endwith %}
<form method="POST">
<label>Passwort</label>
<input type="password" name="password" autofocus required style="margin-bottom:1.2rem">
<button type="submit" class="btn">Anmelden</button>
</form>
</div>
</body>
</html>