:root{--accent:#2563eb;--text:#111827;--muted:#6b7280;--line:#e5e7eb;--bad:#b91c1c;--ok:#15803d}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:grid;place-items:center;background:#f3f4f6;color:var(--text);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;padding:16px}
.box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;width:min(420px,100%);box-shadow:0 6px 24px #0000000d}
.brand{font-weight:800;font-size:20px;margin-bottom:8px}.brand span{color:var(--accent)}
h1{font-size:22px;margin:4px 0 14px}
p{margin:0 0 12px;color:#374151;font-size:15px}
label{display:block;font-size:14px;font-weight:600;margin:12px 0 0}
input{display:block;width:100%;margin-top:6px;padding:11px 12px;font:inherit;border:1px solid #d1d5db;border-radius:10px;background:#fff}
input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
input[readonly]{background:#f9fafb}
button{margin-top:18px;width:100%;padding:12px;border:0;border-radius:10px;background:var(--accent);color:#fff;font:inherit;font-weight:700;cursor:pointer}
button:hover{background:#1d4ed8}
.hint{font-size:13px;color:var(--muted);margin:6px 0 0}
.err{background:#fee2e2;color:var(--bad);padding:10px 12px;border-radius:10px;font-size:14px}
.ok{background:#dcfce7;color:var(--ok);padding:10px 12px;border-radius:10px;font-size:14px}
.links{margin-top:16px;font-size:14px;text-align:center}.links a{color:var(--accent)}
