/* Shared sign-in interface for Orvana platforms. */
:root{
  --login-brand:#c90021;
  --login-brand-2:#ff5a18;
  --login-ink:#202630;
  --login-muted:#748093;
  --login-bg:#f4f5f7;
  --login-card:#ffffff;
  --login-input:#f0f3f7;
  --login-line:#dfe4ea;
  --login-shadow:0 28px 80px -42px rgba(19,28,45,.45);
  --login-motion:760ms cubic-bezier(.22,.61,.36,1);
  --login-fast:220ms ease;
}
html[data-theme="dark"]{
  --login-ink:#f5f7fb;
  --login-muted:#a7b0bf;
  --login-bg:#0f1217;
  --login-card:#181c22;
  --login-input:#232932;
  --login-line:#303844;
  --login-shadow:0 30px 90px -35px rgba(0,0,0,.75);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
html[lang="ar"] body{font-family:Cairo,Tahoma,"Segoe UI",Arial,sans-serif}
html[lang="en"] body{font-family:Poppins,Montserrat,"Segoe UI",Arial,sans-serif}
body.orvana-login-page{
  min-height:100dvh;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 12%,rgba(255,90,24,.08),transparent 28%),
    radial-gradient(circle at 86% 86%,rgba(201,0,33,.06),transparent 28%),
    var(--login-bg);
  color:var(--login-ink);
}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}

.login-stage{position:relative;min-height:100dvh;overflow:hidden;isolation:isolate}
.login-stage::before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:300vw;
  height:100%;
  transform:translate(35%,0);
  background:linear-gradient(-45deg,var(--login-brand),var(--login-brand-2));
  transition:transform 1s ease-in-out,right 1s ease-in-out,left 1s ease-in-out,border-radius 1s ease-in-out,box-shadow .6s ease;
  z-index:1;
  border-bottom-right-radius:max(50vw,50vh);
  border-top-left-radius:max(50vw,50vh);
  box-shadow:0 18px 60px rgba(120,0,20,.24);
  will-change:transform,right,left,border-radius;
}
.login-stage.sign-in::before{transform:translate(0,0);right:50%}
.login-stage.sign-up::before{transform:translate(100%,0);right:50%}
html[dir="rtl"] .login-stage::before{right:auto;left:0;transform:translate(-35%,0);background:linear-gradient(45deg,var(--login-brand),var(--login-brand-2));border-bottom-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:max(50vw,50vh);border-top-right-radius:max(50vw,50vh)}
html[dir="rtl"] .login-stage.sign-in::before{transform:translate(0,0);left:50%}
html[dir="rtl"] .login-stage.sign-up::before{transform:translate(-100%,0);left:50%}

.login-tools{
  position:fixed;
  top:max(18px,env(safe-area-inset-top));
  right:20px;
  z-index:50;
  display:flex;
  gap:10px;
  direction:ltr;
}
html[dir="rtl"] .login-tools{right:auto;left:20px}
.login-tool{
  width:46px;height:46px;border-radius:16px;border:1px solid var(--login-line);
  background:color-mix(in srgb,var(--login-card) 92%,transparent);
  color:var(--login-ink);display:grid;place-items:center;cursor:pointer;
  box-shadow:0 12px 30px rgba(20,30,48,.08);backdrop-filter:blur(14px);
  transition:transform var(--login-fast),border-color var(--login-fast),background var(--login-fast);
  font-weight:900;font-size:12px
}
.login-tool:hover{transform:translateY(-2px);border-color:rgba(201,0,33,.28)}
.login-tool svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login-tool .sun{display:none}
html[data-theme="dark"] .login-tool .moon{display:none}
html[data-theme="dark"] .login-tool .sun{display:block}

