/* CTR SUITE Auth Design System — canonical */
:root{
  --auth-bg:#eef3f8;--auth-surface:#fff;--auth-navy:#071225;--auth-navy-2:#102b58;
  --auth-text:#101828;--auth-muted:#6f7d91;--auth-line:#e4eaf2;--auth-soft:#f7f9fc;
  --auth-primary:#536dfe;--auth-primary-2:#6b5cff;--auth-danger:#b42318;--auth-success:#146c4c;
  --auth-radius:30px;--auth-field-radius:14px;--auth-shadow:0 28px 80px rgba(15,23,42,.12);
  --auth-font:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}
html,body{font-family:var(--auth-font);-webkit-font-smoothing:antialiased}
body.entry-v13,body.ctr-auth-page,body.sa-auth{background:radial-gradient(circle at 8% 0%,rgba(59,120,255,.14),transparent 30%),linear-gradient(180deg,#eef4f9,#f7f9fc);color:var(--auth-text)}

/* Shared two-column shells */
.gateway,.register-shell,.sa-shell{width:min(1040px,100%);min-height:620px;display:grid;grid-template-columns:minmax(320px,1.03fr) minmax(390px,.97fr);background:var(--auth-surface);border:1px solid var(--auth-line);border-radius:var(--auth-radius);overflow:hidden;box-shadow:var(--auth-shadow)}
.visual,.register-side,.sa-side{position:relative;min-width:0;padding:42px;background:radial-gradient(circle at 78% 14%,rgba(104,93,255,.23),transparent 29%),linear-gradient(145deg,var(--auth-navy),var(--auth-navy-2));color:#fff;display:flex;flex-direction:column;overflow:hidden;border:0}
.visual:after,.register-side:after,.sa-side:after{content:"";position:absolute;width:440px;height:440px;border-radius:50%;right:-210px;bottom:-220px;border:70px solid rgba(104,93,255,.10);pointer-events:none}
.panel,.register-panel,.sa-panel{min-width:0;background:#fff;display:flex;align-items:center;justify-content:center;padding:46px 48px}
.box,.register-box,.sa-box{width:min(100%,420px);margin:0 auto;padding:0!important;background:transparent!important;box-shadow:none!important;border:0!important}

/* Brand */
.brand,.register-brand,.sa-brand,.mobile-brand,.sa-mobile-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img,.register-brand img,.sa-logo img,.mobile-brand img,.sa-mobile-brand img{width:52px;height:52px;border-radius:15px;object-fit:cover}
.brand strong,.register-brand strong,.sa-brand strong,.mobile-brand strong,.sa-mobile-brand strong{font-size:15px;line-height:1.15;font-weight:800;letter-spacing:-.01em}
.brand small,.register-brand small,.sa-brand small,.sa-mobile-brand small{display:block;margin-top:3px;font-size:9px;line-height:1.2;letter-spacing:.13em;font-weight:700;opacity:.72}
.mobile-brand,.sa-mobile-brand{display:none}

/* Visual copy */
.visual-copy,.register-side-copy,.sa-copy{position:relative;z-index:1;margin:auto 0 0;padding-top:50px}
.eyebrow,.system-pill,.sa-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 11px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.07);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#cdd8ee}
.visual-copy h1,.register-side-copy h1,.sa-copy h1{margin:18px 0 12px;font-size:clamp(34px,4vw,48px);line-height:1.04;letter-spacing:-.045em;font-weight:800;color:#fff}
.sa-copy h1{font-size:clamp(32px,3.5vw,42px)}
.visual-copy h1 span,.register-side-copy h1 span,.sa-copy h1 span{color:#92a7ff}
.visual-copy p,.register-side-copy p,.sa-copy p{max-width:500px;margin:0;color:#aebbd0;font-size:14px;line-height:1.7}
.entry-ui-preview,.sa-preview{margin-top:24px;max-width:430px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.05);padding:8px;box-shadow:0 18px 50px rgba(0,0,0,.18);overflow:hidden}
.sa-preview{width:min(100%,430px)}
.entry-ui-preview img,.sa-preview img{display:block;width:100%;height:auto;border-radius:12px}

/* Right panel typography */
.box h2,.register-heading h1,.sa-head h2,.card h1,.card h2{margin:0;color:var(--auth-text);font-size:27px;line-height:1.18;letter-spacing:-.035em;font-weight:800}
.sub,.register-heading p,.sa-head p,.card>p{margin:8px 0 0;color:var(--auth-muted);font-size:13px;line-height:1.6}
.sa-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}.sa-head-copy>span{display:block;margin-bottom:7px;color:#71819a;font-size:9px;font-weight:800;letter-spacing:.14em}.sa-secure{display:inline-flex;padding:6px 9px;border:1px solid #dce4f0;border-radius:999px;background:#f8faff;color:#60708a;font-size:9px;font-weight:800}

/* Forms */
.form,.register-box form,.sa-form{display:grid;gap:16px;margin-top:25px}
.field,.business-field{display:grid;gap:7px;margin:0}
.field label,.business-field label,.sa-label{font-size:10px;line-height:1.2;font-weight:800;letter-spacing:.09em;color:#526177;text-transform:uppercase}
.input,.field input,.business-field input,.business-field select,.sa-input{width:100%;height:48px;min-height:48px;padding:0 14px;border:1px solid #dce3ed;border-radius:var(--auth-field-radius);background:#fff;color:var(--auth-text);font-size:13px;font-weight:500;outline:none;box-shadow:none;transition:border-color .16s ease,box-shadow .16s ease}
.input:focus,.field input:focus,.business-field input:focus,.business-field select:focus,.sa-input:focus{border-color:#8da0ff;box-shadow:0 0 0 3px rgba(83,109,254,.11)}
.input-wrap,.password-wrap,.sa-input-wrap,.input-shell{position:relative}.input-wrap .input{padding-left:42px}.password-wrap .input,.input-shell input{padding-right:46px}.field-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-size:9px;color:#9aa7b9;z-index:2}.toggle,.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:#6f7d91;cursor:pointer;transition:background .16s ease,color .16s ease}.toggle:hover,.password-toggle:hover{background:#f1f5fb;color:#475467}.toggle svg,.password-toggle svg{width:18px;height:18px}
.hint{font-size:11px;color:#8793a5;line-height:1.45}

/* Buttons */
.primary,.btn,.register-primary,.registration-next,.sa-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:0 17px;border:0;border-radius:14px;background:linear-gradient(135deg,var(--auth-primary),var(--auth-primary-2));color:#fff;font-size:13px;font-weight:800;letter-spacing:-.01em;text-decoration:none;cursor:pointer;box-shadow:0 10px 24px rgba(83,109,254,.18);transition:transform .15s ease,box-shadow .15s ease}
.primary:hover,.btn:hover,.register-primary:hover,.registration-next:hover,.sa-btn:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(83,109,254,.22)}
.secondary,.registration-back{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 15px;border:1px solid #dce3ed;border-radius:13px;background:#fff;color:#40506a;font-size:12px;font-weight:700;text-decoration:none}

/* Alerts / links / footer */
.alert,.result{margin:14px 0;padding:11px 13px;border-radius:12px;border:1px solid #f0c8c4;background:#fff6f5;color:var(--auth-danger);font-size:12px;line-height:1.5}.alert.ok,.result.ok,.success-note{border-color:#cbe9dd;background:#f2fbf7;color:var(--auth-success)}
.links,.foot,.sa-foot{margin-top:20px;color:#718097;font-size:11px;line-height:1.5}.links a,.foot a,.sa-foot a,.change-account{color:#4f68e8;font-weight:700;text-decoration:none}.sa-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #eef1f5;padding-top:16px}.sa-foot svg{width:13px;height:13px;vertical-align:-2px}

/* Register */
.register-heading{margin-bottom:20px}.steps,.registration-progress{display:flex;gap:8px;margin:0 0 22px}.step,.registration-step-tab{flex:1;min-width:0;min-height:38px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #e3e8f0;border-radius:11px;background:#fafbfc;color:#8995a7;font-size:10px;font-weight:700;cursor:pointer}.step.active,.registration-step-tab.active,[aria-current="step"].registration-step-tab{border-color:#bfc9ff;background:#f5f6ff;color:#4f63da}.step .num{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#edf0f5;color:#738096;font-size:9px}.step.active .num{background:#6375f5;color:#fff}
.form-grid,.registration-step-grid,.business-core-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full{grid-column:1/-1}.registration-step{margin:0}.business-step-layout,.registration-review{display:grid;gap:14px}.business-card,.workspace-card,.plan-card{border:1px solid #e4e9f1;border-radius:16px;background:#fff;padding:16px;box-shadow:none}.registration-final-actions{display:flex;gap:10px;align-items:center;margin-top:18px}.registration-final-actions>*{flex:1}

/* Recovery pages */
body.entry-compact{display:grid;place-items:center;min-height:100dvh;padding:20px}.card{width:min(100%,430px);padding:34px;border:1px solid var(--auth-line);border-radius:24px;background:#fff;box-shadow:var(--auth-shadow)}.card .brand{margin-bottom:22px;color:var(--auth-text)}

/* Superadmin shell wrapper */
.sa-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:20px}.sa-shell{min-height:620px}.sa-logo{display:grid;place-items:center}.sa-brand,.sa-copy{color:#fff}.sa-panel{color:var(--auth-text)}.sa-box{color:var(--auth-text)}.sa-mobile-brand{color:var(--auth-text)}

@media(max-width:820px){
  body.entry-v13,body.ctr-auth-page,body.sa-auth{padding:0;background:#fff}
  .gateway,.register-shell,.sa-shell{width:100%;min-height:100dvh;display:block;border:0;border-radius:0;box-shadow:none}
  .visual,.register-side,.sa-side{display:none}
  .panel,.register-panel,.sa-panel{min-height:100dvh;padding:28px 22px;align-items:center}
  .box,.register-box,.sa-box{width:min(100%,440px)}
  .mobile-brand,.sa-mobile-brand{display:flex;margin-bottom:30px;color:var(--auth-text)}
  .form-grid,.registration-step-grid,.business-core-grid{grid-template-columns:1fr}
  .full{grid-column:auto}.registration-final-actions{flex-direction:column-reverse}.registration-final-actions>*{width:100%}
}
@media(max-width:480px){
  .panel,.register-panel,.sa-panel{padding:24px 18px}
  .box h2,.register-heading h1,.sa-head h2,.card h1,.card h2{font-size:24px}
  .input,.field input,.business-field input,.business-field select,.sa-input{height:46px;min-height:46px;font-size:12.5px}
  .primary,.btn,.register-primary,.registration-next,.sa-btn{min-height:46px}
  .steps,.registration-progress{gap:6px}.step,.registration-step-tab{font-size:9px;padding:0 5px}
  .sa-head{margin-bottom:20px}.sa-secure{display:none}
}


/* V2 register wizard cleanup */
.registration-progress{display:block!important;margin:0 0 18px!important}
.registration-progress ol{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;list-style:none;margin:0;padding:0}
.registration-progress li{list-style:none;display:block!important;min-width:0;padding:0!important;border:1px solid #304260!important;border-radius:14px!important;background:#13233f!important;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.registration-step-tab{appearance:none;-webkit-appearance:none;width:100%;min-height:46px;height:100%;display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:10px 14px!important;border:0!important;border-radius:14px!important;background:transparent!important;color:#c4d0ea!important;text-align:left;box-sizing:border-box}
.registration-step-tab>span{width:28px!important;height:28px!important;flex:0 0 28px!important;display:grid;place-items:center;border-radius:999px;background:rgba(113,134,247,.18)!important;color:#d6e0ff!important;font-size:12px!important;font-weight:800;box-shadow:none!important}
.registration-progress li:has(.registration-step-tab[aria-current="step"]){border-color:#8b9dff!important;background:#182b4d!important}
.registration-progress li:has(.registration-step-tab[aria-current="step"]) .registration-step-tab{color:#eef3ff!important}
.registration-step-tab[aria-current="step"]>span{background:#7186f7!important;color:#fff!important;box-shadow:0 10px 18px rgba(113,134,247,.28)!important}
.registration-progress li:has(.registration-step-tab.is-complete){border-color:#5cbaa0!important;background:#143136!important}
.registration-step-tab.is-complete{color:#d6f1e8!important}
.registration-step-tab.is-complete>span{background:#5cbaa0!important;color:#fff!important}
#registrationStepStatus{margin:10px 2px 0;color:#8ea0bc;font-size:11px;line-height:1.45}

/* V2 superadmin auth compaction */
.sa-page{padding:16px}
.sa-shell{min-height:560px;grid-template-columns:minmax(320px,.96fr) minmax(370px,.86fr)}
.sa-side{padding:34px 34px 24px}
.sa-copy{padding-top:28px}
.sa-copy h1{font-size:clamp(30px,3vw,40px);margin:14px 0 10px}
.sa-copy p{max-width:420px;font-size:13px;line-height:1.65}
.sa-preview{width:min(100%,340px);margin-top:18px}
.sa-panel{align-items:flex-start;justify-content:center;padding:34px 40px}
.sa-box{width:min(100%,392px);display:flex;flex-direction:column;justify-content:flex-start;padding-top:4px!important}
.sa-head{margin-bottom:18px;gap:14px}
.sa-head p{max-width:320px}
.sa-form{gap:12px;margin-top:18px}
.sa-form .field{gap:6px}
.sa-form .field input{height:46px;min-height:46px}
.sa-form .alert{margin:0 0 12px}
.sa-btn{min-height:46px;margin-top:2px}
.sa-foot{margin-top:16px;padding-top:14px}
.input-shell{position:relative;display:block;width:100%}
.input-shell input{display:block;width:100%;padding-right:46px}
.password-toggle{top:50%;right:10px}

@media(max-width:560px){
  .registration-progress ol{gap:8px}
  .registration-step-tab{min-height:44px;padding:9px 10px!important;gap:8px;font-size:10px!important}
  .registration-step-tab>span{width:24px!important;height:24px!important;flex-basis:24px!important;font-size:11px!important}
}


/* V3 superadmin balanced compact layout */
.sa-page{padding:18px 20px!important;align-items:start!important}
.sa-shell{width:min(980px,100%)!important;min-height:0!important;height:auto!important;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;margin-top:8px!important}
.sa-side{padding:30px 32px 26px!important}
.sa-brand{margin-bottom:22px!important}
.sa-copy{margin:0!important;padding-top:4px!important}
.sa-copy .sa-pill{margin-bottom:0!important}
.sa-copy h1{font-size:clamp(28px,2.8vw,38px)!important;line-height:1.04!important;margin:14px 0 10px!important}
.sa-copy p{max-width:430px!important;font-size:12.5px!important;line-height:1.55!important}
.sa-preview{width:min(100%,300px)!important;max-width:300px!important;margin:16px auto 0!important;padding:7px!important;border-radius:16px!important}
.sa-preview img{border-radius:10px!important}
.sa-panel{align-items:flex-start!important;justify-content:center!important;padding:34px 38px 28px!important}
.sa-box{width:min(100%,390px)!important;margin:0 auto!important;padding:4px 0 0!important;display:block!important}
.sa-head{margin:0 0 16px!important;gap:12px!important}
.sa-head-copy>span{margin-bottom:5px!important}
.sa-head h2{font-size:25px!important;line-height:1.12!important}
.sa-head p{margin-top:7px!important;max-width:330px!important;font-size:12px!important;line-height:1.5!important}
.sa-secure{padding:5px 8px!important;font-size:8px!important}
.sa-form{gap:10px!important;margin-top:16px!important}
.sa-form .field{gap:5px!important}
.sa-form .field label{font-size:9px!important}
.sa-form .field input{height:44px!important;min-height:44px!important;border-radius:12px!important}
.sa-btn{min-height:44px!important;border-radius:12px!important;margin-top:2px!important;font-size:12.5px!important}
.sa-foot{margin-top:14px!important;padding-top:12px!important;font-size:10.5px!important}
.password-toggle{width:32px!important;height:32px!important;right:8px!important}
.password-toggle svg{width:17px!important;height:17px!important}

@media (min-width:821px){
  body.sa-auth{min-height:100vh!important;overflow:auto!important}
  .sa-page{min-height:100vh!important}
}
