/* Luminous Agency (libelula/DESIGN.md) */
:root{
  --canvas:#0B1B2B; --card:#112338; --overlay:#172E49;
  --lavender:#8C76C4; --yellow:#FCE941; --white:#fff;
  --border:rgba(255,255,255,.08); --muted:rgba(255,255,255,.6);
}
*{box-sizing:border-box}
body{margin:0;background:var(--canvas);color:var(--white);font:400 16px/24px Inter,system-ui,sans-serif}
a{color:var(--lavender);text-decoration:none}
a:hover{text-decoration:underline}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 48px;border-bottom:1px solid var(--border)}
.brand{font-weight:800;font-size:22px;color:var(--white);letter-spacing:-.02em}
.brand span{color:var(--yellow)}
.topbar nav{display:flex;gap:20px;align-items:center}
.container{max-width:760px;margin:0 auto;padding:64px 20px}
h1{font-size:40px;line-height:48px;font-weight:800;letter-spacing:-.02em;margin:0 0 16px}
.hero p{font-size:18px;line-height:28px;color:var(--muted);margin:0 0 32px}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px}
.muted{color:var(--muted);font-size:14px}
.btn{display:inline-block;border-radius:9999px;padding:12px 28px;font-weight:700;border:1px solid transparent;cursor:pointer;font-family:inherit;font-size:16px}
.btn:hover{text-decoration:none;transform:scale(1.02)}
.btn-primary,button[type=submit]{background:var(--yellow);color:var(--canvas);border-radius:9999px;padding:12px 28px;font-weight:700;border:0;cursor:pointer;font:700 16px Inter,sans-serif}
.btn-ghost{border-color:rgba(255,255,255,.2);color:var(--white);border-radius:8px;margin-left:8px}
.messages{list-style:none;padding:12px 16px;background:var(--overlay);border-radius:8px;margin:0 0 24px}
/* formulare allauth */
form p,form div{margin:0 0 16px}
label{display:block;font-weight:600;font-size:14px;margin-bottom:6px}
input[type=text],input[type=email],input[type=password]{width:100%;background:rgba(11,27,43,.6);color:var(--white);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:12px 16px;font:inherit}
input:focus{outline:none;border-color:var(--lavender);box-shadow:0 0 0 3px rgba(140,118,196,.2)}
.helptext,.errorlist{font-size:14px;color:var(--muted)}
.errorlist{color:#ffb4ab;list-style:none;padding:0}
ul{padding-left:20px}
@media(max-width:768px){.topbar{padding:12px 20px}h1{font-size:32px;line-height:40px}.container{padding:40px 20px}}
