/* ============================================================================
   Jenny ERP 공개 홈페이지 보강(E2.5) — jm-components.css 사이트 블록 + jm-site.css(제니 MES 공유) 위에 얹는 ERP 전용분.
   토큰만 사용(HEX 금지). 라이트/다크 자동(jm-tokens). 배지는 글자 + 아이콘(색만으로 구분하지 않음, KWCAG).
   ========================================================================== */

/* 0. ERP 강조 띠 · 출시 전 안내 띠 */
.jerp-site-header { box-shadow: inset 0 3px 0 var(--jm-erp-accent); }
.jerp-prelaunch { background: var(--jm-surface-inverse); color: var(--jm-text-inverse); font-size: var(--jm-fs-sm); }
.jerp-prelaunch__in { display: flex; align-items: center; gap: var(--jm-sp-2); min-height: 2.5rem; padding-block: var(--jm-sp-2); }
.jerp-prelaunch .jm-icon { flex: none; color: var(--jm-text-inverse); }
.jerp-prelaunch p { margin: 0; }
.jerp-prelaunch a { color: var(--jm-text-inverse); text-decoration: underline; text-underline-offset: 2px; font-weight: var(--jm-fw-semibold); white-space: nowrap; display: inline-flex; align-items: center; min-height: var(--jm-touch-min); }
.jerp-prelaunch a:focus-visible { outline: 3px solid var(--jm-text-inverse); outline-offset: 2px; }
.jerp-site-notices { display: grid; gap: var(--jm-sp-3); padding-block: var(--jm-sp-4) 0; }

/* 1. 상태 배지 */
.jerp-badges { display: flex; flex-wrap: wrap; gap: var(--jm-sp-2); margin: 0; }
.jerp-st { --_st-bg: var(--jm-surface-sunk); --_st-ic: var(--jm-text-muted); --_st-line: var(--jm-line);
  display: inline-flex; align-items: center; gap: var(--jm-sp-1); min-height: 1.75rem; padding: 0 var(--jm-sp-3); border-radius: var(--jm-radius-pill);
  background: var(--_st-bg); color: var(--jm-text); box-shadow: inset 0 0 0 1px var(--_st-line); font-size: var(--jm-fs-sm); font-weight: var(--jm-fw-bold); white-space: nowrap; vertical-align: middle; }
.jerp-st .jm-icon { width: 1rem; height: 1rem; color: var(--_st-ic); }
.jerp-st[data-st="DEMO"] { --_st-bg: var(--jm-primary-soft); --_st-ic: var(--jm-primary-text); --_st-line: var(--jm-primary-soft-line); }
.jerp-st[data-st="READY"] { --_st-bg: var(--jm-success-soft); --_st-ic: var(--jm-success); --_st-line: var(--jm-success); }
.jerp-st[data-st="SOON"] { --_st-bg: var(--jm-info-soft); --_st-ic: var(--jm-info); --_st-line: var(--jm-info); }
.jerp-st[data-st="PREP"] { --_st-bg: var(--jm-surface-sunk); --_st-ic: var(--jm-text-muted); --_st-line: var(--jm-line-strong, var(--jm-line)); box-shadow: inset 0 0 0 1px var(--_st-line); outline: 1px dashed var(--_st-line); outline-offset: -1px; }
.jerp-st[data-st="UNVERIFIED"] { --_st-bg: var(--jm-warning-soft); --_st-ic: var(--jm-warning); --_st-line: var(--jm-warning); }

/* 2. 랜딩 */
.jerp-hero__prelaunch { display: flex; gap: var(--jm-sp-2); align-items: flex-start; margin-top: var(--jm-sp-4); padding: var(--jm-sp-3) var(--jm-sp-4); border-radius: var(--jm-radius-md);
  background: var(--jm-surface); border: var(--jm-bw) dashed var(--jm-line-strong, var(--jm-line)); color: var(--jm-text-muted); font-size: var(--jm-fs-md); max-width: 34rem; }
.jerp-hero__prelaunch .jm-icon { flex: none; margin-top: 2px; color: var(--jm-primary-text); }
.jm-section .jerp-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1023px) { .jm-section .jerp-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .jm-section .jerp-grid-4 { grid-template-columns: minmax(0, 1fr); } }
.jerp-flow { margin: 0; padding: 0; list-style: none; }
.jerp-flow .jm-step p:last-child { margin-top: auto; }
@media (max-width: 599px) { .jerp-flow { grid-template-columns: minmax(0, 1fr); } }

