:root{--p:#0877b9;--pd:#055f98;--pl:#17a7df;--text:#172434;--muted:#66788a;--border:#c5d9e6;--error:#c7353d;--focus:rgba(8,119,185,.18)}
*{box-sizing:border-box}html{min-width:320px}body.registration-page{min-width:320px;min-height:100vh;margin:0;color:var(--text);background:radial-gradient(circle at 8% 18%,rgba(23,167,223,.11),transparent 26rem),radial-gradient(circle at 94% 70%,rgba(8,119,185,.1),transparent 30rem),#f4f9fc;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--p)}
.registration-header{position:relative;border-bottom:1px solid rgba(8,119,185,.18);background:linear-gradient(105deg,#fff 0%,#f3faff 48%,#e5f5fd 100%);box-shadow:0 3px 18px rgba(8,83,130,.08)}.registration-header:after{position:absolute;right:0;bottom:-1px;left:0;height:2px;content:"";background:linear-gradient(90deg,var(--p),var(--pl),rgba(23,167,223,0))}.registration-header__inner{display:flex;width:min(1180px,calc(100% - 40px));min-height:82px;margin:auto;align-items:center;justify-content:space-between;gap:24px}.registration-brand{display:inline-flex}.registration-brand img{display:block;width:auto;height:58px;object-fit:contain}.registration-header__descriptor{display:flex;align-items:center;gap:11px;color:#29475d}.registration-header__mark{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid rgba(8,119,185,.18);border-radius:10px;color:var(--p);background:rgba(255,255,255,.7);box-shadow:0 3px 10px rgba(8,83,130,.07)}.registration-header__descriptor strong,.registration-header__descriptor small{display:block}.registration-header__descriptor strong{font-size:.86rem;letter-spacing:.02em}.registration-header__descriptor small{margin-top:1px;color:#668397;font-size:.7rem;letter-spacing:.025em}.registration-login{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.92rem}.registration-login a{padding:9px 17px;border:1px solid var(--p);border-radius:7px;font-weight:700;text-decoration:none;background:rgba(255,255,255,.68);box-shadow:0 2px 7px rgba(8,83,130,.06)}.registration-login a:hover{color:#fff;background:var(--p)}
.registration-main{display:grid;grid-template-columns:minmax(280px,390px) minmax(0,760px);width:min(1180px,calc(100% - 40px));margin:auto;padding:58px 0 48px;align-items:start;gap:clamp(36px,6vw,80px)}.registration-intro{position:sticky;top:36px;padding:32px 0}.registration-eyebrow{display:block;margin-bottom:13px;color:var(--p);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.registration-intro h1{margin:0 0 18px;font-size:clamp(2rem,4vw,3rem);line-height:1.12;letter-spacing:-.035em}.registration-intro>p{margin:0;color:var(--muted);font-size:1.06rem;line-height:1.7}.registration-benefits{display:grid;margin-top:34px;gap:17px}.registration-benefits div{display:flex;align-items:center;gap:12px;color:#304255;font-size:.95rem;font-weight:600}.registration-benefits i{display:inline-flex;flex:0 0 28px;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;color:var(--p);background:#dff3fc;font-size:.72rem}
.registration-card{overflow:hidden;border:1px solid rgba(197,217,230,.95);border-radius:14px;background:#fff;box-shadow:0 20px 55px rgba(8,83,130,.12)}.registration-card__heading{padding:30px 34px 25px;border-bottom:1px solid #dceaf2;background:linear-gradient(135deg,#fbfdff,#eef8fd)}.registration-card__heading>span{color:var(--p);font-size:.76rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.registration-card__heading h2{margin:7px 0 5px;font-size:1.45rem;line-height:1.3}.registration-card__heading p{margin:0;color:var(--muted);font-size:.9rem}#registrationForm{padding:8px 34px 34px}.registration-section{min-width:0;margin:0;padding:42px 0 27px;border:0;border-bottom:1px solid #e7edf2}.registration-section legend{display:flex;width:100%;margin:0 0 11px;padding:0;align-items:center;gap:10px;font-size:1rem;font-weight:750}.registration-section legend span{display:inline-flex;flex:0 0 28px;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--p),var(--pl));font-size:.8rem}.section-help{margin:0 0 13px 38px;color:var(--muted);font-size:.86rem}.registration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.registration-field--wide{grid-column:1/-1}.registration-field label{display:block;margin:0 0 7px;color:#2e4052;font-size:.88rem;font-weight:700}
.registration-field input,.registration-field select{display:block;width:100%;height:46px;margin:0;padding:0 13px;border:1px solid var(--border);border-radius:7px;outline:0;color:var(--text);background:#fff;font:inherit;font-size:.94rem;transition:.15s}.registration-field select{padding-right:36px;cursor:pointer}.registration-field input::placeholder{color:#97a5b2}.registration-field input:focus,.registration-field select:focus{border-color:var(--p);box-shadow:0 0 0 3px var(--focus)}.registration-field.is-invalid input,.registration-field.is-invalid select{border-color:var(--error);background:#fffafb}.password-control{position:relative}.password-control input{padding-right:46px}.password-control button{position:absolute;top:0;right:0;width:44px;height:46px;padding:0;border:0;color:#607689;background:transparent;cursor:pointer}.password-control button:focus{outline:2px solid var(--p);outline-offset:-4px;border-radius:7px}.field-help{display:block;margin-top:6px;color:var(--muted);font-size:.77rem}.field-error{display:none;margin-top:6px;color:var(--error);font-size:.78rem;font-weight:600;line-height:1.35}.registration-field.is-invalid .field-error,.registration-consent.is-invalid .agreeCheck,.registration-plans.is-invalid .errorPlan{display:block}
.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.plan-option{position:relative;display:flex;min-width:0;padding:16px 13px;align-items:flex-start;gap:10px;border:1px solid var(--border);border-radius:9px;background:#fff;cursor:pointer;transition:.15s}.plan-option:hover{border-color:#8bb7d2;background:#f8fcff}.plan-option:focus-within{border-color:var(--p);box-shadow:0 0 0 3px var(--focus)}.plan-option input{position:absolute;width:1px;height:1px;opacity:0}.plan-option b{display:inline-flex;flex:0 0 22px;width:22px;height:22px;align-items:center;justify-content:center;border:1px solid #9db1c1;border-radius:5px;color:transparent;background:#fff;font-size:.68rem}.plan-option input:checked+b{border-color:var(--p);color:#fff;background:var(--p)}.plan-option>span{min-width:0}.plan-option strong{display:block;color:#293b4d;font-size:.85rem;line-height:1.35}.plan-option small{display:block;margin-top:6px;color:var(--muted);font-size:.74rem;line-height:1.4}.registration-plans.is-invalid .plan-grid{padding:3px;border:1px solid var(--error);border-radius:11px}.registration-consent{padding:25px 0 8px}.registration-consent label{display:flex;align-items:flex-start;gap:10px;color:#405265;cursor:pointer;font-size:.88rem}.registration-consent input{flex:0 0 17px;width:17px;height:17px;margin:2px 0 0;accent-color:var(--p)}
.registration-alert{margin:20px 0 0;padding:12px 14px;border:1px solid #efadb1;border-radius:7px;color:#8d252b;background:#fff2f3;font-size:.87rem;font-weight:650}.registration-actions{display:flex;margin-top:20px;align-items:center;justify-content:space-between;gap:20px}.registration-actions button{min-width:180px;min-height:48px;padding:11px 22px;border:0;border-radius:7px;color:#fff;background:var(--p);box-shadow:0 5px 12px rgba(7,93,155,.22);cursor:pointer;font:inherit;font-size:.94rem;font-weight:750}.registration-actions button:hover{background:var(--pd)}.registration-actions button:disabled{cursor:wait;opacity:.75}.button-loading{display:none}.registration-actions button.is-loading .button-label{display:none}.registration-actions button.is-loading .button-loading{display:inline}.registration-actions p{margin:0;color:var(--muted);font-size:.86rem}.registration-actions a{font-weight:700}.registration-footer{width:min(1180px,calc(100% - 40px));margin:auto;padding:0 0 28px;color:#728292;font-size:.78rem;text-align:center}
@media(max-width:991.98px){.registration-main{grid-template-columns:1fr;max-width:760px;padding-top:38px;gap:28px}.registration-intro{position:static;padding:0 12px;text-align:center}.registration-intro h1,.registration-intro>p{margin-right:auto;margin-left:auto}.registration-benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.registration-benefits div{justify-content:center;font-size:.82rem}}
@media(max-width:850px){.registration-header__descriptor{display:none}}
@media(max-width:575.98px){.registration-intro{display:none}.registration-main{padding-top:14px}}
@media(max-width:767.98px){.registration-header__inner,.registration-main,.registration-footer{width:min(100% - 28px,680px)}.registration-header__inner{min-height:72px}.registration-brand img{height:50px}.registration-login span{display:none}.registration-main{padding:30px 0 34px}.registration-benefits{grid-template-columns:1fr;width:max-content;max-width:100%;margin:25px auto 0;text-align:left}.registration-benefits div{justify-content:flex-start}.registration-grid,.plan-grid{grid-template-columns:1fr}.registration-field--wide{grid-column:auto}.plan-option{min-height:auto}}
@media(max-width:575.98px){.registration-header__inner,.registration-main,.registration-footer{width:calc(100% - 20px)}.registration-header__inner{min-height:66px}.registration-brand img{height:44px}.registration-login a{padding:7px 12px;font-size:.84rem}.registration-main{padding-top:24px;gap:23px}.registration-intro{padding:0 5px}.registration-intro h1{margin-bottom:13px;font-size:1.85rem}.registration-intro>p{font-size:.94rem}.registration-card{border-radius:10px}.registration-card__heading{padding:23px 19px 20px}.registration-card__heading h2{font-size:1.25rem}#registrationForm{padding:5px 19px 25px}.registration-actions{flex-direction:column;align-items:stretch}.registration-actions button{width:100%}.registration-actions p{text-align:center}}

/* Registration success dialog (independent of Bootstrap grid styles). */
.registration-page .jconfirm .jconfirm-box-container{width:min(420px,calc(100vw - 28px))!important;max-width:420px!important;margin:0 auto!important}
.registration-page .jconfirm.jconfirm-modern .jconfirm-box{padding:34px 30px 28px;border:0;border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(8,65,103,.24);text-align:center}
.registration-page .jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-icon-c{display:flex;width:62px;height:62px;margin:0 auto 18px;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--p),var(--pl));font-size:27px;box-shadow:0 8px 20px rgba(8,119,185,.24)}
.registration-page .jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-title-c{margin:0 0 10px;padding:0;color:var(--text);font-size:1.4rem;font-weight:750;line-height:1.3}
.registration-page .jconfirm .jconfirm-box div.jconfirm-content-pane{margin:0 0 24px;color:var(--muted);font-size:.94rem;line-height:1.55}
.registration-success-copy p{margin:0 0 5px;color:#304255;font-weight:650}.registration-success-copy span{display:block}
.registration-page .jconfirm .jconfirm-box .jconfirm-buttons{float:none!important;padding:0!important;text-align:center!important}
.registration-page .jconfirm .jconfirm-box .jconfirm-buttons button.registration-dialog-button{min-width:190px;margin:0;padding:11px 20px;border:0;border-radius:7px;color:#fff!important;background:var(--p)!important;box-shadow:0 5px 13px rgba(8,119,185,.23);font-size:.9rem;font-weight:750;text-transform:none}
.registration-page .jconfirm .jconfirm-box .jconfirm-buttons button.registration-dialog-button:hover{background:var(--pd)!important}
@media(max-width:575.98px){.registration-page .jconfirm.jconfirm-modern .jconfirm-box{padding:29px 20px 23px}.registration-page .jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-title-c{font-size:1.25rem}.registration-page .jconfirm .jconfirm-box .jconfirm-buttons button.registration-dialog-button{width:100%;min-width:0}}

/* Compact spacing around numbered section headings (1, 2 and 3). */
.registration-section{padding-top:10px;padding-bottom:25px}
.registration-section legend{float:left;margin-top:0;margin-bottom:10px}
.registration-section .registration-grid{clear:both;margin-top:0}
.registration-section .section-help{clear:both;margin:0 0 8px 38px}
@media(max-width:575.98px){.registration-section{padding-top:9px;padding-bottom:22px}.registration-section legend{margin-bottom:5px}.registration-section .section-help{margin:0 0 7px}}

/* Compact presentation while retaining the same responsive structure. */
.registration-header__inner{min-height:70px}
.registration-brand img{height:54px}
.registration-main{padding-top:48px;padding-bottom:40px;gap:clamp(32px,5vw,64px)}
.registration-intro{padding-top:26px;padding-bottom:26px}
.registration-intro h1{margin-bottom:16px;font-size:clamp(1.95rem,3.8vw,2.85rem)}
.registration-intro>p{font-size:1.03rem;line-height:1.64}
.registration-benefits{margin-top:29px;gap:14px}
.registration-card__heading{padding:27px 31px 22px}
.registration-card__heading h2{font-size:1.38rem}
#registrationForm{padding:7px 31px 31px}
.registration-section{padding-top:10px;padding-bottom:22px}
.registration-section legend{margin-bottom:15px}
.registration-grid{gap:18px}
.registration-field label{margin-bottom:6px}
.registration-field input,.registration-field select{height:44px}
.password-control button{height:44px}
.field-help,.field-error{margin-top:5px}
.plan-grid{gap:11px}
.plan-option{padding:14px 12px}
.plan-option small{margin-top:5px}
.registration-consent{padding-top:21px}
.registration-actions{margin-top:18px}
.registration-actions button{min-height:46px}
.registration-footer{padding-bottom:24px}
@media(max-width:991.98px){.registration-main{padding-top:33px;gap:25px}.registration-intro{padding-top:0;padding-bottom:0}.registration-benefits{margin-top:22px}}
@media(max-width:575.98px){.registration-header__inner{min-height:62px}.registration-brand img{height:42px}.registration-main{padding-top:21px;padding-bottom:29px;gap:21px}.registration-intro h1{font-size:1.78rem}.registration-card__heading{padding:21px 18px 18px}#registrationForm{padding:4px 18px 23px}.registration-section{padding-top:9px;padding-bottom:20px}.registration-grid{gap:15px}.registration-consent{padding-top:17px}.registration-actions{gap:15px}}
