:root { color-scheme: light; font: 15px/1.55 system-ui,"Microsoft YaHei",sans-serif; color: #142c35; background: #edf3f2 }
* { box-sizing: border-box }
body { margin: 0; min-height: 100vh; min-height: 100dvh; display: grid; place-items: center; padding: 24px 16px;
  background: radial-gradient(ellipse at 15% 8%,#d2e9e2,transparent 54%), radial-gradient(ellipse at 95% 95%,#dce8ee,transparent 50%),#f1f5f4 }
.login-card { width: min(100%,438px); padding: clamp(24px,7vw,42px); background: #fff; border: 1px solid #d8e5e1;
  border-radius: 22px; box-shadow: 0 22px 65px #173f381c }
.login-brand { display: flex; align-items: center; gap: 10px; color: #245b50; font-size: 14px; font-weight: 750 }
.login-brand span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: #dff1ea; color: #0d5e50 }
h1 { font-size: clamp(27px,5vw,35px); line-height: 1.2; margin: 22px 0 8px }
.login-note, .login-footer { color: #526973; margin: 0 }
form { display: grid; gap: 8px; margin-top: 24px }
label { font-weight: 650; font-size: 13px }
input,button { font: inherit; width: 100%; min-height: 45px; border-radius: 9px }
input { border: 1px solid #aabfba; padding: 9px 12px; margin-bottom: 8px; color: #142c35; background: #fbfdfc }
button { border: 1px solid #126658; color: white; background: #126658; font-weight: 730; cursor: pointer; margin-top: 4px }
button:hover { background: #0d5146 }
:is(input,button):focus-visible { outline: 2px solid #126658; outline-offset: 2px }
.login-error { margin: 16px 0 0; padding: 10px 12px; border-radius: 8px; color: #872d32; background: #fcebed }
.login-footer { margin-top: 19px; text-align: center; font-size: 12px }
