/* Two-factor widget (twofa.js), shared by the sign-in page and My Profile. */
.tfa button { font:inherit; padding:6px 12px; border:1px solid var(--line); border-radius:6px;
  background:var(--card); color:var(--text); cursor:pointer; }
.tfa button:disabled { opacity:.5; cursor:not-allowed; }
.tfa button.tfa-primary { background:var(--accent); border-color:var(--accent); color:#fff; font-weight:600; }
.tfa button.tfa-danger { color:var(--bad, var(--error)); }
.tfa-item { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
  padding:8px 0; border-bottom:1px solid var(--line); }
.tfa-list { list-style:none; margin:0 0 0 14px; padding:0; }
.tfa-list .tfa-item:last-child { border-bottom:0; }
.tfa-btns { display:flex; gap:8px; flex-wrap:wrap; }
.tfa-small { font-size:.85rem; color:var(--muted); }
.tfa-flow { margin:12px 0; padding:14px; border:1px solid var(--line); border-radius:8px; background:var(--bg); }
.tfa-flow h4 { margin:0 0 6px; font-size:1rem; }
.tfa-flow p { margin:0 0 10px; }
.tfa-field { display:flex; flex-direction:column; gap:4px; font-size:.9rem; max-width:320px; }
.tfa-field input { font:inherit; padding:8px 10px; border:1px solid var(--line); border-radius:6px;
  background:transparent; color:inherit; }
.tfa-qr { width:196px; height:196px; background:#fff; padding:6px; border-radius:6px; margin:4px 0 10px; }
.tfa-qr svg { width:100%; height:100%; display:block; }
.tfa-secret { font-size:.95rem; letter-spacing:.05em; word-break:break-all; }
.tfa-err { color:var(--bad, var(--error)); min-height:1.2em; margin:6px 0 0 !important; font-size:.9rem; }
.tfa-msg { margin:8px 0 0; font-size:.92rem; min-height:1.2em; }
.tfa-msg.ok { color:var(--ok); } .tfa-msg.bad { color:var(--bad, var(--error)); }
.tfa-choice { display:grid; gap:10px; margin-top:10px; }
.tfa-choice button { display:flex; flex-direction:column; align-items:flex-start; gap:2px; text-align:left; padding:12px 14px; }
.tfa-choice button span { font-size:.88rem; color:var(--muted); }
