*{box-sizing:border-box}
:root{
  --navy:#07152f;
  --blue:#2f5cff;
  --bg:#f3f6fb;
  --line:#dbe3ef;
  --text:#10203d;
  --muted:#6f7f99;
  --danger:#a12626;
}
html,body{margin:0;background:var(--bg);font-family:Arial,Helvetica,sans-serif;color:var(--text)}
a{text-decoration:none;color:inherit}
.reg-shell{width:min(1180px,94%);margin:0 auto;padding:28px 0 60px}
.reg-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}
.reg-brand{display:flex;align-items:center;gap:12px}
.reg-brand-mark{width:42px;height:42px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800;font-size:20px}
.reg-brand strong{display:block;font-size:20px}
.reg-brand small{display:block;font-size:10px;letter-spacing:4px;color:var(--muted)}
.reg-login{padding:12px 18px;border:1px solid var(--line);background:#fff;border-radius:12px;font-weight:700}
.reg-login.big{display:inline-block;margin-top:20px}
.reg-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:0 12px 34px rgba(20,40,80,.05)}
.reg-result{max-width:720px;margin:80px auto;text-align:center}
.reg-kicker{font-size:11px;letter-spacing:3px;font-weight:800;color:#8190a9}
.reg-intro h1,.reg-result h1{font-size:34px;margin:8px 0 8px}
.reg-intro p,.reg-result p{color:var(--muted);font-size:16px}
.reg-form section{padding:26px 0;border-top:1px solid #edf1f7}
.reg-form section:first-of-type{border-top:0}
.reg-form h2{font-size:20px;margin:0 0 16px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{display:block;font-weight:700;font-size:14px}
input,select,textarea{width:100%;margin-top:8px;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--text);font:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(47,92,255,.15);border-color:var(--blue)}
.upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}
.upload-box{padding:18px;border:1px dashed #b9c7dc;border-radius:14px;background:#f9fbff}
.upload-box input{padding:9px;background:#fff}
.upload-box small,.help{display:block;margin-top:7px;color:var(--muted);font-weight:400;line-height:1.45}
.consents{display:grid;gap:12px}
.consents label{display:flex;gap:10px;align-items:flex-start;font-weight:500}
.consents input{width:auto;margin:2px 0 0}
.reg-submit{border:0;background:var(--blue);color:#fff;padding:15px 24px;border-radius:12px;font-size:16px;font-weight:800;cursor:pointer}
.reg-errors{margin:22px 0;padding:16px 20px;border-radius:13px;background:#fff1f1;border:1px solid #f0c2c2;color:var(--danger)}
.reg-errors ul{margin:8px 0 0;padding-left:20px}
.reference{padding:12px 16px;background:#f4f7ff;border-radius:12px}
@media(max-width:760px){
  .reg-head{align-items:flex-start;gap:15px;flex-direction:column}
  .reg-card{padding:22px}
  .grid2,.upload-grid{grid-template-columns:1fr}
  .reg-intro h1,.reg-result h1{font-size:28px}
}
