:root{--acc:#2f6df6;--bg:#f4f6fb;--fg:#1a1c23;--mut:#8a90a2;--line:#e3e7f0;
--danger:#d33;--radius:14px;--maxw:420px}
*{box-sizing:border-box}
body{margin:0;font:16px/1.45 -apple-system,Segoe UI,Roboto,sans-serif;
background:var(--bg);color:var(--fg)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:24px 16px}
.logo{text-align:center;font-weight:700;font-size:18px;color:var(--acc);margin:8px 0 20px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
padding:22px;box-shadow:0 4px 20px rgba(20,30,60,.05)}
h1{font-size:22px;margin:0 0 14px}
h2{font-size:16px;margin:18px 0 6px}
.hint{color:var(--mut);font-size:14px;margin:0 0 14px}
label{display:block;font-size:13px;color:var(--mut);margin:12px 0 4px}
input[type=text],input[type=tel],input[type=email]{width:100%;padding:12px;
border:1px solid var(--line);border-radius:10px;font-size:16px;background:#fbfcfe}
input:focus{outline:none;border-color:var(--acc)}
button{width:100%;padding:13px;border:0;border-radius:10px;font-size:16px;
cursor:pointer;margin-top:14px}
button:disabled{opacity:.5;cursor:default}
.primary{background:var(--acc);color:#fff;font-weight:600}
.link{background:none;color:var(--acc);padding:8px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--fg);margin-top:16px}
.check input{width:18px;height:18px;margin-top:2px}
.check a{color:var(--acc)}
.err{color:var(--danger);font-size:14px;margin-top:12px;min-height:18px}
.dev{margin-top:12px;padding:8px;background:#fff7e0;border-radius:8px;font-size:13px}
.hidden{display:none}
.profile .row{padding:4px 0}
.muted{color:var(--mut);font-size:14px}
.ok{color:#1a9e50;font-weight:600}
.tg{margin-top:8px}
hr{border:0;border-top:1px solid var(--line);margin:20px 0}
.doc p{color:#3a3f4d;font-size:14px}
