:root{--bg:#f4f6f8;--card:#fff;--ink:#1c2630;--mut:#6b7684;--line:#e4e9ee;--acc:#2f6feb}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--bg);color:var(--ink);font:15px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
#root{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}
.box{width:100%;max-width:380px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:28px 30px;box-shadow:0 1px 3px rgba(20,30,40,.06)}
.brand{display:flex;align-items:center;gap:9px;margin-bottom:20px}
.dot{width:22px;height:22px;border-radius:6px;background:var(--acc)}
.brand b{font-size:15px;font-weight:600;letter-spacing:.01em}
h1{font-size:17px;margin:0 0 4px}
.sub{color:var(--mut);font-size:13px;margin:0 0 20px}
label{display:block;font-size:12px;color:var(--mut);margin:0 0 5px}
input{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:7px;font:inherit;font-size:14px;background:#fbfcfd}
input:focus{outline:none;border-color:var(--acc)}
.row{margin-bottom:14px}
button{width:100%;padding:10px;border:0;border-radius:7px;background:var(--acc);color:#fff;font:inherit;font-weight:500;cursor:pointer}
.foot{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:11.5px;color:#98a2ae;display:flex;justify-content:space-between;gap:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.err{margin-top:14px;font-size:12.5px;color:#b3452f;display:none}
.ns{padding:40px;text-align:center;color:#6b7684}
