.authenticator-card { box-sizing:border-box; width:min(100%,480px); margin:20px auto; padding:clamp(16px,4vw,28px); border:1px solid var(--border-color,#ccd4df); border-radius:18px; background:var(--bg-secondary,#fff); color:var(--text-primary,#162338); }
.authenticator-card h2,.authenticator-card h3 { margin:0 0 16px; line-height:1.3; }
.authenticator-card p,.authenticator-settings p { line-height:1.5; overflow-wrap:anywhere; }
.authenticator-card form,.authenticator-settings form { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; min-width:0; }
.authenticator-card label,.authenticator-settings label { display:grid; gap:8px; min-width:0; overflow-wrap:anywhere; }
.authenticator-card :is(input,select,textarea),.authenticator-settings :is(input,select,textarea) { box-sizing:border-box; min-width:0; max-width:100%; }
.authenticator-card :is(h2,h3,summary,button) { overflow-wrap:anywhere; }
.authenticator-card .authenticator-choice { display:flex; align-items:flex-start; gap:10px; }
.authenticator-card .member-btn { font:inherit; padding:10px 14px; border:1px solid var(--border-color,#ccd4df); border-radius:10px; color:var(--text-primary,#162338); background:var(--bg-primary,#fff); cursor:pointer; }
.authenticator-card .member-btn.primary { background:var(--primary-color,#2563eb); color:var(--nt-wb-accent-ink,#fff); border-color:var(--primary-color,#2563eb); }
.authenticator-card details { padding-block:16px; margin-top:16px; border-top:1px solid var(--border-color,#ccd4df); }
.authenticator-card summary { cursor:pointer; line-height:1.5; margin-bottom:12px; }
:is(.authenticator-card,.authenticator-settings) .authenticator-code { box-sizing:border-box; display:block; width:min(100%,12ch); min-width:0; padding:12px 0; border:1px solid var(--border-color,#ccd4df); border-radius:10px; background:var(--bg-primary,#f5f7fa); color:var(--text-primary,#162338); font:clamp(20px,6vw,28px)/1.4 monospace; text-indent:.5ch; letter-spacing:1ch; }
:is(.authenticator-card,.authenticator-settings) .authenticator-code:focus { outline:2px solid var(--primary-color,#2563eb); outline-offset:3px; }
:is(.authenticator-card,.authenticator-settings) .authenticator-code { background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(2ch - 1px),var(--border-color,#ccd4df) calc(2ch - 1px),var(--border-color,#ccd4df) 2ch); }
/* Admin's generic phone input sizing must preserve the six large code cells. */
:is(.authenticator-card,.authenticator-settings) .authenticator-code { font-size:clamp(20px,6vw,28px)!important; }
.authenticator-key { display:block; overflow-wrap:anywhere; word-break:break-all; padding:12px; border:1px solid var(--border-color,#ccd4df); border-radius:8px; }
.authenticator-qr { display:flex; justify-content:center; padding:12px; background:white; border-radius:12px; }
.authenticator-qr svg { max-width:100%; height:auto; }
.authenticator-backup-codes { padding:0; list-style:none; display:grid; gap:10px; }
.authenticator-backup-codes code { overflow-wrap:anywhere; }
.authenticator-actions { display:flex; flex-wrap:wrap; align-items:end; gap:12px; }
.authenticator-settings { margin-block:20px; }
.authenticator-settings .authenticator-card { margin-inline:0; }
@media(max-width:480px) { .authenticator-actions > * { width:100%; }.authenticator-settings input { max-width:100%; } }
