:root{--pri:#14a3b8;--pri-d:#0e6f86;--txt:#26323a;--mut:#6b7780}
*{box-sizing:border-box}body{margin:0;font-family:Rubik,Arial,sans-serif;background:#f3f8fa;color:var(--txt);min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:30px 16px}
.logo{font-weight:700;font-size:22px;color:var(--pri-d);text-decoration:none;margin-bottom:20px}
.card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000f;padding:28px;width:100%;max-width:420px}
h1{font-size:22px;margin:0 0 6px}.sub{color:var(--mut);margin:0 0 18px;font-size: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:11px;border:1px solid #cfd8dd;border-radius:8px;font:inherit}
.code{letter-spacing:8px;text-align:center;font-size:22px}
.chk{display:flex;gap:8px;align-items:flex-start;margin:14px 0;font-size:14px}.chk a{color:var(--pri-d)}
:focus-visible{outline:3px solid #0e6f86;outline-offset:2px}
button{width:100%;margin-top:16px;background:var(--pri-d);color:#fff;border:0;border-radius:30px;padding:13px;font:inherit;font-size:16px;font-weight:600;cursor:pointer}
button:disabled{opacity:.6;cursor:default}
.link{background:none;color:var(--pri-d);width:auto;padding:0;margin-top:10px;font-weight:400;font-size:14px}
.err{color:#d93036;font-size:14px;margin-top:10px;min-height:18px}.dev{background:#fff3c4;padding:6px 10px;border-radius:6px;font-size:13px;margin-top:10px}
.foot{margin-top:16px;font-size:14px;color:var(--mut)}.foot a{color:var(--pri-d)}
.plan{display:inline-block;background:#dff3f6;color:var(--pri-d);border-radius:12px;padding:2px 10px;font-size:13px;margin-bottom:8px}
