:root{color-scheme:light;font-family:Inter,Arial,sans-serif;color:#101828;background:#fff}
*{box-sizing:border-box}
body{margin:0}
.login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;min-height:100dvh}
.login-panel{display:grid;place-items:center;padding:48px 24px}
.login-content{width:min(100%,340px);text-align:center}
.login-logo{display:block;margin:0 auto 16px}
h1{font-size:clamp(25px,3vw,34px);line-height:1.14;letter-spacing:-.03em;margin:0 0 29px}
.login-action{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 18px;border-radius:6px;background:#101828;color:#fff;text-decoration:none;font-weight:600;font-size:14px}
.login-action:hover{background:#263249}
.login-action:focus-visible{outline:2px solid #146440;outline-offset:4px}
.login-visual{background:#dce8da url('/login-nursery.webp') center 42% / cover no-repeat}
@media(max-width:650px){
  .login-layout{grid-template-columns:1fr;grid-template-rows:minmax(180px,36dvh) 1fr}
  .login-visual{grid-row:1;background-position:center 34%}
  .login-panel{grid-row:2;padding:36px 24px}
}

@media(max-width:650px){
  .login-layout{grid-template-rows:minmax(120px,32dvh) 1fr}
  .login-panel{padding:28px max(20px,env(safe-area-inset-left)) max(28px,env(safe-area-inset-bottom))}
  .login-action{min-height:48px;font-size:16px}
  #login-error{line-height:1.5}
}