.login-row{display:flex;flex-wrap:wrap;min-height:100dvh;position:relative;z-index:2}
.login-col{width:50%;display:flex;align-items:center;justify-content:center;text-align:center;padding:clamp(24px,4vw,64px)}
.login-form-wrap{width:100%;max-width:480px;position:relative;z-index:4}
.login-form-card,.login-info-card{
  width:100%;padding:clamp(24px,3vw,38px);border-radius:30px;
  background:var(--login-card);border:1px solid var(--login-line);
  box-shadow:var(--login-shadow);
  transition:transform .55s ease-in-out,opacity .45s ease-in-out;
  transform:scale(.92);opacity:0
}
.login-stage.sign-in .login-form-card,.login-stage.sign-up .login-info-card{transform:scale(1);opacity:1;transition-delay:.32s}
.login-stage.sign-up .login-form-card,.login-stage.sign-in .login-info-card{pointer-events:none}

.login-brand-mark{width:72px;height:72px;object-fit:contain;margin:0 auto 14px;display:block}
.login-system-icon{width:70px;height:70px;display:grid;place-items:center;border-radius:22px;margin:0 auto 15px;background:linear-gradient(135deg,rgba(201,0,33,.10),rgba(255,90,24,.08));color:var(--login-brand);border:1px solid rgba(201,0,33,.14)}
.login-system-icon svg{width:34px;height:34px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login-kicker{color:var(--login-brand);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px}
html[lang="ar"] .login-kicker{letter-spacing:0;text-transform:none}
.login-form-card h1,.login-info-card h1{margin:0;font-size:clamp(2rem,3vw,2.65rem);line-height:1.2;font-weight:800;color:var(--login-ink)}
.login-lead{margin:10px auto 22px;max-width:370px;color:var(--login-muted);font-size:.92rem;line-height:1.9;font-weight:500}
.login-alert{width:100%;border:1px solid #f1c6cd;background:#fff5f6;color:#a5263b;border-radius:15px;padding:11px 13px;margin:0 0 12px;font-size:.78rem;line-height:1.6;text-align:start}
html[data-theme="dark"] .login-alert{background:#301b21;border-color:#60303a;color:#ffb4c1}

.login-form{display:grid;gap:14px}
.credential-field{position:relative;width:100%;direction:ltr}
.credential-field input{
  width:100%;height:60px;border:1px solid transparent;border-radius:16px;background:var(--login-input);
  color:var(--login-ink);outline:none;padding:0 52px 0 52px;text-align:left;direction:ltr;
  font-family:Poppins,Montserrat,"Segoe UI",Arial,sans-serif;font-size:1rem;font-weight:500;
  transition:border-color var(--login-fast),box-shadow var(--login-fast),background var(--login-fast)
}
.credential-field input::placeholder{color:#8a93a2;opacity:1}
.credential-field input:focus{background:var(--login-card);border-color:rgba(201,0,33,.45);box-shadow:0 0 0 4px rgba(201,0,33,.08)}
.field-leading,.password-toggle{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;color:#7b8491}
.field-leading{left:17px;pointer-events:none}
.password-toggle{right:10px;width:40px;height:40px;border:0;border-radius:12px;background:transparent;cursor:pointer;transition:background var(--login-fast),color var(--login-fast)}
.password-toggle:hover{background:rgba(201,0,33,.08);color:var(--login-brand)}
.field-leading svg,.password-toggle svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.password-toggle .eye-off{display:none}
.password-toggle.is-visible .eye{display:none}
.password-toggle.is-visible .eye-off{display:block}

.login-options{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:-2px}
.remember-control{display:inline-flex;align-items:center;gap:9px;color:var(--login-muted);font-size:.8rem;font-weight:700;cursor:pointer;user-select:none}
.remember-control input{appearance:none;width:20px;height:20px;border:1.5px solid #b9c1cc;border-radius:7px;background:var(--login-card);display:grid;place-items:center;margin:0;cursor:pointer;transition:all var(--login-fast)}
.remember-control input::after{content:"";width:8px;height:4px;border-left:2px solid white;border-bottom:2px solid white;transform:rotate(-45deg) scale(0);transition:transform var(--login-fast);margin-top:-2px}
.remember-control input:checked{background:linear-gradient(135deg,var(--login-brand),var(--login-brand-2));border-color:transparent}
.remember-control input:checked::after{transform:rotate(-45deg) scale(1)}
.login-submit{height:56px;border:0;border-radius:16px;background:linear-gradient(135deg,var(--login-brand),#df102b 52%,var(--login-brand-2));color:#fff;font-weight:900;font-size:1rem;cursor:pointer;box-shadow:0 16px 30px -18px rgba(201,0,33,.7);transition:transform var(--login-fast),box-shadow var(--login-fast),filter var(--login-fast)}
.login-submit:hover{transform:translateY(-2px);filter:brightness(1.03);box-shadow:0 20px 34px -18px rgba(201,0,33,.8)}
.login-submit:active{transform:translateY(0) scale(.985)}
.login-toggle-line{margin:17px 0 0;color:var(--login-muted);font-size:.78rem}
.login-text-toggle{border:0;background:transparent;color:var(--login-brand);font:inherit;font-weight:900;cursor:pointer;padding:4px 5px}

.login-info-card{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.login-feature-row{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.login-feature-row span{border:1px solid var(--login-line);background:var(--login-input);border-radius:999px;padding:8px 12px;color:var(--login-muted);font-size:.72rem;font-weight:800}
.login-soft-link{display:inline-flex;min-height:44px;padding:0 18px;border-radius:14px;border:1px solid var(--login-line);align-items:center;justify-content:center;text-decoration:none;color:var(--login-ink);font-size:.78rem;font-weight:800;transition:transform var(--login-fast),border-color var(--login-fast)}
.login-soft-link:hover{transform:translateY(-1px);border-color:rgba(201,0,33,.28)}

.login-content-row{position:absolute;inset:0;pointer-events:none;z-index:3;width:100%;display:flex}
.login-content-row .login-col{color:#fff}
.login-overlay-copy{max-width:440px;color:#fff;text-align:center;transition:transform 1s ease-in-out,opacity .55s ease;will-change:transform,opacity}
.login-overlay-copy h2{font-size:clamp(2.4rem,4vw,4rem);font-weight:800;margin:0 0 10px;line-height:1.15}
.login-overlay-copy p{font-weight:600;line-height:1.8;margin:0;opacity:.86}
.login-overlay-copy.sign-in{transform:translateX(-240%);opacity:0}
.login-overlay-copy.sign-up{transform:translateX(240%);opacity:0}
.login-stage.sign-in .login-overlay-copy.sign-in,.login-stage.sign-up .login-overlay-copy.sign-up{transform:translateX(0);opacity:1;transition-delay:.16s}
html[dir="rtl"] .login-overlay-copy.sign-in{transform:translateX(240%)}
html[dir="rtl"] .login-overlay-copy.sign-up{transform:translateX(-240%)}
html[dir="rtl"] .login-stage.sign-in .login-overlay-copy.sign-in,html[dir="rtl"] .login-stage.sign-up .login-overlay-copy.sign-up{transform:translateX(0)}

@media(max-width:600px){
  body.orvana-login-page{overflow:auto}
  .login-stage{min-height:100dvh;padding-top:74px;overflow:hidden}
  .login-stage::before,.login-stage.sign-in::before,.login-stage.sign-up::before,
  html[dir="rtl"] .login-stage::before,html[dir="rtl"] .login-stage.sign-in::before,html[dir="rtl"] .login-stage.sign-up::before{
    top:0;left:0;right:auto;width:100%;height:42%;transform:none;border-radius:0 0 42px 42px;background:linear-gradient(135deg,var(--login-brand),var(--login-brand-2));
  }
  .login-tools{top:max(12px,env(safe-area-inset-top));right:14px;left:auto!important;z-index:80}
  html[dir="rtl"] .login-tools{left:14px!important;right:auto!important}
  .login-tool{width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.94);color:#202630;border-color:rgba(255,255,255,.65)}
  .login-row{display:block;min-height:calc(100dvh - 74px);padding:138px 16px 28px}
  .login-col{width:100%;padding:0;display:block}
  .login-col.info-col{position:absolute;inset:0;pointer-events:none}
  .login-form-wrap{max-width:520px;margin:0 auto}
  .login-form-card,.login-info-card{padding:24px 20px;border-radius:26px;box-shadow:0 26px 60px -38px rgba(0,0,0,.5)}
  .login-info-card{position:absolute;top:138px;left:16px;right:16px;width:auto;min-height:430px;pointer-events:auto}
  .login-stage.sign-in .login-info-card{transform:translateY(34px) scale(.96);opacity:0;pointer-events:none}
  .login-stage.sign-up .login-form-card{transform:translateY(34px) scale(.96);opacity:0;pointer-events:none}
  .login-stage.sign-up .login-info-card{transform:translateY(0) scale(1);opacity:1}
  .login-brand-mark{width:62px;height:62px}
  .login-form-card h1,.login-info-card h1{font-size:2rem}
  .login-lead{font-size:.84rem;margin-bottom:18px}
  .credential-field input{height:56px;font-size:.94rem}
  .login-submit{height:54px}
  .login-content-row{height:128px;top:72px;display:block;z-index:4}
  .login-content-row .login-col{display:none}
  .login-content-row .login-col.overlay-primary{display:flex;width:100%;height:100%;padding:0 26px}
  .login-overlay-copy{max-width:100%}
  .login-overlay-copy h2{font-size:2rem;margin-bottom:5px}
  .login-overlay-copy p{font-size:.78rem;line-height:1.6}
  .login-overlay-copy.sign-in,.login-overlay-copy.sign-up{position:absolute;left:20px;right:20px;transform:translateY(18px);opacity:0}
  .login-stage.sign-in .login-overlay-copy.sign-in,.login-stage.sign-up .login-overlay-copy.sign-up{transform:translateY(0);opacity:1}
}
@media(max-width:420px){
  .login-row{padding-left:12px;padding-right:12px;padding-bottom:20px}
  .login-form-card,.login-info-card{padding:22px 16px;border-radius:24px}
  .login-info-card{left:12px;right:12px}
  .login-options{align-items:flex-start}
  .login-form-card h1,.login-info-card h1{font-size:1.82rem}
}
@media(prefers-reduced-motion:reduce){
  .login-stage::before,.login-form-card,.login-info-card,.login-overlay-copy,.login-tool,.login-submit{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* V52.4 - restore state motion and mobile interaction layering */
.login-row > .login-col{position:relative}
.login-row > .form-col{z-index:8}
.login-row > .info-col{z-index:7}
.login-stage.sign-in .form-col{z-index:12;pointer-events:auto}
.login-stage.sign-in .info-col{z-index:7;pointer-events:none}
.login-stage.sign-up .form-col{z-index:7;pointer-events:none}
.login-stage.sign-up .info-col{z-index:12;pointer-events:auto}
.login-stage.sign-in .login-form-card,
.login-stage.sign-up .login-info-card{pointer-events:auto}
.login-stage.sign-up .login-form-card,
.login-stage.sign-in .login-info-card{pointer-events:none}

@media(min-width:601px){
  .login-form-card{transform:translateX(34px) scale(.94);opacity:0;transition:transform .68s cubic-bezier(.22,.61,.36,1),opacity .42s ease,box-shadow .3s ease}
  .login-info-card{transform:translateX(-34px) scale(.94);opacity:0;transition:transform .68s cubic-bezier(.22,.61,.36,1),opacity .42s ease,box-shadow .3s ease}
  html[dir="rtl"] .login-form-card{transform:translateX(-34px) scale(.94)}
  html[dir="rtl"] .login-info-card{transform:translateX(34px) scale(.94)}
  .login-stage.sign-in .login-form-card,
  .login-stage.sign-up .login-info-card{transform:translateX(0) scale(1);opacity:1;transition-delay:.24s}
  .login-stage.sign-up .login-form-card{transform:translateX(-56px) scale(.94);opacity:0;transition-delay:0s}
  .login-stage.sign-in .login-info-card{transform:translateX(56px) scale(.94);opacity:0;transition-delay:0s}
  html[dir="rtl"] .login-stage.sign-up .login-form-card{transform:translateX(56px) scale(.94)}
  html[dir="rtl"] .login-stage.sign-in .login-info-card{transform:translateX(-56px) scale(.94)}
}

@media(max-width:600px){
  .login-stage::before,
  html[dir="rtl"] .login-stage::before{
    transition:transform .72s cubic-bezier(.22,.61,.36,1),height .72s cubic-bezier(.22,.61,.36,1),border-radius .72s cubic-bezier(.22,.61,.36,1),filter .45s ease!important;
    transform:translateY(-18px) scale(1.025)!important;
    transform-origin:50% 0;
  }
  .login-stage.sign-in::before,
  html[dir="rtl"] .login-stage.sign-in::before{
    height:42%;
    transform:translateY(-18px) scale(1.025)!important;
    border-radius:0 0 42px 42px!important;
  }
  .login-stage.sign-up::before,
  html[dir="rtl"] .login-stage.sign-up::before{
    height:48%;
    transform:translateY(-4px) scale(1.045)!important;
    border-radius:0 0 64px 64px!important;
  }
  .login-row > .info-col{position:absolute;inset:0;z-index:6;pointer-events:none!important}
  .login-row > .form-col{position:relative;z-index:10;pointer-events:auto!important}
  .login-stage.sign-up .login-row > .info-col{z-index:16;pointer-events:auto!important}
  .login-stage.sign-up .login-row > .form-col{z-index:5;pointer-events:none!important}
  .login-stage.sign-in .login-row > .info-col{z-index:5;pointer-events:none!important}
  .login-stage.sign-in .login-row > .form-col{z-index:16;pointer-events:auto!important}
  .login-info-card{z-index:2;transform:translateY(92px) scale(.965);opacity:0;visibility:hidden;transition:transform .62s cubic-bezier(.22,.61,.36,1),opacity .38s ease,visibility 0s linear .62s!important}
  .login-form-card{z-index:2;transform:translateY(0) scale(1);opacity:1;visibility:visible;transition:transform .62s cubic-bezier(.22,.61,.36,1),opacity .38s ease,visibility 0s linear 0s!important}
  .login-stage.sign-up .login-info-card{transform:translateY(0) scale(1);opacity:1;visibility:visible;pointer-events:auto!important;transition-delay:0s!important}
  .login-stage.sign-up .login-form-card{transform:translateY(82px) scale(.965);opacity:0;visibility:hidden;pointer-events:none!important;transition:transform .62s cubic-bezier(.22,.61,.36,1),opacity .38s ease,visibility 0s linear .62s!important}
  .login-stage.sign-in .login-form-card{transform:translateY(0) scale(1);opacity:1;visibility:visible;pointer-events:auto!important;transition-delay:0s!important}
  .login-stage.sign-in .login-info-card{transform:translateY(92px) scale(.965);opacity:0;visibility:hidden;pointer-events:none!important}
  .login-info-card .login-text-toggle,.login-form-card .login-text-toggle{position:relative;z-index:3;pointer-events:auto;touch-action:manipulation}
}
@media(max-width:600px){
  .login-stage[data-login-state="booting"] .login-form-card{
    transform:translateY(56px) scale(.965);opacity:0;visibility:visible;pointer-events:none!important;
  }
}


/* V52.6 - reliable entrance motion + compact welcome stage */
.login-stage::before{
  backface-visibility:hidden;
  transform-style:preserve-3d;
}
.login-compact-intro{display:none}

/* A real pre-paint state. JS keeps this state visible briefly before entering. */
.login-stage[data-login-state="booting"] .login-form-card,
.login-stage[data-login-state="booting"] .login-info-card,
.login-stage[data-login-state="booting"] .login-overlay-copy{
  opacity:0!important;
  pointer-events:none!important;
}

@media(min-width:601px){
  .login-stage[data-login-state="booting"]::before{
    transform:translate(35%,0) scale(1.025);
    right:0;
  }
  html[dir="rtl"] .login-stage[data-login-state="booting"]::before{
    transform:translate(-35%,0) scale(1.025);
    left:0;right:auto;
  }
  .login-stage[data-login-state="booting"] .login-form-card{
    transform:translateX(96px) translateY(18px) scale(.82)!important;
  }
  .login-stage[data-login-state="booting"] .login-info-card{
    transform:translateX(-96px) translateY(18px) scale(.82)!important;
  }
  html[dir="rtl"] .login-stage[data-login-state="booting"] .login-form-card{
    transform:translateX(-96px) translateY(18px) scale(.82)!important;
  }
  html[dir="rtl"] .login-stage[data-login-state="booting"] .login-info-card{
    transform:translateX(96px) translateY(18px) scale(.82)!important;
  }
  .login-stage .login-form-card,.login-stage .login-info-card{
    transition:transform .82s cubic-bezier(.22,.72,.24,1),opacity .50s ease,box-shadow .3s ease!important;
  }
  .login-stage.sign-in .login-form-card,.login-stage.sign-up .login-info-card{
    transition-delay:.16s!important;
  }
  .login-overlay-copy{
    transition:transform .94s cubic-bezier(.22,.72,.24,1),opacity .52s ease!important;
  }
  .login-stage.sign-in .login-overlay-copy.sign-in,.login-stage.sign-up .login-overlay-copy.sign-up{
    transition-delay:.18s!important;
  }
}

@media(max-width:600px){
  html,body{background:var(--login-bg)}
  body.orvana-login-page{background:var(--login-bg)!important}
  .login-stage{padding-top:0!important;min-height:100dvh}
  .login-stage::before,
  html[dir="rtl"] .login-stage::before{
    top:-2px!important;
    height:48%!important;
    min-height:330px;
    border-radius:0 0 52px 52px!important;
  }
  .login-tools{top:max(18px,env(safe-area-inset-top))!important}
  .login-compact-intro{
    position:absolute;
    display:flex;
    z-index:6;
    top:92px;
    left:28px;
    right:28px;
    min-height:142px;
    color:#fff;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    text-align:center;
    pointer-events:none;
    opacity:1;
    transform:translateY(0);
    transition:transform .72s cubic-bezier(.22,.72,.24,1),opacity .44s ease;
  }
  .login-compact-intro .compact-kicker{font-size:.72rem;font-weight:900;opacity:.8;margin-bottom:6px}
  .login-compact-intro h2{font-size:clamp(2rem,8vw,2.7rem);line-height:1.15;margin:0 0 8px;font-weight:800}
  .login-compact-intro p{font-size:.82rem;line-height:1.75;margin:0;max-width:430px;font-weight:600;opacity:.88}
  .login-row{padding:272px 16px 28px!important;min-height:100dvh!important}
  .login-info-card{top:272px!important}
  .login-content-row{display:none!important}
  .login-stage[data-login-state="booting"] .login-compact-intro{
    opacity:0;
    transform:translateY(-24px);
  }
  .login-stage[data-login-state="booting"] .login-form-card{
    opacity:0!important;
    visibility:visible!important;
    transform:translateY(58px) scale(.91)!important;
  }
  .login-stage.sign-in .login-form-card{
    transform:translateY(0) scale(1)!important;
    opacity:1!important;
    transition:transform .76s cubic-bezier(.22,.72,.24,1),opacity .46s ease!important;
  }
  .login-stage.sign-up .login-compact-intro{opacity:1;transform:translateY(0) scale(1)}
}

@media(max-width:420px){
  .login-compact-intro{top:84px;left:20px;right:20px;min-height:130px}
  .login-compact-intro h2{font-size:2rem}
  .login-compact-intro p{font-size:.76rem}
  .login-row{padding-top:246px!important}
  .login-info-card{top:246px!important}
}


/* V52.7 - restore the original green-template desktop arc / circle sweep.
   The old template only switched to its phone stack at a very narrow width.
   We keep modern phones compact <= 600px, while desktop windows above it
   retain the full moving 300vw rounded background. */
@media (min-width:601px){
  .login-stage::before{
    top:0!important;
    right:0;
    left:auto;
    width:300vw!important;
    height:100vh!important;
    min-height:0!important;
    transform:translate(35%,0);
    transform-origin:center center;
    border-radius:0!important;
    border-bottom-right-radius:max(50vw,50vh)!important;
    border-top-left-radius:max(50vw,50vh)!important;
    border-bottom-left-radius:0!important;
    border-top-right-radius:0!important;
    transition:transform 1s ease-in-out,right 1s ease-in-out,left 1s ease-in-out,border-radius 1s ease-in-out,box-shadow .6s ease!important;
    box-shadow:rgba(0,0,0,.24) 0 5px 25px;
  }
  .login-stage.sign-in::before{
    transform:translate(0,0)!important;
    right:50%!important;
    left:auto!important;
  }
  .login-stage.sign-up::before{
    transform:translate(100%,0)!important;
    right:50%!important;
    left:auto!important;
  }
  html[dir="rtl"] .login-stage::before{
    right:auto!important;
    left:0!important;
    transform:translate(-35%,0);
    border-bottom-right-radius:0!important;
    border-top-left-radius:0!important;
    border-bottom-left-radius:max(50vw,50vh)!important;
    border-top-right-radius:max(50vw,50vh)!important;
  }
  html[dir="rtl"] .login-stage.sign-in::before{
    transform:translate(0,0)!important;
    left:50%!important;
    right:auto!important;
  }
  html[dir="rtl"] .login-stage.sign-up::before{
    transform:translate(-100%,0)!important;
    left:50%!important;
    right:auto!important;
  }
  .login-stage[data-login-state="booting"]::before{
    right:0!important;
    left:auto!important;
    transform:translate(35%,0) scale(1.015)!important;
  }
  html[dir="rtl"] .login-stage[data-login-state="booting"]::before{
    left:0!important;
    right:auto!important;
    transform:translate(-35%,0) scale(1.015)!important;
  }
  .login-compact-intro{display:none!important}
  .login-row{display:flex!important;min-height:100dvh!important;padding:0!important}
  .login-col{width:50%!important;position:relative!important;padding:clamp(22px,3vw,58px)!important;background:transparent!important;border-radius:0!important;transform:none!important;min-height:auto!important;display:flex!important;align-items:center!important;justify-content:center!important}
  .login-col.info-col{inset:auto!important}
  .login-info-card{position:relative!important;top:auto!important;left:auto!important;right:auto!important;width:100%!important;min-height:360px!important}
  .login-content-row{display:flex!important;height:auto!important;top:0!important}
  .login-content-row .login-col{display:flex!important}
  .login-overlay-copy.sign-in{transform:translateX(-250%);opacity:0}
  .login-overlay-copy.sign-up{transform:translateX(250%);opacity:0}
  html[dir="rtl"] .login-overlay-copy.sign-in{transform:translateX(250%)}
  html[dir="rtl"] .login-overlay-copy.sign-up{transform:translateX(-250%)}
  .login-stage.sign-in .login-overlay-copy.sign-in,
  .login-stage.sign-up .login-overlay-copy.sign-up{transform:translateX(0);opacity:1}
}


/* V52.8 - mobile top coverage + readable compact intro.
   Keep the animated background pinned above the viewport so scaling never reveals
   the page background, and keep welcome copy fully readable in both states. */
@media(max-width:600px){
  .login-stage::before,
  .login-stage.sign-in::before,
  .login-stage.sign-up::before,
  html[dir="rtl"] .login-stage::before,
  html[dir="rtl"] .login-stage.sign-in::before,
  html[dir="rtl"] .login-stage.sign-up::before{
    top:-6px!important;
    transform-origin:50% 0!important;
  }
  .login-stage.sign-in::before,
  html[dir="rtl"] .login-stage.sign-in::before{
    transform:translateY(0) scale(1.025)!important;
  }
  .login-stage.sign-up::before,
  html[dir="rtl"] .login-stage.sign-up::before{
    transform:translateY(0) scale(1.045)!important;
  }
  .login-compact-intro,
  .login-stage.sign-in .login-compact-intro,
  .login-stage.sign-up .login-compact-intro{
    opacity:1!important;
    color:#fff!important;
    filter:none!important;
  }
  .login-compact-intro .compact-kicker{opacity:1!important;color:#fff!important}
  .login-compact-intro h2{opacity:1!important;color:#fff!important;text-shadow:0 2px 14px rgba(86,0,15,.10)}
  .login-compact-intro p{opacity:.96!important;color:#fff!important}
  .login-stage[data-login-state="booting"] .login-compact-intro{
    opacity:0!important;
    transform:translateY(-24px)!important;
  }
}
