/* KORAY sign-in. Presentation only; form action and field names are unchanged. */
:root {
  --login-ink:#0f1d3a;
  --login-muted:#6f7d92;
  --login-primary:#1d3f91;
  --login-border:#e3e8ef;
  --login-canvas:#f2f4f7;
}

body {
  position:relative;
  min-height:100vh;
  overflow:auto;
  background:var(--login-canvas);
  font-family:"Noto Sans SC","Manrope","Microsoft YaHei",sans-serif;
}
body::before {
  position:fixed;
  inset:0;
  pointer-events:none;
  content:"";
  background:
    linear-gradient(90deg,transparent 49.95%,rgba(29,63,145,.035) 50%,transparent 50.05%),
    radial-gradient(circle at 12% 12%,rgba(29,63,145,.07),transparent 26rem);
}
body::after { display:none; }

.login-shell {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);
  place-items:stretch;
  gap:0;
  width:min(1040px,calc(100vw - 64px));
  min-height:610px;
  padding:0;
  overflow:hidden;
  border:1px solid var(--login-border);
  border-radius:24px;
  background:#fff;
  box-shadow:0 24px 70px rgba(22,38,67,.1);
}

.login-brand {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  padding:64px 62px 58px;
  overflow:hidden;
  color:var(--login-ink);
  text-align:left;
  text-shadow:none;
  border-right:1px solid var(--login-border);
  background:
    linear-gradient(180deg,rgba(4,18,43,.2) 0%,rgba(4,18,43,.34) 42%,rgba(4,18,43,.84) 100%),
    url("/static/img/zhengzhou-big-corn-login.png") 58% center/cover no-repeat;
}
.login-brand::after {
  position:absolute;
  right:-100px;
  bottom:-170px;
  width:390px;
  height:390px;
  content:"";
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  box-shadow:0 0 0 64px rgba(29,63,145,.025),0 0 0 128px rgba(29,63,145,.018);
}
.login-logo-lockup {
  position:relative;
  z-index:1;
  width:184px;
  height:120px;
  margin:0;
  overflow:hidden;
}
.login-logo {
  position:absolute;
  top:-60px;
  left:-44px;
  display:block;
  width:265px;
  max-width:none;
  height:265px;
  object-fit:contain;
  filter:brightness(0) invert(1);
  mix-blend-mode:normal;
}
.login-brand-copy { position:relative; z-index:1; max-width:430px; }
.login-brand h1 {
  margin:0;
  color:#fff;
  font-family:"Manrope","Noto Sans SC",sans-serif;
  font-size:40px;
  font-weight:750;
  line-height:1.22;
  letter-spacing:-.035em;
}
.login-brand p { margin:14px 0 0; color:rgba(255,255,255,.76); font-size:16px; font-weight:500; }
.brand-mark { display:none; }

.login-card {
  display:flex;
  width:100%;
  flex-direction:column;
  justify-content:center;
  padding:64px 54px;
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:none;
  backdrop-filter:none;
}
.login-card-head { display:block; margin-bottom:32px; }
.login-card-head > .material-symbols-outlined { display:none; }
.login-card h2 { margin:0; color:var(--login-ink); font-size:28px; font-weight:750; letter-spacing:-.025em; }
.login-card .subtitle { margin:8px 0 0; color:var(--login-muted); font-size:14px; }
.login-card form { gap:18px; }
.login-card label { gap:8px; color:#364760; font-size:14px; font-weight:650; }
.login-card input[type="text"],.login-card input[type="password"] {
  height:50px;
  border:1px solid #d9e0e9;
  border-radius:10px;
  padding:11px 14px;
  background:#fff;
  color:var(--login-ink);
  font-size:15px;
}
.login-card input::placeholder { color:#a0aaba; }
.login-card input:focus { border-color:#7389b9; box-shadow:0 0 0 3px rgba(29,63,145,.1); }
.login-card .remember { grid-template-columns:auto 1fr; gap:9px; color:#6f7d92; font-size:13px; }
.login-card .remember input { width:16px; height:16px; accent-color:var(--login-primary); }
.login-card button {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  height:50px;
  border-radius:10px;
  background:var(--login-ink);
  box-shadow:none;
  font-size:15px;
  font-weight:700;
  transition:background .16s ease;
}
.login-card button:hover { background:#203354; box-shadow:none; transform:none; }
.login-card button .material-symbols-outlined { font-size:18px; }
.login-card .error { min-height:18px; margin-top:-4px; color:#b93849; font-size:13px; text-align:left; }

@media (max-width:800px) {
  body { padding:20px 0; }
  .login-shell { grid-template-columns:1fr; width:min(520px,calc(100vw - 28px)); min-height:0; border-radius:20px; }
  .login-brand { min-height:230px; padding:28px 30px; border-right:0; border-bottom:1px solid var(--login-border); }
  .login-logo-lockup { width:150px; height:98px; }
  .login-logo { top:-49px; left:-36px; width:216px; height:216px; }
  .login-brand h1 { font-size:29px; }
  .login-brand p { margin-top:8px; font-size:14px; }
  .login-card { padding:34px 30px 30px; }
}

@media (max-width:420px) {
  .login-brand { min-height:210px; padding:24px; }
  .login-card { padding:30px 24px 24px; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { transition:none !important; animation:none !important; }
}
