:root{--auth-bg:#080706;--auth-card:#0e0d0c;--auth-card-2:#12100f;--auth-line:rgba(255,255,255,.085);--auth-line-strong:rgba(255,132,38,.42);--auth-text:#f7f3ef;--auth-muted:#8e8882;--auth-accent:#ff7a18;--auth-accent-2:#ff9b4d;--auth-danger:#ff6a61;--auth-success:#5ed89a}
html,body{min-height:100%;background:var(--auth-bg)!important}
body{margin:0!important;padding:0!important;color:var(--auth-text)!important;background:
radial-gradient(circle at 50% 12%,rgba(255,122,24,.08),transparent 28%),
radial-gradient(circle at 85% 85%,rgba(255,122,24,.035),transparent 24%),#080706!important;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.26;background-image:linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.01) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,#000,transparent 82%)}
.cms-auth-main,.auth-shell.recovery-shell{box-sizing:border-box;width:100%!important;min-height:100vh!important;margin:0!important;padding:44px 18px!important;display:grid!important;place-items:center!important}
.cms-auth-card,.auth-recovery-card{position:relative;box-sizing:border-box;width:min(460px,100%)!important;max-width:460px!important;margin:0!important;padding:24px!important;overflow:visible!important;border:1px solid var(--auth-line)!important;border-radius:22px!important;background:linear-gradient(180deg,rgba(20,17,15,.98),rgba(11,10,9,.99))!important;box-shadow:0 30px 100px rgba(0,0,0,.42)!important;backdrop-filter:none!important}
.cms-auth-card::before,.auth-recovery-card::before{content:"CMS ID"!important;display:block!important;margin:0 0 18px!important;color:#fff!important;font-size:.71rem!important;line-height:1!important;font-weight:900!important;letter-spacing:.14em!important}
.cms-auth-card::after,.auth-recovery-card::after{content:""!important;position:absolute!important;z-index:0!important;right:-60px!important;top:-70px!important;width:190px!important;height:190px!important;border-radius:50%!important;background:radial-gradient(circle,rgba(255,122,24,.13),transparent 68%)!important;pointer-events:none!important}
.cms-auth-card>* ,.auth-recovery-card>*{position:relative;z-index:1}
.auth-tabs{display:grid!important;grid-template-columns:1fr 1fr!important;gap:5px!important;margin:0 0 22px!important;padding:4px!important;border:1px solid var(--auth-line)!important;border-radius:13px!important;background:#0a0908!important}
.auth-tabs button{min-height:42px!important;padding:0 14px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:#8f8983!important;font:inherit!important;font-size:.78rem!important;font-weight:800!important;cursor:pointer!important;transition:background .24s ease,color .24s ease,box-shadow .24s ease,transform .24s ease!important}
.auth-tabs button:hover{color:#d7d1cb!important}.auth-tabs button.is-active{background:linear-gradient(180deg,rgba(255,122,24,.16),rgba(255,122,24,.08))!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,122,24,.22)!important}
.auth-stage{position:relative!important;margin:0!important;overflow:hidden!important;transition:height .38s cubic-bezier(.2,.75,.2,1)!important}
.auth-stage .auth-form{position:absolute!important;inset:0 0 auto 0!important;display:grid!important;gap:12px!important;width:100%!important;opacity:0!important;transform:translateX(14px)!important;pointer-events:none!important;transition:opacity .22s ease,transform .32s cubic-bezier(.2,.75,.2,1)!important}
.auth-stage .auth-form.is-active{opacity:1!important;transform:none!important;pointer-events:auto!important}
.auth-form__head,.auth-recovery-copy{display:grid!important;gap:5px!important;text-align:center!important;margin:0 0 10px!important}.auth-form__head h2,.auth-recovery-copy h1{margin:0!important;color:#fff!important;font-size:1.3rem!important;line-height:1.12!important;letter-spacing:-.035em!important}.auth-form__head p,.auth-recovery-copy p{margin:0!important;color:var(--auth-muted)!important;font-size:.72rem!important;line-height:1.5!important}
.auth-form label,.auth-step-form label,.legacy-reset-form label{display:grid!important;gap:6px!important;margin:0!important;color:#b5afa9!important;font-size:.68rem!important;font-weight:700!important}.field-label{display:block!important}.field-required{display:none!important}
.auth-form input,.auth-step-form input,.legacy-reset-form input,.manual-recovery-form input,.manual-recovery-form textarea{box-sizing:border-box!important;width:100%!important;min-height:47px!important;margin:0!important;padding:0 13px!important;border:1px solid rgba(255,255,255,.075)!important;border-radius:10px!important;outline:0!important;background:#171513!important;color:#fff!important;font:inherit!important;font-size:.82rem!important;box-shadow:none!important;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease!important}.manual-recovery-form textarea{min-height:110px!important;padding:12px 13px!important;resize:vertical!important}
.auth-form input:focus,.auth-step-form input:focus,.legacy-reset-form input:focus,.manual-recovery-form input:focus,.manual-recovery-form textarea:focus{border-color:rgba(255,122,24,.48)!important;background:#1a1715!important;box-shadow:0 0 0 3px rgba(255,122,24,.07)!important}.auth-form input::placeholder,.auth-step-form input::placeholder,.legacy-reset-form input::placeholder,.manual-recovery-form input::placeholder,.manual-recovery-form textarea::placeholder{color:#69645f!important}
.auth-form .button,.auth-step-form .button,.legacy-reset-form .button,.manual-recovery-form .button{box-sizing:border-box!important;width:100%!important;min-height:47px!important;margin:2px 0 0!important;border:0!important;border-radius:10px!important;background:linear-gradient(135deg,var(--auth-accent),#ff8d30)!important;color:#fff!important;font:inherit!important;font-size:.78rem!important;font-weight:850!important;cursor:pointer!important;box-shadow:0 10px 28px rgba(255,122,24,.14)!important;transition:transform .18s ease,filter .18s ease,opacity .18s ease!important}.auth-form .button:hover,.auth-step-form .button:hover,.legacy-reset-form .button:hover,.manual-recovery-form .button:hover{filter:brightness(1.06)!important;transform:translateY(-1px)!important}.auth-form .button:disabled,.auth-step-form .button:disabled,.legacy-reset-form .button:disabled,.manual-recovery-form .button:disabled{opacity:.48!important;cursor:not-allowed!important;transform:none!important}
.auth-forgot-line{margin:2px 0 0!important;text-align:center!important;color:#85807a!important;font-size:.7rem!important}.auth-forgot-line a{color:#ff9b4d!important;font-weight:800!important;text-decoration:none!important}.auth-forgot-line a:hover{text-decoration:underline!important}
.auth-legal{margin:2px 0 0!important;text-align:center!important;color:#726d68!important;font-size:.61rem!important;line-height:1.45!important}.auth-legal a{color:#aa7a57!important;text-decoration:none!important}.auth-legal a:hover{color:#ff9b4d!important}
.form-message{min-height:17px!important;margin:12px 0 0!important;text-align:center!important;color:#ff8e85!important;font-size:.67rem!important;line-height:1.4!important}.form-message.is-ok{color:var(--auth-success)!important}
.auth-code-panel{margin:0!important}.auth-code-panel[hidden]{display:none!important}.auth-code-panel .auth-form__head{margin-bottom:14px!important}
.auth-progress{display:grid;gap:5px;margin:0 0 20px}.auth-progress__bars{display:grid;grid-template-columns:repeat(var(--steps,3),1fr);gap:5px}.auth-progress__bars span{height:3px;border-radius:999px;background:#24211f;transition:background .25s ease,box-shadow .25s ease}.auth-progress[data-step="1"] .auth-progress__bars span:nth-child(-n+1),.auth-progress[data-step="2"] .auth-progress__bars span:nth-child(-n+2),.auth-progress[data-step="3"] .auth-progress__bars span:nth-child(-n+3){background:var(--auth-accent);box-shadow:0 0 12px rgba(255,122,24,.16)}
.auth-progress__label{color:#706a65;font-size:.58rem;text-align:center}
.auth-step{display:none;animation:authStepIn .28s cubic-bezier(.2,.75,.2,1)}.auth-step.is-active{display:block}.auth-step-form{display:grid!important;gap:12px!important}.auth-step-head{display:grid;gap:5px;margin:0 0 16px;text-align:center}.auth-step-head h1,.auth-step-head h2{margin:0;color:#fff;font-size:1.24rem;line-height:1.15;letter-spacing:-.035em}.auth-step-head p{max-width:330px;margin:0 auto;color:#928c86;font-size:.7rem;line-height:1.5}.auth-step-head strong{color:#fff}
.auth-back-button,.recovery-secondary,.recovery-back{display:block!important;width:100%!important;min-height:43px!important;padding:0 12px!important;border:1px solid rgba(255,255,255,.055)!important;border-radius:9px!important;background:#171513!important;color:#d9d2cc!important;font:inherit!important;font-size:.72rem!important;font-weight:800!important;text-decoration:none!important;text-align:center!important;line-height:41px!important;cursor:pointer!important;transition:background .18s ease,color .18s ease,border-color .18s ease!important}.auth-back-button:hover,.recovery-secondary:hover,.recovery-back:hover{background:#1c1917!important;color:#fff!important;border-color:rgba(255,255,255,.09)!important;text-decoration:none!important}
.auth-subtle-action{margin:-2px 0 0;text-align:center;color:#77716b;font-size:.63rem}.auth-subtle-action button{padding:0;border:0;background:none;color:#b27a53;font:inherit;font-weight:750;cursor:pointer}.auth-subtle-action button:hover{color:#ff9b4d}
.otp-inputs{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:2px 0}.otp-inputs input{min-width:0!important;height:53px!important;min-height:53px!important;padding:0!important;text-align:center!important;font-size:1.05rem!important;font-weight:800!important;font-variant-numeric:tabular-nums!important}.otp-inputs input.is-filled{border-color:rgba(255,122,24,.3)!important}.otp-hidden{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}
.auth-code-meta{margin:-2px 0 2px;text-align:center;color:#6f6964;font-size:.6rem;line-height:1.45}.auth-dev-code{display:inline-block;margin-top:4px;color:#ca8b5d}
.password-wrap{position:relative}.password-wrap input{padding-right:43px!important}.password-toggle{position:absolute;right:8px;bottom:7px;width:33px;height:33px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:#817b75;cursor:pointer}.password-toggle:hover{background:rgba(255,255,255,.04);color:#fff}.password-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.manual-recovery-form{display:grid!important;gap:12px!important}.manual-recovery-form[hidden]{display:none!important}.manual-recovery-head{text-align:center!important}.manual-recovery-head .eyebrow{display:none!important}.manual-recovery-head h2{margin:0 0 5px!important;font-size:1.2rem!important}.manual-recovery-head p{margin:0!important;color:#8d8781!important;font-size:.68rem!important;line-height:1.5!important}.manual-recovery-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
.auth-success-toast{position:fixed;left:50%;top:24px;z-index:1000;transform:translate(-50%,-10px);padding:11px 15px;border:1px solid rgba(94,216,154,.36);border-radius:10px;background:#10231b;color:#a9f0cd;font-size:.68rem;font-weight:750;opacity:0;pointer-events:none;transition:.25s ease}.auth-success-toast.is-visible{opacity:1;transform:translate(-50%,0)}
@keyframes authStepIn{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
@media(max-width:520px){.cms-auth-main,.auth-shell.recovery-shell{padding:24px 12px!important}.cms-auth-card,.auth-recovery-card{padding:19px!important;border-radius:18px!important}.auth-tabs{margin-bottom:18px!important}.otp-inputs{gap:5px}.otp-inputs input{height:48px!important;min-height:48px!important;font-size:.94rem!important}.auth-form__head h2,.auth-step-head h1,.auth-step-head h2{font-size:1.13rem!important}}
@media(prefers-reduced-motion:reduce){.auth-stage,.auth-stage .auth-form,.auth-step,.auth-progress__bars span{transition:none!important;animation:none!important}}
.auth-tabs[hidden],.auth-progress[hidden],.auth-stage[hidden]{display:none!important}


/* v9 — wider auth layout, slightly above visual center */
.cms-auth-main,.auth-shell.recovery-shell{
  place-items:start center!important;
  padding:clamp(62px,10vh,108px) 22px 42px!important;
}
.cms-auth-card,.auth-recovery-card{
  width:min(560px,100%)!important;
  max-width:560px!important;
  padding:30px 32px!important;
  border-radius:24px!important;
}
.cms-auth-card::before,.auth-recovery-card::before{margin-bottom:21px!important;font-size:.75rem!important}
.auth-tabs{margin-bottom:25px!important;padding:5px!important;border-radius:14px!important}
.auth-tabs button{min-height:46px!important;font-size:.82rem!important;border-radius:10px!important}
.auth-form__head h2,.auth-step-head h1,.auth-step-head h2,.auth-recovery-copy h1{font-size:1.48rem!important}
.auth-form__head p,.auth-step-head p,.auth-recovery-copy p{font-size:.77rem!important;max-width:390px!important}
.auth-form label,.auth-step-form label,.legacy-reset-form label{font-size:.72rem!important}
.auth-form input,.auth-step-form input,.legacy-reset-form input,.manual-recovery-form input{min-height:52px!important;padding-left:15px!important;padding-right:15px!important;font-size:.87rem!important;border-radius:11px!important}
.password-wrap input{padding-right:47px!important}
.password-toggle{right:8px!important;bottom:8px!important;width:36px!important;height:36px!important}
.auth-form .button,.auth-step-form .button,.legacy-reset-form .button,.manual-recovery-form .button{min-height:51px!important;font-size:.82rem!important;border-radius:11px!important}
.auth-stage .auth-form,.auth-step-form{gap:14px!important}
.auth-forgot-line{margin-top:3px!important;font-size:.75rem!important}
.auth-legal{font-size:.65rem!important;line-height:1.5!important}
.auth-progress{margin-bottom:24px!important;gap:0!important}
.auth-progress__label{display:none!important}
.otp-inputs{gap:9px!important}
.otp-inputs input{height:58px!important;min-height:58px!important;font-size:1.12rem!important;border-radius:11px!important}
.auth-back-button,.recovery-secondary,.recovery-back{min-height:47px!important;line-height:45px!important;font-size:.76rem!important;border-radius:10px!important}
.auth-code-meta{font-size:.64rem!important}
.form-message{font-size:.71rem!important}
@media(max-width:620px){
  .cms-auth-main,.auth-shell.recovery-shell{padding:34px 13px!important;place-items:start center!important}
  .cms-auth-card,.auth-recovery-card{padding:22px 20px!important;border-radius:20px!important}
  .auth-form__head h2,.auth-step-head h1,.auth-step-head h2{font-size:1.26rem!important}
  .otp-inputs{gap:6px!important}
  .otp-inputs input{height:50px!important;min-height:50px!important}
}


/* v10 — roomier CMS ID auth/recovery without turning it into a full-page form */
.cms-auth-main,.auth-shell.recovery-shell{
  padding:clamp(52px,8vh,82px) 24px 40px!important;
}
.cms-auth-card,.auth-recovery-card{
  width:min(680px,calc(100vw - 48px))!important;
  max-width:680px!important;
  padding:34px 40px!important;
}
.auth-form__head p,.auth-step-head p,.auth-recovery-copy p{max-width:470px!important}
.auth-form input,.auth-step-form input,.legacy-reset-form input,.manual-recovery-form input{
  min-height:54px!important;
  padding-left:17px!important;
  padding-right:17px!important;
}
.password-wrap input{padding-right:52px!important}
.auth-form .button,.auth-step-form .button,.legacy-reset-form .button,.manual-recovery-form .button{min-height:53px!important}
@media(max-width:720px){
  .cms-auth-main,.auth-shell.recovery-shell{padding:30px 14px!important}
  .cms-auth-card,.auth-recovery-card{width:100%!important;padding:24px 22px!important}
}


/* v11 — balanced auth width: between the old narrow and oversized variants */
.cms-auth-main,.auth-shell.recovery-shell{
  padding:clamp(46px,7vh,72px) 22px 34px!important;
  place-items:start center!important;
}
.cms-auth-card,.auth-recovery-card{
  width:min(610px,calc(100vw - 44px))!important;
  max-width:610px!important;
  padding:31px 34px!important;
}
.auth-form__head{margin-bottom:7px!important}
.auth-form__head h2{font-size:1.34rem!important}
.auth-form__head p{display:none!important}
.auth-form input,.auth-step-form input,.legacy-reset-form input,.manual-recovery-form input{min-height:52px!important}
.auth-form .button,.auth-step-form .button,.legacy-reset-form .button,.manual-recovery-form .button{min-height:51px!important}
@media(max-width:680px){
  .cms-auth-main,.auth-shell.recovery-shell{padding:28px 14px!important;place-items:start center!important}
  .cms-auth-card,.auth-recovery-card{width:100%!important;padding:24px 21px!important}
}


/* v12 — balanced width + trusted-device option */
.cms-auth-main,.auth-shell.recovery-shell{
  padding:clamp(42px,6.5vh,68px) 20px 32px!important;
}
.cms-auth-card,.auth-recovery-card{
  width:min(560px,calc(100vw - 40px))!important;
  max-width:560px!important;
  padding:30px 32px!important;
}
.auth-forgot-line{margin-top:7px!important;font-size:.83rem!important;line-height:1.45!important}
.auth-forgot-line a{font-weight:850!important}
.auth-legal{margin-top:5px!important;font-size:.72rem!important;line-height:1.55!important}
.auth-remember{display:flex!important;align-items:center!important;gap:10px!important;margin:0!important;padding:2px 0 1px!important;color:#bcb6b0!important;cursor:pointer!important}
.auth-remember>span:last-child{display:grid!important;gap:1px!important}.auth-remember strong{font-size:.74rem!important;color:#d8d2cc!important}.auth-remember small{font-size:.62rem!important;line-height:1.35!important;color:#77716c!important;font-weight:550!important}
.auth-remember__check{position:relative!important;display:grid!important;place-items:center!important;width:19px!important;height:19px!important;flex:0 0 19px!important}
.auth-remember__check input{position:absolute!important;inset:0!important;width:19px!important;height:19px!important;min-height:0!important;margin:0!important;padding:0!important;opacity:0!important;cursor:pointer!important}
.auth-remember__check i{width:17px!important;height:17px!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:5px!important;background:#171513!important;box-shadow:none!important;transition:.18s ease!important}
.auth-remember__check input:checked+i{border-color:rgba(255,122,24,.65)!important;background:#ff7a18!important}
.auth-remember__check input:checked+i::after{content:"";display:block;width:7px;height:4px;margin:4px 0 0 4px;border-left:2px solid white;border-bottom:2px solid white;transform:rotate(-45deg)}
@media(max-width:620px){
  .cms-auth-card,.auth-recovery-card{width:100%!important;padding:23px 20px!important}
  .auth-forgot-line{font-size:.78rem!important}
  .auth-legal{font-size:.68rem!important}
}

/* v13 — compact Majestic-inspired auth proportions */
.cms-auth-main,.auth-shell.recovery-shell{
  padding:clamp(40px,6vh,62px) 18px 30px!important;
}
.cms-auth-card,.auth-recovery-card{
  width:min(500px,calc(100vw - 36px))!important;
  max-width:500px!important;
  padding:28px 30px!important;
}
.auth-tabs{margin-bottom:20px!important}
.auth-forgot-line{
  margin-top:11px!important;
  font-size:.91rem!important;
  line-height:1.5!important;
  letter-spacing:-.01em!important;
}
.auth-forgot-line a{
  font-size:1em!important;
  font-weight:850!important;
}
@media(max-width:540px){
  .cms-auth-main,.auth-shell.recovery-shell{padding:26px 12px!important}
  .cms-auth-card,.auth-recovery-card{width:100%!important;padding:22px 19px!important}
  .auth-forgot-line{font-size:.84rem!important}
}


/* v15 — centered auth viewport + compact trusted-device row */
html:has(.cms-auth-main),
body:has(.cms-auth-main){
  width:100%;
  height:100%;
  min-height:100%;
  overflow:hidden!important;
  overscroll-behavior:none;
}
.cms-auth-main{
  width:100%!important;
  height:100dvh!important;
  min-height:100dvh!important;
  padding:18px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.cms-auth-card{
  width:min(470px,calc(100vw - 30px))!important;
  max-width:470px!important;
  max-height:calc(100dvh - 36px)!important;
  margin:0!important;
  padding:27px 30px!important;
  border-radius:22px!important;
}
.auth-tabs{margin-bottom:18px!important}
.auth-form{gap:13px!important}
.auth-form__head{margin-bottom:2px!important}
.auth-form__head h2{font-size:1.28rem!important}
.auth-form input{min-height:51px!important}
.auth-form .button{min-height:50px!important}
.auth-forgot-line{
  margin:10px 0 0!important;
  font-size:.93rem!important;
  line-height:1.5!important;
  text-align:center!important;
}
.auth-forgot-line a{font-weight:850!important}
.auth-remember-row{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  width:100%!important;
  min-height:24px!important;
  margin:0!important;
  padding:1px 0!important;
}
.auth-remember{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  margin:0!important;
  padding:0!important;
  color:#f0ebe6!important;
  cursor:pointer!important;
  user-select:none!important;
}
.auth-remember strong{
  display:block!important;
  color:#f0ebe6!important;
  font-size:.80rem!important;
  line-height:1.15!important;
  font-weight:750!important;
  white-space:nowrap!important;
}
.auth-remember__check{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:17px!important;
  height:17px!important;
  flex:0 0 17px!important;
}
.auth-remember__check input{
  position:absolute!important;
  inset:0!important;
  width:17px!important;
  height:17px!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  opacity:0!important;
  cursor:pointer!important;
}
.auth-remember__check i{
  box-sizing:border-box!important;
  width:16px!important;
  height:16px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:4px!important;
  background:#181614!important;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease!important;
}
.auth-remember:hover .auth-remember__check i{border-color:rgba(255,255,255,.34)!important}
.auth-remember__check input:focus-visible+i{box-shadow:0 0 0 3px rgba(255,122,24,.13)!important}
.auth-remember__check input:checked+i{border-color:#ff7a18!important;background:#ff7a18!important}
.auth-remember__check input:checked+i::after{
  content:""!important;
  display:block!important;
  width:6px!important;
  height:3px!important;
  margin:4px 0 0 4px!important;
  border-left:2px solid #fff!important;
  border-bottom:2px solid #fff!important;
  transform:rotate(-45deg)!important;
}
.auth-remember__help{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#807a74!important;
  cursor:help!important;
  opacity:.95!important;
  transition:color .18s ease,transform .18s ease!important;
}
.auth-remember__help svg{display:block!important;width:16px!important;height:16px!important;overflow:visible!important}
.auth-remember__help:hover,.auth-remember__help:focus-visible{
  color:#d8d2cc!important;
  transform:scale(1.06)!important;
  outline:none!important;
}
.auth-remember__help::after{
  content:attr(data-tooltip)!important;
  position:absolute!important;
  z-index:40!important;
  left:50%!important;
  bottom:calc(100% + 11px)!important;
  width:255px!important;
  padding:10px 12px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:9px!important;
  background:#1a1816!important;
  box-shadow:0 14px 38px rgba(0,0,0,.42)!important;
  color:#c9c3bd!important;
  font-size:.69rem!important;
  line-height:1.45!important;
  font-weight:600!important;
  text-align:left!important;
  white-space:normal!important;
  pointer-events:none!important;
  opacity:0!important;
  transform:translate(-50%,5px) scale(.98)!important;
  transform-origin:50% 100%!important;
  transition:opacity .16s ease,transform .2s cubic-bezier(.2,.75,.2,1)!important;
}
.auth-remember__help::before{
  content:""!important;
  position:absolute!important;
  z-index:41!important;
  left:50%!important;
  bottom:calc(100% + 6px)!important;
  width:9px!important;
  height:9px!important;
  background:#1a1816!important;
  border-right:1px solid rgba(255,255,255,.08)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  opacity:0!important;
  transform:translateX(-50%) rotate(45deg)!important;
  transition:opacity .16s ease!important;
  pointer-events:none!important;
}
.auth-remember__help:hover::after,.auth-remember__help:focus-visible::after{
  opacity:1!important;
  transform:translate(-50%,0) scale(1)!important;
}
.auth-remember__help:hover::before,.auth-remember__help:focus-visible::before{opacity:1!important}
@media(max-width:520px){
  .cms-auth-main{padding:12px!important}
  .cms-auth-card{width:100%!important;max-height:calc(100dvh - 24px)!important;padding:22px 20px!important;border-radius:18px!important}
  .auth-remember strong{font-size:.77rem!important}
  .auth-remember__help::after{width:min(230px,calc(100vw - 44px))!important}
}
@media(max-height:690px) and (min-width:521px){
  .cms-auth-card{padding:21px 27px!important}
  .cms-auth-card::before{margin-bottom:14px!important}
  .auth-tabs{margin-bottom:14px!important}
  .auth-form{gap:9px!important}
  .auth-form input{min-height:46px!important}
  .auth-form .button{min-height:46px!important}
  .auth-forgot-line{margin-top:6px!important}
}

/* v16 — strict viewport centering + one-line trusted-device control */
html:has(.cms-auth-main),
body:has(.cms-auth-main){
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
body:has(.cms-auth-main){position:relative!important}
.cms-auth-main{
  position:fixed!important;
  inset:0!important;
  z-index:1!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.cms-auth-card{
  flex:0 0 auto!important;
  width:min(470px,calc(100vw - 40px))!important;
  max-width:470px!important;
  max-height:calc(100vh - 40px)!important;
  max-height:calc(100dvh - 40px)!important;
  margin:0!important;
  transform:none!important;
}
.auth-form label.auth-remember{
  display:inline-flex!important;
  grid-template-columns:none!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
}
.auth-form label.auth-remember .auth-remember__check{
  display:grid!important;
  flex:0 0 17px!important;
  width:17px!important;
  height:17px!important;
  margin:0!important;
}
.auth-form label.auth-remember strong{
  display:block!important;
  margin:0!important;
  padding:0!important;
  line-height:17px!important;
}
.auth-remember-row{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:22px!important;
  margin:1px 0 0!important;
}
.auth-remember__help{
  flex:0 0 18px!important;
  align-self:center!important;
  margin:0!important;
  transform:none!important;
}
.auth-remember__help:hover,.auth-remember__help:focus-visible{transform:scale(1.06)!important}
@media(max-width:520px){
  .cms-auth-main{padding:12px!important}
  .cms-auth-card{width:min(470px,calc(100vw - 24px))!important;max-height:calc(100dvh - 24px)!important}
}

/* v17 — recovery centering, trusted-device tooltip, smooth auth navigation */
html:has(.auth-shell.recovery-shell),
body:has(.auth-shell.recovery-shell){
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
.auth-shell.recovery-shell{
  position:fixed!important;
  inset:0!important;
  z-index:1!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.auth-recovery-card{
  flex:0 0 auto!important;
  width:min(470px,calc(100vw - 40px))!important;
  max-width:470px!important;
  max-height:calc(100dvh - 40px)!important;
  margin:0!important;
  padding:27px 30px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scrollbar-width:none!important;
}
.auth-recovery-card::-webkit-scrollbar{display:none!important}
.auth-recovery-card::before{margin-bottom:18px!important}
.auth-recovery-card .auth-step-head{margin-bottom:16px!important}
.auth-recovery-card .auth-step-head h1,
.auth-recovery-card .auth-step-head h2{font-size:1.3rem!important}
.auth-recovery-card .auth-step-head p{max-width:350px!important;font-size:.73rem!important}
.auth-recovery-card .auth-step-form{gap:12px!important}
.auth-recovery-card .auth-progress{margin-bottom:20px!important}
.manual-recovery-form{gap:11px!important}
.manual-recovery-head{margin-bottom:2px!important}
.manual-recovery-head h2{font-size:1.28rem!important}
.manual-recovery-head p{max-width:360px!important;margin:0 auto!important;font-size:.72rem!important}
.manual-recovery-form textarea{min-height:94px!important;max-height:128px!important;resize:none!important}

.auth-remember__help::after{
  left:auto!important;
  right:-8px!important;
  bottom:calc(100% + 12px)!important;
  width:min(278px,calc(100vw - 58px))!important;
  box-sizing:border-box!important;
  padding:11px 13px!important;
  border-radius:10px!important;
  background:#1b1917!important;
  color:#d2ccc6!important;
  font-size:.70rem!important;
  line-height:1.45!important;
  font-weight:600!important;
  text-align:left!important;
  transform:translateY(5px) scale(.985)!important;
  transform-origin:calc(100% - 15px) 100%!important;
}
.auth-remember__help::before{
  left:auto!important;
  right:4px!important;
  bottom:calc(100% + 7px)!important;
  transform:rotate(45deg)!important;
}
.auth-remember__help:hover::after,
.auth-remember__help:focus-visible::after{
  transform:translateY(0) scale(1)!important;
}
.auth-remember__help svg{
  width:17px!important;
  height:17px!important;
}

.auth-step.is-leaving,
.manual-recovery-form.is-leaving{
  opacity:0!important;
  transform:translateX(-10px) scale(.992)!important;
  transition:opacity .14s ease,transform .16s cubic-bezier(.2,.75,.2,1)!important;
  pointer-events:none!important;
}
.auth-step.is-entering,
.manual-recovery-form.is-entering{
  animation:authRecoveryEnter .30s cubic-bezier(.2,.78,.2,1) both!important;
}
.auth-recovery-card.is-switching{pointer-events:none!important}
@keyframes authRecoveryEnter{
  from{opacity:0;transform:translateX(12px) scale(.992)}
  to{opacity:1;transform:translateX(0) scale(1)}
}

.cms-auth-card,
.auth-recovery-card{
  animation:authPageArrive .34s cubic-bezier(.2,.78,.2,1) both;
  transform-origin:center center!important;
  transition:opacity .20s ease,transform .22s cubic-bezier(.2,.72,.2,1)!important;
}
html.auth-page-leaving .cms-auth-card,
html.auth-page-leaving .auth-recovery-card{
  opacity:0!important;
  transform:scale(.982) translateY(6px)!important;
}
html.auth-page-leaving body::before{opacity:.12!important;transition:opacity .2s ease!important}
@keyframes authPageArrive{
  from{opacity:0;transform:scale(.982) translateY(7px)}
  to{opacity:1;transform:scale(1) translateY(0)}
}

@media(max-width:520px){
  .auth-shell.recovery-shell{padding:12px!important}
  .auth-recovery-card{width:min(470px,calc(100vw - 24px))!important;max-height:calc(100dvh - 24px)!important;padding:22px 20px!important}
  .auth-remember__help::after{right:-4px!important;width:min(260px,calc(100vw - 42px))!important}
}
@media(prefers-reduced-motion:reduce){
  .cms-auth-card,.auth-recovery-card,.auth-step.is-entering,.manual-recovery-form.is-entering,.auth-step.is-leaving,.manual-recovery-form.is-leaving{animation:none!important;transition:none!important}
}

