:root { --hamelit-accent:#0b5cad; --fg:#1b1f23; --muted:#586069; --accent:#0b5cad; --err:#b00020; --ok:#1e6b2e; --bg:#fff; }
* { box-sizing: border-box; }
body { margin:0; font: 1.05rem/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color:var(--fg); background:var(--bg); }
.skip { position:absolute; left:-999px; } .skip:focus { left:1rem; top:1rem; background:#ffd; padding:.5rem; z-index:9; }
.top { display:flex; justify-content:space-between; align-items:center; padding:.75rem 1rem; border-bottom:1px solid #ddd; }
.brand { margin:0; font-weight:600; } .env { background:#ffb000; color:#000; border-radius:4px; padding:0 .4rem; font-size:.8rem; }
main { max-width: 34rem; margin: 0 auto; padding: 1.5rem 1rem; }
label { display:block; font-weight:600; margin-top:1rem; }
.hint, .small { color:var(--muted); font-size:.95rem; margin:.25rem 0; }
input[type=text] { width:100%; font-size:1.3rem; letter-spacing:.08em; padding:.6rem; border:2px solid #767676; border-radius:6px; text-transform:uppercase; }
input[aria-invalid=true] { border-color:var(--err); }
input:focus, button:focus, a:focus { outline:3px solid #ffbf47; outline-offset:2px; }
button { margin-top:1rem; font-size:1.1rem; padding:.6rem 1.4rem; background:var(--accent); color:#fff; border:0; border-radius:6px; cursor:pointer; min-height:44px; }
.msg { border-left:5px solid; padding:.5rem 1rem; margin:1rem 0; background:#f6f8fa; }
.msg-error { border-color:var(--err); } .msg-ok { border-color:var(--ok); }
.code { font-family: ui-monospace, monospace; letter-spacing:.08em; }
a { color:var(--accent); }
.foot { max-width:34rem; margin:2rem auto; padding:0 1rem; color:var(--muted); font-size:.85rem; }
input[type=email], input[type=password] { width:100%; font-size:1.1rem; padding:.6rem; border:2px solid #767676; border-radius:6px; }
#code[inputmode=numeric] { letter-spacing:.2em; }
button.secondary { background:#fff; color:var(--accent); border:2px solid var(--accent); }
.qr svg { display:block; margin:1rem 0; max-width:100%; height:auto; }
.codes { columns:2; font-size:1.1rem; padding-left:1.2rem; }
.logout { margin-top:2rem; }
h2 { margin-top:1.5rem; font-size:1.2rem; }

/* signup step 2/2 (2026-10-24) */
.step-badge{display:inline-block;font-weight:600;font-size:.85em;padding:.15em .6em;border-radius:1em;background:#e8eefc;color:#1d3d8f;margin:1em 0 0}
.signup-step{border-top:2px solid #1d3d8f;margin-top:1.5em}
.msg-info{background:#f3f6fb;border-left:4px solid #1d3d8f;padding:.5em 1em}
