/* 관리자 로그인·비밀번호 변경 화면 (inc/admin/login_page.php). 기존 관리자 로그인 화면과 같은 크기·색 */
.login-body {
  min-height: 100vh; margin: 0; display: flex; align-items: center; justify-content: center; padding: 16px;
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
}
.login-card {
  width: 100%; max-width: 500px; background: #fff; border-radius: 16px; padding: 48px 40px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .3); animation: pop-in .3s cubic-bezier(.22, 1, .36, 1);
}
.login-head { text-align: center; margin-bottom: 32px; }
.login-logo {
  width: 72px; height: 72px; border-radius: 50%; margin: 0 auto 16px; display: flex; align-items: center; justify-content: center;
  font-size: 32px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.login-title { font-size: 24px; font-weight: 600; line-height: 1.35; color: #1a1a2e; margin: 0 0 4px; }
.login-sub { color: rgba(0, 0, 0, .45); font-size: 14px; }
.login-item { margin-bottom: 24px; }
.login-input {
  display: flex; align-items: center; gap: 8px; height: 48px; padding: 0 11px; border: 1px solid #d9d9d9; border-radius: 8px;
  background: #fff; transition: border-color .2s, box-shadow .2s; cursor: text; margin: 0;
}
.login-input:hover { border-color: #4096ff; }
.login-input:focus-within { border-color: #4096ff; box-shadow: 0 0 0 2px rgba(5, 145, 255, .1); }
.login-input > .anticon { color: #bfbfbf; font-size: 16px; }
.login-input input { flex: 1; min-width: 0; border: 0; outline: 0; font-size: 16px; background: transparent; color: rgba(0, 0, 0, .88); }
.login-input input::placeholder { color: rgba(0, 0, 0, .25); }
.login-eye { border: 0; background: none; padding: 0; color: rgba(0, 0, 0, .45); display: inline-flex; font-size: 16px; cursor: pointer; }
.login-eye:hover { color: rgba(0, 0, 0, .88); }
.has-err .login-input { border-color: #ff4d4f; }
.has-err .login-input:focus-within { box-shadow: 0 0 0 2px rgba(255, 38, 5, .06); }
.login-err { color: #ff4d4f; font-size: 14px; line-height: 1.5715; min-height: 0; margin-top: 2px; }
.login-err:empty { display: none; }
.login-btn {
  width: 100%; height: 48px; margin-top: 0; border: 0; border-radius: 8px; color: #fff; font-size: 16px; font-weight: 600;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); cursor: pointer; transition: opacity .2s;
}
.login-btn:hover { opacity: .9; }
.login-btn:disabled { opacity: .65; cursor: default; }
.login-btn.loading::before {
  content: ""; display: inline-block; width: 14px; height: 14px; margin-right: 8px; vertical-align: -2px;
  border: 2px solid rgba(255, 255, 255, .5); border-top-color: #fff; border-radius: 50%; animation: login-spin .8s linear infinite;
}
@keyframes login-spin { to { transform: rotate(360deg); } }
.login-link { display: block; margin: 16px auto 0; border: 0; background: none; color: rgba(0, 0, 0, .45); font-size: 14px; cursor: pointer; }
.login-link:hover { color: #1677ff; }
@media (max-width: 575.98px) { .login-card { padding: 40px 24px; } }
