/* ─────────────────────────────────────────────────────────────────────────────
   theme-refine.css — learnix 톤의 디자인 값 레이어 (2026-09-29)

   - 레이아웃은 건드리지 않고 디자인 값(글꼴·색 톤·모서리·굵기·배지·버튼)만 덮어쓴다.
   - 기존 CSS 는 수정하지 않았다. 이 파일과 pretendard-subset.css 를 빼면 그대로 원복된다.
     켜고 끄기: jspf/static_version.jspf 의 LINXIS_THEME_REFINE (false → 원래 디자인).
   - 반드시 다른 CSS 뒤에 로드한다(같은 선택자는 나중 것이 이긴다).
   ───────────────────────────────────────────────────────────────────────────── */

:root {
  /* T1 글꼴 — Pretendard 가변(동적 서브셋). 가변 굵기라 400~800 이 한글·숫자 모두 고르게 나온다 */
  --font-base: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
  --bs-body-font-family: var(--font-base);
  --bs-font-sans-serif: var(--font-base);

  /* T2 중립 색 톤 — 글자는 중립 검정/회색, 파랑 틴트는 강조에만 */
  --text-primary: #242424;
  --text-secondary: #475467;
  --text-muted: #667085;
  --border-subtle: #e8edf5;
  --bg-subtle: #f8f8fa;
  --ui-bg: #f7f8fa;
  --ui-text: #242424;
  --ui-line: #e4e7ec;
  --slate-900: #1d2939;
  --slate-700: #344054;
  --slate-500: #667085;

  --table-head-bg: #f8f8fa;
  --table-head-fg: #344054;
  --table-head-border: #e8edf5;
  --table-row-alt-bg: #fcfcfd;
  --table-row-hover-bg: #f5f7fb;
  --table-cell-fg: #242424;
  --table-cell-border: #eef1f5;
  --table-head-weight: 600;

  /* T3 모서리 — learnix 값(카드 12 · 모달 16), AM 버튼·입력은 높이가 낮아 10/8 */
  --radius-chip: 6px;
  --radius-input: 8px;
  --radius-card: 12px;
  --radius-modal: 16px;
  --btn-radius: var(--radius-input);   /* 버튼은 button.css 가 --radius-input(8px)을 쓴다 — 같은 값으로 맞춤(2026-10-02, 옛 10px 은 미사용 값) */

  /* 그림자·테두리 — 아주 옅게 */
  --shadow-soft: 0 1px 2px rgba(15, 23, 42, 0.05);
  --shadow-md: 0 4px 14px rgba(15, 23, 42, 0.06);

  /* T4 굵기 체계 */
  --weight-semibold: 600;
  --weight-bold: 700;

  /* T5 배지 — 테두리 없이 옅은 배경 + 진한 글자(learnix 배지 색 쌍) */
  --badge-font-weight: 600;
  --badge-neutral-bg: #f2f4f7;   --badge-neutral-fg: #475467;  --badge-neutral-border: transparent;
  --badge-primary-bg: #eff6ff;   --badge-primary-fg: #1d4ed8;  --badge-primary-border: transparent;
  --badge-success-bg: #ecfdf3;   --badge-success-fg: #15803d;  --badge-success-border: transparent;
  --badge-warn-bg: #fff7ed;      --badge-warn-fg: #c2410c;     --badge-warn-border: transparent;
  --badge-danger-bg: #fef2f2;    --badge-danger-fg: #b42318;   --badge-danger-border: transparent;
  --badge-purple-bg: #f5f3ff;    --badge-purple-fg: #6d28d9;   --badge-purple-border: transparent;

  /* 보조 버튼 — 푸른 회색 대신 중립 흰색/회색 */
  --btn-secondary-bg: #f2f4f7;
  --btn-secondary-border: transparent;
  --btn-secondary-fg: #344054;
  --btn-secondary-bg-hover: #e4e7ec;
  --btn-secondary-border-hover: transparent;
  --btn-outline-bg: #ffffff;
  --btn-outline-fg: #344054;
  --btn-outline-border: #e4e7ec;
  --btn-outline-bg-hover: #f9fafb;
  --btn-outline-border-hover: #d0d5dd;
  --btn-outline-fg-hover: #1d2939;
}

/* ── T1 글꼴 적용 지점(직접 지정돼 있던 곳만 덮어쓴다 — 아이콘 글꼴은 건드리지 않음) ── */
body,
.login-wrap,
.login-wrap input,
.login-wrap button {
  font-family: var(--font-base) !important;
  letter-spacing: -0.01em;
}
input, button, select, textarea, .form-control, .form-select, .btn, .btn-modern {
  font-family: inherit;
}
/* 대시보드가 직접 지정하던 글꼴 */
.kpi-title { font-family: var(--font-base); }

/* ── T2 바탕 ── */
body { background-color: #f7f8fa; }

/* ── T4 제목 굵기 체계: 페이지 제목 800, 카드/구간 제목 700, 라벨 600 ── */
.page-title,
.section-header .page-title { font-weight: 800; letter-spacing: -0.02em; color: #242424; }
.dashboard-panel-header > div:first-child > span,
.card-title,
.modal-title { font-weight: 700; letter-spacing: -0.015em; }
#generalTable thead th { font-weight: 600; }

/* Pretendard 숫자가 조금 넓어 고정 폭 날짜가 잘리던 곳 */
#eoslEquipmentTable.is-eosl th:nth-child(5) { width: 96px; }
.dashboard-activity-item { grid-template-columns: 72px 22px 68px minmax(150px, auto) minmax(0, 1fr) minmax(0, 0.9fr); }
.dashboard-activity-time { white-space: nowrap; }
@media (max-width: 576px) {
  .dashboard-activity-item { grid-template-columns: 22px minmax(0, 1fr) auto; }
}
