:root{--navy:#02213b;--ember:#ef4f37;--amber:#f7aa3f}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Barlow',system-ui,sans-serif;background:var(--navy);color:#dfe6ec;min-height:100vh;display:grid;place-items:center;padding:24px 16px}
.denied{max-width:440px;text-align:center}
.denied .logo{height:30px;width:auto;margin-bottom:28px}
.denied h1{color:#fff;font-size:28px;font-weight:800;margin-bottom:10px}
.denied p{font-size:16px;line-height:1.55;color:#b9c6d2}
.denied.wide{max-width:520px}
.denied h1{line-height:1.2}
.denied p{margin-top:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#F2482A,#FF9E21);color:#fff;border:0;border-radius:99px;padding:12px 22px;font:inherit;font-weight:700;font-size:16px;cursor:pointer;min-height:46px;margin-top:20px}
.btn:disabled{opacity:.6;cursor:wait}
.btn:focus-visible,input:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.authform{display:flex;flex-direction:column;text-align:left;gap:6px;margin-top:22px}
.authform label{font-weight:700;color:#fff;font-size:14px;margin-top:8px}
.authform input{font:inherit;font-size:17px;padding:11px 13px;border-radius:10px;border:1px solid #2f4d69;background:#0a2c4a;color:#fff;width:100%}
#code{letter-spacing:.25em;font-variant-numeric:tabular-nums}
.msg{min-height:22px;font-weight:600;color:var(--amber)}
.msg.ok{color:#5fd3a2}
.fine{font-size:14px;color:#8fa3b5}
.esteps{text-align:left;margin:16px 0 4px 20px;color:#c9d4de;line-height:1.55;display:flex;flex-direction:column;gap:4px}
.qrwrap{background:#fff;border-radius:16px;padding:14px;display:inline-block;margin-top:14px}
.qrwrap canvas{display:block;width:232px;height:232px;image-rendering:pixelated}
.secret{display:inline-block;background:#0a2c4a;color:#fff;border-radius:8px;padding:6px 10px;font-size:15px;letter-spacing:.08em;word-break:break-all}
.lnk{color:var(--amber);font-weight:600}
.hint{font-size:14px;color:#8fa3b5;margin-top:4px;min-height:20px}
.hint.weak{color:#ff8a73}.hint.ok{color:#f7aa3f}.hint.good{color:#5fd3a2}
