.passkey-panel { margin-top: 22px; padding: 20px; border: 1px solid rgba(132,153,172,.35); border-radius: 14px; }
.passkey-panel h3 { font-size: 1.12rem; margin: 0 0 8px; }
.passkey-note, .passkey-empty { opacity: .8; line-height: 1.55; font-size: .9rem; }
.passkey-list { margin: 12px 0 16px; }
.passkey-item { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 0; border-bottom: 1px solid rgba(132,153,172,.2); }
.passkey-item span { min-width: 0; overflow-wrap: anywhere; }
.passkey-item small { display: block; opacity: .7; font-size: .8rem; margin-top: 3px; }
.passkey-panel label { display: block; margin: 10px 0; font-size: .9rem; }
.passkey-panel label input { display: block; width: 100%; box-sizing: border-box; margin-top: 5px; }
.passkey-action, .passkey-item button, .passkey-login { cursor: pointer; border: 1px solid #5788a7; border-radius: 9px; padding: 10px 14px; background: rgba(41,116,164,.12); color: inherit; font: inherit; }
.passkey-action:hover, .passkey-item button:hover, .passkey-login:hover { background: rgba(41,116,164,.22); }
.passkey-login { display: block; width: 100%; margin-top: 12px; }
.passkey-panel button[disabled], .passkey-login[disabled] { opacity: .5; cursor: wait; }
.passkey-message { margin-top: 10px; font-size: .9rem; }
.passkey-message[data-error="yes"] { color: #e07070; }
