body.v2-login {
  --ink:#17233b;
  --muted:#52627b;
  --brand:#285ce6;
  min-height:100dvh;
  overflow:auto;
  color:var(--ink);
  background:#edf2f9;
}
body.v2-login::before { display:none; }
body.v2-login .stage {
  grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr);
  gap:0;
  align-items:stretch;
  width:min(1120px,calc(100vw - 48px));
  min-height:min(720px,calc(100dvh - 80px));
  margin:auto;
  padding:40px 0;
}
body.v2-login .brand-panel,
body.v2-login .login-card {
  min-height:620px;
  border:0;
  border-radius:0;
  transform:none !important;
  filter:none !important;
  opacity:1 !important;
  backdrop-filter:none;
  transition:none;
}
body.v2-login .brand-panel {
  display:flex;
  flex-direction:column;
  padding:54px 52px 38px;
  border-radius:20px 0 0 20px;
  background:linear-gradient(155deg,#14223c 0%,#182f59 68%,#23477e 100%);
  box-shadow:0 22px 55px rgba(18,35,66,.19);
}
body.v2-login .brand-panel::after {
  position:absolute;
  right:-70px;
  bottom:54px;
  width:320px;
  height:320px;
  border:1px solid rgba(184,209,255,.17);
  border-radius:50%;
  box-shadow:0 0 0 45px rgba(184,209,255,.055),0 0 0 100px rgba(184,209,255,.035);
  content:"";
  pointer-events:none;
}
body.v2-login .brand-mark {
  align-self:flex-start;
  gap:10px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#c7d9f6;
  font-size:12px;
  font-weight:650;
  letter-spacing:.16em;
}
body.v2-login .brand-dot { width:10px; height:10px; background:#75a2ff; box-shadow:0 0 0 5px rgba(117,162,255,.14); }
body.v2-login .brand-title {
  margin:118px 0 18px;
  font-size:clamp(36px,3.25vw,52px);
  line-height:1.24;
  letter-spacing:-.025em;
  font-weight:750;
}
body.v2-login .brand-subtitle {
  max-width:30ch;
  color:#c0cfe8;
  font-size:14px;
  line-height:1.75;
}
body.v2-login .signal-row {
  position:relative;
  left:auto;
  right:auto;
  bottom:auto;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin-top:auto;
  padding-top:26px;
  border-top:1px solid rgba(205,224,255,.2);
}
body.v2-login .signal-card {
  min-width:0;
  padding:0 14px;
  border:0;
  border-radius:0;
  background:transparent;
  backdrop-filter:none;
}
body.v2-login .signal-card:first-child { padding-left:0; }
body.v2-login .signal-card + .signal-card { border-left:1px solid rgba(205,224,255,.2); }
body.v2-login .signal-card strong { overflow:hidden; margin:0 0 4px; font-size:18px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
body.v2-login .signal-card span { color:#a9bbd8; font-size:11px; }
body.v2-login .login-card {
  z-index:1;
  justify-content:center;
  padding:64px clamp(36px,5vw,76px);
  border-radius:0 20px 20px 0;
  background:#fff;
  box-shadow:12px 22px 55px rgba(18,35,66,.12);
}
body.v2-login .login-card::before { display:none; }
body.v2-login .login-head { margin-bottom:30px; }
body.v2-login .login-kicker { color:#3154a1; font-size:11px; font-weight:700; letter-spacing:.14em; }
body.v2-login .login-kicker::before { width:18px; height:2px; background:#5f84e9; }
body.v2-login h1 { margin:18px 0 10px; color:var(--ink); font-size:34px; letter-spacing:-.025em; font-weight:750; }
body.v2-login .subtitle { color:var(--muted); font-size:14px; line-height:1.6; }
body.v2-login .field { margin-bottom:20px; }
body.v2-login label { margin-bottom:8px; color:#33435c; font-size:13px; font-weight:650; }
body.v2-login input {
  height:50px;
  border:1px solid #becbe0;
  border-radius:9px;
  background:#f9fbfe;
  font-size:15px;
  transition:border-color .18s ease,box-shadow .18s ease;
}
body.v2-login input:focus { transform:none; border-color:var(--brand); box-shadow:0 0 0 3px rgba(40,92,230,.14); background:#fff; }
body.v2-login button {
  height:50px;
  margin-top:8px;
  border-radius:9px;
  background:#285ce6;
  box-shadow:0 9px 18px rgba(40,92,230,.18);
  font-weight:700;
  transition:background .18s ease,transform .18s ease;
}
body.v2-login button:hover { transform:translateY(-1px); background:#214dbf; filter:none; }
body.v2-login .hint,body.v2-login .msg { border-radius:9px; }
body.v2-login .footnote { margin-top:28px; padding-top:18px; border-top:1px solid #e6ebf3; color:var(--muted); font-size:12px; }
body.v2-login :focus-visible { outline:2px solid #285ce6; outline-offset:2px; }
@media(max-width:920px) {
  body.v2-login .stage { grid-template-columns:1fr; width:min(560px,calc(100vw - 32px)); padding:20px 0; }
  body.v2-login .brand-panel,body.v2-login .login-card { min-height:0; border-radius:0; }
  body.v2-login .brand-panel { gap:18px; padding:26px; border-radius:16px 16px 0 0; }
  body.v2-login .brand-title { margin:0; font-size:30px; }
  body.v2-login .brand-subtitle,body.v2-login .signal-row { display:none; }
  body.v2-login .login-card { padding:32px 28px; border-radius:0 0 16px 16px; }
}
@media(max-width:520px) {
  body.v2-login .stage { width:100%; padding:0; }
  body.v2-login .brand-panel { padding:28px 22px; border-radius:0; }
  body.v2-login .brand-title { font-size:27px; }
  body.v2-login .login-card { min-height:calc(100dvh - 145px); padding:34px 22px; border-radius:0; }
}
@media(prefers-reduced-motion:reduce) { body.v2-login button,body.v2-login input { transition:none; } }

/* Win against the legacy global theme without changing the system home page. */
@layer de-system {
body.de-ui.v2-login { background:#edf2f9 !important; }
body.de-ui.v2-login .stage { grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr) !important; gap:0 !important; align-items:stretch !important; width:min(1120px,calc(100vw - 48px)) !important; min-height:100dvh !important; padding:40px 0 !important; }
body.de-ui.v2-login .brand-panel { display:flex !important; flex-direction:column !important; min-height:620px !important; padding:54px 52px 38px !important; overflow:hidden !important; border:0 !important; border-radius:20px 0 0 20px !important; background:linear-gradient(155deg,#14223c 0%,#182f59 68%,#23477e 100%) !important; color:#fff !important; box-shadow:0 22px 55px rgba(18,35,66,.19) !important; }
body.de-ui.v2-login .brand-panel::after { display:block !important; }
body.de-ui.v2-login .brand-mark { padding:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; color:#c7d9f6 !important; }
body.de-ui.v2-login .brand-dot { background:#75a2ff !important; box-shadow:0 0 0 5px rgba(117,162,255,.14) !important; }
body.de-ui.v2-login .brand-title { margin:118px 0 18px !important; color:#fff !important; font-size:clamp(36px,3.25vw,52px) !important; line-height:1.24 !important; letter-spacing:-.025em !important; }
body.de-ui.v2-login .brand-subtitle { color:#c0cfe8 !important; font-size:14px !important; }
body.de-ui.v2-login .brand-subtitle,body.de-ui.v2-login .login-head .subtitle,body.de-ui.v2-login .footnote { display:block !important; }
body.de-ui.v2-login .signal-row { position:relative !important; left:auto !important; right:auto !important; bottom:auto !important; gap:0 !important; margin-top:auto !important; padding-top:26px !important; overflow:visible !important; border:0 !important; border-top:1px solid rgba(205,224,255,.2) !important; border-radius:0 !important; background:transparent !important; }
body.de-ui.v2-login .signal-card { padding:0 14px !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }
body.de-ui.v2-login .signal-card:first-child { padding-left:0 !important; }
body.de-ui.v2-login .signal-card + .signal-card { border-left:1px solid rgba(205,224,255,.2) !important; }
body.de-ui.v2-login .signal-card strong { color:#fff !important; font-size:18px !important; }
body.de-ui.v2-login .signal-card span { color:#a9bbd8 !important; }
body.de-ui.v2-login .login-card,body.de-ui.v2-login .login-card:hover,body.de-ui.v2-login .login-card:focus-within { width:100% !important; max-width:none !important; min-height:620px !important; padding:64px clamp(36px,5vw,76px) !important; border:0 !important; border-radius:0 20px 20px 0 !important; background:#fff !important; box-shadow:12px 22px 55px rgba(18,35,66,.12) !important; backdrop-filter:none !important; transform:none !important; }
body.de-ui.v2-login h1 { color:var(--ink) !important; font-size:34px !important; letter-spacing:-.025em !important; }
body.de-ui.v2-login input { border-radius:9px !important; background:#f9fbfe !important; }
body.de-ui.v2-login button { border-radius:9px !important; background:#285ce6 !important; box-shadow:0 9px 18px rgba(40,92,230,.18) !important; }
@media(max-width:920px) {
  body.de-ui.v2-login .stage { display:grid !important; grid-template-columns:1fr !important; width:min(560px,calc(100vw - 32px)) !important; padding:20px 0 !important; }
  body.de-ui.v2-login .brand-panel { min-height:0 !important; padding:26px !important; border-radius:16px 16px 0 0 !important; }
  body.de-ui.v2-login .brand-title { margin:0 !important; font-size:30px !important; }
  body.de-ui.v2-login .brand-subtitle,body.de-ui.v2-login .signal-row { display:none !important; }
  body.de-ui.v2-login .login-card,body.de-ui.v2-login .login-card:hover,body.de-ui.v2-login .login-card:focus-within { min-height:0 !important; padding:32px 28px !important; border-radius:0 0 16px 16px !important; }
}
@media(max-width:520px) {
  body.de-ui.v2-login .stage { width:100% !important; padding:0 !important; }
  body.de-ui.v2-login .brand-panel { margin-bottom:0 !important; padding:28px 22px !important; border-radius:0 !important; }
  body.de-ui.v2-login .brand-title { font-size:27px !important; }
  body.de-ui.v2-login .login-card,body.de-ui.v2-login .login-card:hover,body.de-ui.v2-login .login-card:focus-within { justify-content:flex-start !important; min-height:calc(100dvh - 145px) !important; padding:46px 22px 34px !important; border-radius:0 !important; }
}
}
