/* login.css – gemeinsam für login.html und setup.html (beide ohne Session erreichbar) */
  :root { --brand:#0E6B5C; --ink:#fff; --bg:#F5F7F6; --surface:#fff; --line:#DCE3E0; --text:#15201C; --muted:#5B6B65; --danger:#C62828;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif; color-scheme: light dark; }
@media (prefers-color-scheme: dark) { :root { --brand:#3CC4A8; --ink:#062A23; --bg:#0F1513; --surface:#18201D; --line:#2C3833; --text:#E8EFEC; --muted:#9AABA4; --danger:#FF7B7B; } }
* { box-sizing: border-box; }
body { margin:0; min-height:100dvh; display:grid; place-items:center; background:var(--bg); color:var(--text); padding:24px; font-size:17px; }
main { width:100%; max-width:360px; text-align:center; }
img { width:88px; height:88px; border-radius:22px; }
h1 { font-size:28px; margin:16px 0 4px; letter-spacing:-.01em; }
p { color:var(--muted); margin:0 0 24px; }
.field { margin-bottom:14px; }
label { display:block; text-align:left; font-size:14px; font-weight:650; color:var(--muted); margin:0 0 6px 2px; }
input { width:100%; height:52px; border-radius:12px; border:1px solid var(--line); background:var(--surface); color:inherit; font:inherit; padding:0 14px; }
input:focus { outline:2px solid var(--brand); outline-offset:-1px; }
button { width:100%; height:52px; margin-top:14px; border:0; border-radius:26px; background:var(--brand); color:var(--ink); font:inherit; font-weight:700; cursor:pointer; }
button:disabled { opacity:.5; }
.err { color:var(--danger); font-weight:600; min-height:24px; margin-top:12px; }
.hint { color:var(--muted); font-size:14px; margin-top:16px; min-height:0; }
.hint code { font-family: ui-monospace, Menlo, monospace; background: var(--line); padding: 1px 6px; border-radius: 6px; color: var(--text); }
.badge { display:inline-block; font-size:12px; font-weight:700; padding:3px 10px; border-radius:999px; background:#F5B342; color:#3A2600; margin-bottom:6px; }
.ok { color:var(--brand); font-weight:600; min-height:0; margin-top:12px; }
input[aria-invalid=true] { border-color: var(--danger); }
.feldhinweis { text-align:left; font-size:13.5px; color:var(--muted); margin:6px 0 0 2px; }
.opt { font-weight:500; }
.gesperrt { background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:14px; color:var(--text); text-align:left; }
