*{box-sizing:border-box}
body{margin:0;font:14px/1.5 system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}
main{position:relative;min-height:100vh;overflow-x:hidden;background:#06111d;color:#fff}
.login-background,main::before,main::after{position:absolute;inset:0;width:100%;height:100%}
.login-background{object-fit:cover;object-position:left}
main::before,main::after{content:"";pointer-events:none}
main::before{background:linear-gradient(90deg,rgba(2,8,18,.18) 0%,rgba(3,10,20,.08) 38%,rgba(3,10,20,.58) 64%,rgba(3,10,20,.92) 100%)}
main::after{background:radial-gradient(circle at 72% 50%,rgba(47,111,237,.13),transparent 34%)}
.login-layout{position:relative;z-index:1;display:grid;min-height:100vh;gap:32px;padding:32px 24px}
.brand-badge,.brand-icon,.remember{display:flex;align-items:center}
.brand-badge{display:inline-flex;gap:12px;padding:12px 16px;border:1px solid #ffffff1f;border-radius:8px;background:#ffffff0f;box-shadow:0 8px 20px #0003;backdrop-filter:blur(12px)}
.brand-icon{justify-content:center;width:36px;height:36px;border-radius:8px;background:#ffffff1a;color:#a5f3fc}
.brand-icon svg{width:24px;height:24px}
.brand-badge h1{margin:0;font-size:20px;font-weight:600;line-height:24px}
.product-title{margin:56px 0 0;font-size:36px;font-weight:600;line-height:1.25;text-shadow:0 16px 20px #0007}
.product-description{max-width:30em;margin:12px 0 0;color:#d5e3f4;font-size:16px;line-height:1.6;text-shadow:0 1px 8px #020812}
.login-panel{display:flex;align-items:center;justify-content:center}
.login-card{width:100%;max-width:420px;padding:32px;border:1px solid #ffffff2e;border-radius:8px;background:#fffffff5;color:#0a0a0a;box-shadow:0 25px 50px -12px #0006;backdrop-filter:blur(24px)}
.login-card h2{margin:0;font-size:24px;line-height:32px;font-weight:700}
form,.field{display:flex;flex-direction:column}
form{gap:20px;margin-top:32px}
.field{gap:8px;font-weight:500;color:#404040}
input,button{font:inherit}
.field input{width:100%;min-width:0;height:44px;padding:0 12px;border:1px solid #e5e5e5;border-radius:6px;background:#fff;color:#0a0a0a;box-shadow:0 1px 2px #0001}
.field input::placeholder{color:#737373}
.password-field{position:relative}
.password-field input{padding-right:44px}
#toggle-password{position:absolute;inset:0 6px 0 auto;width:32px;display:grid;place-items:center;border:0;background:transparent;color:#737373}
#toggle-password:hover{color:#404040}
#toggle-password svg{width:16px;height:16px}
.eye-off,#toggle-password[aria-pressed="true"] .eye{display:none}
#toggle-password[aria-pressed="true"] .eye-off{display:block}
.remember{gap:8px;color:#525252;align-self:flex-start;cursor:pointer}
.remember input{margin:0;width:16px;height:16px;accent-color:#3e63dd}
.submit{height:44px;border:0;border-radius:6px;background:#3e63dd;color:#fff;font-weight:500;box-shadow:0 6px 15px #0002}
.submit:hover{background:#3658c4}
.submit:disabled{opacity:.65;cursor:wait}
button:not(:disabled){cursor:pointer}
:focus-visible{outline:2px solid #3e63dd;outline-offset:2px}
#login-error{margin:0;padding:12px;border:1px solid #fecaca;border-radius:8px;background:#fef2f2;color:#991b1b;font-weight:500}
@media(min-width:1024px){
  .login-layout{grid-template-columns:minmax(0,1fr) 460px;gap:0;padding-inline:48px}
  .login-brand{min-height:420px;padding-bottom:64px}
  .login-panel{justify-content:flex-end}
}
@media(min-width:1280px){
  .login-layout{padding-inline:64px}
  .login-brand{padding-bottom:80px}
  .product-title{font-size:48px}
}
@media(max-width:560px){
  .login-layout{align-content:center}
  .product-title{margin-top:24px;font-size:30px}
  .product-description{font-size:14px}
  .login-card{padding:24px}
}
