/* Scope customer controls so administrator passkeys and other forms keep their layout. */
.customer-passkey-nudge{position:fixed;right:18px;bottom:18px;z-index:80;width:min(380px,calc(100vw - 28px));box-sizing:border-box;padding:20px;display:grid;gap:14px;border:1px solid var(--line,#dce4ef);border-radius:16px;background:var(--card,#fff);color:var(--text,#263347);box-shadow:0 12px 45px #16385b26}
.customer-passkey-nudge h3,.customer-passkey-nudge p{margin:0}.customer-passkey-nudge h3{font-size:1.05rem}.customer-passkey-nudge p{font-size:.88rem;line-height:1.65;color:var(--muted,#718096)}
.customer-passkey-nudge-actions{display:flex;gap:10px}.customer-passkey-nudge-actions button{flex:1;min-height:42px}
.customer-passkey-nudge-preference{display:flex;align-items:flex-start;gap:10px;line-height:1.6;font-size:.9rem;cursor:pointer}.customer-passkey-nudge-preference input{width:18px;min-width:18px;height:18px;flex:0 0 18px;margin:3px 0 0;accent-color:var(--primary,#4267d5)}
[data-theme='dark'] .customer-passkey-nudge{background:#1c2634;color:#e5eaf3;border-color:#36445a}
@media(max-width:520px){.customer-passkey-nudge{right:14px;bottom:max(14px,env(safe-area-inset-bottom));padding:16px}}
.customer-passkey-login{display:grid;gap:10px;margin:4px 0 0;padding-top:16px;border-top:1px solid var(--line,#e2e8f0)}
.customer-passkey-login-button{width:100%;min-height:48px;font-size:1rem;display:flex;justify-content:center;align-items:center;gap:10px}
.customer-passkey-login-button::before{content:'◉';font-size:1.25rem;line-height:1}
.customer-passkey-password-submit{background:transparent!important;color:var(--primary,#4267d5)!important;border:1px solid var(--line,#e2e8f0)!important}
.customer-passkey-help,.customer-passkey-description{margin:0;color:var(--muted,#718096);font-size:.9rem;line-height:1.65}
.customer-passkey-status{margin:0;color:var(--muted,#718096);font-size:.9rem;line-height:1.6;overflow-wrap:anywhere}
.customer-passkey-status:empty{display:none}
.customer-passkey-status.customer-passkey-error{color:var(--danger,#ba3b4e)}
.customer-passkey-card{display:flex;flex-direction:column;gap:12px}
.customer-passkey-card h3,.customer-passkey-card p{margin:0}
.customer-passkey-preference{display:flex!important;align-items:flex-start;gap:10px!important;line-height:1.6;font-size:.9rem;color:var(--text,#263347);cursor:pointer}
.customer-passkey-preference input{width:18px!important;min-width:18px;height:18px;flex:0 0 18px;margin:3px 0 0;accent-color:var(--primary,#4267d5)}
.customer-passkey-manager{display:grid;gap:16px;min-width:0}
.customer-passkey-manager h3{margin:0}
.customer-passkey-content{display:grid;gap:18px;min-width:0}
.customer-passkey-list{padding:0;margin:0;list-style:none;display:grid;gap:10px}
.customer-passkey-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid var(--line,#e2e8f0);border-radius:12px;min-width:0}
.customer-passkey-copy{display:grid;gap:5px;min-width:0}
.customer-passkey-copy strong,.customer-passkey-copy small{overflow-wrap:anywhere}
.customer-passkey-copy small{color:var(--muted,#718096);line-height:1.5}
.customer-passkey-remove{flex:0 0 auto;color:var(--danger,#ba3b4e)!important}
.customer-passkey-empty{margin:0;color:var(--muted,#718096)}
.customer-passkey-enroll{margin:0!important}
.customer-passkey-enroll label{display:grid;gap:8px}
.customer-passkey-manager button:focus-visible,.customer-passkey-login button:focus-visible,.customer-passkey-preference input:focus-visible{outline:3px solid #82a8ef;outline-offset:3px}
[data-theme='dark'] .customer-passkey-manager,[data-theme='dark'] .customer-passkey-card,[data-theme='dark'] .customer-passkey-preference{color:#e5eaf3}
[data-theme='dark'] .customer-passkey-item,[data-theme='dark'] .customer-passkey-login,[data-theme='dark'] .customer-passkey-password-submit{border-color:#36445a!important}
[data-theme='dark'] .customer-passkey-status,[data-theme='dark'] .customer-passkey-description,[data-theme='dark'] .customer-passkey-help,[data-theme='dark'] .customer-passkey-copy small{color:#aab8ce}
[data-theme='dark'] .customer-passkey-status.customer-passkey-error,[data-theme='dark'] .customer-passkey-remove{color:#ff9caf!important}
@media(max-width:520px){.customer-passkey-item{align-items:flex-start;flex-wrap:wrap}.customer-passkey-remove{min-height:42px}.customer-passkey-manager{gap:12px}.customer-passkey-copy{flex:1 1 190px}.customer-passkey-preference{font-size:.88rem}}
