*{box-sizing:border-box}
body{margin:0;min-height:100dvh;background:#F4F6F2;color:#16241C;font:16px/1.5 "Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,sans-serif;display:grid;place-items:start center;padding:12vh 16px 32px}
main{width:100%;max-width:26rem;background:#fff;border:1px solid #DCE3DD;border-radius:16px;padding:28px}
.brand{margin:0 0 20px;font-weight:700;color:#1F6B45;letter-spacing:-.01em}
h1{margin:0 0 6px;font-size:1.6rem;letter-spacing:-.02em;line-height:1.2}
p{margin:0 0 16px;color:#5C6B62}
label{display:block;margin:0 0 6px;font-weight:600;font-size:.9rem}
input{width:100%;padding:12px 14px;border:1px solid #DCE3DD;border-radius:12px;background:#F4F6F2;font:inherit;color:inherit}
input:focus{outline:3px solid #1F6B4540;border-color:#1F6B45}
#code{font-size:1.5rem;letter-spacing:.3em;text-align:center}
button,.btn{display:block;width:100%;margin-top:12px;padding:12px 14px;border:0;border-radius:12px;background:#1F6B45;color:#fff;font:inherit;font-weight:600;text-align:center;text-decoration:none;cursor:pointer}
button:hover,.btn:hover{background:#164F33}
button:disabled{opacity:.5;cursor:wait}
button.link{background:none;color:#5C6B62;font-weight:500}
button.link:hover{background:none;color:#16241C;text-decoration:underline}
#msg{margin:14px 0 0;min-height:1.5em;font-size:.9rem}
#msg.err{color:#D9412F}
[hidden]{display:none!important}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}