/* Schluesselbot — gemeinsames Design-System (Account-Seiten) */
*{box-sizing:border-box;margin:0;padding:0}
:root{--ink:#1b1f3b;--muted:#6b7390;--line:#e7e9f5;--card:#fff;--a1:#6d5efc;--a2:#9b6dff;--ok:#16a06a;--err:#e0445a}
body{font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);line-height:1.55;
  background:radial-gradient(1100px 560px at 85% -10%,#efe9ff 0,transparent 60%),
             radial-gradient(800px 460px at 0% 0%,#e6f1ff 0,transparent 55%),linear-gradient(180deg,#f3f1ff,#fbfcff 60%);min-height:100vh}
a{color:var(--a1);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:1000px;margin:0 auto;padding:0 1.25rem}
nav{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 0}
@font-face{font-family:'SB';src:url(/fonts/space-grotesk.woff2) format('woff2');font-weight:700;font-display:swap}
.brand{display:flex;align-items:center;gap:.5rem;font-family:'SB',system-ui,sans-serif;font-weight:700;font-size:1.18rem;letter-spacing:-.02em;color:var(--ink)}
.brand .dot{width:30px;height:30px;background:url(/logo-mark.svg) center/contain no-repeat;font-size:0;display:inline-block;flex:none}
.authwrap{max-width:430px;margin:2.5rem auto;padding:0 1.25rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:1.8rem;box-shadow:0 24px 60px -22px rgba(40,38,90,.3),0 4px 14px rgba(40,38,90,.05)}
.card h1{font-size:1.4rem;font-weight:850;letter-spacing:-.02em}
.card .sub{color:var(--muted);font-size:.88rem;margin:.25rem 0 1.3rem}
label{display:block;font-size:.76rem;color:#5a6087;font-weight:700;margin:.85rem 0 .35rem}
input[type=text],input[type=email],input[type=password]{width:100%;background:#fbfbff;border:1.5px solid var(--line);border-radius:12px;color:var(--ink);padding:.7rem .85rem;font-size:.93rem;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}
input:focus{border-color:var(--a1);box-shadow:0 0 0 4px rgba(109,94,252,.12)}
.btn{display:block;width:100%;border:none;border-radius:12px;padding:.8rem;font-weight:800;font-size:.94rem;cursor:pointer;color:#fff;background:linear-gradient(135deg,var(--a1),var(--a2));box-shadow:0 12px 26px -8px rgba(109,94,252,.5);margin-top:1.2rem;transition:transform .08s,filter .15s}
.btn:hover{filter:brightness(1.05)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:default}
.btn.ghost{background:#f3f3fb;color:var(--ink);box-shadow:none}.btn.ghost:hover{filter:none;background:#ececf7}
.oauth{display:flex;flex-direction:column;gap:.55rem;margin:1rem 0}
.oauth a{display:flex;align-items:center;justify-content:center;gap:.6rem;border:1.5px solid var(--line);border-radius:12px;padding:.65rem;font-weight:700;font-size:.88rem;color:var(--ink);background:#fff;transition:.15s}
.oauth a:hover{background:#fafaff;text-decoration:none;border-color:#d5d8ee}
.sep{display:flex;align-items:center;gap:.8rem;color:#aab;font-size:.76rem;margin:1rem 0}
.sep::before,.sep::after{content:"";flex:1;height:1px;background:var(--line)}
.msg{font-size:.84rem;margin-top:.9rem;min-height:1.1em;text-align:center}
.msg.err{color:var(--err)}.msg.ok{color:var(--ok)}
.switch{text-align:center;font-size:.85rem;color:var(--muted);margin-top:1.1rem}
.hide{display:none}
.pill{display:inline-block;font-size:.72rem;font-weight:800;padding:.15rem .55rem;border-radius:20px}
.pill.free{background:#f1f1fa;color:#6b7390}.pill.pro{background:linear-gradient(135deg,var(--a1),var(--a2));color:#fff}.pill.admin{background:#1b1f3b;color:#fff}
.row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
.row:last-child{border-bottom:none}
.muted{color:var(--muted);font-size:.85rem}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
table{width:100%;border-collapse:collapse;font-size:.84rem}
th,td{text-align:left;padding:.55rem .4rem;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em}
.codebox{background:#0b1220;color:#cdeccd;border-radius:10px;padding:1rem;font-family:ui-monospace,monospace;font-size:.82rem;white-space:pre-wrap;word-break:break-all;line-height:1.7}
.qr{display:flex;justify-content:center;padding:1rem;background:#fff;border-radius:12px;border:1px solid var(--line)}
@media(max-width:560px){.grid2{grid-template-columns:1fr}}
