/* 국가연구안전정보시스템 감성 디자인 시스템 */
:root {
  --input-radius: 8px;  /* KEY-IN 박스 모서리 단일 제어 — 아래 '폼 컨트롤 단일 출처' 블록이 사용. 산업 스킨은 0으로 재정의 */
  /* 브랜드 색상은 JS(테넌트 설정)가 documentElement 인라인으로 덮어쓴다.
     JS 실행 전/설정 누락 시에도 무효값이 되지 않도록 기본 Teal을 정의해 둔다. */
  --primary-color: #0d9488; /* 메인 Teal 컬러 */
  --primary-dark: #0f766e;
  --secondary-color: #f4f7f6; /* 배경 연그레이 */
  --accent-orange: #ff9800;
  --accent-green: #4caf50;
  --accent-blue: #2196f3;
  --text-main: #263238;
  --text-sub: #607d8b;
  --white: #ffffff;
  --card-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  --border-radius: 12px;
  --transition: all 0.3s ease;

  /* 시맨틱 변수 — 모듈 인라인 스타일에서 사용. 다크모드에서 함께 재정의된다. */
  --bg-card: #ffffff;        /* 카드/셀 기본 배경 */
  --bg-subtle: #f8fafc;      /* 표 헤더·줄무늬 등 옅은 배경 */
  --bg-muted: #f1f5f9;       /* 비활성·구분 배경 */
  --border-color: #e2e8f0;   /* 기본 테두리 */
  --border-strong: #cbd5e1;  /* 진한 테두리 */
  --text-secondary: #475569; /* 보조 본문 */
  --text-tertiary: #64748b;  /* 라벨·캡션 */
  --text-faint: #94a3b8;     /* 흐린 안내 텍스트 */
  --bg-danger-soft: #fef2f2; /* 상태 틴트(연한 배경) */
  --bg-success-soft: #f0fdf4;
  --bg-info-soft: #eff6ff;
  --bg-warn-soft: #fffbeb;
  /* 본문 폰트 단일 토큰 — 폰트 교체는 여기 + skin-industrial.css의 --sans 두 줄만 고치면 전 화면 반영 */
  --sans: 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, system-ui, 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
}

@font-face {
  font-family: 'Pretendard';
  src: url('https://cdn.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Regular.woff') format('woff');
  font-weight: 400;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: var(--sans);
}

body {
  background-color: var(--secondary-color);
  color: var(--text-main);
  overflow-x: hidden;
}

/* 상단 메인 헤더 */
.main-header {
  height: 70px;
  background: var(--white);
  border-bottom: 2px solid var(--primary-color);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 40px;
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.logo-section {
  display: flex;
  align-items: center;
  gap: 12px;
}

.logo-section img {
  height: 44px !important;
  max-height: 44px !important;
  width: auto !important;
  max-width: 200px;
  object-fit: contain;
}

.system-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--primary-color);
  letter-spacing: -0.5px;
}

/* 상단 메인 내비게이션 */
.top-nav {
  margin-left: 16px;
  display: flex;
  gap: 16px;
  align-items: center;
}

.nav-group {
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: nowrap;
}

.nav-main {
  color: var(--text-main);
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  white-space: nowrap;          /* 라벨이 단어 중간에서 깨지지 않게 */
  border-bottom: 3px solid transparent;
  transition: var(--transition);
}

.nav-main:hover, .nav-main.active {
  color: var(--primary-color);
  border-bottom-color: var(--primary-color);
}

/* 헤더 우측 유틸 버튼: 좁은 폭에서도 라벨이 줄바꿈되지 않게 */
#user-info-bar button { white-space: nowrap; flex-shrink: 0; }

/* 가로형 서브 내비게이션 바 (LNB) */
.sub-nav-bar {
  background: var(--white);
  border-bottom: 1px solid #e2e8f0;
  height: 50px;
  display: flex;
  align-items: center;
  padding: 0 40px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.02);
}

.sub-nav-container {
  display: flex;
  gap: 10px;
  max-width: 1600px;
  margin: 0 auto;
  width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
}
.sub-nav-container::-webkit-scrollbar { display: none; }

.sub-nav-bar .nav-item {
  padding: 0 20px;
  height: 50px;
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: 600;
  color: #64748b;
  position: relative;
  transition: var(--transition);
}

.sub-nav-bar .nav-item:hover, .sub-nav-bar .nav-item.active {
  color: var(--primary-color);
  background: none;
}

.sub-nav-bar .nav-item.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--primary-color);
}

/* ── 내부 탭 배치 통일 (보건상담 완성형 기준) — 메뉴마다 제각각이던 6종 내부탭을 한 글자 스타일로 ──
   인라인으로만 그려져 있어 !important로 정규화(치수/구조는 각 컨테이너 유지, 텍스트만 통일). */
/* ── 모듈 내부 탭(3단) 통일 — L2 서브내비와 동일한 밑줄 탭 룩 + 다크모드 ──
   6종(hc-checkup/hc-counseling/env-subtab/sc-inner/hp-inner/ir-tab)을 한 룩으로.
   인라인 스타일을 이기도록 !important 사용. HTML/JS(active 토글)는 그대로. */
.hc-counseling-tab, .hp-inner-tab, .hc-checkup-tab, .env-subtab, .sc-inner-tab, .ir-tab-btn {
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 9px 16px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--text-tertiary) !important;
  background: none !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  transition: var(--transition) !important;
}
.hc-counseling-tab:hover, .hp-inner-tab:hover, .hc-checkup-tab:hover,
.env-subtab:hover, .sc-inner-tab:hover, .ir-tab-btn:hover {
  color: var(--primary-color) !important;
}
.hc-counseling-tab.active, .hp-inner-tab.active, .hc-checkup-tab.active,
.env-subtab.active, .sc-inner-tab.active, .ir-tab-btn.active {
  color: var(--primary-color) !important;
  font-weight: 700 !important;
  border-bottom-color: var(--primary-color) !important;
}
body.dark-mode .hc-counseling-tab, body.dark-mode .hp-inner-tab, body.dark-mode .hc-checkup-tab,
body.dark-mode .env-subtab, body.dark-mode .sc-inner-tab, body.dark-mode .ir-tab-btn {
  color: #64748b !important;
}
body.dark-mode .hc-counseling-tab.active, body.dark-mode .hp-inner-tab.active,
body.dark-mode .hc-checkup-tab.active, body.dark-mode .env-subtab.active,
body.dark-mode .sc-inner-tab.active, body.dark-mode .ir-tab-btn.active {
  color: #38bdf8 !important;
  border-bottom-color: #38bdf8 !important;
}

/* 공용 내부 탭 클래스 — 위 6종과 동일 룩(보건상담 기준). 인라인 탭을 이걸로 전환. */
.sub-tab {
  cursor: pointer !important; display: inline-flex !important; align-items: center !important;
  padding: 9px 16px !important; font-size: 14px !important; font-weight: 600 !important;
  color: var(--text-tertiary) !important; background: none !important; border: none !important;
  border-bottom: 2px solid transparent !important; border-radius: 0 !important; transition: var(--transition) !important;
}
.sub-tab:hover { color: var(--primary-color) !important; }
.sub-tab.active { color: var(--primary-color) !important; font-weight: 700 !important; border-bottom-color: var(--primary-color) !important; }
body.dark-mode .sub-tab { color: #64748b !important; }
body.dark-mode .sub-tab.active { color: #38bdf8 !important; border-bottom-color: #38bdf8 !important; }

/* 메인 컨테이너 레이아웃 */
.dashboard-container {
  padding: 30px 40px;
  max-width: 1600px;
  margin: 0 auto;
}

/* 요약 카드 그리드 */
.summary-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 30px;
}

.stat-card {
  background: var(--white);
  padding: 24px;
  border-radius: var(--border-radius);
  box-shadow: var(--card-shadow);
  display: flex;
  flex-direction: column;
  gap: 8px;
  border-left: 5px solid var(--primary-color);
}

.stat-label {
  font-size: 14px;
  color: var(--text-sub);
  font-weight: 600;
}

.stat-value {
  font-size: 28px;
  font-weight: 700;
  color: var(--text-main);
}

/* 메인 명단 카드 */
.content-card {
  background: var(--white);
  border-radius: var(--border-radius);
  box-shadow: var(--card-shadow);
  padding: 0;
  overflow: hidden;
  margin-bottom: 30px;
}

.card-header {
  padding: 20px 30px;
  background: #f8fafb;
  border-bottom: 1px solid #edf2f7;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.card-title {
  font-size: 18px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 10px;
}

.card-title::before {
  content: '';
  width: 4px;
  height: 18px;
  background: var(--primary-color);
  border-radius: 2px;
}

/* 테이블 디자인 */
.chem-frozen-cell { background: #fff; }
tr:hover .chem-frozen-cell { background: #f8fafc; }
body.dark-mode .chem-frozen-cell { background: #1e293b; }
body.dark-mode tr:hover .chem-frozen-cell { background: #1e3a5f; }

/* 법정 안전검사 / 인증관리대장 — 전체 명단 표와 형식 통일 */
#si-manage-table thead th,
#sc-manage-table thead th {
  background: #f1f5f9;
  color: #475569;
  font-weight: 700;
  padding: 12px 8px;
  text-align: center;
  border: 1px solid #e2e8f0;
  border-bottom: 2px solid #cbd5e1;
  white-space: nowrap;
}
#si-manage-table tbody td,
#sc-manage-table tbody td {
  padding: 8px;
  border: 1px solid #e2e8f0;
  color: #334155;
  font-size: 12.5px;
}
#si-manage-table tbody tr:nth-child(even),
#sc-manage-table tbody tr:nth-child(even) {
  background: #fafafa;
}
#si-manage-table tbody tr:hover,
#sc-manage-table tbody tr:hover {
  background: #f1f5f9;
}
body.dark-mode #si-manage-table tbody tr:nth-child(even),
body.dark-mode #sc-manage-table tbody tr:nth-child(even) {
  background: #1e293b;
}
body.dark-mode #si-manage-table tbody tr:hover,
body.dark-mode #sc-manage-table tbody tr:hover {
  background: #1e3a5f;
}

.table-wrapper {
  padding: 0;
  overflow-x: auto;
  overflow-y: auto;
  max-height: calc(100vh - 240px);
  position: relative;
}
.table-wrapper thead {
  position: sticky;
  top: 0;
  z-index: 20;
}
.table-wrapper thead th {
  background: #f1f5f9;
  position: sticky;
  top: 0;
  z-index: 20;
}
body.dark-mode .table-wrapper thead th { background: #162032; }

/* 테이블 레이아웃 고정 */
table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13.5px;
  table-layout: fixed;
}


/* 각 컬럼 너비 강제 지정 (총 100%) */
th:nth-child(1) { width: 45px; }  /* 연번 */
th:nth-child(2) { width: 65px; }  /* 지역 */
th:nth-child(3) { width: 130px; } /* 팀 (여유있게) */
th:nth-child(4) { width: 120px; } /* 담당 */
th:nth-child(5) { width: 65px; }  /* 구분 */
th:nth-child(6) { width: 75px; }  /* 직급 */
th:nth-child(7) { width: 85px; }  /* 사번 */
th:nth-child(8) { width: 85px; }  /* 성명 */
th:nth-child(9) { width: 55px; }  /* 성별 */
th:nth-child(10) { width: 100px; } /* 입사일 */
th:nth-child(11) { width: 95px; }  /* 근속 (10년 10개월 등 대비) */
th:nth-child(12) { width: 100px; } /* 생년월일 */
th:nth-child(13) { width: 60px; }  /* 만나이 */
th:nth-child(14) { width: 110px; } /* 안전보건 */
th:nth-child(15) { width: 55px; }  /* 결혼 */
th:nth-child(16) { width: 80px; }  /* 배우자 */
th:nth-child(17) { width: 70px; }  /* 관리 */

thead th {
  background: #f1f5f9;
  color: #475569;
  font-weight: 700;
  padding: 12px 8px;
  text-align: center;
  position: sticky;
  top: 0;
  z-index: 10;
  border: 1px solid #e2e8f0;
  border-bottom: 2px solid #cbd5e1;
  white-space: nowrap;
  overflow: visible;
  text-overflow: ellipsis;
}

/* 컬럼 크기 조절 핸들 */
.resizer {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 8px; /* 더 넓게 */
  background: transparent;
  cursor: col-resize;
  z-index: 100; /* 최상단 */
}

.resizer:hover, .resizing .resizer {
  border-right: 3px solid var(--primary-color);
}

.resizing {
  cursor: col-resize;
  user-select: none;
}

tbody td {
  padding: 10px 8px;
  text-align: center;
  color: #334155;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border: 1px solid #e2e8f0;
}

tbody tr {
  border-bottom: 1px solid #e2e8f0;
}

tbody tr:nth-child(even) {
  background: #fafafa;
}

/* 편집 모드 입력창 스타일 최적화 */
.edit-input,
.org-level-select {
  width: 100%;
  height: 28px;
  padding: 2px 5px;
  border: 1px solid var(--primary-color);
  border-radius: 4px;
  font-size: 13px;
  outline: none;
  background-color: #f0fdfa;
  box-sizing: border-box;
}

.editing-row td {
  padding: 5px 4px !important; /* 편집 시 높이 증가 억제 */
}

/* 버튼 스타일 */
.btn {
  padding: 8px 16px;
  border-radius: 8px;          /* 인라인 표준(8px)에 맞춤 */
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: var(--transition);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
}

.btn-primary { background: var(--primary-color); color: var(--white); }
.btn-primary:hover { background: var(--primary-dark); transform: translateY(-1px); }