.jerp-flowmap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--jm-sp-4); align-items: center; margin: var(--jm-sp-8) 0 0; }
.jerp-flowmap__box { display: grid; gap: var(--jm-sp-1); padding: var(--jm-sp-5); border-radius: var(--jm-radius-lg); background: var(--jm-surface); border: var(--jm-bw-strong, 2px) solid var(--jm-primary); text-align: center; }
.jerp-flowmap__box--erp { border-color: var(--jm-erp-accent); }
.jerp-flowmap__box b { font-size: var(--jm-fs-lg); }
.jerp-flowmap__box span { font-size: var(--jm-fs-sm); color: var(--jm-text-muted); }
.jerp-flowmap__arrows { display: grid; gap: var(--jm-sp-2); margin: 0; padding: 0; list-style: none; font-size: var(--jm-fs-sm); color: var(--jm-text-muted); }
.jerp-flowmap__arrows li { padding: var(--jm-sp-2) var(--jm-sp-3); border-radius: var(--jm-radius-sm); background: var(--jm-surface-2); }
.jerp-flowmap__arrows span { font-weight: var(--jm-fw-heavy); color: var(--jm-text); }
@media (max-width: 899px) { .jerp-flowmap { grid-template-columns: minmax(0, 1fr); } }

.jerp-scope__list { display: grid; gap: var(--jm-sp-3); margin: 0; padding: 0; list-style: none; max-width: 48rem; }
.jerp-scope__list li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--jm-sp-3); align-items: start; padding: var(--jm-sp-4) var(--jm-sp-5);
  border-radius: var(--jm-radius-md); background: var(--jm-surface); border: var(--jm-bw) solid var(--jm-line); }
.jerp-scope__list .jm-icon { margin-top: 2px; color: var(--jm-text-muted); }
.jerp-common .jm-icon { color: var(--jm-success); }

.jerp-price-sum { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--jm-sp-6); }
.jerp-price-sum > div { display: grid; gap: var(--jm-sp-3); max-width: 44rem; }
.jerp-faq-more { margin-top: var(--jm-sp-6); text-align: center; }
.jerp-login { margin-inline: auto; }

/* 3. 기능 페이지 */
.jerp-note { margin-top: var(--jm-sp-5); padding: var(--jm-sp-4) var(--jm-sp-5); border-radius: var(--jm-radius-md); background: var(--jm-surface-2);
  border-left: 4px solid var(--jm-line-strong, var(--jm-line)); color: var(--jm-text-muted); font-size: var(--jm-fs-md); }
.jerp-note b { display: block; color: var(--jm-text); margin-bottom: var(--jm-sp-1); }
.jerp-soon-detail { display: grid; gap: var(--jm-sp-4); max-width: 56rem; scroll-margin-top: 8rem; }
.jerp-soon-detail .jm-fdetail__points .jm-icon { color: var(--jm-info); }
.jm-fdetail .jerp-badges { margin-bottom: var(--jm-sp-3); }
.jerp-status th[scope="row"] { white-space: normal; font-weight: var(--jm-fw-semibold); min-width: 12rem; }
.jerp-status td { white-space: normal; }
.jerp-status td:last-child { color: var(--jm-text-muted); min-width: 10rem; }

/* 4. 요금 */
.jerp-addon { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--jm-sp-8); align-items: start; }
.jerp-addon__card { grid-template-rows: none; }
.jerp-addon__h { font-size: var(--jm-fs-lg); font-weight: var(--jm-fw-bold); margin-bottom: var(--jm-sp-2); }
.jerp-addon__card .jm-plan__list li > span { display: inline; }
.jerp-addon__card .jm-plan__list .jerp-st { margin-left: var(--jm-sp-1); }
.jerp-addon__cta { display: grid; gap: var(--jm-sp-2); }
.jerp-addon__soon { display: grid; gap: var(--jm-sp-3); padding: var(--jm-sp-6); border-radius: var(--jm-radius-md); background: var(--jm-surface-2); border: var(--jm-bw) dashed var(--jm-line-strong, var(--jm-line)); }
.jerp-soon-list { display: grid; gap: var(--jm-sp-2); margin: 0; padding: 0; list-style: none; }
.jerp-soon-list li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--jm-sp-2); padding: var(--jm-sp-3) var(--jm-sp-4);
  border-radius: var(--jm-radius-sm); background: var(--jm-surface); border: var(--jm-bw) solid var(--jm-line); }
@media (max-width: 899px) { .jerp-addon { grid-template-columns: minmax(0, 1fr); } }
.jerp-matrix th[scope="row"] { white-space: normal; }
.jerp-matrix-wrap:focus-visible { outline: 3px solid var(--jm-focus, var(--jm-primary)); outline-offset: 2px; }

/* 5. 데모 페이지 */
.jerp-demo-notices { display: grid; gap: var(--jm-sp-3); margin-top: var(--jm-sp-5); max-width: 44rem; }
.jerp-demo-notices:empty { display: none; }
.jerp-demo-msg { margin-top: var(--jm-sp-4); font-size: var(--jm-fs-md); color: var(--jm-text); }
.jerp-demo-msg:empty { display: none; }
.jerp-demo-rules { margin-top: 0; }
.jerp-demo-mes { margin-top: var(--jm-sp-5); color: var(--jm-text-muted); }
.jerp-demo-mes a { color: var(--jm-primary-text); font-weight: var(--jm-fw-semibold); display: inline-flex; align-items: center; min-height: var(--jm-touch-min); }

/* 6. 푸터 */
.jerp-footer__family { font-size: var(--jm-fs-sm); color: var(--jm-text-subtle); }
