.portal-passkey-area{margin-bottom:18px}.portal-passkey-primary{width:100%;height:54px;border:0;border-radius:10px;background:linear-gradient(90deg,#a38d4f,#c2a75b);color:#111419;font-family:Montserrat,Arial,sans-serif;font-weight:800;letter-spacing:.045em;box-shadow:0 10px 28px rgba(194,167,91,.18)}.portal-passkey-primary:hover{filter:brightness(1.04)}.portal-passkey-primary:disabled{opacity:.6;cursor:wait}.portal-passkey-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:rgba(255,255,255,.48);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.portal-passkey-divider:before,.portal-passkey-divider:after{content:"";height:1px;flex:1;background:rgba(255,255,255,.14)}.portal-passkey-error,.passkey-message{margin:0 0 14px;padding:11px 12px;border-radius:9px;font-size:.77rem;line-height:1.45}.portal-passkey-error,.passkey-message.error{border:1px solid rgba(255,135,135,.38);background:rgba(255,135,135,.10);color:#ffd2d2}.passkey-message.success{border:1px solid rgba(95,209,154,.38);background:rgba(95,209,154,.10);color:#c8ffe3}.passkey-card{width:min(100%,700px);margin:22px auto 0;padding:25px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:linear-gradient(145deg,rgba(27,31,37,.96),rgba(13,16,20,.94));box-shadow:0 24px 58px rgba(0,0,0,.34);text-align:left}.passkey-card h2{margin:0 0 8px;color:#fff;font-size:1.05rem;font-weight:800}.passkey-card p{margin:0 0 18px;color:rgba(255,255,255,.67);font-size:.77rem;line-height:1.55}.passkey-register-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.passkey-register-row .form-control{margin-bottom:0}.passkey-register-button{height:52px;padding:0 18px;border:0;border-radius:10px;background:linear-gradient(90deg,#a38d4f,#c2a75b);color:#111419;font-weight:800;white-space:nowrap}.passkey-register-button:disabled{opacity:.55}.passkey-list{display:grid;gap:10px;margin-top:18px}.passkey-device{padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.04)}.passkey-device-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.passkey-device-main strong{color:#fff;font-size:.84rem}.passkey-status{padding:4px 8px;border-radius:999px;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.passkey-status.active{background:rgba(95,209,154,.13);color:#baf6d9}.passkey-status.revoked{background:rgba(255,255,255,.08);color:rgba(255,255,255,.5)}.passkey-device-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;color:rgba(255,255,255,.52);font-size:.68rem}.passkey-revoke{margin-top:11px;border:1px solid rgba(255,135,135,.38);border-radius:8px;background:rgba(255,135,135,.08);color:#ffd2d2;padding:7px 10px;font-size:.66rem;font-weight:800}.passkey-empty{padding:14px;border:1px dashed rgba(255,255,255,.16);border-radius:10px;color:rgba(255,255,255,.55);font-size:.74rem;text-align:center}.passkey-admin-link{display:inline-block;margin-top:13px;color:#c2a75b;text-decoration:none;font-size:.72rem;font-weight:700}.passkey-admin-link:hover{color:#d8c377}.passkey-admin-table{width:100%;border-collapse:collapse;margin-top:16px;color:#fff;font-size:.74rem}.passkey-admin-table th,.passkey-admin-table td{padding:10px 8px;border-bottom:1px solid rgba(255,255,255,.1);text-align:left;vertical-align:top}.passkey-admin-table th{color:rgba(255,255,255,.58);font-size:.64rem;text-transform:uppercase;letter-spacing:.06em}.passkey-admin-wrap{overflow:auto}.passkey-admin-muted{color:rgba(255,255,255,.5)}@media(max-width:700px){.passkey-register-row{grid-template-columns:1fr}.passkey-register-button{width:100%}.passkey-device-main{align-items:flex-start}.passkey-device-meta{display:grid;gap:4px}.passkey-card{padding:21px}.passkey-admin-table{min-width:720px}}
