html, body { margin:0; padding:0; font-family:"Noto Sans KR", sans-serif; box-sizing:border-box; }
*, *::before, *::after { box-sizing:inherit; }

.login-form { max-width:400px; margin:0 auto; background:#fff; padding:30px; border-radius:10px; box-shadow:0 0 10px rgba(0,0,0,.1); }
.login-form h2 { text-align:center; margin-bottom:20px; font-size:1.3em; font-weight:bold; }

.form-group { margin-bottom:15px; }
.form-group label { display:block; font-weight:bold; margin-bottom:6px; }
.form-group input { width:100%; padding:10px; border:1px solid #ccc; border-radius:6px; }

.btn-submit { background:#333; color:#fff; padding:12px; width:100%; border:none; border-radius:6px; font-size:16px; cursor:pointer; }
.btn-submit:hover { background:#555; }

.password-field { position:relative; }
.password-field input { width:100%; padding-right:35px; }
.password-field .toggle-password {
  position:absolute;
  top:50%;
  right:10px;
  transform:translateY(-50%);
  cursor:pointer;
}

.bgded { height:75px; background-size:cover; background-position:center; background-repeat:no-repeat; }
#header { display:flex; justify-content:center; align-items:center; position:relative; height:70px; }
#page-title { font-size:18px; font-weight:bold; color:#fff; }

/* 로그인 버튼과 링크 사이 여백 */
.login-links { margin-top:20px; text-align:center; }

/* 반응형 보정 */
@media (max-width:480px) {
  .login-form { margin:0 10px; }
  .login-form h2 { font-size:1.3em; }
  footer#copyright { font-size:0.85em; padding:10px 0; }
}



/* 선택: 간단 안내 배너 */
.notice {
  background:#fff7e6; border:1px solid #ffd591; color:#ad6800;
  padding:10px 12px; border-radius:8px; margin:10px 0;
}
.notice.error { background:#fff2f0; border-color:#ffccc7; color:#a8071a; }