* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; min-height:100vh; background:#000; color:#fff; font-family:Poppins,sans-serif; }
header { height:76px; padding:0 clamp(20px,5vw,64px); display:flex; align-items:center; border-bottom:1px solid #202020; }
main { width:min(100%,560px); margin:72px auto; padding:0 20px; }
.panel { background:#0a0a0a; border:1px solid #242424; border-radius:12px; padding:32px; }
h1 { font-size:26px; line-height:1.4; margin:0 0 16px; }
p { color:#bbb; font-size:15px; line-height:1.8; margin:0 0 20px; }
label { display:block; margin:20px 0 8px; font-size:14px; }
input { display:block; width:100%; min-width:0; padding:14px; border:1px solid #383838; border-radius:8px; background:#030303; color:#fff; font:inherit; }
input:focus { outline:none; border-color:#ff6a00; }
.primary { display:block; width:100%; padding:14px; margin:24px 0 0; border:0; border-radius:8px; background:#ff6a00; color:#000; font:inherit; font-weight:600; text-align:center; text-decoration:none; cursor:pointer; }
button:disabled { opacity:.55; cursor:wait; }
.message { margin:18px 0 0; overflow-wrap:anywhere; }
.back { display:block; margin-top:20px; color:#bbb; font-size:14px; text-align:center; }
footer { margin:24px 0; text-align:center; color:#aaa; font-size:13px; line-height:1.9; overflow-wrap:anywhere; }
footer a { color:#ff6a00; }
:focus-visible { outline:2px solid #fff; outline-offset:4px; }
@media(max-width:540px) { header { height:68px; } main { margin:40px auto; } .panel { padding:24px; } h1 { font-size:24px; } }
