:root{
  --auth-sky-1:#27a5ff;
  --auth-sky-2:#1d7ce6;
  --auth-sky-3:#173ea8;
  --auth-panel:#d7dee9;
  --auth-panel-2:#cfd7e2;
  --auth-brown-1:#c4aa94;
  --auth-brown-2:#8a6f5d;
  --auth-button-1:#b89d88;
  --auth-button-2:#866b59;
  --auth-accent:#f97316;
}
body.auth-page{overflow:auto!important;background:#020617!important;min-height:100vh;}
body.auth-page nav, body.auth-page footer{display:block!important}
body.auth-page.sa-auth footer{display:none!important}
.auth-shell{max-width:1180px!important;min-height:calc(100vh - 24px)!important;padding:12px 0 18px!important;align-items:center!important}
.auth-stage{width:100%!important;min-height:700px!important;height:auto!important;overflow:hidden!important;border-radius:24px!important;border:1px solid rgba(255,255,255,.1)!important;background:linear-gradient(180deg,var(--auth-sky-1) 0%,var(--auth-sky-2) 45%,var(--auth-sky-3) 100%)!important;position:relative!important;box-shadow:0 20px 60px rgba(0,0,0,.30)!important}
body.auth-signup .auth-stage{min-height:900px!important}
.auth-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0) 26%),radial-gradient(circle at 18% 16%,rgba(255,255,255,.16),transparent 24%);pointer-events:none}
.auth-stage:after{content:"";position:absolute;left:-3%;right:-3%;bottom:-30px;height:120px;pointer-events:none;opacity:1;background:radial-gradient(circle at 7% 45%,#fff 0 40px,transparent 41px),radial-gradient(circle at 16% 62%,#f8fafc 0 48px,transparent 49px),radial-gradient(circle at 28% 48%,#fff 0 54px,transparent 55px),radial-gradient(circle at 41% 66%,#f8fafc 0 44px,transparent 45px),radial-gradient(circle at 57% 43%,#fff 0 56px,transparent 57px),radial-gradient(circle at 71% 64%,#f8fafc 0 48px,transparent 49px),radial-gradient(circle at 84% 40%,#fff 0 52px,transparent 53px),radial-gradient(circle at 97% 62%,#f8fafc 0 40px,transparent 41px)}
.auth-grid{grid-template-columns:1.06fr .94fr!important;min-height:inherit}
.auth-hero{padding:26px 28px 32px!important;position:relative;z-index:1}
.auth-cloud{height:320px!important;margin:0 auto 12px!important}
.auth-cloud-main{left:44px!important;right:44px!important;top:52px!important;height:146px!important;border-radius:110px!important;background:#fff!important}
.auth-cloud-main:before{width:142px!important;height:142px!important;left:28px!important;top:-56px!important}
.auth-cloud-main:after{width:156px!important;height:156px!important;right:24px!important;top:-70px!important}
.auth-cloud-mini{display:none!important}
.auth-cloud-features{position:absolute;inset:0}
.auth-cloud-features span{min-width:84px!important;height:28px!important;padding:0 12px!important;background:linear-gradient(180deg,#ff8b38,#f97316)!important;color:#fff!important;font-size:.64rem!important;font-weight:800!important;box-shadow:0 8px 18px rgba(249,115,22,.26)!important}
.auth-cloud-features .slot1{left:82px!important;top:100px!important}
.auth-cloud-features .slot2{right:80px!important;top:100px!important;left:auto!important}
.auth-cloud-features .slot3{left:84px!important;top:140px!important}
.auth-cloud-features .slot4{right:76px!important;top:140px!important;left:auto!important}
.auth-globe,.auth-globe2,.auth-screen,.auth-lines,.auth-computer,.auth-wires,.auth-internet{display:none!important}
.auth-tagline{font-size:.85rem!important;font-weight:800!important;color:rgba(255,255,255,.9)!important;text-transform:none!important;letter-spacing:.02em!important}
.auth-hero h1,.auth-hero-title{font-size:2.35rem!important;line-height:1.02!important;max-width:470px!important;margin-top:10px!important;text-shadow:0 8px 24px rgba(0,0,0,.16)}
.auth-hero p{max-width:440px!important;font-size:.94rem!important;line-height:1.55!important;color:rgba(255,255,255,.95)!important}
.auth-panel-wrap{padding:22px 22px 22px 8px!important;align-items:stretch!important}
.auth-clip,.auth-card{width:min(460px,100%)!important;background:linear-gradient(180deg,var(--auth-panel),var(--auth-panel-2))!important;border-radius:22px!important;box-shadow:0 22px 46px rgba(0,0,0,.28)!important;border:1px solid rgba(120,130,150,.22)!important;position:relative!important;padding:22px 22px 18px!important;overflow:auto!important;max-height:none!important}
.auth-clip:before,.auth-card:before{content:"";position:absolute;left:36px;right:36px;top:-10px;height:36px;border-radius:0 0 18px 18px;background:linear-gradient(180deg,var(--auth-brown-1),var(--auth-brown-2));box-shadow:0 10px 18px rgba(0,0,0,.18)}
.auth-form-title,h1.auth-form-title,.auth-card h1{font-size:1.75rem!important;font-weight:900!important;color:#0f172a!important;margin:2px 0 4px!important}
.auth-form-sub,.auth-card .lead{font-size:.84rem!important;color:#475569!important;margin-bottom:12px!important}
.auth-form .form-control,.auth-form .form-select,.auth-card input,.auth-card select{min-height:42px!important;border-radius:12px!important;background:#f8fafc!important;border:1px solid rgba(15,23,42,.16)!important;padding:.55rem .78rem!important;font-size:.86rem!important;box-shadow:none!important}
.auth-form .form-control:focus,.auth-form .form-select:focus,.auth-card input:focus,.auth-card select:focus{border-color:#2563eb!important;box-shadow:0 0 0 .18rem rgba(37,99,235,.14)!important}
.auth-form .form-label,.auth-card label{font-weight:800!important;color:#0f172a!important;font-size:.8rem!important;margin-bottom:.28rem!important}
.password-wrap,.input-wrap{position:relative!important}
.password-toggle,.toggle-pass{position:absolute!important;right:12px!important;top:50%!important;transform:translateY(-50%)!important;width:32px!important;height:32px!important;border:0!important;border-radius:50%!important;background:rgba(37,99,235,.10)!important;color:#1d4ed8!important;font-size:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
.password-toggle::before,.toggle-pass::before{content:"\1F441";font-size:16px;line-height:1}
.password-toggle.is-shown::before,.toggle-pass.is-shown::before{content:"\1F576"}
.password-toggle span,.toggle-pass span{display:none!important}
.btn-auth-primary,.auth-card .btn-primary,.auth-card button[type=submit]{min-height:42px!important;border-radius:12px!important;background:linear-gradient(180deg,var(--auth-button-1),var(--auth-button-2))!important;border:1px solid #7a6253!important;color:#111827!important;font-weight:800!important;padding:.55rem 1rem!important}
.btn-auth-secondary,.auth-card .btn-secondary{min-height:42px!important;border-radius:12px!important;background:#fff!important;border:1px solid rgba(15,23,42,.14)!important;color:#0f172a!important;font-weight:700!important;padding:.55rem 1rem!important}
.alert,.auth-card .alert{border-radius:14px!important;font-size:.82rem!important;padding:.72rem .86rem!important;border:0!important}
.alert-danger,.alert-error{background:rgba(239,68,68,.12)!important;color:#991b1b!important}
.alert-success,.alert-ok{background:rgba(34,197,94,.12)!important;color:#166534!important}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.actions .btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.auth-stage .sky-weather{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.auth-stage .sky-weather .drift{position:absolute;background:rgba(255,255,255,.92);border-radius:999px;opacity:.9;animation:authDrift 32s linear infinite}
.auth-stage .sky-weather .drift:before,.auth-stage .sky-weather .drift:after{content:"";position:absolute;background:inherit;border-radius:50%}
.auth-stage .sky-weather .c1{width:120px;height:46px;top:8%;left:-180px}.auth-stage .sky-weather .c1:before{width:42px;height:42px;left:18px;top:-17px}.auth-stage .sky-weather .c1:after{width:34px;height:34px;right:18px;top:-10px}
.auth-stage .sky-weather .c2{width:150px;height:56px;top:18%;left:-240px;animation-duration:42s;opacity:.55}.auth-stage .sky-weather .c2:before{width:52px;height:52px;left:22px;top:-20px}.auth-stage .sky-weather .c2:after{width:38px;height:38px;right:24px;top:-12px}
.auth-stage .sky-weather .c3{width:110px;height:42px;top:54%;left:-180px;animation-duration:36s;opacity:.45}.auth-stage .sky-weather .c3:before{width:34px;height:34px;left:18px;top:-14px}.auth-stage .sky-weather .c3:after{width:28px;height:28px;right:16px;top:-10px}
.auth-stage .sky-weather .rain{position:absolute;inset:-10% 0 0 0;background-image:linear-gradient(180deg,rgba(255,255,255,.44) 0 10px,transparent 10px 22px);background-size:2px 22px;opacity:0;transition:opacity .8s ease;animation:authRain 1.1s linear infinite}
.auth-stage .sky-weather .bolt{position:absolute;right:14%;top:10%;width:18px;height:36px;background:linear-gradient(180deg,rgba(255,255,255,0) 0 20%,rgba(255,245,157,.96) 20% 60%,rgba(255,255,255,0) 60% 100%);clip-path:polygon(48% 0,100% 0,66% 46%,100% 46%,34% 100%,46% 60%,18% 60%);opacity:0}
.auth-stage[data-weather="storm"] .sky-weather .rain{opacity:.22}
.auth-stage[data-weather="storm"] .sky-weather .bolt{animation:authBolt 2.8s infinite}
.auth-stage[data-weather="sun"]{background:linear-gradient(180deg,#6ec6ff 0%,#2d9eff 42%,#186fd6 100%)!important}
.auth-stage[data-weather="sun"] .sun-disc{opacity:1;transform:scale(1)}
.auth-stage[data-weather="rain"] .sky-weather .rain{opacity:.13}
.sun-disc{position:absolute;right:52px;top:34px;width:82px;height:82px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff8cc 0 16%,#ffe866 30%,#ffcf33 65%,rgba(255,210,51,.1) 100%);box-shadow:0 0 0 10px rgba(255,221,86,.1),0 0 36px rgba(255,221,86,.35);opacity:.25;transform:scale(.9);transition:all .9s ease;z-index:0}
.auth-panel-wrap,.auth-hero{position:relative;z-index:1}
@keyframes authDrift{to{transform:translateX(calc(100vw + 320px))}}
@keyframes authRain{to{background-position:0 24px}}
@keyframes authBolt{0%,70%,100%{opacity:0}72%{opacity:.95}74%{opacity:0}76%{opacity:.7}78%{opacity:0}}
@media(max-width:991px){
  .auth-shell{padding:8px 0 14px!important}
  .auth-grid{grid-template-columns:1fr!important}
  .auth-stage,body.auth-signup .auth-stage{min-height:auto!important}
  .auth-hero{padding:18px 18px 8px!important}
  .auth-panel-wrap{padding:10px 14px 18px!important}
  .auth-hero h1,.auth-hero-title{font-size:1.82rem!important}
  .auth-cloud{height:250px!important}
}

/* v56 shared cleanup */
.auth-globe,.auth-globe2,.auth-screen,.auth-computer,.auth-lines,.auth-internet,.auth-wires{display:none!important}
.auth-cloud-features span{background:transparent!important;box-shadow:none!important;color:#f97316!important}

/* v57 full-page auth revision */
body.auth-page{background:#020617!important;}
body.auth-page:not(.sa-auth) nav.navbar,
body.auth-page:not(.sa-auth) footer{display:block!important}
body.auth-page:not(.sa-auth) .container.auth-shell,
body.auth-page:not(.sa-auth) .container.signup-shell{max-width:min(1360px,calc(100vw - 24px))!important;width:100%!important;padding-left:0!important;padding-right:0!important}
body.auth-page:not(.sa-auth) .auth-shell,
body.auth-page:not(.sa-auth) .signup-shell{padding:10px 0 18px!important;min-height:calc(100vh - 132px)!important}
body.auth-page:not(.sa-auth) .auth-stage{width:100%!important;min-height:calc(100vh - 190px)!important;border-radius:28px!important}
body.auth-page.auth-signup:not(.sa-auth) .auth-stage{min-height:calc(100vh - 190px)!important}
body.auth-page:not(.sa-auth) .auth-grid{grid-template-columns:minmax(0,1.16fr) minmax(420px,.84fr)!important;align-items:stretch!important;min-height:inherit!important}
body.auth-page:not(.sa-auth) .auth-hero{padding:42px 46px 135px!important;justify-content:flex-start!important}
body.auth-page:not(.sa-auth) .auth-panel-wrap{padding:74px 34px 130px 16px!important;align-items:flex-start!important}
body.auth-page:not(.sa-auth) .auth-clip,
body.auth-page:not(.sa-auth) .auth-card{width:min(470px,100%)!important;max-width:470px!important}
body.auth-page.auth-signup:not(.sa-auth) .auth-clip,
body.auth-page.auth-signup:not(.sa-auth) .auth-card{width:min(560px,100%)!important;max-width:560px!important}
body.auth-page.auth-signup:not(.sa-auth) .auth-panel-wrap{padding-top:40px!important}
body.auth-page.auth-signup:not(.sa-auth) .auth-form .row.g-3{--bs-gutter-x:1rem!important;--bs-gutter-y:.9rem!important}
body.auth-page.auth-signup:not(.sa-auth) .auth-form .form-control,
body.auth-page.auth-signup:not(.sa-auth) .auth-form .form-select{min-height:48px!important;font-size:.92rem!important}
body.auth-page:not(.sa-auth) .auth-cloud{width:min(560px,100%)!important;height:290px!important;margin:8px auto 18px!important}
body.auth-page:not(.sa-auth) .auth-cloud-main{left:76px!important;right:74px!important;top:48px!important;height:148px!important;border-radius:120px!important}
body.auth-page:not(.sa-auth) .auth-cloud-main:before{width:154px!important;height:154px!important;left:28px!important;top:-58px!important}
body.auth-page:not(.sa-auth) .auth-cloud-main:after{width:178px!important;height:178px!important;right:28px!important;top:-74px!important}
body.auth-page:not(.sa-auth) .auth-cloud-features span{position:absolute!important;max-width:112px!important;min-width:92px!important;height:auto!important;padding:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;color:#f97316!important;font-size:.88rem!important;font-weight:900!important;line-height:1.08!important;text-align:center!important;white-space:normal!important;text-shadow:0 1px 0 rgba(255,255,255,.55)!important;animation-duration:9s!important;animation-iteration-count:infinite!important;animation-timing-function:ease-in-out!important}
body.auth-page:not(.sa-auth) .auth-cloud-features .slot1{left:126px!important;top:104px!important;animation-name:slotLeftRight!important}
body.auth-page:not(.sa-auth) .auth-cloud-features .slot2{right:116px!important;left:auto!important;top:102px!important;animation-name:slotRightLeft!important}
body.auth-page:not(.sa-auth) .auth-cloud-features .slot3{left:148px!important;top:150px!important;animation-name:slotLeftRight!important;animation-delay:1.2s!important}
body.auth-page:not(.sa-auth) .auth-cloud-features .slot4{right:136px!important;left:auto!important;top:148px!important;animation-name:slotRightLeft!important;animation-delay:1.8s!important}
body.auth-page:not(.sa-auth) .auth-globe,
body.auth-page:not(.sa-auth) .auth-globe2,
body.auth-page:not(.sa-auth) .auth-screen,
body.auth-page:not(.sa-auth) .auth-computer,
body.auth-page:not(.sa-auth) .auth-lines,
body.auth-page:not(.sa-auth) .auth-internet,
body.auth-page:not(.sa-auth) .auth-wires{display:none!important}
body.auth-page:not(.sa-auth) .auth-tagline,
body.auth-page:not(.sa-auth) .auth-hero h1,
body.auth-page:not(.sa-auth) .auth-hero-title,
body.auth-page:not(.sa-auth) .auth-hero p{text-align:left!important;max-width:640px!important;margin-left:0!important;margin-right:0!important}
body.auth-page:not(.sa-auth) .auth-tagline{font-size:1rem!important}
body.auth-page:not(.sa-auth) .auth-hero h1,
body.auth-page:not(.sa-auth) .auth-hero-title{font-size:3.5rem!important;line-height:1.02!important}
body.auth-page:not(.sa-auth) .auth-hero p{font-size:1rem!important}
body.auth-page:not(.sa-auth) .site-auth-footer-note{position:absolute;left:48px;right:48px;bottom:24px;z-index:2;color:#dbeafe;font-size:.9rem;font-weight:600;display:flex;justify-content:space-between;gap:16px;opacity:.95}
body.auth-page:not(.sa-auth) .site-auth-footer-note span:last-child{text-align:right}
body.auth-page:not(.sa-auth) .market-scene{position:absolute;left:0;right:0;bottom:26px;height:118px;z-index:1;pointer-events:none}
.market-scene .ground{position:absolute;left:0;right:0;bottom:0;height:8px;background:rgba(2,6,23,.22)}
.market-scene .road{position:absolute;left:4%;right:4%;bottom:22px;height:28px;border-radius:999px;background:rgba(15,23,42,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.market-scene .road:before{content:"";position:absolute;left:8%;right:8%;top:12px;height:3px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.85) 0 24px,transparent 24px 46px)}
.market-scene .shop,.market-scene .hospital,.market-scene .tower{position:absolute;bottom:34px;background:rgba(255,255,255,.9);border:3px solid rgba(15,23,42,.08);box-shadow:0 10px 20px rgba(2,6,23,.12)}
.market-scene .shop{width:76px;height:44px;border-radius:10px 10px 4px 4px}
.market-scene .shop:before{content:"";position:absolute;left:-4px;right:-4px;top:-12px;height:14px;border-radius:6px 6px 0 0;background:repeating-linear-gradient(90deg,#f97316 0 10px,#fff 10px 20px)}
.market-scene .hospital{width:92px;height:62px;border-radius:8px}
.market-scene .hospital:before{content:"+";position:absolute;left:50%;top:16px;transform:translateX(-50%);font-weight:900;color:#ef4444;font-size:28px;line-height:1}
.market-scene .hospital:after{content:"";position:absolute;left:12px;right:12px;bottom:10px;height:18px;background:repeating-linear-gradient(90deg,rgba(37,99,235,.2) 0 10px,transparent 10px 16px)}
.market-scene .tower{width:22px;height:82px;border-radius:8px 8px 0 0;background:linear-gradient(180deg,#f8fafc,#dbeafe)}
.market-scene .tower:before{content:"";position:absolute;left:7px;right:7px;top:-18px;height:18px;background:#cbd5e1;border-radius:999px 999px 0 0}
.market-scene .car{position:absolute;bottom:24px;width:46px;height:16px;border-radius:8px;background:#2563eb;animation:carMove 16s linear infinite}
.market-scene .car:before,.market-scene .car:after{content:"";position:absolute;bottom:-6px;width:10px;height:10px;border-radius:50%;background:#0f172a}
.market-scene .car:before{left:6px}.market-scene .car:after{right:6px}
.market-scene .car.c2{background:#f97316;animation-duration:20s;animation-delay:-7s}
.market-scene .person{position:absolute;bottom:34px;width:8px;height:28px;background:#0f172a;border-radius:4px;opacity:.72}
.market-scene .person:before{content:"";position:absolute;left:-3px;top:-9px;width:14px;height:14px;border-radius:50%;background:#f8fafc}
.market-scene .tree{position:absolute;bottom:34px;width:16px;height:42px;background:transparent}
.market-scene .tree:before{content:"";position:absolute;left:-12px;right:-12px;top:0;height:28px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 8px rgba(34,197,94,.12)}
.market-scene .tree:after{content:"";position:absolute;left:6px;bottom:0;width:4px;height:18px;background:#7c5a45;border-radius:2px}
body.auth-page.sa-auth .auth-shell{max-width:none!important;min-height:100%!important;padding:0!important;align-items:stretch!important}
body.auth-page.sa-auth .auth-stage{min-height:calc(100vh - 56px)!important;height:calc(100vh - 56px)!important;border-radius:0!important;border:0!important}
body.auth-page.sa-auth .auth-grid{grid-template-columns:minmax(0,1.18fr) minmax(430px,.82fr)!important;min-height:100%!important}
body.auth-page.sa-auth .auth-hero{padding:44px 46px 138px!important}
body.auth-page.sa-auth .auth-panel-wrap{padding:82px 36px 132px 18px!important;align-items:flex-start!important}
body.auth-page.sa-auth .auth-cloud{width:min(560px,100%)!important;height:300px!important;margin:8px 0 16px!important}
body.auth-page.sa-auth .auth-cloud-main{left:76px!important;right:70px!important;top:50px!important;height:150px!important}
body.auth-page.sa-auth .auth-cloud-features span{max-width:112px!important;min-width:90px!important;background:transparent!important;box-shadow:none!important;color:#f97316!important;font-size:.88rem!important;font-weight:900!important;padding:0!important}
body.auth-page.sa-auth .auth-cloud-features .slot1{left:128px!important;top:106px!important;animation-name:slotLeftRight!important}
body.auth-page.sa-auth .auth-cloud-features .slot2{right:114px!important;left:auto!important;top:104px!important;animation-name:slotRightLeft!important}
body.auth-page.sa-auth .auth-cloud-features .slot3{left:148px!important;top:152px!important;animation-name:slotLeftRight!important;animation-delay:1.1s!important}
body.auth-page.sa-auth .auth-cloud-features .slot4{right:138px!important;left:auto!important;top:150px!important;animation-name:slotRightLeft!important;animation-delay:1.7s!important}
body.auth-page.sa-auth .auth-panel-wrap .auth-clip{width:min(470px,100%)!important;max-width:470px!important}
body.auth-page.sa-auth .site-auth-footer-note{position:absolute;left:48px;right:48px;bottom:24px;z-index:2;color:#dbeafe;font-size:.9rem;font-weight:600;display:flex;justify-content:space-between;gap:16px;opacity:.95}
body.auth-page.sa-auth .market-scene{position:absolute;left:0;right:0;bottom:26px;height:118px;z-index:1;pointer-events:none}
@keyframes slotLeftRight{0%,100%{transform:translateX(-10px)}50%{transform:translateX(10px)}}
@keyframes slotRightLeft{0%,100%{transform:translateX(10px)}50%{transform:translateX(-10px)}}
@keyframes carMove{0%{transform:translateX(-80px)}100%{transform:translateX(calc(100vw + 120px))}}
@media (max-width: 991px){
  body.auth-page:not(.sa-auth) nav.navbar,body.auth-page:not(.sa-auth) footer{display:block!important}
  body.auth-page:not(.sa-auth) .auth-shell,body.auth-page:not(.sa-auth) .signup-shell{min-height:auto!important;padding:8px 0 16px!important}
  body.auth-page:not(.sa-auth) .auth-grid,body.auth-page.sa-auth .auth-grid{grid-template-columns:1fr!important}
  body.auth-page:not(.sa-auth) .auth-hero,body.auth-page.sa-auth .auth-hero{padding:20px 18px 110px!important}
  body.auth-page:not(.sa-auth) .auth-panel-wrap,body.auth-page.sa-auth .auth-panel-wrap{padding:18px 14px 122px!important}
  body.auth-page:not(.sa-auth) .auth-stage,body.auth-page.sa-auth .auth-stage{min-height:auto!important;height:auto!important}
  body.auth-page:not(.sa-auth) .auth-hero h1,body.auth-page.sa-auth .auth-hero h1,body.auth-page:not(.sa-auth) .auth-hero-title,body.auth-page.sa-auth .auth-hero-title{font-size:2.35rem!important}
  body.auth-page:not(.sa-auth) .auth-cloud,body.auth-page.sa-auth .auth-cloud{width:min(100%,460px)!important;height:250px!important}
  body.auth-page:not(.sa-auth) .auth-cloud-main,body.auth-page.sa-auth .auth-cloud-main{left:44px!important;right:42px!important;height:132px!important}
  body.auth-page:not(.sa-auth) .auth-cloud-features .slot1,body.auth-page.sa-auth .auth-cloud-features .slot1{left:76px!important;top:98px!important}
  body.auth-page:not(.sa-auth) .auth-cloud-features .slot2,body.auth-page.sa-auth .auth-cloud-features .slot2{right:72px!important;top:96px!important}
  body.auth-page:not(.sa-auth) .auth-cloud-features .slot3,body.auth-page.sa-auth .auth-cloud-features .slot3{left:96px!important;top:140px!important}
  body.auth-page:not(.sa-auth) .auth-cloud-features .slot4,body.auth-page.sa-auth .auth-cloud-features .slot4{right:94px!important;top:138px!important}
  .site-auth-footer-note{left:18px!important;right:18px!important;bottom:16px!important;font-size:.74rem!important;flex-direction:column!important;gap:6px!important}
  .market-scene{height:104px!important;bottom:18px!important}
}

.word-swap-ltr{animation:wordSwapLtr .45s ease}
.word-swap-rtl{animation:wordSwapRtl .45s ease}
@keyframes wordSwapLtr{0%{opacity:0;transform:translateX(-10px)}100%{opacity:1;transform:translateX(0)}}
@keyframes wordSwapRtl{0%{opacity:0;transform:translateX(10px)}100%{opacity:1;transform:translateX(0)}}


/* v58 fixes */
body.auth-page:not(.sa-auth){padding-bottom:0!important}
body.auth-page:not(.sa-auth) .navbar,body.auth-page:not(.sa-auth) nav.navbar{position:relative;z-index:30;background:linear-gradient(180deg,#0f2747 0%,#122c53 50%,#173760 100%)!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
body.auth-page:not(.sa-auth) footer{position:relative;z-index:30;background:linear-gradient(180deg,#0f2747 0%,#122c53 50%,#173760 100%)!important;border-top:1px solid rgba(255,255,255,.08)!important}
body.auth-page:not(.sa-auth) .auth-shell{max-width:none!important;width:100%!important;padding:0!important;min-height:calc(100vh - 140px)!important}
body.auth-page:not(.sa-auth) .auth-stage{min-height:calc(100vh - 160px)!important;height:calc(100vh - 160px)!important;border-radius:0!important;border-left:0!important;border-right:0!important}
body.auth-page:not(.sa-auth) .auth-grid{grid-template-columns:minmax(0,1.18fr) minmax(430px,.82fr)!important;min-height:100%!important}
body.auth-page:not(.sa-auth) .auth-hero{padding:36px 42px 140px!important}
body.auth-page:not(.sa-auth) .auth-panel-wrap{padding:82px 34px 138px 18px!important;align-items:flex-start!important}
body.auth-page:not(.sa-auth) .auth-panel-wrap .auth-clip{width:min(470px,100%)!important;max-width:470px!important}
body.auth-page.auth-signup:not(.sa-auth) .auth-stage{min-height:calc(100vh - 160px)!important;height:auto!important}
body.auth-page.auth-signup:not(.sa-auth) .auth-panel-wrap .auth-clip{width:min(560px,100%)!important;max-width:560px!important}
body.auth-page.auth-signup:not(.sa-auth) .auth-grid{grid-template-columns:minmax(0,1.02fr) minmax(520px,.98fr)!important}
body.auth-page.auth-signup:not(.sa-auth) .auth-hero{padding-bottom:150px!important}
body.auth-page .auth-cloud{overflow:visible!important}
body.auth-page .auth-cloud-features span{max-width:118px!important;text-align:center!important;white-space:normal!important;line-height:1.05!important}
body.auth-page:not(.sa-auth) .site-auth-footer-note{display:none!important}
body.auth-page.sa-auth .site-auth-footer-note{display:none!important}
body.auth-page .auth-stage .market-scene{bottom:10px!important;height:128px!important}
body.auth-page.sa-auth .sa-sidebar,
body.auth-page.sa-auth .sa-sidebar .brand,
body.auth-page.sa-auth .sa-topbar{background:linear-gradient(180deg,#0f2747 0%,#122c53 55%,#173760 100%)!important;border-color:rgba(255,255,255,.08)!important}
body.auth-page.sa-auth .sa-sidebar a.nav-link.active,
body.auth-page.sa-auth .sa-sidebar a.nav-link:hover{background:rgba(255,255,255,.08)!important}
body.auth-page.sa-auth .sa-content{padding:0!important;background:linear-gradient(180deg,#0f2747 0,#122c53 14px,transparent 14px)!important}
body.auth-page.sa-auth .auth-stage{min-height:calc(100vh - 56px - 52px)!important;height:calc(100vh - 56px - 52px)!important}
body.auth-page.sa-auth .sa-auth-footer{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:linear-gradient(180deg,#0f2747 0%,#122c53 55%,#173760 100%);border-top:1px solid rgba(255,255,255,.08);color:#dbeafe;font-size:.85rem}
body.auth-page.sa-auth .sa-auth-footer strong{color:#fff}
body.auth-page .password-toggle,.toggle-pass{cursor:pointer!important;pointer-events:auto!important;z-index:3!important}
body.auth-page [data-live-weather-label]{position:absolute;right:16px;top:14px;z-index:2;background:rgba(15,23,42,.24);color:#fff;padding:6px 10px;border-radius:999px;font-size:.72rem;font-weight:700;backdrop-filter:blur(10px)}
body.auth-page .auth-stage[data-weather="cloud"]{background:linear-gradient(180deg,#86b7e7 0%,#5fa0db 45%,#3877b8 100%)!important}
body.auth-page .auth-stage[data-weather="clear-night"]{background:linear-gradient(180deg,#0f1f45 0%,#15315e 45%,#173760 100%)!important}
body.auth-page .auth-stage[data-weather="cloud"] .sun-disc,body.auth-page .auth-stage[data-weather="clear-night"] .sun-disc{opacity:.14!important;transform:scale(.86)!important}
@media (max-width: 991px){
  body.auth-page:not(.sa-auth) .auth-stage,body.auth-page.sa-auth .auth-stage{min-height:auto!important;height:auto!important;border-radius:0!important}
  body.auth-page:not(.sa-auth) .auth-shell{min-height:auto!important}
  body.auth-page:not(.sa-auth) .auth-hero,body.auth-page.sa-auth .auth-hero{padding:18px 16px 124px!important}
  body.auth-page:not(.sa-auth) .auth-panel-wrap,body.auth-page.sa-auth .auth-panel-wrap{padding:20px 14px 136px!important}
  body.auth-page.auth-signup:not(.sa-auth) .auth-grid,body.auth-page:not(.sa-auth) .auth-grid,body.auth-page.sa-auth .auth-grid{grid-template-columns:1fr!important}
  body.auth-page.auth-signup:not(.sa-auth) .auth-panel-wrap .auth-clip,body.auth-page:not(.sa-auth) .auth-panel-wrap .auth-clip,body.auth-page.sa-auth .auth-panel-wrap .auth-clip{max-width:none!important;width:100%!important}
  body.auth-page.sa-auth .sa-auth-footer{padding:0 12px;font-size:.75rem}
}

/* v60 live weather sync */
body.auth-page.sa-auth footer.portal-footer,
body.auth-page.sa-auth footer.sa-auth-footer{display:flex!important;}
body[data-live-weather] .auth-stage{background:linear-gradient(180deg,var(--lw-bg-1) 0%,var(--lw-bg-2) 46%,var(--lw-bg-3) 100%)!important;}
body[data-live-weather] .auth-stage[data-weather="sun"]{background:linear-gradient(180deg,#74d2ff 0%,#2da2ff 44%,#176fd7 100%)!important;}
body[data-live-weather] .auth-stage[data-weather="cloud"]{background:linear-gradient(180deg,#8fb8de 0%,#649bd0 46%,#355e94 100%)!important;}
body[data-live-weather] .auth-stage[data-weather="rain"]{background:linear-gradient(180deg,#6a92cc 0%,#2f66ad 46%,#153a69 100%)!important;}
body[data-live-weather] .auth-stage[data-weather="storm"]{background:linear-gradient(180deg,#40557f 0%,#223560 42%,#0b1737 100%)!important;}
body[data-live-weather] .auth-stage[data-weather="clear-night"]{background:linear-gradient(180deg,#071327 0%,#10244a 46%,#173760 100%)!important;}
body[data-live-weather] .auth-cloud-features span{overflow-wrap:anywhere!important;word-break:break-word!important;text-align:center!important;line-height:1.12!important;}
body[data-live-weather] .sa-sidebar,
body[data-live-weather] .sa-sidebar .brand,
body[data-live-weather] .sa-topbar,
body[data-live-weather] .sa-auth-footer{background:linear-gradient(180deg,var(--lw-surface-1) 0%,var(--lw-surface-2) 58%,var(--lw-surface-3) 100%)!important;border-color:var(--lw-border)!important;}


/* v62 auth stacking, visibility and scene fixes */
body.auth-page .auth-grid{position:relative!important;z-index:3!important;}
body.auth-page .auth-hero,
body.auth-page .auth-panel-wrap{position:relative!important;z-index:4!important;}
body.auth-page .auth-stage{isolation:isolate!important;}
body.auth-page .market-scene{z-index:0!important;bottom:2px!important;opacity:.92!important;pointer-events:none!important;}
body.auth-page .market-scene .ground{opacity:.35!important;}
body.auth-page .market-scene .road{bottom:14px!important;opacity:.88!important;}
body.auth-page .market-scene .track{bottom:52px!important;opacity:.45!important;}
body.auth-page .market-scene .shop,
body.auth-page .market-scene .hospital,
body.auth-page .market-scene .tower,
body.auth-page .market-scene .tree,
body.auth-page .market-scene .person,
body.auth-page .market-scene .vehicle{filter:drop-shadow(0 6px 14px rgba(2,6,23,.14));}
body.auth-page .market-scene .shop,
body.auth-page .market-scene .hospital,
body.auth-page .market-scene .tower{bottom:26px!important;}
body.auth-page .market-scene .hospital{left:42%!important;right:auto!important;}
body.auth-page .market-scene .tower{left:72%!important;right:auto!important;height:72px!important;bottom:22px!important;}
body.auth-page .market-scene .tree.tree-a{left:32%!important;}
body.auth-page .market-scene .tree.tree-b{left:56%!important;}
body.auth-page .market-scene .tree.tree-c{left:80%!important;}
body.auth-page .market-scene .person.person-a{left:46%!important;}
body.auth-page .market-scene .person.person-b{left:50%!important;}
body.auth-page .market-scene .person.person-c{left:76%!important;}
body.auth-page .market-scene .person.person-d{left:80%!important;}
body.auth-page .market-scene .vehicle.train{bottom:62px!important;opacity:.78!important;}
body.auth-page.auth-website-login .market-scene .tower{left:64%!important;bottom:18px!important;height:68px!important;}
body.auth-page.auth-website-login .market-scene .hospital{left:44%!important;}
body.auth-page.auth-website-login .market-scene .person.person-c{left:82%!important;}
body.auth-page.auth-website-login .market-scene .person.person-d{left:86%!important;}
body.auth-page.auth-website-login .auth-hero{padding-bottom:172px!important;}
body.auth-page.auth-signup .auth-hero{padding-bottom:178px!important;}
body.auth-page.auth-erp .auth-hero{padding-bottom:170px!important;}
body.auth-page.auth-erp .market-scene .hospital{left:42%!important;}
body.auth-page.auth-erp .market-scene .tower{left:68%!important;bottom:18px!important;height:66px!important;}
body.auth-page.auth-erp .auth-panel-wrap{z-index:5!important;}
body.auth-page.sa-auth .market-scene .hospital{left:36%!important;}
body.auth-page.sa-auth .market-scene .tower{left:74%!important;bottom:18px!important;height:64px!important;}
body.auth-page.sa-auth .auth-panel-wrap{z-index:5!important;}
body.auth-page.auth-signup .field-hint,
body.auth-page.auth-signup .field-hint.show{display:block!important;}
body.auth-page.auth-signup #passwordHints{margin-top:10px!important;}
body.auth-page.auth-signup .password-rules{background:rgba(255,255,255,.94)!important;border:1px solid rgba(15,23,42,.12)!important;color:#1e293b!important;box-shadow:0 12px 28px rgba(15,23,42,.10)!important;}
body.auth-page.auth-signup #strengthText{color:#1d4ed8!important;font-weight:700!important;}
body.auth-page.auth-signup #passwordRulesList,
body.auth-page.auth-signup #passwordRulesList li{color:#334155!important;}
body.auth-page.auth-signup .inline-note{font-weight:700!important;}
body.auth-page.auth-signup .small.text-success{color:#15803d!important;}
body.auth-page.auth-signup .small.text-warning{color:#b45309!important;}
body.auth-page.auth-signup .small.text-danger{color:#b91c1c!important;}
body.auth-page.auth-signup .auth-form-title,
body.auth-page.auth-signup .auth-form-sub,
body.auth-page.auth-signup .form-label,
body.auth-page.auth-signup .text-dark{color:#0f172a!important;}
body.auth-page.auth-signup .form-control::placeholder{color:#64748b!important;opacity:1!important;}
body.auth-page.auth-signup .alert-danger{background:rgba(127,29,29,.14)!important;color:#fecaca!important;}
body.auth-page.auth-erp .erp-login-form{display:grid!important;gap:14px!important;}
body.auth-page.auth-erp .erp-login-form .erp-field{display:grid!important;gap:6px!important;}
body.auth-page.auth-erp .erp-login-form .erp-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important;}
body.auth-page.auth-erp .erp-login-form .captcha-box{display:flex!important;gap:10px!important;align-items:center!important;flex-wrap:wrap!important;}
body.auth-page.auth-erp .erp-login-form .form-control,
body.auth-page.auth-erp .erp-login-form .form-select{width:100%!important;display:block!important;}
@media (max-width: 991px){
  body.auth-page .market-scene{height:118px!important;bottom:0!important;}
  body.auth-page .market-scene .track{display:none!important;}
  body.auth-page .market-scene .hospital{left:44%!important;}
  body.auth-page .market-scene .tower{left:72%!important;}
  body.auth-page.auth-website-login .auth-hero,
  body.auth-page.auth-signup .auth-hero,
  body.auth-page.auth-erp .auth-hero{padding-bottom:128px!important;}
}
