*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{font-family:var(--m-font-body,Inter,system-ui,sans-serif);background:var(--m-bg,#f3f6fa)}
.login-noscript{min-height:100svh;display:grid;place-items:center;padding:24px;color:#0f1626;text-align:center}
.login-noscript div{max-width:440px;padding:32px;background:#fff;border:1px solid #e2e7f1;border-radius:20px;box-shadow:0 24px 60px -30px rgba(15,22,38,.35)}
#login-screen{position:fixed!important;inset:0!important;display:flex!important;align-items:stretch!important;padding:0!important;background:var(--m-bg,#f4f6fb)!important;color:var(--m-text,#111a33)!important}
#login-screen>.lm{min-height:100vh!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;gap:0!important;grid-template-columns:minmax(320px,.82fr) minmax(480px,1.18fr)!important;align-items:stretch!important;border:0!important;border-radius:0!important;background:var(--m-bg,#f4f6fb)!important;box-shadow:none!important;overflow:auto!important}
#login-screen .lm-glyph{display:none!important}
#login-screen .lm-left{min-width:0;padding:clamp(32px,6vw,88px)!important;justify-content:center;gap:24px!important;background:var(--m-action,#3157d5);color:var(--m-on-action,#fff);isolation:isolate;overflow:hidden}
#login-screen .lm-left::before,#login-screen .lm-left::after{content:"";position:absolute;z-index:-1;width:115%;aspect-ratio:1;border:32px solid color-mix(in srgb,var(--m-on-action,#fff) 11%,transparent);border-radius:50%;left:-45%;bottom:-60%;transform:rotate(-18deg)}
#login-screen .lm-left::after{left:-20%;bottom:-72%}
#login-screen .lm-kicker{padding:0!important;border:0!important;background:transparent!important;color:color-mix(in srgb,var(--m-on-action,#fff) 78%,transparent)!important;letter-spacing:var(--m-track-caps)!important}
#login-screen .lm-kicker::before{background:#8df0bd!important;box-shadow:0 0 0 4px color-mix(in srgb,#8df0bd 18%,transparent)!important}
#login-screen .lm-word{color:var(--m-on-action,#fff)!important}
#login-screen .lm-word img{width:min(100%,420px);filter:brightness(0) invert(1)}
#login-screen .lm-tagline{max-width:18ch!important;font:500 clamp(2.4rem,4.5vw,5rem)/1 var(--m-font-display,inherit)!important;letter-spacing:var(--m-track-tight)!important;color:var(--m-on-action,#fff)!important;text-wrap:balance}
#login-screen .lm-context{gap:11px!important;color:color-mix(in srgb,var(--m-on-action,#fff) 78%,transparent)!important;font-size:var(--m-fs-13)!important}
#login-screen .lm-context span::before{background:color-mix(in srgb,var(--m-on-action,#fff) 16%,transparent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 8 2.4 2.4L12 5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat!important}
.login-support-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:8px;font-size:var(--m-fs-13)}
.login-support-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--m-on-action,#fff)!important;text-underline-offset:3px}
#login-screen .lm-card{align-self:center;width:min(calc(100% - 48px),500px);margin:48px auto;padding:clamp(28px,4vw,42px)!important;gap:24px!important;border:1px solid var(--m-border,#dce1ea)!important;border-radius:var(--m-radius-xl,24px)!important;background:var(--m-surface,#fff)!important;box-shadow:0 26px 70px -34px rgba(17,26,51,.34)!important;backdrop-filter:none!important}
.login-portal-context{display:grid;grid-template-columns:1fr auto;gap:2px 16px;padding-bottom:20px;border-bottom:1px solid var(--m-border,#dce1ea);font-size:var(--m-fs-12);color:var(--m-text-muted,#64708a)}
.login-portal-context span{grid-column:1}
.login-portal-context strong{grid-column:1;overflow:hidden;text-overflow:ellipsis;font-size:var(--m-fs-14);color:var(--m-text,#111a33)}
.login-portal-context a{grid-column:2;grid-row:1/3;align-self:center;display:inline-flex;align-items:center;min-height:44px;color:var(--m-accent-text,#2546b7)!important;font-weight:700;text-underline-offset:3px}
#login-screen .lm-card h2{font:500 clamp(2rem,3.2vw,3rem)/1.02 var(--m-font-display,inherit)!important;letter-spacing:var(--m-track-tight)!important}
#login-screen .lm-card h2 span{margin-top:10px!important;font:400 var(--m-fs-14)/1.55 var(--m-font-body,inherit)!important;letter-spacing:0!important;color:var(--m-text-muted,#64708a)!important}
#login-screen .lm-field input,#login-screen .lm-code{border-color:var(--m-border-strong,#c6cedb)!important;border-radius:var(--m-radius-lg,14px)!important;background:var(--m-surface,#fff)!important;color:var(--m-text,#111a33)!important}
#login-screen .lm-field input:focus,#login-screen .lm-code:focus{border-color:var(--m-action,#3157d5)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--m-action,#3157d5) 18%,transparent)!important}
#login-screen .lm-btn{border-radius:var(--m-radius-lg,14px)!important;background:var(--m-action,#3157d5)!important;color:var(--m-on-action,#fff)!important}
#login-screen .lm-btn:hover{background:var(--m-action-hover,#2648ba)!important}
#login-screen .lm-links{justify-content:flex-start!important;gap:8px 20px!important}
#login-screen .lm-links button,#login-screen .lm-back{min-height:44px;color:var(--m-text-muted,#64708a)!important;text-align:left}
#login-screen .lm-foot{text-align:left!important;line-height:1.7;font-size:var(--m-fs-11)!important;color:#536078!important}
#login-screen .lm-foot a{display:inline-flex;align-items:center;min-height:34px;color:#536078!important;text-underline-offset:3px}
#login-screen>#register-card{align-self:center;flex:0 0 auto;width:min(calc(100% - 40px),440px)!important;max-height:calc(100vh - 40px);margin:auto;overflow:auto}
@media (max-width:800px){
  #login-screen{overflow:auto!important;position:fixed!important}
  #login-screen>.lm{grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important;min-height:100vh!important;background:var(--m-bg,#f4f6fb)!important}
  #login-screen .lm-left{min-height:112px;padding:26px 24px!important;justify-content:center!important}
  #login-screen .lm-left::before,#login-screen .lm-left::after,#login-screen .lm-kicker,#login-screen .lm-tagline,#login-screen .lm-context,#login-screen .login-support-links{display:none!important}
  #login-screen .lm-word img{width:150px}
  #login-screen .lm-card{width:min(calc(100% - 40px),500px);margin:24px auto!important;padding:26px 24px!important}
  #login-screen>#register-card{width:min(calc(100% - 32px),440px)!important;max-height:calc(100vh - 32px)}
}
@media (max-width:390px){
  #login-screen .lm-left{min-height:88px;padding:20px!important}
  #login-screen .lm-word img{width:132px}
  #login-screen .lm-card{width:calc(100% - 24px);margin:12px auto!important;padding:22px 18px!important;border-radius:18px!important}
  .login-portal-context{padding-bottom:14px}
  #login-screen .lm-card h2{font-size:var(--m-fs-30)!important}
}
@media (prefers-reduced-motion:reduce){#login-screen *{animation:none!important;transition:none!important}}
