.registration-page{margin:0;background:#f4f7fb;color:#1b2540;font-family:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.55}
.registration-page *{box-sizing:border-box}
.registration-page a{color:#0e7490;text-decoration:none}
.registration-page a:hover{text-decoration:underline}
.registration-page a:focus-visible,.registration-page button:focus-visible{outline:3px solid #f5bd62;outline-offset:4px}
.registration-shell{width:min(1080px,calc(100% - 48px));margin:0 auto;padding:32px 0 20px}
.registration-brand{display:inline-flex;align-items:center;margin-bottom:24px;min-height:48px;background:#082235;border-radius:12px;padding:10px 18px}
.registration-brand img{max-width:195px;width:auto;height:40px;object-fit:contain}
.registration-card{display:grid;grid-template-columns:0.9fr 1.1fr;overflow:hidden;border:1px solid #e0e5ef;border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(34,50,88,.07)}
.registration-intro{display:flex;flex-direction:column;background:#082235;color:#fff;padding:48px 42px;position:relative}
.registration-intro:before{content:"";position:absolute;right:-90px;top:-110px;border:1px solid rgba(255,255,255,.1);border-radius:50%;width:320px;height:320px;pointer-events:none}
.registration-kicker{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:600;color:#0e7490;margin-bottom:12px}
.registration-intro .registration-kicker{color:#50d3ed}
.registration-intro h2{color:#fff;font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.18;letter-spacing:-.035em;margin:0 0 20px;position:relative}
.registration-intro p{color:#c0d1de;margin:0 0 30px;max-width:350px}
.registration-steps{list-style:none;margin:0 0 40px;padding:0}
.registration-steps li{display:flex;align-items:center;gap:14px;margin:14px 0;font-size:.95rem;color:#edf6fb}
.registration-steps span{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #54758b;border-radius:50%;font-size:.84rem;flex:none}
.registration-support{margin-top:auto;padding-top:24px;border-top:1px solid #3b5c72}
.registration-support strong{font-size:.95rem;display:block;color:#fff;margin-bottom:8px}
.registration-support a{display:block;color:#81deed;font-size:.88rem}
.registration-support small{display:block;color:#c0d1de;font-size:.8rem;margin-top:4px}
.registration-form-panel{padding:40px 44px}
.registration-form-panel h1{font-size:1.9rem;line-height:1.2;letter-spacing:-.035em;margin:0 0 10px;color:#1b2540;font-weight:600}
.registration-lead{font-size:.93rem;margin:0 0 24px;color:#56627a}
.registration-field{margin-bottom:17px}
.registration-field label{display:block;font-weight:600;font-size:.87rem;color:#27334b;margin-bottom:6px}
.registration-field input{width:100%;background:#fff;border:1px solid #c4cbd9;border-radius:10px;padding:11px 13px;line-height:1.5;font:inherit;font-size:1rem;color:#1b2540;transition:border-color .15s,box-shadow .15s}
.registration-field input::placeholder{color:#6f7786;opacity:1}
.registration-field input:focus{outline:0;border-color:#0e7490;box-shadow:0 0 0 3px rgba(14,116,144,.12)}
.registration-field small,.registration-password-help{display:block;font-size:.77rem;color:#5b667c;margin-top:6px;line-height:1.5}
.registration-password-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.registration-password-row .registration-field{margin-bottom:0}
.registration-password-help{margin:7px 0 20px}
.registration-submit{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;padding:13px 18px;border:0;border-radius:10px;background:#46cee4;color:#062033;font:inherit;font-weight:600;font-size:.97rem;cursor:pointer;min-height:48px;transition:background .15s}
.registration-submit:hover{background:#84e4f5}
.registration-submit:disabled{opacity:.65;cursor:wait}
.registration-login{text-align:center;font-size:.86rem;color:#56627a;margin:20px 0 8px}
.registration-login a{font-weight:600}
.registration-note{text-align:center;font-size:.74rem;color:#5b667c;margin:0}
.registration-alert{background:#fff0ed;border:1px solid #efbcb3;border-radius:10px;color:#8f3022;font-size:.88rem;padding:12px 14px;margin:0 0 20px}
.registration-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}
.registration-footer{text-align:center;font-size:.76rem;color:#606b80;margin:23px 0 0}
@media(max-width:800px){.registration-shell{width:min(600px,calc(100% - 32px));padding-top:24px}.registration-card{grid-template-columns:1fr}.registration-intro{padding:26px 28px}.registration-intro h2{font-size:1.65rem;max-width:400px;margin-bottom:12px}.registration-intro p{max-width:none;margin-bottom:10px;font-size:.9rem}.registration-steps{display:flex;flex-wrap:wrap;gap:10px 20px;margin:0}.registration-steps li{font-size:.76rem;margin:8px 0;gap:8px}.registration-steps span{width:24px;height:24px;font-size:.74rem}.registration-support{display:none}.registration-form-panel{padding:30px 28px}.registration-brand{margin-bottom:16px}}
@media(max-width:420px){.registration-shell{width:calc(100% - 20px);padding-top:18px}.registration-card{border-radius:18px}.registration-intro{padding:24px 22px}.registration-form-panel{padding:26px 22px}.registration-password-row{grid-template-columns:1fr;gap:16px}.registration-steps{gap:6px 16px}.registration-footer{padding:0 12px}.registration-form-panel h1{font-size:1.75rem}}
@media(prefers-reduced-motion:reduce){.registration-page *{transition:none!important}}

