:root{
  --register-blue:#175f8d;
  --register-blue-dark:#123f5c;
  --register-blue-soft:#edf5f9;
  --register-ink:#17232c;
  --register-muted:#69757f;
  --register-line:#dde4e8;
  --register-soft:#f6f8f9;
  --register-success:#2f6f50;
  --register-success-soft:#edf7f1;
  --register-danger:#8a3b3b;
  --register-danger-soft:#fff1f1;
}

body.register-page{background:#f5f7f8}

/* Registration uses the compact account/login header. */
.modern-login-header{
  padding:24px 0 0;
  background:#f5f7f8;
}
.modern-login-header-inner{
  width:min(100% - 32px,900px);
  margin:0 auto;
  display:flex;
  justify-content:center;
  align-items:center;
}
.modern-login-logo{
  display:inline-block;
}
.modern-login-logo img{
  display:block;
  width:170px;
  max-width:42vw;
  height:auto;
}

.register-shell{width:min(100% - 32px,900px);margin:0 auto;padding:28px 0 72px;color:var(--register-ink)}
.register-shell-narrow{max-width:720px}
.register-intro{margin:0 0 28px;text-align:center}
.register-kicker{color:var(--register-blue);font-size:.7rem;font-weight:800;letter-spacing:.105em;text-transform:uppercase}
.register-intro h1,.register-status-card h1{margin:6px 0 10px;color:var(--register-ink);font-size:clamp(2rem,4vw,3rem);line-height:1.05;letter-spacing:-.035em;font-weight:800}
.register-intro p{max-width:700px;margin:0 auto;color:var(--register-muted);font-size:.92rem;line-height:1.6}

.register-card{overflow:hidden;margin:0 0 20px;border:1px solid var(--register-line);border-radius:14px;background:#fff}
.register-card-header{display:flex;gap:15px;align-items:flex-start;padding:20px 22px;border-bottom:1px solid #e7ecef;background:#fbfcfc}
.register-step{display:flex;flex:0 0 32px;width:32px;height:32px;align-items:center;justify-content:center;border-radius:9px;background:var(--register-blue-soft);color:var(--register-blue-dark);font-size:.8rem;font-weight:850}
.register-card-header h2,.register-submit-card h2{margin:1px 0 4px;color:#23343e;font-size:1.3rem;line-height:1.2;letter-spacing:-.02em;font-weight:800}
.register-card-header p{max-width:690px;margin:0;color:#71808a;font-size:.78rem;line-height:1.5}
.register-card-body{padding:22px}

.register-rules{font-size:.82rem;line-height:1.55;color:#52616b}
.register-rules h1,.register-rules h2,.register-rules h3,.register-rules h4{color:#354751;font-size:1rem;font-weight:800}
.register-rules ul,.register-rules ol{padding-left:22px}
.register-rules-card .register-card-body>div.container{max-width:none;padding:0;margin:0}

.register-field{margin-bottom:18px}
.register-field:last-child{margin-bottom:0}
.register-field label{display:block;margin:0 0 6px;color:#40515c;font-size:.76rem;font-weight:800}
.register-field .form-control{min-height:43px;border:1px solid #cbd6dc;border-radius:8px;background:#fff;box-shadow:none;color:#24343e;font-size:.9rem}
.register-field textarea.form-control{min-height:150px;resize:vertical}
.register-field .form-control:focus{border-color:#8fb3c8;box-shadow:0 0 0 .15rem rgba(23,95,141,.11)}
.register-field .form-control.is-invalid{border-color:#c68787;background:#fffafa}
.register-field small,.register-field-note{display:block;margin:6px 0 0;color:#7f8b93;font-size:.7rem;line-height:1.45}
.register-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.register-username-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center}
.register-short-input{max-width:180px}
.register-prompt{margin:0 0 9px;color:#596a74;font-size:.8rem;line-height:1.5}
.register-inline-feedback{min-height:21px;margin-top:6px;font-size:.72rem;font-weight:800}
.register-inline-feedback.is-error{color:var(--register-danger)}
.register-inline-feedback.is-success{color:var(--register-success)}

.register-btn{display:inline-flex;align-items:center;justify-content:center;min-height:41px;padding:9px 15px;border:1px solid transparent;border-radius:8px;font-size:.8rem;line-height:1;font-weight:800;text-decoration:none!important;cursor:pointer;white-space:nowrap}
.register-btn-primary{border-color:#2d6d94;background:#2d6d94;color:#fff!important}
.register-btn-primary:hover{border-color:#245b7c;background:#245b7c;color:#fff!important}
.register-btn-secondary{border-color:#cbd8df;background:#fff;color:#315f79!important}
.register-btn-secondary:hover{background:#f1f6f8;color:#174b69!important}
.register-btn:disabled{opacity:.6;cursor:wait}

.register-submit-card{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:25px 0 14px;padding:22px;border:1px solid #cadde7;border-radius:14px;background:linear-gradient(135deg,#f8fbfd 0%,#eef5f8 100%)}
.register-submit-card p{max-width:610px;margin:4px 0 0;color:#62717a;font-size:.8rem;line-height:1.5}
.register-feedback{display:none;margin-top:12px;padding:12px 14px;border-radius:9px;font-size:.78rem;line-height:1.45}
.register-feedback:not(:empty){display:block}
.register-feedback ul{margin:8px 0 0;padding-left:20px}
.register-feedback-error{border:1px solid #ead2d2;background:var(--register-danger-soft);color:var(--register-danger)}
.register-feedback-success{border:1px solid #d5e7db;background:var(--register-success-soft);color:var(--register-success)}
.register-reset-form .register-feedback:not(:empty){margin:18px 0}

.register-status-card{padding:34px;border:1px solid var(--register-line);border-radius:16px;background:#fff;text-align:center}
.register-status-card>p{max-width:610px;margin:10px auto 0;color:#65737c;font-size:.88rem;line-height:1.6}
.register-status-success{border-color:#d4e2d9}
.register-status-error{border-color:#e5d7d7}
.register-success-mark{display:flex;width:52px;height:52px;align-items:center;justify-content:center;margin:0 auto 17px;border-radius:50%;background:var(--register-success-soft);color:var(--register-success);font-size:1.5rem;font-weight:900}
.register-next-step{max-width:580px;margin:24px auto 0;padding:15px 17px;border-radius:10px;background:#f5f8fa;text-align:left}
.register-next-step strong,.register-next-step span{display:block}
.register-next-step strong{margin-bottom:3px;color:#354751;font-size:.82rem}
.register-next-step span{color:#6b7881;font-size:.75rem;line-height:1.5}
.register-muted{font-size:.75rem!important;color:#88939a!important}
.register-status-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:24px}

@media(max-width:650px){
  .modern-login-header{padding-top:18px}
  .modern-login-header-inner{width:min(100% - 24px,900px)}
  .modern-login-logo img{width:145px;max-width:54vw}
  .register-shell{width:min(100% - 24px,900px);padding:22px 0 52px}
  .register-card-header,.register-card-body{padding:17px}
  .register-grid-2{grid-template-columns:1fr;gap:0}
  .register-username-row{grid-template-columns:1fr}
  .register-username-row .register-btn{justify-self:start}
  .register-submit-card{display:block;padding:19px}
  .register-submit-card .register-btn{width:100%;margin-top:17px}
  .register-status-card{padding:25px 19px}
}
