body.page-login{
  min-height:100vh;
  background:#fff!important;
  color:#172033!important;
}
body.page-login:before{display:none!important;content:none!important}
.login-shell{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
  padding:54px 0 70px;
}
.login-frame{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(380px,440px);
  gap:28px;
  align-items:stretch;
}
.login-copy{
  position:relative;
  overflow:hidden;
  min-height:520px;
  padding:42px;
  border:1px solid rgba(255,255,255,.30);
  border-radius:28px;
  background:#0f43f9;
  color:#fff;
  box-shadow:0 28px 74px rgba(15,67,249,.20);
}
.login-copy:before,
.login-copy:after{
  content:"";
  position:absolute;
  border-radius:999px;
  pointer-events:none;
}
.login-copy:before{
  width:320px;
  height:320px;
  right:-150px;
  top:-120px;
  background:rgba(255,255,255,.16);
}
.login-copy:after{
  width:210px;
  height:210px;
  left:-90px;
  bottom:-95px;
  background:rgba(255,209,102,.20);
}
.login-copy-inner{position:relative;z-index:1;display:flex;min-height:100%;flex-direction:column}
.login-eyebrow{
  display:inline-flex;
  width:max-content;
  align-items:center;
  gap:8px;
  padding:9px 14px;
  border:1px solid rgba(255,255,255,.32);
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:13px;
  font-weight:950;
}
.login-eyebrow:before{content:"";width:8px;height:8px;border-radius:999px;background:#ffd166}
.login-copy h1{
  max-width:720px;
  margin:24px 0 16px;
  color:#fff!important;
  font-size:clamp(36px,4.5vw,58px);
  line-height:1.04;
  letter-spacing:-.06em;
  font-weight:950;
}
.login-copy p{
  max-width:660px;
  margin:0;
  color:rgba(255,255,255,.86);
  font-size:17px;
  line-height:1.9;
}
.login-benefits{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:auto;
  padding-top:34px;
}
.login-benefit{
  min-height:116px;
  padding:18px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:18px;
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(10px);
}
.login-benefit b{display:block;margin-bottom:8px;color:#fff;font-size:17px;font-weight:950}
.login-benefit span{display:block;color:rgba(255,255,255,.80);font-size:13px;line-height:1.7}
.login-card{
  align-self:start;
  padding:28px;
  border:1px solid #dbe4f2;
  border-radius:28px;
  background:#fff;
  box-shadow:0 24px 62px rgba(16,24,40,.10);
}
.login-card-head{margin-bottom:18px}
.login-card-head h2{margin:0;color:#172033;font-size:28px;line-height:1.2;letter-spacing:-.04em;font-weight:950}
.login-card-head p{margin:8px 0 0;color:#667085;font-size:14px;line-height:1.7}
.panel{display:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.panel.active{display:block!important}
.field{margin-top:14px}
.field label{display:block;margin-bottom:8px;color:#344054;font-size:13px;font-weight:950}
.field input{
  width:100%;
  height:54px;
  border:1px solid #d0d7e5!important;
  border-radius:14px!important;
  padding:0 15px;
  background:#fbfdff!important;
  color:#172033!important;
  outline:0;
  box-shadow:none!important;
}
.field input:focus{border-color:#0f43f9!important;box-shadow:0 0 0 4px rgba(15,67,249,.10)!important}
.login-button{
  width:100%;
  height:54px;
  margin-top:18px;
  border:1px solid #0f43f9;
  border-radius:14px;
  background:#0f43f9;
  color:#fff;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 14px 28px rgba(15,67,249,.18);
}
.login-button:hover{background:#0b35d9;border-color:#0b35d9}
.login-button.secondary{
  margin-top:12px;
  background:#fff;
  color:#172033;
  border-color:#d7e0ef;
  box-shadow:none;
}
.login-button.secondary:hover{background:#f7faff;border-color:#b9caf0;color:#0f43f9}
.hint{margin:13px 0 0;color:#667085;font-size:13px;line-height:1.7}
.message{
  display:none;
  margin-top:14px;
  padding:12px 13px;
  border:1px solid #e4eaf3;
  border-radius:14px;
  background:#f7f9fc;
  color:#344054;
  font-size:13px;
  line-height:1.7;
}
.message.show{display:block}
.message.error{background:#fff5f5;border-color:#ffd7d7;color:#9f1d1d}
.member-box{
  display:none;
  margin-top:16px;
  padding:16px;
  border:1px solid #d7e8ff;
  border-radius:18px;
  background:#f7fbff;
}
.member-box.show{display:block}
.member-box strong{display:block;font-size:18px;font-weight:950;color:#172033}
.member-box span{display:block;margin-top:5px;color:#667085;line-height:1.7}
.member-box .login-button{display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none}
.login-safe-note{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:18px;
  padding:14px;
  border:1px solid #e6ecf5;
  border-radius:16px;
  background:#fbfdff;
  color:#667085;
  font-size:13px;
  line-height:1.7;
}
.login-safe-note b{color:#172033}
.site-record{margin-top:0!important}
@media(max-width:900px){
  .login-shell{width:min(100% - 28px,1180px);padding:26px 0 50px}
  .login-frame{grid-template-columns:1fr;gap:18px}
  .login-card{order:1;padding:20px;border-radius:22px}
  .login-copy{order:2;min-height:auto;padding:24px;border-radius:22px}
  .login-copy h1{font-size:34px;line-height:1.08}
  .login-benefits{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px;padding-top:0}
}
@media(max-width:620px){
  .login-shell{width:calc(100% - 22px);padding:18px 0 42px}
  .login-card{padding:18px;border-radius:18px}
  .login-card-head h2{font-size:24px}
  .login-copy{padding:20px;border-radius:18px}
  .login-copy h1{font-size:30px;letter-spacing:-.045em}
  .login-copy p{font-size:15px}
  .login-benefits{grid-template-columns:1fr;gap:10px}
  .login-benefit{min-height:0;padding:15px}
  .field input,.login-button{height:52px;border-radius:12px!important}
}

.login-button.secondary{display:flex;align-items:center;justify-content:center;text-decoration:none}
.login-button:disabled{opacity:.65;cursor:wait}
.page-login .login-card .login-button{border-radius:14px!important}
