.auth-body{
  background:
    radial-gradient(720px 460px at 12% 35%,rgba(37,99,235,.10),transparent 72%),
    radial-gradient(600px 420px at 88% 18%,rgba(124,58,237,.07),transparent 74%),
    var(--bg);
}
.auth-header{height:76px;border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent)}
.auth-header-actions{display:flex;align-items:center;gap:10px}
.auth-home-link{color:var(--muted);font-size:var(--type-label);font-weight:700;padding:10px 6px;transition:color .18s ease}
.auth-home-link:hover{color:var(--text)}
.auth-header .button{height:40px}
.auth-page{min-height:calc(100vh - 76px);display:grid;place-items:center;padding:42px 30px 64px}
.auth-shell{position:relative;width:min(1160px,100%);display:grid;overflow:hidden;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:0 24px 70px rgba(0,0,0,.26)}
.auth-shell:before{content:"";position:absolute;z-index:2;left:0;top:48px;width:2px;height:58px;border-radius:0 2px 2px 0;background:linear-gradient(var(--cyan),var(--primary))}
.auth-shell-login{grid-template-columns:minmax(0,1fr) 470px;min-height:590px}
.auth-shell-register{grid-template-columns:420px minmax(0,1fr);min-height:650px}
.auth-context{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:34px;padding:48px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-raised) 72%,var(--surface)),var(--surface));border-right:1px solid var(--border)}
.auth-context:after{content:"";position:absolute;right:0;top:50px;width:1px;height:130px;background:linear-gradient(transparent,rgba(56,189,248,.55),transparent)}
.auth-context-copy{max-width:520px}
.auth-context-copy h2{max-width:520px;margin:0 0 16px;font-size:var(--type-display);line-height:1.08;letter-spacing:-.045em}
.auth-shell-register .auth-context-copy h2{font-size:var(--type-hero)}
.auth-context-copy p{max-width:520px;margin:0;color:var(--muted);font-size:var(--type-body);line-height:1.7}
.auth-module-list{display:grid;gap:9px;max-width:520px}
.auth-module-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:67px;padding:11px 13px;border:1px solid var(--border);border-radius:13px;background:color-mix(in srgb,var(--surface) 82%,transparent)}
.auth-module-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;border:1px solid rgba(56,189,248,.25);background:rgba(56,189,248,.08);color:var(--cyan)}
.auth-module-item.studio .auth-module-icon{border-color:rgba(124,58,237,.28);background:rgba(124,58,237,.09);color:#a78bfa}
.auth-module-item strong,.auth-module-item small{display:block}
.auth-module-item strong{font-size:var(--type-label)}
.auth-module-item small{margin-top:3px;color:var(--muted);font-size:var(--type-caption)}
.auth-module-item em{font:600 var(--type-caption) var(--mono);font-style:normal;letter-spacing:.08em;color:var(--cyan);text-transform:uppercase}
.auth-module-item.studio em{color:#a78bfa}
.auth-trust-note{display:flex;align-items:center;gap:11px;padding-top:21px;border-top:1px solid var(--border);color:var(--cyan)}
.auth-trust-note strong,.auth-trust-note small{display:block}
.auth-trust-note strong{color:var(--text);font-size:var(--type-caption)}
.auth-trust-note small{margin-top:2px;color:var(--muted);font-size:var(--type-caption)}
.activation-path{position:relative;display:grid;gap:20px;margin:0;padding:2px 0;list-style:none}
.activation-path:before{content:"";position:absolute;left:15px;top:22px;bottom:22px;width:1px;background:var(--border)}
.activation-path li{position:relative;display:grid;grid-template-columns:31px 1fr;gap:13px;align-items:start}
.activation-path i{position:relative;z-index:1;width:31px;height:31px;display:grid;place-items:center;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--muted);font:600 var(--type-caption) var(--mono);font-style:normal}
.activation-path .current i{border-color:rgba(56,189,248,.42);background:rgba(56,189,248,.1);color:var(--cyan)}
.activation-path strong,.activation-path small{display:block}
.activation-path strong{font-size:var(--type-label);margin:2px 0 4px}
.activation-path small{color:var(--muted);font-size:var(--type-caption);line-height:1.5}
.auth-form-panel{display:flex;flex-direction:column;justify-content:center;padding:46px 50px;background:var(--surface)}
.auth-shell-login .auth-form-panel{padding-inline:42px}
.auth-form-heading{margin-bottom:26px}
.auth-form-heading.compact{margin-bottom:20px}
.auth-form-mark{width:44px;height:44px;display:grid;place-items:center;margin-bottom:21px;border:1px solid rgba(56,189,248,.28);border-radius:13px;background:rgba(56,189,248,.08);color:var(--cyan)}
.auth-form-heading h1{margin:0 0 8px;font-size:var(--type-hero);line-height:1.15;letter-spacing:-.04em}
.auth-form-heading p{margin:0;color:var(--muted);font-size:var(--type-label);line-height:1.6}
.auth-form-grid{grid-template-columns:1fr;gap:10px}
.auth-form-panel .field{gap:7px}
.auth-form-panel .field label{font-size:var(--type-caption);letter-spacing:.01em}
.auth-form-panel .field label span{float:right;color:var(--muted);font-weight:500}
.auth-form-panel .field input{height:48px;background:color-mix(in srgb,var(--bg) 86%,var(--surface));transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.auth-form-panel .password-control{background:color-mix(in srgb,var(--bg) 86%,var(--surface))}
.auth-form-panel .password-control input{height:46px;background:transparent}
.auth-form-panel .password-control button{height:46px;width:46px}
.auth-form-panel .field.is-invalid>input,.auth-form-panel .field.is-invalid .password-control{border-color:rgba(239,68,68,.72);box-shadow:0 0 0 3px rgba(239,68,68,.08)}
.auth-form-panel .field.is-valid>input,.auth-form-panel .field.is-valid .password-control{border-color:rgba(34,197,94,.42)}
.field-feedback{min-height:16px;color:var(--muted);font-size:var(--type-caption);line-height:1.4}
.field.is-invalid .field-feedback{color:#f87171}
.field.is-valid .field-feedback{color:var(--success)}
.auth-submit,.auth-next-button{width:100%;height:46px;margin-top:2px}
.auth-form-assurance{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:17px;border-top:1px solid var(--border);color:var(--muted);font-size:var(--type-caption)}
.auth-form-assurance span{display:flex;align-items:center;gap:6px}
.auth-form-assurance .icon{color:var(--success)}
.auth-form-panel .auth-foot{margin-top:20px}
.verification-code-card{display:grid;gap:15px;margin:22px 0 18px;padding:16px;border:1px solid color-mix(in srgb,var(--cyan) 28%,var(--border));border-radius:13px;background:color-mix(in srgb,var(--surface) 88%,var(--cyan) 12%)}
.verification-code-card h2{margin:4px 0 3px;font-size:var(--type-label)}
.verification-code-card p{margin:0;color:var(--muted);font-size:var(--type-caption);line-height:1.5}
.verification-code-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}
.verification-digit-group{width:min(100%,260px);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
.verification-digit-group .verification-digit{width:100%;height:46px;padding:0;text-align:center;letter-spacing:0;font:700 var(--type-body)/1 var(--mono);color:var(--text)}
.verification-digit-group .verification-digit:focus{border-color:var(--cyan);box-shadow:0 0 0 3px color-mix(in srgb,var(--cyan) 14%,transparent)}
.verification-digit-group .verification-digit[aria-invalid=true]{border-color:rgba(239,68,68,.72);box-shadow:0 0 0 3px rgba(239,68,68,.08)}
.verification-code-form .button{height:46px;white-space:nowrap}
.verification-code-expiry{margin:-7px 0 16px;color:var(--muted);font-size:var(--type-caption)}
.verification-email-change{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;border-top:1px solid var(--border);padding-top:14px}
.verification-email-change-context{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:var(--type-caption)}
.verification-email-change-context .icon{color:var(--cyan);flex:none}
.verification-email-change-link{min-height:44px;display:inline-flex;align-items:center;padding:10px 0 10px 10px;color:var(--cyan);font-size:var(--type-caption);font-weight:700;text-decoration:none}
.verification-email-change-link:hover{color:var(--text);text-decoration:underline;text-underline-offset:3px}
.auth-form-progress{display:grid;grid-template-columns:1fr 1fr;margin-bottom:22px;border:1px solid var(--border);border-radius:11px;overflow:hidden;background:var(--bg)}
.auth-form-progress span{height:42px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:var(--type-caption);font-weight:700;transition:background .18s ease,color .18s ease}
.auth-form-progress span+span{border-left:1px solid var(--border)}
.auth-form-progress i{width:20px;height:20px;display:grid;place-items:center;border-radius:7px;background:var(--surface-raised);font:600 var(--type-caption) var(--mono);font-style:normal}
.auth-form-progress .active{color:var(--text);background:rgba(37,99,235,.08)}
.auth-form-progress .active i{background:var(--primary);color:#fff}
.auth-section-heading{margin-bottom:17px}
.auth-section-heading strong,.auth-section-heading small{display:block}
.auth-section-heading strong{font-size:var(--type-ui)}
.auth-section-heading small{margin-top:4px;color:var(--muted);font-size:var(--type-caption)}
.auth-register-grid{grid-template-columns:1fr 1fr!important;gap:10px 12px}
.auth-register-panel{animation:auth-panel-in .24s cubic-bezier(.2,.8,.2,1)}
.auth-register-panel[hidden]{display:none}
.auth-register-actions{display:grid;grid-template-columns:120px 1fr;gap:10px;margin-top:18px}
.consent-field{padding:13px;border:1px solid var(--border);border-radius:11px;background:color-mix(in srgb,var(--bg) 72%,var(--surface));cursor:pointer}
.consent-field:hover{border-color:color-mix(in srgb,var(--cyan) 38%,var(--border))}
.consent-field input{width:18px;height:18px}
.consent-field.is-invalid{border-color:rgba(239,68,68,.65);background:rgba(239,68,68,.05)}
.consent-feedback{min-height:14px;margin-top:-5px;color:#f87171;font-size:var(--type-caption)}
.auth-payment-note{display:flex;align-items:center;justify-content:center;gap:6px;margin:13px 0 0;color:var(--muted);font-size:var(--type-caption)}
.auth-payment-note .icon{color:var(--success)}
@keyframes auth-shell-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes auth-panel-in{from{opacity:0;transform:translateX(7px)}to{opacity:1;transform:none}}
.auth-shell{animation:auth-shell-in .38s cubic-bezier(.16,1,.3,1) both}
html[data-theme=light] .auth-shell{box-shadow:0 24px 65px rgba(30,64,175,.10)}
html[data-theme=light] .auth-context{background:linear-gradient(145deg,#eef5ff,#f8fbff)}
html[data-theme=light] .auth-module-item{background:rgba(255,255,255,.72)}
@media(min-width:901px) and (max-height:820px){
  .auth-page{padding:24px 30px 32px}
  .auth-shell-login{min-height:540px}
  .auth-shell-register{min-height:620px}
  .auth-context{padding:34px 40px}
  .auth-form-panel,.auth-shell-login .auth-form-panel{padding-block:32px}
  .auth-context-copy h2{font-size:var(--type-hero)}
  .auth-module-item{min-height:60px}
}
@media(max-width:900px){
  .auth-shell-login,.auth-shell-register{grid-template-columns:1fr;width:min(650px,100%)}
  .auth-context{min-height:auto;padding:34px;border-right:0;border-bottom:1px solid var(--border)}
  .auth-context-copy h2,.auth-shell-register .auth-context-copy h2{font-size:var(--type-hero)}
  .auth-module-list{display:none}
  .activation-path{grid-template-columns:repeat(3,1fr);gap:10px}
  .activation-path:before{display:none}
  .activation-path li{grid-template-columns:1fr;text-align:center;justify-items:center}
}
@media(max-width:620px){
  .auth-header{padding-inline:20px}
  .auth-home-link{display:none}
  .auth-page{padding:24px 16px 42px}
  .auth-context{display:none}
  .auth-form-panel,.auth-shell-login .auth-form-panel{padding:30px 22px}
  .auth-register-grid{grid-template-columns:1fr!important}
  .auth-register-actions{grid-template-columns:1fr}
  .auth-register-actions .secondary{order:2}
  .verification-code-form{grid-template-columns:1fr}
  .verification-digit-group{width:100%;max-width:260px}
  .verification-code-form .button{width:100%}
  .verification-email-change{align-items:flex-start}
  .verification-email-change-context{align-items:flex-start}
  .verification-email-change-link{padding-top:0}
}
@media(prefers-reduced-motion:reduce){.auth-shell,.auth-register-panel{animation:none!important}}
