/* Sysenta passkeys — sx-passkey.css v1.0.0 (shared). Only passkey-specific pieces; buttons use each product's own classes.
   Colours come from the shared sx tokens with plain fallbacks for classic screens. Logical properties = RTL/LTR safe. */
.sxpk-login{margin-block-start:14px}
.login-body.sxpk-login,.sxpk-login.sxpk-tight{padding-block-start:0;margin-block-start:-6px}
.sxpk-login[hidden],.sxpk-offer[hidden],.sxpk-st[hidden],[data-sxpk-pwbox][hidden],[data-sxpk-nosupport][hidden]{display:none!important}
.sxpk-or{display:flex;align-items:center;gap:10px;margin-block:4px 12px;color:var(--sx-muted,#6B7280);font-size:13px}
.sxpk-or::before,.sxpk-or::after{content:"";flex:1;border-block-start:1px solid var(--sx-line,#D5D9DF)}
.sxpk-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px}
.sxpk-ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sxpk-st{margin-block-start:8px;font-size:13px;line-height:1.5;color:var(--sx-muted,#6B7280)}
.sxpk-st[data-kind="err"]{color:var(--sx-bad,#B42318)}
.sxpk-st[data-kind="ok"]{color:var(--sx-ok,#067647)}
.sxpk-hint{font-size:12.5px;color:var(--sx-muted,#6B7280);margin-block-start:6px;line-height:1.6}
/* one-time offer after a password login: a calm card at the bottom corner, never over the page title */
.sxpk-offer{position:fixed;inset-block-end:18px;inset-inline-end:18px;z-index:60;max-width:380px;width:calc(100% - 36px);
  background:var(--sx-surface,#FFFFFF);color:var(--sx-text,#111827);border:1px solid var(--sx-line-strong,#C4C9D1);border-radius:8px;
  box-shadow:var(--sx-shadow-2,0 8px 24px rgba(0,0,0,.12));padding:14px 16px;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:14px}
.sxpk-offer .sxpk-ic{width:26px;height:26px;color:var(--sx-accent,#1D4ED8);grid-row:span 3;margin-block-start:2px}
.sxpk-offer b{font-weight:700}
.sxpk-offer p{margin:0;color:var(--sx-text-2,#374151);line-height:1.55;font-size:13px}
.sxpk-offer .sxpk-acts{display:flex;gap:8px;flex-wrap:wrap;margin-block-start:8px}
.sxpk-offer .sxpk-st{grid-column:2}
/* Security ▸ Passkeys list */
.sxpk-list{width:100%;border-collapse:collapse;font-size:14px}
.sxpk-list th,.sxpk-list td{padding:10px 8px;border-block-end:1px solid var(--sx-line,#E3E6EA);text-align:start;vertical-align:middle}
.sxpk-list th{font-weight:600;color:var(--sx-muted,#6B7280);font-size:12.5px;background:var(--sx-tbl-head-bg,transparent)}
.sxpk-list td.n{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--sx-text-2,#374151)}
.sxpk-list form{display:inline-flex;gap:6px;align-items:center;margin:0}
.sxpk-list input[type=text]{min-width:0;width:12em;max-width:100%}
.sxpk-tag{display:inline-block;font-size:11.5px;padding:1px 7px;border-radius:999px;border:1px solid var(--sx-line,#D5D9DF);color:var(--sx-muted,#6B7280);margin-inline-start:6px}
.sxpk-empty{padding:18px 0;color:var(--sx-muted,#6B7280)}
.sxpk-addbox{display:grid;gap:10px;max-width:460px}
@media (max-width:640px){
  .sxpk-list thead{display:none}
  .sxpk-list tr{display:block;border-block-end:1px solid var(--sx-line,#E3E6EA);padding-block:8px}
  .sxpk-list td{display:flex;justify-content:space-between;gap:12px;border:0;padding:4px 0}
  .sxpk-list td::before{content:attr(data-l);color:var(--sx-muted,#6B7280);font-size:12.5px}
  .sxpk-offer{inset-inline-end:10px;inset-block-end:10px;width:calc(100% - 20px)}
}
@media (prefers-reduced-motion:no-preference){.sxpk-offer{animation:sxpkIn .22s ease-out}}
@keyframes sxpkIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
