.passkey-panel{background:#f0f5ff;border:1px solid #c7d9f5;border-radius:20px;padding:1.4rem;margin:1.2rem 0;color:#173453}.passkey-panel h2{font-size:1.25rem}.passkey-panel .primary-btn,.passkey-panel .secondary-btn{min-height:48px;margin-top:.5rem}.passkey-panel input{width:100%;margin:.4rem 0}.passkey-status:empty{display:none}.passkey-status{font-weight:600;margin-top:1rem;overflow-wrap:anywhere}.passkey-status[data-error=true]{color:#9c2935}.passkey-status a{display:block;margin-top:.6rem}.auth-fallback{margin-top:1.2rem;text-align:left}.auth-fallback summary{cursor:pointer;font-weight:700;padding:1rem 0}.auth-fallback .card{margin-top:.75rem}.passkey-list{margin:1.5rem 0}.passkey-item{padding:1.2rem;border:1px solid #d5dfee;border-radius:16px;margin:1rem 0}.passkey-item p{font-size:.9rem}.passkey-item form{display:flex;flex-wrap:wrap;gap:.7rem;align-items:end}.passkey-item label{flex:1;min-width:160px}.passkey-item input{display:block;width:100%}.passkey-item details,.passkey-panel details{margin-top:1rem}.passkey-item summary,.passkey-panel summary{cursor:pointer;font-weight:600}.passkey-panel button:disabled{opacity:.6;cursor:wait}@media(max-width:600px){.passkey-panel{padding:1.1rem}.passkey-panel .primary-btn{width:100%}.passkey-item form{display:block}.passkey-item button{margin-top:.6rem}}
.login-methods { padding-top: 2vh; }
.login-methods h1 { margin-bottom: 1.2rem; }
.login-password-panel h2, .login-passkey-option h2 { font-size: 1.2rem; line-height: 1.4; }
.login-setup-hint { color: #405872; font-size: .95rem; line-height: 1.5; margin: .65rem 0 1.25rem; }
.login-setup-hint strong { display: block; color: #174a8b; margin-bottom: .25rem; }
.login-reset-link { margin: 1rem 0 0; text-align: center; }
.login-passkey-option { margin-top: 1.5rem; text-align: left; }
.login-passkey-option .passkey-panel { margin-top: .65rem; }
.login-passkey-option .passkey-panel p { margin-bottom: 0; font-size: .95rem; }
.login-setup-footer { color: #405872; font-size: .9rem; line-height: 1.6; }
