/* Accounts and operations (assets/js/ext/ops.js): two-step sign-in, reset links, Settings → Security and Backup */
.ops-setup { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; margin: 4px 0 8px; }
.ops-setup > div { flex: 1 1 200px; }
.ops-qr { flex: none; background: #fff; border-radius: 8px; padding: 4px; line-height: 0; }
.ops-qr svg { width: 168px; height: 168px; display: block; }
.ops-secret { display: inline-block; font-size: 13px; letter-spacing: .04em; padding: 4px 8px; border-radius: 4px; background: var(--bg-hover, rgba(55, 53, 47, .08)); word-break: break-all; user-select: all; }
.ops-code { font-size: 18px; letter-spacing: .2em; text-align: center; font-variant-numeric: tabular-nums; }
.ops-recovery { display: grid; gap: 10px; }
.ops-codes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 16px; padding: 12px; border-radius: 6px; background: var(--bg-hover, rgba(55, 53, 47, .06)); }
.ops-codes code { font-size: 14px; letter-spacing: .05em; }
.ops-section { display: grid; gap: 8px; margin-bottom: 8px; }
.ops-section p { margin: 0; }
.ops-badge { display: inline-block; font-size: 11px; font-weight: 600; padding: 1px 6px; border-radius: 4px; margin-left: 6px; vertical-align: 1px;
  background: var(--bg-hover, rgba(55, 53, 47, .08)); color: var(--text-muted, #787774); }
.ops-section > p > .ops-badge:first-child { margin-left: 0; }
.ops-badge.on { background: rgba(15, 123, 108, .14); color: #0f7b6c; }
.ops-forgot { margin-top: 4px; }
.ops-backups td:last-child { text-align: right; }
.form .input.narrow { width: 64px; display: inline-block; margin: 0 4px; }
.form label.inline { display: inline-flex; align-items: center; gap: 0; }
