body.login.login-theme-emerald{
  min-height:100vh;
  margin:0;
  background:
    radial-gradient(circle at top right, rgba(95,228,208,.72), transparent 34%),
    radial-gradient(circle at bottom left, rgba(7,80,93,.66), transparent 32%),
    linear-gradient(140deg, #063b4a 0%, #075764 38%, #0d6e78 68%, #38bfb5 100%);
  color:#153546;
  overflow-x:hidden;
}
body.login.login-theme-emerald::before,
body.login.login-theme-emerald::after{
  content:"";
  position:fixed;
  inset:auto;
  pointer-events:none;
  z-index:0;
  border:2px solid rgba(130,255,241,.46);
  border-radius:50%;
  filter:drop-shadow(0 0 6px rgba(75,236,227,.12));
}
body.login.login-theme-emerald::before{
  width:980px;
  height:420px;
  left:-260px;
  top:120px;
  border-right-color:transparent;
  border-bottom-color:transparent;
  transform:rotate(-9deg);
}
body.login.login-theme-emerald::after{
  width:860px;
  height:380px;
  right:-230px;
  bottom:55px;
  border-left-color:transparent;
  border-top-color:transparent;
  transform:rotate(-10deg);
}
.login-shell{
  position:relative;
  z-index:1;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:16px 18px 12px;
}
.login-card.login-card-emerald{
  width:min(500px, 100%);
  padding:28px 28px 24px;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.965) 0%, rgba(243,247,248,.965) 100%);
  box-shadow:0 18px 44px rgba(2,32,44,.21);
  border:1px solid rgba(255,255,255,.55);
}
.login-card-emerald .login-logo,
.login-card-emerald .login-logo-fallback{
  width:52px;
  height:52px;
  margin:0 auto 14px;
  border-radius:16px;
  padding:8px;
  background:linear-gradient(135deg,#0e6787 0%,#0a7e87 55%,#11ba9b 100%);
  box-shadow:0 8px 18px rgba(16,126,135,.20);
}
.login-card-emerald .login-logo-fallback{
  color:#fff;
  font-size:20px;
  font-weight:800;
}
.login-brand-block{text-align:center}
.login-kicker{
  margin:0 0 10px;
  font-size:11px;
  line-height:1.35;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#0d6b74;
  font-weight:800;
}
.login-card-emerald h1{
  margin:0 0 10px;
  font-size:clamp(24px,2.8vw,34px);
  line-height:1.08;
  color:#0d4f67;
  letter-spacing:-.03em;
  text-align:center;
}
.login-intro{
  max-width:410px;
  margin:0 auto 18px;
  font-size:14px;
  line-height:1.45;
  color:#5f7182;
  text-align:center;
}
.login-alert{
  max-width:440px;
  margin:0 auto 14px;
}
.login-form{
  max-width:440px;
  margin:0 auto;
}
.login-form label{
  display:block;
  margin:12px 0 7px;
  font-size:12px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#0d4f67;
  font-weight:800;
}
.login-field{
  position:relative;
  display:flex;
  align-items:center;
}
.login-field-icon{
  position:absolute;
  left:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  color:#6b7f90;
  pointer-events:none;
}
.login-field-icon svg,
.login-password-toggle svg,
.login-note-icon svg{
  width:100%;
  height:100%;
}
.login-form .login-field input{
  width:100%;
  min-height:48px;
  padding:0 44px 0 42px;
  border:2px solid #d8dee3;
  border-radius:14px;
  background:#eef2fb;
  color:#334155;
  font-size:15px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.login-form .login-field input::placeholder{color:#98a2b3}
.login-form .login-field input:focus{
  outline:none;
  border-color:#27aaa0;
  box-shadow:0 0 0 3px rgba(39,170,160,.13);
}
.login-password-toggle{
  position:absolute;
  right:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  padding:0;
  border:0;
  background:transparent;
  color:#718196;
  cursor:pointer;
}
.login-submit{
  width:100%;
  margin-top:20px;
  min-height:52px;
  border:0;
  border-radius:16px;
  background:linear-gradient(90deg,#0b6971 0%, #0b7e7d 45%, #0c9290 100%);
  color:#fff;
  font-size:16px;
  font-weight:800;
  letter-spacing:-.01em;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  box-shadow:0 12px 24px rgba(11,128,123,.20);
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.login-submit:hover{
  transform:translateY(-1px);
  filter:brightness(1.02);
  box-shadow:0 13px 26px rgba(11,128,123,.25);
}
.login-submit:focus{
  outline:none;
  box-shadow:0 0 0 3px rgba(39,170,160,.16),0 12px 24px rgba(11,128,123,.20);
}
.login-note{
  max-width:440px;
  margin:18px auto 0;
  padding-top:14px;
  border-top:1px solid rgba(183,198,207,.72);
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.login-note-icon{
  flex:0 0 32px;
  width:32px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#ddf5ef;
  color:#0a7783;
}
.login-note p{
  margin:0;
  color:#5f7182;
  font-size:13px;
  line-height:1.45;
}
.login-version{
  margin-top:12px;
  text-align:center;
  color:rgba(255,255,255,.92);
  font-size:13px;
  font-weight:600;
  letter-spacing:.02em;
  text-shadow:0 2px 18px rgba(4,30,49,.32);
}
@media (max-height: 780px){
  .login-shell{padding:10px 16px 8px}
  .login-card.login-card-emerald{padding:22px 24px 18px}
  .login-card-emerald .login-logo,
  .login-card-emerald .login-logo-fallback{width:48px;height:48px;margin-bottom:10px}
  .login-kicker{margin-bottom:8px;font-size:10px}
  .login-card-emerald h1{font-size:clamp(22px,2.6vw,30px)}
  .login-intro{margin-bottom:14px;font-size:13px}
  .login-form label{margin-top:10px}
  .login-form .login-field input{min-height:44px;font-size:14px}
  .login-submit{min-height:48px;font-size:15px;margin-top:16px}
  .login-note{margin-top:14px;padding-top:12px}
}
@media (max-width: 720px){
  body.login.login-theme-emerald::before,
  body.login.login-theme-emerald::after{display:none}
  .login-shell{padding:12px 12px 10px}
  .login-card.login-card-emerald{
    width:min(500px,100%);
    padding:22px 18px 18px;
    border-radius:22px;
  }
  .login-kicker{letter-spacing:.11em;font-size:10px}
  .login-card-emerald h1{font-size:26px}
  .login-intro{margin-bottom:14px;font-size:13px}
  .login-form .login-field input{
    min-height:46px;
    font-size:14px;
    padding-left:40px;
  }
  .login-submit{min-height:48px;font-size:15px}
  .login-note{gap:10px}
  .login-note-icon{width:30px;height:30px;flex-basis:30px}
}
@media (max-width: 420px){
  .login-form label{font-size:12px}
  .login-card-emerald h1{font-size:24px}
  .login-intro{font-size:13px}
  .login-form .login-field input{font-size:14px}
  .login-note p,.login-version{font-size:12px}
}
