/* ============================================================================
   제니 MES 앱 보조 스타일 (P1) - 토큰(--jm-*)만 사용, HEX 없음.
   jm-components.css 에 없는 화면 조립용 클래스만 둔다(인증 카드·준비 중 메뉴·폼 격자·표 도구줄).
   ========================================================================== */

/* 인증 화면(로그인·가입·재설정·초대) */
.jm-auth { min-height: 100vh; display: grid; grid-template-rows: auto 1fr auto; background: var(--jm-bg); }
.jm-auth__head { display: flex; align-items: center; justify-content: space-between; padding: var(--jm-sp-4) var(--jm-gutter-lg); }
.jm-auth__main { display: grid; place-items: start center; padding: var(--jm-sp-8) var(--jm-gutter) var(--jm-sp-12); }
.jm-auth__card { width: min(28rem, 100%); padding: var(--jm-sp-8); display: grid; gap: var(--jm-sp-5); }
.jm-auth__title { font-size: var(--jm-fs-2xl); font-weight: var(--jm-fw-bold); line-height: var(--jm-lh-tight); }
.jm-auth__lead { color: var(--jm-text-muted); font-size: var(--jm-fs-md); }
.jm-auth__links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--jm-sp-2); font-size: var(--jm-fs-sm); }
.jm-auth__links a { color: var(--jm-primary-text); }
.jm-auth__foot { padding: var(--jm-sp-4) var(--jm-gutter); text-align: center; font-size: var(--jm-fs-xs); color: var(--jm-text-subtle); }
.jm-form { display: grid; gap: var(--jm-sp-4); }
.jm-form-summary { display: none; }
.jm-form-summary.is-visible { display: flex; }
.jm-hidden { display: none !important; }
@media (max-width: 599px) {
  .jm-auth__card { padding: var(--jm-sp-5); }
  .jm-auth__head { padding: var(--jm-sp-3) var(--jm-gutter); }
}

/* 앱 셸 - 아직 열리지 않은 단계의 메뉴(07: P2 이후 메뉴 "준비 중") */
.jm-nav__item[aria-disabled="true"] { color: var(--jm-text-disabled); cursor: default; }
.jm-nav__item[aria-disabled="true"]:hover { background: none; color: var(--jm-text-disabled); }
.jm-nav__soon { margin-left: auto; font-size: var(--jm-fs-xs); color: var(--jm-text-subtle); font-weight: var(--jm-fw-medium); }
@media (max-width: 1023px) {
  .jm-nav__item[aria-disabled="true"] { display: none; }
  .jm-sidebar > nav { display: flex; gap: var(--jm-sp-1); }
}
.jm-topbar__me { display: flex; align-items: center; gap: var(--jm-sp-2); }
.jm-topbar__me-text { display: grid; line-height: var(--jm-lh-snug); font-size: var(--jm-fs-sm); }
.jm-topbar__me-text span { color: var(--jm-text-subtle); font-size: var(--jm-fs-xs); }
@media (max-width: 899px) { .jm-topbar__me-text { display: none; } }

/* 설정 폼 격자 */
.jm-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--jm-sp-4) var(--jm-sp-5); }
.jm-form-grid__full { grid-column: 1 / -1; }
@media (max-width: 767px) { .jm-form-grid { grid-template-columns: minmax(0, 1fr); } }
.jm-card__body--pad { padding: var(--jm-sp-5); display: grid; gap: var(--jm-sp-5); }
.jm-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--jm-sp-2); }
.jm-dl-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: var(--jm-sp-3); }
.jm-dl-grid div { display: grid; gap: 2px; }
.jm-dl-grid dt { font-size: var(--jm-fs-sm); color: var(--jm-text-subtle); }
.jm-dl-grid dd { font-weight: var(--jm-fw-semibold); }

/* 표 도구줄·페이지네이션 */
.jm-toolbar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--jm-sp-3); padding: var(--jm-sp-4) var(--jm-sp-5); border-bottom: var(--jm-bw) solid var(--jm-line); }
.jm-toolbar .jm-field { min-width: 10rem; }
.jm-toolbar__grow { flex: 1 1 14rem; }
.jm-pager { display: flex; align-items: center; justify-content: space-between; gap: var(--jm-sp-3); padding: var(--jm-sp-3) var(--jm-sp-5); font-size: var(--jm-fs-sm); color: var(--jm-text-muted); }
.jm-row-actions { display: flex; gap: var(--jm-sp-2); justify-content: flex-end; flex-wrap: wrap; }
@media (max-width: 599px) {
  .jm-table [data-priority="3"] { display: none; }
}

/* 다이얼로그 안의 폼 */
.jm-dialog .jm-form { padding: 0 var(--jm-sp-5) var(--jm-sp-5); }
