.gesture-login [hidden]{display:none!important}
.gesture-login{max-width:400px;margin-inline:auto;text-align:center}
.login-steps{display:flex;justify-content:center;gap:24px;list-style:none;padding:0;margin:0 0 24px;font-size:11px;color:#687786}
.login-steps [aria-current=step]{color:#013374;font-weight:700}
#factor-stage{max-width:300px;margin:28px auto 0;text-align:left}
#factor-stage label{display:block;font-size:13px;color:#34495e;line-height:1.5}
#factor-stage input:not([type=checkbox]){display:block;width:100%;box-sizing:border-box;min-height:48px;margin-top:8px;border:1px solid #b8c5d3;border-radius:4px;background:#fff;padding:10px 12px;color:#193248;font:inherit}
#factor-stage #olas-totp{font-size:25px;letter-spacing:8px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}
#factor-stage input:focus-visible{outline:2px solid #013374;outline-offset:2px}
#olas-recovery-options{margin-top:20px;border:0;text-align:left;font-size:12px;color:#536678}
#olas-recovery-options>summary{cursor:pointer;min-height:30px;font-size:12px}
#olas-recovery-options>label{display:flex;align-items:center;gap:8px;font-size:12px}
.gesture-login .pattern-actions{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:22px}
.gesture-login .pattern-actions button{min-height:42px;padding:10px 14px;border-radius:4px}
.gesture-login #pattern-submit{background:#013374;border:1px solid #013374;color:#fff;font-weight:600;min-width:90px}
.gesture-login #pattern-submit:disabled{opacity:.55}
.gesture-login .pattern-status:empty,.gesture-login #olas-security-note:empty{display:none}
.gesture-login .pattern-status{margin:20px 0 0;font-size:13px;line-height:1.5}
.gesture-login #olas-security-note{font-size:12px;line-height:1.5;color:#6a4c2f}
.gesture-login #pattern-help{margin:12px 0 0;color:#5c6d7b;font-size:12px}
@media(max-width:480px){.gesture-login{padding:24px 18px!important}.login-steps{gap:18px}#factor-stage{margin-top:24px}.gesture-login .pattern-actions{gap:8px}.gesture-login .pattern-actions button{font-size:12px;padding:10px 12px}}
