.tfa-enroll{display:block}.tfa-enroll .tfa-alert{padding:14px 16px;border:var(--v2-border,1px solid #122325);border-radius:var(--v2-r-md,6px);background:var(--v2-bg,#F3F4F8);font-size:14px;line-height:1.5;color:var(--v2-ink,#122325);margin-bottom:16px}.tfa-enroll .tfa-alert p{margin:6px 0 0}.tfa-enroll .tfa-alert-warn{border-color:var(--gold,#F5A623)}.tfa-enroll .tfa-steps{margin:0 0 16px;padding-left:20px;font-size:14px;line-height:1.5;color:var(--v2-ink,#122325)}.tfa-enroll .tfa-steps li+li{margin-top:6px}.tfa-enroll .tfa-qr{display:flex;justify-content:center;margin:0 0 12px}.tfa-enroll .tfa-qr img,.tfa-enroll .tfa-qr svg{width:200px;height:200px;max-width:100%;padding:12px;background:#fff;border:1px solid var(--color-border,#d3d7da);border-radius:4px;box-sizing:content-box}.tfa-enroll .tfa-open{min-height:48px;margin-bottom:12px;text-align:center}.tfa-enroll .tfa-secret{display:grid;gap:6px;margin:0 0 18px}.tfa-enroll .tfa-secret-label{font:700 10px var(--v2-font-mono,monospace);text-transform:uppercase;letter-spacing:.12em;color:var(--v2-muted,#787F89)}.tfa-enroll .tfa-secret code{display:block;padding:10px 12px;border:1px solid var(--color-border,#d3d7da);border-radius:3px;background:var(--v2-paper,#fff);font:500 14px var(--v2-font-mono,monospace);letter-spacing:.08em;word-break:break-all;user-select:all}.tfa-enroll .field input.tfa-code{font:600 20px var(--v2-font-mono,monospace);letter-spacing:.3em;min-height:48px}.tfa-enroll .tfa-note{font-size:13px;color:var(--text-secondary,#787F89);margin:6px 0 0;line-height:1.5}.tfa-enroll .tfa-error{color:var(--error,#DC2626);font-size:13px;margin:6px 0 14px}.tfa-enroll .tfa-link-btn{background:transparent;border:none;color:var(--text-secondary,#787F89);font-size:13px;padding:12px 0;cursor:pointer;width:100%;text-align:center}.tfa-enroll .tfa-secret .tfa-link-btn{width:auto;text-align:left;padding:6px 0}.tfa-enroll .tfa-codes{column-count:2;column-gap:16px;margin:0 0 16px;padding:12px 16px 12px 36px;border:1px solid var(--color-border,#d3d7da);border-radius:3px;background:var(--v2-paper,#fff);font:500 15px var(--v2-font-mono,monospace);letter-spacing:.06em;line-height:2}.tfa-enroll .tfa-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.tfa-enroll .tfa-actions .btn{min-height:48px;margin:0}.tfa-enroll .btn{min-height:48px}@media (max-width:420px){.tfa-enroll .tfa-codes{column-count:1}.tfa-enroll .tfa-actions{grid-template-columns:1fr}}.v2 .login{--bg:var(--v2-bg);--surface:var(--v2-paper);--text:var(--v2-ink);--text-secondary:var(--v2-muted);--text-muted:var(--v2-soft);--border:#d8d4c8;--border-light:#e4e0d6;--primary:var(--v2-ink);--primary-light:var(--v2-cyan);--primary-muted:rgba(0,183,232,0.14);--green:#0e9f6e;--gold:#b97d10;--error:var(--v2-red);--font-head:var(--v2-font-sans);--font-mono:var(--v2-font-mono);--shadow-1:var(--v2-shadow-lg);width:100%;min-height:100vh;background:var(--v2-bg);font-family:var(--v2-font-sans)}.v2 .login .page{padding:56px;display:grid;grid-template-columns:1fr 460px;gap:56px;align-items:start;max-width:1320px;margin:0 auto}.v2 .login .crumb{font:700 11px var(--v2-font-mono);color:var(--v2-muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}.v2 .login .crumb b{color:var(--v2-magenta);font-weight:800}.v2 .login .brief h1{font:900 clamp(36px,4.6vw,56px) var(--v2-font-display);letter-spacing:-.02em;line-height:1.04;text-transform:uppercase;margin:0 0 18px;max-width:620px;color:var(--v2-ink)}.v2 .login .brief h1 em{font-style:normal;display:inline-block;background:var(--v2-cyan);color:#fff;padding:0 .12em;border-radius:var(--v2-r-sm);transform:rotate(-1.2deg)}.v2 .login .brief .lede{font-size:15px;color:var(--v2-muted);max-width:540px;line-height:1.55;margin:0 0 36px}.v2 .login .kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:620px;margin-bottom:32px}.v2 .login .kpi{padding:20px;background:var(--v2-paper);border:var(--v2-border);border-radius:var(--v2-r-md);box-shadow:var(--v2-shadow)}.v2 .login .kpi .v{font:800 32px var(--v2-font-display);letter-spacing:-.02em;line-height:1;color:var(--v2-ink)}.v2 .login .kpi .v em{font-style:normal;color:var(--v2-magenta)}.v2 .login .kpi .k{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--v2-muted);margin-top:10px;font-weight:700}.v2 .login .feat-panel{padding:24px;background:var(--v2-paper);border:var(--v2-border);border-radius:var(--v2-r-lg);box-shadow:var(--v2-shadow);max-width:620px}.v2 .login .feat-panel h3{font:800 15px var(--v2-font-display);text-transform:uppercase;margin:0 0 16px;display:flex;align-items:center;gap:10px}.v2 .login .feat-panel h3:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--v2-green)}.v2 .login .feat-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px}.v2 .login .feat{display:flex;gap:12px;font-size:13px;color:var(--v2-muted);line-height:1.45}.v2 .login .feat .n{font:800 12px var(--v2-font-mono);color:var(--v2-magenta);flex-shrink:0;padding-top:1px}.v2 .login .feat b{color:var(--v2-ink);font-weight:700;display:block;margin-bottom:2px}.v2 .login .form-panel{padding:36px 36px 32px;background:var(--v2-paper);border:var(--v2-border);border-radius:var(--v2-r-lg);box-shadow:var(--v2-shadow-lg);position:sticky;top:24px}.v2 .login .form-panel .kicker{font:700 10px var(--v2-font-mono);color:var(--v2-magenta);letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}.v2 .login .form-panel h2{font:900 clamp(28px,3.2vw,34px) var(--v2-font-display);letter-spacing:-.02em;text-transform:uppercase;margin:0 0 8px}.v2 .login .form-panel h2 em{font-style:normal;display:inline-block;background:var(--v2-yellow);color:var(--v2-ink);padding:0 .1em;border-radius:var(--v2-r-sm);transform:rotate(-1deg)}.v2 .login .form-panel .sub{font-size:13px;color:var(--v2-muted);margin:0 0 28px;line-height:1.5}.v2 .login .form-panel .sub a{color:var(--v2-magenta);font-weight:700;text-decoration:none}.v2 .login .field{margin-bottom:18px;position:relative}.v2 .login .field label{display:block;font:700 10px var(--v2-font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--v2-muted);margin-bottom:8px}.v2 .login .field input{width:100%;padding:13px 14px;font:600 14px var(--v2-font-sans);border:2px solid var(--v2-ink);border-radius:var(--v2-r-sm);background:var(--v2-paper);color:var(--v2-ink);transition:box-shadow .15s,transform .15s;outline:none}.v2 .login .field input:focus{box-shadow:3px 3px 0 var(--v2-ink)}.v2 .login .field .tick{position:absolute;right:12px;top:34px;width:18px;height:18px;border-radius:50%;background:var(--v2-green);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:700}.v2 .login .row{display:flex;justify-content:space-between;align-items:center;margin:22px 0 18px}.v2 .login .forgot{font-size:12px;color:var(--v2-magenta);font-weight:700;text-decoration:none}.v2 .login .btn{display:inline-flex;align-items:center;gap:10px;border:var(--v2-border);border-radius:var(--v2-r-md);padding:14px 22px;font:800 14px var(--v2-font-sans);cursor:pointer;box-shadow:var(--v2-shadow);transition:transform .2s var(--v2-spring),box-shadow .2s var(--v2-spring);background:var(--v2-paper);color:var(--v2-ink)}.v2 .login .btn:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:var(--v2-shadow-hover)}.v2 .login .btn:active:not(:disabled){transform:translate(3px,3px);box-shadow:var(--v2-shadow-press)}.v2 .login .btn:disabled{opacity:.5;cursor:not-allowed}.v2 .login .btn-primary{background:var(--v2-magenta);color:#fff}.v2 .login .btn-full{width:100%;justify-content:center;padding:15px}.v2 .login .btn-full .arrow{transition:transform .2s}.v2 .login .btn-full:hover .arrow{transform:translateX(4px)}.v2 .login .alt-link{text-align:center;font-size:13px;color:var(--v2-muted);margin-top:26px;padding-top:22px;border-top:2px dashed var(--v2-bg)}.v2 .login .alt-link a{color:var(--v2-magenta);font-weight:700;text-decoration:none}.v2 .login .foot{font:500 10px var(--v2-font-mono);color:var(--v2-soft);margin-top:20px;text-align:center;line-height:1.6;letter-spacing:.04em}@media (max-width:900px){.v2 .login .page{grid-template-columns:1fr;gap:32px;padding:32px 20px}.v2 .login .form-panel{position:static;order:-1}.v2 .login .feat-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.v2 .login .btn,.v2 .login .btn-full .arrow,.v2 .login .field input{transition:none}}