.btn-excel { background: var(--primary-color); color: var(--white); }
.btn-excel:hover { background: #0f766e; }

/* ── 표준 컴포넌트 (인라인 대체용) — 토큰 기반이라 다크모드 자동 적용 ──
   버튼 변형·입력·카드. 신규/전환 코드는 인라인 대신 이 클래스를 쓸 것. */
.btn-outline { background: var(--bg-card); color: var(--text-secondary); border: 1px solid var(--border-color); }
.btn-outline:hover { border-color: var(--primary-color); color: var(--primary-color); }
.btn-secondary { background: var(--bg-muted); color: var(--text-secondary); }
.btn-secondary:hover { background: var(--border-color); }
.btn-danger { background: #ef4444; color: #fff; }
.btn-danger:hover { background: #dc2626; }
.btn-sm { padding: 5px 10px; font-size: 12px; }

/* ═══ 버튼 단일 정의 확장(2026-07-06 디자인 정리) — 인라인 버튼 8대 원형을 전부 커버.
   ⚠️ 버튼 모양 변경은 여기(462~아래)서만. 새 코드는 <button style=""> 금지, .btn+변형 사용.
   산업 스킨 톤은 skin-industrial.css의 동명 변형 블록이 담당(스킨 OFF 시 여기가 기본). ═══ */
.btn-ghost { background: none; color: var(--text-secondary); }
.btn-ghost:hover { background: var(--bg-muted); color: var(--text-main); }
.btn-success { background: #10b981; color: #fff; }
.btn-success:hover { background: #059669; }
.btn-info { background: #0369a1; color: #fff; }
.btn-info:hover { background: #075985; }
.btn-soft-danger { background: #fee2e2; color: #dc2626; }
.btn-soft-danger:hover { background: #fecaca; }
.btn-soft-info { background: #eef2ff; color: #4338ca; }
.btn-soft-info:hover { background: #e0e7ff; }
.btn-warn { background: #d97706; color: #fff; }
.btn-warn:hover { background: #b45309; }
.btn-soft-warn { background: #fef3c7; color: #b45309; }
.btn-soft-warn:hover { background: #fde68a; }
.btn-xs { padding: 3px 8px; font-size: 11.5px; }
/* 이관 예외(의도적 인라인 유지): ①프로세스맵 에디터 도구 팔레트(도구색=기능 정보)
   ②다크 모달헤더 위 반투명 ✕/다운로드 버튼(rgba 흰색 — 맥락 전용) */

.input, .select, .textarea {
  width: 100%;
  padding: 10px 12px;          /* 인라인 표준 입력 패딩 */
  border: 1px solid var(--border-color);
  border-radius: 8px;
  font-size: 14px;
  font-family: inherit;
  color: var(--text-main);
  background: var(--bg-card);
  outline: none;
  box-sizing: border-box;
  transition: var(--transition);
}
.input:focus, .select:focus, .textarea:focus { border-color: var(--primary-color); }
.textarea { resize: vertical; }

/* ═══════════════════════════════════════════════════════════════════════════
   폼 컨트롤(KEY-IN 박스) 단일 출처 — input · select · textarea 통일
   ---------------------------------------------------------------------------
   앱 전역 입력박스의 모서리·글꼴·박스모델을 여기 한 곳에서 통제한다.
   인라인 style로 흩어진 302곳(border-radius:8px 등)을 !important로 통일 —
   마크업은 안 건드린다. 모서리는 --input-radius 토큰(기본 8px / 산업 스킨=0)이라
   스킨별로 이 토큰만 바꾸면 전 입력박스가 함께 바뀐다.
   ⚠️ 테두리(border)·배경은 손대지 않는다 — border:none 입력(검색칸·기준일 12곳)과
      강조 테두리(border-strong)를 보존하기 위해 인라인에 맡긴다.
   제외 타입: checkbox·radio·color·file·range·submit·button (모서리·글꼴 통일 대상 아님).
   ═══════════════════════════════════════════════════════════════════════════ */
input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="image"]),
select,
textarea {
  border-radius: var(--input-radius, 8px) !important;  /* 인라인 8px를 이기려면 !important */
  font-family: inherit;   /* UA 기본 폰트만 잡음(비-important) — 인라인 monospace 지정은 보존 */
  box-sizing: border-box;
}

.card {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--border-radius);
  padding: 20px;
  box-shadow: var(--card-shadow);
}

/* 검색 및 필터 바 */
.action-bar {
  display: flex;
  gap: 15px;
  align-items: center;
}

.search-input-group {
  position: relative;
  width: 300px;
}

.search-input-group input {
  width: 100%;
  padding: 10px 15px 10px 40px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  outline: none;
  transition: var(--transition);
}

.search-input-group input:focus {
  border-color: var(--primary-color);
  box-shadow: 0 0 0 3px rgba(0, 151, 167, 0.1);
}

.search-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #94a3b8;
}

/* 드래그 상태 */
.dragging { opacity: 0.5; background: #f1f5f9 !important; }
.drag-over { border-top: 2px solid var(--primary-color) !important; }

/* 테이블 헤더 필터 스타일 */
.filter-icon {
  display: inline-block;
  margin-left: 5px;
  cursor: pointer;
  color: #94a3b8;
  font-size: 10px;
  transition: var(--transition);
}

.filter-icon:hover, .filter-icon.active {
  color: var(--primary-color);
}

.filter-popup {
  position: fixed;
  background: white;
  border-radius: 8px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
  padding: 15px;
  z-index: 3000;
  min-width: 180px;
  max-height: 300px;
  overflow-y: auto;
  border: 1px solid #e2e8f0;
  display: none;
  flex-direction: column;
  gap: 10px;
}

.filter-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  cursor: pointer;
  padding: 4px 0;
}

.filter-item input { cursor: pointer; }

.filter-footer {
  display: flex;
  gap: 5px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #eee;
}

.modal-content {
  background: var(--white);
  padding: 30px;
  border-radius: var(--border-radius);
  width: 450px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.2);
  animation: slideUp 0.3s ease-out;
}

@keyframes fadeIn  { from { opacity: 0; } to { opacity: 1; } }
@keyframes pmFadeIn { from { opacity:0; transform:translateX(-50%) translateY(8px); } to { opacity:1; transform:translateX(-50%) translateY(0); } }
@keyframes slideUp { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

.modal-header {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 20px;
  color: var(--primary-color);
}

.form-group {
  margin-bottom: 15px;
}

.form-group label {
  display: block;
  font-size: 13px;
  color: var(--text-sub);
  margin-bottom: 5px;
  font-weight: 600;
}

.form-group input, .form-group textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 6px;
  outline: none;
}

/* 부서별 대시보드 커스텀 */
.dept-dashboard {
  padding: 30px;
  background: #f8fafb;
}

.dept-card {
  background: var(--white);
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 15px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  border-left: 4px solid #cbd5e1;
}

.dept-card:hover {
  border-left-color: var(--primary-color);
  transform: translateX(5px);
}

/* 모달 오버레이 (팝업창 숨김 및 중앙 정렬 필수 스타일) */
.modal-overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: none; /* 기본 숨김 */
  justify-content: center;
  align-items: center;
  z-index: 5000; /* 기본 모달 */
  backdrop-filter: blur(4px);
  animation: fadeIn 0.2s ease-out;
}

/* 알림/확인 전용 모달은 더 높은 우선순위 부여 */
#common-confirm-modal {
  z-index: 9999 !important;
}

/* 팝업이 활성화되었을 때만 보이도록 설정 */
.modal-overlay[style*="display: flex"],
.modal-overlay[style*="display:flex"] {
  display: flex !important;
}

/* ─── 다크 모드 ─────────────────────────────────────────────────── */
body.dark-mode {
  --primary-color: #38bdf8;
  --primary-dark:  #0ea5e9;
  --secondary-color: #0f172a;
  --text-main: #e2e8f0;
  --text-sub:  #94a3b8;
  --white: #1e293b;
  --card-shadow: 0 4px 20px rgba(0,0,0,0.4);

  /* 시맨틱 변수 다크 팔레트 */
  --bg-card: #1e293b;
  --bg-subtle: #162032;
  --bg-muted: #1e293b;
  --border-color: #334155;
  --border-strong: #475569;
  --text-secondary: #cbd5e1;
  --text-tertiary: #94a3b8;
  --text-faint: #64748b;
  --bg-danger-soft: #3f1d1d;
  --bg-success-soft: #122b1e;
  --bg-info-soft: #0d1a2d;
  --bg-warn-soft: #2d2310;

  background-color: #0f172a;
  color: #e2e8f0;
}

/* 헤더 */
body.dark-mode .main-header {
  background: #1e293b;
  border-bottom-color: #38bdf8;
  box-shadow: 0 2px 10px rgba(0,0,0,0.4);
}
body.dark-mode .system-title { color: #38bdf8; }
body.dark-mode .nav-main { color: #cbd5e1; }
body.dark-mode .nav-main:hover, body.dark-mode .nav-main.active {
  color: #38bdf8;
  border-bottom-color: #38bdf8;
}

/* 서브 내비게이션 */
body.dark-mode .sub-nav-bar {
  background: #1e293b;
  border-bottom-color: #334155;
}
body.dark-mode .sub-nav-bar .nav-item { color: #64748b; }
body.dark-mode .sub-nav-bar .nav-item:hover,
body.dark-mode .sub-nav-bar .nav-item.active { color: #38bdf8; }
body.dark-mode .sub-nav-bar .nav-item.active::after { background: #38bdf8; }

/* 요약 카드 */
body.dark-mode .stat-card {
  background: #1e293b;
  border-left-color: #38bdf8;
}
body.dark-mode .stat-label { color: #94a3b8; }
body.dark-mode .stat-value { color: #e2e8f0; }

/* 메인 카드 */
body.dark-mode .content-card { background: #1e293b; }
body.dark-mode .card-header {
  background: #162032;
  border-bottom-color: #334155;
}
body.dark-mode .card-title { color: #e2e8f0; }
body.dark-mode .card-title::before { background: #38bdf8; }

/* 테이블 */
body.dark-mode thead th {
  background: #162032 !important;
  color: #94a3b8 !important;
  border-color: #334155 !important;
}
body.dark-mode tbody td { color: #cbd5e1; background: transparent; border-color: #1e293b !important; }
body.dark-mode tbody tr { border-bottom-color: #1e293b !important; }
body.dark-mode tbody tr:nth-child(even) td { background: #162032; }
body.dark-mode tbody tr:hover td { background: #1e3a5f !important; }
body.dark-mode .table-wrapper { background: #1e293b; }
body.dark-mode tr[style*="background:#f0f9ff"],
body.dark-mode tr[style*="background: #f0f9ff"],
body.dark-mode tr[style*="background:#f8fafc"],
body.dark-mode tr[style*="background:#f1f5f9"] { background: #0d1a2d !important; }
body.dark-mode tr[style*="background:#f0f9ff"] td,
body.dark-mode tr[style*="background: #f0f9ff"] td { background: transparent !important; }

/* 검색 입력 */
body.dark-mode .search-input-group input {
  background: #334155;
  color: #e2e8f0;
  border-color: #475569;
}
body.dark-mode .search-input-group input:focus {
  border-color: #38bdf8;
  box-shadow: 0 0 0 3px rgba(56,189,248,0.1);
}
body.dark-mode .search-input-group input::placeholder { color: #64748b; }

/* 편집 입력 */
body.dark-mode .edit-input,
body.dark-mode .org-level-select {
  background: #1e3a5f;
  border-color: #38bdf8;
  color: #e2e8f0;
}

/* 체크박스 다크모드 */
body.dark-mode input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  border: 2px solid #475569;
  border-radius: 3px;
  background: #1e293b;
  cursor: pointer;
  position: relative;
  vertical-align: middle;
  flex-shrink: 0;
}
body.dark-mode input[type="checkbox"]:checked {
  background: #38bdf8;
  border-color: #38bdf8;
}
body.dark-mode input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 3px;
  top: 0px;
  width: 5px;
  height: 9px;
  border: 2px solid #0f172a;
  border-top: none;
  border-left: none;
  transform: rotate(45deg);
}

/* 전역 input / textarea / select */
body.dark-mode input:not([type="color"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]),
body.dark-mode textarea,
body.dark-mode select {
  background: #1e293b !important;
  color: #e2e8f0 !important;
  border-color: #475569 !important;
}
body.dark-mode textarea::placeholder,
body.dark-mode input::placeholder { color: #64748b !important; }

/* 모달 */
body.dark-mode .modal-overlay { background: rgba(0,0,0,0.75); }
body.dark-mode .modal-content {
  background: #1e293b;
  color: #e2e8f0;
}
.chat-input-bar { background: #f1f5f9; border: 1px solid #e2e8f0; border-radius: 16px; padding: 8px 12px; display: flex; align-items: flex-end; gap: 8px; }
body.dark-mode .chat-input-bar { background: #0f172a; border-color: #334155; }
body.dark-mode .chat-input-bar textarea { color: #e2e8f0; }
body.dark-mode .chat-input-bar textarea::placeholder { color: #64748b; }
body.dark-mode .modal-header { color: #38bdf8; }
body.dark-mode .form-group label { color: #94a3b8; }
body.dark-mode .form-group input,
body.dark-mode .form-group textarea {
  background: #334155;
  color: #e2e8f0;
  border-color: #475569;
}

/* 필터 팝업 */
body.dark-mode .filter-popup {
  background: #1e293b;
  border-color: #334155;
}
body.dark-mode .filter-item { color: #cbd5e1; }
body.dark-mode .filter-footer { border-top-color: #334155; }

/* 버튼 비활성 색 보정 */
body.dark-mode .btn-primary { background: #0284c7; }
body.dark-mode .btn-primary:hover { background: #0369a1; }

/* 스크롤바 */
body.dark-mode ::-webkit-scrollbar-track { background: #0f172a; }
body.dark-mode ::-webkit-scrollbar-thumb { background: #334155; border-radius: 4px; }
body.dark-mode ::-webkit-scrollbar-thumb:hover { background: #475569; }

/* 전체 레이아웃 배경 */
body.dark-mode,
body.dark-mode html,
body.dark-mode main,
body.dark-mode .dashboard-container { background-color: #0f172a; }

/* 인라인 스타일이 많은 뷰 영역 — 배경만 어둡게 */
body.dark-mode .view-section { background: #0f172a; }

/* 부서별 대시보드 */
body.dark-mode .dept-dashboard { background: #0f172a; }
body.dark-mode .dept-card {
  background: #1e293b;
  border-left-color: #334155;
}
body.dark-mode .dept-card:hover { border-left-color: #38bdf8; }

/* 안전인증 탭바 */
body.dark-mode #view-safety-cert > div[style*="background:white"] {
  background: #1e293b !important;
  border-bottom-color: #334155 !important;
}

/* 인라인 스타일 흰/회 배경 일괄 오버라이드 — div, td, th, button, span, li */
body.dark-mode div[style*="background:#f8fafc"],    body.dark-mode td[style*="background:#f8fafc"],    body.dark-mode th[style*="background:#f8fafc"],    body.dark-mode button[style*="background:#f8fafc"],
body.dark-mode div[style*="background: #f8fafc"],   body.dark-mode td[style*="background: #f8fafc"],   body.dark-mode th[style*="background: #f8fafc"],   body.dark-mode button[style*="background: #f8fafc"],
body.dark-mode div[style*="background:#f1f5f9"],    body.dark-mode td[style*="background:#f1f5f9"],    body.dark-mode th[style*="background:#f1f5f9"],    body.dark-mode button[style*="background:#f1f5f9"],
body.dark-mode div[style*="background:white"],      body.dark-mode td[style*="background:white"],      body.dark-mode th[style*="background:white"],      body.dark-mode button[style*="background:white"],
body.dark-mode div[style*="background: white"],     body.dark-mode td[style*="background: white"],     body.dark-mode th[style*="background: white"],     body.dark-mode button[style*="background: white"],
body.dark-mode div[style*="background:#ffffff"],    body.dark-mode td[style*="background:#ffffff"],    body.dark-mode th[style*="background:#ffffff"],    body.dark-mode button[style*="background:#ffffff"],
body.dark-mode div[style*="background: #ffffff"],   body.dark-mode td[style*="background: #ffffff"],   body.dark-mode th[style*="background: #ffffff"],   body.dark-mode button[style*="background: #ffffff"],
body.dark-mode div[style*="background:#fafafa"],    body.dark-mode td[style*="background:#fafafa"],    body.dark-mode th[style*="background:#fafafa"],    body.dark-mode button[style*="background:#fafafa"],
body.dark-mode div[style*="background:#ffffff"],   body.dark-mode td[style*="background:#ffffff"],
body.dark-mode div[style*="background:#fafbfc"],   body.dark-mode td[style*="background:#fafbfc"],
body.dark-mode div[style*="background:#fff"],       body.dark-mode td[style*="background:#fff"],       body.dark-mode th[style*="background:#fff"],       body.dark-mode button[style*="background:#fff"],
body.dark-mode div[style*="background-color:white"],    body.dark-mode td[style*="background-color:white"],    body.dark-mode th[style*="background-color:white"],    body.dark-mode button[style*="background-color:white"],
body.dark-mode div[style*="background-color:#fff"],     body.dark-mode td[style*="background-color:#fff"],     body.dark-mode th[style*="background-color:#fff"],     body.dark-mode button[style*="background-color:#fff"],
body.dark-mode div[style*="background-color:#ffffff"],  body.dark-mode td[style*="background-color:#ffffff"],  body.dark-mode th[style*="background-color:#ffffff"],  body.dark-mode button[style*="background-color:#ffffff"],
body.dark-mode div[style*="background-color: white"],   body.dark-mode td[style*="background-color: white"],   body.dark-mode th[style*="background-color: white"],   body.dark-mode button[style*="background-color: white"],
body.dark-mode div[style*="background-color: #fff"],    body.dark-mode td[style*="background-color: #fff"],    body.dark-mode th[style*="background-color: #fff"],    body.dark-mode button[style*="background-color: #fff"] {
  background: #1e293b !important;
  border-color: #334155 !important;
  color: #e2e8f0 !important;
}

/* 연한 색 배경 카드 — div, td, th */
body.dark-mode div[style*="background:#f0f9ff"], body.dark-mode td[style*="background:#f0f9ff"], body.dark-mode th[style*="background:#f0f9ff"],
body.dark-mode div[style*="background:#eff6ff"], body.dark-mode td[style*="background:#eff6ff"], body.dark-mode th[style*="background:#eff6ff"],
body.dark-mode div[style*="background:#dbeafe"] { background: #0d1a2d !important; border-color: #1e3a5f !important; }

body.dark-mode div[style*="background:#fff7ed"], body.dark-mode td[style*="background:#fff7ed"], body.dark-mode th[style*="background:#fff7ed"],
body.dark-mode div[style*="background:#ffedd5"] { background: #2d1a08 !important; border-color: #7c2d12 !important; }

/* 보건상담 부서 배지 */
.hc-dept-badge { padding:2px 6px; border-radius:4px; cursor:pointer; font-size:12px; }
.hc-badge-target { background:#f1f5f9; color:#475569; }
.hc-badge-h1    { background:#eff6ff; color:var(--primary-color); }
.hc-badge-h2    { background:#ecfdf5; color:#10b981; }
body.dark-mode .hc-badge-target { background:#1e293b; color:#94a3b8; }
body.dark-mode .hc-badge-h1    { background:#0c1a2e; color:var(--primary-color); }
body.dark-mode .hc-badge-h2    { background:#052e16; color:#34d399; }

/* 보건상담 필터 스위치 다크모드 */
body.dark-mode .completion-filter-wrap { background: #0f172a !important; }
body.dark-mode .completion-filter-btn.active { background: #1e293b !important; color: #e2e8f0 !important; }

/* 동기부여 포상기준 테이블 다크모드 */
body.dark-mode .motivation-info-table tr { background: transparent !important; }
body.dark-mode .motivation-info-table td, body.dark-mode .motivation-info-table th { color: #e2e8f0 !important; border-color: #334155 !important; }

body.dark-mode div[style*="background:#fff1f2"], body.dark-mode td[style*="background:#fff1f2"],
body.dark-mode div[style*="background:#fef2f2"], body.dark-mode td[style*="background:#fef2f2"] { background: #2d1010 !important; border-color: #7f1d1d !important; }

body.dark-mode div[style*="background:#f0fdf4"], body.dark-mode td[style*="background:#f0fdf4"], body.dark-mode th[style*="background:#f0fdf4"],
body.dark-mode div[style*="background:#dcfce7"], body.dark-mode td[style*="background:#dcfce7"] { background: #0d2010 !important; border-color: #14532d !important; }

body.dark-mode div[style*="background:#f0fdfa"], body.dark-mode td[style*="background:#f0fdfa"],
body.dark-mode div[style*="background:#ccfbf1"] { background: #0d2420 !important; border-color: #134e4a !important; }

body.dark-mode div[style*="background:#faf5ff"], body.dark-mode td[style*="background:#faf5ff"],
body.dark-mode div[style*="background:#f5f3ff"] { background: #1a102d !important; border-color: #4c1d95 !important; }

body.dark-mode div[style*="background:#fef9c3"], body.dark-mode td[style*="background:#fef9c3"] { background: #2d2208 !important; border-color: #713f12 !important; }

/* 적격수급인 평가 모달 테이블 구분 칸 */
body.dark-mode td[style*="background:#f8fafc"],
body.dark-mode td[style*="background: #f8fafc"] { background: #162032 !important; color: #94a3b8 !important; }

/* 인라인 텍스트 색 보정 — div, td, th, span, p */
body.dark-mode div[style*="color:#1e293b"], body.dark-mode td[style*="color:#1e293b"], body.dark-mode th[style*="color:#1e293b"], body.dark-mode span[style*="color:#1e293b"], body.dark-mode p[style*="color:#1e293b"],
body.dark-mode div[style*="color:#334155"], body.dark-mode td[style*="color:#334155"], body.dark-mode th[style*="color:#334155"],
body.dark-mode div[style*="color:#475569"], body.dark-mode td[style*="color:#475569"], body.dark-mode th[style*="color:#475569"] { color: #cbd5e1 !important; }
body.dark-mode div[style*="color:#64748b"], body.dark-mode td[style*="color:#64748b"], body.dark-mode th[style*="color:#64748b"],
body.dark-mode div[style*="color:#94a3b8"] { color: #94a3b8 !important; }

/* 어두운 텍스트 색 보정 (light bg 전용 색상) */
body.dark-mode div[style*="color:#0369a1"], body.dark-mode td[style*="color:#0369a1"], body.dark-mode th[style*="color:#0369a1"], body.dark-mode h3[style*="color:#0369a1"] { color: #38bdf8 !important; }
body.dark-mode div[style*="color:#9a3412"], body.dark-mode h3[style*="color:#9a3412"], body.dark-mode p[style*="color:#9a3412"] { color: #fb923c !important; }
body.dark-mode div[style*="color:#166534"], body.dark-mode td[style*="color:#166534"] { color: #4ade80 !important; }
body.dark-mode div[style*="color:#854d0e"], body.dark-mode td[style*="color:#854d0e"] { color: #fbbf24 !important; }
body.dark-mode div[style*="color:#1e3a5f"] { color: #93c5fd !important; }

/* 테이블 border 색 보정 */
body.dark-mode td[style*="border:1px solid #e2e8f0"],
body.dark-mode th[style*="border:1px solid #e2e8f0"] { border-color: #334155 !important; }
body.dark-mode tr[style*="border-bottom:1px solid #e2e8f0"],
body.dark-mode tr[style*="border-bottom: 1px solid #e2e8f0"] { border-color: #334155 !important; }
body.dark-mode #user-info-bar button {
  background: #334155 !important;
  border-color: #475569 !important;
  color: #cbd5e1 !important;
}

/* 계정관리 모달 사이드바 */
body.dark-mode #acct-sidebar {
  background: #162032 !important;
  border-right-color: #334155 !important;
}
body.dark-mode .acct-light-btn {
  background: #1e293b !important;
  border-color: #475569 !important;
  color: #cbd5e1 !important;
}

/* 안전인증 항목 행 */
.sc-item-row {
  background: #f8fafc;
  padding: 8px 12px;
  border-radius: 6px;
  border: 1px solid #f1f5f9;
  color: #475569;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  transition: background 0.15s;
}
.sc-item-row:hover { background: #f1f5f9; }
.sc-item-row .sc-count-badge {
  font-size: 11px;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 10px;
  flex-shrink: 0;
  white-space: nowrap;
}
.sc-count-has  { background: #dcfce7; color: #166534; }
.sc-count-none { background: #f1f5f9; color: #94a3b8; }
body.dark-mode .sc-item-row { background: #1e293b; border-color: #334155; color: #cbd5e1; }
body.dark-mode .sc-item-row:hover { background: #1e3a5f; }
body.dark-mode .sc-count-has  { background: #0d2010; color: #4ade80; }
body.dark-mode .sc-count-none { background: #162032; color: #64748b; }

/* 관리자 드롭다운 */
body.dark-mode #admin-dropdown-menu {
  background: #1e293b;
  border-color: #334155;
}
body.dark-mode #admin-dropdown-menu button {
  color: #cbd5e1 !important;
  border-bottom-color: #334155 !important;
}
body.dark-mode #admin-dropdown-menu button:hover { background: #334155 !important; }
body.dark-mode #admin-dropdown-menu button:last-child { color: #f87171 !important; }
body.dark-mode #admin-dropdown-btn { background: #334155 !important; border-color: #475569 !important; color: #cbd5e1 !important; }

/* 건강증진 stat 카드 */
.hp-stat-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  transition: border-color 0.2s, background-color 0.2s;
}
body.dark-mode .hp-stat-card {
  background: #1e293b !important;
  border-color: #334155 !important;
  color: #e2e8f0 !important;
}

/* 안전점검 상세 카드 */
.insp-detail-card { border:1px solid #e2e8f0; border-radius:10px; overflow:hidden; margin-bottom:16px; font-size:13px; }
.insp-detail-header { background:#f1f5f9; padding:10px 14px; border-bottom:1px solid #e2e8f0; display:grid; grid-template-columns:1fr 1fr; gap:4px; color:#64748b; }
.insp-detail-header strong { color:#1e293b; margin-left:6px; }
.insp-detail-row { padding:10px 14px; border-bottom:1px solid #e2e8f0; }
.insp-detail-row:last-child { border-bottom:none; }
.insp-detail-label { font-size:11px; font-weight:700; color:#64748b; margin-bottom:4px; }
.insp-detail-value { color:#1e293b; line-height:1.5; }
.insp-detail-row.law { background:#eff6ff; }
.insp-detail-row.law .insp-detail-value { color:#0369a1; font-weight:600; }
.insp-detail-row.penalty { background:#fff5f5; }
.insp-detail-row.penalty .insp-detail-value { color:#dc2626; font-weight:600; }

body.dark-mode .insp-detail-card { border-color:#334155; }
body.dark-mode .insp-detail-header { background:#0f172a; border-color:#334155; color:#94a3b8; }
body.dark-mode .insp-detail-header strong { color:#e2e8f0; }
body.dark-mode .insp-detail-row { border-color:#334155; }
body.dark-mode .insp-detail-label { color:#94a3b8; }
body.dark-mode .insp-detail-value { color:#e2e8f0; }
body.dark-mode .insp-detail-row.law { background:#0c1a2e; }
body.dark-mode .insp-detail-row.law .insp-detail-value { color:#38bdf8; }
body.dark-mode .insp-detail-row.penalty { background:#1f0f0f; }
body.dark-mode .insp-detail-row.penalty .insp-detail-value { color:#f87171; }
.insp-detail-row.submitted { background:#f0fdf4; }
.insp-detail-row.submitted .insp-detail-value { color:#166534; font-weight:600; }
body.dark-mode .insp-detail-row.submitted { background:#052e16; }
body.dark-mode .insp-detail-row.submitted .insp-detail-value { color:#4ade80; }

/* ═══ 안전점검 좌우 분할 워크스페이스 ═══════════════════════════════ */
#insp-workspace { display:flex; gap:16px; align-items:flex-start; flex-wrap:wrap; }
#insp-list-pane { flex:1 1 100%; min-width:0; }
#insp-list-pane.narrowed { flex:1 1 380px; min-width:300px; }
#insp-side-panel { flex:1 1 560px; min-width:340px; position:sticky; top:12px; }

/* 사이드패널에 도킹된 함수 모달: 전체화면 오버레이 → 인플로우 패널로 변환 */
#insp-side-panel > .modal-overlay {
  position:static !important;
  inset:auto !important; top:auto !important; left:auto !important; right:auto !important; bottom:auto !important;
  width:100% !important; height:auto !important;
  background:transparent !important;
  backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
  z-index:auto !important;
  align-items:stretch !important; justify-content:stretch !important;
  animation:none !important;
}
#insp-side-panel > .modal-overlay[style*="display: flex"],
#insp-side-panel > .modal-overlay[style*="display:flex"] { display:flex !important; }
#insp-side-panel .modal-content {
  width:100% !important; max-width:100% !important;
  max-height:calc(100vh - 90px) !important;
  box-shadow:0 4px 16px rgba(0,0,0,0.08) !important;
  border:1px solid var(--border-color);
  animation:none !important;
}
body.dark-mode #insp-side-panel .modal-content { box-shadow:0 4px 18px rgba(0,0,0,0.45) !important; border-color:#334155; }

/* 점검 종류(아코디언) */
.insp-type-block { border:1px solid var(--border-color); border-radius:12px; overflow:hidden; background:var(--white); }
body.dark-mode .insp-type-block { background:#0b1220; border-color:#334155; }
.insp-type-head { display:flex; align-items:center; padding:14px 18px; cursor:pointer; gap:14px; }
.insp-type-caret { font-size:13px; color:var(--text-faint); }
.insp-type-name { font-weight:800; font-size:15px; color:var(--text-main); flex:1; }
.insp-type-progress { display:flex; align-items:center; gap:10px; }
.insp-type-bar { width:110px; height:6px; background:var(--border-color); border-radius:3px; overflow:hidden; }
.insp-type-bar > div { height:100%; border-radius:3px; }
.insp-type-count { font-size:12px; color:var(--text-tertiary); white-space:nowrap; }
.insp-type-add { background:#0d9488; color:#fff; border:none; border-radius:6px; padding:4px 12px; font-size:12px; cursor:pointer; font-family:inherit; }
.insp-type-add:hover { background:#0f766e; }
.insp-type-body { border-top:1px solid var(--border-color); padding:6px 12px 12px; }
body.dark-mode .insp-type-body { border-color:#334155; }

/* 개별 점검명 소제목 */
.insp-name-section { margin-top:10px; }
.insp-name-head { display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px; padding:6px 4px; margin-bottom:6px; border-bottom:1px dashed var(--border-color); }
.insp-name-title { font-weight:700; font-size:13px; color:var(--text-main); }
.insp-name-count { margin-left:auto; font-size:11px; font-weight:700; color:var(--text-tertiary); background:var(--bg-subtle); padding:2px 8px; border-radius:10px; }
.insp-subadd { background:transparent; color:#0d9488; border:1px solid #0d9488; border-radius:6px; padding:2px 10px; font-size:11px; cursor:pointer; font-family:inherit; }
.insp-subadd:hover { background:#0d9488; color:#fff; }
.insp-name-sub { font-size:11px; color:var(--text-tertiary); }
.insp-subedit, .insp-subdel { background:transparent; border:1px solid var(--border-strong); border-radius:6px; padding:2px 10px; font-size:11px; cursor:pointer; font-family:inherit; color:var(--text-tertiary); }
.insp-subedit:hover { background:var(--bg-subtle); }
.insp-subdel { color:#ef4444; border-color:#fecaca; }
.insp-subdel:hover { background:#ef4444; color:#fff; border-color:#ef4444; }

/* 항목 카드 */
.insp-card-list { display:flex; flex-direction:column; gap:8px; }
.insp-card { border:1px solid var(--border-color); border-radius:10px; padding:10px 12px; background:var(--white); transition:border-color .15s, box-shadow .15s; }
body.dark-mode .insp-card { background:#0f172a; border-color:#334155; }
.insp-card:hover { border-color:var(--primary-color); box-shadow:0 2px 10px rgba(0,0,0,0.06); }
.insp-card.active { border-color:var(--primary-color); box-shadow:0 0 0 2px rgba(56,189,248,0.25); }
.insp-card-top { display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.insp-card-no { font-size:11px; font-weight:800; color:var(--text-faint); min-width:18px; }
.insp-card-cost { margin-left:auto; font-size:12px; font-weight:700; color:var(--text-tertiary); }
.insp-card-hazard { font-size:13px; color:var(--text-main); line-height:1.5; margin-bottom:6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.insp-card-meta { display:flex; flex-wrap:wrap; gap:4px 12px; font-size:12px; color:var(--text-tertiary); margin-bottom:8px; }
.insp-card-actions { display:flex; flex-wrap:wrap; gap:4px; }

/* 좁은 화면: 목록/패널 세로 스택 */
@media (max-width: 760px) {
  #insp-list-pane.narrowed, #insp-side-panel { flex:1 1 100%; }
  #insp-side-panel { position:static; }
}

/* 건강증진 입력란 공통 스타일 (라이트 모드) */
.hp-input-value,
.hp-input-note {
  background-color: #ffffff;
  color: #1e293b;
  border: 1px solid #cbd5e1;
  border-radius: 4px;
  outline: none;
  transition: border-color 0.2s, background-color 0.2s, color 0.2s;
}

.hp-input-value:focus,
.hp-input-note:focus {
  border-color: #3b82f6;
  box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.1);
}

/* 건강증진 입력란 다크 모드 스타일 */
body.dark-mode .hp-input-value,
body.dark-mode .hp-input-note {
  background-color: #1e293b !important;
  color: #f1f5f9 !important;
  border-color: #475569 !important;
}

body.dark-mode .hp-input-value:focus,
body.dark-mode .hp-input-note:focus {
  border-color: #38bdf8 !important;
}

/* 건강증진 표 일반/선택/합계 열 스타일 (라이트 모드) */
.hp-normal-col {
  background-color: #f1f5f9;
  color: #334155;
}
.hp-selected-col {
  background-color: #eff6ff !important;
  color: #1e40af !important;
}
.hp-sum-col {
  background-color: #eff6ff !important;
  color: #1e40af !important;
  font-weight: bold;
}

/* 건강증진 표 일반/선택/합계 열 스타일 (다크 모드) */
body.dark-mode .hp-normal-col {
  background-color: #1e293b !important;
  color: #94a3b8 !important;
}
body.dark-mode .hp-selected-col {
  background-color: #0d1a2d !important;
  color: #38bdf8 !important;
}
body.dark-mode .hp-sum-col {
  background-color: #0d1a2d !important;
  color: #38bdf8 !important;
}

/* 건강증진 표 행 및 사번 텍스트 스타일 */
.hp-table-row {
  border-bottom: 1px solid #f1f5f9;
}
body.dark-mode .hp-table-row {
  border-bottom: 1px solid #334155 !important;
}
.hp-empno-col {
  color: #64748b;
}
body.dark-mode .hp-empno-col {
  color: #94a3b8;
}

/* 다크모드 토글 버튼 */
.dark-toggle {
  background: none;
  border: 1.5px solid #e2e8f0;
  border-radius: 20px;
  padding: 4px 12px;
  cursor: pointer;
  font-size: 13px;
  font-family: inherit;
  color: #475569;
  transition: all 0.2s;
  display: flex; align-items: center; gap: 5px;
}
.dark-toggle:hover { border-color: var(--primary-color); color: var(--primary-color); }
body.dark-mode .dark-toggle {
  border-color: #38bdf8;
  color: #38bdf8;
  background: rgba(56,189,248,0.08);
}

/* 안전점검 결과보고서 인쇄 전용 스타일 */
@media print {
  body * {
    visibility: hidden;
  }
  #inspection-print-area,
  #inspection-print-area * {
    visibility: visible;
  }
  #inspection-print-area {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    margin: 0;
    padding: 0;
  }
  .no-print,
  header,
  .sub-nav-bar,
  .summary-grid,
  .content-card,
  #modal-inspection-report .no-print,
  #modal-inspection-report button {
    display: none !important;
  }
  /* 인쇄는 항상 밝은 백색 배경에 검정 글씨로 강제 오버라이드 */
  #inspection-print-area,
  #inspection-print-area table,
  #inspection-print-area td,
  #inspection-print-area th {
    background: #ffffff !important;
    color: #000000 !important;
    border-color: #000000 !important;
  }
}


/* ─── 다크 모드: 인라인 스타일 잔여 하드코딩 보정 ───────────────────────────
   모듈 템플릿의 상태 틴트(연한 파랑/초록/빨강/노랑 배경)와 어두운 글자색이
   다크 모드에서 그대로 남는 경우를 속성 선택자로 일괄 보정한다. */
body.dark-mode [style*="background:#eff6ff"], body.dark-mode [style*="background: #eff6ff"],
body.dark-mode [style*="background:#f0f9ff"], body.dark-mode [style*="background: #f0f9ff"],
body.dark-mode [style*="background:#dbeafe"], body.dark-mode [style*="background: #dbeafe"] {
  background: var(--bg-info-soft) !important;
  color: #93c5fd !important;
}
body.dark-mode [style*="background:#f0fdf4"], body.dark-mode [style*="background: #f0fdf4"],
body.dark-mode [style*="background:#dcfce7"], body.dark-mode [style*="background: #dcfce7"] {
  background: var(--bg-success-soft) !important;
  color: #86efac !important;
}
body.dark-mode [style*="background:#fef2f2"], body.dark-mode [style*="background: #fef2f2"],
body.dark-mode [style*="background:#fee2e2"], body.dark-mode [style*="background: #fee2e2"] {
  background: var(--bg-danger-soft) !important;
  color: #fca5a5 !important;
}
body.dark-mode [style*="background:#fffbeb"], body.dark-mode [style*="background: #fffbeb"],
body.dark-mode [style*="background:#fef3c7"], body.dark-mode [style*="background: #fef3c7"] {
  background: var(--bg-warn-soft) !important;
  color: #fcd34d !important;
}
/* 어두운 글자색이 다크 배경 위에 그대로 남은 경우 */
body.dark-mode [style*="color:#1e293b"], body.dark-mode [style*="color: #1e293b"],
body.dark-mode [style*="color:#0f172a"], body.dark-mode [style*="color: #0f172a"],
body.dark-mode [style*="color:#334155"], body.dark-mode [style*="color: #334155"] {
  color: var(--text-main) !important;
}

/* 틴트 카드 — 라이트/다크 양쪽 팔레트를 클래스로 관리 (인라인 rgb 직렬화 문제 회피) */
.tint-card { padding: 20px; border-radius: 12px; }
.tint-card table { table-layout: auto; }
.tint-card-info { background: #f0f9ff; border: 1px solid #bae6fd; }
.tint-card-info h3 { color: #0369a1; }
body.dark-mode .tint-card-info { background: #0d1a2d; border-color: #1e3a5f; }
body.dark-mode .tint-card-info h3 { color: #7dd3fc; }
.tint-card-warn { background: #fff7ed; border: 1px solid #fed7aa; }
.tint-card-warn h3, .tint-card-warn p { color: #9a3412; }
body.dark-mode .tint-card-warn { background: #2d2310; border-color: #92400e; }
body.dark-mode .tint-card-warn h3, body.dark-mode .tint-card-warn p { color: #fdba74; }

/* JS가 el.style을 수정하면 인라인 hex가 rgb()로 직렬화되므로 rgb 형태도 함께 매칭 */
body.dark-mode [style*="background: rgb(239, 246, 255)"],
body.dark-mode [style*="background: rgb(240, 249, 255)"],
body.dark-mode [style*="background: rgb(219, 234, 254)"] {
  background: var(--bg-info-soft) !important;
  color: #93c5fd !important;
}
body.dark-mode [style*="background: rgb(240, 253, 244)"],
body.dark-mode [style*="background: rgb(220, 252, 231)"] {
  background: var(--bg-success-soft) !important;
  color: #86efac !important;
}
body.dark-mode [style*="background: rgb(254, 242, 242)"],
body.dark-mode [style*="background: rgb(254, 226, 226)"] {
  background: var(--bg-danger-soft) !important;
  color: #fca5a5 !important;
}
body.dark-mode [style*="background: rgb(255, 251, 235)"],
body.dark-mode [style*="background: rgb(254, 243, 199)"] {
  background: var(--bg-warn-soft) !important;
  color: #fcd34d !important;
}

/* ─── 모바일: 상단 메뉴 → 좌측 사이드바(드로어) ──────────────────────────────
   데스크톱에선 햄버거/백드롭 숨김. ≤900px에서 .top-nav를 오프캔버스 드로어로 전환.
   기존 .nav-main 요소·ID·클릭 바인딩은 그대로 유지(JS 무손상). */
.mobile-nav-toggle { display: none; }
.nav-backdrop { display: none; }

@media (max-width: 1280px) {
  .main-header { padding: 0 14px; gap: 8px; height: 60px; }
  .system-title { font-size: 15px; }
  .system-title span { display: none; }
  .logo-section { gap: 8px; }
  .logo-section img { height: 34px !important; max-height: 34px !important; }

  /* 햄버거 버튼 */
  .mobile-nav-toggle {
    display: flex; flex-direction: column; justify-content: center; align-items: center;
    gap: 5px; width: 42px; height: 42px; border: none; background: none; cursor: pointer;
    flex-shrink: 0; padding: 0; order: -1;
  }
  .mobile-nav-toggle span { display: block; width: 24px; height: 2.5px; background: var(--text-main); border-radius: 2px; transition: transform 0.3s ease, opacity 0.2s ease; }
  body.nav-open .mobile-nav-toggle span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
  body.nav-open .mobile-nav-toggle span:nth-child(2) { opacity: 0; }
  body.nav-open .mobile-nav-toggle span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }

  /* .top-nav → 좌측 드로어 (헤더 60px 아래에서 시작 → 햄버거 항상 노출) */
  .top-nav {
    position: fixed; top: 60px; left: 0; bottom: 0; width: 264px; max-width: 82vw;
    margin-left: 0; gap: 0; padding: 12px 0 24px; z-index: 2000;
    background: var(--white); flex-direction: column; align-items: stretch;
    transform: translateX(-100%); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 4px 0 28px rgba(0, 0, 0, 0.14); overflow-y: auto;
  }
  body.nav-open .top-nav { transform: translateX(0); }
  .nav-group { flex-direction: column; align-items: stretch; gap: 0; width: 100%; }
  .nav-main {
    font-size: 16px; padding: 14px 24px; width: 100%;
    border-bottom: none; border-left: 3px solid transparent;
  }
  .nav-main:hover, .nav-main.active {
    border-bottom-color: transparent; border-left-color: var(--primary-color);
    background: var(--bg-muted);
  }

  /* 백드롭 (헤더 아래만 덮어 햄버거 클릭 유지) */
  .nav-backdrop {
    display: block; position: fixed; top: 60px; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.42);
    z-index: 1999; opacity: 0; pointer-events: none; transition: opacity 0.3s ease;
  }
  body.nav-open .nav-backdrop { opacity: 1; pointer-events: auto; }

  /* 서브 내비는 가로 스크롤 유지, 패딩만 축소 */
  .sub-nav-bar { padding: 0 14px; }
}

body.dark-mode .top-nav { background: #1e293b; }
body.dark-mode .mobile-nav-toggle span { background: #cbd5e1; }
@media (max-width: 1280px) {
  body.dark-mode .nav-main:hover, body.dark-mode .nav-main.active { background: #0f172a; }
}

/* ─── 모바일: 시스템 본문 반응형 (공통 레이아웃 프리미티브) ──────────────────
   모든 모듈이 공유하는 대시보드·요약그리드·카드·테이블·모달에 일괄 적용.
   데스크톱(>900px)은 영향 없음. */
@media (max-width: 900px) {
  .dashboard-container { padding: 16px 14px; }

  /* 요약 카드: 4열 → 2열 */
  .summary-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; margin-bottom: 20px; }
  .stat-card { padding: 16px; }
  .stat-value { font-size: 22px; }
  .stat-label { font-size: 13px; }

  /* 카드/헤더 */
  .content-card { margin-bottom: 18px; }
  .card-header { padding: 14px 16px; flex-wrap: wrap; gap: 10px; }
  .card-title { font-size: 16px; }

  /* 테이블: 내부 높이제한 해제 + 가로 스크롤 유지 (좁은 화면에서 넘침 방지) */
  .table-wrapper { max-height: none; -webkit-overflow-scrolling: touch; }

  /* 부서 대시보드 */
  .dept-dashboard { padding: 16px 12px; }
  .dept-card { padding: 16px; }
  .dept-card:hover { transform: none; }

  /* 공용 소형 모달 → 화면 폭에 맞춤 (인라인 폭 지정 모달은 각자 max-width 사용) */
  .modal-content { width: 94vw; max-width: 94vw; max-height: 88vh; overflow-y: auto; padding: 22px 18px; }
  .modal-header { font-size: 17px; }

  /* 헤더 우측 컨트롤 축소 */
  #user-info-bar { gap: 6px; padding-right: 4px; }
  .dark-toggle { padding: 5px 8px; font-size: 12px; }
}

@media (max-width: 480px) {
  .summary-grid { grid-template-columns: 1fr; }
  .dashboard-container { padding: 12px 10px; }
  .card-header { padding: 12px 14px; }
}

/* ─── 모바일: 레벨2 메뉴를 사이드바 아코디언으로 ─────────────────────────────
   레벨1(.nav-main) 탭 → 하위(.m-accordion) 펼침/접힘. 데스크톱은 숨김(가로바 사용). */
.m-accordion { display: none; }
@media (max-width: 1280px) {
  /* 레벨2 가로 서브내비바는 사이드바로 이동했으므로 숨김 */
  .sub-nav-bar { display: none; }

  .m-accordion {
    display: flex; flex-direction: column;
    max-height: 0; overflow: hidden;
    background: var(--bg-muted, #f1f5f9);
    transition: max-height 0.3s ease;
  }
  .m-accordion.open { max-height: 520px; }
  .m-accordion .sub-nav-btn {
    padding: 12px 24px 12px 42px; height: auto; font-size: 14px;
    font-weight: 600; color: var(--text-tertiary, #64748b);
    border-left: 3px solid transparent; cursor: pointer;
  }
  .m-accordion .sub-nav-btn.active {
    color: var(--primary-color); border-left-color: var(--primary-color);
    background: var(--white);
  }
  .m-accordion .sub-nav-btn.active::after { display: none; }

  /* 레벨1 펼침 화살표 */
  .nav-main.has-acc { justify-content: flex-start; }
  .nav-main.has-acc::after {
    content: '▾'; margin-left: auto; font-size: 12px; color: var(--text-faint, #94a3b8);
    transition: transform 0.25s ease;
  }
  .nav-main.acc-open::after { transform: rotate(180deg); }
}
body.dark-mode .m-accordion { background: #0f172a; }
body.dark-mode .m-accordion .sub-nav-btn.active { background: #1e293b; }

/* 모바일 표시 메뉴 화이트리스트 — 회사 설정에서 끈 최상위 메뉴는 모바일에서만 숨김(데스크톱 무영향) */
@media (max-width: 1280px) {
  .nav-main.m-hidden, .m-accordion.m-hidden { display: none !important; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   리디자인 · 산업/터미널 스킨 (Phase 0 · 토큰 레이어)
   she-dashboard 디자인 언어(종이/잉크·저채도·각진)를 "기존 토큰 이름"에 재매핑한다.
   → 인라인/모듈이 참조하는 var(--...) 2,300여 곳이 자동으로 새 팔레트로 전환됨.
   활성화: <html data-skin="ind"> 일 때만 적용 (기본 OFF = 현재 앱 무변화, 즉시 롤백).
   미리보기: 콘솔 →  document.documentElement.setAttribute('data-skin','ind')
   원복    : 콘솔 →  document.documentElement.removeAttribute('data-skin')
   남은 홀드아웃(하드코딩 hex·radius·shadow)은 다음 패스(팔레트 매핑)에서 정리.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── 라이트: 종이/잉크 ─────────────────────────────────────────────── */
html[data-skin="ind"] {
  --secondary-color: #edeae1;   /* body 바탕 = 종이 */
  --white:           #f3f1ea;   /* 카드/헤더 = 패널 */
  --bg-card:         #f3f1ea;
  --bg-subtle:       #f3f1ea;
  --bg-muted:        #e6e2d7;
  --text-main:       #1c1b17;   /* 잉크(본문) */
  --text-sub:        #6f6d63;
  --text-secondary:  #56544c;
  --text-tertiary:   #6f6d63;
  --text-faint:      #9a978c;
  --border-color:    rgba(28,27,23,.16);
  --border-strong:   rgba(28,27,23,.30);
  --card-shadow:     none;
  --border-radius:   2px;
  /* 브랜드색 → 산업 뉴트럴 통일. 테넌트 인라인(<html> style)을 !important로 되받아침.
     스킨 OFF 시엔 이 규칙이 없어 브랜드색 정상 복귀 */
  --primary-color:   #3f7d4e !important;
  --primary-dark:    #345f3d !important;
  --accent-green:    #3f7d4e;
  --accent-orange:   #b06f16;
  --accent-blue:     #2f5da8;
  --bg-danger-soft:  rgba(165,55,42,.12);
  --bg-success-soft: rgba(63,125,78,.12);
  --bg-info-soft:    rgba(47,93,168,.12);
  --bg-warn-soft:    rgba(176,111,22,.14);
}

/* ── 다크: 종이/잉크(야간) ─────────────────────────────────────────── */
html[data-skin="ind"] body.dark-mode {
  --secondary-color: #17181a;
  --white:           #1e2023;
  --bg-card:         #1e2023;
  --bg-subtle:       #1e2023;
  --bg-muted:        #23252a;
  --text-main:       #e9e7df;
  --text-sub:        #9b9a92;
  --text-secondary:  #c7c5bd;
  --text-tertiary:   #9b9a92;
  --text-faint:      #6c6b64;
  --border-color:    rgba(233,231,223,.16);
  --border-strong:   rgba(233,231,223,.30);
  --card-shadow:     none;
  --primary-color:   #6fbf82 !important;
  --primary-dark:    #5aa96d !important;
  --bg-danger-soft:  rgba(232,116,106,.14);
  --bg-success-soft: rgba(111,191,130,.14);
  --bg-info-soft:    rgba(122,165,236,.14);
  --bg-warn-soft:    rgba(224,164,78,.14);
  background-color:  #17181a;
  color:             #e9e7df;
}

/* ── 오버라이드 레이어(자동생성) : 인라인 하드코딩 → 토큰, 스킨 스코프 한정 ── */
html[data-skin="ind"] [style*="color:#1e293b"],
html[data-skin="ind"] [style*="color: #1e293b"]{color:var(--text-main) !important}
html[data-skin="ind"] [style*="color:#0f172a"],
html[data-skin="ind"] [style*="color: #0f172a"]{color:var(--text-main) !important}
html[data-skin="ind"] [style*="color:#263238"],
html[data-skin="ind"] [style*="color: #263238"]{color:var(--text-main) !important}
html[data-skin="ind"] [style*="color:#111827"],
html[data-skin="ind"] [style*="color: #111827"]{color:var(--text-main) !important}
html[data-skin="ind"] [style*="color:#1f2937"],
html[data-skin="ind"] [style*="color: #1f2937"]{color:var(--text-main) !important}
html[data-skin="ind"] [style*="color:#0b0b0b"],
html[data-skin="ind"] [style*="color: #0b0b0b"]{color:var(--text-main) !important}
html[data-skin="ind"] [style*="color:#334155"],
html[data-skin="ind"] [style*="color: #334155"]{color:var(--text-secondary) !important}
html[data-skin="ind"] [style*="color:#475569"],
html[data-skin="ind"] [style*="color: #475569"]{color:var(--text-secondary) !important}
html[data-skin="ind"] [style*="color:#374151"],
html[data-skin="ind"] [style*="color: #374151"]{color:var(--text-secondary) !important}
html[data-skin="ind"] [style*="color:#4b5563"],
html[data-skin="ind"] [style*="color: #4b5563"]{color:var(--text-secondary) !important}
html[data-skin="ind"] [style*="color:#607d8b"],
html[data-skin="ind"] [style*="color: #607d8b"]{color:var(--text-secondary) !important}
html[data-skin="ind"] [style*="color:#64748b"],
html[data-skin="ind"] [style*="color: #64748b"]{color:var(--text-tertiary) !important}
html[data-skin="ind"] [style*="color:#6b7280"],
html[data-skin="ind"] [style*="color: #6b7280"]{color:var(--text-tertiary) !important}
html[data-skin="ind"] [style*="color:#71717a"],
html[data-skin="ind"] [style*="color: #71717a"]{color:var(--text-tertiary) !important}
html[data-skin="ind"] [style*="color:#94a3b8"],
html[data-skin="ind"] [style*="color: #94a3b8"]{color:var(--text-faint) !important}
html[data-skin="ind"] [style*="color:#9ca3af"],
html[data-skin="ind"] [style*="color: #9ca3af"]{color:var(--text-faint) !important}
html[data-skin="ind"] [style*="color:#a1a1aa"],
html[data-skin="ind"] [style*="color: #a1a1aa"]{color:var(--text-faint) !important}
html[data-skin="ind"] [style*="color:#b4b2a9"],
html[data-skin="ind"] [style*="color: #b4b2a9"]{color:var(--text-faint) !important}
html[data-skin="ind"] [style*="background:#ffffff"],
html[data-skin="ind"] [style*="background: #ffffff"]{background-color:var(--bg-card) !important}
html[data-skin="ind"] [style*="background-color:#ffffff"],
html[data-skin="ind"] [style*="background-color: #ffffff"]{background-color:var(--bg-card) !important}
html[data-skin="ind"] [style*="background:#f8fafc"],
html[data-skin="ind"] [style*="background: #f8fafc"]{background-color:var(--bg-subtle) !important}
html[data-skin="ind"] [style*="background-color:#f8fafc"],
html[data-skin="ind"] [style*="background-color: #f8fafc"]{background-color:var(--bg-subtle) !important}
html[data-skin="ind"] [style*="background:#f9fafb"],
html[data-skin="ind"] [style*="background: #f9fafb"]{background-color:var(--bg-subtle) !important}
html[data-skin="ind"] [style*="background-color:#f9fafb"],
html[data-skin="ind"] [style*="background-color: #f9fafb"]{background-color:var(--bg-subtle) !important}
html[data-skin="ind"] [style*="background:#fafafa"],
html[data-skin="ind"] [style*="background: #fafafa"]{background-color:var(--bg-subtle) !important}
html[data-skin="ind"] [style*="background-color:#fafafa"],
html[data-skin="ind"] [style*="background-color: #fafafa"]{background-color:var(--bg-subtle) !important}
html[data-skin="ind"] [style*="background:#f1f5f9"],
html[data-skin="ind"] [style*="background: #f1f5f9"]{background-color:var(--bg-muted) !important}
html[data-skin="ind"] [style*="background-color:#f1f5f9"],
html[data-skin="ind"] [style*="background-color: #f1f5f9"]{background-color:var(--bg-muted) !important}
html[data-skin="ind"] [style*="background:#f3f4f6"],
html[data-skin="ind"] [style*="background: #f3f4f6"]{background-color:var(--bg-muted) !important}
html[data-skin="ind"] [style*="background-color:#f3f4f6"],
html[data-skin="ind"] [style*="background-color: #f3f4f6"]{background-color:var(--bg-muted) !important}
html[data-skin="ind"] [style*="background:#e5e7eb"],
html[data-skin="ind"] [style*="background: #e5e7eb"]{background-color:var(--bg-muted) !important}
html[data-skin="ind"] [style*="background-color:#e5e7eb"],
html[data-skin="ind"] [style*="background-color: #e5e7eb"]{background-color:var(--bg-muted) !important}
html[data-skin="ind"] [style*="background:#eef2f7"],
html[data-skin="ind"] [style*="background: #eef2f7"]{background-color:var(--bg-muted) !important}
html[data-skin="ind"] [style*="background-color:#eef2f7"],
html[data-skin="ind"] [style*="background-color: #eef2f7"]{background-color:var(--bg-muted) !important}
html[data-skin="ind"] [style*="background:#fef2f2"],
html[data-skin="ind"] [style*="background: #fef2f2"]{background-color:var(--bg-danger-soft) !important}
html[data-skin="ind"] [style*="background-color:#fef2f2"],
html[data-skin="ind"] [style*="background-color: #fef2f2"]{background-color:var(--bg-danger-soft) !important}
html[data-skin="ind"] [style*="background:#fee2e2"],
html[data-skin="ind"] [style*="background: #fee2e2"]{background-color:var(--bg-danger-soft) !important}
html[data-skin="ind"] [style*="background-color:#fee2e2"],
html[data-skin="ind"] [style*="background-color: #fee2e2"]{background-color:var(--bg-danger-soft) !important}
html[data-skin="ind"] [style*="background:#fff1f2"],
html[data-skin="ind"] [style*="background: #fff1f2"]{background-color:var(--bg-danger-soft) !important}
html[data-skin="ind"] [style*="background-color:#fff1f2"],
html[data-skin="ind"] [style*="background-color: #fff1f2"]{background-color:var(--bg-danger-soft) !important}
html[data-skin="ind"] [style*="background:#fef2f3"],
html[data-skin="ind"] [style*="background: #fef2f3"]{background-color:var(--bg-danger-soft) !important}
html[data-skin="ind"] [style*="background-color:#fef2f3"],
html[data-skin="ind"] [style*="background-color: #fef2f3"]{background-color:var(--bg-danger-soft) !important}
html[data-skin="ind"] [style*="background:#f0fdf4"],
html[data-skin="ind"] [style*="background: #f0fdf4"]{background-color:var(--bg-success-soft) !important}
html[data-skin="ind"] [style*="background-color:#f0fdf4"],
html[data-skin="ind"] [style*="background-color: #f0fdf4"]{background-color:var(--bg-success-soft) !important}
html[data-skin="ind"] [style*="background:#dcfce7"],
html[data-skin="ind"] [style*="background: #dcfce7"]{background-color:var(--bg-success-soft) !important}
html[data-skin="ind"] [style*="background-color:#dcfce7"],
html[data-skin="ind"] [style*="background-color: #dcfce7"]{background-color:var(--bg-success-soft) !important}
html[data-skin="ind"] [style*="background:#ecfdf5"],
html[data-skin="ind"] [style*="background: #ecfdf5"]{background-color:var(--bg-success-soft) !important}
html[data-skin="ind"] [style*="background-color:#ecfdf5"],
html[data-skin="ind"] [style*="background-color: #ecfdf5"]{background-color:var(--bg-success-soft) !important}
html[data-skin="ind"] [style*="background:#fffbeb"],
html[data-skin="ind"] [style*="background: #fffbeb"]{background-color:var(--bg-warn-soft) !important}
html[data-skin="ind"] [style*="background-color:#fffbeb"],
html[data-skin="ind"] [style*="background-color: #fffbeb"]{background-color:var(--bg-warn-soft) !important}
html[data-skin="ind"] [style*="background:#fef3c7"],
html[data-skin="ind"] [style*="background: #fef3c7"]{background-color:var(--bg-warn-soft) !important}
html[data-skin="ind"] [style*="background-color:#fef3c7"],
html[data-skin="ind"] [style*="background-color: #fef3c7"]{background-color:var(--bg-warn-soft) !important}
html[data-skin="ind"] [style*="background:#fff7ed"],
html[data-skin="ind"] [style*="background: #fff7ed"]{background-color:var(--bg-warn-soft) !important}
html[data-skin="ind"] [style*="background-color:#fff7ed"],
html[data-skin="ind"] [style*="background-color: #fff7ed"]{background-color:var(--bg-warn-soft) !important}
html[data-skin="ind"] [style*="background:#eff6ff"],
html[data-skin="ind"] [style*="background: #eff6ff"]{background-color:var(--bg-info-soft) !important}
html[data-skin="ind"] [style*="background-color:#eff6ff"],
html[data-skin="ind"] [style*="background-color: #eff6ff"]{background-color:var(--bg-info-soft) !important}
html[data-skin="ind"] [style*="background:#dbeafe"],
html[data-skin="ind"] [style*="background: #dbeafe"]{background-color:var(--bg-info-soft) !important}
html[data-skin="ind"] [style*="background-color:#dbeafe"],
html[data-skin="ind"] [style*="background-color: #dbeafe"]{background-color:var(--bg-info-soft) !important}
html[data-skin="ind"] [style*="background:#e0f2fe"],
html[data-skin="ind"] [style*="background: #e0f2fe"]{background-color:var(--bg-info-soft) !important}
html[data-skin="ind"] [style*="background-color:#e0f2fe"],
html[data-skin="ind"] [style*="background-color: #e0f2fe"]{background-color:var(--bg-info-soft) !important}
html[data-skin="ind"] [style*="border-color:#e2e8f0"],
html[data-skin="ind"] [style*="border-color: #e2e8f0"]{border-color:var(--border-color) !important}
html[data-skin="ind"] [style*="border-top-color:#e2e8f0"],
html[data-skin="ind"] [style*="border-top-color: #e2e8f0"]{border-color:var(--border-color) !important}
html[data-skin="ind"] [style*="border-bottom-color:#e2e8f0"],
html[data-skin="ind"] [style*="border-bottom-color: #e2e8f0"]{border-color:var(--border-color) !important}
html[data-skin="ind"] [style*="border-color:#e5e7eb"],
html[data-skin="ind"] [style*="border-color: #e5e7eb"]{border-color:var(--border-color) !important}
html[data-skin="ind"] [style*="border-top-color:#e5e7eb"],
html[data-skin="ind"] [style*="border-top-color: #e5e7eb"]{border-color:var(--border-color) !important}
html[data-skin="ind"] [style*="border-bottom-color:#e5e7eb"],
html[data-skin="ind"] [style*="border-bottom-color: #e5e7eb"]{border-color:var(--border-color) !important}
html[data-skin="ind"] [style*="border-color:#eaeaea"],
html[data-skin="ind"] [style*="border-color: #eaeaea"]{border-color:var(--border-color) !important}
html[data-skin="ind"] [style*="border-top-color:#eaeaea"],
html[data-skin="ind"] [style*="border-top-color: #eaeaea"]{border-color:var(--border-color) !important}
html[data-skin="ind"] [style*="border-bottom-color:#eaeaea"],
html[data-skin="ind"] [style*="border-bottom-color: #eaeaea"]{border-color:var(--border-color) !important}
html[data-skin="ind"] [style*="border-color:#ececec"],
html[data-skin="ind"] [style*="border-color: #ececec"]{border-color:var(--border-color) !important}
html[data-skin="ind"] [style*="border-top-color:#ececec"],
html[data-skin="ind"] [style*="border-top-color: #ececec"]{border-color:var(--border-color) !important}
html[data-skin="ind"] [style*="border-bottom-color:#ececec"],
html[data-skin="ind"] [style*="border-bottom-color: #ececec"]{border-color:var(--border-color) !important}
html[data-skin="ind"] [style*="border-color:#cbd5e1"],
html[data-skin="ind"] [style*="border-color: #cbd5e1"]{border-color:var(--border-strong) !important}
html[data-skin="ind"] [style*="border-top-color:#cbd5e1"],
html[data-skin="ind"] [style*="border-top-color: #cbd5e1"]{border-color:var(--border-strong) !important}
html[data-skin="ind"] [style*="border-bottom-color:#cbd5e1"],
html[data-skin="ind"] [style*="border-bottom-color: #cbd5e1"]{border-color:var(--border-strong) !important}
html[data-skin="ind"] [style*="border-color:#d1d5db"],
html[data-skin="ind"] [style*="border-color: #d1d5db"]{border-color:var(--border-strong) !important}
html[data-skin="ind"] [style*="border-top-color:#d1d5db"],
html[data-skin="ind"] [style*="border-top-color: #d1d5db"]{border-color:var(--border-strong) !important}
html[data-skin="ind"] [style*="border-bottom-color:#d1d5db"],
html[data-skin="ind"] [style*="border-bottom-color: #d1d5db"]{border-color:var(--border-strong) !important}
html[data-skin="ind"] [style*="border-color:#d4d4d8"],
html[data-skin="ind"] [style*="border-color: #d4d4d8"]{border-color:var(--border-strong) !important}
html[data-skin="ind"] [style*="border-top-color:#d4d4d8"],
html[data-skin="ind"] [style*="border-top-color: #d4d4d8"]{border-color:var(--border-strong) !important}
html[data-skin="ind"] [style*="border-bottom-color:#d4d4d8"],
html[data-skin="ind"] [style*="border-bottom-color: #d4d4d8"]{border-color:var(--border-strong) !important}
html[data-skin="ind"] [style*="border-radius:20px"],
html[data-skin="ind"] [style*="border-radius: 20px"],
html[data-skin="ind"] [style*="border-radius:18px"],
html[data-skin="ind"] [style*="border-radius: 18px"],
html[data-skin="ind"] [style*="border-radius:16px"],
html[data-skin="ind"] [style*="border-radius: 16px"],
html[data-skin="ind"] [style*="border-radius:14px"],
html[data-skin="ind"] [style*="border-radius: 14px"],
html[data-skin="ind"] [style*="border-radius:12px"],
html[data-skin="ind"] [style*="border-radius: 12px"],
html[data-skin="ind"] [style*="border-radius:10px"],
html[data-skin="ind"] [style*="border-radius: 10px"],
html[data-skin="ind"] [style*="border-radius:9px"],
html[data-skin="ind"] [style*="border-radius: 9px"],
html[data-skin="ind"] [style*="border-radius:8px"],
html[data-skin="ind"] [style*="border-radius: 8px"],
html[data-skin="ind"] [style*="border-radius:7px"],
html[data-skin="ind"] [style*="border-radius: 7px"],
html[data-skin="ind"] [style*="border-radius:6px"],
html[data-skin="ind"] [style*="border-radius: 6px"]{border-radius:2px !important}
html[data-skin="ind"] [style*="box-shadow"]{box-shadow:none !important}

/* ═══════════════════════════════════════════════════════════════════════════
   리디자인 · Phase 1 : 셸 크롬 + 모노 타이포 (스킨 스코프 · 리버서블 · 레이아웃 무변경)
   헤더·내비·카드·표를 종이/잉크·터미널 감성으로. 마크업/치수는 안 건드리고 색·선·폰트만.
   데이터(숫자·코드)=모노, 한국어 라벨=고딕 유지.
   ═══════════════════════════════════════════════════════════════════════════ */
html[data-skin="ind"]{ --mono: ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace; }

/* 상단 헤더 = 터미널 톱바 */
html[data-skin="ind"] .main-header{
  background:var(--white);
  border-bottom:1px solid var(--border-color);
  box-shadow:none;
}
html[data-skin="ind"] .system-title{
  font-family:var(--mono); font-weight:500; font-size:15px;
  color:var(--text-main); letter-spacing:.01em;
}

/* 메인 내비 (상단 가로) : 액센트 잉크화 */
html[data-skin="ind"] .nav-main{
  font-weight:500; font-size:13px; color:var(--text-secondary);
  border-bottom:2px solid transparent; letter-spacing:.01em;
}
html[data-skin="ind"] .nav-main:hover{ color:var(--text-main); border-bottom-color:var(--border-strong); }
html[data-skin="ind"] .nav-main.active{ color:var(--text-main); border-bottom-color:var(--text-main); font-weight:600; }

/* 서브 내비 = 터미널 탭 */
html[data-skin="ind"] .sub-nav-bar{
  background:var(--white); border-bottom:1px solid var(--border-color); box-shadow:none;
}
html[data-skin="ind"] .sub-nav-bar .nav-item{ font-size:12.5px; font-weight:500; color:var(--text-tertiary); letter-spacing:.01em; }
html[data-skin="ind"] .sub-nav-bar .nav-item:hover,
html[data-skin="ind"] .sub-nav-bar .nav-item.active{ color:var(--text-main); }
html[data-skin="ind"] .sub-nav-bar .nav-item.active::after{ background:var(--text-main); height:2px; }

/* 지표 카드 = 테두리형(그림자·좌측 틸 액센트 제거) */
html[data-skin="ind"] .stat-card{
  background:var(--white); border:1px solid var(--border-color);
  border-left:1px solid var(--border-color); box-shadow:none; gap:6px;
}
html[data-skin="ind"] .stat-label{ font-size:11.5px; color:var(--text-tertiary); font-weight:500; letter-spacing:.02em; }
html[data-skin="ind"] .stat-value{ font-family:var(--mono); font-weight:500; letter-spacing:-.02em; color:var(--text-main); }

/* 콘텐츠 카드 */
html[data-skin="ind"] .content-card{ background:var(--white); border:1px solid var(--border-color); box-shadow:none; }
html[data-skin="ind"] .card-header{ background:var(--bg-subtle); border-bottom:1px solid var(--border-color); }
html[data-skin="ind"] .card-title{ font-size:15px; font-weight:600; color:var(--text-main); }
html[data-skin="ind"] .card-title::before{ background:var(--text-main); border-radius:0; }

/* 표 헤더 = 모노 라벨 */
html[data-skin="ind"] .data-table thead th,
html[data-skin="ind"] .table-wrapper thead th{
  font-family:var(--mono); font-weight:500; font-size:11px; letter-spacing:.02em;
  color:var(--text-tertiary); background:var(--bg-subtle);
}

/* 버튼 : 호버 부양 제거(각진 정적 느낌) */
html[data-skin="ind"] .btn-primary:hover,
html[data-skin="ind"] .btn-secondary:hover{ transform:none; }

/* .mono 유틸 존중 */
html[data-skin="ind"] .mono{ font-family:var(--mono); }

/* Phase 2(좌측 사이드바) 비활성화 — Phase 3 앱 셸 그리드로 승격, 정식 위치는
   css/skin-industrial.css (단일 출처, 210px 사이드바 + .ind-aside + .ind-footer 포함).
   ⚠️ 여기 다시 규칙을 추가하지 말 것 — skin-industrial.css와 폭(206 vs 210) 충돌 재발함. */

/* ── 다크 배경 홀드아웃 → 종이/잉크 야간판 (다크·배경 맥락 한정, 텍스트 매핑과 무충돌) ── */
html[data-skin="ind"] body.dark-mode [style*="background:#0f172a"],
html[data-skin="ind"] body.dark-mode [style*="background: #0f172a"],
html[data-skin="ind"] body.dark-mode [style*="background-color:#0f172a"],
html[data-skin="ind"] body.dark-mode [style*="background-color: #0f172a"]{ background-color:var(--secondary-color) !important }
html[data-skin="ind"] body.dark-mode [style*="background:#1e293b"],
html[data-skin="ind"] body.dark-mode [style*="background: #1e293b"],
html[data-skin="ind"] body.dark-mode [style*="background-color:#1e293b"],
html[data-skin="ind"] body.dark-mode [style*="background-color: #1e293b"]{ background-color:var(--bg-card) !important }
html[data-skin="ind"] body.dark-mode [style*="background:#162032"],
html[data-skin="ind"] body.dark-mode [style*="background: #162032"],
html[data-skin="ind"] body.dark-mode [style*="background-color:#162032"],
html[data-skin="ind"] body.dark-mode [style*="background-color: #162032"]{ background-color:var(--bg-subtle) !important }
html[data-skin="ind"] body.dark-mode [style*="background:#1e3a5f"],
html[data-skin="ind"] body.dark-mode [style*="background: #1e3a5f"],
html[data-skin="ind"] body.dark-mode [style*="background-color:#1e3a5f"],
html[data-skin="ind"] body.dark-mode [style*="background-color: #1e3a5f"]{ background-color:var(--bg-muted) !important }

/* 기존 다크모드 스타일시트 규칙(컴포넌트 하드코딩)도 야간판으로 */
html[data-skin="ind"] body.dark-mode,
html[data-skin="ind"] body.dark-mode .content-card,
html[data-skin="ind"] body.dark-mode .stat-card,
html[data-skin="ind"] body.dark-mode .table-wrapper,
html[data-skin="ind"] body.dark-mode .chem-frozen-cell{ background-color:var(--bg-card) !important }
html[data-skin="ind"] body.dark-mode .card-header,
html[data-skin="ind"] body.dark-mode thead th,
html[data-skin="ind"] body.dark-mode .table-wrapper thead th{ background-color:var(--bg-subtle) !important }
html[data-skin="ind"] body.dark-mode .main-header,
html[data-skin="ind"] body.dark-mode .sub-nav-bar,
html[data-skin="ind"] body.dark-mode .top-nav{ background-color:var(--white) !important; border-color:var(--border-color) !important }

/* ── 상태 강조색 솔리드 토큰 + 밝은 인라인 액센트 텍스트 → 저채도(배지·라벨 가독성 유지) ── */
html[data-skin="ind"]{ --ok:#2e7d46; --warn:#b26a08; --danger:#bb3524; --info:#2b5fb4; }   /* E-전역 상향 값과 동기(정의 우선권은 skin-industrial.css — 값 불일치로 조용히 역전되는 사고 방지) */
html[data-skin="ind"] body.dark-mode{ --ok:#6fbf82; --warn:#e0a44e; --danger:#e8746a; --info:#7aa5ec; }

html[data-skin="ind"] [style^="color:#ef4444"], html[data-skin="ind"] [style*=" color:#ef4444"], html[data-skin="ind"] [style*=";color:#ef4444"], html[data-skin="ind"] [style^="color: #ef4444"], html[data-skin="ind"] [style*=" color: #ef4444"], html[data-skin="ind"] [style*=";color: #ef4444"],
html[data-skin="ind"] [style^="color:#dc2626"], html[data-skin="ind"] [style*=" color:#dc2626"], html[data-skin="ind"] [style*=";color:#dc2626"], html[data-skin="ind"] [style^="color: #dc2626"], html[data-skin="ind"] [style*=" color: #dc2626"], html[data-skin="ind"] [style*=";color: #dc2626"],
html[data-skin="ind"] [style^="color:#e11d48"], html[data-skin="ind"] [style*=" color:#e11d48"], html[data-skin="ind"] [style*=";color:#e11d48"], html[data-skin="ind"] [style^="color: #e11d48"], html[data-skin="ind"] [style*=" color: #e11d48"], html[data-skin="ind"] [style*=";color: #e11d48"],
html[data-skin="ind"] [style^="color:#b91c1c"], html[data-skin="ind"] [style*=" color:#b91c1c"], html[data-skin="ind"] [style*=";color:#b91c1c"], html[data-skin="ind"] [style^="color: #b91c1c"], html[data-skin="ind"] [style*=" color: #b91c1c"], html[data-skin="ind"] [style*=";color: #b91c1c"],
html[data-skin="ind"] [style^="color:#f87171"], html[data-skin="ind"] [style*=" color:#f87171"], html[data-skin="ind"] [style*=";color:#f87171"], html[data-skin="ind"] [style^="color: #f87171"], html[data-skin="ind"] [style*=" color: #f87171"], html[data-skin="ind"] [style*=";color: #f87171"]{ color:var(--danger) !important }

html[data-skin="ind"] [style^="color:#10b981"], html[data-skin="ind"] [style*=" color:#10b981"], html[data-skin="ind"] [style*=";color:#10b981"], html[data-skin="ind"] [style^="color: #10b981"], html[data-skin="ind"] [style*=" color: #10b981"], html[data-skin="ind"] [style*=";color: #10b981"],
html[data-skin="ind"] [style^="color:#16a34a"], html[data-skin="ind"] [style*=" color:#16a34a"], html[data-skin="ind"] [style*=";color:#16a34a"], html[data-skin="ind"] [style^="color: #16a34a"], html[data-skin="ind"] [style*=" color: #16a34a"], html[data-skin="ind"] [style*=";color: #16a34a"],
html[data-skin="ind"] [style^="color:#22c55e"], html[data-skin="ind"] [style*=" color:#22c55e"], html[data-skin="ind"] [style*=";color:#22c55e"], html[data-skin="ind"] [style^="color: #22c55e"], html[data-skin="ind"] [style*=" color: #22c55e"], html[data-skin="ind"] [style*=";color: #22c55e"],
html[data-skin="ind"] [style^="color:#15803d"], html[data-skin="ind"] [style*=" color:#15803d"], html[data-skin="ind"] [style*=";color:#15803d"], html[data-skin="ind"] [style^="color: #15803d"], html[data-skin="ind"] [style*=" color: #15803d"], html[data-skin="ind"] [style*=";color: #15803d"],
html[data-skin="ind"] [style^="color:#059669"], html[data-skin="ind"] [style*=" color:#059669"], html[data-skin="ind"] [style*=";color:#059669"], html[data-skin="ind"] [style^="color: #059669"], html[data-skin="ind"] [style*=" color: #059669"], html[data-skin="ind"] [style*=";color: #059669"],
html[data-skin="ind"] [style^="color:#4ade80"], html[data-skin="ind"] [style*=" color:#4ade80"], html[data-skin="ind"] [style*=";color:#4ade80"], html[data-skin="ind"] [style^="color: #4ade80"], html[data-skin="ind"] [style*=" color: #4ade80"], html[data-skin="ind"] [style*=";color: #4ade80"]{ color:var(--ok) !important }

html[data-skin="ind"] [style^="color:#f59e0b"], html[data-skin="ind"] [style*=" color:#f59e0b"], html[data-skin="ind"] [style*=";color:#f59e0b"], html[data-skin="ind"] [style^="color: #f59e0b"], html[data-skin="ind"] [style*=" color: #f59e0b"], html[data-skin="ind"] [style*=";color: #f59e0b"],
html[data-skin="ind"] [style^="color:#d97706"], html[data-skin="ind"] [style*=" color:#d97706"], html[data-skin="ind"] [style*=";color:#d97706"], html[data-skin="ind"] [style^="color: #d97706"], html[data-skin="ind"] [style*=" color: #d97706"], html[data-skin="ind"] [style*=";color: #d97706"],
html[data-skin="ind"] [style^="color:#b45309"], html[data-skin="ind"] [style*=" color:#b45309"], html[data-skin="ind"] [style*=";color:#b45309"], html[data-skin="ind"] [style^="color: #b45309"], html[data-skin="ind"] [style*=" color: #b45309"], html[data-skin="ind"] [style*=";color: #b45309"],
html[data-skin="ind"] [style^="color:#92400e"], html[data-skin="ind"] [style*=" color:#92400e"], html[data-skin="ind"] [style*=";color:#92400e"], html[data-skin="ind"] [style^="color: #92400e"], html[data-skin="ind"] [style*=" color: #92400e"], html[data-skin="ind"] [style*=";color: #92400e"],
html[data-skin="ind"] [style^="color:#ea580c"], html[data-skin="ind"] [style*=" color:#ea580c"], html[data-skin="ind"] [style*=";color:#ea580c"], html[data-skin="ind"] [style^="color: #ea580c"], html[data-skin="ind"] [style*=" color: #ea580c"], html[data-skin="ind"] [style*=";color: #ea580c"],
html[data-skin="ind"] [style^="color:#f97316"], html[data-skin="ind"] [style*=" color:#f97316"], html[data-skin="ind"] [style*=";color:#f97316"], html[data-skin="ind"] [style^="color: #f97316"], html[data-skin="ind"] [style*=" color: #f97316"], html[data-skin="ind"] [style*=";color: #f97316"]{ color:var(--warn) !important }

html[data-skin="ind"] [style^="color:#3b82f6"], html[data-skin="ind"] [style*=" color:#3b82f6"], html[data-skin="ind"] [style*=";color:#3b82f6"], html[data-skin="ind"] [style^="color: #3b82f6"], html[data-skin="ind"] [style*=" color: #3b82f6"], html[data-skin="ind"] [style*=";color: #3b82f6"],
html[data-skin="ind"] [style^="color:#2563eb"], html[data-skin="ind"] [style*=" color:#2563eb"], html[data-skin="ind"] [style*=";color:#2563eb"], html[data-skin="ind"] [style^="color: #2563eb"], html[data-skin="ind"] [style*=" color: #2563eb"], html[data-skin="ind"] [style*=";color: #2563eb"],
html[data-skin="ind"] [style^="color:#7c3aed"], html[data-skin="ind"] [style*=" color:#7c3aed"], html[data-skin="ind"] [style*=";color:#7c3aed"], html[data-skin="ind"] [style^="color: #7c3aed"], html[data-skin="ind"] [style*=" color: #7c3aed"], html[data-skin="ind"] [style*=";color: #7c3aed"],
html[data-skin="ind"] [style^="color:#6d28d9"], html[data-skin="ind"] [style*=" color:#6d28d9"], html[data-skin="ind"] [style*=";color:#6d28d9"], html[data-skin="ind"] [style^="color: #6d28d9"], html[data-skin="ind"] [style*=" color: #6d28d9"], html[data-skin="ind"] [style*=";color: #6d28d9"],
html[data-skin="ind"] [style^="color:#8b5cf6"], html[data-skin="ind"] [style*=" color:#8b5cf6"], html[data-skin="ind"] [style*=";color:#8b5cf6"], html[data-skin="ind"] [style^="color: #8b5cf6"], html[data-skin="ind"] [style*=" color: #8b5cf6"], html[data-skin="ind"] [style*=";color: #8b5cf6"],
html[data-skin="ind"] [style^="color:#38bdf8"], html[data-skin="ind"] [style*=" color:#38bdf8"], html[data-skin="ind"] [style*=";color:#38bdf8"], html[data-skin="ind"] [style^="color: #38bdf8"], html[data-skin="ind"] [style*=" color: #38bdf8"], html[data-skin="ind"] [style*=";color: #38bdf8"]{ color:var(--info) !important }

/* ── 기능버튼 솔리드 배경 → 저채도 솔리드 (뒤 세미콜론 있는 솔리드만; 틴트 배지 보존) ── */
html[data-skin="ind"] [style*="background:#3b82f6;"],
html[data-skin="ind"] [style*="background: #3b82f6;"],
html[data-skin="ind"] [style*="background-color:#3b82f6;"],
html[data-skin="ind"] [style*="background-color: #3b82f6;"],
html[data-skin="ind"] [style*="background:#2563eb;"],
html[data-skin="ind"] [style*="background: #2563eb;"],
html[data-skin="ind"] [style*="background-color:#2563eb;"],
html[data-skin="ind"] [style*="background-color: #2563eb;"],
html[data-skin="ind"] [style*="background:#2196f3;"],
html[data-skin="ind"] [style*="background: #2196f3;"],
html[data-skin="ind"] [style*="background-color:#2196f3;"],
html[data-skin="ind"] [style*="background-color: #2196f3;"],
html[data-skin="ind"] [style*="background:#1d4ed8;"],
html[data-skin="ind"] [style*="background: #1d4ed8;"],
html[data-skin="ind"] [style*="background-color:#1d4ed8;"],
html[data-skin="ind"] [style*="background-color: #1d4ed8;"],
html[data-skin="ind"] [style*="background:#1e40af;"],
html[data-skin="ind"] [style*="background: #1e40af;"],
html[data-skin="ind"] [style*="background-color:#1e40af;"],
html[data-skin="ind"] [style*="background-color: #1e40af;"],
html[data-skin="ind"] [style*="background:#4f46e5;"],
html[data-skin="ind"] [style*="background: #4f46e5;"],
html[data-skin="ind"] [style*="background-color:#4f46e5;"],
html[data-skin="ind"] [style*="background-color: #4f46e5;"],
html[data-skin="ind"] [style*="background:#6366f1;"],
html[data-skin="ind"] [style*="background: #6366f1;"],
html[data-skin="ind"] [style*="background-color:#6366f1;"],
html[data-skin="ind"] [style*="background-color: #6366f1;"]{ background-color:var(--info) !important; background-image:none !important }
html[data-skin="ind"] [style*="background:#10b981;"],
html[data-skin="ind"] [style*="background: #10b981;"],
html[data-skin="ind"] [style*="background-color:#10b981;"],
html[data-skin="ind"] [style*="background-color: #10b981;"],
html[data-skin="ind"] [style*="background:#16a34a;"],
html[data-skin="ind"] [style*="background: #16a34a;"],
html[data-skin="ind"] [style*="background-color:#16a34a;"],
html[data-skin="ind"] [style*="background-color: #16a34a;"],
html[data-skin="ind"] [style*="background:#22c55e;"],
html[data-skin="ind"] [style*="background: #22c55e;"],
html[data-skin="ind"] [style*="background-color:#22c55e;"],
html[data-skin="ind"] [style*="background-color: #22c55e;"],
html[data-skin="ind"] [style*="background:#059669;"],
html[data-skin="ind"] [style*="background: #059669;"],
html[data-skin="ind"] [style*="background-color:#059669;"],
html[data-skin="ind"] [style*="background-color: #059669;"],
html[data-skin="ind"] [style*="background:#15803d;"],
html[data-skin="ind"] [style*="background: #15803d;"],
html[data-skin="ind"] [style*="background-color:#15803d;"],
html[data-skin="ind"] [style*="background-color: #15803d;"],
html[data-skin="ind"] [style*="background:#14b8a6;"],
html[data-skin="ind"] [style*="background: #14b8a6;"],
html[data-skin="ind"] [style*="background-color:#14b8a6;"],
html[data-skin="ind"] [style*="background-color: #14b8a6;"],
html[data-skin="ind"] [style*="background:#0d9488;"],
html[data-skin="ind"] [style*="background: #0d9488;"],
html[data-skin="ind"] [style*="background-color:#0d9488;"],
html[data-skin="ind"] [style*="background-color: #0d9488;"]{ background-color:var(--ok) !important; background-image:none !important }
html[data-skin="ind"] [style*="background:#ef4444;"],
html[data-skin="ind"] [style*="background: #ef4444;"],
html[data-skin="ind"] [style*="background-color:#ef4444;"],
html[data-skin="ind"] [style*="background-color: #ef4444;"],
html[data-skin="ind"] [style*="background:#dc2626;"],
html[data-skin="ind"] [style*="background: #dc2626;"],
html[data-skin="ind"] [style*="background-color:#dc2626;"],
html[data-skin="ind"] [style*="background-color: #dc2626;"],
html[data-skin="ind"] [style*="background:#b91c1c;"],
html[data-skin="ind"] [style*="background: #b91c1c;"],
html[data-skin="ind"] [style*="background-color:#b91c1c;"],
html[data-skin="ind"] [style*="background-color: #b91c1c;"],
html[data-skin="ind"] [style*="background:#e11d48;"],
html[data-skin="ind"] [style*="background: #e11d48;"],
html[data-skin="ind"] [style*="background-color:#e11d48;"],
html[data-skin="ind"] [style*="background-color: #e11d48;"],
html[data-skin="ind"] [style*="background:#e53e3e;"],
html[data-skin="ind"] [style*="background: #e53e3e;"],
html[data-skin="ind"] [style*="background-color:#e53e3e;"],
html[data-skin="ind"] [style*="background-color: #e53e3e;"]{ background-color:var(--danger) !important; background-image:none !important }
html[data-skin="ind"] [style*="background:#f59e0b;"],
html[data-skin="ind"] [style*="background: #f59e0b;"],
html[data-skin="ind"] [style*="background-color:#f59e0b;"],
html[data-skin="ind"] [style*="background-color: #f59e0b;"],
html[data-skin="ind"] [style*="background:#d97706;"],
html[data-skin="ind"] [style*="background: #d97706;"],
html[data-skin="ind"] [style*="background-color:#d97706;"],
html[data-skin="ind"] [style*="background-color: #d97706;"],
html[data-skin="ind"] [style*="background:#b45309;"],
html[data-skin="ind"] [style*="background: #b45309;"],
html[data-skin="ind"] [style*="background-color:#b45309;"],
html[data-skin="ind"] [style*="background-color: #b45309;"],
html[data-skin="ind"] [style*="background:#ea580c;"],
html[data-skin="ind"] [style*="background: #ea580c;"],
html[data-skin="ind"] [style*="background-color:#ea580c;"],
html[data-skin="ind"] [style*="background-color: #ea580c;"],
html[data-skin="ind"] [style*="background:#f97316;"],
html[data-skin="ind"] [style*="background: #f97316;"],
html[data-skin="ind"] [style*="background-color:#f97316;"],
html[data-skin="ind"] [style*="background-color: #f97316;"]{ background-color:var(--warn) !important; background-image:none !important }

/* ── [전 메뉴 톤] 1. 솔리드 버튼 배경 보강 → 저채도 솔리드 ── */
html[data-skin="ind"] [style*="background:#3b82f6;"],
html[data-skin="ind"] [style*="background: #3b82f6;"],
html[data-skin="ind"] [style*="background-color:#3b82f6;"],
html[data-skin="ind"] [style*="background-color: #3b82f6;"],
html[data-skin="ind"] [style*="background:#2563eb;"],
html[data-skin="ind"] [style*="background: #2563eb;"],
html[data-skin="ind"] [style*="background-color:#2563eb;"],
html[data-skin="ind"] [style*="background-color: #2563eb;"],
html[data-skin="ind"] [style*="background:#2196f3;"],
html[data-skin="ind"] [style*="background: #2196f3;"],
html[data-skin="ind"] [style*="background-color:#2196f3;"],
html[data-skin="ind"] [style*="background-color: #2196f3;"],
html[data-skin="ind"] [style*="background:#1d4ed8;"],
html[data-skin="ind"] [style*="background: #1d4ed8;"],
html[data-skin="ind"] [style*="background-color:#1d4ed8;"],
html[data-skin="ind"] [style*="background-color: #1d4ed8;"],
html[data-skin="ind"] [style*="background:#1e40af;"],
html[data-skin="ind"] [style*="background: #1e40af;"],
html[data-skin="ind"] [style*="background-color:#1e40af;"],
html[data-skin="ind"] [style*="background-color: #1e40af;"],
html[data-skin="ind"] [style*="background:#0369a1;"],
html[data-skin="ind"] [style*="background: #0369a1;"],
html[data-skin="ind"] [style*="background-color:#0369a1;"],
html[data-skin="ind"] [style*="background-color: #0369a1;"],
html[data-skin="ind"] [style*="background:#0284c7;"],
html[data-skin="ind"] [style*="background: #0284c7;"],
html[data-skin="ind"] [style*="background-color:#0284c7;"],
html[data-skin="ind"] [style*="background-color: #0284c7;"],
html[data-skin="ind"] [style*="background:#0ea5e9;"],
html[data-skin="ind"] [style*="background: #0ea5e9;"],
html[data-skin="ind"] [style*="background-color:#0ea5e9;"],
html[data-skin="ind"] [style*="background-color: #0ea5e9;"],
html[data-skin="ind"] [style*="background:#4f46e5;"],
html[data-skin="ind"] [style*="background: #4f46e5;"],
html[data-skin="ind"] [style*="background-color:#4f46e5;"],
html[data-skin="ind"] [style*="background-color: #4f46e5;"],
html[data-skin="ind"] [style*="background:#6366f1;"],
html[data-skin="ind"] [style*="background: #6366f1;"],
html[data-skin="ind"] [style*="background-color:#6366f1;"],
html[data-skin="ind"] [style*="background-color: #6366f1;"],
html[data-skin="ind"] [style*="background:#4338ca;"],
html[data-skin="ind"] [style*="background: #4338ca;"],
html[data-skin="ind"] [style*="background-color:#4338ca;"],
html[data-skin="ind"] [style*="background-color: #4338ca;"],
html[data-skin="ind"] [style*="background:#7c3aed;"],
html[data-skin="ind"] [style*="background: #7c3aed;"],
html[data-skin="ind"] [style*="background-color:#7c3aed;"],
html[data-skin="ind"] [style*="background-color: #7c3aed;"],
html[data-skin="ind"] [style*="background:#8b5cf6;"],
html[data-skin="ind"] [style*="background: #8b5cf6;"],
html[data-skin="ind"] [style*="background-color:#8b5cf6;"],
html[data-skin="ind"] [style*="background-color: #8b5cf6;"],
html[data-skin="ind"] [style*="background:#6d28d9;"],
html[data-skin="ind"] [style*="background: #6d28d9;"],
html[data-skin="ind"] [style*="background-color:#6d28d9;"],
html[data-skin="ind"] [style*="background-color: #6d28d9;"],
html[data-skin="ind"] [style*="background:#312e81;"],
html[data-skin="ind"] [style*="background: #312e81;"],
html[data-skin="ind"] [style*="background-color:#312e81;"],
html[data-skin="ind"] [style*="background-color: #312e81;"],
html[data-skin="ind"] [style*="background:#1e1b4b;"],
html[data-skin="ind"] [style*="background: #1e1b4b;"],
html[data-skin="ind"] [style*="background-color:#1e1b4b;"],
html[data-skin="ind"] [style*="background-color: #1e1b4b;"]{ background-color:var(--info) !important; background-image:none !important }
html[data-skin="ind"] [style*="background:#10b981;"],
html[data-skin="ind"] [style*="background: #10b981;"],
html[data-skin="ind"] [style*="background-color:#10b981;"],
html[data-skin="ind"] [style*="background-color: #10b981;"],
html[data-skin="ind"] [style*="background:#16a34a;"],
html[data-skin="ind"] [style*="background: #16a34a;"],
html[data-skin="ind"] [style*="background-color:#16a34a;"],
html[data-skin="ind"] [style*="background-color: #16a34a;"],
html[data-skin="ind"] [style*="background:#22c55e;"],
html[data-skin="ind"] [style*="background: #22c55e;"],
html[data-skin="ind"] [style*="background-color:#22c55e;"],
html[data-skin="ind"] [style*="background-color: #22c55e;"],
html[data-skin="ind"] [style*="background:#059669;"],
html[data-skin="ind"] [style*="background: #059669;"],
html[data-skin="ind"] [style*="background-color:#059669;"],
html[data-skin="ind"] [style*="background-color: #059669;"],
html[data-skin="ind"] [style*="background:#15803d;"],
html[data-skin="ind"] [style*="background: #15803d;"],
html[data-skin="ind"] [style*="background-color:#15803d;"],
html[data-skin="ind"] [style*="background-color: #15803d;"],
html[data-skin="ind"] [style*="background:#047857;"],
html[data-skin="ind"] [style*="background: #047857;"],
html[data-skin="ind"] [style*="background-color:#047857;"],
html[data-skin="ind"] [style*="background-color: #047857;"],
html[data-skin="ind"] [style*="background:#0d9488;"],
html[data-skin="ind"] [style*="background: #0d9488;"],
html[data-skin="ind"] [style*="background-color:#0d9488;"],
html[data-skin="ind"] [style*="background-color: #0d9488;"],
html[data-skin="ind"] [style*="background:#14b8a6;"],
html[data-skin="ind"] [style*="background: #14b8a6;"],
html[data-skin="ind"] [style*="background-color:#14b8a6;"],
html[data-skin="ind"] [style*="background-color: #14b8a6;"],
html[data-skin="ind"] [style*="background:#0f766e;"],
html[data-skin="ind"] [style*="background: #0f766e;"],
html[data-skin="ind"] [style*="background-color:#0f766e;"],
html[data-skin="ind"] [style*="background-color: #0f766e;"]{ background-color:var(--ok) !important; background-image:none !important }
html[data-skin="ind"] [style*="background:#ef4444;"],
html[data-skin="ind"] [style*="background: #ef4444;"],
html[data-skin="ind"] [style*="background-color:#ef4444;"],
html[data-skin="ind"] [style*="background-color: #ef4444;"],
html[data-skin="ind"] [style*="background:#dc2626;"],
html[data-skin="ind"] [style*="background: #dc2626;"],
html[data-skin="ind"] [style*="background-color:#dc2626;"],
html[data-skin="ind"] [style*="background-color: #dc2626;"],
html[data-skin="ind"] [style*="background:#b91c1c;"],
html[data-skin="ind"] [style*="background: #b91c1c;"],
html[data-skin="ind"] [style*="background-color:#b91c1c;"],
html[data-skin="ind"] [style*="background-color: #b91c1c;"],
html[data-skin="ind"] [style*="background:#e11d48;"],
html[data-skin="ind"] [style*="background: #e11d48;"],
html[data-skin="ind"] [style*="background-color:#e11d48;"],
html[data-skin="ind"] [style*="background-color: #e11d48;"],
html[data-skin="ind"] [style*="background:#be123c;"],
html[data-skin="ind"] [style*="background: #be123c;"],
html[data-skin="ind"] [style*="background-color:#be123c;"],
html[data-skin="ind"] [style*="background-color: #be123c;"],
html[data-skin="ind"] [style*="background:#9f1239;"],
html[data-skin="ind"] [style*="background: #9f1239;"],
html[data-skin="ind"] [style*="background-color:#9f1239;"],
html[data-skin="ind"] [style*="background-color: #9f1239;"],
html[data-skin="ind"] [style*="background:#991b1b;"],
html[data-skin="ind"] [style*="background: #991b1b;"],
html[data-skin="ind"] [style*="background-color:#991b1b;"],
html[data-skin="ind"] [style*="background-color: #991b1b;"],
html[data-skin="ind"] [style*="background:#7f1d1d;"],
html[data-skin="ind"] [style*="background: #7f1d1d;"],
html[data-skin="ind"] [style*="background-color:#7f1d1d;"],
html[data-skin="ind"] [style*="background-color: #7f1d1d;"],
html[data-skin="ind"] [style*="background:#e53e3e;"],
html[data-skin="ind"] [style*="background: #e53e3e;"],
html[data-skin="ind"] [style*="background-color:#e53e3e;"],
html[data-skin="ind"] [style*="background-color: #e53e3e;"]{ background-color:var(--danger) !important; background-image:none !important }
html[data-skin="ind"] [style*="background:#f59e0b;"],
html[data-skin="ind"] [style*="background: #f59e0b;"],
html[data-skin="ind"] [style*="background-color:#f59e0b;"],
html[data-skin="ind"] [style*="background-color: #f59e0b;"],
html[data-skin="ind"] [style*="background:#d97706;"],
html[data-skin="ind"] [style*="background: #d97706;"],
html[data-skin="ind"] [style*="background-color:#d97706;"],
html[data-skin="ind"] [style*="background-color: #d97706;"],
html[data-skin="ind"] [style*="background:#b45309;"],
html[data-skin="ind"] [style*="background: #b45309;"],
html[data-skin="ind"] [style*="background-color:#b45309;"],
html[data-skin="ind"] [style*="background-color: #b45309;"],
html[data-skin="ind"] [style*="background:#ea580c;"],
html[data-skin="ind"] [style*="background: #ea580c;"],
html[data-skin="ind"] [style*="background-color:#ea580c;"],
html[data-skin="ind"] [style*="background-color: #ea580c;"],
html[data-skin="ind"] [style*="background:#f97316;"],
html[data-skin="ind"] [style*="background: #f97316;"],
html[data-skin="ind"] [style*="background-color:#f97316;"],
html[data-skin="ind"] [style*="background-color: #f97316;"],
html[data-skin="ind"] [style*="background:#c2410c;"],
html[data-skin="ind"] [style*="background: #c2410c;"],
html[data-skin="ind"] [style*="background-color:#c2410c;"],
html[data-skin="ind"] [style*="background-color: #c2410c;"],
html[data-skin="ind"] [style*="background:#9a3412;"],
html[data-skin="ind"] [style*="background: #9a3412;"],
html[data-skin="ind"] [style*="background-color:#9a3412;"],
html[data-skin="ind"] [style*="background-color: #9a3412;"],
html[data-skin="ind"] [style*="background:#ca8a04;"],
html[data-skin="ind"] [style*="background: #ca8a04;"],
html[data-skin="ind"] [style*="background-color:#ca8a04;"],
html[data-skin="ind"] [style*="background-color: #ca8a04;"]{ background-color:var(--warn) !important; background-image:none !important }
/* ── [전 메뉴 톤] 2. 그라디언트 중화 (linear-gradient + 대표색) ── */
html[data-skin="ind"] [style*="linear-gradient"][style*="#f59e0b"],
html[data-skin="ind"] [style*="linear-gradient"][style*="#d97706"],
html[data-skin="ind"] [style*="linear-gradient"][style*="#fbbf24"],
html[data-skin="ind"] [style*="linear-gradient"][style*="#ea580c"],
html[data-skin="ind"] [style*="linear-gradient"][style*="#c2410c"],
html[data-skin="ind"] [style*="linear-gradient"][style*="#9a3412"],
html[data-skin="ind"] [style*="linear-gradient"][style*="#78350f"]{ background-image:none !important; background-color:var(--warn) !important }
html[data-skin="ind"] [style*="linear-gradient"][style*="#10b981"],
html[data-skin="ind"] [style*="linear-gradient"][style*="#059669"],
html[data-skin="ind"] [style*="linear-gradient"][style*="#047857"],
html[data-skin="ind"] [style*="linear-gradient"][style*="#065f46"],
html[data-skin="ind"] [style*="linear-gradient"][style*="#0d9488"]{ background-image:none !important; background-color:var(--ok) !important }
html[data-skin="ind"] [style*="linear-gradient"][style*="#dc2626"],
html[data-skin="ind"] [style*="linear-gradient"][style*="#b91c1c"],
html[data-skin="ind"] [style*="linear-gradient"][style*="#7f1d1d"],
html[data-skin="ind"] [style*="linear-gradient"][style*="#ef4444"],
html[data-skin="ind"] [style*="linear-gradient"][style*="#991b1b"]{ background-image:none !important; background-color:var(--danger) !important }
html[data-skin="ind"] [style*="linear-gradient"][style*="#8b5cf6"],
html[data-skin="ind"] [style*="linear-gradient"][style*="#6366f1"],
html[data-skin="ind"] [style*="linear-gradient"][style*="#4f46e5"],
html[data-skin="ind"] [style*="linear-gradient"][style*="#312e81"],
html[data-skin="ind"] [style*="linear-gradient"][style*="#1e1b4b"],
html[data-skin="ind"] [style*="linear-gradient"][style*="#0f2744"],
html[data-skin="ind"] [style*="linear-gradient"][style*="#1e3a8a"],
html[data-skin="ind"] [style*="linear-gradient"][style*="#3b82f6"],
html[data-skin="ind"] [style*="linear-gradient"][style*="#0369a1"],
html[data-skin="ind"] [style*="linear-gradient"][style*="#7c3aed"]{ background-image:none !important; background-color:var(--info) !important }
/* ── [전 메뉴 톤] 3. 연한 틴트 배경 → 산업 소프트 틴트 ── */
html[data-skin="ind"] [style*="background:#fff5f5"],
html[data-skin="ind"] [style*="background: #fff5f5"],
html[data-skin="ind"] [style*="background-color:#fff5f5"],
html[data-skin="ind"] [style*="background-color: #fff5f5"],
html[data-skin="ind"] [style*="background:#fff8f8"],
html[data-skin="ind"] [style*="background: #fff8f8"],
html[data-skin="ind"] [style*="background-color:#fff8f8"],
html[data-skin="ind"] [style*="background-color: #fff8f8"],
html[data-skin="ind"] [style*="background:#fff1f2"],
html[data-skin="ind"] [style*="background: #fff1f2"],
html[data-skin="ind"] [style*="background-color:#fff1f2"],
html[data-skin="ind"] [style*="background-color: #fff1f2"],
html[data-skin="ind"] [style*="background:#ffe4e6"],
html[data-skin="ind"] [style*="background: #ffe4e6"],
html[data-skin="ind"] [style*="background-color:#ffe4e6"],
html[data-skin="ind"] [style*="background-color: #ffe4e6"],
html[data-skin="ind"] [style*="background:#fef2f3"],
html[data-skin="ind"] [style*="background: #fef2f3"],
html[data-skin="ind"] [style*="background-color:#fef2f3"],
html[data-skin="ind"] [style*="background-color: #fef2f3"]{ background-color:var(--bg-danger-soft) !important }
html[data-skin="ind"] [style*="background:#ecfdf5"],
html[data-skin="ind"] [style*="background: #ecfdf5"],
html[data-skin="ind"] [style*="background-color:#ecfdf5"],
html[data-skin="ind"] [style*="background-color: #ecfdf5"],
html[data-skin="ind"] [style*="background:#f0fdfa"],
html[data-skin="ind"] [style*="background: #f0fdfa"],
html[data-skin="ind"] [style*="background-color:#f0fdfa"],
html[data-skin="ind"] [style*="background-color: #f0fdfa"],
html[data-skin="ind"] [style*="background:#ccfbf1"],
html[data-skin="ind"] [style*="background: #ccfbf1"],
html[data-skin="ind"] [style*="background-color:#ccfbf1"],
html[data-skin="ind"] [style*="background-color: #ccfbf1"],
html[data-skin="ind"] [style*="background:#ecfeff"],
html[data-skin="ind"] [style*="background: #ecfeff"],
html[data-skin="ind"] [style*="background-color:#ecfeff"],
html[data-skin="ind"] [style*="background-color: #ecfeff"],
html[data-skin="ind"] [style*="background:#d1fae5"],
html[data-skin="ind"] [style*="background: #d1fae5"],
html[data-skin="ind"] [style*="background-color:#d1fae5"],
html[data-skin="ind"] [style*="background-color: #d1fae5"],
html[data-skin="ind"] [style*="background:#f0fdf9"],
html[data-skin="ind"] [style*="background: #f0fdf9"],
html[data-skin="ind"] [style*="background-color:#f0fdf9"],
html[data-skin="ind"] [style*="background-color: #f0fdf9"]{ background-color:var(--bg-success-soft) !important }
html[data-skin="ind"] [style*="background:#f0f9ff"],
html[data-skin="ind"] [style*="background: #f0f9ff"],
html[data-skin="ind"] [style*="background-color:#f0f9ff"],
html[data-skin="ind"] [style*="background-color: #f0f9ff"],
html[data-skin="ind"] [style*="background:#f8faff"],
html[data-skin="ind"] [style*="background: #f8faff"],
html[data-skin="ind"] [style*="background-color:#f8faff"],
html[data-skin="ind"] [style*="background-color: #f8faff"],
html[data-skin="ind"] [style*="background:#e0f2fe"],
html[data-skin="ind"] [style*="background: #e0f2fe"],
html[data-skin="ind"] [style*="background-color:#e0f2fe"],
html[data-skin="ind"] [style*="background-color: #e0f2fe"],
html[data-skin="ind"] [style*="background:#dbeafe"],
html[data-skin="ind"] [style*="background: #dbeafe"],
html[data-skin="ind"] [style*="background-color:#dbeafe"],
html[data-skin="ind"] [style*="background-color: #dbeafe"],
html[data-skin="ind"] [style*="background:#eef2ff"],
html[data-skin="ind"] [style*="background: #eef2ff"],
html[data-skin="ind"] [style*="background-color:#eef2ff"],
html[data-skin="ind"] [style*="background-color: #eef2ff"],
html[data-skin="ind"] [style*="background:#f5f3ff"],
html[data-skin="ind"] [style*="background: #f5f3ff"],
html[data-skin="ind"] [style*="background-color:#f5f3ff"],
html[data-skin="ind"] [style*="background-color: #f5f3ff"],
html[data-skin="ind"] [style*="background:#faf5ff"],
html[data-skin="ind"] [style*="background: #faf5ff"],
html[data-skin="ind"] [style*="background-color:#faf5ff"],
html[data-skin="ind"] [style*="background-color: #faf5ff"],
html[data-skin="ind"] [style*="background:#f3e8ff"],
html[data-skin="ind"] [style*="background: #f3e8ff"],
html[data-skin="ind"] [style*="background-color:#f3e8ff"],
html[data-skin="ind"] [style*="background-color: #f3e8ff"],
html[data-skin="ind"] [style*="background:#e0e7ff"],
html[data-skin="ind"] [style*="background: #e0e7ff"],
html[data-skin="ind"] [style*="background-color:#e0e7ff"],
html[data-skin="ind"] [style*="background-color: #e0e7ff"],
html[data-skin="ind"] [style*="background:#ede9fe"],
html[data-skin="ind"] [style*="background: #ede9fe"],
html[data-skin="ind"] [style*="background-color:#ede9fe"],
html[data-skin="ind"] [style*="background-color: #ede9fe"]{ background-color:var(--bg-info-soft) !important }
html[data-skin="ind"] [style*="background:#fff7ed"],
html[data-skin="ind"] [style*="background: #fff7ed"],
html[data-skin="ind"] [style*="background-color:#fff7ed"],
html[data-skin="ind"] [style*="background-color: #fff7ed"],
html[data-skin="ind"] [style*="background:#ffedd5"],
html[data-skin="ind"] [style*="background: #ffedd5"],
html[data-skin="ind"] [style*="background-color:#ffedd5"],
html[data-skin="ind"] [style*="background-color: #ffedd5"],
html[data-skin="ind"] [style*="background:#fefce8"],
html[data-skin="ind"] [style*="background: #fefce8"],
html[data-skin="ind"] [style*="background-color:#fefce8"],
html[data-skin="ind"] [style*="background-color: #fefce8"],
html[data-skin="ind"] [style*="background:#fef9ee"],
html[data-skin="ind"] [style*="background: #fef9ee"],
html[data-skin="ind"] [style*="background-color:#fef9ee"],
html[data-skin="ind"] [style*="background-color: #fef9ee"],
html[data-skin="ind"] [style*="background:#fef08a"],
html[data-skin="ind"] [style*="background: #fef08a"],
html[data-skin="ind"] [style*="background-color:#fef08a"],
html[data-skin="ind"] [style*="background-color: #fef08a"]{ background-color:var(--bg-warn-soft) !important }

/* ── [다크 본문 잔여 남색] 클래스 기반 다크규칙 → 종이/잉크 야간판 ── */
html[data-skin="ind"] body.dark-mode .dashboard-container,
html[data-skin="ind"] body.dark-mode .view-section,
html[data-skin="ind"] body.dark-mode .dept-dashboard,
html[data-skin="ind"] body.dark-mode #view-home,
html[data-skin="ind"] body.dark-mode .chat-input-bar{ background-color:var(--secondary-color) !important }

html[data-skin="ind"] body.dark-mode tbody tr:nth-child(even) td{ background:var(--bg-subtle) !important }
html[data-skin="ind"] body.dark-mode tbody tr:hover td{ background:var(--bg-muted) !important }
html[data-skin="ind"] body.dark-mode tbody td{ border-color:var(--border-color) !important }
html[data-skin="ind"] body.dark-mode .chem-frozen-cell{ background:var(--bg-card) !important }
html[data-skin="ind"] body.dark-mode tr:hover .chem-frozen-cell{ background:var(--bg-muted) !important }
html[data-skin="ind"] body.dark-mode tr[style*="background:#f1f5f9"]{ background:var(--bg-subtle) !important }

/* 다크 파란 primary 버튼 → 산업 그린 통일 */
html[data-skin="ind"] body.dark-mode .btn-primary,
html[data-skin="ind"] body.dark-mode .btn-primary:hover{ background:var(--primary-color) !important }

/* 다크 스카이블루 액센트(#38bdf8) → 잉크/그린 */
html[data-skin="ind"] body.dark-mode .card-title::before,
html[data-skin="ind"] body.dark-mode .sub-nav-bar .nav-item.active::after{ background:var(--text-main) !important }
html[data-skin="ind"] body.dark-mode .system-title{ color:var(--text-main) !important }
html[data-skin="ind"] body.dark-mode .nav-main:hover,
html[data-skin="ind"] body.dark-mode .nav-main.active{ color:var(--text-main) !important }

/* 스크롤바 야간판 */
html[data-skin="ind"] body.dark-mode ::-webkit-scrollbar-track{ background:var(--secondary-color) !important }
html[data-skin="ind"] body.dark-mode ::-webkit-scrollbar-thumb{ background:var(--border-strong) !important }

/* ── 지표/카운트 숫자 = 모노 (데이터 계기판 느낌; 한글 라벨은 고딕 유지) ── */
html[data-skin="ind"] .stat-value,
html[data-skin="ind"] .insp-detail-value,
html[data-skin="ind"] .insp-name-count,
html[data-skin="ind"] .insp-type-count,
html[data-skin="ind"] .pe-item-score-display,
html[data-skin="ind"] .hp-input-value,
html[data-skin="ind"] .metric .v,
html[data-skin="ind"] .kpi-value,
html[data-skin="ind"] .count-value{ font-family:var(--mono) !important; }

/* ── 모바일 드로어: 헤더(+dev배너) 바로 아래서 시작 — shell.js가 실측 설정하는 --ind-top 사용
   (dev=배너33+헤더=93 · 운영=헤더만 — 하드코딩 시 운영에서 33px 틈 발생하므로 변수 필수) ── */
@media (max-width:1280px){
  html[data-skin="ind"] .top-nav{ top:var(--ind-top,93px) !important; }
  html[data-skin="ind"] .nav-backdrop{ top:var(--ind-top,93px) !important; }
}

/* PDCA 그룹헤더(.ind-gtitle)·푸터(.ind-footer)·우측 AI+MSDS 패널(.ind-aside)은
   skin-industrial-shell.js가 런타임 주입하고, skin-industrial.css(Phase 3)가 스타일링한다.
   izi-fab/izi-panel(우하단 플로팅 챗)은 원래 동작 그대로 유지 — .ind-aside와는 별개 위젯.
   여기서 재배치하지 말 것(중복 주입·라벨 겹침 재발 원인이었음). */
