.login-page{overflow-x:hidden}
.login-layout{
  min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(400px,.92fr);
  padding:14px;
}
.login-intro{
  position:relative;min-height:calc(100vh - 28px);display:flex;flex-direction:column;
  overflow:hidden;padding:42px clamp(36px,6vw,88px);border-radius:24px;
  background:
    linear-gradient(145deg,rgba(27,52,164,.96),rgba(62,99,255,.94) 55%,rgba(110,138,255,.92));
  color:#fff;box-shadow:0 32px 90px rgba(40,65,170,.24);
}
.login-brand{position:relative;z-index:2;display:flex;align-items:center;gap:14px;font-weight:750}
.login-brand img{
  width:52px;padding:6px;border-radius:13px;background:rgba(255,255,255,.94);
  box-shadow:0 8px 24px rgba(0,0,0,.10);
}
.login-intro-copy{position:relative;z-index:2;margin:auto 0}
.login-eyebrow{
  display:inline-block;margin-bottom:24px;color:rgba(255,255,255,.68);
  font-size:11px;font-weight:750;letter-spacing:.22em;
}
.login-intro h1{
  margin:0;max-width:720px;font-size:clamp(38px,5vw,70px);font-weight:820;
  line-height:1.14;letter-spacing:-.055em;
}
.login-intro p{
  max-width:600px;margin:28px 0 0;color:rgba(255,255,255,.72);
  font-size:15px;line-height:1.9;
}
.login-orb{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}
.login-orb-one{
  width:440px;height:440px;right:-120px;top:-120px;
  background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.36),rgba(255,255,255,.02) 68%);
}
.login-orb-two{
  width:340px;height:340px;left:-150px;bottom:-130px;
  border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 0 70px rgba(255,255,255,.06);
}
.login-panel{display:grid;place-items:center;padding:48px}
.login-card{width:min(410px,100%)}
.login-card-head{margin-bottom:36px}
.login-card-head h2{margin:0;color:var(--ink);font-size:30px;letter-spacing:-.03em}
.login-card-head p{margin:10px 0 0;color:var(--muted);font-size:13.5px}
.login-mobile-brand{display:none}
.login-label{display:block;margin:18px 0 8px;color:var(--ink2);font-size:13px;font-weight:700}
.login-control{
  height:50px;display:flex;align-items:center;gap:10px;padding:0 14px;
  border:1px solid rgba(62,99,255,.13);border-radius:13px;background:rgba(255,255,255,.72);
  box-shadow:0 5px 18px rgba(38,54,120,.04);
  transition:border-color .18s,box-shadow .18s,background .18s;
}
.login-control:focus-within{
  border-color:rgba(62,99,255,.52);background:#fff;
  box-shadow:0 0 0 4px rgba(62,99,255,.09),0 8px 24px rgba(38,54,120,.06);
}
.login-control svg{
  width:19px;height:19px;flex-shrink:0;stroke:var(--muted);stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;
}
.login-control input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink)}
.login-control input::placeholder{color:var(--faint)}
.password-toggle{
  flex-shrink:0;padding:6px;border:0;background:transparent;color:var(--blue);
  font-size:12px;font-weight:650;
}
.login-error{min-height:20px;margin:14px 0 4px;color:var(--danger);font-size:12.5px}
.login-submit{
  width:100%;height:50px;display:flex;align-items:center;justify-content:center;gap:10px;
  border:0;border-radius:13px;background:linear-gradient(135deg,var(--blue),var(--blue2));
  color:#fff;font-weight:750;box-shadow:0 12px 28px rgba(62,99,255,.28);
  transition:transform .18s,filter .18s;
}
.login-submit:hover{transform:translateY(-1px);filter:brightness(1.04)}
.login-submit:disabled{opacity:.65;transform:none}
.login-submit svg{
  width:18px;height:18px;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}
.login-footnote{margin:22px 0 0;color:var(--faint);font-size:11.5px;text-align:center}
@media(max-width:840px){
  .login-layout{display:block;padding:0}
  .login-intro{display:none}
  .login-panel{min-height:100vh;padding:30px 22px}
  .login-mobile-brand{display:block;margin-bottom:30px;color:var(--blue);font-size:13px;font-weight:750}
}
