/* ---------------------------------------------------------------------------
 * Form_Login.xfdl 변환본 전용 스타일.
 * 원본은 Nexacro 절대좌표 (left/top/width/height) + boxShadow 로 풀스크린 가운데
 * 408x300 흰 카드를 그렸음. 여기서는 fragment 가 .page-box 안에 주입되는 구조라
 * 카드 영역만 fragment 가 점유하고, 풀스크린 그라데이션은 .form-login-screen 이
 * 절대 위치로 덮는다. 사이드바/헤더는 그대로 노출 — gift-was-mvc 컨벤션과 정합.
 * --------------------------------------------------------------------------- */
/* 비로그인 게이트 — 로그인 화면을 풀스크린으로 띄우기 위해 앱 크롬(헤더·사이드바·탭바)을 모두 숨긴다.
 * login-gate.js 가 body.rh-logged-out 를 토글한다(부팅 시 비로그인이면 부여, afterLogin 에서 제거).
 * 이 요소들은 page-box 밖(.admin-wrap/.admin-main)이라 fragment 스코프로는 못 닿으므로 body 레벨로 제어.
 * display:none 토글은 layout.css 기본값/탭바 JS 클래스(.is-hide·.sticky) 변동을 확실히 덮도록 !important. */
body.rh-logged-out .admin-header,
body.rh-logged-out .admin-sidebar,
body.rh-logged-out .pagetab {
  display: none !important;
}
/* 헤더(64px)를 잘라냈으므로 .admin-main 의 height:calc(100vh - 64px) → 100vh 로 회수(하단 빈 공간 방지) */
body.rh-logged-out .admin-main {
  height: 100vh;
}
/* 탭바(48px) 자리 + 좌우 24px 거터 + 상단 28px 패딩 제거 → 그라데이션을 화면 끝까지 풀블리드 */
body.rh-logged-out .admin-content .admin-wrap {
  padding: 0;
}
body.rh-logged-out .page {
  padding-top: 0;
}
/* 크롬이 전부 사라졌으니 로그인 카드 영역(.form-login-screen 의 inset:0 기준)은 뷰포트 전체 높이 */
body.rh-logged-out .page-box[data-fragment="form-login"] {
  min-height: 100vh;
}

.form-login-screen {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #1f2a44 0%, #2c4368 45%, #4f6b96 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px;
  overflow: auto;
}

/* .page-box 의 기본 padding 제거 + 콘텐츠 영역 높이 확보.
 * .page/.page-box 는 height:auto 인데, 유일한 자식 .form-login-screen 이 position:absolute 라
 * page-box 가 0 높이로 붕괴해 inset:0 기준이 사라진다(입력 영역이 세로로 눌리는 원인).
 * 헤더(64) + 페이지탭(48) + .page 상단패딩(28) = 140px 를 뺀 만큼 min-height 를 줘 채운다. */
.page-box[data-fragment="form-login"] {
  padding: 0 !important;
  position: relative;
  min-height: calc(100vh - 140px);
}

/* 원본 ImageViewer#img01 (360x84, 카드 위 90px) 대체. 테마 이미지 없으므로 텍스트 로고 */
.form-login-logo {
  width: 360px;
  height: 84px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 32px;
}
.form-login-logo-text {
  color: #ffffff;
  font-family: 'Pretendard', 'Malgun Gothic', sans-serif;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 1px;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.form-login-logo-text small {
  display: block;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 4px;
  opacity: 0.75;
  margin-top: 4px;
  text-align: center;
}

/* 원본 Static#stc00: width=408, height=300, background=#ffffff, boxShadow=0px 0px 15px hsla(0,0%,0%,0.3) */
.form-login-card {
  width: 408px;
  /* 원본은 height: 300px 고정이었으나 버튼 영역 포함을 위해 약간 키움 */
  background: #ffffff;
  box-shadow: 0px 0px 15px hsla(0, 0%, 0%, 0.3);
  padding: 40px 56px;
  box-sizing: border-box;
}

/* 원본 Edit#editID, #editPW: 295x40, 20px Malgun Gothic, border="0 0 0, 2px dashed #6d6d6d" */
.form-login-card .form-login-input {
  display: block;
  width: 295px;
  max-width: 100%;
  height: 40px;
  padding: 4px 0;
  margin: 0 auto 12px auto;
  background: transparent;
  border: 0;
  border-bottom: 2px dashed #6d6d6d;
  font-family: 'Pretendard', 'Malgun Gothic', sans-serif;
  font-size: 20px;
  color: #222;
  outline: none;
  box-sizing: border-box;
}
.form-login-card .form-login-input:focus {
  border-bottom-color: #2c4368;
}
.form-login-card .form-login-input::placeholder {
  color: #b0b0b0;
}

/* 원본 Button#btnLogin: 295x40, cssclass=btn_login, 15px Malgun Gothic */
.form-login-card .form-login-submit {
  display: block;
  width: 295px;
  max-width: 100%;
  height: 40px;
  margin: 24px auto 0 auto;
  background: #2c4368;
  color: #ffffff;
  border: 0;
  font-family: 'Pretendard', 'Malgun Gothic', sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 2px;
  cursor: pointer;
  transition: background 0.15s ease;
}
.form-login-card .form-login-submit:hover {
  background: #1f2a44;
}
.form-login-card .form-login-submit:disabled {
  background: #8b95a8;
  cursor: not-allowed;
}

/* 원본 Button#btn_join (90x27) + #btn_changePwd (110x27): 카드 하단 좌우 배치 */
.form-login-card .form-login-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 295px;
  max-width: 100%;
  margin: 18px auto 0 auto;
}
.form-login-card .form-login-link {
  background: transparent;
  border: 0;
  color: #4f6b96;
  cursor: pointer;
  font-family: 'Pretendard', 'Malgun Gothic', sans-serif;
  font-size: 13px;
  letter-spacing: -1px;
  padding: 4px 0;
  text-decoration: none;
}
.form-login-card .form-login-link:hover {
  color: #1f2a44;
  text-decoration: underline;
}
