.passkey-page { display:grid; gap:20px; max-width:960px; }
.passkey-page > * { margin:0; }
.passkey-card { display:grid; gap:16px; padding:24px; min-width:0; }
.passkey-card h2,.passkey-card p { margin:0; }
.passkey-form { display:grid; gap:16px; max-width:460px; min-width:0; }
.passkey-form label { display:grid; gap:8px; }
.passkey-form input { width:100%; max-width:100%; box-sizing:border-box; }
.passkey-form .button,.passkey-form .form-password-toggle { justify-self:start; }
.passkey-list { display:grid; gap:16px; }
.passkey-entry { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; }
.passkey-entry > div:first-child { min-width:0; overflow-wrap:anywhere; }
.passkey-entry > :last-child { flex:0 0 auto; }
.passkey-entry small { display:block; margin-top:4px; }
.passkey-login { display:grid; gap:8px; margin-top:16px; }
.passkey-login p:empty { display:none; }
@media(max-width:600px) { .passkey-card { padding:18px; } }

.passkey-login [hidden],.passkey-form [hidden] { display:none; }
