html,
body{
  margin:0;
  width:100%;
  height:100%;
  font-family:"Malgun Gothic", "맑은 고딕", Arial, sans-serif;
  background:#eef3f8;
}

.login-page{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.login-card{
  width:360px;
  background:#fff;
  border:1px solid #d8dee6;
  border-radius:14px;
  box-shadow:0 12px 35px rgba(15, 23, 42, 0.12);
  padding:28px;
  box-sizing:border-box;
}

.login-logo{
  color:#1f4e79;
  font-size:20px;
  font-weight:800;
  letter-spacing:0.04em;
  margin-bottom:18px;
}

.login-title{
  font-size:22px;
  font-weight:800;
  color:#1f2d3d;
  margin-bottom:6px;
}

.login-subtitle{
  font-size:13px;
  color:#6b7280;
  margin-bottom:20px;
}

.login-error{
  padding:10px 12px;
  border:1px solid #f0b4b4;
  background:#fff1f1;
  color:#b91c1c;
  border-radius:8px;
  font-size:12px;
  margin-bottom:14px;
}

.login-form{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.login-form label{
  margin-top:6px;
  font-size:12px;
  color:#374151;
  font-weight:700;
}

.login-form input{
  height:36px;
  border:1px solid #cfd6df;
  border-radius:8px;
  padding:0 10px;
  font-size:14px;
  box-sizing:border-box;
}

.login-form input:focus{
  outline:none;
  border-color:#1f4e79;
  box-shadow:0 0 0 3px rgba(31, 78, 121, 0.12);
}

.login-form button{
  height:38px;
  margin-top:14px;
  border:0;
  border-radius:8px;
  background:#1f4e79;
  color:#fff;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
}

.login-form button:hover{
  background:#173f63;
}

.login-help{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #eef2f6;
  font-size:12px;
  color:#6b7280;
  line-height:1.5;
}

/* 로그인 배경 이미지 */
body {
  margin: 0;
  min-height: 100vh;
  background-image:
    linear-gradient(
      rgba(0, 0, 0, 0.25),
      rgba(0, 0, 0, 0.25)
    ),
    url("/static/img/login_bg.png");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

.login-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  box-sizing: border-box;
}

.login-card {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.28);
}