*{box-sizing:border-box}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:#f4f5f7;margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}
.auth-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.08);width:100%;max-width:380px;text-align:center}
h1{font-size:1.4rem;margin:0 0 1rem}
h2{font-size:1.05rem;margin:1.5rem 0 .5rem}
input{width:100%;padding:.65rem .75rem;border:1px solid #d0d4da;border-radius:8px;font-size:1rem;margin:.25rem 0}
input:focus{outline:none;border-color:#2563eb}
.btn{display:block;width:100%;padding:.7rem;margin-top:.5rem;border:0;border-radius:8px;background:#2563eb;color:#fff;font-size:1rem;cursor:pointer;text-decoration:none}
.btn.secondary{background:#e5e7eb;color:#111827}
.btn:hover{filter:brightness(.95)}
.muted{color:#6b7280;font-size:.85rem}
.hidden{display:none}
.status{margin-top:1rem;font-size:.9rem;min-height:1.2em}
.passkey-list{list-style:none;padding:0;margin:0;text-align:left}
.passkey-list li{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #eee;gap:.5rem}
.passkey-list button{padding:.3rem .6rem;border:0;border-radius:6px;background:#fee2e2;color:#b91c1c;cursor:pointer;font-size:.85rem}
.passkey-list button:hover{background:#fecaca}
#qr-img svg{width:220px;height:220px}
#qr-msg{margin:.25rem 0 0}