/* Gemeinsame Basis für Anmeldung und Benutzerverwaltung – gleiche Tokens wie die App */
:root{
  color-scheme:light;
  --bg:#f7f7f8;--card:#ffffff;--line:#ececee;--line-2:#dcdce0;--ink:#0b0d0f;--ink-2:#2a2f34;--muted:#6e7479;--faint:#a3a8ad;
  --accent:#0e6372;--accent-2:#0a4f5b;--accent-soft:#e6f3f5;--mint:#3ec7b0;
  --done:#157a3e;--done-soft:#e7f7ed;--blocked:#c0261b;--blocked-soft:#fdecea;--open-soft:#f1f2f4;
  --sh-1:0 1px 1px rgba(11,13,15,.03),0 1px 3px rgba(11,13,15,.04);
  --sh-2:0 1px 2px rgba(11,13,15,.04),0 8px 24px -6px rgba(11,13,15,.10);
  --sh-3:0 30px 80px -20px rgba(11,13,15,.30),0 0 0 1px rgba(11,13,15,.04);
  --sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"Geist Mono",ui-monospace,"Cascadia Mono","SF Mono",Consolas,monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:22px;-webkit-font-smoothing:antialiased;min-height:100vh;
  background-image:radial-gradient(1200px 500px at 85% -10%,rgba(62,199,176,.10),transparent 60%),radial-gradient(900px 420px at -10% 0%,rgba(14,99,114,.07),transparent 60%);background-repeat:no-repeat}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
a{color:var(--accent)}
.logo{display:flex;align-items:center;gap:10px;font-weight:600;font-size:16px;letter-spacing:-.02em}
.logo svg{width:26px;height:26px}
.card{background:var(--card);border:1px solid var(--line);border-radius:26px;box-shadow:var(--sh-2);padding:28px}
h1{margin:0;font-size:28px;line-height:34px;font-weight:650;letter-spacing:-.035em}
h2{margin:0;font-size:18px;line-height:24px;font-weight:600;letter-spacing:-.02em}
.muted{color:var(--muted)}
.cap{font-size:12px;line-height:16px}
.fld{display:flex;flex-direction:column;gap:6px;min-width:0}
.fld>span{font-size:12px;color:var(--muted);font-weight:500}
.fld input,.fld select,select.in{border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:8px 12px;min-height:42px;width:100%;min-width:0;transition:border-color .15s,box-shadow .15s,background-color .15s}
.fld input:focus,.fld select:focus,select.in:focus{border-color:var(--accent);outline:none;background:var(--card);box-shadow:0 0 0 4px var(--accent-soft)}
.btn{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:500;min-height:38px;white-space:nowrap;box-shadow:var(--sh-1);text-decoration:none;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:6px}
.btn:hover{border-color:var(--line-2)}
.btn.dark{background:var(--ink);border-color:var(--ink);color:#fff}
.btn.dark:hover{background:var(--ink-2)}
.btn.ghost{border-color:transparent;background:transparent;box-shadow:none;color:var(--muted)}
.btn.ghost:hover{background:rgba(11,13,15,.05);color:var(--ink)}
.btn.sm{min-height:32px;padding:4px 12px;font-size:13px}
.btn.danger{color:var(--blocked);border-color:#f5cdc9}
.btn:disabled{opacity:.5;cursor:default}
.err{color:var(--blocked);font-size:14px;margin:0;background:var(--blocked-soft);border-radius:10px;padding:8px 12px}
.ok{color:var(--done);background:var(--done-soft);border-radius:10px;padding:10px 12px;margin:0}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.mono{font-family:var(--mono)}
[hidden]{display:none!important}
