body.mx-client-login-body{
  margin:0;
  min-height:100vh;
  font-family:Inter,Arial,sans-serif;
  background:
    radial-gradient(circle at top left,rgba(237,28,36,.10),transparent 32%),
    linear-gradient(135deg,#ffffff,#f8fafc);
  color:#111827;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.mx-login-box{
  width:min(460px,100%);
  background:#ffffff;
  border:1px solid #e5e7eb;
  border-radius:22px;
  padding:34px;
  box-shadow:0 28px 80px rgba(15,23,42,.12);
}

.mx-login-logo{
  width:240px;
  height:82px;
  margin:0 auto 10px;
  background:url('/assets/matrix-logo.svg?v=77') center / contain no-repeat;
}

.mx-login-box h1{
  margin:0;
  text-align:center;
  font-size:30px;
  letter-spacing:-.04em;
}

.mx-login-box p{
  margin:10px 0 24px;
  text-align:center;
  color:#64748b;
  line-height:1.55;
}

.mx-login-form label{
  display:block;
  font-weight:900;
  margin:13px 0 6px;
  color:#334155;
}

.mx-login-form input{
  width:100%;
  height:48px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  padding:0 13px;
  font-size:15px;
}

.mx-login-form input:focus{
  outline:none;
  border-color:#ed1c24;
  box-shadow:0 0 0 4px rgba(237,28,36,.10);
}

.mx-login-btn{
  width:100%;
  height:50px;
  border:0;
  border-radius:10px;
  margin-top:18px;
  cursor:pointer;
  background:linear-gradient(135deg,#ed1c24,#b90f1d);
  color:#ffffff;
  font-weight:950;
  box-shadow:0 18px 38px rgba(237,28,36,.18);
}

.mx-login-links{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
}

.mx-login-links a{
  color:#111827;
  text-decoration:none;
  font-weight:850;
}

.mx-login-alert{
  padding:13px;
  border-radius:12px;
  font-weight:850;
  margin-bottom:14px;
  background:#fff1f2;
  border:1px solid #fecdd3;
  color:#991b1b;
}

.mx-login-alert.good{
  background:#ecfdf5;
  border-color:#bbf7d0;
  color:#047857;
}
