.passkey-auth { font: inherit; }
.passkey-auth [hidden] { display: none !important; }
.passkey-sign-in { margin: 18px 0; }
.passkey-auth label { display: block; margin-bottom: 7px; font-size: 13px; }
.passkey-auth input { display: block; box-sizing: border-box; width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #c8d2c2; border-radius: 9px; background: #faf9f2; color: #35463d; font: inherit; font-size: 16px; }
.passkey-form { margin-top: 18px; }
.passkey-button { cursor: pointer; min-height: 44px; padding: 11px 16px; border: 1px solid transparent; border-radius: 9px; background: var(--teal, #b6d5c8); color: #183139; font: inherit; font-size: 13px; }
.passkey-manager .passkey-button { margin-top: 12px; background: var(--ambient-2, #294b46); color: #f4f5ed; }
.passkey-manager .passkey-remove { background: transparent; color: #6a4f4f; border-color: #d7c7c2; }
.passkey-auth button:disabled { opacity: .6; cursor: wait; }
.passkey-auth :focus-visible { outline: 2px solid #729b8b; outline-offset: 3px; }
.passkey-note { font-size: 12px; line-height: 1.6; opacity: .85; margin: 8px 0; }
.passkey-status { font-size: 13px; line-height: 1.6; margin-top: 12px; }
.passkey-status:empty { display: none; }
.passkey-item { border-top: 1px solid #dce2d8; margin-top: 20px; padding-top: 4px; }
.passkey-actions { display: flex; flex-wrap: wrap; gap: 10px; }
