/* ══════════════════════════════════════════════════════════════
   haccp selo · 다크 테마 (완전 블랙)
   ══════════════════════════════════════════════════════════════

   로드 순서: main.css → remote-support.css → theme-tokens.css
              → theme-overrides.css → journal-calendar.css → 이 파일(마지막)

   ─────────────────────────────────────────────────────────────
   이 파일이 지켜야 하는 규칙 4개 — 어기면 조용히 사고 난다
   ─────────────────────────────────────────────────────────────

   1) 파일 전체가 `@media screen` 안에 있다.
      인쇄에는 다크 규칙이 "덮여서 무효"가 아니라 "아예 존재하지 않는다".
      이게 없으면: 다크로 일지를 인쇄할 때 툴바의 작성일자·담당자·검토자가
      흰 종이에 흰 글씨로 찍혀 사라진다(main.css 의 print 블록은 표 배경만
      강제하고 글자색은 강제하지 않는다). 화면은 멀쩡해서 심사 때까지 모른다.

   2) 모든 선택자는 `html[data-theme="dark"]` 로 시작한다. 예외 없음.
      `prefers-color-scheme` 은 절대 쓰지 않는다 — 일지 PDF 내보내기가
      새 창에 모든 <link> 를 복사해 가는데(bundle-journal-base.js),
      새 창 <html> 에는 data-theme 가 없어서 지금은 자동으로 안전하다.
      미디어쿼리로 쓰는 순간 그 안전장치가 무너진다.
      → tests/design-tone-guard.test.js 가 이 두 가지를 기계로 검사한다.

   3) 다크 규칙은 이 파일에만 둔다. main.css / theme-overrides.css 에는 한 줄도.
      ① 되돌리기: 서버에서 이 파일만 비우면 즉시 라이트 복귀
         (server.js 가 모든 .css 에 no-store 를 준다. 서비스워커는 css 를 안 가로챈다)
      ② backend/utils/journalExampleBuilder.js 가 main/theme-tokens/theme-overrides 를
         하드코딩으로 물고 있어, 거기 섞으면 서버가 만드는 예시 문서까지 오염된다

   4) 제외는 `:not()` 이 아니라 "토큰 되돌리기"로 만든다. 아래 B절 참조.
      (`:not(#journalBody *)` 같은 복합 :not 은 Safari 16.4+ 전용이라
       구형 아이패드에서 규칙 전체가 조용히 무효화된다)
   ══════════════════════════════════════════════════════════════ */

@media screen {

/* ══════════════════════════════════════════════════════════════
   A. 토큰 — 화면의 대부분이 여기서 뒤집힌다
   ══════════════════════════════════════════════════════════════
   인라인 스타일의 글자색 55%, 배경 26% 가 이미 var() 를 지나가므로
   이 블록만으로 상당 부분이 따라온다.
   ══════════════════════════════════════════════════════════════ */
html[data-theme="dark"] {
  --cal-blue-bg:#17374d; --cal-blue-ink:#85ceff;
  --cal-orange-bg:#493322; --cal-orange-ink:#ffc386;
  --cal-pink-bg:#482932; --cal-pink-ink:#ffa9ba;
  /* ─── 면 ─── */
  --white:        #141414;   /* 카드·모달 종이. 화면 곳곳에서 '면'으로 쓰인다 */
  --card-bg:      #141414;
  --gray1:        #0A0A0A;   /* 페이지 바닥 */
  --paper:        #0A0A0A;
  --bg2:          #0A0A0A;
  --gray05:       #101010;   /* 아주 연한 회색 배경 자리 */
  --mist:         #1A1A1A;   /* 보조 면 */
  --primary-light:#1A1A1A;

  /* ─── 선 ─── */
  --gray2:        rgba(255, 255, 255, 0.06);
  --border:       rgba(255, 255, 255, 0.10);
  --hairline:     rgba(255, 255, 255, 0.055);
  --hairline-strong: rgba(255, 255, 255, 0.18);

  /* ─── 글씨 ─── */
  --gray4:        #C8C8CC;   /* 본문 */
  --ink:          #C8C8CC;
  --mono-text:    #C8C8CC;
  --mono-text-2:  #B4B4BA;
  --gray3:        #A0A0A6;   /* 보조 */
  --ink-soft:     #A0A0A6;
  --mono-text-3:  #8A8A92;
  --mono-accent:  #8A8A92;
  --mono-accent-2:#A4A4AA;
  --steel:        #9AA0AC;
  --primary:      #C8C8CC;

  /* ─── 대표 버튼 한 쌍 ───
     라이트는 '진회색 알약 + 흰 글씨'다.
     ★ 예전엔 그걸 그대로 뒤집어 '밝은 회색 판 + 검은 글씨'로 썼는데,
     검은 화면에서 큰 밝은 판때기가 되어 눈이 아팠다(대표 지적 2026-08-02).
     지금은 '어두운 면 + 밝은 테두리'다(대표 결정). 면은 페이지 바닥(#0A0A0A)보다
     한 단 밝게 띄우고, 버튼이라는 건 테두리로 알린다. */
  --btn-bg:       #26262C;
  --btn-fg:       #EDEDF0;
  --btn-line:     rgba(255, 255, 255, 0.20);
  --btn-soft-bg:  rgba(255, 255, 255, 0.06);
  --btn-soft-line: rgba(255, 255, 255, 0.20);

  /* ─── 사이드바(sage 계열) ─── */
  --sage:         #070707;
  --sage-deep:    rgba(255, 255, 255, 0.14);
  --sage-soft:    rgba(255, 255, 255, 0.06);
  --sage-line:    rgba(255, 255, 255, 0.08);
  --sage-text:    #D4D4D8;
  --sage-mute:    #8A8A92;

  /* ─── 상태색 — 검은 배경에서 보이도록 한 톤 밝게 ─── */
  --success:      #4ADE80;
  --seal-green:   #4ADE80;
  --success-light:rgba(74, 222, 128, 0.14);
  --danger:       #F87171;
  --seal-red:     #F87171;
  --danger-light: rgba(248, 113, 113, 0.14);
  --warning:      #FBBF24;
  --seal-amber:   #FBBF24;
  --warning-light:rgba(251, 191, 36, 0.14);

  /* ─── 도장 톤 — 글씨·배지용 상태색 (대표 지적 2026-08-02: "AI스럽다") ───
     위 세 줄(밝은 값)은 '점'용이다. 6~8px 짜리 점은 밝아야 검은 화면에서 보인다.
     그런데 같은 값을 글씨·배지에 쓰니 면적이 넓어져 네온처럼 튀었다.
     그래서 글씨·배지에는 채도를 죽인 이 한 벌을 쓴다 — 종이에 찍힌 도장 느낌.
       #93B79E  hsl(138 20% 65%)  카드면(#141414) 대비 8.34:1
       #C4A97F  hsl( 37 37% 63%)  카드면(#141414) 대비 8.18:1
       #CE9188  hsl(  8 42% 67%)  카드면(#141414) 대비 7.04:1
     (참고 — 네온이던 값들의 채도: 69% / 96% / 91%) */
  --stamp-green:  #93B79E;
  --stamp-amber:  #C4A97F;
  --stamp-red:    #CE9188;

  /* ─── 그림자 — 검은 배경에선 그림자가 안 보이므로 더 깊게 ─── */
  --shadow:         0 1px 3px rgba(0, 0, 0, 0.6), 0 4px 16px rgba(0, 0, 0, 0.5);
  --shadow-lg:      0 4px 12px rgba(0, 0, 0, 0.7), 0 12px 40px rgba(0, 0, 0, 0.6);
  --shadow-whisper: 0 1px 0 rgba(255, 255, 255, 0.04);
  --shadow-lift:    0 1px 2px rgba(0, 0, 0, 0.6), 0 8px 24px rgba(0, 0, 0, 0.55);

  /* ─── 화면 코드에 박혀 있던 색에 붙인 이름들 (theme-tokens.css 참조) ───
     라이트에선 값이 여러 갈래지만 다크에선 "면"이라는 역할만 남으므로 몇 단계로 모은다. */
  --sf-warm:   #141414;
  --sf-cool:   #1A1A1A;
  --sf-1:      #1A1A1A;
  --sf-2:      #1A1A1A;
  --sf-3:      #1F1F1F;
  --sf-4:      #1F1F1F;
  --sf-ivory:  #1C1A17;   /* 웜 계열은 다크에서도 아주 살짝 따뜻하게 */
  --sf-cream:  #1F1C16;
  --sf-cream2: #1F1C16;   /* 세금계산서 '발급완료' 배지 — 라이트 크림은 검은 화면에서 판때기가 된다 */
  --sf-line:   rgba(255, 255, 255, 0.07);
  --sf-line2:  rgba(255, 255, 255, 0.07);
  --sf-line3:  rgba(255, 255, 255, 0.20);

  /* 상태 틴트 — 검은 배경에선 파스텔이 흰 판때기가 되므로 반투명 색으로 */
  --tint-green:  rgba(74, 222, 128, 0.14);
  --tint-green2: rgba(74, 222, 128, 0.10);
  --tint-red:    rgba(248, 113, 113, 0.14);
  --tint-red2:   rgba(248, 113, 113, 0.10);
  --tint-amber:  rgba(251, 191, 36, 0.14);
  --tint-amber2: rgba(251, 191, 36, 0.10);
  --tint-blue:   rgba(147, 197, 253, 0.12);
  --tint-blue2:  rgba(147, 197, 253, 0.09);

  /* ★ 이 둘은 '어두운 배경 + 흰 글씨' 버튼에 쓰인다.
     한때 --btn-fg 가 #0A0A0A(검정)라서 여기를 밝은 알약으로 뒤집어야 했는데,
     --btn-fg 가 밝은 값(#EDEDF0)이 된 뒤로는 그 뒤집기가 '밝은 판 + 밝은 글씨'가 됐다
     (인라인 style 로 색을 정하는 버튼 7군데. 글씨가 아예 안 보였다).
     지금은 대표 버튼과 같은 언어 — 어두운 면 + 밝은 글씨. */
  --btn-dark:  var(--btn-bg);
  --btn-dark2: var(--btn-bg);

  /* 테두리 — 검은 반투명을 흰 반투명으로 뒤집는다. 안 그러면 카드 윤곽이 통째로 사라진다. */
  --line-06:   rgba(255, 255, 255, 0.06);
  --line-12:   rgba(255, 255, 255, 0.07);
  --line-15:   rgba(255, 255, 255, 0.13);
  --line-18:   rgba(255, 255, 255, 0.16);
  --line-d1:   rgba(255, 255, 255, 0.10);
  --line-e2:   rgba(255, 255, 255, 0.07);
  --line-cb:   rgba(255, 255, 255, 0.20);

  --line-04:   rgba(255, 255, 255, 0.05);
  --line-05:   rgba(255, 255, 255, 0.06);
  --line-14:   rgba(255, 255, 255, 0.08);
  --sf-5:      #1A1A1A;
  --tint-amber3: rgba(251, 191, 36, 0.09);
  --tint-blue3:  rgba(147, 197, 253, 0.12);
  --tint-red3:   rgba(248, 113, 113, 0.09);
  --line-red:    rgba(248, 113, 113, 0.30);
  --sf-6:      #0A0A0A;
  --sf-7:      #141414;
  --tint-green3: rgba(74, 222, 128, 0.09);
  --line-amber:  rgba(251, 191, 36, 0.30);
  --tint-amber4: rgba(251, 191, 36, 0.12);
  --tint-red4:   rgba(248, 113, 113, 0.10);
  --info-fg:     #93C5FD;
  --info-fg2:    #7DD3FC;
  --info-fg-b:   #93C5FD;
  --info-fg-c:   #93C5FD;
  --sign-paper:  #FFFFFF;   /* 서명 바탕은 다크에서도 흰색 */
  --in-bg:       #1C1C1F;
  --in-line:     rgba(255, 255, 255, 0.10);
  --in-line-on:  rgba(255, 255, 255, 0.28);
  --in-ph:       #7E7E86;
  --tint-blue4:  rgba(147, 197, 253, 0.12);
  /* ★ 라이트에만 있고 다크 짝이 없던 것들(2026-08-02 발견).
     짝이 없으면 라이트 값이 그대로 남아 검은 화면에 흰 판때기가 된다 —
     '서명 미등록' 안내 상자가 실제로 그랬다(--tint-red6 = #FFFAFA). */
  --tint-blue5:  rgba(165, 180, 252, 0.12);
  --tint-blue6:  rgba(125, 211, 252, 0.12);
  --tint-blue7:  rgba(165, 180, 252, 0.10);
  --tint-red5:   rgba(248, 113, 113, 0.12);
  --tint-red6:   rgba(248, 113, 113, 0.07);
  --sf-8:        #1A1A1A;
  --slate-fg:    #A0A0A6;
  --sf-today:    #1F1F22;
  --sf-active:   #26262A;

  /* ★ 배지·알약의 글씨/테두리 — 면(--tint-*)이 어두워지는데 여기가 리터럴로 남아
     '어두운 면 + 어두운 글씨 + 밝은 테두리'가 됐다(2026-08-02). 면과 짝으로 뒤집는다.
     글씨는 검은 화면에서 읽히는 밝기로, 테두리는 같은 색조의 반투명으로. */
  --indigo-fg:   #A5B4FC;
  --indigo-fg2:  #A5B4FC;
  --info-fg-d:   #7DD3FC;
  --info-fg-e:   #93C5FD;
  --danger2:     var(--stamp-red);   /* '미작성'·'온도 이탈' 숫자 — 글씨라서 도장 톤 */
  --line-ba:     rgba(125, 211, 252, 0.32);
  --line-c7:     rgba(165, 180, 252, 0.32);
  --line-bf:     rgba(147, 197, 253, 0.32);
  --line-db:     rgba(147, 197, 253, 0.24);
  --line-a7:     rgba(74, 222, 128, 0.32);
  --line-fde:    rgba(251, 191, 36, 0.32);
  --line-blue:   #93C5FD;
  --amber-fg:    var(--stamp-amber);   /* '주의 필요' 알약 글씨 — 글씨라서 도장 톤 */
  --line-ead:    rgba(251, 191, 36, 0.30);
  --line-f3:     rgba(248, 113, 113, 0.32);

  /* 컨설턴트 현황 카드 — 검은 반투명은 다크에서 안 뒤집힌다(검정 위 검정). 흰 반투명으로. */
  --line-03:   rgba(255, 255, 255, 0.04);
  --line-07:   rgba(255, 255, 255, 0.06);
  --line-10:   rgba(255, 255, 255, 0.10);

  /* ★ 5차 — 1:1 토큰이 없어서 리터럴로 남아 있던 자리 (2026-08-02 대표 결정).
     · 작은 점(dot)은 색을 유지한다 — 토큰으로 안 옮겼으니 여기 없다.
     · 넓은 글씨·면은 모노로 (--sale-fg / --btn-edit / --tint-violet).
     · 상태를 뜻하는 버튼은 도장색 계열 어두운 면 (--btn-editing / --btn-red / --btn-green).
     · 면은 페이지 바닥(#0A0A0A)·카드(#141414)보다 한 단만 밝게 — 판때기 금지.
     · 상태색 글씨는 도장 톤(--stamp-*)을 재사용한다 — 새 원색을 만들지 않는다. */
  --sf-9:        #1A1A1A;
  --sf-cream3:   #1F1C16;
  --sf-mono10:   rgba(255, 255, 255, 0.08);
  --sf-mono06:   rgba(255, 255, 255, 0.06);
  --tint-blue8:  rgba(165, 180, 252, 0.10);
  --tint-amber6: rgba(251, 191, 36, 0.14);
  --tint-amber7: rgba(251, 191, 36, 0.16);
  --tint-emerald: rgba(74, 222, 128, 0.14);
  --tint-green4: rgba(74, 222, 128, 0.14);
  --tint-green5: rgba(74, 222, 128, 0.12);
  --tint-green6: rgba(74, 222, 128, 0.10);
  --tint-violet: rgba(255, 255, 255, 0.07);   /* 보라 면은 넓어서 모노로 */

  /* 색 있는 버튼 면 — 도장 톤을 카드면(#141414)에 20% 섞은 값.
     원색 알약이 아니라 '색기 도는 어두운 면'이다. 흰 글씨 대비 11:1 이상. */
  --btn-green:   #1F3C2A;
  --btn-green2:  #1F3C2A;
  --btn-green3:  #1A3323;
  --btn-red:     #422727;
  --btn-amber:   #423617;
  --btn-amber2:  #4A3D1B;
  --btn-seal:    #3A321D;
  --btn-bg3:     #26262C;
  --btn-editing: #422727;   /* [편집 중] — 도장 빨강 */
  --btn-edit:    #26262C;   /* [편집] — 모노 */

  --pill-today:     #3A3A42;
  --pill-yesterday: #2E2E34;
  --pill-past:      #26262C;
  --pill-focus:     #3A3A42;

  /* 글씨 — 상태색은 전부 도장 톤 재사용 */
  --green-fg:    var(--stamp-green);
  --green-fg2:   var(--stamp-green);
  --green-fg3:   var(--stamp-green);
  --green-fg4:   var(--stamp-green);
  --green-fg5:   var(--stamp-green);
  --green2:      var(--stamp-green);
  --num-green:   var(--stamp-green);
  --num-amber:   var(--stamp-amber);
  --red-fg2:     var(--stamp-red);
  --red-fg3:     var(--stamp-red);
  --sale-fg:     #C8C8CC;   /* 넓은 글씨라 모노 */
  --indigo-fg3:  #A5B4FC;
  --btn-fg2:     #EDEDF0;
  --ink-62:      #C8C8CC;
  --slate-fg2:   #A0A0A6;
  --role-approver: var(--stamp-amber);
  --role-reviewer: var(--stamp-green);
  --role-worker:   #9AA0AC;

  /* 선 */
  --danger3:     #F87171;
  --line-9c:     rgba(255, 255, 255, 0.20);
  --line-bb:     rgba(74, 222, 128, 0.32);
  --line-f59:    rgba(251, 191, 36, 0.45);
  --line-fca:    rgba(248, 113, 113, 0.45);
  --line-7f:     rgba(248, 113, 113, 0.32);
  --line-ff6:    #F87171;
  --line-b8:     rgba(251, 191, 36, 0.45);
  --line-mono30: rgba(255, 255, 255, 0.20);
  --line-025:    rgba(255, 255, 255, 0.03);
  --line-22:     rgba(255, 255, 255, 0.20);
  --line-4b:     rgba(255, 255, 255, 0.18);
  --line-emerald: rgba(74, 222, 128, 0.32);
  --line-amber3: rgba(251, 191, 36, 0.32);
  --line-ee:     rgba(255, 255, 255, 0.07);
  --line-d9:     rgba(255, 255, 255, 0.16);
  --line-b9:     rgba(74, 222, 128, 0.32);
  --line-e2b:    rgba(255, 255, 255, 0.10);
  --line-d4:     rgba(255, 255, 255, 0.16);


  /* 대표 버튼 — 어두운 면 + 밝은 테두리(대표 결정 2026-08-02). 위 블록 주석 참고. */
  --btn-bg:    #26262C;
  --btn-bg2:   #26262C;
  --btn-fg:    #EDEDF0;
  --btn-line:  rgba(255, 255, 255, 0.20);
  --btn-soft-bg:   rgba(255, 255, 255, 0.06);
  --btn-soft-line: rgba(255, 255, 255, 0.20);

  /* 스크롤바·<select> 드롭다운·기본 폼 컨트롤을 OS 가 알아서 어둡게 그린다.
     직접 칠하는 것보다 싸고 네이티브에 가깝다. */
  color-scheme: dark;
}

/* 라이트 기준으로 짜인 전역 스크롤바(main.css)도 어둡게 */
html[data-theme="dark"] * {
  scrollbar-color: rgba(255, 255, 255, 0.22) transparent;
}
html[data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.22);
}
html[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.36);
}

/* ══════════════════════════════════════════════════════════════
   B. 제외 구역 — 토큰을 라이트로 되돌린다
   ══════════════════════════════════════════════════════════════
   CSS 변수는 상속된다. 여기서 라이트 값을 다시 선언하면 그 안의
   모든 var() 규칙과 모든 인라인 스타일이 자동으로 흰색으로 돌아온다.

   .journal-box     — 일지 창 전체. 대표 결정: 창 통째로 흰 종이.
                      (표 안에 class 없는 <td> 가 48곳이라 틀만 어둡게 하면
                       칸마다 얼룩덜룩해진다. 인쇄·심사 제출물도 이쪽이 안전)
   (관리자 화면은 2026-08-01 부터 다크를 쓴다 — 되돌리기 목록에서 뺐다)
   ══════════════════════════════════════════════════════════════ */
html[data-theme="dark"] .jte-working-root,
html[data-theme="dark"] .jte-preview-sheet,
html[data-theme="dark"] .journal-box,
html[data-theme="dark"] .eq-paper,
html[data-theme="dark"] .cal-paper {
  --white:        #ffffff;
  --card-bg:      #FFFFFF;
  --gray1:        #f5f5f3;
  --paper:        #F4F6F9;
  --bg2:          #f5f5f3;
  --gray05:       #f8f8f6;
  --mist:         #EDEFF3;
  --primary-light:#F4F6F9;

  --gray2:        rgba(0, 0, 0, 0.10);
  --border:       rgba(0, 0, 0, 0.10);
  --hairline:     rgba(0, 0, 0, 0.08);
  --hairline-strong: rgba(0, 0, 0, 0.16);

  --gray4:        #444444;
  --ink:          #6E6E75;
  --mono-text:    #6E6E75;
  --mono-text-2:  #7A7A82;
  --gray3:        #6E6E75;
  --ink-soft:     #8A8A92;
  --mono-text-3:  #8A8A92;
  --mono-accent:  #8A8A92;
  --mono-accent-2:#A4A4AA;
  --steel:        #6A707C;
  --primary:      #6E6E75;

  --btn-bg:       #6E6E75;
  --btn-fg:       #ffffff;

  --sage:         #E1DED5;
  --sage-deep:    #C8C4BA;
  --sage-soft:    rgba(0, 0, 0, 0.04);
  --sage-line:    rgba(0, 0, 0, 0.08);
  --sage-text:    #2A2E35;
  --sage-mute:    #6B6F78;

  --success:      #166534;
  --seal-green:   #166534;
  --success-light:#E5EFE6;
  --danger:       #B91C1C;
  --seal-red:     #B91C1C;
  --danger-light: #F4E3E1;
  --warning:      #92400E;
  --seal-amber:   #92400E;
  --warning-light:#F3E9D8;
  --stamp-green:  #166534;
  --stamp-amber:  #92400E;
  --stamp-red:    #B91C1C;

  --shadow:         0 1px 3px rgba(0,0,0,0.06), 0 4px 16px rgba(0,0,0,0.08);
  --shadow-lg:      0 4px 12px rgba(0,0,0,0.08), 0 12px 40px rgba(0,0,0,0.14);
  --shadow-whisper: 0 1px 0 rgba(0, 0, 0, 0.04);
  --shadow-lift:    0 1px 2px rgba(0,0,0,0.06), 0 8px 24px rgba(0,0,0,0.08);

  --sf-warm:   #FAFAF8;
  --sf-cool:   #F8FAFC;
  --sf-1:      #FAFAFA;
  --sf-2:      #F9FAFB;
  --sf-3:      #F3F4F6;
  --sf-4:      #F1F5F9;
  --sf-ivory:  #F4F0E8;
  --sf-cream2: #F7F2E8;
  --sf-line:   #E5E7EB;
  --sf-line2:  #E8EDF2;
  --sf-line3:  #C9C9C9;

  --tint-green:  #DCFCE7;
  --tint-green2: #ECFDF5;
  --tint-red:    #FEE2E2;
  --tint-red2:   #FFF5F5;
  --tint-amber:  #FEF3C7;
  --tint-amber2: #FFF7ED;
  --tint-blue:   #EFF6FF;
  --tint-blue2:  #F0F9FF;

  --btn-dark:  #0F172A;
  --btn-dark2: #111827;
  --line-06:   rgba(0, 0, 0, 0.06);
  --line-12:   rgba(0, 0, 0, 0.12);
  --line-15:   rgba(0, 0, 0, 0.15);
  --line-18:   rgba(0, 0, 0, 0.18);
  --line-d1:   #D1D5DB;
  --line-e2:   #E2E8F0;
  --line-cb:   #CBD5E1;

  --line-04:   rgba(0, 0, 0, 0.04);
  --line-05:   rgba(0, 0, 0, 0.05);
  --line-14:   rgba(0, 0, 0, 0.14);
  --sf-5:      #EEF2F7;
  --tint-amber3: #FFFBEB;
  --tint-blue3:  #DBEAFE;
  --tint-red3:   #FEF2F2;
  --line-red:    #FECACA;
  --sf-6:      #F7F8FA;
  --sf-7:      #F7F6F2;
  --tint-green3: #F0FDF4;
  --line-amber:  #FED7AA;
  --tint-amber4: #FFF8D6;
  --tint-red4:   #FFF1F2;
  --info-fg:     #1E40AF;   /* 파란 안내 글씨 — 파랑은 이번 범위 밖이라 값만 보존 */
  --info-fg2:    #0369A1;
  --info-fg-b:   #1D4ED8;
  --info-fg-c:   #2563EB;
  --sign-paper:  #FFFFFF;
  --in-bg:       #FFFFFF;
  --in-line:     rgba(0, 0, 0, 0.10);
  --in-line-on:  rgba(0, 0, 0, 0.28);
  --in-ph:       #9AA0A6;
  --tint-blue4:  #EEF6FF;
  --tint-blue5:  #E0E7FF;
  --tint-blue6:  #E0F2FE;
  --tint-blue7:  #EEF2FF;
  --tint-red5:   #FFF0F0;
  --tint-red6:   #FFFAFA;
  --sf-8:        #F5F5F6;
  --slate-fg:    #475569;
  --sf-today:    #EEECE4;
  --sf-active:   #ECECEA;

  --indigo-fg:   #4338CA;
  --indigo-fg2:  #3730A3;
  --info-fg-d:   #075985;
  --info-fg-e:   #1E3A8A;
  --danger2:     #DC2626;
  --line-ba:     #BAE6FD;
  --line-c7:     #C7D2FE;
  --line-bf:     #BFDBFE;
  --line-db:     #DBEAFE;
  --line-a7:     #A7F3D0;
  --line-fde:    #FDE68A;
  --line-blue:   #3B82F6;
  --amber-fg:    #7C5A1D;
  --line-ead:    #EAD7B7;
  --line-f3:     #F3B7B7;
  --line-03:     rgba(0, 0, 0, 0.03);
  --line-07:     rgba(0, 0, 0, 0.07);
  --line-10:     rgba(0, 0, 0, 0.10);

  /* 5차 되돌리기 — 일지 창은 흰 종이라 라이트값 그대로 */
  --sf-9:        #F7F7F8;
  --sf-cream3:   #FEF9EC;
  --sf-mono10:   rgba(110, 110, 117, 0.1);
  --sf-mono06:   rgba(110, 110, 117, 0.06);
  --tint-blue8:  #F0F4FF;
  --tint-amber6: #FEF9C3;
  --tint-amber7: rgba(251, 191, 36, 0.18);
  --tint-emerald: rgba(16, 185, 129, 0.18);
  --tint-green4: #D1FAE5;
  --tint-green5: rgba(30, 70, 40, 0.1);
  --tint-green6: #EDF8F1;
  --tint-violet: #F3E8FF;

  --btn-green:   #16A34A;
  --btn-green2:  #10B981;
  --btn-green3:  #15803D;
  --btn-red:     #EF4444;
  --btn-amber:   #F59E0B;
  --btn-amber2:  #FBBF24;
  --btn-seal:    #D4A843;
  --btn-bg3:     #4B5563;
  --btn-editing: #DC2626;
  --btn-edit:    #8B5CF6;

  --pill-today:     #1A1A1A;
  --pill-yesterday: #6B7280;
  --pill-past:      #94A3B8;
  --pill-focus:     #A4A4AA;

  --green-fg:    #047857;
  --green-fg2:   #065F46;
  --green-fg3:   #1F5A3C;
  --green-fg4:   #86EFAC;
  --green-fg5:   #1F7A45;
  --green2:      #22C55E;
  --num-green:   #16A34A;
  --num-amber:   #D97706;
  --red-fg2:     #FCA5A5;
  --red-fg3:     #9B1C1C;
  --sale-fg:     #7C3AED;
  --indigo-fg3:  #6366F1;
  --btn-fg2:     #D1D5DB;
  --ink-62:      rgba(0, 0, 0, 0.62);
  --slate-fg2:   #545B66;
  --role-approver: #B7791F;
  --role-reviewer: #2F7D5F;
  --role-worker:   #5F6F86;

  --danger3:     #EF4444;
  --line-9c:     #9CA3AF;
  --line-bb:     #BBF7D0;
  --line-f59:    #F59E0B;
  --line-fca:    #FCA5A5;
  --line-7f:     #7F1D1D;
  --line-ff6:    #FF6B6B;
  --line-b8:     #B8860B;
  --line-mono30: rgba(110, 110, 117, 0.3);
  --line-025:    rgba(0, 0, 0, 0.025);
  --line-22:     rgba(0, 0, 0, 0.22);
  --line-4b:     rgba(75, 85, 99, 0.18);
  --line-emerald: rgba(16, 185, 129, 0.45);
  --line-amber3: rgba(251, 191, 36, 0.45);
  --line-ee:     #EEF1F4;
  --line-d9:     #D9DEE5;
  --line-b9:     #B9DBC8;
  --line-e2b:    #E2E6EC;
  --line-d4:     #D4DAE2;

  --btn-bg:    #444444;
  --btn-bg2:   #6E6E75;
  --btn-fg:    #ffffff;
  --btn-line:  transparent;
  --btn-soft-bg:   rgba(0, 0, 0, 0.05);
  --btn-soft-line: rgba(0, 0, 0, 0.18);

  color-scheme: light;
}

/* 일지 창은 통째로 흰 종이 — 딤(뒷배경)만 다크에서 더 깊게 */
/* 양식 편집기의 작업 종이(.jte-working-root)·미리보기 종이도 같은 흰 종이다.
   (안 넣으면 종이는 희어도 선택칸·체크박스가 color-scheme:dark 로 검게 뜬다) */
html[data-theme="dark"] .jte-working-root,
html[data-theme="dark"] .jte-preview-sheet,
html[data-theme="dark"] .journal-box,
html[data-theme="dark"] .eq-paper,
html[data-theme="dark"] .cal-paper { background: #ffffff; color: #1a1a1a; }
/* 옛 업무 프로그램 격자(전체 서류관리 현황·관련서류 만료 표)는 인쇄물이 아니라 보는 화면이다.
   흰 종이로 두면 다른 화면만 어두워져 혼자 튄다. 색 토큰만 다시 정의해 격자째 어둡게 칠한다.
   토큰 이름은 document-expiry.js ovStyle() 에 있다. */
html[data-theme="dark"] #docOverviewHost,
html[data-theme="dark"] .ovpanel,
html[data-theme="dark"] .ovsheet {
  --ov-paper:      #1C1C1E;
  --ov-frame:      #5E5E6A;
  --ov-bar:        #33333A;
  --ov-tool:       #232327;
  --ov-head:       #33333A;
  --ov-line:       #33333A;
  --ov-line2:      #45454E;
  --ov-line3:      #2E2E34;
  --ov-ink:        #E7E7EA;
  --ov-dim:        #8E8E97;
  --ov-no:         #8E8E97;
  --ov-date:       #8FB4FF;
  --ov-bad:        #FF7A66;
  --ov-btn:        #2E2E34;
  --ov-btn-hover:  #3A3A42;
  --ov-btn-line:   #4A4A52;
  --ov-sel:        #35353D;
  --ov-hover:      #2A2A30;
  --ov-pg-on:      #6E6E7A;
  --ov-pg-on-ink:  #FFFFFF;
}
html[data-theme="dark"] .journal-overlay { background: rgba(0, 0, 0, 0.78); }


/* ══════════════════════════════════════════════════════════════
   E. 라이트 CSS 에서 기계 생성한 다크 짝  (자동 생성)
   ══════════════════════════════════════════════════════════════
   main.css / theme-overrides.css / journal-calendar.css / remote-support.css 에
   하드코딩된 색을, 같은 선택자에 대해 테마 토큰으로 다시 선언한 것이다.
   토큰이 라이트/다크 값을 둘 다 갖고 있으므로 다크에서만 뒤집힌다.

   생성 제외: @media print · #page-admin-main · 일지 종이 · 이미 var() 인 선언
   ★ 손으로 쓴 보정(C·D절)은 이 블록 뒤에 온다 — 기계 생성물을 이겨야 하기 때문.
   재생성: scratchpad/gen_dark.py
   ══════════════════════════════════════════════════════════════ */


html[data-theme="dark"] html,
html[data-theme="dark"] body {
  background: var(--gray1);
  color: var(--mono-text);
}
html[data-theme="dark"] .login-wrap {
  background: var(--sf-6);
}
html[data-theme="dark"] .login-box {
  background: var(--white);
  border-color: rgba(255, 255, 255, 0.12);
}
html[data-theme="dark"] .pin-title {
  color: var(--gray4);
}
html[data-theme="dark"] .pin-input {
  border-color: rgba(255, 255, 255, 0.12);
  color: var(--gray4);
  background: var(--sf-6);
}
html[data-theme="dark"] .pin-input:focus {
  border-color: rgba(255, 255, 255, 0.14);
  background: var(--white);
}
html[data-theme="dark"] .pin-input.filled {
  border-color: rgba(255, 255, 255, 0.14);
  background: var(--white);
}
html[data-theme="dark"] .pin-input.error {
  border-color: var(--stamp-red);
}
html[data-theme="dark"] .pin-forgot:hover {
  color: var(--gray4);
}
html[data-theme="dark"] .btn-login {
  background: var(--btn-bg2);
  color: var(--btn-fg);
  border-color: var(--btn-line);
}
/* hover 는 면을 한 단 더 띄운다. 예전엔 --mono-accent(#A0A0A6) 를 깔아
   밝은 판이 됐는데, 그 위 글씨가 --btn-fg 라 잘 안 보였다(대표 지적 2026-08-02). */
html[data-theme="dark"] .btn-login:hover {
  background: #31313A;
  border-color: rgba(255, 255, 255, 0.30);
}
html[data-theme="dark"] .admin-link:hover {
  color: var(--gray4);
}
html[data-theme="dark"] .login-switch-link {
  color: var(--gray4);
}
html[data-theme="dark"] .login-switch-link:hover {
  color: var(--gray4);
}
html[data-theme="dark"] .login-copy {
  border-color: rgba(255, 255, 255, 0.12);
}
html[data-theme="dark"] .login-copy strong {
  color: var(--gray4);
}
html[data-theme="dark"] .admin-login-box {
  background: #141414;
}
html[data-theme="dark"] .admin-badge {
  background: var(--line-05);
  color: var(--mono-text);
}
html[data-theme="dark"] .admin-title {
  color: var(--mono-text);
}
html[data-theme="dark"] .form-label {
  color: var(--gray4);
}
html[data-theme="dark"] .form-input {
  border: 2px solid var(--gray2);
  color: var(--mono-text);
  background: var(--gray1);
}
html[data-theme="dark"] .form-input:focus {
  border-color: var(--mono-accent);
  background: var(--white);
}
html[data-theme="dark"] .form-input::placeholder {
  color: var(--gray3);
}
html[data-theme="dark"] .save-id-row label {
  color: var(--gray4);
}
html[data-theme="dark"] .back-link {
  color: var(--gray3);
}
html[data-theme="dark"] .back-link:hover {
  color: var(--mono-accent);
}
html[data-theme="dark"] .toast {
  color: var(--white);
  border-left: 4px solid var(--mono-accent);
}
html[data-theme="dark"] .toast.toast-error {
  background: var(--danger);
}
html[data-theme="dark"] .tg-toggle .tg-slider {
  background: var(--line-d1);
}
html[data-theme="dark"] .tg-toggle .tg-slider::before {
  background: var(--white);
}
html[data-theme="dark"] .app-wrap {
  background: var(--gray1);
}
html[data-theme="dark"] .sidebar {
  background: var(--sf-warm);
  border-color: var(--hairline);
}
html[data-theme="dark"] .sidebar::-webkit-scrollbar-thumb {
  background: var(--line-12);
}
html[data-theme="dark"] .sidebar-logo {
  border-color: var(--hairline);
}
html[data-theme="dark"] .sidebar-logo-name {
  color: var(--gray4);
}
html[data-theme="dark"] .sidebar-logo-sub {
  color: var(--mono-accent);
}
html[data-theme="dark"] .sidebar-group-label {
  color: var(--mono-accent);
  border-color: var(--hairline);
}
html[data-theme="dark"] .sidebar-accordion-header.active {
  color: var(--gray4);
  background: var(--line-06);
}
html[data-theme="dark"] .sidebar-item {
  color: var(--gray4);
}
html[data-theme="dark"] .sidebar-item:hover {
  color: var(--gray4);
  background: var(--line-04);
}
html[data-theme="dark"] .sidebar-item.active {
  color: var(--gray4);
}
html[data-theme="dark"] .sidebar-accordion-header {
  color: var(--gray4);
}
html[data-theme="dark"] .sidebar-accordion-header:hover {
  color: var(--gray4);
  background: var(--line-05);
}
html[data-theme="dark"] .sidebar-accordion-header.open {
  color: var(--gray4);
}
html[data-theme="dark"] .sidebar-sub-item {
  color: var(--gray4);
}
html[data-theme="dark"] .sidebar-sub-item:hover {
  color: var(--gray4);
  background: var(--line-04);
}
html[data-theme="dark"] .sidebar-sub-item.active {
  color: var(--gray4);
}
html[data-theme="dark"] .sidebar-sub-item.partial {
  color: var(--gray4);
}
html[data-theme="dark"] .sidebar-period-label {
  color: var(--mono-accent);
}
html[data-theme="dark"] .doc-upload-btn {
  background: var(--line-05);
  color: var(--mono-text);
  border-color: var(--line-18);
}
html[data-theme="dark"] .doc-upload-btn:hover {
  background: var(--gray2);
}
html[data-theme="dark"] .doc-empty {
  color: var(--mono-accent);
}
html[data-theme="dark"] .doc-card {
  background: var(--sf-2);
  border-color: var(--sf-line);
}
html[data-theme="dark"] .doc-card-preview {
  background: var(--white);
  border-color: var(--sf-line);
}
html[data-theme="dark"] .doc-card-name {
  color: var(--gray4);
}
html[data-theme="dark"] .doc-card-date {
  color: var(--mono-accent);
}
html[data-theme="dark"] .doc-lightbox-content iframe {
  background: var(--white);
}
html[data-theme="dark"] .doc-lightbox-counter {
  color: var(--mono-accent);
}
html[data-theme="dark"] .sidebar-badge {
  background: var(--mono-accent);
  color: var(--mono-text);
}
html[data-theme="dark"] #offlineBanner {
  background: var(--danger);
}
html[data-theme="dark"] #onlineBanner {
  background: var(--success);
}
html[data-theme="dark"] .topbar {
  background: var(--white);
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .topbar-hamburger {
  border-color: var(--gray2);
  background: var(--white);
}
html[data-theme="dark"] .topbar-hamburger-icon span {
  background: var(--mono-text);
}
html[data-theme="dark"] .topbar-hamburger-label {
  color: var(--mono-text);
}
html[data-theme="dark"] .topbar-logout-btn {
  border-color: var(--gray2);
  background: var(--white);
  color: var(--gray4);
}
html[data-theme="dark"] .pwa-back-button {
  border: 1px solid var(--gray2);
  background: var(--white);
  color: var(--mono-text);
}
html[data-theme="dark"] .pwa-back-button:hover {
  background: var(--gray1);
}
html[data-theme="dark"] .topbar-title {
  color: var(--mono-text);
}
html[data-theme="dark"] .topbar-btn {
  background: var(--gray1);
  color: var(--gray4);
}
html[data-theme="dark"] .topbar-btn:hover {
  background: var(--gray2);
  color: var(--mono-text);
}
html[data-theme="dark"] .topbar-user {
  background: var(--gray1);
}
html[data-theme="dark"] .topbar-user:hover {
  background: var(--gray2);
}
html[data-theme="dark"] .topbar-avatar {
  background: linear-gradient(135deg, var(--mono-accent), var(--mono-accent-2));
  color: var(--mono-text);
}
html[data-theme="dark"] .topbar-username {
  color: var(--mono-text);
}
html[data-theme="dark"] .topbar-dropdown {
  background: var(--white);
  border: 1px solid var(--gray2);
}
html[data-theme="dark"] .topbar-dd-item {
  color: var(--gray4);
}
html[data-theme="dark"] .topbar-dd-item:hover {
  background: var(--gray1);
  color: var(--mono-text);
}
html[data-theme="dark"] .topbar-dd-item.danger {
  color: var(--stamp-red);
}
html[data-theme="dark"] .settings-section {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .settings-label {
  color: var(--mono-text);
}
html[data-theme="dark"] .settings-desc {
  color: var(--gray3);
}
html[data-theme="dark"] .set-nav-item {
  color: var(--gray3);
}
html[data-theme="dark"] .set-nav-item:hover {
  background: var(--gray1);
  color: var(--mono-text);
}
html[data-theme="dark"] .set-nav-item.active {
  color: var(--primary);
}
html[data-theme="dark"] .set-field-label {
  color: var(--gray3);
}
html[data-theme="dark"] .set-input {
  border: 1.5px solid var(--gray2);
  background: var(--white);
  color: var(--mono-text);
}
html[data-theme="dark"] .set-input:focus {
  border-color: var(--primary);
}
html[data-theme="dark"] .set-btn {
  background: var(--line-05);
  color: var(--mono-text);
}
html[data-theme="dark"] .set-btn-outline {
  background: var(--white);
  color: var(--primary);
  border: 1.5px solid var(--primary);
}
html[data-theme="dark"] .set-theme-btn {
  border: 1.5px solid var(--gray2);
  background: var(--white);
  color: var(--gray3);
}
html[data-theme="dark"] .set-theme-btn.active {
  background: var(--btn-bg2);
  color: var(--btn-fg);
  border-color: var(--ink);
}
html[data-theme="dark"] .set-toggle-slider {
  background: var(--mono-accent);
}
html[data-theme="dark"] .set-toggle-slider::before {
  background: var(--white);
}
html[data-theme="dark"] .set-toggle input:checked + .set-toggle-slider {
  background: var(--primary);
}
html[data-theme="dark"] .set-sign-card {
  background: var(--gray1);
  border: 1.5px solid var(--gray2);
}
html[data-theme="dark"] .set-sign-card img {
  background: var(--white);
  border: 1px solid var(--gray2);
}
html[data-theme="dark"] .theme-btn {
  border: 1px solid var(--gray2);
  background: var(--white);
  color: var(--gray3);
}
html[data-theme="dark"] .theme-btn.active {
  background: var(--line-05);
  color: var(--mono-text);
  border-color: var(--mono-text);
}
html[data-theme="dark"] .ap-date-btn {
  border: 1px solid var(--gray2);
  background: var(--white);
  color: var(--mono-text);
}
html[data-theme="dark"] .dm-card {
  background: var(--white);
  border-color: var(--hairline);
}
html[data-theme="dark"] .dm-sec-title {
  color: var(--mono-text);
}
html[data-theme="dark"] .dm-sec-title.danger {
  color: var(--stamp-red);
}
html[data-theme="dark"] .dm-btn {
  border-color: var(--line-15);
}
html[data-theme="dark"] .dm-btn-primary {
  background: var(--btn-bg2);
  color: var(--btn-fg);
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .dm-btn-primary:hover {
  background: #31313A;
  color: var(--btn-fg);
  border-color: rgba(255, 255, 255, 0.30);
}
html[data-theme="dark"] .dm-btn-outline {
  color: var(--gray4);
}
html[data-theme="dark"] .dm-btn-outline:hover {
  background: var(--sf-warm);
}
html[data-theme="dark"] .dm-btn-mono {
  color: var(--gray4);
}
html[data-theme="dark"] .dm-btn-mono:hover {
  background: var(--sf-warm);
}
html[data-theme="dark"] .dm-btn-mono-outline {
  color: var(--gray4);
}
html[data-theme="dark"] .dm-btn-mono-outline:hover {
  background: var(--sf-warm);
}
html[data-theme="dark"] .dm-btn-danger-outline {
  color: var(--stamp-red);
}
html[data-theme="dark"] .dm-btn-danger-outline:hover {
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .dm-btn-danger {
  background: var(--danger);
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .dm-btn-danger:hover {
  background: var(--danger);
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .timefix-preset {
  border-color: var(--line-15);
  background: var(--white);
  color: var(--gray4);
}
html[data-theme="dark"] .timefix-preset:hover:not(.active) {
  background: var(--sf-warm);
}
html[data-theme="dark"] .timefix-preset.active {
  background: var(--btn-bg2);
  color: var(--btn-fg);
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .timefix-card {
  background: var(--white);
  border-color: var(--hairline);
}
html[data-theme="dark"] .timefix-card-title {
  color: var(--gray4);
}
html[data-theme="dark"] .timefix-card-meta {
  color: var(--mono-text);
}
html[data-theme="dark"] .timefix-btn {
  background: var(--btn-bg2);
  color: var(--btn-fg);
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .timefix-btn:hover {
  background: #31313A;
  color: var(--btn-fg);
  border-color: rgba(255, 255, 255, 0.30);
}
html[data-theme="dark"] .acc-log-group-wrap {
  background: var(--white);
  border-color: var(--hairline);
}
html[data-theme="dark"] .acc-log-group-hd {
  background: var(--white);
  border-color: var(--hairline);
}
html[data-theme="dark"] .acc-log-group-hd-name {
  color: var(--gray4);
}
html[data-theme="dark"] .acc-log-group-hd-count {
  color: var(--mono-text);
}
html[data-theme="dark"] .acc-log-active-badge {
  color: var(--stamp-green);
}
html[data-theme="dark"] .acc-log-edit-btn {
  border-color: var(--line-15);
  color: var(--gray4);
}
html[data-theme="dark"] .acc-log-edit-btn:hover {
  background: var(--sf-warm);
}
html[data-theme="dark"] .floating-theme-btn {
  background: #141414;
}
html[data-theme="dark"] .floating-theme-btn .ft-icon-sun {
  color: var(--stamp-amber);
}
html[data-theme="dark"] .floating-theme-btn .ft-icon-moon {
  color: var(--gray4);
}
html[data-theme="dark"] .noti-badge {
  background: var(--danger);
}
html[data-theme="dark"] .noti-panel {
  background: var(--white);
  border: 1px solid var(--gray2);
}
html[data-theme="dark"] .noti-panel-header {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .noti-panel-title {
  color: var(--mono-text);
}
html[data-theme="dark"] .noti-clear-btn {
  color: var(--primary);
}
html[data-theme="dark"] .noti-empty {
  color: var(--mono-text);
}
html[data-theme="dark"] .noti-item {
  border-color: var(--line-06);
}
html[data-theme="dark"] .noti-item:hover {
  background: var(--sf-warm);
}
html[data-theme="dark"] .noti-item.unread {
  background: var(--white);
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .noti-item.unread:hover {
  background: var(--sf-warm);
}
html[data-theme="dark"] .noti-item-icon.save {
  background: var(--gray4);
}
html[data-theme="dark"] .noti-item-icon.approve {
  background: var(--success);
}
html[data-theme="dark"] .noti-item-icon.reject {
  background: var(--danger);
}
html[data-theme="dark"] .noti-item-icon.warn {
  background: var(--warning);
}
html[data-theme="dark"] .noti-item-msg {
  color: var(--gray4);
}
html[data-theme="dark"] .noti-item-msg strong {
  color: var(--mono-text);
}
html[data-theme="dark"] .noti-item-time {
  color: var(--mono-accent);
}
html[data-theme="dark"] #mainCalCard .cal-date.today-num {
  color: var(--white);
}
html[data-theme="dark"] .page-card {
  background: var(--white);
}
html[data-theme="dark"] .card {
  background: var(--white);
}
html[data-theme="dark"] .card-head {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .card-title {
  color: var(--mono-text);
}
html[data-theme="dark"] .card-title-icon {
  background: linear-gradient(135deg, var(--mono-accent), var(--mono-accent-2));
}
html[data-theme="dark"] .card-title-icon svg {
  color: var(--mono-text);
}
html[data-theme="dark"] .cal-header {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .cal-month {
  color: var(--mono-text);
}
html[data-theme="dark"] .cal-nav-btn {
  background: var(--gray1);
  color: var(--mono-text);
}
html[data-theme="dark"] .cal-nav-btn:hover {
  background: #31313A;
  color: var(--btn-fg);
  border-color: rgba(255, 255, 255, 0.30);
}
html[data-theme="dark"] .cal-view-tabs {
  background: var(--gray1);
}
html[data-theme="dark"] .cal-view-tab {
  color: var(--gray3);
}
html[data-theme="dark"] .cal-view-tab.active {
  background: var(--white);
  color: var(--mono-text);
}
html[data-theme="dark"] .cal-today-btn {
  background: var(--btn-bg);
  color: var(--btn-fg);
  border-color: var(--btn-line);
}
/* hover 가 --ink-soft(#A0A0A6) 를 깔아 밝은 판이 됐고, 그 위 글씨가 밝은 회색이라
   눌렀을 때 글씨가 사라졌다(대표 지적 2026-08-02). 면을 한 단 띄우는 쪽으로 바꾼다. */
html[data-theme="dark"] .cal-today-btn:hover {
  background: #31313A;
  border-color: rgba(255, 255, 255, 0.30);
  color: var(--btn-fg);
}
html[data-theme="dark"] .cal-days-row {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .cal-day-label {
  color: var(--gray3);
}
html[data-theme="dark"] .cal-day-label.sun {
  color: var(--stamp-red);
}
html[data-theme="dark"] .cal-cell {
  border-right: 1px solid var(--gray2);
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .cal-date {
  color: var(--mono-text);
}
html[data-theme="dark"] .cal-date.today-num {
  background: linear-gradient(135deg, var(--mono-accent), var(--mono-accent-2));
  color: var(--mono-text);
}
html[data-theme="dark"] .cal-date.other-month {
  color: var(--gray2);
}
html[data-theme="dark"] .cal-date.sun-num {
  color: var(--stamp-red);
}
html[data-theme="dark"] .cal-event.type-ccp {
  color: var(--gray4);
}
html[data-theme="dark"] .cal-event.type-check {
  color: var(--stamp-green);
}
html[data-theme="dark"] .cal-event.type-warn {
  color: var(--stamp-red);
}
html[data-theme="dark"] .profile-avatar {
  background: var(--hairline);
  border: 3px solid var(--gray2);
}
html[data-theme="dark"] .profile-name {
  color: var(--mono-text);
}
html[data-theme="dark"] .profile-role {
  background: linear-gradient(135deg, var(--mono-accent), var(--mono-accent-2));
  color: var(--mono-text);
}
html[data-theme="dark"] .profile-company {
  color: var(--gray3);
}
html[data-theme="dark"] .profile-edit-btn {
  color: var(--mono-accent);
}
html[data-theme="dark"] .profile-edit-btn:hover {
  color: var(--mono-accent-2);
}
html[data-theme="dark"] .profile-meta-row {
  border-top: 1px solid var(--gray2);
}
html[data-theme="dark"] .profile-meta + .profile-meta {
  border-left: 1px solid var(--gray2);
}
html[data-theme="dark"] .profile-meta-label {
  color: var(--gray3);
}
html[data-theme="dark"] .profile-meta-val {
  color: var(--mono-text);
}
html[data-theme="dark"] .profile-meta-val--green {
  color: var(--stamp-green);
}
html[data-theme="dark"] .btn-approval {
  color: var(--white);
}
html[data-theme="dark"] .notice-item {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .notice-item:hover .notice-title {
  color: var(--mono-accent);
}
html[data-theme="dark"] .notice-avatar {
  background: linear-gradient(135deg, var(--mono-accent), var(--mono-accent-2));
  color: var(--mono-text);
}
html[data-theme="dark"] .notice-title {
  color: var(--mono-text);
}
html[data-theme="dark"] .notice-date {
  color: var(--gray3);
}
html[data-theme="dark"] .notice-more {
  color: var(--mono-accent);
}
html[data-theme="dark"] .notice-more:hover {
  color: var(--mono-accent-2);
}
html[data-theme="dark"] .clock-date {
  color: var(--gray4);
}
html[data-theme="dark"] .cal-cell.has-event::after {
  background: var(--mono-accent);
}
html[data-theme="dark"] .ccp-page-title {
  color: var(--mono-text);
}
html[data-theme="dark"] .ccp-page-title-icon {
  background: linear-gradient(135deg, var(--mono-accent), var(--mono-accent-2));
}
html[data-theme="dark"] .btn-ccp-add {
  background: linear-gradient(135deg, var(--mono-accent), var(--mono-accent-2));
  color: var(--mono-text);
}
html[data-theme="dark"] .ccp-table-wrap {
  background: var(--white);
}
html[data-theme="dark"] .ccp-table thead tr {
  background: var(--line-05);
  color: var(--mono-text);
}
html[data-theme="dark"] .ccp-table tbody tr {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .ccp-table tbody tr:hover {
  background: var(--sf-7);
}
html[data-theme="dark"] .ccp-table td {
  color: var(--gray4);
}
html[data-theme="dark"] .ccp-table td:first-child {
  color: var(--mono-text);
}
html[data-theme="dark"] .ccp-badge.bio {
  background: var(--tint-amber);
  color: var(--gray4);
}
html[data-theme="dark"] .ccp-badge.phys {
  background: var(--tint-blue3);
  color: var(--gray4);
}
html[data-theme="dark"] .ccp-badge.chem {
  background: var(--tint-green3);
  color: var(--stamp-green);
}
html[data-theme="dark"] .ccp-badge.micro {
  background: #141414;
  color: var(--gray4);
}
html[data-theme="dark"] .ccp-act-btn.edit {
  background: var(--tint-blue);
}
html[data-theme="dark"] .ccp-act-btn.edit:hover {
  background: var(--tint-blue3);
}
html[data-theme="dark"] .ccp-act-btn.del {
  background: var(--tint-red2);
  color: var(--stamp-red);
}
html[data-theme="dark"] .ccp-act-btn.del:hover {
  background: var(--tint-red);
}
html[data-theme="dark"] .ccp-empty {
  color: var(--gray3);
}
html[data-theme="dark"] .ccp-modal {
  background: var(--white);
}
html[data-theme="dark"] .ccp-modal-head {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .ccp-modal-title {
  color: var(--mono-text);
}
html[data-theme="dark"] .ccp-modal-close {
  color: var(--gray3);
}
html[data-theme="dark"] .ccp-modal-close:hover {
  background: var(--gray2);
  color: var(--mono-text);
}
html[data-theme="dark"] .ccp-form-group label {
  color: var(--mono-text);
}
html[data-theme="dark"] .ccp-form-group input,
html[data-theme="dark"] .ccp-form-group select,
html[data-theme="dark"] .ccp-form-group textarea {
  border: 1.5px solid var(--gray2);
  color: var(--mono-text);
  background: var(--gray1);
}
html[data-theme="dark"] .ccp-form-group input:focus,
html[data-theme="dark"] .ccp-form-group select:focus,
html[data-theme="dark"] .ccp-form-group textarea:focus {
  border-color: var(--mono-accent);
  background: var(--white);
}
html[data-theme="dark"] .ccp-modal-foot {
  border-top: 1px solid var(--gray2);
}
html[data-theme="dark"] .btn-ccp-cancel {
  background: var(--gray2);
  color: var(--mono-text);
}
html[data-theme="dark"] .btn-ccp-cancel:hover {
  background: var(--btn-bg2);
  color: var(--btn-fg);
}
html[data-theme="dark"] .btn-ccp-save {
  background: linear-gradient(135deg, var(--mono-accent), var(--mono-accent-2));
  color: var(--mono-text);
}
html[data-theme="dark"] .ccp-log-form-card {
  background: var(--white);
  border: 1px solid var(--gray2);
}
html[data-theme="dark"] .ccp-log-form-head {
  background: var(--line-05);
  border-color: var(--line-12);
  color: var(--white);
}
html[data-theme="dark"] .ccp-judge-btn {
  border: 2px solid var(--gray2);
  color: var(--gray3);
  background: var(--gray1);
}
html[data-theme="dark"] .ccp-judge-btn.pass.active {
  background: var(--tint-green);
  border-color: var(--stamp-green);
  color: var(--stamp-green);
}
html[data-theme="dark"] .ccp-judge-btn.fail.active {
  background: var(--tint-red);
  border-color: var(--stamp-red);
  color: var(--stamp-red);
}
html[data-theme="dark"] .ccp-log-submit {
  background: linear-gradient(135deg, var(--mono-accent), var(--mono-accent-2));
  color: var(--mono-text);
}
html[data-theme="dark"] .ccp-log-records-card {
  background: var(--white);
  border: 1px solid var(--gray2);
}
html[data-theme="dark"] .ccp-log-records-head {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .ccp-log-records-title {
  color: var(--mono-text);
}
html[data-theme="dark"] .ccp-log-filter input,
html[data-theme="dark"] .ccp-log-filter select {
  border: 1.5px solid var(--gray2);
  color: var(--mono-text);
  background: var(--gray1);
}
html[data-theme="dark"] .ccp-log-table thead tr {
  background: var(--line-05);
  color: var(--mono-text);
}
html[data-theme="dark"] .ccp-log-table tbody tr {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .ccp-log-table tbody tr:hover {
  background: var(--sf-7);
}
html[data-theme="dark"] .ccp-log-table td {
  color: var(--gray4);
}
html[data-theme="dark"] .judge-pass {
  color: var(--stamp-green);
}
html[data-theme="dark"] .judge-fail {
  color: var(--stamp-red);
}
html[data-theme="dark"] .ccp-log-del {
  background: var(--tint-red2);
  color: var(--stamp-red);
}
html[data-theme="dark"] .ccp-log-del:hover {
  background: var(--tint-red);
}
html[data-theme="dark"] .ccp-log-pagination {
  border-top: 1px solid var(--gray2);
}
html[data-theme="dark"] .ccp-pg-btn {
  background: var(--gray1);
  color: var(--mono-text);
}
html[data-theme="dark"] .ccp-pg-btn.active {
  background: var(--btn-bg);
  color: var(--btn-fg);
  border-color: var(--btn-line);
}
html[data-theme="dark"] .ccp-pg-btn:hover:not(.active) {
  background: var(--gray2);
}
html[data-theme="dark"] .chk-tabs {
  background: var(--white);
}
html[data-theme="dark"] .chk-tab {
  color: var(--gray3);
}
html[data-theme="dark"] .chk-tab.active {
  background: var(--line-05);
  color: var(--mono-text);
}
html[data-theme="dark"] .chk-tab:hover:not(.active) {
  background: var(--gray2);
  color: var(--mono-text);
}
html[data-theme="dark"] .chk-info-card {
  background: var(--white);
}
html[data-theme="dark"] .chk-info-field label {
  color: var(--mono-text);
}
html[data-theme="dark"] .chk-info-field input,
html[data-theme="dark"] .chk-info-field select {
  border: 1.5px solid var(--gray2);
  color: var(--mono-text);
  background: var(--gray1);
}
html[data-theme="dark"] .chk-info-field input:focus,
html[data-theme="dark"] .chk-info-field select:focus {
  border-color: var(--mono-accent);
  background: var(--white);
}
html[data-theme="dark"] .chk-accord {
  background: var(--white);
}
html[data-theme="dark"] .chk-accord-head {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .chk-accord-head:hover {
  background: var(--sf-7);
}
html[data-theme="dark"] .chk-accord-head.open {
  background: #141414;
}
html[data-theme="dark"] .chk-accord-cat-name {
  color: var(--mono-text);
}
html[data-theme="dark"] .chk-stat-chip.pass {
  background: var(--tint-green);
  color: var(--stamp-green);
}
html[data-theme="dark"] .chk-stat-chip.fail {
  background: var(--tint-red);
  color: var(--stamp-red);
}
html[data-theme="dark"] .chk-stat-chip.na {
  background: var(--sf-3);
  color: var(--mono-accent);
}
html[data-theme="dark"] .chk-accord-arrow {
  color: var(--gray3);
}
html[data-theme="dark"] .chk-item {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .chk-item-num {
  background: var(--gray2);
  color: var(--mono-text);
}
html[data-theme="dark"] .chk-item-text {
  color: var(--mono-text);
}
html[data-theme="dark"] .chk-opt-btn {
  border: 2px solid var(--gray2);
  color: var(--gray3);
  background: var(--gray1);
}
html[data-theme="dark"] .chk-opt-btn.pass.sel {
  background: var(--tint-green);
  border-color: var(--stamp-green);
  color: var(--stamp-green);
}
html[data-theme="dark"] .chk-opt-btn.fail.sel {
  background: var(--tint-red);
  border-color: var(--stamp-red);
  color: var(--stamp-red);
}
html[data-theme="dark"] .chk-opt-btn.na.sel {
  background: var(--sf-3);
  border-color: var(--mono-accent);
  color: var(--gray4);
}
html[data-theme="dark"] .chk-remark {
  border-color: rgba(255, 255, 255, 0.18);
  color: var(--mono-text);
  background: var(--tint-red2);
}
html[data-theme="dark"] .chk-score-card {
  background: var(--white);
}
html[data-theme="dark"] .chk-score-head {
  background: var(--line-05);
  color: var(--mono-text);
}
html[data-theme="dark"] .chk-score-pct-num {
  color: var(--mono-text);
}
html[data-theme="dark"] .chk-score-pct-label {
  color: var(--gray3);
}
html[data-theme="dark"] .chk-score-row-label {
  color: var(--gray4);
}
html[data-theme="dark"] .chk-score-val {
  color: var(--mono-text);
}
html[data-theme="dark"] .chk-save-btn {
  background: linear-gradient(135deg, var(--mono-accent), var(--mono-accent-2));
  color: var(--mono-text);
}
html[data-theme="dark"] .chk-hist-wrap {
  background: var(--white);
}
html[data-theme="dark"] .chk-hist-head {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .chk-hist-title {
  color: var(--mono-text);
}
html[data-theme="dark"] .chk-hist-filter select,
html[data-theme="dark"] .chk-hist-filter input {
  border: 1.5px solid var(--gray2);
  color: var(--mono-text);
  background: var(--gray1);
}
html[data-theme="dark"] .chk-hist-table thead tr {
  background: var(--line-05);
  color: var(--mono-text);
}
html[data-theme="dark"] .chk-hist-table tbody tr {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .chk-hist-table tbody tr:hover {
  background: var(--sf-7);
}
html[data-theme="dark"] .chk-hist-table td {
  color: var(--gray4);
}
html[data-theme="dark"] .chk-rate-track {
  background: var(--gray2);
}
html[data-theme="dark"] .chk-type-chip.daily {
  background: var(--tint-blue3);
  color: var(--gray4);
}
html[data-theme="dark"] .chk-type-chip.weekly {
  background: var(--tint-amber);
  color: var(--gray4);
}
html[data-theme="dark"] .chk-type-chip.monthly {
  background: var(--tint-green3);
  color: var(--stamp-green);
}
html[data-theme="dark"] .chk-detail-box {
  background: var(--white);
}
html[data-theme="dark"] .chk-detail-head {
  background: var(--white);
  color: var(--gray4);
  border-color: var(--hairline);
}
html[data-theme="dark"] .chk-detail-title {
  color: var(--gray4);
}
html[data-theme="dark"] .chk-detail-close {
  color: var(--mono-text);
}
html[data-theme="dark"] .chk-detail-close:hover {
  background: var(--line-05);
  color: var(--gray4);
}
html[data-theme="dark"] .chk-detail-meta {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .chk-detail-meta-label {
  color: var(--gray3);
}
html[data-theme="dark"] .chk-detail-meta-val {
  color: var(--mono-text);
}
html[data-theme="dark"] .chk-detail-cat-name {
  color: var(--mono-text);
  background: var(--gray1);
}
html[data-theme="dark"] .chk-detail-row {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .chk-detail-row-text {
  color: var(--gray4);
}
html[data-theme="dark"] .chk-detail-remark {
  color: var(--stamp-red);
}
html[data-theme="dark"] .raw-stock-card {
  background: var(--white);
  border: 1px solid var(--gray2);
  border-left: 4px solid var(--mono-accent);
}
html[data-theme="dark"] .raw-stock-name {
  color: var(--mono-text);
}
html[data-theme="dark"] .raw-stock-qty {
  color: var(--mono-text);
}
html[data-theme="dark"] .raw-stock-unit {
  color: var(--gray3);
}
html[data-theme="dark"] .raw-stock-badge.ok {
  color: var(--stamp-green);
}
html[data-theme="dark"] .raw-stock-badge.low {
  color: var(--stamp-red);
}
html[data-theme="dark"] .raw-header-title {
  color: var(--mono-text);
}
html[data-theme="dark"] .btn-raw-manage {
  background: var(--line-05);
  color: var(--mono-text);
  border-color: var(--line-18);
}
html[data-theme="dark"] .raw-type-btn {
  border: 2px solid var(--gray2);
  color: var(--gray3);
  background: var(--gray1);
}
html[data-theme="dark"] .raw-type-btn.in.sel {
  background: var(--tint-blue3);
  border-color: rgba(255, 255, 255, 0.14);
  color: var(--gray4);
}
html[data-theme="dark"] .raw-type-btn.out.sel {
  background: var(--tint-amber);
  border-color: var(--mono-accent);
  color: var(--gray4);
}
html[data-theme="dark"] .raw-in-badge {
  color: var(--gray4);
}
html[data-theme="dark"] .raw-out-badge {
  color: var(--gray4);
}
html[data-theme="dark"] .prod-mat-row select,
html[data-theme="dark"] .prod-mat-row input {
  border: 1.5px solid var(--gray2);
  color: var(--mono-text);
  background: var(--white);
}
html[data-theme="dark"] .prod-mat-del {
  background: var(--tint-red2);
  color: var(--stamp-red);
}
html[data-theme="dark"] .prod-mat-del:hover {
  background: var(--tint-red);
}
html[data-theme="dark"] .btn-add-mat {
  color: var(--mono-accent);
}
html[data-theme="dark"] .prod-ccp-btn {
  border: 2px solid var(--gray2);
  color: var(--gray3);
  background: var(--gray1);
}
html[data-theme="dark"] .prod-ccp-btn.ok.sel {
  background: var(--tint-green);
  border-color: var(--stamp-green);
  color: var(--stamp-green);
}
html[data-theme="dark"] .prod-ccp-btn.fail.sel {
  background: var(--tint-red);
  border-color: var(--stamp-red);
  color: var(--stamp-red);
}
html[data-theme="dark"] .raw-mgmt-item {
  background: var(--gray1);
}
html[data-theme="dark"] .raw-mgmt-item-name {
  color: var(--mono-text);
}
html[data-theme="dark"] .raw-mgmt-item-sub {
  color: var(--gray3);
}
html[data-theme="dark"] .raw-mgmt-add input,
html[data-theme="dark"] .raw-mgmt-add select {
  border: 1.5px solid var(--gray2);
  color: var(--mono-text);
  background: var(--white);
}
html[data-theme="dark"] .btn-raw-add-confirm {
  background: var(--btn-bg);
  color: var(--btn-fg);
  border-color: var(--btn-line);
}
html[data-theme="dark"] .prod-detail-meta {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .prod-mat-tag {
  background: var(--tint-blue);
  color: var(--gray4);
}
html[data-theme="dark"] .raw-date-nav input[type="date"] {
  border: 2px solid var(--gray2);
  color: var(--mono-text);
  background: var(--white);
}
html[data-theme="dark"] .raw-date-btn {
  background: var(--gray1);
  border: 2px solid var(--gray2);
  color: var(--mono-text);
}
html[data-theme="dark"] .raw-date-btn:hover {
  background: var(--gray2);
}
html[data-theme="dark"] .raw-date-btn.today {
  background: var(--line-05);
  color: var(--mono-text);
  border-color: var(--line-18);
}
html[data-theme="dark"] .raw-date-btn.today:hover {
  background: var(--gray2);
}
html[data-theme="dark"] .raw-date-btn.copy {
  background: var(--tint-blue);
  color: var(--gray4);
  border-color: rgba(255, 255, 255, 0.18);
}
html[data-theme="dark"] .raw-date-btn.copy:hover {
  background: var(--tint-blue3);
}
html[data-theme="dark"] .raw-date-label {
  color: var(--gray3);
}
html[data-theme="dark"] .raw-daily-wrap {
  background: var(--white);
  border: 1px solid var(--gray2);
}
html[data-theme="dark"] .raw-daily-table thead {
  background: var(--line-05);
  color: var(--mono-text);
}
html[data-theme="dark"] .raw-daily-table td {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .raw-daily-table tbody tr:nth-child(even) {
  background: var(--sf-cool);
}
html[data-theme="dark"] .raw-daily-table tbody tr:hover {
  background: #141414;
}
html[data-theme="dark"] .raw-daily-table thead tr:hover {
  background: var(--line-05);
}
html[data-theme="dark"] .raw-item-name {
  color: var(--mono-text);
}
html[data-theme="dark"] .raw-item-unit {
  color: var(--gray3);
  background: var(--gray1);
}
html[data-theme="dark"] .raw-td-num {
  color: var(--mono-text);
}
html[data-theme="dark"] .raw-stock-zero {
  color: var(--stamp-red) !important;
  background: var(--tint-red3) !important;
}
html[data-theme="dark"] .raw-stock-low {
  color: var(--stamp-amber) !important;
  background: var(--tint-amber3) !important;
}
html[data-theme="dark"] .raw-input {
  border: 1.5px solid var(--gray2);
  background: var(--white);
  color: var(--mono-text);
}
html[data-theme="dark"] .raw-input:focus {
  border-color: var(--mono-accent);
  background: var(--tint-amber3);
}
html[data-theme="dark"] .raw-input.in:focus {
  border-color: rgba(255, 255, 255, 0.14);
  background: var(--tint-blue);
}
html[data-theme="dark"] .raw-input.out:focus {
  border-color: var(--stamp-amber);
  background: var(--tint-amber3);
}
html[data-theme="dark"] .raw-input.defect:focus {
  border-color: var(--stamp-red);
  background: var(--tint-red3);
}
html[data-theme="dark"] .raw-unit {
  color: var(--gray3);
}
html[data-theme="dark"] .raw-input-unit {
  color: var(--gray3);
}
html[data-theme="dark"] .raw-daily-note {
  border-top: 2px solid var(--gray2);
}
html[data-theme="dark"] .raw-daily-note label {
  color: var(--mono-text);
}
html[data-theme="dark"] .raw-daily-note textarea {
  border: 2px solid var(--gray2);
  background: var(--white);
  color: var(--mono-text);
}
html[data-theme="dark"] .raw-daily-note textarea:focus {
  border-color: var(--mono-accent);
  background: var(--tint-amber3);
}
html[data-theme="dark"] .raw-daily-actions {
  border-top: 2px solid var(--gray2);
  background: var(--gray1);
}
html[data-theme="dark"] .raw-daily-worker label {
  color: var(--mono-text);
}
html[data-theme="dark"] .raw-daily-worker input {
  border: 2px solid var(--gray2);
  color: var(--mono-text);
  background: var(--white);
}
html[data-theme="dark"] .raw-daily-save {
  background: var(--btn-bg);
  color: var(--btn-fg);
  border-color: var(--btn-line);
}
html[data-theme="dark"] .raw-mgmt-add-v2 input {
  border: 2px solid var(--gray2);
  color: var(--mono-text);
  background: var(--white);
}
html[data-theme="dark"] .raw-mgmt-add-row2 select {
  border: 2px solid var(--gray2);
  color: var(--mono-text);
  background: var(--white);
}
html[data-theme="dark"] .raw-add-btn {
  background: var(--btn-bg);
  color: var(--btn-fg);
  border-color: var(--btn-line);
}
html[data-theme="dark"] .prod-import-item {
  border: 1.5px solid var(--gray2);
}
html[data-theme="dark"] .prod-import-item:hover {
  border-color: var(--mono-accent);
  background: var(--tint-amber3);
}
html[data-theme="dark"] .prod-form-field label {
  color: var(--mono-text);
}
html[data-theme="dark"] .prod-form-field input,
html[data-theme="dark"] .prod-form-field select {
  border: 2px solid var(--gray2);
  color: var(--mono-text);
  background: var(--white);
}
html[data-theme="dark"] .prod-form-field input:focus,
html[data-theme="dark"] .prod-form-field select:focus {
  border-color: var(--mono-accent);
}
html[data-theme="dark"] .sec-chk-header-title {
  color: var(--mono-text);
}
html[data-theme="dark"] .prereq-theme .chk-accord-head.open {
  background: var(--tint-green3);
}
html[data-theme="dark"] .prereq-theme .chk-accord-head:hover {
  background: #141414;
}
html[data-theme="dark"] .hygiene-theme .chk-accord-head.open {
  background: #141414;
}
html[data-theme="dark"] .hygiene-theme .chk-accord-head:hover {
  background: #141414;
}
html[data-theme="dark"] .apv-status.pending {
  background: var(--tint-amber);
  color: var(--gray4);
}
html[data-theme="dark"] .apv-status.reviewed {
  background: var(--tint-blue3);
  color: var(--gray4);
}
html[data-theme="dark"] .apv-status.approved {
  background: var(--tint-green);
  color: var(--stamp-green);
}
html[data-theme="dark"] .apv-status.rejected {
  background: var(--tint-red);
  color: var(--stamp-red);
}
html[data-theme="dark"] .apv-card {
  background: var(--white);
  border-left: 4px solid var(--gray2);
}
html[data-theme="dark"] .apv-rewrite-section-title {
  color: var(--stamp-red);
}
html[data-theme="dark"] .apv-rewrite-section-help {
  color: var(--gray4);
}
html[data-theme="dark"] .apv-rewrite-section-count {
  color: var(--stamp-red);
  background: var(--tint-red3);
  border-color: var(--line-red);
}
html[data-theme="dark"] .apv-card.rewrite-needed {
  background: var(--tint-amber2);
  border-color: var(--line-amber);
}
html[data-theme="dark"] .apv-rewrite-state-chip.is-rejected {
  color: var(--stamp-red);
  background: var(--tint-red);
  border-color: var(--line-red);
}
html[data-theme="dark"] .apv-rewrite-state-chip.is-withdrawn {
  color: var(--gray4);
  background: var(--tint-amber);
  border-color: rgba(255, 255, 255, 0.12);
}
html[data-theme="dark"] .apv-rewrite-state-chip.is-revised {
  color: var(--gray4);
  background: var(--sf-3);
  border-color: var(--sf-line);
}
html[data-theme="dark"] .apv-rewrite-reason-text {
  color: var(--gray4);
}
html[data-theme="dark"] .apv-card-title {
  color: var(--mono-text);
}
html[data-theme="dark"] .apv-card-meta {
  color: var(--gray3);
}
html[data-theme="dark"] .apv-card-preview {
  color: var(--gray4);
}
html[data-theme="dark"] .apv-empty {
  color: var(--gray3);
}
html[data-theme="dark"] .apv-type-chip {
  background: var(--tint-blue);
  color: var(--gray4);
}
html[data-theme="dark"] .apv-card-action-approve,
html[data-theme="dark"] .apv-card-action-review,
html[data-theme="dark"] .apv-card-action-rewrite {
  background: var(--btn-bg2);
  color: var(--btn-fg);
}
html[data-theme="dark"] .apv-card-action-reject,
html[data-theme="dark"] .apv-card-action-muted-danger {
  color: var(--stamp-red);
}
html[data-theme="dark"] .apv-card-action-withdraw,
html[data-theme="dark"] .apv-card-action-muted {
  color: var(--gray4);
}
html[data-theme="dark"] .apv-card-action-note {
  color: var(--stamp-red);
  background: var(--tint-amber2);
  border-color: var(--line-amber);
}
html[data-theme="dark"] .apv-approve-btn {
  background: linear-gradient(135deg, var(--success), #4ade80);
  color: var(--white);
}
html[data-theme="dark"] .apv-reject-btn {
  background: linear-gradient(135deg, var(--danger), #f87171);
  color: var(--white);
}
html[data-theme="dark"] .apv-comment-inp {
  border: 1.5px solid var(--gray2);
  color: var(--mono-text);
  background: var(--gray1);
}
html[data-theme="dark"] .apv-comment-inp:focus {
  border-color: var(--mono-accent);
  background: var(--white);
}
html[data-theme="dark"] body.role-approver #menu-approval {
  color: var(--mono-text) !important;
}
html[data-theme="dark"] .apv-card.approved {
  background: var(--tint-green3) !important;
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .apv-card.pending {
  background: var(--tint-amber3) !important;
  border-color: var(--stamp-amber);
}
html[data-theme="dark"] .apv-card.rejected {
  background: var(--tint-red3) !important;
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .apv-card.reviewed {
  background: var(--tint-blue) !important;
}
html[data-theme="dark"] .apv-ccp-badge {
  background: var(--danger);
}
html[data-theme="dark"] .apv-summary-card {
  background: var(--gray1);
  border: 1.5px solid var(--gray2);
}
html[data-theme="dark"] .apv-summary-card .apv-sc-label {
  color: var(--gray3);
}
html[data-theme="dark"] .apv-summary-card.sc-pending  .apv-sc-num {
  color: var(--stamp-amber);
}
html[data-theme="dark"] .apv-summary-card.sc-approved .apv-sc-num {
  color: var(--stamp-green);
}
html[data-theme="dark"] .apv-summary-card.sc-rejected .apv-sc-num {
  color: var(--stamp-red);
}
html[data-theme="dark"] .notice-full-card {
  background: var(--white);
  border-left: 4px solid var(--gray2);
}
html[data-theme="dark"] .notice-full-card-title {
  color: var(--mono-text);
}
html[data-theme="dark"] .notice-full-card-meta {
  color: var(--gray3);
}
html[data-theme="dark"] .notice-full-card-preview {
  color: var(--gray4);
}
html[data-theme="dark"] .notice-imp-badge {
  background: var(--line-06);
  color: var(--mono-text);
  border-color: var(--line-18);
}
html[data-theme="dark"] .notice-write-card {
  background: var(--white);
  border-color: var(--gray2);
}
html[data-theme="dark"] .notice-write-head {
  border-color: var(--hairline);
  color: var(--mono-text);
}
html[data-theme="dark"] .notice-imp-toggle {
  color: var(--mono-text);
}
html[data-theme="dark"] .notice-submit-btn {
  background: var(--line-05);
  color: var(--mono-text);
  border-color: var(--line-18);
}
html[data-theme="dark"] .notice-submit-btn:hover {
  background: var(--gray2);
}
html[data-theme="dark"] .notice-detail-content {
  color: var(--mono-text);
}
html[data-theme="dark"] .notice-detail-content.md-content h1,
html[data-theme="dark"] .notice-detail-content.md-content h2,
html[data-theme="dark"] .notice-detail-content.md-content h3 {
  color: var(--mono-text);
}
html[data-theme="dark"] .notice-detail-content.md-content hr {
  border-top: 1px solid var(--gray2);
}
html[data-theme="dark"] .notice-detail-content.md-content th,
html[data-theme="dark"] .notice-detail-content.md-content td {
  border: 1px solid var(--gray2);
}
html[data-theme="dark"] .notice-detail-content.md-content th {
  background: var(--gray1);
}
html[data-theme="dark"] .admin-dash {
  background: var(--gray1);
}
html[data-theme="dark"] .admin-topbar {
  background: var(--sf-warm);
  color: var(--gray4);
  border-color: var(--hairline);
}
html[data-theme="dark"] .admin-topbar-logo {
  background: var(--line-04);
  border-color: var(--gray2);
}
html[data-theme="dark"] .admin-topbar-title {
  color: var(--gray4);
}
html[data-theme="dark"] .admin-topbar-badge {
  color: var(--gray4);
}
html[data-theme="dark"] .admin-logout-btn {
  color: var(--gray4);
  border-color: var(--line-15);
}
html[data-theme="dark"] .admin-logout-btn:hover {
  background: #31313A;
  color: var(--btn-fg);
  border-color: rgba(255, 255, 255, 0.30);
}
html[data-theme="dark"] .admin-welcome-title {
  color: var(--mono-text);
}
html[data-theme="dark"] .admin-welcome-sub {
  color: var(--gray3);
}
html[data-theme="dark"] .admin-stat-card {
  background: var(--white);
  border-color: var(--hairline);
}
html[data-theme="dark"] .admin-stat-label {
  color: var(--gray3);
}
html[data-theme="dark"] .admin-stat-value {
  color: var(--mono-text);
}
html[data-theme="dark"] .admin-stat-sub {
  color: var(--gray3);
}
html[data-theme="dark"] .admin-panel {
  background: var(--white);
  border-color: var(--hairline);
}
html[data-theme="dark"] .admin-panel-head {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .admin-panel-title {
  color: var(--mono-text);
}
html[data-theme="dark"] .admin-apv-row {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .admin-apv-title {
  color: var(--mono-text);
}
html[data-theme="dark"] .admin-apv-sub {
  color: var(--gray3);
}
html[data-theme="dark"] .admin-act-approve {
  background: var(--btn-bg);
  color: var(--btn-fg);
  border-color: var(--btn-line);
}
html[data-theme="dark"] .admin-act-approve:hover {
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .admin-act-reject {
  color: var(--gray4);
}
html[data-theme="dark"] .admin-act-reject:hover {
  background: var(--line-05);
}
html[data-theme="dark"] .admin-notice-row {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .admin-notice-dot {
  background: var(--mono-text);
}
html[data-theme="dark"] .admin-notice-title {
  color: var(--mono-text);
}
html[data-theme="dark"] .admin-notice-meta {
  color: var(--gray3);
}
html[data-theme="dark"] .admin-quick-btns {
  border-top: 1px solid var(--gray2);
}
html[data-theme="dark"] .admin-quick-btn {
  color: var(--gray4);
  border-color: var(--line-15);
}
html[data-theme="dark"] .admin-quick-btn:hover {
  background: #31313A;
  color: var(--btn-fg);
  border-color: rgba(255, 255, 255, 0.30);
}
html[data-theme="dark"] .tier-tab {
  color: var(--gray3);
}
html[data-theme="dark"] .tier-tab.active {
  color: var(--gray4);
}
html[data-theme="dark"] .tier-tab:hover {
  color: var(--gray4);
}
html[data-theme="dark"] .company-card {
  background: var(--white);
  border-color: var(--hairline);
}
html[data-theme="dark"] .company-card-name {
  color: var(--mono-text);
}
html[data-theme="dark"] .tier-badge {
  color: var(--gray4);
}
html[data-theme="dark"] .tier-badge.일반 {
  background: var(--mono-text);
  color: var(--sf-warm);
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .company-card-stats {
  color: var(--gray3);
}
html[data-theme="dark"] .company-card-actions button {
  border-color: var(--line-15);
  color: var(--gray4);
}
html[data-theme="dark"] .company-card-actions button:hover {
  background: #31313A;
  color: var(--btn-fg);
  border-color: rgba(255, 255, 255, 0.30);
}
html[data-theme="dark"] .company-card-actions button.danger:hover {
  background: var(--danger);
  border-color: rgba(255, 255, 255, 0.14);
  color: var(--sf-warm);
}
html[data-theme="dark"] .company-card:hover {
  background: #141414;
}
html[data-theme="dark"] .cdp-tab {
  color: var(--gray3);
}
html[data-theme="dark"] .cdp-tab.active {
  color: var(--gray4);
}
html[data-theme="dark"] .cdp-tab:hover:not(.active) {
  color: var(--gray4);
  background: var(--line-04);
}
html[data-theme="dark"] .super-tab {
  color: var(--mono-text);
}
html[data-theme="dark"] .super-tab.active {
  color: var(--gray4);
}
html[data-theme="dark"] .super-tab:hover:not(.active) {
  color: var(--gray4);
  background: var(--line-04);
}
html[data-theme="dark"] .admin-sidebar {
  background: var(--sf-warm);
  border-color: var(--hairline);
}
html[data-theme="dark"] .admin-sidebar-group-label {
  color: var(--mono-text);
  border-color: var(--line-06);
}
html[data-theme="dark"] .admin-nav-item {
  color: var(--mono-text);
}
html[data-theme="dark"] .admin-nav-item:hover {
  color: var(--gray4);
  background: var(--line-04);
}
html[data-theme="dark"] .admin-nav-item.active {
  color: var(--gray4);
  background: var(--line-06);
}
html[data-theme="dark"] .admin-sidebar {
  border-color: var(--gray2);
}
html[data-theme="dark"] .admin-main-body select,
html[data-theme="dark"] .admin-main-body input[type="text"],
html[data-theme="dark"] .admin-main-body input[type="date"],
html[data-theme="dark"] .admin-main-body input[type="search"],
html[data-theme="dark"] .admin-main-body input[type="number"],
html[data-theme="dark"] .admin-main-body input[type="email"] {
  border-color: var(--line-15) !important;
  background: var(--white) !important;
  color: var(--gray4) !important;
}
html[data-theme="dark"] .admin-main-body select:focus,
html[data-theme="dark"] .admin-main-body input:focus {
  border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="dark"] .ob-filter-btn.active {
  background: var(--btn-bg) !important;
  color: var(--btn-fg) !important;
  border-color: var(--btn-line) !important;
}
html[data-theme="dark"] .admin-page-title {
  color: var(--mono-text);
}
html[data-theme="dark"] .admin-page-btn {
  background: var(--btn-bg);
  color: var(--btn-fg);
  border-color: var(--btn-line);
}
html[data-theme="dark"] .admin-page-btn:hover {
  background: #31313A;
  color: var(--btn-fg);
  border-color: rgba(255, 255, 255, 0.30);
}
html[data-theme="dark"] .ap-shortcut-btn {
  background: var(--white);
  border: 1.5px solid var(--gray2);
  color: var(--mono-text);
}
html[data-theme="dark"] .ap-shortcut-btn:hover {
  background: var(--gray1);
}
html[data-theme="dark"] .cdp-stat-card {
  background: var(--white);
  border: 1px solid var(--gray2);
}
html[data-theme="dark"] .cdp-stat-val {
  color: var(--mono-text);
}
html[data-theme="dark"] .cdp-stat-label {
  color: var(--gray3);
}
html[data-theme="dark"] .cdp-section {
  background: var(--white);
  border: 1px solid var(--gray2);
}
html[data-theme="dark"] .cdp-section-title {
  color: var(--mono-text);
}
html[data-theme="dark"] .cdp-activity-row {
  border-bottom: 1px solid var(--gray1);
}
html[data-theme="dark"] .cdp-user-card {
  background: var(--white);
  border: 1px solid var(--gray2);
}
html[data-theme="dark"] .cdp-avatar {
  background: var(--btn-bg2);
  color: var(--btn-fg);
}
html[data-theme="dark"] .acc-company-group {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .acc-company-head:hover {
  background: var(--gray1);
}
html[data-theme="dark"] .acc-chevron {
  color: var(--gray3);
}
html[data-theme="dark"] .admin-panel-search {
  border-top: 1px solid var(--gray2);
}
html[data-theme="dark"] .admin-panel-search input {
  border: 1px solid var(--gray2);
  background: var(--white);
  color: var(--mono-text);
}
html[data-theme="dark"] .admin-panel-search input::placeholder {
  color: var(--gray3);
}
html[data-theme="dark"] #setNav {
  border-bottom: 1.5px solid var(--gray2) !important;
}
html[data-theme="dark"] .hwpx-btn {
  border-color: rgba(255, 255, 255, 0.14);
  background: var(--tint-blue);
}
html[data-theme="dark"] .hwpx-server-notice {
  color: var(--gray3);
}
html[data-theme="dark"] .hwpx-server-notice a {
  color: var(--mono-accent-2);
}
html[data-theme="dark"] .hwpx-guide-box {
  background: var(--white);
}
html[data-theme="dark"] .hwpx-guide-title {
  color: var(--mono-text);
}
html[data-theme="dark"] .hwpx-guide-sub {
  color: var(--stamp-red);
}
html[data-theme="dark"] .hwpx-guide-steps li {
  border-color: var(--sf-4);
}
html[data-theme="dark"] .hwpx-step-num {
  background: var(--line-05);
  color: var(--mono-text);
}
html[data-theme="dark"] .hwpx-guide-close {
  border-color: var(--line-18);
  background: var(--line-05);
  color: var(--mono-text);
}
html[data-theme="dark"] .hwpx-guide-close:hover {
  background: var(--gray2);
}
html[data-theme="dark"] .dark .j-more-dropdown {
  background: var(--gray4);
}
html[data-theme="dark"] .jguide-popup-box {
  background: var(--white);
}
html[data-theme="dark"] .jguide-popup-title {
  color: var(--gray4);
}
html[data-theme="dark"] .jguide-step {
  color: var(--gray4);
}
html[data-theme="dark"] .jguide-popup-btn {
  background: var(--line-05);
  color: var(--mono-text);
  border-color: var(--line-12);
}
html[data-theme="dark"] .jguide-popup-btn:hover {
  background: #31313A;
  color: var(--btn-fg);
  border-color: rgba(255, 255, 255, 0.30);
}
html[data-theme="dark"] .dark .jguide-popup-box {
  background: var(--gray4);
}
html[data-theme="dark"] .dark .jguide-step {
  color: var(--line-e2);
}
html[data-theme="dark"] .dark .jguide-popup-btn {
  background: #1F1F22;
  color: var(--gray4);
}
html[data-theme="dark"] .j-row-handle {
  color: var(--mono-accent);
}
html[data-theme="dark"] .j-row-handle:hover {
  background: #1A1A1A;
}
html[data-theme="dark"] .j-row-dragging {
  background: var(--tint-amber) !important;
}
html[data-theme="dark"] .j-row-ghost {
  background: var(--tint-amber3);
  border-color: var(--stamp-amber);
}
html[data-theme="dark"] .j-edit-del {
  background: #141414 !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}
html[data-theme="dark"] .j-tool-btn.j-btn-add {
  background: #141414;
}
html[data-theme="dark"] .j-tool-btn.j-btn-del {
  background: var(--tint-red3);
  color: var(--stamp-red);
}
html[data-theme="dark"] .j-tool-btn.j-btn-del:hover {
  background: var(--danger);
}
html[data-theme="dark"] .j-bottom-bar {
  background: #141414;
  border-color: rgba(255, 255, 255, 0.18);
}
html[data-theme="dark"] .j-bottom-bar:hover {
  background: var(--tint-blue3);
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .j-btm-btn.j-btm-add {
  background: #141414;
}
html[data-theme="dark"] .j-btm-btn.j-btm-del {
  background: var(--tint-red3);
  color: var(--stamp-red);
}
html[data-theme="dark"] .j-btm-btn.j-btm-del:hover {
  background: var(--danger);
}
html[data-theme="dark"] .jwrite-btn {
  background: var(--sf-3);
  color: var(--gray4);
  border-color: var(--line-d1);
}
html[data-theme="dark"] .jwrite-btn:hover {
  background: var(--sf-line);
  border-color: var(--mono-accent);
}
html[data-theme="dark"] .jtab-nav {
  border-color: rgba(255, 255, 255, 0.12);
}
html[data-theme="dark"] .jtab-nav button {
  color: var(--mono-accent);
}
html[data-theme="dark"] .jtab-nav button:hover {
  color: var(--gray4);
}
html[data-theme="dark"] .jtab-nav button.active {
  color: var(--gray4);
}
html[data-theme="dark"] .jtab-sub-label {
  color: var(--mono-accent);
}
html[data-theme="dark"] .jtab-cat-label {
  color: var(--gray4);
  border-color: rgba(255, 255, 255, 0.12);
}
html[data-theme="dark"] .journal-open-btn {
  background: var(--line-05);
  color: var(--mono-text);
  border-color: var(--line-12);
}
html[data-theme="dark"] .journal-open-btn:hover {
  background: #31313A;
  color: var(--btn-fg);
  border-color: rgba(255, 255, 255, 0.30);
}
/* 사용법 화면(2026-08-30 개편: 왼쪽 목차 / 오른쪽 본문).
   면·글자색은 토큰이 알아서 뒤집는다. 토큰으로 안 되는 두 자리만 여기서 잡는다. */
html[data-theme="dark"] .mnl-toc-item.on {
  background: var(--btn-bg2);
  color: var(--btn-fg);
}
/* 설명서 사진은 밝은 화면을 찍은 것이라 흰 판 위에 둬야 테두리가 산다 */
html[data-theme="dark"] .mnl-doc figure .box {
  background: #FFFFFF;
  border-color: rgba(255, 255, 255, 0.16);
}

html[data-theme="dark"] .mnl-hero {
  background: var(--btn-bg2);
  color: var(--btn-fg);
}
html[data-theme="dark"] .mnl-hero-btn.primary {
  background: var(--btn-bg);
  color: var(--btn-fg);
  border-color: var(--btn-line);
}
html[data-theme="dark"] .mnl-grid-card {
  background: var(--white);
  border: 1px solid var(--border);
}
html[data-theme="dark"] .mnl-grid-card:hover {
  border-color: var(--mono-accent);
}
html[data-theme="dark"] .mnl-grid-card-num {
  background: var(--btn-bg2);
  color: var(--btn-fg);
}
html[data-theme="dark"] .mnl-grid-card-icon {
  background: var(--btn-bg);
  color: var(--btn-fg);
}
html[data-theme="dark"] .mnl-grid-card-title {
  color: var(--mono-text);
}
html[data-theme="dark"] .mnl-grid-card-desc {
  color: var(--gray4);
}
html[data-theme="dark"] .mnl-grid-card-arrow {
  color: var(--gray4);
}
html[data-theme="dark"] .mnl-grid-card:hover .mnl-grid-card-arrow {
  color: var(--mono-accent);
}
html[data-theme="dark"] .mnl-detail-panel {
  background: var(--white);
}
html[data-theme="dark"] .mnl-detail-header {
  background: var(--white);
  border-bottom: 1px solid var(--border);
}
html[data-theme="dark"] .mnl-detail-back {
  border: 1px solid var(--border);
  background: var(--bg2);
}
html[data-theme="dark"] .mnl-detail-back:hover {
  background: var(--border);
}
html[data-theme="dark"] .mnl-detail-htitle {
  color: var(--mono-text);
}
html[data-theme="dark"] .mnl-detail-hnum {
  color: var(--gray4);
  background: var(--bg2);
}
html[data-theme="dark"] .mnl-screenshot {
  border: 1px solid var(--border);
  background: #141414;
}
html[data-theme="dark"] .mnl-screenshot-missing:before {
  color: var(--gray4);
}
html[data-theme="dark"] .mnl-screenshot-label {
  color: var(--gray4);
  background: var(--bg2);
}
html[data-theme="dark"] .mnl-shot-pin {
  background: var(--btn-bg2);
  color: var(--btn-fg);
  border-color: var(--white);
}
html[data-theme="dark"] .mnl-callouts {
  background: var(--white);
  border-top: 1px solid var(--border);
}
html[data-theme="dark"] .mnl-callout {
  background: #141414;
  color: var(--gray4);
  border-color: rgba(255, 255, 255, 0.12);
}
html[data-theme="dark"] .mnl-callout b {
  background: var(--btn-bg2);
  color: var(--btn-fg);
}
html[data-theme="dark"] .mnl-step-num {
  background: var(--btn-bg2);
  color: var(--btn-fg);
}
html[data-theme="dark"] .mnl-step:not(:last-child) .mnl-step-num::after {
  background: var(--border);
}
html[data-theme="dark"] .mnl-step-title {
  color: var(--mono-text);
}
html[data-theme="dark"] .mnl-step-desc {
  color: var(--text);
}
html[data-theme="dark"] .mnl-tip.info {
  background: #141414;
  border-color: rgba(255, 255, 255, 0.12);
  color: var(--gray4);
}
html[data-theme="dark"] .mnl-tip.warn {
  background: #141414;
  border-color: rgba(255, 255, 255, 0.12);
  color: var(--gray4);
}
html[data-theme="dark"] .mnl-tip.important {
  background: #141414;
  border-color: rgba(255, 255, 255, 0.18);
  color: var(--gray4);
}
html[data-theme="dark"] .mnl-section-title {
  color: var(--mono-text);
  border-color: var(--mono-accent);
}
html[data-theme="dark"] .mnl-faq-item {
  border-bottom: 1px solid var(--border);
}
html[data-theme="dark"] .mnl-faq-q {
  color: var(--mono-text);
}
html[data-theme="dark"] .mnl-faq-a {
  color: var(--text);
}
html[data-theme="dark"] .undone-item {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .undone-name {
  color: var(--gray3);
}
html[data-theme="dark"] .undone-btn {
  color: var(--stamp-red);
}
html[data-theme="dark"] .undone-btn:hover {
  color: var(--stamp-red);
}
html[data-theme="dark"] .temp-sheet-table {
  background: #141414;
  border: 1px solid var(--border);
}
html[data-theme="dark"] .temp-sheet-table td {
  border: 1.5px solid var(--border);
  color: var(--text-primary);
}
html[data-theme="dark"] .temp-sheet-table tr:first-child td {
  background: var(--bg-secondary, #f8fafc);
  color: var(--text-secondary, #475569);
}
html[data-theme="dark"] .temp-sheet-viewport {
  background: var(--white);
}
html[data-theme="dark"] .temp-sheet-approved-viewport {
  background: var(--sf-5);
}
html[data-theme="dark"] .temp-approval-watermark {
  color: var(--mono-accent);
}
html[data-theme="dark"] .temp-approval-watermark-pending,
html[data-theme="dark"] .temp-approval-watermark-reviewed,
html[data-theme="dark"] .temp-approval-watermark-approved,
html[data-theme="dark"] .temp-approval-watermark-rejected,
html[data-theme="dark"] .temp-approval-watermark-withdrawn,
html[data-theme="dark"] .temp-approval-watermark-revised {
  color: var(--mono-accent);
}
html[data-theme="dark"] .temp-defrost-btn:hover {
  background: #1A1A1A;
  border-color: var(--stamp-amber);
}
html[data-theme="dark"] .temp-defrost-btn.active {
  background: #1A1A1A !important;
  color: var(--gray4) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="dark"] .temp-mark-legend {
  color: var(--gray4);
}
html[data-theme="dark"] .temp-mark-legend-title {
  color: var(--gray4);
}
html[data-theme="dark"] .temp-defrost-marked {
  background-image: linear-gradient(rgba(255,242,0,0.42), rgba(255,242,0,0.42)) !important;
}
html[data-theme="dark"] .temp-door-open-marked {
  background-image: linear-gradient(rgba(192,38,211,0.4), rgba(192,38,211,0.4)) !important;
}
html[data-theme="dark"] .temp-stopped-marked {
  background-image: linear-gradient(rgba(148,163,184,0.4), rgba(148,163,184,0.4)) !important;
}
html[data-theme="dark"] .temp-issue-marked {
  background-image: linear-gradient(rgba(239,68,68,0.42), rgba(239,68,68,0.42)) !important;
}
html[data-theme="dark"] .temp-mark-mode-btn.active.temp-mark-stopped {
  background: var(--mono-accent) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="dark"] .temp-mark-mode-btn.active.temp-mark-issue {
  background: var(--tint-red) !important;
  color: var(--stamp-red) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="dark"] .btn-del-sm {
  color: var(--gray3);
}
html[data-theme="dark"] .btn-del-sm:hover {
  background: var(--tint-red);
  color: var(--stamp-red);
}
html[data-theme="dark"] .temp-stat-card {
  background: var(--white);
  border: 1px solid var(--gray2);
}
html[data-theme="dark"] .temp-stat-label {
  color: var(--gray3);
}
html[data-theme="dark"] .temp-tabs {
  border-bottom: 2px solid var(--gray2);
}
html[data-theme="dark"] .temp-tab {
  color: var(--gray3);
}
html[data-theme="dark"] .temp-tab:hover {
  color: var(--mono-text);
}
html[data-theme="dark"] .temp-tab.active {
  color: var(--mono-text);
}
html[data-theme="dark"] .ob-filter-btn.active {
  background: var(--hairline) !important;
  color: var(--mono-text) !important;
}
html[data-theme="dark"] .ob-filter-btn:hover:not(.active) {
  background: var(--gray1) !important;
}
html[data-theme="dark"] .cw-container {
  border: 1px solid var(--gray2);
  background: var(--white);
}
html[data-theme="dark"] .cw-list-panel {
  border-right: 1px solid var(--gray2);
  background: var(--gray0, #fafafa);
}
html[data-theme="dark"] .cw-list-header {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .cw-search {
  border: 1px solid var(--gray2);
}
html[data-theme="dark"] .cw-consultant-select {
  border: 1px solid var(--gray2);
  background: var(--white);
  color: var(--mono-text);
}
html[data-theme="dark"] .cw-filter-label {
  color: var(--gray4);
}
html[data-theme="dark"] .cw-list-item {
  border-bottom: 1px solid var(--gray1);
}
html[data-theme="dark"] .cw-list-item:hover {
  background: var(--gray1);
}
html[data-theme="dark"] .cw-list-item.cw-selected {
  background: var(--primary-light, #fff8e1);
  border-left: 3px solid var(--primary);
}
html[data-theme="dark"] .cw-list-name {
  color: var(--mono-text);
}
html[data-theme="dark"] .cw-list-meta {
  color: var(--gray4);
}
html[data-theme="dark"] .cw-list-empty {
  color: var(--gray4);
}
html[data-theme="dark"] .cw-badge-inactive {
  color: var(--stamp-red);
  background: var(--tint-red3);
}
html[data-theme="dark"] .cw-add-btn {
  background: var(--line-05);
  color: var(--mono-text);
  border-color: var(--line-18);
}
html[data-theme="dark"] .cw-empty {
  color: var(--gray4);
}
html[data-theme="dark"] .cw-back-btn {
  color: var(--primary);
}
html[data-theme="dark"] .cw-detail-name {
  color: var(--mono-text);
}
html[data-theme="dark"] .cw-detail-tier {
  background: var(--gray1);
  color: var(--gray5);
}
html[data-theme="dark"] .cw-step {
  background: var(--gray1);
  color: var(--gray4);
}
html[data-theme="dark"] .cw-step.active {
  background: var(--line-05);
  color: var(--mono-text);
  border-color: var(--line-18);
}
html[data-theme="dark"] .cw-step.done {
  background: #1A1A1A;
  color: var(--gray4);
}
html[data-theme="dark"] .cw-tabs {
  border-bottom: 2px solid var(--gray2);
}
html[data-theme="dark"] .cw-tab {
  color: var(--gray4);
}
html[data-theme="dark"] .cw-tab:hover {
  color: var(--mono-text);
}
html[data-theme="dark"] .cw-tab.cw-tab-active {
  color: var(--primary);
}
html[data-theme="dark"] .company-memo-spring {
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .company-memo-label {
  color: var(--mono-accent);
}
html[data-theme="dark"] .company-memo-text {
  color: var(--gray4);
}
html[data-theme="dark"] .company-memo-text::placeholder {
  color: var(--mono-accent);
}
html[data-theme="dark"] .cw-label {
  color: var(--mono-text);
}
html[data-theme="dark"] .cw-input {
  border: 1px solid var(--gray2);
}
html[data-theme="dark"] .cw-check-label {
  background: var(--gray1);
}
html[data-theme="dark"] .cw-room-del {
  color: var(--stamp-red);
}
html[data-theme="dark"] .cw-room-add {
  color: var(--primary);
}
html[data-theme="dark"] .cw-btn-primary {
  background: var(--line-05);
  color: var(--mono-text);
  border-color: var(--line-18);
}
html[data-theme="dark"] .cw-btn-primary:hover {
  background: var(--gray2);
}
html[data-theme="dark"] .cw-btn-secondary {
  background: var(--gray1);
  color: var(--mono-text);
  border: 1px solid var(--gray2);
}
html[data-theme="dark"] .cw-journal-group-name {
  color: var(--mono-text);
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .cw-sub-section {
  border-color: var(--hairline);
}
html[data-theme="dark"] .cw-sub-h {
  color: var(--mono-text);
}
html[data-theme="dark"] .cw-sub-cell {
  border-color: var(--gray2);
  background: var(--white);
}
html[data-theme="dark"] .cw-sub-cell-label {
  color: var(--ink-soft);
}
html[data-theme="dark"] .cw-sub-cell-value {
  color: var(--mono-text);
}
html[data-theme="dark"] .cw-sub-cell-sub {
  color: var(--ink-soft);
}
html[data-theme="dark"] .cw-sub-chip-label {
  color: var(--ink-soft);
}
html[data-theme="dark"] .cw-sub-chip.on {
  background: var(--line-06);
  color: var(--mono-text);
  border-color: var(--line-15);
}
html[data-theme="dark"] .cw-sub-chip.off {
  color: var(--mono-accent);
  border-color: var(--line-18);
}
html[data-theme="dark"] .cw-sub-chip-pending {
  background: var(--danger);
}
html[data-theme="dark"] .cw-card-warn {
  color: var(--stamp-red);
}
html[data-theme="dark"] .cw-bill-cell {
  border-color: var(--gray2);
  background: var(--white);
}
html[data-theme="dark"] .cw-bill-cell.next {
  border-color: var(--line-18);
  background: var(--sf-warm);
}
html[data-theme="dark"] .cw-bill-label {
  color: var(--ink-soft);
}
html[data-theme="dark"] .cw-bill-value {
  color: var(--mono-text);
}
html[data-theme="dark"] .cw-bill-sub {
  color: var(--ink-soft);
}
html[data-theme="dark"] .cw-bill-delta.up {
  color: var(--stamp-red);
}
html[data-theme="dark"] .cw-bill-delta.down {
  color: var(--stamp-green);
}
html[data-theme="dark"] .cw-pending-list {
  border-left: 2px solid var(--mono-text);
}
html[data-theme="dark"] .cw-pending-h {
  color: var(--mono-text);
}
html[data-theme="dark"] .cw-pending-item {
  color: var(--ink-soft);
}
html[data-theme="dark"] .cw-pending-cancel {
  color: var(--stamp-red);
}
html[data-theme="dark"] .cw-sub-row {
  border-color: var(--line-06);
}
html[data-theme="dark"] .cw-sub-row-label {
  color: var(--mono-text);
}
html[data-theme="dark"] .cw-sub-select {
  border-color: var(--line-18);
}
html[data-theme="dark"] .cw-sub-when {
  color: var(--ink-soft);
}
html[data-theme="dark"] .cw-sub-opt {
  color: var(--mono-text);
}
html[data-theme="dark"] .cw-sub-mode {
  color: var(--ink-soft);
}
html[data-theme="dark"] .cw-sub-mode strong {
  color: var(--mono-text);
}
html[data-theme="dark"] .cw-sub-mode-pending {
  color: var(--stamp-red);
}
html[data-theme="dark"] .cw-mode-btn {
  border-color: var(--line-18);
}
html[data-theme="dark"] .cw-sub-form .cw-btn-primary {
  background: var(--line-05);
  color: var(--mono-text);
  border-color: var(--line-18);
}
html[data-theme="dark"] .cw-sub-form .cw-btn-primary:hover {
  background: var(--gray2);
}
html[data-theme="dark"] .cw-support-section {
  border-color: var(--hairline);
  background: var(--white);
}
html[data-theme="dark"] .cw-support-desc {
  color: var(--gray4);
}
html[data-theme="dark"] .cw-support-badge {
  border: 1px solid var(--gray2);
  color: var(--gray4);
  background: var(--gray1);
}
html[data-theme="dark"] .cw-support-badge.active {
  color: var(--stamp-green);
  background: var(--tint-green3);
  border-color: rgba(255, 255, 255, 0.12);
}
html[data-theme="dark"] .cw-support-badge.error {
  color: var(--stamp-red);
  background: var(--tint-red3);
  border-color: var(--line-red);
}
html[data-theme="dark"] .cw-support-grid label,
html[data-theme="dark"] .cw-support-memo {
  color: var(--mono-text);
}
html[data-theme="dark"] .cw-support-grid span,
html[data-theme="dark"] .cw-support-memo span {
  color: var(--gray4);
}
html[data-theme="dark"] .cw-support-empty,
html[data-theme="dark"] .cw-support-error {
  border: 1px dashed var(--gray2);
  color: var(--gray4);
  background: var(--gray1);
}
html[data-theme="dark"] .cw-support-error {
  color: var(--stamp-red);
  background: var(--tint-red3);
  border-color: var(--line-red);
}
html[data-theme="dark"] .cw-support-row {
  border: 1px solid var(--gray2);
  background: var(--white);
}
html[data-theme="dark"] .cw-support-row.active {
  border-color: rgba(255, 255, 255, 0.12);
  background: #141414;
}
html[data-theme="dark"] .cw-support-title {
  color: var(--mono-text);
}
html[data-theme="dark"] .cw-support-title span {
  border: 1px solid var(--gray2);
  color: var(--gray4);
  background: var(--white);
}
html[data-theme="dark"] .cw-support-meta {
  color: var(--gray4);
}
html[data-theme="dark"] .cw-support-memo-text {
  color: var(--mono-text);
}
html[data-theme="dark"] .cw-support-ended {
  border: 1px solid var(--gray2);
  color: var(--gray4);
  background: var(--gray1);
}
html[data-theme="dark"] .pay-next-bill {
  border-left: 2px solid var(--mono-text);
}
html[data-theme="dark"] .pay-next-label {
  color: var(--ink-soft);
}
html[data-theme="dark"] .pay-next-value {
  color: var(--mono-text);
}
html[data-theme="dark"] .pay-next-delta.up {
  color: var(--stamp-red);
}
html[data-theme="dark"] .pay-next-delta.down {
  color: var(--stamp-green);
}
html[data-theme="dark"] .pay-next-sub {
  color: var(--ink-soft);
}
html[data-theme="dark"] .cw-list-panel {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] .rj-group {
  border: 1px solid var(--gray2);
}
html[data-theme="dark"] .rj-group-head {
  background: var(--white);
}
html[data-theme="dark"] .rj-group-head:hover {
  background: var(--gray0, #fafafa);
}
html[data-theme="dark"] .rj-group-name {
  color: var(--mono-text);
}
html[data-theme="dark"] .rj-rate-good {
  color: var(--mono-text);
  background: var(--gray1);
}
html[data-theme="dark"] .rj-rate-mid {
  color: var(--primary);
  background: var(--tint-amber3);
}
html[data-theme="dark"] .rj-rate-low {
  color: var(--mono-text);
  background: var(--gray1);
}
html[data-theme="dark"] .rj-group-body {
  border-top: 1px solid var(--gray2);
}
html[data-theme="dark"] .rj-item {
  border-bottom: 1px solid var(--gray1);
}
html[data-theme="dark"] .rj-item.rj-undone {
  background: var(--gray0, #fafafa);
}
html[data-theme="dark"] .rj-item-name {
  color: var(--mono-text);
}
html[data-theme="dark"] .rj-item-date {
  color: var(--gray4);
}
html[data-theme="dark"] .rj-undone .rj-item-status {
  color: var(--gray3);
}
html[data-theme="dark"] .rj-item-author {
  color: var(--gray4);
}
html[data-theme="dark"] .records-select {
  border: 1px solid var(--gray2);
}
html[data-theme="dark"] .records-date-input {
  border: 1px solid var(--gray2);
}
html[data-theme="dark"] .records-preset {
  border: 1px solid var(--gray2);
  background: var(--white);
}
html[data-theme="dark"] .records-preset.active {
  background: var(--line-05);
  color: var(--mono-text);
  border-color: var(--line-18);
  border-color: var(--primary);
}
html[data-theme="dark"] .records-table th {
  background: var(--gray1);
  border-bottom: 2px solid var(--gray2);
}
html[data-theme="dark"] .records-table td {
  border-bottom: 1px solid var(--gray1);
}
html[data-theme="dark"] .records-table tbody tr:nth-child(even) {
  background: var(--sf-1);
}
html[data-theme="dark"] .status-done {
  color: var(--stamp-green);
}
html[data-theme="dark"] .status-undone {
  color: var(--mono-accent);
}
html[data-theme="dark"] .records-page-btn {
  border: 1px solid var(--gray2);
  background: var(--white);
}
html[data-theme="dark"] .records-page-btn.active {
  background: var(--line-05);
  color: var(--mono-text);
  border-color: var(--line-18);
  border-color: var(--primary);
}
html[data-theme="dark"] .timefix-card {
  border: 1px solid var(--gray2);
}
html[data-theme="dark"] .timefix-card-meta {
  color: var(--gray4);
}
html[data-theme="dark"] .timefix-btn {
  background: var(--line-05);
  color: var(--mono-text);
  border-color: var(--line-18);
}
html[data-theme="dark"] .apv-hist-toolbar {
  border-color: var(--hairline);
}
html[data-theme="dark"] .apv-hist-search {
  background: var(--white);
  border-color: var(--line-18);
}
html[data-theme="dark"] .apv-hist-search svg:first-child {
  color: var(--ink-soft);
}
html[data-theme="dark"] .apv-hist-search input {
  color: var(--mono-text);
}
html[data-theme="dark"] .apv-hist-search input::placeholder {
  color: var(--mono-accent);
}
html[data-theme="dark"] .apv-hist-search-clear {
  background: var(--hairline);
  color: var(--mono-text);
}
html[data-theme="dark"] .apv-hist-search-clear:hover {
  background: var(--line-18);
}
html[data-theme="dark"] .apv-hist-range-label {
  color: var(--mono-text);
}
html[data-theme="dark"] .apv-hist-date {
  border-color: var(--line-18);
  background: var(--white);
  color: var(--mono-text);
}
html[data-theme="dark"] .apv-hist-range-sep {
  color: var(--ink-soft);
}
html[data-theme="dark"] .apv-hist-quick button {
  background: var(--white);
  color: var(--ink-soft);
  border-color: var(--line-12);
}
html[data-theme="dark"] .apv-hist-quick button:hover {
  background: var(--line-05);
  color: var(--mono-text);
}
html[data-theme="dark"] .apv-hist-quick button.active {
  background: var(--hairline);
  color: var(--mono-text);
}
html[data-theme="dark"] .apv-hist-count {
  color: var(--ink-soft);
}
html[data-theme="dark"] .timefix-compare {
  border: 1px solid var(--gray2);
}
html[data-theme="dark"] .timefix-label {
  color: var(--gray4);
}
html[data-theme="dark"] .timefix-time-input {
  border: 1px solid var(--primary);
}
html[data-theme="dark"] .timefix-reason {
  border: 1px solid var(--gray2);
}
html[data-theme="dark"] .timefix-summary {
  background: var(--gray1);
}
html[data-theme="dark"] .cw-badge-premium {
  color: var(--stamp-amber);
}
html[data-theme="dark"] .cw-badge-smart {
  color: var(--gray4);
}
html[data-theme="dark"] .home-jboard-col {
  background: var(--white);
  border-color: var(--gray2);
}
html[data-theme="dark"] .home-jboard-col::-webkit-scrollbar-thumb {
  background: var(--line-15);
}
html[data-theme="dark"] .home-jboard-head {
  border-color: var(--hairline);
}
html[data-theme="dark"] .home-jboard-eyebrow {
  color: var(--mono-accent);
}
html[data-theme="dark"] .home-jboard-count {
  color: var(--gray4);
  background: var(--line-05);
}
html[data-theme="dark"] .home-jboard-count.all-done {
  color: var(--gray4);
  background: var(--hairline);
  border-color: var(--line-14);
}
html[data-theme="dark"] .home-jboard-list .jboard-item:hover {
  background: var(--line-04);
}
html[data-theme="dark"] .jboard-name {
  color: var(--mono-text);
}
html[data-theme="dark"] .jboard-item.is-done .jboard-name {
  color: var(--mono-accent);
}
html[data-theme="dark"] .jboard-btn {
  color: var(--mono-text);
  border-color: var(--line-18);
}
html[data-theme="dark"] .jboard-btn:hover {
  background: var(--line-06);
}
html[data-theme="dark"] .jboard-btn.done {
  color: var(--gray4);
  background: var(--line-05);
  border-color: var(--line-12);
}
html[data-theme="dark"] .jboard-btn.done:hover {
  background: var(--gray2);
}
html[data-theme="dark"] .jboard-btn.pending {
  color: var(--gray4);
  background: var(--tint-amber2);
  border-color: var(--line-amber);
}
html[data-theme="dark"] .jboard-btn.pending:hover {
  background: #141414;
  border-color: rgba(255, 255, 255, 0.18);
}
html[data-theme="dark"] .jboard-btn.rejected {
  color: var(--stamp-red);
  background: var(--tint-red3);
  border-color: var(--line-red);
}
html[data-theme="dark"] .jboard-btn.rejected:hover {
  background: var(--tint-red);
  border-color: rgba(255, 255, 255, 0.18);
}
html[data-theme="dark"] .jboard-empty {
  color: var(--mono-accent);
}
html[data-theme="dark"] .home-jboard-count,
html[data-theme="dark"] .home-jboard-count.all-done {
  background: var(--line-05) !important;
  color: var(--gray4) !important;
  border-color: var(--gray2) !important;
}
html[data-theme="dark"] .caldm-modal {
  background: var(--white);
}
html[data-theme="dark"] .caldm-date {
  color: var(--mono-text);
}
html[data-theme="dark"] .caldm-list {
  border-color: var(--hairline);
}
html[data-theme="dark"] .caldm-row {
  border-color: var(--hairline);
}
html[data-theme="dark"] .caldm-icon {
  color: var(--mono-accent);
}
html[data-theme="dark"] .caldm-label {
  color: var(--mono-text);
}
html[data-theme="dark"] .caldm-time {
  color: var(--ink-soft);
}
html[data-theme="dark"] .caldm-cat {
  color: var(--mono-accent);
  background: var(--line-04);
}
html[data-theme="dark"] .caldm-row.done .caldm-label {
  color: var(--mono-accent);
}
html[data-theme="dark"] .caldm-row.done .caldm-icon {
  color: var(--mono-accent);
}
html[data-theme="dark"] .caldm-btn {
  border-color: var(--line-18);
  background: var(--white);
  color: var(--mono-text);
}
html[data-theme="dark"] .caldm-btn:hover {
  background: var(--line-06);
}
html[data-theme="dark"] .caldm-btn.done {
  color: var(--gray4);
}
html[data-theme="dark"] .caldm-btn.done:hover {
  color: var(--mono-text);
}
html[data-theme="dark"] .caldm-btn.del {
  color: var(--mono-accent);
}
html[data-theme="dark"] .caldm-empty {
  color: var(--mono-accent);
}
html[data-theme="dark"] .caldm-add-h {
  color: var(--mono-text);
}
html[data-theme="dark"] .caldm-type {
  color: var(--mono-text);
}
html[data-theme="dark"] .caldm-type-icon {
  color: var(--mono-accent);
}
html[data-theme="dark"] .caldm-input {
  border-color: var(--line-18);
  color: var(--mono-text);
  background: var(--white);
}
html[data-theme="dark"] .caldm-time-row label {
  color: var(--mono-text);
}
html[data-theme="dark"] .caldm-hint {
  color: var(--ink-soft);
}
html[data-theme="dark"] .caldm-save {
  background: var(--line-05);
  color: var(--mono-text);
  border-color: var(--line-18);
}
html[data-theme="dark"] .caldm-save:hover {
  background: var(--gray2);
}
html[data-theme="dark"] .cal-event {
  color: var(--mono-text);
  background: var(--line-04);
}
html[data-theme="dark"] .cal-event-icon {
  color: var(--mono-accent);
}
html[data-theme="dark"] .cal-event.done {
  color: var(--mono-accent);
}
html[data-theme="dark"] .sidebar-collapse-toggle {
  background: var(--line-06);
  border-color: var(--hairline);
  color: var(--mono-accent);
}
html[data-theme="dark"] .sidebar-collapse-toggle:hover {
  background: var(--line-12);
  border-color: var(--hairline-strong);
  color: var(--gray4);
}
html[data-theme="dark"] .temp-approval-signature-panel {
  background: var(--gray1);
  border: 1px solid var(--gray2);
}
html[data-theme="dark"] .alert-schedule-time-trigger {
  border-color: var(--line-15);
  background: var(--white);
  color: var(--mono-text);
}
html[data-theme="dark"] body {
  background: var(--white);
  color: var(--ink);
}
html[data-theme="dark"] .login-btn,
html[data-theme="dark"] #loginBtn,
html[data-theme="dark"] .btn-primary,
html[data-theme="dark"] button.primary,
html[data-theme="dark"] .pw-change-btn,
html[data-theme="dark"] .settings-save,
html[data-theme="dark"] .modal-confirm,
html[data-theme="dark"] .ccp-modal-confirm,
html[data-theme="dark"] .approval-request-btn,
html[data-theme="dark"] button[type="submit"]:not(.subtle) {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
  border: 1px solid var(--ink) !important;
}
html[data-theme="dark"] .login-btn:hover,
html[data-theme="dark"] #loginBtn:hover,
html[data-theme="dark"] .btn-primary:hover,
html[data-theme="dark"] button.primary:hover,
html[data-theme="dark"] .pw-change-btn:hover,
html[data-theme="dark"] .settings-save:hover,
html[data-theme="dark"] .modal-confirm:hover,
html[data-theme="dark"] .ccp-modal-confirm:hover,
html[data-theme="dark"] .approval-request-btn:hover,
html[data-theme="dark"] button[type="submit"]:not(.subtle):hover {
  background: #31313A !important;
  color: var(--btn-fg) !important;
  border-color: rgba(255, 255, 255, 0.30) !important;
}
html[data-theme="dark"] .btn-secondary,
html[data-theme="dark"] button.secondary,
html[data-theme="dark"] .modal-cancel,
html[data-theme="dark"] .ccp-modal-cancel {
  background: var(--white) !important;
  color: var(--ink) !important;
  border: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] .btn-secondary:hover,
html[data-theme="dark"] button.secondary:hover,
html[data-theme="dark"] .modal-cancel:hover,
html[data-theme="dark"] .ccp-modal-cancel:hover {
  border-color: var(--hairline-strong) !important;
  background: var(--paper) !important;
}
html[data-theme="dark"] .journal-save-btn,
html[data-theme="dark"] #saveJournalBtn,
html[data-theme="dark"] button.save-btn,
html[data-theme="dark"] .jform-save-btn,
html[data-theme="dark"] [data-action="save-journal"] {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
  border: 1px solid var(--ink) !important;
}
html[data-theme="dark"] .btn-approval,
html[data-theme="dark"] .approval-quick-btn,
html[data-theme="dark"] .approval-tray-btn,
html[data-theme="dark"] #approvalTrayBtn,
html[data-theme="dark"] .btn-approval-tray {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
  border: 1px solid var(--ink) !important;
}
html[data-theme="dark"] .btn-approval:hover,
html[data-theme="dark"] .approval-quick-btn:hover,
html[data-theme="dark"] .approval-tray-btn:hover,
html[data-theme="dark"] #approvalTrayBtn:hover,
html[data-theme="dark"] .btn-approval-tray:hover {
  background: #31313A !important;
  color: var(--btn-fg) !important;
  border-color: rgba(255, 255, 255, 0.30) !important;
}
html[data-theme="dark"] .profile-card {
  background: var(--white) !important;
  border: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] .profile-role {
  background: var(--white) !important;
  color: var(--ink-soft) !important;
  border: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] .profile-edit-btn {
  color: var(--steel) !important;
  border-bottom: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] .profile-edit-btn:hover {
  color: var(--ink) !important;
}
html[data-theme="dark"] .profile-meta-label {
  color: var(--steel) !important;
}
html[data-theme="dark"] .profile-meta-val {
  color: var(--ink) !important;
}
html[data-theme="dark"] .notice-avatar {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
}
html[data-theme="dark"] .right-panel.rail {
  border-left: 1px solid var(--hairline);
}
html[data-theme="dark"] .rail-sec {
  border-color: var(--gray2);
}
html[data-theme="dark"] .rail-eyebrow {
  color: var(--steel);
}
html[data-theme="dark"] .rail-eyebrow-alert {
  color: var(--stamp-red) !important;
}
html[data-theme="dark"] .rail-date {
  color: var(--steel);
}
html[data-theme="dark"] .rail-time {
  color: var(--ink);
}
html[data-theme="dark"] .rail-name {
  color: var(--ink);
}
html[data-theme="dark"] .rail-role {
  color: var(--steel);
}
html[data-theme="dark"] .rail-company {
  color: var(--steel);
}
html[data-theme="dark"] .rail-meta-row {
  border-color: var(--hairline);
}
html[data-theme="dark"] .rail-meta-label {
  color: var(--steel);
}
html[data-theme="dark"] .rail-meta-val {
  color: var(--ink);
}
html[data-theme="dark"] .rail-link {
  color: var(--steel);
}
html[data-theme="dark"] .rail-link:hover {
  color: var(--ink);
}
html[data-theme="dark"] .rail-lic .rail-lic-plan,
html[data-theme="dark"] .rail-lic .profile-meta-val {
  color: var(--ink) !important;
}
html[data-theme="dark"] .rail-lic-meta {
  color: var(--steel);
}
html[data-theme="dark"] .rail-lic-meta.is-urgent {
  color: var(--stamp-red);
}
html[data-theme="dark"] .rail-plan-badge {
  background: var(--btn-bg2);
  color: var(--btn-fg);
}
html[data-theme="dark"] .rail-inbox {
  border-color: var(--gray2);
}
html[data-theme="dark"] .rail-inbox:hover {
  background: var(--line-05);
}
html[data-theme="dark"] .rail-inbox-label {
  color: var(--ink);
}
html[data-theme="dark"] .rail-inbox-count {
  color: var(--ink);
}
html[data-theme="dark"] .rail-inbox-go {
  color: var(--steel);
}
html[data-theme="dark"] .rail-inbox:hover .rail-inbox-go {
  color: var(--ink);
}
html[data-theme="dark"] .rail-undone-list {
  color: var(--ink);
}
html[data-theme="dark"] .rail-notices .notice-date {
  color: var(--steel);
}
html[data-theme="dark"] .rail-notices .notice-title {
  color: var(--ink);
}
html[data-theme="dark"] .notice-more {
  color: var(--steel) !important;
  border-bottom: 1px solid var(--hairline);
}
html[data-theme="dark"] .notice-more:hover {
  color: var(--ink) !important;
}
html[data-theme="dark"] .sidebar-item.active::before,
html[data-theme="dark"] .sidebar-sub-item.active::before {
  background: var(--white) !important;
}
html[data-theme="dark"] .cal-cell:hover {
  background: var(--line-04) !important;
}
html[data-theme="dark"] .cal-cell.selected {
  background: var(--line-04) !important;
}
html[data-theme="dark"] .cal-date.today-num {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
}
html[data-theme="dark"] .cal-date.sat-num {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .cal-nav-btn:hover {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
}
html[data-theme="dark"] .nav-back-btn,
html[data-theme="dark"] .back-btn,
html[data-theme="dark"] .btn-back,
html[data-theme="dark"] .journal-back-btn,
html[data-theme="dark"] button[onclick*="goBack"],
html[data-theme="dark"] button[onclick*="history.back"] {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
  border: 1px solid var(--ink) !important;
}
html[data-theme="dark"] .dm-btn-mono,
html[data-theme="dark"] .dm-btn-mono-outline {
  color: var(--ink) !important;
  border: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] .dm-btn-mono:hover,
html[data-theme="dark"] .dm-btn-mono-outline:hover {
  background: var(--paper) !important;
  border-color: var(--ink) !important;
}
html[data-theme="dark"] .topbar-avatar,
html[data-theme="dark"] #topbarAvatar,
html[data-theme="dark"] .user-dropdown-trigger .avatar,
html[data-theme="dark"] .user-avatar,
html[data-theme="dark"] .top-user-avatar,
html[data-theme="dark"] .user-avatar-btn,
html[data-theme="dark"] .header-user-avatar {
  background: var(--ink) !important;
  color: var(--sf-ivory) !important;
  border: 1px solid var(--ink) !important;
}
html[data-theme="dark"] .content-section [style*="color:#8A8A92"],
html[data-theme="dark"] .content-section [style*="color: #8A8A92"] {
  color: var(--ink) !important;
}
html[data-theme="dark"] .role-badge,
html[data-theme="dark"] .user-role-badge,
html[data-theme="dark"] .profile-role,
html[data-theme="dark"] [class*="badge-role"],
html[data-theme="dark"] .profile-card .role {
  background: var(--white) !important;
  color: var(--ink-soft) !important;
  border: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] .status-badge,
html[data-theme="dark"] .status-pill,
html[data-theme="dark"] .approval-status,
html[data-theme="dark"] .badge-status {
  background: var(--white) !important;
  color: var(--ink-soft) !important;
  border: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] .status-badge::before,
html[data-theme="dark"] .status-pill::before,
html[data-theme="dark"] .approval-status::before,
html[data-theme="dark"] .badge-status::before {
  background: var(--steel);
}
html[data-theme="dark"] .status-badge.pending::before,
html[data-theme="dark"] .status-pill.pending::before,
html[data-theme="dark"] .approval-status.pending::before,
html[data-theme="dark"] .badge-status.pending::before,
html[data-theme="dark"] [data-status="대기중"]::before,
html[data-theme="dark"] [data-status="pending"]::before {
  background: var(--seal-amber) !important;
}
html[data-theme="dark"] .status-badge.approved::before,
html[data-theme="dark"] .status-pill.approved::before,
html[data-theme="dark"] .approval-status.approved::before,
html[data-theme="dark"] .badge-status.approved::before,
html[data-theme="dark"] [data-status="승인"]::before,
html[data-theme="dark"] [data-status="approved"]::before,
html[data-theme="dark"] [data-status="검토완료"]::before {
  background: var(--seal-green) !important;
}
html[data-theme="dark"] .status-badge.rejected::before,
html[data-theme="dark"] .status-pill.rejected::before,
html[data-theme="dark"] .approval-status.rejected::before,
html[data-theme="dark"] .badge-status.rejected::before,
html[data-theme="dark"] [data-status="반려"]::before,
html[data-theme="dark"] [data-status="rejected"]::before {
  background: var(--seal-red) !important;
}
html[data-theme="dark"] .apv-action-btns .apv-approve-btn,
html[data-theme="dark"] .apv-action-btns .apv-reject-btn {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .apv-action-btns .apv-reject-btn {
  color: var(--stamp-red) !important;
}
html[data-theme="dark"] .apv-action-btns .apv-approve-btn:hover {
  color: var(--gray4) !important;
}
html[data-theme="dark"] input:focus,
html[data-theme="dark"] select:focus,
html[data-theme="dark"] textarea:focus,
html[data-theme="dark"] .ccp-modal input:focus,
html[data-theme="dark"] .ccp-modal select:focus {
  border-color: var(--ink) !important;
}
html[data-theme="dark"] .settings-tab.active,
html[data-theme="dark"] .set-tab.active,
html[data-theme="dark"] .settings-menu-item.active {
  color: var(--ink) !important;
  background: var(--paper) !important;
  border-left: 3px solid var(--ink) !important;
}
html[data-theme="dark"] .sidebar-item.active::before {
  background: var(--regalia);
}
html[data-theme="dark"] .sidebar-sub-item.active::before {
  background: var(--regalia) !important;
}
html[data-theme="dark"] .sidebar-group-label,
html[data-theme="dark"] .sidebar-section-label {
  color: var(--mono-accent) !important;
}
html[data-theme="dark"] .ccp-modal-body button.primary,
html[data-theme="dark"] .ccp-modal-body button[data-role="primary"],
html[data-theme="dark"] .modal-btn-yes {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
  border: 1px solid var(--ink) !important;
}
html[data-theme="dark"] .modal-btn-no {
  background: var(--white) !important;
  color: var(--ink) !important;
  border: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] .approval-summary-num,
html[data-theme="dark"] .summary-pending,
html[data-theme="dark"] .summary-approved,
html[data-theme="dark"] .summary-rejected {
  color: var(--ink) !important;
}
html[data-theme="dark"] .approval-item,
html[data-theme="dark"] .approval-card {
  border-left: 1px solid var(--hairline) !important;
  background: var(--white) !important;
}
html[data-theme="dark"] .approval-item.pending,
html[data-theme="dark"] .approval-card.pending,
html[data-theme="dark"] .approval-item.approved,
html[data-theme="dark"] .approval-card.approved,
html[data-theme="dark"] .approval-item.rejected,
html[data-theme="dark"] .approval-card.rejected {
  border-left: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] .approval-type-badge,
html[data-theme="dark"] .approval-role-badge,
html[data-theme="dark"] [class*="type-worker"],
html[data-theme="dark"] [class*="type-ccp"] {
  background: var(--white) !important;
  color: var(--ink-soft) !important;
  border: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] .notice-badge,
html[data-theme="dark"] .notice-tag,
html[data-theme="dark"] .notice-prefix {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
}
html[data-theme="dark"] .calendar-day.today,
html[data-theme="dark"] .cal-day.today,
html[data-theme="dark"] [data-today="true"] {
  color: var(--ink) !important;
}
html[data-theme="dark"] .calendar th:last-child,
html[data-theme="dark"] .calendar td:last-child,
html[data-theme="dark"] .cal-sat,
html[data-theme="dark"] [data-dow="6"] {
  color: var(--gray4) !important;
}
html[data-theme="dark"] select,
html[data-theme="dark"] .dropdown-menu {
  border-color: var(--hairline) !important;
}
html[data-theme="dark"] .toast,
html[data-theme="dark"] #toast.toast {
  background: var(--white) !important;
  color: var(--gray4) !important;
  border-color: var(--gray2) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="dark"] #toast.toast.toast-error {
  background: var(--white) !important;
  color: var(--gray4) !important;
}
html[data-theme="dark"] .page-card,
html[data-theme="dark"] .settings-panel,
html[data-theme="dark"] .info-card,
html[data-theme="dark"] .dash-card {
  background: var(--white) !important;
  border: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] a {
  color: var(--ink);
}
html[data-theme="dark"] .status-approved,
html[data-theme="dark"] .text-approved {
  color: var(--stamp-green) !important;
}
html[data-theme="dark"] .status-rejected,
html[data-theme="dark"] .text-rejected {
  color: var(--stamp-red) !important;
}
html[data-theme="dark"] .status-pending,
html[data-theme="dark"] .text-pending {
  color: var(--stamp-amber) !important;
}
html[data-theme="dark"] .apv-card {
  background: var(--white) !important;
  border: 1px solid var(--hairline) !important;
  border-left: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] .apv-card:hover {
  border-color: var(--hairline-strong) !important;
}
html[data-theme="dark"] .apv-card.pending,
html[data-theme="dark"] .apv-card.reviewed,
html[data-theme="dark"] .apv-card.rejected,
html[data-theme="dark"] .apv-card.approved {
  background: var(--white, #fff) !important;
  border-left: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] .apv-card.rewrite-needed,
html[data-theme="dark"] .apv-card.rewrite-needed[data-rewrite-kind="rejected"],
html[data-theme="dark"] .apv-card.rewrite-needed[data-rewrite-kind="withdrawn"] {
  background: var(--white, #fff) !important;
  border-color: var(--hairline) !important;
  border-left: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] .apv-card.rewrite-needed[data-rewrite-kind="revised"] {
  border-left: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] .apv-status.pending,
html[data-theme="dark"] .apv-status.reviewed,
html[data-theme="dark"] .apv-status.approved,
html[data-theme="dark"] .apv-status.rejected {
  background: var(--white, #fff) !important;
  color: var(--ink-soft, #6b7280) !important;
}
html[data-theme="dark"] .apv-status.pending::before {
  background: var(--warning) !important;
}
html[data-theme="dark"] .apv-status.approved::before {
  background: var(--success) !important;
}
html[data-theme="dark"] .apv-status.rejected::before {
  background: var(--danger) !important;
}
html[data-theme="dark"] .apv-rewrite-section-title {
  color: var(--stamp-red) !important;
}
html[data-theme="dark"] .apv-rewrite-section-help {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .apv-rewrite-section-count {
  color: var(--stamp-red) !important;
  background: var(--tint-red3) !important;
  border-color: var(--line-red) !important;
}
html[data-theme="dark"] .apv-rewrite-state-chip.is-rejected {
  color: var(--stamp-red) !important;
  background: var(--tint-red) !important;
  border-color: var(--line-red) !important;
}
html[data-theme="dark"] .apv-rewrite-state-chip.is-withdrawn {
  color: var(--gray4) !important;
  background: var(--tint-amber) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}
html[data-theme="dark"] .apv-rewrite-state-chip.is-revised {
  color: var(--gray4) !important;
  background: var(--sf-3) !important;
  border-color: var(--sf-line) !important;
}
html[data-theme="dark"] .apv-rewrite-reason-text {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .apv-card-action-approve,
html[data-theme="dark"] .apv-card-action-review {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .apv-card-action-rewrite {
  background: var(--btn-bg) !important;
  color: var(--btn-fg) !important;
  border-color: var(--btn-line) !important;
}
html[data-theme="dark"] .apv-card-action-reject,
html[data-theme="dark"] .apv-card-action-muted-danger {
  color: var(--stamp-red) !important;
}
html[data-theme="dark"] .apv-card-action-withdraw,
html[data-theme="dark"] .apv-card-action-muted {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .apv-card-action-note {
  color: var(--stamp-red) !important;
  background: var(--tint-amber2) !important;
  border-color: var(--line-amber) !important;
}
html[data-theme="dark"] .apv-card-title {
  color: var(--ink) !important;
}
html[data-theme="dark"] .apv-card-meta,
html[data-theme="dark"] .apv-card-preview {
  color: var(--steel) !important;
}
html[data-theme="dark"] .apv-status.pending,
html[data-theme="dark"] .apv-status.reviewed,
html[data-theme="dark"] .apv-status.approved,
html[data-theme="dark"] .apv-status.rejected {
  background: var(--gray1, #f3f4f6) !important;
  color: var(--ink, #1a1a1a) !important;
}
html[data-theme="dark"] .apv-status {
  background: var(--white) !important;
  color: var(--ink-soft) !important;
  border: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] .apv-status::before {
  background: var(--steel);
}
html[data-theme="dark"] .apv-status.pending::before {
  background: var(--seal-amber) !important;
}
html[data-theme="dark"] .apv-status.approved::before {
  background: var(--seal-green) !important;
}
html[data-theme="dark"] .apv-status.rejected::before {
  background: var(--seal-red) !important;
}
html[data-theme="dark"] .apv-type-chip {
  color: var(--ink-soft) !important;
}
html[data-theme="dark"] .apv-card span[style*="color:#fff"][style*="background"] {
  background: var(--white) !important;
  color: var(--ink-soft) !important;
  border: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] .apv-ccp-badge {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
}
html[data-theme="dark"] .apv-summary-card {
  background: var(--white) !important;
  border: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] .apv-summary-card.sc-pending,
html[data-theme="dark"] .apv-summary-card.sc-approved,
html[data-theme="dark"] .apv-summary-card.sc-rejected {
  border-top: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] .chk-score-card .chk-score-rows .chk-score-row:nth-child(1) .chk-score-dot {
  background: var(--steel) !important;
}
html[data-theme="dark"] .chk-score-card .chk-score-rows .chk-score-row:nth-child(2) .chk-score-dot {
  background: var(--seal-amber) !important;
}
html[data-theme="dark"] .chk-score-card .chk-score-rows .chk-score-row:nth-child(3) .chk-score-dot {
  background: var(--seal-green) !important;
}
html[data-theme="dark"] .chk-score-card .chk-score-rows .chk-score-row:nth-child(4) .chk-score-dot {
  background: var(--seal-red) !important;
}
html[data-theme="dark"] .chk-score-card .chk-score-val {
  color: var(--ink) !important;
}
html[data-theme="dark"] .apv-summary-card.sc-pending .apv-sc-num,
html[data-theme="dark"] .apv-summary-card.sc-approved .apv-sc-num,
html[data-theme="dark"] .apv-summary-card.sc-rejected .apv-sc-num {
  color: var(--ink) !important;
}
html[data-theme="dark"] .apv-sc-num {
  color: var(--ink) !important;
}
html[data-theme="dark"] .apv-sc-label {
  color: var(--steel) !important;
}
html[data-theme="dark"] .chk-score-head {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
}
html[data-theme="dark"] .chk-score-val {
  color: var(--ink) !important;
}
html[data-theme="dark"] .chk-score-row-label {
  color: var(--ink-soft) !important;
}
html[data-theme="dark"] .chk-tabs {
  border-bottom: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] .chk-tab {
  color: var(--steel) !important;
}
html[data-theme="dark"] .chk-tab.active {
  color: var(--ink) !important;
}
html[data-theme="dark"] .ccp-log-submit,
html[data-theme="dark"] button.ccp-log-submit {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
  border: 1px solid var(--ink) !important;
}
html[data-theme="dark"] .apv-empty {
  color: var(--ink-soft) !important;
}
html[data-theme="dark"] .apv-detail-view-journal {
  background: var(--btn-bg2);
  color: var(--btn-fg);
  border: 1px solid var(--ink);
}
html[data-theme="dark"] .apv-detail-view-journal:hover {
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .apv-hist-status.approved {
  color: var(--stamp-green);
}
html[data-theme="dark"] .apv-hist-status.approved .apv-hist-status-dot {
  background: var(--seal-green);
}
html[data-theme="dark"] .apv-hist-status.rejected {
  color: var(--stamp-red);
}
html[data-theme="dark"] .apv-hist-status.rejected .apv-hist-status-dot {
  background: var(--seal-red);
}
html[data-theme="dark"] .apv-hist-view-btn {
  color: var(--ink);
  border-color: var(--hairline-strong);
}
html[data-theme="dark"] .apv-hist-view-btn:hover {
  background: var(--line-05);
}
html[data-theme="dark"] .home-jboard-col {
  background: var(--white);
  border: 1px solid var(--hairline);
}
html[data-theme="dark"] .home-jboard-head {
  border-bottom: 1px solid var(--hairline);
}
html[data-theme="dark"] .home-jboard-eyebrow {
  color: var(--gray4);
}
html[data-theme="dark"] .home-jboard-count {
  color: var(--ink-soft);
}
html[data-theme="dark"] .home-jboard-count.all-done {
  color: var(--stamp-green);
}
html[data-theme="dark"] .jboard-item {
  color: var(--ink);
  border-color: var(--line-04);
}
html[data-theme="dark"] .jboard-item .jboard-dot {
  background: var(--danger);
}
html[data-theme="dark"] .jboard-item .jboard-dot.done {
  background: var(--seal-green);
}
html[data-theme="dark"] .jboard-item .jboard-name {
  color: var(--gray4);
}
html[data-theme="dark"] .jboard-item.is-done .jboard-name {
  color: var(--ink-soft);
}
html[data-theme="dark"] .jboard-item .jboard-btn {
  border-color: var(--line-14);
  color: var(--ink);
}
html[data-theme="dark"] .jboard-item .jboard-btn:hover {
  background: var(--line-05);
}
html[data-theme="dark"] .jboard-item .jboard-btn.done {
  color: var(--ink-soft);
  border-color: var(--gray2);
}
html[data-theme="dark"] .jboard-item .jboard-btn.done:hover {
  border-color: var(--hairline-strong);
}
html[data-theme="dark"] .jboard-item .jboard-done-date {
  color: var(--ink-soft);
}
html[data-theme="dark"] .jboard-item .jboard-done-label {
  color: var(--ink-soft);
  border: 0;
  background: transparent;
}
html[data-theme="dark"] .jboard-item .jboard-btn.rejected .jboard-done-label {
  color: var(--stamp-red);
  border: 0;
  background: transparent;
}
html[data-theme="dark"] .jboard-empty {
  color: var(--ink-soft);
}
html[data-theme="dark"] .home-undone-strip {
  background: #141414;
  border-color: var(--hairline);
}
html[data-theme="dark"] .home-undone-eyebrow {
  color: var(--ink);
}
html[data-theme="dark"] .home-undone-list {
  color: var(--ink);
}
html[data-theme="dark"] .home-undone-strip .undone-btn,
html[data-theme="dark"] #todayUndoneCard .undone-btn {
  color: var(--ink) !important;
  border-color: var(--line-14) !important;
}
html[data-theme="dark"] .home-undone-strip .undone-btn:hover,
html[data-theme="dark"] #todayUndoneCard .undone-btn:hover {
  background: var(--line-05) !important;
  color: var(--ink) !important;
}
html[data-theme="dark"] .home-undone-strip .undone-item,
html[data-theme="dark"] #todayUndoneCard .undone-item {
  color: var(--ink) !important;
}
html[data-theme="dark"] .topbar-inbox {
  background: var(--btn-bg) !important;
  color: var(--btn-fg) !important;
  border-color: var(--btn-line) !important;
}
html[data-theme="dark"] .topbar-inbox:hover {
  background: var(--btn-bg) !important;
  color: var(--btn-fg) !important;
  border-color: var(--btn-line) !important;
}
html[data-theme="dark"] .topbar-dropdown.topbar-dd-profile {
  border: 1px solid var(--hairline-strong);
  background: var(--paper);
}
html[data-theme="dark"] .topbar-dd-head {
  border-bottom: 1px solid var(--hairline);
}
html[data-theme="dark"] .topbar-dd-name {
  color: var(--ink);
}
html[data-theme="dark"] .topbar-dd-role {
  color: var(--steel);
}
html[data-theme="dark"] .topbar-dd-company {
  color: var(--steel);
}
html[data-theme="dark"] .topbar-dd-block {
  border-bottom: 1px solid var(--hairline);
}
html[data-theme="dark"] .topbar-dd-eyebrow {
  color: var(--steel);
}
html[data-theme="dark"] .topbar-dd-meta-label {
  color: var(--steel);
}
html[data-theme="dark"] .topbar-dd-meta-val {
  color: var(--ink);
}
html[data-theme="dark"] .topbar-dd-sep {
  background: var(--hairline);
}
html[data-theme="dark"] .topbar-dropdown.topbar-dd-profile .topbar-dd-item {
  color: var(--ink);
}
html[data-theme="dark"] .topbar-dropdown.topbar-dd-profile .topbar-dd-item:hover {
  background: var(--mist);
}
html[data-theme="dark"] .topbar-dropdown.topbar-dd-profile .topbar-dd-item.danger {
  color: var(--stamp-red);
}
html[data-theme="dark"] .topbar-dd-notify-status {
  color: var(--ink);
}
html[data-theme="dark"] .topbar-dd-notify-status.off {
  color: var(--stamp-red);
}
html[data-theme="dark"] .topbar-dd-notify-status.pending {
  color: var(--stamp-amber);
}
html[data-theme="dark"] .push-dot.on {
  background: var(--seal-green);
}
html[data-theme="dark"] .push-dot.off {
  background: var(--seal-red);
}
html[data-theme="dark"] .push-dot.pending {
  background: var(--seal-amber);
}
html[data-theme="dark"] .topbar-dd-notify-test {
  background: var(--btn-bg2);
  color: var(--btn-fg);
}
html[data-theme="dark"] .topbar-dd-notify-test:hover:not(:disabled) {
  background: #31313A;
  color: var(--btn-fg);
  border-color: rgba(255, 255, 255, 0.30);
}
html[data-theme="dark"] .topbar-dd-profile .topbar-dd-head {
  border-color: var(--hairline);
}
html[data-theme="dark"] .dd-avatar {
  background: var(--btn-bg2);
  color: var(--btn-fg);
}
html[data-theme="dark"] .dd-stat-grid {
  background: var(--line-06);
}
html[data-theme="dark"] .dd-stat-card {
  background: var(--paper);
}
html[data-theme="dark"] .dd-stat-card:hover {
  background: var(--mist);
}
html[data-theme="dark"] .dd-stat-label {
  color: var(--steel);
}
html[data-theme="dark"] .dd-stat-value {
  color: var(--ink);
}
html[data-theme="dark"] .dd-stat-unit {
  color: var(--steel);
}
html[data-theme="dark"] .dd-stat-plan {
  color: var(--ink) !important;
}
html[data-theme="dark"] .dd-stat-chip {
  border-color: var(--line-18);
  color: var(--steel);
  background: var(--white);
}
html[data-theme="dark"] .dd-stat-value.urgent {
  color: var(--stamp-red);
}
html[data-theme="dark"] .dd-stat-value.warn {
  color: var(--stamp-amber);
}
html[data-theme="dark"] .dd-stat-value.ok {
  color: var(--stamp-green);
}
html[data-theme="dark"] .dd-sub-bar-block {
  border-color: var(--line-06);
  background: #141414;
}
html[data-theme="dark"] .dd-sub-label {
  color: var(--ink);
}
html[data-theme="dark"] .dd-sub-date {
  color: var(--steel);
}
html[data-theme="dark"] .dd-sub-progress {
  background: var(--line-06);
}
html[data-theme="dark"] .dd-sub-progress-fill {
  background: linear-gradient(90deg, var(--ink), var(--ink-soft));
}
html[data-theme="dark"] .dd-sub-progress-fill.warn {
  background: linear-gradient(90deg, var(--seal-amber), #B97316);
}
html[data-theme="dark"] .dd-sub-progress-fill.urgent {
  background: linear-gradient(90deg, var(--seal-red), #DC2626);
}
html[data-theme="dark"] .dd-section {
  border-color: var(--line-06);
}
html[data-theme="dark"] .dd-section-head {
  color: var(--steel);
}
html[data-theme="dark"] .dd-section-head-clickable:hover {
  background: var(--line-05);
  color: var(--ink);
}
html[data-theme="dark"] .pwa-install-banner {
  background: var(--paper);
  border: 1px solid var(--hairline-strong);
}
html[data-theme="dark"] .pwa-banner-icon {
  background: var(--mist);
  color: var(--ink);
}
html[data-theme="dark"] .pwa-banner-title {
  color: var(--ink);
}
html[data-theme="dark"] .pwa-banner-desc {
  color: var(--steel);
}
html[data-theme="dark"] .pwa-banner-later {
  color: var(--steel);
  border: 1px solid var(--hairline-strong);
}
html[data-theme="dark"] .pwa-banner-later:hover {
  background: var(--mist);
}
html[data-theme="dark"] .pwa-banner-install {
  background: var(--btn-bg2);
  color: var(--btn-fg);
  border: 1px solid var(--ink);
}
html[data-theme="dark"] .pwa-banner-install:hover {
  background: #31313A;
  color: var(--btn-fg);
  border-color: rgba(255, 255, 255, 0.30);
}
html[data-theme="dark"] .pwa-banner-close {
  color: var(--steel);
}
html[data-theme="dark"] .pwa-banner-close:hover {
  background: var(--mist);
}
html[data-theme="dark"] .pwa-ios-card {
  background: var(--paper);
}
html[data-theme="dark"] .pwa-ios-title {
  color: var(--ink);
}
html[data-theme="dark"] .pwa-ios-close {
  color: var(--steel);
}
html[data-theme="dark"] .pwa-ios-close:hover {
  background: var(--mist);
  color: var(--ink);
}
html[data-theme="dark"] .pwa-ios-step {
  color: var(--ink);
}
html[data-theme="dark"] .pwa-ios-num {
  background: var(--btn-bg2);
  color: var(--btn-fg);
}
html[data-theme="dark"] .pwa-ios-note {
  color: var(--steel);
  border-top: 1px solid var(--hairline);
}
html[data-theme="dark"] .pwa-preprompt-card {
  background: var(--paper);
}
html[data-theme="dark"] .pwa-preprompt-icon {
  background: var(--mist);
  color: var(--ink);
}
html[data-theme="dark"] .pwa-preprompt-title {
  color: var(--ink);
}
html[data-theme="dark"] .pwa-preprompt-desc {
  color: var(--steel);
}
html[data-theme="dark"] .pwa-preprompt-later {
  color: var(--steel);
  border: 1px solid var(--hairline-strong);
}
html[data-theme="dark"] .pwa-preprompt-later:hover {
  background: var(--mist);
}
html[data-theme="dark"] .pwa-preprompt-allow {
  background: var(--btn-bg2);
  color: var(--btn-fg);
  border: 1px solid var(--ink);
}
html[data-theme="dark"] .pwa-preprompt-allow:hover {
  background: #31313A;
  color: var(--btn-fg);
  border-color: rgba(255, 255, 255, 0.30);
}
html[data-theme="dark"] .cal-event.type-alert-due {
  border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="dark"] .cal-event.type-alert-prepare {
  background: var(--mist) !important;
  color: var(--gray4) !important;
}
html[data-theme="dark"] .cal-event.type-alert-prepare .cal-event-icon {
  color: var(--mono-accent) !important;
}
html[data-theme="dark"] .cal-event.type-alert-past {
  background: var(--tint-red) !important;
  color: var(--stamp-red) !important;
}
html[data-theme="dark"] .cal-event.type-alert-past .cal-event-icon {
  color: var(--stamp-red) !important;
}
html[data-theme="dark"] .cal-event.type-alert-notify {
  background: #141414 !important;
  color: var(--gray4) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="dark"] .cal-event.type-alert-notify .cal-event-icon {
  color: var(--mono-accent) !important;
}
html[data-theme="dark"] .cal-event.type-alert-done {
  background: var(--sf-3);
  color: var(--mono-accent);
}
html[data-theme="dark"] .cal-event.type-alert-done .cal-event-icon {
  color: var(--mono-accent) !important;
}
html[data-theme="dark"] .sidebar {
  background: var(--sage) !important;
}
html[data-theme="dark"] body::-webkit-scrollbar-thumb,
html[data-theme="dark"] .main-area::-webkit-scrollbar-thumb,
html[data-theme="dark"] .content-section::-webkit-scrollbar-thumb {
  background: var(--line-18);
}
html[data-theme="dark"] .sidebar-logo {
  border-bottom: 1px solid var(--sage-line) !important;
}
html[data-theme="dark"] .sidebar-logo-name {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .sidebar-group-label,
html[data-theme="dark"] .sidebar-section-label {
  color: var(--mono-text) !important;
  border-color: var(--line-14) !important;
}
html[data-theme="dark"] .sidebar-period-label {
  color: var(--sage-mute) !important;
}
html[data-theme="dark"] .sidebar-item,
html[data-theme="dark"] .sidebar #menu-temperature,
html[data-theme="dark"] .sidebar #menu-temperature:hover,
html[data-theme="dark"] .sidebar #menu-temperature.active {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .sidebar-item:hover {
  background: var(--line-06) !important;
  color: var(--gray4) !important;
}
html[data-theme="dark"] .sidebar-item:focus-visible {
  background: var(--line-06) !important;
  color: var(--gray4) !important;
}
html[data-theme="dark"] .sidebar-item.active {
  color: var(--gray4) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="dark"] #menu-approval,
html[data-theme="dark"] #menu-approval:not(.active),
html[data-theme="dark"] body.role-approver #menu-approval,
html[data-theme="dark"] body.role-approver #menu-approval:not(.active) {
  color: var(--gray4) !important;
}
html[data-theme="dark"] #menu-approval .sidebar-item-icon,
html[data-theme="dark"] #menu-approval .sidebar-item-icon svg,
html[data-theme="dark"] body.role-approver #menu-approval .sidebar-item-icon,
html[data-theme="dark"] body.role-approver #menu-approval .sidebar-item-icon svg {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .sidebar-item-icon {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .sidebar #menu-emergency,
html[data-theme="dark"] .sidebar #menu-emergency:hover,
html[data-theme="dark"] .sidebar #menu-emergency.active {
  color: var(--stamp-red) !important;
}
html[data-theme="dark"] .sidebar #menu-emergency .sidebar-item-icon,
html[data-theme="dark"] .sidebar #menu-emergency .sidebar-item-icon svg {
  color: var(--stamp-red) !important;
}
html[data-theme="dark"] .sidebar-accordion-header {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .sidebar-accordion-header:hover {
  background: var(--line-06) !important;
  color: var(--gray4) !important;
}
html[data-theme="dark"] .sidebar-accordion-header.open {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .sidebar-accordion-header.active {
  color: var(--gray4) !important;
  background: var(--hairline) !important;
}
html[data-theme="dark"] .sidebar-accordion-header svg,
html[data-theme="dark"] .sidebar-accordion-header .sidebar-item-icon,
html[data-theme="dark"] .sidebar-accordion-header .sidebar-item-icon svg {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .sidebar-sub-item {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .sidebar-sub-item:hover {
  background: var(--line-04) !important;
  color: var(--mono-text) !important;
}
html[data-theme="dark"] .sidebar-sub-item.active {
  color: var(--mono-text) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}
/* 사이드바 신호등(점)·진행 숫자는 2026-09-06 폐기 — theme-overrides.css 가 ::before 를 끈다. 다크에서 되살리지 말 것. */
html[data-theme="dark"] .sidebar .sidebar-accordion-header.open {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .sidebar .sidebar-sub-item,
html[data-theme="dark"] .sidebar .sidebar-sub-item.partial,
html[data-theme="dark"] .sidebar .sidebar-sub-item.done,
html[data-theme="dark"] .sidebar .sidebar-sub-item.undone {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .sidebar .sidebar-period-label {
  color: var(--gray4) !important;
  border-color: var(--line-12) !important;
}
html[data-theme="dark"] .sidebar-badge {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
}
html[data-theme="dark"] .audit-page-head {
  border-color: var(--line-12);
}
html[data-theme="dark"] .audit-page-title {
  color: var(--gray4);
}
html[data-theme="dark"] .audit-select,
html[data-theme="dark"] .audit-date {
  color: var(--gray4);
}
html[data-theme="dark"] .audit-select:focus,
html[data-theme="dark"] .audit-date:focus {
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .audit-date-sep {
  color: var(--mono-accent);
}
html[data-theme="dark"] .audit-table {
  color: var(--gray4);
}
html[data-theme="dark"] .audit-table thead tr {
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .audit-table th {
  color: var(--gray4);
}
html[data-theme="dark"] .audit-table tbody tr {
  border-color: var(--hairline);
}
html[data-theme="dark"] .audit-td-date {
  color: var(--gray4);
}
html[data-theme="dark"] .audit-user-name {
  color: var(--gray4);
}
html[data-theme="dark"] .audit-user-role {
  color: var(--mono-accent);
}
html[data-theme="dark"] .audit-td-table {
  color: var(--gray4);
}
html[data-theme="dark"] .audit-td-desc {
  color: var(--gray4);
}
html[data-theme="dark"] .audit-action {
  color: var(--gray4);
}
html[data-theme="dark"] .audit-action-create {
  color: var(--gray4);
}
html[data-theme="dark"] .audit-action-update {
  color: var(--gray4);
}
html[data-theme="dark"] .audit-action-approve {
  color: var(--gray4);
}
html[data-theme="dark"] .audit-action-delete {
  color: var(--stamp-red);
}
html[data-theme="dark"] .audit-action-reject {
  color: var(--stamp-red);
}
html[data-theme="dark"] .audit-action-withdraw {
  color: var(--gray4);
}
html[data-theme="dark"] .audit-action-restore {
  color: var(--gray4);
}
html[data-theme="dark"] .audit-count {
  color: var(--mono-accent);
}
html[data-theme="dark"] .audit-empty {
  color: var(--mono-accent);
}
html[data-theme="dark"] .audit-empty-err {
  color: var(--stamp-red);
}
html[data-theme="dark"] .reason-intro {
  color: var(--gray4);
  border-color: var(--gray2);
}
html[data-theme="dark"] .reason-intro strong {
  color: var(--gray4);
}
html[data-theme="dark"] .reason-label {
  color: var(--mono-accent);
}
html[data-theme="dark"] .reason-chip {
  color: var(--gray4);
}
html[data-theme="dark"] .reason-chip:hover {
  background: var(--line-05);
}
html[data-theme="dark"] .reason-textarea {
  background: #141414;
  color: var(--gray4);
}
html[data-theme="dark"] .reason-textarea:focus {
  border-color: rgba(255, 255, 255, 0.14);
  background: var(--white);
}
html[data-theme="dark"] .reason-textarea::placeholder {
  color: var(--mono-accent);
}
html[data-theme="dark"] .reason-counter {
  color: var(--mono-accent);
}
html[data-theme="dark"] .btn-withdraw-apv {
  color: var(--stamp-red);
}
html[data-theme="dark"] .btn-withdraw-apv:hover {
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .apv-hist-toolbar {
  background: var(--sf-2) !important;
  border-color: var(--sf-line) !important;
}
html[data-theme="dark"] .apv-hist-search {
  background: var(--white) !important;
}
html[data-theme="dark"] .apv-hist-search:focus-within {
  border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="dark"] .apv-hist-search svg {
  color: var(--mono-accent) !important;
}
html[data-theme="dark"] .apv-hist-search input {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .apv-hist-search input::placeholder {
  color: var(--mono-accent) !important;
}
html[data-theme="dark"] .apv-hist-search-clear {
  color: var(--mono-accent) !important;
}
html[data-theme="dark"] .apv-hist-search-clear:hover {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .apv-hist-range-label {
  color: var(--mono-accent) !important;
}
html[data-theme="dark"] .apv-hist-date {
  background: var(--white) !important;
  color: var(--gray4) !important;
}
html[data-theme="dark"] .apv-hist-date:focus {
  border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="dark"] .apv-hist-range-sep {
  color: var(--mono-accent) !important;
}
html[data-theme="dark"] .apv-hist-count {
  color: var(--mono-accent) !important;
}
html[data-theme="dark"] .apv-hist-quick button {
  color: var(--mono-accent) !important;
}
html[data-theme="dark"] .apv-hist-quick button:hover {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .apv-hist-quick button.active {
  background: var(--btn-bg) !important;
  color: var(--btn-fg) !important;
  border-color: var(--btn-line) !important;
}
html[data-theme="dark"] .apv-hist-count {
  color: var(--mono-accent);
}
html[data-theme="dark"] .jmonit-row {
  color: var(--gray4);
}
html[data-theme="dark"] .j-raw-material-picker-btn {
  border: 1px solid var(--gray2);
  background: var(--white);
  color: var(--mono-text);
}
html[data-theme="dark"] .j-raw-material-picker-empty {
  color: var(--gray3);
}
html[data-theme="dark"] .j-raw-material-picker-dialog {
  background: var(--white);
}
html[data-theme="dark"] .j-raw-material-picker-head {
  border-bottom: 1px solid var(--gray1);
}
html[data-theme="dark"] .j-raw-material-picker-head span {
  color: var(--gray4);
}
html[data-theme="dark"] .j-raw-material-picker-head button {
  background: var(--gray1);
  color: var(--mono-text);
}
html[data-theme="dark"] #rawLinkedMaterialPickerSearch {
  border: 1px solid var(--gray2);
}
html[data-theme="dark"] .j-raw-material-picker-item {
  border: 1px solid var(--gray1);
  background: var(--white);
}
html[data-theme="dark"] .j-raw-material-picker-item span,
html[data-theme="dark"] .j-raw-material-picker-empty-state {
  color: var(--gray4);
}
html[data-theme="dark"] [style*="linear-gradient(135deg,#3b82f6"],
html[data-theme="dark"] [style*="linear-gradient(135deg,#1d4ed8"],
html[data-theme="dark"] [style*="linear-gradient(135deg, #3b82f6"],
html[data-theme="dark"] [style*="linear-gradient(135deg, #1d4ed8"] {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
}
html[data-theme="dark"] [style*="linear-gradient(135deg,#f59e0b"],
html[data-theme="dark"] [style*="linear-gradient(135deg,#d97706"],
html[data-theme="dark"] [style*="linear-gradient(135deg, #f59e0b"],
html[data-theme="dark"] [style*="linear-gradient(135deg, #d97706"] {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
}
html[data-theme="dark"] span[style*="color:#2563eb"][style*="font-size:10px"] {
  color: var(--gray4) !important;
}
html[data-theme="dark"] #vfcConfirmBtns #vfcOkBtn[style*="#1d4ed8"],
html[data-theme="dark"] #vfcConfirmBtns button[style*="color:#1d4ed8"] {
  color: var(--gray4) !important;
}
html[data-theme="dark"] #vfcConfirmBtns #vfcCancelBtn {
  color: var(--mono-text) !important;
  border-color: var(--gray2) !important;
}
html[data-theme="dark"] button[onclick*="startReRequest"] {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
}
html[data-theme="dark"] #content-raw,
html[data-theme="dark"] #content-raw .ccp-page,
html[data-theme="dark"] #content-raw .raw-item-name,
html[data-theme="dark"] #content-raw .raw-td-num,
html[data-theme="dark"] #content-raw .raw-daily-worker label,
html[data-theme="dark"] #content-raw .raw-daily-note label,
html[data-theme="dark"] #content-raw .prod-form-field label {
  color: var(--ink) !important;
}
html[data-theme="dark"] #content-raw .raw-date-label,
html[data-theme="dark"] #content-raw .raw-input-unit,
html[data-theme="dark"] #content-raw .raw-unit {
  color: var(--ink-soft) !important;
}
html[data-theme="dark"] #content-raw .raw-daily-table thead,
html[data-theme="dark"] #content-raw .raw-daily-table thead tr:hover {
  background: var(--paper) !important;
  color: var(--ink) !important;
}
html[data-theme="dark"] #content-raw .raw-date-btn,
html[data-theme="dark"] #content-sub .raw-date-btn {
  background: var(--white) !important;
  color: var(--ink) !important;
  border: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] #content-raw .raw-date-btn:hover,
html[data-theme="dark"] #content-sub .raw-date-btn:hover {
  background: var(--paper) !important;
  border-color: var(--hairline-strong) !important;
  color: var(--ink) !important;
}
html[data-theme="dark"] #content-raw .raw-date-btn.today,
html[data-theme="dark"] #content-sub .raw-date-btn.today {
  background: var(--paper) !important;
  color: var(--ink) !important;
  border-color: var(--hairline) !important;
}
html[data-theme="dark"] #content-raw .raw-date-btn.copy {
  background: var(--paper) !important;
  color: var(--ink) !important;
  border-color: var(--hairline) !important;
}
html[data-theme="dark"] #content-raw button[onclick="openRawMgmt()"],
html[data-theme="dark"] #content-raw button[onclick="openRawMgmtAdd()"],
html[data-theme="dark"] #content-raw button[onclick="addProdMat()"],
html[data-theme="dark"] #content-raw button[onclick="toggleRawHistory()"] {
  background: var(--white) !important;
  color: var(--ink) !important;
  border: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] #content-raw button[onclick="openSubMgmt()"],
html[data-theme="dark"] #content-raw .raw-daily-save {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
  border: 1px solid var(--ink) !important;
}
html[data-theme="dark"] #content-raw button[onclick="openRawMgmt()"]:hover,
html[data-theme="dark"] #content-raw button[onclick="openRawMgmtAdd()"]:hover,
html[data-theme="dark"] #content-raw button[onclick="addProdMat()"]:hover,
html[data-theme="dark"] #content-raw button[onclick="toggleRawHistory()"]:hover {
  background: var(--paper) !important;
  border-color: var(--hairline-strong) !important;
  color: var(--ink) !important;
}
html[data-theme="dark"] #content-raw button[onclick="openSubMgmt()"]:hover,
html[data-theme="dark"] #content-raw .raw-daily-save:hover {
  background: #31313A !important;
  color: var(--btn-fg) !important;
  border-color: rgba(255, 255, 255, 0.30) !important;
}
html[data-theme="dark"] #content-raw #subDailyBodyInRaw button[onclick="openSubMgmt()"] {
  background: var(--white) !important;
  color: var(--ink) !important;
  border: 1px solid var(--hairline-strong) !important;
}
html[data-theme="dark"] #content-raw #subDailyBodyInRaw button[onclick="openSubMgmt()"]:hover {
  background: var(--paper) !important;
  color: var(--ink) !important;
}
html[data-theme="dark"] #content-raw button[onclick="openRawMgmtDel()"] {
  background: var(--white) !important;
  color: var(--ink-soft) !important;
  border: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] #content-raw button[onclick="openRawMgmtDel()"]:hover {
  background: var(--paper) !important;
  border-color: var(--hairline-strong) !important;
  color: var(--ink) !important;
}
html[data-theme="dark"] #content-raw .raw-easy-guide {
  background: var(--white);
  border: 1px solid var(--hairline);
}
html[data-theme="dark"] #content-raw .raw-easy-guide-kicker {
  color: var(--ink-soft);
}
html[data-theme="dark"] #content-raw .raw-easy-guide-title {
  color: var(--ink);
}
html[data-theme="dark"] #content-raw .raw-easy-step {
  background: var(--paper);
  border: 1px solid var(--hairline);
}
html[data-theme="dark"] #content-raw .raw-easy-step span {
  background: var(--white);
  border: 1px solid var(--hairline);
  color: var(--ink);
}
html[data-theme="dark"] #content-raw .raw-easy-step strong {
  color: var(--ink);
}
html[data-theme="dark"] #content-raw .raw-easy-step em {
  color: var(--ink-soft);
}
html[data-theme="dark"] #content-raw .raw-history-shortcut {
  background: var(--white) !important;
  color: var(--ink) !important;
  border: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] #content-raw .raw-history-shortcut:hover {
  background: var(--paper) !important;
  border-color: var(--hairline-strong) !important;
}
html[data-theme="dark"] #content-raw .raw-guide-start {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
  border: 1px solid var(--ink) !important;
}
html[data-theme="dark"] #content-raw.raw-production-first #rawPanel-prod > .raw-daily-wrap {
  border: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] #content-raw .raw-direct-toggle-strip {
  background: var(--white);
  border: 1px solid var(--hairline);
}
html[data-theme="dark"] #content-raw .raw-direct-worker {
  background: var(--white) !important;
  border: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] #content-raw .raw-direct-toggle-title {
  color: var(--ink);
}
html[data-theme="dark"] #content-raw .raw-direct-toggle-copy {
  color: var(--ink-soft);
}
html[data-theme="dark"] #content-raw .raw-direct-toggle {
  background: var(--white) !important;
  color: var(--ink) !important;
  border: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] #content-raw .raw-direct-toggle:hover {
  background: var(--paper) !important;
  border-color: var(--hairline-strong) !important;
}
html[data-theme="dark"] #content-raw .raw-sync-preview {
  background: var(--white);
  border: 1px solid var(--hairline);
}
html[data-theme="dark"] #content-raw .raw-sync-preview-title {
  color: var(--ink);
}
html[data-theme="dark"] #content-raw .raw-sync-preview-sub,
html[data-theme="dark"] #content-raw .raw-sync-preview-empty,
html[data-theme="dark"] #content-raw .raw-sync-preview-note {
  color: var(--ink-soft);
}
html[data-theme="dark"] #content-raw .raw-sync-preview-badge {
  color: var(--ink-soft);
  background: var(--paper);
  border: 1px solid var(--hairline);
}
html[data-theme="dark"] #content-raw .raw-sync-preview-row {
  background: var(--paper);
  border: 1px solid var(--hairline);
}
html[data-theme="dark"] #content-raw .raw-sync-preview-kind {
  color: var(--ink-soft);
}
html[data-theme="dark"] #content-raw .raw-sync-preview-name {
  color: var(--ink);
}
html[data-theme="dark"] #content-raw .raw-sync-preview-qty {
  color: var(--ink);
}
html[data-theme="dark"] #content-raw .prod-ccp-btn {
  background: var(--white) !important;
  color: var(--ink-soft) !important;
  border: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] #content-raw .prod-ccp-btn.ok.sel {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
  border-color: var(--ink) !important;
}
html[data-theme="dark"] #content-raw .prod-ccp-btn.fail.sel {
  background: var(--paper) !important;
  color: var(--ink) !important;
  border-color: var(--hairline-strong) !important;
}
html[data-theme="dark"] #content-raw .raw-daily-table button,
html[data-theme="dark"] #content-raw .ccp-log-table button,
html[data-theme="dark"] #content-raw .prod-mat-del {
  color: var(--ink) !important;
}
html[data-theme="dark"] #content-raw input,
html[data-theme="dark"] #content-raw select,
html[data-theme="dark"] #content-raw textarea {
  color: var(--ink) !important;
}
html[data-theme="dark"] #content-raw .raw-guide-example-value {
  color: var(--stamp-red) !important;
  background: #1A1A1A !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="dark"] 0%,
html[data-theme="dark"] 100% {
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] 50% {
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] #content-raw .raw-guide-history-example td {
  background: #1A1A1A !important;
  color: var(--stamp-red) !important;
}
html[data-theme="dark"] #content-raw .raw-guide-history-example span {
  color: var(--stamp-red) !important;
}
html[data-theme="dark"] .raw-guide-panel {
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .raw-guide-close {
  color: var(--sf-3);
}
html[data-theme="dark"] .raw-guide-count {
  color: var(--sf-3);
}
html[data-theme="dark"] .raw-guide-primary {
  background: var(--sf-3);
  color: var(--gray4);
  border-color: var(--sf-3);
}
html[data-theme="dark"] #content-raw [style*="color:var(--mono-text)"],
html[data-theme="dark"] #content-raw [style*="color: var(--mono-text)"] {
  color: var(--ink) !important;
}
html[data-theme="dark"] #content-raw [style*="background:var(--mono-text)"],
html[data-theme="dark"] #content-raw [style*="background: var(--mono-text)"] {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
  border-color: var(--ink) !important;
}
html[data-theme="dark"] #content-raw [style*="background:var(--mono-accent)"],
html[data-theme="dark"] #content-raw [style*="background: var(--mono-accent)"] {
  background: var(--paper) !important;
  color: var(--ink) !important;
  border: 1px solid var(--hairline) !important;
}
html[data-theme="dark"] #content-raw [style*="border:2px solid var(--mono-accent)"],
html[data-theme="dark"] #content-raw [style*="border: 2px solid var(--mono-accent)"] {
  border-color: var(--hairline-strong) !important;
}
html[data-theme="dark"] .dropdown-menu,
html[data-theme="dark"] .topbar-dropdown,
html[data-theme="dark"] .cw-menu-panel,
html[data-theme="dark"] .noti-panel {
  background: var(--white) !important;
  border-color: var(--gray2) !important;
}
html[data-theme="dark"] .dropdown-menu .item:hover,
html[data-theme="dark"] .topbar-dd-item:hover,
html[data-theme="dark"] .cw-menu-item:hover,
html[data-theme="dark"] .noti-panel .noti-item:hover {
  background: var(--paper) !important;
}
html[data-theme="dark"] #vfcToastHost .toast,
html[data-theme="dark"] .vfc-toast,
html[data-theme="dark"] .toast-container .toast {
  background: var(--white) !important;
  color: var(--gray4) !important;
  border-color: var(--gray2) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="dark"] [style*="background:#fef3c7"],
html[data-theme="dark"] [style*="background: #fef3c7"],
html[data-theme="dark"] [style*="background:#fff3cd"] {
  background: #1A1A1A !important;
}
html[data-theme="dark"] [style*="background:#dcfce7"],
html[data-theme="dark"] [style*="background: #dcfce7"] {
  background: #1A1A1A !important;
}
html[data-theme="dark"] [style*="background:#fee2e2"],
html[data-theme="dark"] [style*="background: #fee2e2"] {
  background: #1A1A1A !important;
}
html[data-theme="dark"] [style*="background:#dbeafe"],
html[data-theme="dark"] [style*="background: #dbeafe"] {
  background: #1A1A1A !important;
}
/* PIN uses the same approved glass kit in both themes: login-kit.css. */
html[data-theme="dark"] .jwrite-card {
  background: var(--white) !important;
  border-color: var(--gray2) !important;
}
html[data-theme="dark"] .jwrite-card-title {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .jwrite-btn {
  background: var(--white) !important;
  color: var(--gray4) !important;
  border-color: var(--line-14) !important;
}
html[data-theme="dark"] .jwrite-btn:hover {
  background: var(--paper) !important;
}
html[data-theme="dark"] .jtab-nav {
  border-color: var(--line-12) !important;
}
html[data-theme="dark"] .jtab-nav button {
  color: var(--mono-text) !important;
}
html[data-theme="dark"] .jtab-nav button:hover {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .jtab-nav button.active {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .jtab-sub-label {
  color: var(--mono-text) !important;
}
html[data-theme="dark"] .jtab-cat-label {
  color: var(--gray4) !important;
  border-color: var(--line-14) !important;
}
html[data-theme="dark"] #recentJournalList {
  color: var(--gray4) !important;
}
html[data-theme="dark"] #recentJournalList > div,
html[data-theme="dark"] #recentJournalList > a {
  border-color: var(--line-06) !important;
  color: var(--gray4) !important;
}
html[data-theme="dark"] #recentJournalList > div:hover,
html[data-theme="dark"] #recentJournalList > a:hover {
  background: var(--paper) !important;
}
html[data-theme="dark"] #subManageWrap {
  background: var(--sf-warm) !important;
  border-color: var(--gray2) !important;
}
html[data-theme="dark"] #subManagePlan {
  color: var(--gray4) !important;
}
html[data-theme="dark"] #subManageExpiry {
  color: var(--mono-text) !important;
}
html[data-theme="dark"] #subManagePrice {
  color: var(--gray4) !important;
}
html[data-theme="dark"] #subManageOptions {
  border-color: var(--gray2) !important;
}
html[data-theme="dark"] #subManageOptions > div {
  background: var(--white) !important;
  border-color: var(--gray2) !important;
}
html[data-theme="dark"] #subManageOptions > div > div > div:first-child {
  color: var(--gray4) !important;
}
html[data-theme="dark"] #subManageOptions > div > div > div:last-child {
  color: var(--mono-text) !important;
}
html[data-theme="dark"] #subManageOptions button {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="dark"] #subManageOptions button:hover {
  background: var(--btn-bg) !important;
  color: var(--btn-fg) !important;
  border-color: var(--btn-line) !important;
}
html[data-theme="dark"] #subManageOptions span {
  color: var(--mono-text) !important;
}
html[data-theme="dark"] #subManageCancelWrap button {
  color: var(--mono-text) !important;
}
html[data-theme="dark"] #subManageCancelWrap button:hover {
  color: var(--stamp-red) !important;
}
html[data-theme="dark"] .set-nav-item {
  color: var(--mono-text) !important;
}
html[data-theme="dark"] .set-nav-item:hover {
  background: var(--paper) !important;
  color: var(--gray4) !important;
}
html[data-theme="dark"] .set-nav-item.active {
  color: var(--gray4) !important;
  background: var(--sf-active) !important;
}
html[data-theme="dark"] .settings-label {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .settings-section {
  border-color: var(--hairline) !important;
}
html[data-theme="dark"] .settings-desc {
  color: var(--mono-text) !important;
}
html[data-theme="dark"] .set-field-label {
  color: var(--mono-text) !important;
}
html[data-theme="dark"] .set-input {
  border-color: var(--line-14) !important;
  background: var(--white) !important;
  color: var(--gray4) !important;
}
html[data-theme="dark"] .set-input:focus {
  border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="dark"] .set-btn {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="dark"] .set-btn:hover {
  background: var(--btn-bg) !important;
  color: var(--btn-fg) !important;
  border-color: var(--btn-line) !important;
}
html[data-theme="dark"] .set-btn-outline {
  background: var(--white) !important;
  color: var(--gray4) !important;
  border-color: var(--line-14) !important;
}
html[data-theme="dark"] .set-btn-outline:hover {
  background: var(--paper) !important;
}
html[data-theme="dark"] .set-theme-btn,
html[data-theme="dark"] .theme-btn {
  background: var(--white) !important;
  color: var(--mono-text) !important;
  border-color: var(--line-14) !important;
}
html[data-theme="dark"] .set-theme-btn.active,
html[data-theme="dark"] .theme-btn.active {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="dark"] .set-toggle-slider {
  background: var(--line-18) !important;
}
html[data-theme="dark"] .set-toggle input:checked + .set-toggle-slider {
  background: var(--ink) !important;
}
html[data-theme="dark"] .set-sign-card {
  background: var(--sf-warm) !important;
  border-color: var(--gray2) !important;
}
html[data-theme="dark"] .set-sign-card img {
  border-color: var(--gray2) !important;
}
html[data-theme="dark"] .cal-cell:hover {
  background: var(--paper) !important;
}
html[data-theme="dark"] .cal-cell.today {
  background: var(--sf-today) !important;
}
html[data-theme="dark"] .cal-date {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .cal-event.type-ccp {
  background: #1A1A1A !important;
  color: var(--gray4) !important;
  border-color: var(--line-12) !important;
}
html[data-theme="dark"] .cal-event.type-haccp {
  background: #1A1A1A !important;
  color: var(--gray4) !important;
}
html[data-theme="dark"] .cal-event.type-check {
  background: #1A1A1A !important;
  color: var(--stamp-green) !important;
}
html[data-theme="dark"] .cal-event.type-warn {
  background: #1A1A1A !important;
  color: var(--gray4) !important;
}
html[data-theme="dark"] .cal-day-label.sat {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .apv-subtab-nav {
  border-bottom: 1px solid var(--line, #e8e8e4);
}
html[data-theme="dark"] .apv-subtab {
  color: var(--gray3, #6b7280);
}
html[data-theme="dark"] .apv-subtab:hover {
  color: var(--ink, #1a1a1a);
}
html[data-theme="dark"] .apv-subtab.active {
  color: var(--ink, #1a1a1a);
}
html[data-theme="dark"] .audit-page-title {
  color: var(--ink, #1a1a1a) !important;
}
html[data-theme="dark"] .audit-page-sub {
  color: var(--gray3, #6b7280);
}
html[data-theme="dark"] .audit-page-head {
  border-bottom: 1px solid var(--line, #e8e8e4) !important;
}
html[data-theme="dark"] .audit-select,
html[data-theme="dark"] .audit-date {
  border-color: var(--line, #d1d5db) !important;
  color: var(--ink, #1a1a1a) !important;
  background: var(--white) !important;
}
html[data-theme="dark"] .audit-select:focus,
html[data-theme="dark"] .audit-date:focus {
  border-color: var(--ink, #1a1a1a) !important;
}
html[data-theme="dark"] .audit-date-sep {
  color: var(--gray3, #334155) !important;
}
html[data-theme="dark"] .temp-defrost-btn {
  border: 1px solid var(--ink, #1a1a1a) !important;
  background: var(--white) !important;
  color: var(--ink, #1a1a1a) !important;
}
html[data-theme="dark"] .temp-defrost-btn:hover {
  background: var(--gray1, #f3f4f6) !important;
  border-color: var(--ink, #1a1a1a) !important;
}
html[data-theme="dark"] .temp-defrost-btn.active {
  background: var(--btn-bg) !important;
  color: var(--btn-fg) !important;
  border-color: var(--btn-line) !important;
}
html[data-theme="dark"] .temp-sheet-scroll-surface {
  background: var(--white);
}
/* 라이트와 1:1 — 막대는 늘 보이게, 오른쪽 끝 그림자는 검정 쪽으로. */
html[data-theme="dark"] .temp-sheet-viewport {
  box-shadow: inset -15px 0 13px -13px rgba(0,0,0,.6);
  scrollbar-color: #6a727d #22262b;
}
html[data-theme="dark"] .temp-sheet-viewport::-webkit-scrollbar-track { background: #22262b; }
html[data-theme="dark"] .temp-sheet-viewport::-webkit-scrollbar-thumb {
  background: #6a727d;
  border-color: #22262b;
}
html[data-theme="dark"] .temp-sheet-viewport::-webkit-scrollbar-thumb:hover { background: #828a95; }
html[data-theme="dark"] .temp-sheet-approved-surface {
  background: var(--sf-5);
}
html[data-theme="dark"] .temp-sheet-table {
  background: #141414;
}
html[data-theme="dark"] .temp-mark-mode-btn.active.temp-mark-defrost {
  background: #1A1A1A !important;
  color: var(--gray4) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="dark"] .ccp-page-title-icon {
  background: var(--ink, #1a1a1a) !important;
}
html[data-theme="dark"] button[onclick*="_cdpSwitchRolesTab"] {
  color: var(--mono-accent) !important;
}
html[data-theme="dark"] button[onclick*="_cdpSwitchRolesTab"][style*="primary"] {
  color: var(--gray4) !important;
}
html[data-theme="dark"] #page-admin-main .cj-cat-count,
html[data-theme="dark"] #page-admin-main [style*="var(--primary)"][style*="font-weight"] {
  color: var(--gray4) !important;
}
html[data-theme="dark"] #page-admin-main .cj-jcard div[style*="var(--primary)"] {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .admin-sidebar .admin-nav-item.active {
  background: var(--line-06) !important;
  color: var(--gray4) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="dark"] #page-admin-main .admin-panel button[style*="var(--primary)"]:not([disabled]),
html[data-theme="dark"] #page-admin-main button.btn-primary:not([disabled]) {
  background: var(--btn-bg) !important;
  color: var(--btn-fg) !important;
  border-color: var(--btn-line) !important;
}
html[data-theme="dark"] .cdp-section input[type="radio"]:checked + label,
html[data-theme="dark"] .cdp-section [style*="2px solid var(--primary)"] {
  border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="dark"] .cdp-section [style*="background:var(--primary)"]:not(:disabled),
html[data-theme="dark"] .cdp-section [style*="background: var(--primary)"]:not(:disabled) {
  background: var(--btn-bg) !important;
  color: var(--btn-fg) !important;
  border-color: var(--btn-line) !important;
}
html[data-theme="dark"] .cdp-section [style*="color:var(--primary)"]:not(:disabled),
html[data-theme="dark"] .cdp-section [style*="color: var(--primary)"]:not(:disabled) {
  color: var(--gray4) !important;
}
html[data-theme="dark"] #page-admin-main label > span[style*="background:var(--primary)"],
html[data-theme="dark"] #page-admin-main label > span[style*="background: var(--primary)"] {
  background: var(--gray4) !important;
}
html[data-theme="dark"] #cjVPickerOverlay [style*="2px solid var(--primary)"] {
  border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="dark"] #cjVPickerOverlay [style*="color:var(--primary)"] {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .j-mobile-ccp {
  color: var(--gray4);
}
html[data-theme="dark"] .jform-meta label {
  color: var(--mono-accent) !important;
}
html[data-theme="dark"] .sidebar {
  background: var(--white) !important;
  border-color: var(--sf-line) !important;
}
html[data-theme="dark"] .topbar-hamburger:active {
  background: var(--sf-3);
}
html[data-theme="dark"] .topbar-hamburger-label {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .sidebar-mobile-close {
  color: var(--mono-accent);
}
html[data-theme="dark"] .sidebar-mobile-close:active {
  background: var(--sf-3);
}
html[data-theme="dark"] .sidebar-menu-group {
  border-color: var(--sf-3);
}
html[data-theme="dark"] html.vfc-tablet-mobile .topbar-hamburger:active,
html[data-theme="dark"] body.vfc-tablet-mobile .topbar-hamburger:active {
  background: var(--sf-3);
}
html[data-theme="dark"] html.vfc-tablet-mobile .topbar-hamburger-icon span,
html[data-theme="dark"] body.vfc-tablet-mobile .topbar-hamburger-icon span {
  background: var(--gray4) !important;
}
html[data-theme="dark"] html.vfc-tablet-mobile .topbar-hamburger-label,
html[data-theme="dark"] body.vfc-tablet-mobile .topbar-hamburger-label {
  color: var(--gray4) !important;
}
html[data-theme="dark"] html.vfc-tablet-mobile .sidebar,
html[data-theme="dark"] body.vfc-tablet-mobile .sidebar {
  background: var(--white) !important;
  border-color: var(--sf-line) !important;
}
html[data-theme="dark"] html.vfc-tablet-mobile .sidebar-mobile-close,
html[data-theme="dark"] body.vfc-tablet-mobile .sidebar-mobile-close {
  color: var(--mono-accent);
}
html[data-theme="dark"] html.vfc-tablet-mobile .sidebar-menu-group,
html[data-theme="dark"] body.vfc-tablet-mobile .sidebar-menu-group {
  border-color: var(--sf-3);
}
html[data-theme="dark"] .phone-blocker {
  background: #141414;
  color: var(--gray4);
}
html[data-theme="dark"] .phone-blocker-card {
  background: var(--white);
  border-color: rgba(255, 255, 255, 0.12);
}
html[data-theme="dark"] .phone-blocker-mark {
  border-color: rgba(255, 255, 255, 0.12);
}
html[data-theme="dark"] .phone-blocker h1 {
  color: var(--gray4);
}
html[data-theme="dark"] .phone-blocker-note {
  color: var(--gray4) !important;
}
html[data-theme="dark"] .topbar-hamburger:hover,
html[data-theme="dark"] .topbar-hamburger:active {
  background: var(--sf-3);
}
html[data-theme="dark"] .sidebar,
html[data-theme="dark"] .sidebar.collapsed {
  background: var(--white) !important;
  border-color: var(--sf-line) !important;
}
html[data-theme="dark"] .sidebar.open .sidebar-mobile-close,
html[data-theme="dark"] .sidebar.collapsed.open .sidebar-mobile-close {
  color: var(--mono-accent);
}
html[data-theme="dark"] .sidebar.open .sidebar-mobile-close:hover,
html[data-theme="dark"] .sidebar.open .sidebar-mobile-close:active,
html[data-theme="dark"] .sidebar.collapsed.open .sidebar-mobile-close:hover,
html[data-theme="dark"] .sidebar.collapsed.open .sidebar-mobile-close:active {
  background: var(--sf-3);
}
html[data-theme="dark"] .vfc-mobile-call {
  background: #141414;
  color: var(--gray4);
}
html[data-theme="dark"] .vfc-mobile-call-card {
  background: var(--white);
  border-color: rgba(255, 255, 255, 0.12);
}
html[data-theme="dark"] .vfc-mobile-call-kicker {
  color: var(--mono-text);
}
html[data-theme="dark"] .vfc-mobile-call h1 {
  color: var(--gray4);
}
html[data-theme="dark"] .vfc-mobile-call-reason {
  background: #141414;
  border-color: rgba(255, 255, 255, 0.12);
}
html[data-theme="dark"] .vfc-mobile-call-label {
  color: var(--mono-text);
}
html[data-theme="dark"] .vfc-mobile-call-reason p {
  color: var(--gray4);
}
html[data-theme="dark"] .vfc-mobile-call-secondary {
  border-color: rgba(255, 255, 255, 0.12);
  background: var(--white);
  color: var(--gray4);
}
html[data-theme="dark"] .sidebar .sidebar-logo,
html[data-theme="dark"] .sidebar.open .sidebar-logo,
html[data-theme="dark"] .sidebar.collapsed.open .sidebar-logo,
html[data-theme="dark"] html.vfc-tablet-mobile .sidebar .sidebar-logo,
html[data-theme="dark"] body.vfc-tablet-mobile .sidebar .sidebar-logo {
  border-color: var(--sf-line) !important;
  background: var(--white) !important;
}
html[data-theme="dark"] .sidebar .sidebar-logo > span,
html[data-theme="dark"] .sidebar.open .sidebar-logo > span,
html[data-theme="dark"] .sidebar.collapsed.open .sidebar-logo > span,
html[data-theme="dark"] html.vfc-tablet-mobile .sidebar .sidebar-logo > span,
html[data-theme="dark"] body.vfc-tablet-mobile .sidebar .sidebar-logo > span {
  color: var(--gray4) !important;
}
html[data-theme="dark"] #page-admin-main .cw-filter-label {
  border-color: var(--sf-line) !important;
  background: var(--white) !important;
}
html[data-theme="dark"] #page-admin-main .cw-list-item {
  border-color: var(--sf-line) !important;
  background: var(--white) !important;
}
html[data-theme="dark"] #page-admin-main .cw-list-item.cw-selected {
  border-color: rgba(255, 255, 255, 0.14) !important;
  background: #141414 !important;
}
html[data-theme="dark"] #page-admin-main .cw-tabs {
  background: var(--white) !important;
  border-color: var(--sf-line) !important;
}
html[data-theme="dark"] #page-admin-main .cw-tab {
  border-color: var(--sf-line) !important;
  background: var(--white) !important;
}
html[data-theme="dark"] #page-admin-main .cw-tab.cw-tab-active {
  border-color: rgba(255, 255, 255, 0.14) !important;
  color: var(--gray4) !important;
  background: #141414 !important;
}
html[data-theme="dark"] #page-admin-main .cw-journal-list-shell {
  border-color: var(--line-d1) !important;
  background: var(--white) !important;
}
html[data-theme="dark"] #page-admin-main .cw-journal-scroll-hint {
  background: var(--sf-2) !important;
  border-color: var(--sf-line) !important;
  color: var(--gray4) !important;
}
html[data-theme="dark"] #page-admin-main .cw-journal-scroll-hint strong {
  color: var(--gray4) !important;
}
html[data-theme="dark"] #page-admin-main .cw-journal-list-body::-webkit-scrollbar {
  background: var(--sf-3) !important;
}
html[data-theme="dark"] #page-admin-main .cw-journal-list-body::-webkit-scrollbar-thumb {
  border-color: var(--sf-3) !important;
}
html[data-theme="dark"] #page-admin-main .cw-journal-list-overflow::after {
  background: #141414 !important;
  color: var(--gray4) !important;
}
html[data-theme="dark"] #page-admin-main .cw-journal-group {
  border-color: var(--sf-line) !important;
  background: var(--white) !important;
}
html[data-theme="dark"] #page-admin-main .cw-journal-group-name {
  background: var(--sf-2) !important;
  border-color: var(--sf-line) !important;
}
html[data-theme="dark"] #page-admin-main .cw-journal-list-body .cw-journal-dropzone {
  background: var(--white) !important;
}
html[data-theme="dark"] #page-admin-main #cwJournalTab > .cw-actions {
  background: #141414 !important;
  border-color: var(--sf-line) !important;
}
html[data-theme="dark"] #page-admin-main .admin-content-wrap {
  background: #141414;
}
html[data-theme="dark"] #page-admin-main .admin-panel {
  background: var(--white) !important;
}
html[data-theme="dark"] #page-admin-main .cw-list-panel {
  background: var(--sf-2) !important;
}
html[data-theme="dark"] #page-admin-main .cw-filter-label {
  border: 1px solid var(--gray2);
  background: var(--white);
}
html[data-theme="dark"] #page-admin-main .cw-list-panel {
  border-bottom: 1px solid var(--gray2) !important;
}
html[data-theme="dark"] #page-admin-main .admin-sidebar-toggle {
  background: var(--white);
  color: var(--gray4);
}
html[data-theme="dark"] #page-admin-main .admin-responsive-menu-dialog {
  background: var(--white);
  color: var(--gray4);
}
html[data-theme="dark"] #page-admin-main .admin-responsive-menu-header {
  background: var(--white);
}
html[data-theme="dark"] #page-admin-main .admin-responsive-menu-header button,
html[data-theme="dark"] #page-admin-main .admin-responsive-menu-group button,
html[data-theme="dark"] #page-admin-main .admin-responsive-menu-trigger,
html[data-theme="dark"] #page-admin-main .admin-mobile-bottom-nav button {
  border-color: var(--sf-line);
  background: var(--white);
  color: var(--gray4);
}
html[data-theme="dark"] #page-admin-main .admin-responsive-menu-group button[aria-current="page"],
html[data-theme="dark"] #page-admin-main .admin-mobile-bottom-nav button[aria-current="page"] {
  border-color: rgba(255, 255, 255, 0.14);
  background: var(--sf-3);
}
html[data-theme="dark"] #page-admin-main .admin-mobile-bottom-nav {
  border-color: var(--sf-line);
  background: var(--white);
}
html[data-theme="dark"] #page-admin-main .records-table tr {
  border: 1px solid var(--gray2, #e5e7eb);
  background: var(--white);
}
html[data-theme="dark"] #page-admin-main .records-table td[data-label] {
  border-bottom: 1px solid var(--gray1, #f3f4f6);
}
html[data-theme="dark"] #page-admin-main .records-table td[data-label]::before {
  color: var(--gray4, #6b7280);
}
html[data-theme="dark"] #cjRolesContent .cj-role-card-editable {
  background: var(--white) !important;
  border-color: var(--mono-accent) !important;
}
html[data-theme="dark"] #cjRolesContent .cj-role-card-locked {
  background: var(--sf-cool) !important;
  border-color: var(--mono-accent) !important;
}
html[data-theme="dark"] #cjRolesContent .cj-role-lock-status {
  border-color: var(--stamp-amber);
  background: var(--tint-amber3);
  color: var(--gray4);
}
html[data-theme="dark"] #cwJournalCtxMenu [role="menuitem"]:focus-visible {
  background: var(--tint-blue) !important;
}
html[data-theme="dark"] .j-tacho-photo-add-btn {
  border: 1px solid var(--gray2);
  background: var(--sf-cool);
  color: var(--mono-text);
}
html[data-theme="dark"] .j-tacho-photo-limit {
  color: var(--gray3);
}
html[data-theme="dark"] .j-tacho-photo-slot-delete {
  background: #141414;
  color: var(--gray4);
}
html[data-theme="dark"] .j-tacho-photo-slot-delete:hover {
  background: var(--sf-3);
}
html[data-theme="dark"] body.audit-mode-active #journalOverlay .audit-mode-current-journal-notice {
  border-color: var(--ac-line);
  background: var(--ac-surface);
  color: var(--ac-muted);
}
html[data-theme="dark"] body.audit-mode-active #journalOverlay .audit-mode-current-journal-notice [data-audit-approved-label] {
  color: inherit !important;
}
html[data-theme="dark"] body.audit-mode-active #toast.toast.toast-error { color: #f5b1b1 !important; }
html[data-theme="dark"] .audit-mode-shell {
  background: var(--audit-off-white);
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] .audit-mode-search {
  border: 1px solid var(--audit-line);
  background: var(--white);
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] .audit-mode-search::placeholder {
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-search:focus {
  border-color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-range input:focus-visible {
  border-color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-exit,
html[data-theme="dark"] .audit-mode-refresh {
  border: 1px solid var(--audit-line);
  background: var(--white);
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] .audit-mode-paper {
  background: var(--white);
  color: var(--audit-warm-charcoal);
  border: 1px solid var(--audit-line);
}
html[data-theme="dark"] .audit-mode-toolbar-label {
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-range label {
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-range input {
  border: 1px solid var(--audit-line);
  background: var(--white);
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] .audit-mode-tabs {
  border: 1px solid var(--audit-line);
  background: var(--audit-off-white);
}
html[data-theme="dark"] .audit-mode-tab {
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] .audit-mode-tab:hover,
html[data-theme="dark"] .audit-mode-tab:focus-visible {
  background: var(--white);
}
html[data-theme="dark"] .audit-mode-tab.active {
  background: var(--audit-sage);
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] .audit-mode-panel-head {
  border-bottom: 1px solid var(--audit-line);
}
html[data-theme="dark"] .audit-mode-panel-head span {
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-panel-head h2 {
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] .audit-mode-count {
  border: 1px solid var(--audit-line);
  color: var(--audit-warm-gray) !important;
}
html[data-theme="dark"] .audit-mode-records-head > [role="row"] {
  border-bottom: 1px solid var(--audit-line);
  background: var(--audit-off-white);
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-list-head {
  border-bottom: 1px solid var(--audit-line);
  background: var(--audit-off-white);
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-row {
  border-bottom: 1px solid var(--audit-line);
  background: var(--white);
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] button.audit-mode-row:hover,
html[data-theme="dark"] button.audit-mode-row:focus-visible {
  background: var(--audit-off-white);
}
html[data-theme="dark"] .audit-mode-row-date {
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-row-title {
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] .audit-mode-row-author {
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-row-status {
  border: 1px solid var(--sage-deep);
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] .audit-mode-row-open {
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-row-actions button {
  border: 1px solid var(--audit-line);
  background: var(--white);
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] .audit-mode-row-actions button:focus-visible {
  border-color: var(--sage-deep);
}
html[data-theme="dark"] .audit-mode-empty,
html[data-theme="dark"] .audit-mode-loading {
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-empty strong {
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] .audit-mode-loading span {
  border: 2px solid var(--audit-line);
}
html[data-theme="dark"] .audit-mode-retry,
html[data-theme="dark"] .audit-mode-load-more {
  border: 1px solid var(--audit-line);
  background: var(--white);
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] .audit-mode-list-note {
  border-bottom: 1px solid var(--audit-line);
  background: var(--audit-off-white);
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-exception-history {
  border-top: 8px solid var(--audit-off-white);
  background: var(--white);
}
html[data-theme="dark"] .audit-mode-exception-history > div:first-child {
  border-bottom: 1px solid var(--audit-line);
  background: var(--audit-off-white);
}
html[data-theme="dark"] .audit-mode-exception-history h3 {
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] .audit-mode-exception-history p {
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-retry:hover,
html[data-theme="dark"] .audit-mode-retry:focus-visible,
html[data-theme="dark"] .audit-mode-load-more:hover,
html[data-theme="dark"] .audit-mode-load-more:focus-visible,
html[data-theme="dark"] .audit-mode-refresh:hover,
html[data-theme="dark"] .audit-mode-refresh:focus-visible,
html[data-theme="dark"] .audit-mode-exit:hover,
html[data-theme="dark"] .audit-mode-exit:focus-visible,
html[data-theme="dark"] .audit-mode-document-tools button:focus-visible,
html[data-theme="dark"] .audit-mode-document-tools a:focus-visible {
  border-color: var(--sage-deep);
}
html[data-theme="dark"] .audit-mode-record-modal > section {
  border: 1px solid var(--audit-line);
  background: var(--white);
}
html[data-theme="dark"] .audit-mode-record-header {
  border-bottom: 1px solid var(--audit-line);
  background: var(--white);
}
html[data-theme="dark"] .audit-mode-record-header h3 {
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] .audit-mode-record-kind {
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-record-meta {
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-record-close {
  border: 1px solid var(--audit-line);
  background: var(--white);
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] .audit-mode-record-toolbar {
  border-bottom: 1px solid var(--audit-line);
  background: var(--audit-off-white);
}
html[data-theme="dark"] #audit-mode-record-sources button,
html[data-theme="dark"] #audit-mode-record-actions a,
html[data-theme="dark"] .audit-mode-record-message button,
html[data-theme="dark"] .audit-mode-record-body [data-audit-record-retry],
html[data-theme="dark"] .audit-mode-document-tools button,
html[data-theme="dark"] #audit-mode-sheet-tabs button {
  border: 1px solid var(--audit-line);
  background: var(--white);
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] #audit-mode-record-sources button[aria-pressed="true"] {
  border-color: var(--sage-deep);
  background: var(--audit-sage);
}
html[data-theme="dark"] .audit-mode-record-body {
  background: var(--audit-off-white);
}
html[data-theme="dark"] .audit-mode-record-body > iframe,
html[data-theme="dark"] .audit-mode-record-body > img {
  background: var(--white);
}
html[data-theme="dark"] .audit-mode-signature-block {
  border: 1px solid var(--audit-line);
  background: var(--audit-off-white, #f5f5f3);
}
html[data-theme="dark"] .audit-mode-signature-heading {
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] .audit-mode-signature-item {
  border: 1px solid var(--audit-line);
  background: var(--white);
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-signature-role {
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-signature-name {
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] .audit-mode-signature-time {
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-signature-item img {
  border: 1px solid var(--audit-line);
  background: var(--white);
}
html[data-theme="dark"] .audit-mode-signature-hash {
  border-top: 1px solid var(--audit-line);
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-current-journal-summary {
  border-color: var(--stamp-amber);
  background: var(--tint-amber2);
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] .audit-mode-current-journal-summary strong {
  color: var(--stamp-amber);
}
html[data-theme="dark"] .audit-mode-current-journal-summary button {
  border: 1px solid var(--audit-line);
  background: var(--white);
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] .audit-mode-file-viewport > [data-viewer-content] {
  background: var(--white);
}
html[data-theme="dark"] .audit-mode-file-viewport[data-viewer-kind="pdf"][aria-busy="true"]::after {
  border: 1px solid var(--audit-line);
  background: #141414;
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-pdf-canvas {
  background: var(--white);
}
html[data-theme="dark"] .audit-mode-record-message {
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-record-history {
  border-top: 1px solid var(--audit-line);
  background: var(--white);
}
html[data-theme="dark"] .audit-mode-record-history summary {
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] .audit-mode-record-history summary::before {
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-detail-table {
  border-top: 1px solid var(--audit-line);
  background: var(--audit-line);
}
html[data-theme="dark"] .audit-mode-detail-table > div {
  background: var(--white);
}
html[data-theme="dark"] .audit-mode-detail-table span {
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-detail-table strong {
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] .audit-mode-unavailable {
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] #audit-mode-history-list p {
  border-left: 2px solid var(--sage-deep);
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] #audit-mode-history-list p strong {
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] .audit-mode-sheet-viewer {
  background: var(--white);
}
html[data-theme="dark"] .audit-mode-sheet-viewer #audit-mode-sheet-tabs {
  border-bottom: 1px solid var(--audit-line);
}
html[data-theme="dark"] .audit-mode-sheet-viewer #audit-mode-sheet-tabs button[aria-pressed="true"] {
  border-color: var(--audit-warm-charcoal);
  background: var(--audit-sage);
}
html[data-theme="dark"] .audit-mode-document-tools button,
html[data-theme="dark"] .audit-mode-document-tools a,
html[data-theme="dark"] #audit-mode-sheet-tabs button {
  border: 1px solid var(--audit-line);
  background: var(--white);
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] .audit-mode-pdf-tablet-hint {
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] #audit-mode-sheet-tabs {
  border-bottom: 1px solid var(--audit-line);
}
html[data-theme="dark"] #audit-mode-sheet-tabs button[aria-pressed="true"] {
  border-color: var(--audit-warm-charcoal);
  background: var(--audit-sage);
}
html[data-theme="dark"] .audit-mode-sheet-note {
  background: var(--audit-off-white);
  color: var(--audit-warm-gray);
}
html[data-theme="dark"] .audit-mode-sheet-grid th,
html[data-theme="dark"] .audit-mode-sheet-grid td {
  border: 1px solid var(--sage-deep);
  color: var(--audit-warm-charcoal);
}
html[data-theme="dark"] .audit-mode-sheet-grid th {
  background: var(--audit-sage);
}
html[data-theme="dark"] body.audit-mode-active .audit-mode-document-filters {
  border: 1px solid var(--audit-compact-taupe);
  background: var(--audit-compact-off-white);
}
html[data-theme="dark"] body.audit-mode-active .audit-mode-document-filter {
  border: 1px solid var(--audit-compact-taupe);
  background: var(--audit-compact-off-white);
  color: var(--audit-compact-charcoal);
}
html[data-theme="dark"] body.audit-mode-active .audit-mode-document-filter[aria-pressed="true"] {
  border-color: var(--audit-compact-charcoal);
  background: var(--audit-compact-sage);
  color: var(--audit-compact-charcoal);
}
html[data-theme="dark"] body.audit-mode-active :is(
  .audit-mode-document-badge,
  .audit-mode-document-type,
  .audit-mode-document-category
) {
  border: 1px solid var(--audit-compact-taupe);
  background: var(--audit-compact-off-white);
  color: var(--audit-compact-charcoal);
}
html[data-theme="dark"] body.audit-mode-active .audit-mode-document-type {
  border-color: var(--audit-compact-charcoal);
  background: var(--audit-compact-charcoal);
  color: var(--audit-compact-off-white);
}
html[data-theme="dark"] body.audit-mode-active .audit-mode-document-category {
  background: var(--audit-compact-sage);
}
html[data-theme="dark"] body.audit-mode-active :is(
  #audit-mode-correction-section,
  .audit-mode-correction-section,
  [aria-labelledby="audit-mode-correction-heading"]
) {
  border: 1px solid var(--audit-compact-taupe);
  border-left: 4px solid var(--audit-compact-sage);
  background: var(--audit-compact-off-white);
  color: var(--audit-compact-charcoal);
}
html[data-theme="dark"] body.audit-mode-active #audit-mode-correction-heading {
  color: var(--audit-compact-charcoal);
}
html[data-theme="dark"] body.audit-mode-active .audit-mode-correction-message {
  color: var(--audit-compact-charcoal);
}
html[data-theme="dark"] body.audit-mode-active :is(
  .audit-mode-correction-message strong,
  .audit-mode-correction-reason
) {
  color: var(--audit-compact-charcoal);
}
html[data-theme="dark"] body.audit-mode-active .audit-mode-document-tools :is(button, a) {
  border-color: var(--audit-compact-taupe);
  background: var(--audit-compact-off-white);
  color: var(--audit-compact-charcoal);
}
html[data-theme="dark"] body.audit-mode-active .audit-mode-document-tools :is(button, a):focus-visible {
  border-color: var(--audit-compact-charcoal);
}
html[data-theme="dark"] body.audit-mode-active #audit-mode-sheet-tabs {
  border-color: var(--audit-compact-taupe);
  background: var(--audit-compact-off-white);
}
html[data-theme="dark"] body.audit-mode-active #audit-mode-sheet-tabs::before {
  background: var(--audit-compact-off-white);
  color: var(--audit-compact-charcoal);
}
html[data-theme="dark"] body.audit-mode-active #audit-mode-sheet-tabs button {
  border-color: var(--audit-compact-taupe);
  background: var(--audit-compact-off-white);
  color: var(--audit-compact-charcoal);
}
html[data-theme="dark"] body.audit-mode-active #audit-mode-sheet-tabs button[aria-pressed="true"] {
  border-color: var(--audit-compact-charcoal);
  background: var(--audit-compact-sage);
  color: var(--audit-compact-charcoal);
}
html[data-theme="dark"] .cw-ccp-family {
  border-bottom: 1px solid var(--hairline, #e5e7eb);
}
html[data-theme="dark"] .cw-ccp-card {
  border: 1px solid var(--hairline, #e5e7eb);
  background: var(--white);
}
html[data-theme="dark"] .cw-ccp-add,
html[data-theme="dark"] .cw-ccp-remove {
  border: 1px solid var(--hairline, #e5e7eb);
  background: var(--white);
  color: var(--ink, #111827);
}
html[data-theme="dark"] .cw-ccp-remove {
  color: var(--stamp-red);
}
html[data-theme="dark"] .cw-ccp-confirm-badge {
  background: var(--tint-amber);
  color: var(--stamp-amber);
}
html[data-theme="dark"] .jte-shell {
  /* .jte-* 규칙 전부가 이 컴포넌트 토큰을 지나가므로, 여기서 한 번 뒤집으면
     아래 규칙들의 var(--jte-ink) 등이 전부 어두운 화면용 짝으로 따라온다.
     (라이트 원본: theme-overrides.css .jte-shell — 값은 1:1 대응) */
  --jte-ink: #C8C8CC;
  --jte-muted: #A0A0A6;
  --jte-line: rgba(255, 255, 255, 0.14);
  --jte-brand-soft: #1F2A26;
  background: #1A1A1A;
  color: var(--jte-ink);
}
html[data-theme="dark"] .jte-shell button:hover:not(:disabled) {
  background: #141414;
}
html[data-theme="dark"] .jte-primary {
  background: var(--jte-brand);
}
html[data-theme="dark"] .jte-tabs {
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .jte-tab.is-active {
  background: var(--white);
  color: var(--jte-brand);
}
html[data-theme="dark"] .jte-shell .jte-tab.is-active:hover {
  background: var(--white);
}
html[data-theme="dark"] .jte-ribbon {
  background: var(--white);
  border-bottom: 1px solid var(--jte-line);
}
html[data-theme="dark"] .jte-group {
  border-color: var(--sf-line);
}
html[data-theme="dark"] .jte-group-label {
  color: var(--jte-muted);
}
html[data-theme="dark"] .jte-tool-wide {
  border: 1px solid var(--jte-line);
  background: var(--white);
  color: var(--jte-ink);
}
html[data-theme="dark"] .jte-tool.is-danger {
  color: var(--jte-danger);
}
html[data-theme="dark"] .jte-shell .jte-select,
html[data-theme="dark"] .jte-shell .jte-color,
html[data-theme="dark"] .jte-shell .jte-field-input {
  border: 1px solid var(--jte-line);
  background: var(--white);
  color: var(--jte-ink);
}
html[data-theme="dark"] .jte-pages,
html[data-theme="dark"] .jte-inspector {
  background: #141414;
  border-right: 1px solid var(--jte-line);
}
html[data-theme="dark"] .jte-inspector {
  border-left: 1px solid var(--jte-line);
}
html[data-theme="dark"] .jte-side-title {
  color: var(--jte-muted);
}
html[data-theme="dark"] .jte-thumb {
  background: var(--white);
  color: var(--jte-muted);
}
html[data-theme="dark"] .jte-thumb.is-active {
  border-color: var(--jte-brand);
  color: var(--jte-brand);
}
html[data-theme="dark"] .jte-working-root {
  background: var(--white);
}
html[data-theme="dark"] .jte-canvas [data-jte-selected]::after {
  background: var(--jte-select);
  border: 2px solid var(--jte-select-line);
}
/* 선택 배지는 종이(밝은 표) 위에 뜨는 부속품이라 다크에서도 밝은 알약 그대로 둔다.
   (배경 #fff + 글씨 #1A1A1A 짝은 theme-overrides.css 원본 리터럴) */
html[data-theme="dark"] .jte-field {
  color: var(--jte-muted);
}
html[data-theme="dark"] .jte-shell .jte-align {
  border-color: var(--jte-line);
  background: var(--white);
}
html[data-theme="dark"] .jte-shortcut {
  background: #141414;
}
html[data-theme="dark"] .jte-preview-hint {
  color: var(--mono-accent);
}
html[data-theme="dark"] .jte-preview-sheet {
  background: var(--white);
}
html[data-theme="dark"] #page-admin-main .cw-tablet-header {
  border-bottom: 1px solid var(--gray2);
}
html[data-theme="dark"] #page-admin-main .cw-tablet-settings-list {
  border-right: 1px solid var(--gray2);
  background: var(--sf-2);
}
html[data-theme="dark"] #page-admin-main .cw-tablet-settings-list .cw-settings-hub-item {
  border: 1px solid var(--gray2);
  background: var(--white);
}
html[data-theme="dark"] #page-admin-main .cw-tablet-settings-list .cw-settings-active {
  border-color: rgba(255, 255, 255, 0.14);
  background: var(--sf-3);
}
html[data-theme="dark"] #page-admin-main .cw-list-item {
  border-bottom: 1px solid var(--gray1);
}
html[data-theme="dark"] #page-admin-main .cw-list-item {
  border-color: var(--sf-line);
  background: var(--white);
  color: var(--mono-text);
}
html[data-theme="dark"] #page-admin-main .cw-settings-hub-item {
  border-color: var(--sf-line);
  background: var(--white);
  color: var(--mono-text);
}
html[data-theme="dark"] #page-admin-main .cw-settings-hub-summary {
  color: var(--gray4);
}
html[data-theme="dark"] #page-admin-main .cw-settings-hub-summary[data-tone="error"],
html[data-theme="dark"] #page-admin-main .cw-settings-hub-summary[data-tone="danger"] {
  color: var(--stamp-red);
}
html[data-theme="dark"] #page-admin-main .cw-settings-hub-summary[data-tone="warning"] {
  color: var(--stamp-amber);
}
/* 삭제 관리는 경고의 뜻만 테두리·도장색으로 남기고 넓은 면은 어둡게 둔다.
   원본 인라인 색은 라이트 화면을 그대로 유지하기 위한 값이므로 다크에서만 덮는다. */
html[data-theme="dark"] #page-admin-main .cw-delete-warning-card {
  background: var(--sf-cream3) !important;
  border-color: var(--line-ead) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18) !important;
}
html[data-theme="dark"] #page-admin-main .cw-delete-warning-pill {
  background: var(--sf-1) !important;
  border-color: var(--line-ead) !important;
  color: var(--stamp-amber) !important;
}
html[data-theme="dark"] #page-admin-main .cw-delete-warning-copy {
  color: var(--gray4) !important;
}
html[data-theme="dark"] #page-admin-main .cw-delete-warning-list {
  color: var(--stamp-amber) !important;
}
html[data-theme="dark"] #page-admin-main .cw-settings-back {
  border-color: var(--line-d1);
  background: var(--white);
  color: var(--mono-text);
}
html[data-theme="dark"] #page-admin-main .cw-settings-editor .cw-info-tab > .cw-actions,
html[data-theme="dark"] #page-admin-main .cw-settings-editor #cwJournalTab > .cw-actions {
  border-color: var(--sf-line);
  background: #141414;
}
html[data-theme="dark"] #onboardingDetailModal > .ccp-modal {
  background: var(--white);
}
html[data-theme="dark"] #page-admin-main .admin-panel-title {
  color: var(--gray4) !important;
}
html[data-theme="dark"] #page-admin-main .company-metrics-table tr {
  background: var(--white) !important;
  border-color: var(--hairline) !important;
}
html[data-theme="dark"] #page-admin-main .company-metrics-table td::before {
  color: var(--gray3);
}
html[data-theme="dark"] #page-admin-main .company-metrics-table td[data-label="업체명"] {
  color: var(--gray4) !important;
}
html[data-theme="dark"] #page-admin-main .records-trash-toggle {
  border: 1px solid var(--gray2);
  background: var(--white);
  color: var(--gray4);
}
html[data-theme="dark"] .topbar-btn#vfcWideViewBtn.active {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
}
html[data-theme="dark"] #apvHistoryWrap tbody tr {
  background: var(--white, #fff) !important;
  border-color: var(--sf-line) !important;
}
html[data-theme="dark"] #apvHistoryWrap tbody td:nth-child(3)::before,
html[data-theme="dark"] #apvHistoryWrap tbody td:nth-child(4)::before,
html[data-theme="dark"] #apvHistoryWrap tbody td:nth-child(6)::before,
html[data-theme="dark"] #apvHistoryWrap tbody td:nth-child(7)::before {
  color: var(--mono-accent);
}
html[data-theme="dark"] #apvListWrap .apv-card {
  background: var(--white, #fff) !important;
  border-bottom: 1px solid var(--hairline, #e5e7eb) !important;
}
html[data-theme="dark"] #apvListWrap .apv-ln-date {
  color: var(--mono-accent);
}
html[data-theme="dark"] #apvListWrap .apv-ln-state {
  color: var(--mono-accent);
}
html[data-theme="dark"] #apvListWrap .apv-ln-state.reviewed {
  color: var(--gray4);
}
html[data-theme="dark"] #apvListWrap .apv-ln-state.approved {
  color: var(--stamp-green);
}
html[data-theme="dark"] #apvListWrap .apv-ln-state.rejected,
html[data-theme="dark"] #apvListWrap .apv-ln-state.is-rejected {
  color: var(--stamp-red);
}
html[data-theme="dark"] #apvListWrap .apv-ln-state.is-withdrawn,
html[data-theme="dark"] #apvListWrap .apv-ln-state.is-revised {
  color: var(--mono-accent);
}
html[data-theme="dark"] #apvListWrap .apv-card-title {
  color: var(--ink, #111827) !important;
}
html[data-theme="dark"] #apvListWrap .apv-card-meta {
  color: var(--mono-accent) !important;
}
html[data-theme="dark"] #apvListWrap .apv-card-file {
  color: var(--mono-accent) !important;
}
html[data-theme="dark"] #apvListWrap .apv-card-preview {
  color: var(--mono-accent) !important;
}
html[data-theme="dark"] #apvListWrap .apv-rewrite-reason,
html[data-theme="dark"] #apvListWrap .apv-ln-note,
html[data-theme="dark"] #apvListWrap .apv-card-row1 > .apv-ln-main > div[style*="background"] {
  color: var(--stamp-red) !important;
}
html[data-theme="dark"] #apvListWrap .apv-ln-note.is-plain {
  color: var(--mono-accent) !important;
}
html[data-theme="dark"] #apvListWrap .apv-rewrite-reason-text {
  color: var(--stamp-red) !important;
}
html[data-theme="dark"] #apvListWrap .apv-card-action {
  background: var(--white, #fff) !important;
  border-color: var(--line-d1) !important;
  color: var(--ink, #111827) !important;
}
html[data-theme="dark"] #apvListWrap .apv-card-action-approve,
html[data-theme="dark"] #apvListWrap .apv-card-action-review {
  color: var(--gray4) !important;
}
html[data-theme="dark"] #apvListWrap .apv-card-action-rewrite {
  background: var(--btn-bg) !important;
  color: var(--btn-fg) !important;
  border-color: var(--btn-line) !important;
}
html[data-theme="dark"] #apvListWrap .apv-card-action-reject,
html[data-theme="dark"] #apvListWrap .apv-card-action-muted-danger,
html[data-theme="dark"] #apvListWrap .apv-card-action-delete-journal {
  color: var(--stamp-red) !important;
}
html[data-theme="dark"] #apvListWrap .apv-card-action-note {
  color: var(--mono-accent) !important;
}
html[data-theme="dark"] #apvListWrap .apv-ccp-badge {
  color: var(--mono-accent) !important;
}
html[data-theme="dark"] .apv-rewrite-section-head {
  border-bottom: 1px solid var(--ink, #111827) !important;
}
html[data-theme="dark"] .apv-rewrite-section-title {
  color: var(--ink, #111827) !important;
}
html[data-theme="dark"] .apv-rewrite-section-count {
  color: var(--mono-accent) !important;
}
html[data-theme="dark"] .apv-rewrite-section-help {
  color: var(--mono-accent) !important;
}
html[data-theme="dark"] #apvHistoryWrap tbody tr {
  background: var(--white, #fff) !important;
  border-bottom: 1px solid var(--hairline, #e5e7eb) !important;
}
html[data-theme="dark"] #apvHistoryWrap tbody tr::before {
  background: var(--line-d1);
}
html[data-theme="dark"] #apvHistoryWrap tbody tr:has(td:nth-child(5) [title*="복구"])::before {
  background: var(--success);
}
html[data-theme="dark"] #apvHistoryWrap tbody td:nth-child(5) span {
  color: var(--mono-accent) !important;
}
html[data-theme="dark"] #apvHistoryWrap tbody td:nth-child(3),
html[data-theme="dark"] #apvHistoryWrap tbody td:nth-child(4),
html[data-theme="dark"] #apvHistoryWrap tbody td:nth-child(6) {
  color: var(--mono-accent) !important;
}
html[data-theme="dark"] #apvHistoryWrap tbody td:nth-child(3)::before,
html[data-theme="dark"] #apvHistoryWrap tbody td:nth-child(4)::before,
html[data-theme="dark"] #apvHistoryWrap tbody td:nth-child(6)::before {
  color: var(--mono-accent) !important;
}
html[data-theme="dark"] #apvHistoryWrap tbody td:nth-child(7) > div {
  color: var(--stamp-red) !important;
}
html[data-theme="dark"] #apvHistoryWrap tbody td:nth-child(8) button {
  background: var(--white, #fff) !important;
  border-color: var(--line-d1) !important;
  color: var(--ink, #111827) !important;
}
html[data-theme="dark"] #haccpManualBox [style*="0f2b4a"] {
  color: var(--gray4) !important;
}
html[data-theme="dark"] #haccpFileListItems [style*="3b82f6"] {
  color: var(--gray4) !important;
}
html[data-theme="dark"] #haccpAddForm label[style*="eff6ff"] {
  background: var(--mist) !important;
  border-color: var(--gray2) !important;
  color: var(--ink, #6E6E75) !important;
}
html[data-theme="dark"] #haccpAddBtn {
  background: var(--sf-warm) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
  color: var(--ink, #6E6E75) !important;
}
html[data-theme="dark"] input[type="date"] {
  color: var(--ink, #6E6E75);
  border: 1px solid var(--gray2, #e8e8e4);
  background: var(--white);
}
html[data-theme="dark"] .journal-date-picker-wrapper #journalDateDisplay {
  border: 1px solid var(--hairline);
  color: var(--ink);
  background: var(--white);
}
html[data-theme="dark"] .journal-date-picker-wrapper #journalDateDisplay:hover,
html[data-theme="dark"] .journal-date-picker-wrapper #journalDateDisplay:focus {
  border-color: var(--hairline-strong);
}
html[data-theme="dark"] .calendar-toggle-btn {
  background: var(--white);
  border: 1px solid var(--hairline);
  color: var(--ink);
}
html[data-theme="dark"] .calendar-toggle-btn:hover {
  border-color: var(--hairline-strong);
  background: var(--paper);
}
html[data-theme="dark"] .journal-calendar-popup {
  background: var(--white);
}
html[data-theme="dark"] .calendar-header {
  background: var(--paper);
  border-bottom: 1px solid var(--hairline);
}
html[data-theme="dark"] .calendar-month-year {
  color: var(--ink);
}
html[data-theme="dark"] .calendar-nav-btn {
  background: var(--white);
  border: 1px solid var(--hairline);
  color: var(--ink);
}
html[data-theme="dark"] .calendar-nav-btn:hover {
  border-color: var(--hairline-strong);
  background: var(--white);
}
html[data-theme="dark"] .journal-period-overview {
  background: var(--white);
}
html[data-theme="dark"] .journal-period-overview-title,
html[data-theme="dark"] .journal-period-card {
  color: var(--ink);
}
html[data-theme="dark"] .journal-period-card {
  border-color: var(--hairline);
  background: var(--white);
}
html[data-theme="dark"] .journal-period-card:hover {
  border-color: var(--hairline-strong);
  background: var(--paper);
}
html[data-theme="dark"] .journal-period-card.is-pending,
html[data-theme="dark"] .journal-period-card.is-draft,
html[data-theme="dark"] .journal-period-card.is-rejected {
  background: var(--paper);
}
html[data-theme="dark"] .journal-period-card-detail,
html[data-theme="dark"] .journal-period-overview-message {
  color: var(--ink-soft);
}
html[data-theme="dark"] .calendar-weekdays {
  background: var(--white);
}
html[data-theme="dark"] .calendar-weekday {
  color: var(--ink-soft);
}
html[data-theme="dark"] .calendar-days {
  background: var(--white);
}
html[data-theme="dark"] .calendar-day {
  color: var(--ink);
  background: var(--white);
}
html[data-theme="dark"] .calendar-day:hover:not(.calendar-day-empty):not(.calendar-day-disabled) {
  background: var(--paper);
  border-color: var(--hairline);
}
html[data-theme="dark"] .calendar-day-disabled {
  color: var(--ink-soft);
}
html[data-theme="dark"] .calendar-day-selected {
  color: var(--sf-ivory) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="dark"] .calendar-day-status-done {
  color: var(--gray4);
}
html[data-theme="dark"] .calendar-day-selected .calendar-day-status-done,
html[data-theme="dark"] .calendar-day-selected .calendar-day-status-progress,
html[data-theme="dark"] .calendar-day-selected .calendar-day-status-draft,
html[data-theme="dark"] .calendar-day-selected .calendar-day-status-resubmit {
  color: var(--sf-ivory);
}
html[data-theme="dark"] .calendar-legend {
  background: var(--paper);
  border-top: 1px solid var(--hairline);
}
html[data-theme="dark"] .legend-symbol {
  color: var(--gray4);
}
html[data-theme="dark"] .legend-symbol.legend-empty {
  border-color: var(--line-18);
}
html[data-theme="dark"] .legend-dot.legend-draft {
  border-color: var(--mono-accent);
}
html[data-theme="dark"] .legend-dot.legend-missing {
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .legend-dot.legend-resubmit {
  background: var(--seal-amber);
}
html[data-theme="dark"] .legend-label {
  color: var(--ink);
}
html[data-theme="dark"] .raw-excel-sheet-toolbar {
  color: var(--ink, #111827);
}
html[data-theme="dark"] .raw-excel-sheet-toolbar span {
  color: var(--gray4, #52525b);
}
html[data-theme="dark"] .raw-excel-sheet-toolbar button,
html[data-theme="dark"] .rx-sheet-actions button {
  border: 1px solid var(--gray2, #d4d4d8);
  background: var(--white);
  color: var(--ink, #111827);
}
html[data-theme="dark"] .raw-excel-paper {
  background: #141414;
  border-color: rgba(255, 255, 255, 0.18);
}
html[data-theme="dark"] .raw-excel-top-summary {
  border-color: rgba(255, 255, 255, 0.12);
  background: var(--sf-cool);
}
html[data-theme="dark"] .raw-excel-section-tabs button {
  border-color: rgba(255, 255, 255, 0.12);
  background: var(--white);
  color: var(--gray4);
}
html[data-theme="dark"] .raw-excel-section-tab.is-active,
html[data-theme="dark"] .raw-excel-section-tabs button.is-active {
  background: var(--btn-bg);
  color: var(--btn-fg);
  border-color: var(--btn-line);
}
html[data-theme="dark"] .rx-sheet-section {
  background: var(--white);
}
html[data-theme="dark"] .rx-excel-table {
  color: #C8C8CC;
}
html[data-theme="dark"] .rx-excel-table th,
html[data-theme="dark"] .rx-excel-table td {
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .rx-title {
  background: var(--white);
}
html[data-theme="dark"] .rx-approval-head,
html[data-theme="dark"] .rx-approval-cell,
html[data-theme="dark"] .rx-head,
html[data-theme="dark"] .rx-label,
html[data-theme="dark"] .rx-total {
  background: #141414;
}
html[data-theme="dark"] .rx-approval-name,
html[data-theme="dark"] .rx-approval-sign,
html[data-theme="dark"] .rx-input-cell,
html[data-theme="dark"] .rx-date,
html[data-theme="dark"] .rx-total-input,
html[data-theme="dark"] .rx-note-cell {
  background: var(--white);
}
html[data-theme="dark"] .rx-unit {
  background: var(--white);
}
html[data-theme="dark"] .rx-num {
  background: var(--white);
}
html[data-theme="dark"] .rx-material-name {
  background: var(--white);
}
html[data-theme="dark"] .rx-empty-material {
  color: var(--gray4);
  background: var(--white);
}
html[data-theme="dark"] .rx-sheet-actions .rx-primary {
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .rx-esign-panel {
  border-color: rgba(255, 255, 255, 0.14);
  background: var(--white);
}
html[data-theme="dark"] .rx-esign-title {
  border-color: rgba(255, 255, 255, 0.14);
  background: #141414;
}
html[data-theme="dark"] .rx-esign-box {
  color: var(--gray4);
}
html[data-theme="dark"] .rx-product-empty-hint {
  border-color: rgba(255, 255, 255, 0.12);
  background: var(--tint-amber2);
  color: var(--gray4);
}
html[data-theme="dark"] .rx-product-empty-hint span {
  color: var(--stamp-amber);
}
html[data-theme="dark"] .rx-fixed-product-cell {
  background: var(--white);
  color: var(--gray4);
}
html[data-theme="dark"] .rx-fixed-product-add {
  border-color: var(--mono-accent);
  background: var(--sf-cool);
  color: var(--gray4);
}
html[data-theme="dark"] .rx-fixed-product-add:hover {
  background: #141414;
  border-color: rgba(255, 255, 255, 0.14);
  color: var(--gray4);
}
html[data-theme="dark"] .rx-tool-button {
  border-color: var(--btn-line);
  background: var(--btn-bg);
  color: var(--btn-fg);
}
html[data-theme="dark"] .rx-archive-guide {
  border-color: var(--sf-line);
  background: var(--sf-cool);
  color: var(--gray4);
}
html[data-theme="dark"] .rx-archive-guide b {
  color: var(--gray4);
}
html[data-theme="dark"] .rx-recipe-table {
  border-color: var(--sf-line);
}
html[data-theme="dark"] .rx-recipe-head {
  background: var(--sf-3);
  color: var(--gray4);
}
html[data-theme="dark"] .rx-recipe-head span,
html[data-theme="dark"] .rx-recipe-row span {
  border-color: var(--sf-line);
}
html[data-theme="dark"] .rx-recipe-row {
  border-color: var(--sf-line);
}
html[data-theme="dark"] .rx-recipe-row input[type="number"] {
  border-color: var(--line-d1);
}
html[data-theme="dark"] .rx-ledger-check {
  color: var(--gray4);
}
html[data-theme="dark"] .rx-submix-badge {
  border-color: var(--line-d1);
  background: var(--sf-cool);
  color: var(--gray4);
}
html[data-theme="dark"] .rx-top-action-card {
  border-color: var(--sf-line);
  background: var(--white);
}
html[data-theme="dark"] .rx-top-action-card-primary {
  border-color: var(--line-d1);
  background: var(--sf-cool);
}
html[data-theme="dark"] .rx-top-action-card b {
  color: var(--gray4);
}
html[data-theme="dark"] .rx-top-action-card span {
  color: var(--mono-accent);
}
html[data-theme="dark"] .rx-top-action-card button {
  border-color: var(--btn-line);
  background: var(--btn-bg);
  color: var(--btn-fg);
}
html[data-theme="dark"] .rx-top-action-card-primary button {
  border-color: var(--btn-line);
  background: var(--btn-bg);
  color: var(--btn-fg);
}
html[data-theme="dark"] .rx-import-status.is-empty {
  border-color: var(--sf-line);
  background: var(--white);
  color: var(--mono-accent);
}
html[data-theme="dark"] .rx-import-status.is-ready {
  border-color: var(--mono-accent);
  background: var(--sf-cool);
  color: var(--gray4);
}
html[data-theme="dark"] .rx-import-dialog,
html[data-theme="dark"] .rx-product-picker-dialog {
  background: var(--white);
}
html[data-theme="dark"] .rx-import-head,
html[data-theme="dark"] .rx-product-picker-head {
  border-color: var(--sf-line);
}
html[data-theme="dark"] .rx-import-title,
html[data-theme="dark"] .rx-product-picker-title {
  color: var(--gray4);
}
html[data-theme="dark"] .rx-import-sub,
html[data-theme="dark"] .rx-product-picker-sub {
  color: var(--mono-accent);
}
html[data-theme="dark"] .rx-import-head button,
html[data-theme="dark"] .rx-product-picker-head button {
  border-color: var(--line-d1);
  background: var(--white);
  color: var(--gray4);
}
html[data-theme="dark"] .rx-product-picker-tools {
  border-color: var(--line-d1);
  background: var(--sf-cool);
  color: var(--gray4);
}
html[data-theme="dark"] .rx-product-picker-tools b {
  color: var(--gray4);
}
html[data-theme="dark"] .rx-product-picker-tools span {
  color: var(--mono-accent);
}
html[data-theme="dark"] .rx-product-picker-import {
  border-color: var(--btn-line);
  background: var(--btn-bg);
  color: var(--btn-fg);
}
html[data-theme="dark"] .rx-import-body label {
  color: var(--gray4);
}
html[data-theme="dark"] .rx-import-file-row button {
  border-color: var(--btn-line);
  background: var(--btn-bg);
  color: var(--btn-fg);
}
html[data-theme="dark"] .rx-import-body input[type="file"],
html[data-theme="dark"] .rx-import-body textarea,
html[data-theme="dark"] .rx-product-picker-search input {
  border-color: var(--line-d1) !important;
  background: var(--white) !important;
  color: var(--gray4);
}
html[data-theme="dark"] .rx-import-actions button,
html[data-theme="dark"] .rx-product-picker-search button {
  border-color: var(--btn-line);
  background: var(--btn-bg);
  color: var(--btn-fg);
}
html[data-theme="dark"] .rx-import-result {
  color: var(--stamp-green);
}
html[data-theme="dark"] .rx-import-result.is-error {
  color: var(--stamp-red);
}
html[data-theme="dark"] .rx-report-list-wrap {
  border-color: var(--sf-line);
}
html[data-theme="dark"] .rx-report-list-title {
  color: var(--gray4);
}
html[data-theme="dark"] .rx-report-empty {
  border-color: var(--line-d1);
  color: var(--mono-accent);
}
html[data-theme="dark"] .rx-report-row {
  border-color: var(--sf-line);
  background: var(--white);
}
html[data-theme="dark"] .rx-report-row b {
  color: var(--gray4);
}
html[data-theme="dark"] .rx-report-row span {
  color: var(--mono-accent);
}
html[data-theme="dark"] .rx-report-row button,
html[data-theme="dark"] .rx-report-remove-btn {
  border-color: var(--line-d1);
  background: var(--white);
  color: var(--gray4);
}
html[data-theme="dark"] .rx-report-remove-btn:hover {
  border-color: var(--mono-accent);
  background: var(--sf-cool);
  color: var(--gray4);
}
html[data-theme="dark"] .rx-product-picker-item {
  border-color: var(--sf-line);
  background: var(--white);
  color: var(--gray4);
}
html[data-theme="dark"] .rx-product-picker-item:hover {
  background: var(--sf-cool);
  border-color: var(--mono-accent);
}
html[data-theme="dark"] .rx-product-picker-item span,
html[data-theme="dark"] .rx-product-picker-meta {
  color: var(--mono-accent);
}
html[data-theme="dark"] .rx-product-picker-empty {
  border-color: var(--line-d1);
  color: var(--mono-accent);
}
html[data-theme="dark"] .rx-package-config {
  border-color: var(--sf-line);
}
html[data-theme="dark"] .rx-package-config label {
  color: var(--gray4);
}
html[data-theme="dark"] .rx-package-config input {
  border-color: var(--line-d1);
}
html[data-theme="dark"] .rx-package-config button {
  border-color: var(--btn-line);
  background: var(--btn-bg);
  color: var(--btn-fg);
}
html[data-theme="dark"] .rx-package-preview {
  color: var(--gray4);
}
html[data-theme="dark"] .rx-package-preview b {
  background: var(--sf-3);
  color: var(--gray4);
}
html[data-theme="dark"] .rx-name-pick {
  background: var(--white);
  color: var(--gray4);
}
html[data-theme="dark"] .rx-name-pick:hover {
  background: var(--sf-cool);
}
html[data-theme="dark"] .rx-name-empty {
  color: var(--mono-accent);
}
html[data-theme="dark"] .rx-fixed-suffix {
  background: var(--white);
}
html[data-theme="dark"] .rx-package-inline-btn {
  border-color: var(--mono-accent);
  background: var(--white);
  color: var(--gray4);
}
html[data-theme="dark"] .rx-package-inline-btn:hover {
  background: var(--sf-3);
}
html[data-theme="dark"] .rx-package-edit-head {
  background: #141414 !important;
}
html[data-theme="dark"] .rx-package-edit-head .rx-package-size-input {
  border-color: var(--mono-accent) !important;
  background: var(--white) !important;
}
html[data-theme="dark"] .rx-package-cancel-btn {
  border-color: var(--line-d1);
  color: var(--mono-accent);
}
html[data-theme="dark"] .raw-excel-watermark {
  color: var(--mono-accent);
}
html[data-theme="dark"] .rx-sign-card {
  background: var(--white);
  border-color: var(--line-d1);
}
html[data-theme="dark"] .rx-sign-role {
  color: var(--gray4);
}
html[data-theme="dark"] .rx-sign-name {
  color: var(--gray4);
}
html[data-theme="dark"] .rx-sign-name.rx-sign-wait {
  color: var(--mono-accent);
}
html[data-theme="dark"] .rx-sign-img {
  border-color: var(--line-d1);
  background: var(--white);
}
html[data-theme="dark"] .rx-sign-empty {
  color: var(--mono-accent);
}
html[data-theme="dark"] .rx-sign-time {
  color: var(--mono-accent);
}
html[data-theme="dark"] .rx-esign-panel {
  border-color: rgba(255, 255, 255, 0.12);
  background: var(--sf-cool);
}
html[data-theme="dark"] .rx-esign-panel .rx-esign-title {
  color: var(--gray4);
}
html[data-theme="dark"] .rx-esign-status {
  color: var(--gray4);
  border-color: var(--line-d1);
  background: var(--white);
}
html[data-theme="dark"] .rx-row-remove-btn {
  border-color: var(--mono-accent);
  background: var(--sf-cool);
  color: var(--gray4);
}
html[data-theme="dark"] .rx-row-remove-btn:hover {
  border-color: rgba(255, 255, 255, 0.14);
  background: var(--sf-5);
  color: var(--gray4);
}
html[data-theme="dark"] .rx-product-cell-stack .rx-row-remove-btn {
  border-color: var(--mono-accent);
  background: var(--sf-cool);
  color: var(--gray4);
}
html[data-theme="dark"] .rx-product-cell-stack .rx-row-remove-btn:hover {
  border-color: rgba(255, 255, 255, 0.14);
  background: var(--sf-5);
  color: var(--gray4);
}
html[data-theme="dark"] .rx-action-cell {
  background: var(--white);
}
html[data-theme="dark"] .rx-action-cell .rx-row-remove-btn {
  border-color: var(--mono-accent);
  background: var(--sf-cool);
  color: var(--gray4);
}
html[data-theme="dark"] .rx-action-cell .rx-row-remove-btn:hover {
  border-color: rgba(255, 255, 255, 0.14);
  background: var(--sf-5);
  color: var(--gray4);
}
html[data-theme="dark"] .rx-qty-number {
  color: var(--gray4);
}
html[data-theme="dark"] .rx-qty-unit {
  color: var(--mono-accent);
}
html[data-theme="dark"] .journal-overview-shell {
  color: var(--mono-text, #18181b);
}
html[data-theme="dark"] .journal-overview-header p {
  color: var(--gray4, #52525b);
}
html[data-theme="dark"] .journal-overview-eyebrow {
  color: var(--gray4, #52525b) !important;
}
html[data-theme="dark"] .journal-overview-readonly-badge {
  border: 1px solid var(--gray2, #e4e4e7);
  background: var(--white, #fff);
  color: var(--gray4, #52525b);
}
html[data-theme="dark"] .journal-overview-list-panel,
html[data-theme="dark"] .journal-overview-calendar-panel {
  border: 1px solid var(--gray2, #e4e4e7);
  background: var(--white, #fff);
}
html[data-theme="dark"] .journal-overview-team + .journal-overview-team {
  border-top: 8px solid var(--gray1, #f4f4f5);
}
html[data-theme="dark"] .journal-overview-row {
  border-top: 1px solid var(--gray2, #e4e4e7);
}
html[data-theme="dark"] .journal-overview-row.is-selected {
  background: #141414;
}
html[data-theme="dark"] .journal-overview-row-head {
  border-bottom: 1px solid var(--gray2, #e4e4e7);
  background: var(--gray1, #f4f4f5);
  color: var(--gray4, #52525b);
}
html[data-theme="dark"] .journal-overview-cell {
  color: var(--gray4, #52525b);
}
html[data-theme="dark"] .journal-overview-name {
  color: var(--mono-text, #18181b);
}
html[data-theme="dark"] .audit-cabinet-header h1,
html[data-theme="dark"] .audit-cabinet-summary strong {
  color: #eeeae2;
}
html[data-theme="dark"] .audit-cabinet-detail-panel .journal-overview-calendar-placeholder strong,
html[data-theme="dark"] .audit-cabinet-records h3 {
  color: var(--mono-text, #e8e6e1);
}
html[data-theme="dark"] .journal-overview-action {
  background: var(--btn-bg2);
  color: var(--btn-fg);
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .journal-overview-action:disabled {
  border-color: var(--gray2, #e4e4e7);
  background: var(--gray1, #f4f4f5);
  color: var(--gray4, #52525b);
}
html[data-theme="dark"] .journal-overview-empty,
html[data-theme="dark"] .journal-overview-calendar-placeholder,
html[data-theme="dark"] .journal-overview-state {
  color: var(--gray4, #52525b);
}
html[data-theme="dark"] .journal-overview-calendar-team {
  color: var(--gray4, #52525b);
}
html[data-theme="dark"] .journal-overview-month-nav button {
  border: 1px solid var(--gray2, #e4e4e7);
  background: var(--white, #fff);
  color: var(--mono-text, #18181b);
}
html[data-theme="dark"] .journal-overview-weekdays {
  color: var(--gray4, #52525b);
}
html[data-theme="dark"] .journal-overview-legend {
  border-top: 1px solid var(--gray2, #e4e4e7);
  color: var(--gray4, #52525b);
}
html[data-theme="dark"] .journal-overview-legend .is-done {
  background: var(--mono-text, #18181b);
}
html[data-theme="dark"] .journal-overview-legend .is-progress {
  border: 1px solid var(--gray3, #a1a1aa);
  color: var(--mono-text, #18181b);
}
html[data-theme="dark"] .journal-overview-legend .is-empty {
  border: 1px solid var(--gray2, #e4e4e7);
}
html[data-theme="dark"] .journal-overview-live {
  color: var(--gray4, #52525b);
}
html[data-theme="dark"] .journal-overview-retry {
  border: 1px solid var(--mono-text, #18181b);
  background: var(--white, #fff);
  color: var(--mono-text, #18181b);
}
html[data-theme="dark"] .journal-overview-state {
  border: 1px solid var(--gray2, #e4e4e7);
  background: var(--white, #fff);
}
html[data-theme="dark"] .journal-overview-chooser-card {
  background: var(--white);
}
html[data-theme="dark"] .journal-overview-chooser-head {
  border-color: rgba(255, 255, 255, 0.12);
}
html[data-theme="dark"] .journal-overview-chooser-head span {
  color: var(--gray4);
}
html[data-theme="dark"] .journal-overview-chooser-head button {
  border-color: rgba(255, 255, 255, 0.12);
  background: var(--white);
}
html[data-theme="dark"] .journal-overview-chooser-list button {
  border-color: rgba(255, 255, 255, 0.12);
  background: var(--white);
  color: var(--gray4);
}
html[data-theme="dark"] .journal-overview-cell::before {
  color: var(--gray4, #52525b);
}
html[data-theme="dark"] .rs-request-btn {
  background: var(--btn-bg2);
  color: var(--btn-fg);
}
html[data-theme="dark"] .rs-consent-card {
  background: var(--white);
}
html[data-theme="dark"] .rs-consent-card h2 {
  color: var(--gray4);
}
html[data-theme="dark"] .rs-consent-card p,
html[data-theme="dark"] .rs-consent-card li {
  color: var(--gray4);
}
html[data-theme="dark"] .rs-button {
  color: var(--gray4);
  background: var(--sf-3);
}
html[data-theme="dark"] .rs-button-danger {
  background: var(--danger);
}
html[data-theme="dark"] .rs-session-banner {
  border-color: var(--gray2);
  color: var(--gray4);
  background: var(--mist);
}
html[data-theme="dark"] .rs-session-banner button {
  background: var(--danger);
}
html[data-theme="dark"] .rs-remote-cursor::before {
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .rs-chat-toggle {
  background: var(--btn-bg);
  color: var(--btn-fg);
}
html[data-theme="dark"] .rs-chat-panel {
  border-color: var(--sf-line);
  background: var(--white);
}
html[data-theme="dark"] .rs-chat-head {
  background: var(--btn-bg);
  color: var(--btn-fg);
}
html[data-theme="dark"] .rs-chat-messages {
  background: var(--sf-cool);
}
html[data-theme="dark"] .rs-chat-message {
  color: var(--gray4);
  background: var(--sf-line);
}
html[data-theme="dark"] .rs-chat-form {
  border-color: var(--sf-line);
}
html[data-theme="dark"] .rs-chat-form input {
  border-color: var(--line-d1);
}
html[data-theme="dark"] .rs-admin-bell {
  background: var(--danger);
}
html[data-theme="dark"] .rs-admin-bell-count {
  color: var(--stamp-red);
  background: var(--white);
}
html[data-theme="dark"] .rs-pending-panel {
  border-color: var(--sf-line);
  background: var(--white);
}
html[data-theme="dark"] .rs-pending-head {
  border-color: var(--sf-line);
}
html[data-theme="dark"] .rs-pending-card + .rs-pending-card {
  border-color: var(--sf-5);
}
html[data-theme="dark"] .rs-pending-card span {
  color: var(--mono-accent);
}
html[data-theme="dark"] .rs-controller {
  color: var(--sf-cool);
}
html[data-theme="dark"] .rs-controller-title span {
  color: var(--mono-accent);
}
html[data-theme="dark"] .rs-tool {
  color: var(--sf-cool);
}
html[data-theme="dark"] .rs-tool.is-active {
  border-color: rgba(255, 255, 255, 0.14);
}
html[data-theme="dark"] .rs-tool-setting {
  color: var(--mono-accent);
}
html[data-theme="dark"] .rs-tool-setting select {
  color: var(--sf-cool);
}
html[data-theme="dark"] .rs-controller-status {
  color: var(--line-e2);
}
html[data-theme="dark"] .rs-text-editor {
  background: var(--white);
}
html[data-theme="dark"] .rs-text-editor input {
  border-color: var(--mono-accent);
}
html[data-theme="dark"] .rs-select-picker {
  background: var(--white);
}
html[data-theme="dark"] .rs-select-picker-head {
  background: var(--btn-bg);
  color: var(--btn-fg);
}
html[data-theme="dark"] .rs-select-picker-item {
  border-color: var(--sf-4);
  color: var(--gray4);
  background: var(--white);
}
html[data-theme="dark"] .rs-select-picker-item:hover:not(:disabled) {
  background: var(--mist);
}
html[data-theme="dark"] .rs-select-picker-item.is-selected {
  color: var(--gray4);
}
html[data-theme="dark"] .rs-select-picker-item:disabled {
  color: var(--mono-accent);
}
html[data-theme="dark"] .rs-select-picker-close {
  border-color: var(--sf-line);
  color: var(--mono-accent);
  background: var(--sf-cool);
}
html[data-theme="dark"] .rs-log-open {
  border-color: var(--line-d1);
  color: var(--gray4);
  background: var(--white);
}
html[data-theme="dark"] .rs-log-body {
  color: var(--gray4);
}
html[data-theme="dark"] .rs-log-empty {
  color: var(--mono-accent);
}
html[data-theme="dark"] .rs-log-session {
  border-color: var(--sf-line);
  color: var(--gray4);
}
html[data-theme="dark"] .rs-log-line span {
  color: var(--mono-accent);
}
html[data-theme="dark"] .rs-log-line.is-admin span {
  color: var(--gray4);
}


/* ══════════════════════════════════════════════════════════════
   C. 앱 셸 — 토큰만으로 안 되는 곳
   ══════════════════════════════════════════════════════════════
   규칙: 선택자를 새로 짓지 말고, 이기려는 원본 선택자를 그대로 복사해
   앞에 접두사만 붙인다. theme-overrides.css 에 ID 포함 고-specificity
   규칙이 611개 있어서, 새로 지으면 진다.
   ══════════════════════════════════════════════════════════════ */

/* theme-overrides.css:7 이 body 에 #FFFFFF 를 직접 박아둠 */
html[data-theme="dark"] body { background: #0A0A0A; color: var(--ink); }

/* main.css:367 — 오버라이드 없이 살아있는 실질 페이지 면 */
html[data-theme="dark"] .app-wrap { background: #0A0A0A; }

/* 사이드바: theme-overrides.css:2521 이 var(--sage) 를 !important 로 박음 →
   --sage 를 뒤집었으므로 그쪽이 알아서 따라온다. 모바일 3벌만 #fff 하드코딩이라 여기서 덮는다.
   (:6697 은 specificity 동점 — 이 파일이 마지막에 로드되므로 소스 순서로 이긴다) */
html[data-theme="dark"] .sidebar { border-right-color: var(--sage-line); }

/* main.css:690 — topbar 는 theme-overrides 에 배경 오버라이드가 없다 */
html[data-theme="dark"] .topbar { background: #0A0A0A; border-bottom-color: var(--hairline); }

/* ══════════════════════════════════════════════════════════════
   D. 개별 보정 — 토큰이 뒤집히면서 오히려 안 보이게 되는 곳
   ══════════════════════════════════════════════════════════════ */

/* 오늘 날짜 동그라미: 배경이 rgba(0,0,0,.78) 고정인데 숫자색이 var(--white) 라
   다크에서 '검은 원 + 검은 숫자' 가 된다. 반전시킨다. (main.css:1103) */
html[data-theme="dark"] #mainCalCard .cal-date.today-num {
  background: #E8E8EC;
  color: #0A0A0A;
}

/* 요일 라벨 — 진한 원색이라 검은 배경에서 죽는다 (main.css:1208-1209) */
html[data-theme="dark"] .cal-day-label.sun { color: #F87171; }
html[data-theme="dark"] .cal-day-label.sat { color: #60A5FA; }

/* 일정 알약: 배경은 반투명이라 그대로 성립하고, 글씨만 진한 원색이라 안 보인다 */
html[data-theme="dark"] .cal-event.type-ccp   { color: #93C5FD; }
html[data-theme="dark"] .cal-event.type-haccp { color: #FBBF24; }
html[data-theme="dark"] .cal-event.type-check { color: #4ADE80; }
html[data-theme="dark"] .cal-event.type-warn  { color: #F87171; }

/* 검은 반투명 글씨 → 흰 반투명 (main.css:5168-5169) */
html[data-theme="dark"] .cal-event-icon { color: rgba(255, 255, 255, 0.55); }
html[data-theme="dark"] .cal-event.done { color: rgba(255, 255, 255, 0.45); }

/* 화면 제목 옆 아이콘 상자 — 라이트에선 '어두운 상자 + 흰 아이콘'이다.
   다크에서 상자만 밝아지면 아이콘이 묻히므로 대표 버튼과 같은 쌍으로 뒤집는다. */
html[data-theme="dark"] .ccp-page-title-icon { background: var(--btn-bg2) !important; }
html[data-theme="dark"] .ccp-page-title-icon svg { color: var(--btn-fg) !important; stroke: var(--btn-fg) !important; }


/* ── 마감 정리 (대표 피드백 2026-08-01) ────────────────────────
   입력칸·토스트의 밝은 테두리가 눈에 거슬린다. 테두리는 아주 은은하게 두고
   면(배경)으로 구분한다. 포커스만 조금 또렷하게. */
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea {
  /* ★ 리터럴을 쓰면 안 된다 — !important 라 일지 예외(토큰 되돌리기)를 뚫고 들어가
     일지 표의 선택칸·특이사항이 검게 변한다(2026-08-02 실사고). 반드시 토큰으로. */
  background: var(--in-bg) !important;
  border-color: var(--in-line) !important;
  color: var(--gray4) !important;
}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
  color: var(--in-ph) !important;
}
/* 일지 예시문구 — 일지 창은 다크에서도 흰 종이라 라이트와 같은 연한 회색으로 간다.
   위 규칙이 !important 라 규칙을 덧대면 뚫리지 않는다. 대신 B절과 같은 방식으로
   토큰만 되돌린다 — 커스텀 속성은 상속되므로 표 안 입력칸이 알아서 따라온다. */
html[data-theme="dark"] .jform-table { --in-ph: #cbd5e1; }
/* j239 / CCP 정기검증만 예외 — 여기 placeholder 는 예시가 아니라 인쇄되는 '항목 이름'이다.
   라이트(main.css)와 같은 값으로 맞춘다. */
html[data-theme="dark"] .jform-table.jf-j239 td.jt-timeline.jc-body,
html[data-theme="dark"] .jform-table.jf-profile-ccp_periodic_verification td.jt-timeline.jc-body {
  --in-ph: #1f2937;
}
html[data-theme="dark"] .jform-table.jf-j239 .jspecial,
html[data-theme="dark"] .jform-table.jf-profile-ccp_periodic_verification .jspecial {
  --in-ph: #576270;
}
html[data-theme="dark"] input:focus,
html[data-theme="dark"] select:focus,
html[data-theme="dark"] textarea:focus {
  border-color: var(--in-line-on) !important;
  box-shadow: none !important;
}
/* 토스트·알림 상자도 같은 기준 */
html[data-theme="dark"] .toast,
html[data-theme="dark"] #toast.toast,
html[data-theme="dark"] .vfc-toast {
  border-color: rgba(255, 255, 255, 0.10) !important;
}

/* 전자서명 이미지 — 잉크가 검정이라 다크에서 그냥 두면 안 보인다.
   그렇다고 바탕을 흰색으로 깔면 검은 화면에 흰 판때기가 뜬다(대표 지적 2026-08-02).
   반대로 어두운 면을 깔면(옛 .set-sign-card img: var(--white)) 검은 잉크가 검은 판에
   묻혀 아예 사라진다 — 같은 문제에 정반대 답을 붙여 두 화면이 각각 틀려 있었다.

   답은 바탕이 아니라 잉크다. 획을 흰색으로 뒤집으면 바탕이 필요 없다.
   grayscale 을 먼저 거는 이유: 남색 잉크를 그냥 invert 하면 누런색이 된다.

   저장된 원본 이미지는 건드리지 않는다. 화면 표시만 뒤집는 것이다.
   인쇄·PDF 는 이 파일 전체가 @media screen 안이라 닿지 않는다(가드 테스트가 보장).
   렌더되는 자리가 여러 곳(설정 미리보기·결재 상세·원료수불·심사모드)이라 한 번에 건다. */
html[data-theme="dark"] img[alt*="서명"],
html[data-theme="dark"] .rx-sign-img,
html[data-theme="dark"] .esign-img,
html[data-theme="dark"] .set-sign-card img,
html[data-theme="dark"] .audit-mode-signature-item img {
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
  filter: grayscale(1) invert(1);
}

/* 일지 창 안은 흰 종이다 — 거기서 뒤집으면 흰 종이에 흰 서명이 된다. */
html[data-theme="dark"] .journal-box img[alt*="서명"],
html[data-theme="dark"] .journal-box .rx-sign-img,
html[data-theme="dark"] .journal-box .esign-img {
  background: #ffffff !important;
  border-color: rgba(0, 0, 0, 0.12) !important;
  filter: none;
}

/* 캘린더 [오늘] 버튼 — 글씨가 rgba(0,0,0,0.72) 리터럴이라 검은 배경에서 사라진다.
   (같은 값이 모달 딤에도 쓰여 전역으로 뒤집으면 안 되므로 여기서만 고친다) */
html[data-theme="dark"] .cal-today-btn { color: var(--gray4); }

/* 캘린더 '오늘' 칸 — 밝은 크림 면 + 검은 테두리라 다크에서 흰 판때기가 된다.
   (theme-overrides.css:5138 이 !important 로 박아둬서 여기서 다시 덮는다) */
html[data-theme="dark"] .cal-cell.today {
  background: var(--sf-today) !important;
  box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, 0.28) !important;
}

/* 서명 캔버스는 라이트 고정.
   획 색이 JS 에 near-black 으로 박혀 있어(bundle-journal-base.js) 판이 어두워지면
   검은 획을 검은 판에 긋게 된다 — 손가락으로 그리는데 아무것도 안 보인다. */
html[data-theme="dark"] #_signCanvas { background: #fafafa; }



/* ── 로그인 로고 ──────────────────────────────────────────────
   원본 로고는 투명 배경에 짙은 네이비 워드마크라 완전 블랙 위에서 글자가 사라진다.
   알약 두 개(주황·파랑)는 브랜드색이라 살리고, 글자만 밝게 뒤집을 방법이 없어
   전체를 밝게 반전한다. (로고 파일을 다크 전용으로 새로 만들면 이 규칙은 지운다) */
/* 관리자 캘린더 '알림설정' 목록의 카테고리 점.
   색이 CSS 가 아니라 DB(schedule_categories.color)에서 온다 — 관리자가 라이트에서
   고른 짙은 남색·진빨강·갈색이 그대로 나와 검은 배경에 묻혔다(대표 지적 2026-08-02).
   데이터를 건드리지 않고 화면에서만 밝기를 올린다. 라이트는 손대지 않는다.
   (색을 바꾸는 게 아니라 들어올리는 것이라, 관리자가 고른 색 구분은 그대로 남는다) */
html[data-theme="dark"] .sched-cat-dot {
  filter: brightness(1.9) saturate(1.15);
}

/* 아바타(동물 아이콘) — 라이트는 '진회색 원 + 아이보리 아이콘'이다.
   다크에서 --ink 가 밝아지면서 밝은 원이 되어, 검은 화면에서 붕 뜨고
   오히려 작고 빈약해 보였다(대표 지적 2026-08-02).
   버튼과 같은 언어로 맞춘다 — 어두운 면 + 은은한 테두리 + 밝은 아이콘.
   이 규칙들은 bundle-extra-injections.js 가 런타임에 <style> 로 심어서
   이 파일보다 뒤에 오므로 !important 가 필요하다. */
html[data-theme="dark"] .vfc-animal-avatar,
html[data-theme="dark"] .cdp-avatar,
html[data-theme="dark"] .cw-account-avatar,
html[data-theme="dark"] .acc-avatar {
  background: var(--btn-bg) !important;
  border-color: var(--btn-line) !important;
  color: var(--btn-fg) !important;
}

/* 로고 — 다크 전용 파일로 교체한다.
   알약 두 개는 브랜드 원색 그대로, 워드마크만 흰색인 이미지다(대표 결정 2026-08-01).
   예전처럼 filter 로 통째로 반전하면 알약 색까지 날아간다.
   content 로 이미지를 바꾸므로 src 를 건드리지 않는다 = index.html 무수정.

   ★ 클래스가 아니라 src 로 건다. 옛 규칙은 `.login-logo-img` 만 봐서
   그 클래스가 없는 관리자 상단바 로고(index.html:2595)가 빠졌고, 관리자 화면에서만
   짙은 네이비 글씨가 검은 배경에 묻혔다(대표 지적 2026-08-02).
   src 기준으로 걸면 로고가 새로 붙는 자리도 클래스 없이 자동으로 따라온다. */
html[data-theme="dark"] .login-logo-img,
html[data-theme="dark"] img[src$="haccp-selo-logo.png"] {
  content: url('/tmplogo/haccp-selo-logo-dark.png');
}

/* ══════════════════════════════════════════════════════════════
   기준서(HACCP 매뉴얼) 화면 — 대표 지적 2026-08-02
   ══════════════════════════════════════════════════════════════
   이 화면은 CSS 클래스가 없다. manual-viewer.js 가 인라인 style 로 그린다.
   그래서 선택자를 인라인 값으로 걸고 !important 를 쓴다(다른 방법이 없다).
   전부 #haccpManualBox / #haccpFileListItems / #haccpManualPdfHeader 안에만
   닿으므로 일지·다른 화면에는 새지 않는다.
   ══════════════════════════════════════════════════════════════ */

/* ① 왼쪽 목록의 승인 요약 상자 — 인라인 background:#fff 라 검은 화면에 흰 판때기였다.
   배지를 어둡게 하려면 그 밑 판부터 어두워야 한다(배경·글씨는 짝으로). */
html[data-theme="dark"] #haccpFileListItems [style*="border-radius:8px"][style*="background:#fff"] {
  background: var(--white) !important;
}

/* ② '전자승인 완료' 배지 — 여기 있던 규칙 2개를 지웠다.
   배지가 3색 알약(#f3f7f2 / #faf3f1 …)에서 '모노 알약 + 작은 상태 점'으로 바뀌면서
   그 리터럴을 겨냥하던 속성 선택자가 아무것도 안 잡게 됐다(2026-08-02).
   상태색은 이제 점에만 있다 — DESIGN.md '상태색은 증거로만, 장식 금지'. */

/* ③ 배지 글자 잘림('전자승인 완') — 목록 패널이 196px 인데 배지+[크게보기]가
   그보다 몇 px 넓어서 배지가 눌려 잘렸다. 배지를 안 눌리게 하고,
   그래도 안 들어가면 버튼이 아랫줄로 내려가게 한다(잘림 대신 줄바꿈). */
html[data-theme="dark"] #haccpFileListItems [style*="justify-content:space-between"] {
  flex-wrap: wrap;
  row-gap: 4px;
}
html[data-theme="dark"] #haccpFileListItems span[style*="border-radius:999px"] {
  min-width: auto !important;
}

/* ④ 목록 왼쪽 세로 짝대기 — 선택된 항목에 밝은 3px 선이 서서 촌스러웠다.
   선을 예쁘게 만들지 않고 없앤다. 자리(3px 여백)는 그대로 두고 —
   선택 표시는 면(--sf-active)이 한다(대표 결정 2026-08-02). */
html[data-theme="dark"] #haccpFileListItems [style*="border-left:3px solid var(--mono-text"] {
  border-left-color: transparent !important;
  background: var(--sf-active) !important;
}

/* ⑤ PDF 툴바 — 인라인 background:#fff 라 흰 띠였고, 그 위 '다운로드' 버튼은
   background:var(--mono-text)+color:#fff 라 다크에서 밝은 판 + 흰 글씨가 됐다.
   툴바 버튼 넷(‹ › 새창 다운로드)을 전부 버튼 언어로 통일한다. */
html[data-theme="dark"] #haccpManualPdfHeader {
  background: var(--white) !important;
}
html[data-theme="dark"] #haccpManualPdfHeader button {
  background: var(--btn-bg) !important;
  color: var(--btn-fg) !important;
  border-color: var(--btn-line) !important;
}

/* ══════════════════════════════════════════════════════════════
   E. AI 냄새 걷어내기 — 대표 지적 2026-08-02
   ══════════════════════════════════════════════════════════════ */

/* ① 인라인 style 로 '진회색 알약'을 그리는 버튼들.
   `background:var(--ink)` / `background:var(--mono-text)` 는 글씨 토큰이라
   다크에서 밝아진다. 그 위 글씨는 var(--btn-fg)(밝음) 라서 '밝은 판 + 밝은 글씨'가 됐고,
   '+ 카테고리 추가' 버튼은 글자가 아예 사라졌다.
   인라인 style 은 CSS 로 못 이기므로 !important 를 쓴다.
   ★ 태그가 아니라 인라인 값으로 걸고 값은 토큰이라, 일지 창 안에서는
     되돌리기 블록이 --btn-* 를 라이트 값으로 돌려놓아 종이가 오염되지 않는다. */
html[data-theme="dark"] [style*="background:var(--ink)"],
html[data-theme="dark"] [style*="background: var(--ink)"],
html[data-theme="dark"] [style*="background:var(--mono-text)"],
html[data-theme="dark"] [style*="background: var(--mono-text)"] {
  background: var(--btn-bg) !important;
  color: var(--btn-fg) !important;
  border: 1px solid var(--btn-line) !important;
}

/* ② 상단바 프로필 아이콘.
   눌러서 열리는 드롭다운 안의 아바타(.dd-avatar)는 44px + 어두운 면 + 밝은 아이콘인데,
   정작 상단바의 것은 30px + 밝은 면이라 작고 빈약해 보였다.
   톤을 드롭다운과 같게 맞추고(어두운 면 + 은은한 테두리 + 밝은 아이콘) 크기를 키운다.
   ★ 44px 이 아니라 40px 인 이유: 상단바 높이가 데스크톱 58px / 모바일 50px 이고
     .topbar-user 가 위아래 패딩을 6px(모바일 4px) 갖는다. 44px 은 모바일에서 넘친다.
     이 파일은 중첩 미디어쿼리를 못 쓰므로(인쇄 차단이 흐려진다) 양쪽에 다 맞는 한 값을 쓴다. */
html[data-theme="dark"] .topbar-avatar,
html[data-theme="dark"] #topbarAvatar {
  width: 40px !important;
  height: 40px !important;
  font-size: 15px !important;
  background: var(--btn-bg) !important;
  color: var(--btn-fg) !important;
  border: 1px solid var(--btn-line) !important;
}

/* ③ 심사모드 'e서명 확인' 모달.
   audit-mode.js 가 이 판을 document.body 바로 밑에 붙인다(.audit-mode-shell 밖).
   --audit-* 는 .audit-mode-shell 에서만 정의돼 있어 모달 안에서는 전부 미정의였고,
   그중 fallback 이 달린 .audit-mode-signature-block 만 살아남아
   검은 화면에 #f5f5f3 흰 판때기로 떴다. 같은 이름들을 모달에도 매어 준다
   (값은 .audit-mode-shell 이 쓰는 것과 같은 매핑이라 라이트 규칙은 그대로 성립한다).
   ★ 서명 이미지는 잉크 반전 규칙이 따로 있으므로 여기서 건드리지 않는다. */
html[data-theme="dark"] #audit-mode-record-modal {
  --audit-warm-charcoal: var(--sage-text);
  --audit-off-white:     var(--gray1);
  --audit-sage:          var(--sage);
  --audit-warm-gray:     var(--sage-mute);
  --audit-line:          var(--gray2);
}
/* 딤도 라이트 기준(rgba(42,46,53,.56))이라 검은 화면에서 뿌옇게만 떴다 */
html[data-theme="dark"] .audit-mode-record-modal {
  background: rgba(0, 0, 0, 0.78);
}

/* ④ 심사모드 조작부(문서 필터·배지·정정 안내).
   --audit-compact-* 는 body 에서 `var(--audit-off-white, #f5f5f3)` 로 선언된다.
   커스텀 속성 안의 var() 는 '선언된 자리'에서 풀리는데, body 에는 --audit-off-white 가
   없어서 항상 fallback(#f5f5f3)이 잡혔다 = 다크에서도 흰 판.
   다크에서만 값을 다시 매어 준다. */
html[data-theme="dark"] body.audit-mode-active {
  --audit-compact-charcoal: var(--sage-text);
  --audit-compact-off-white: var(--gray1);
  --audit-compact-sage: var(--sf-active);
  --audit-compact-taupe: var(--sf-line3);
}
/* 위를 매어 주면 '문서 종류' 칩만 면과 글씨가 뒤집혀 밝은 판이 된다(라이트에선 짙은 칩).
   버튼 언어로 통일한다. */
html[data-theme="dark"] body.audit-mode-active .audit-mode-document-type {
  border-color: var(--btn-line);
  background: var(--btn-bg);
  color: var(--btn-fg);
}

/* ⑤ 휴지통(설정 > 휴지통) 안내 상자.
   settings.js 가 인라인으로 `color:var(--warning)` + `background:var(--tint-amber2)` +
   `border:1px solid #fed7aa` 를 준다. 다크에서 글씨가 네온 노랑(#FBBF24)이었고,
   테두리는 라이트 살구색 리터럴이라 따라오지도 않았다.
   글씨는 도장 톤으로, 테두리는 같은 색조의 반투명으로.
   ★ 라이트의 #fed7aa 는 settings.js 안이라 이 파일에서 못 고친다 — 보고만 한다. */
html[data-theme="dark"] [style*="background:var(--tint-amber2)"],
html[data-theme="dark"] [style*="background: var(--tint-amber2)"] {
  border-color: var(--line-ead) !important;
  color: var(--stamp-amber) !important;
}

/* ⑥ 결제 관리 표의 상태 알약(결제완료·환불·취소·만료).
   admin-payments.js 가 인라인으로 원색 리터럴을 준다 — 면은 그 색의 8%(#16a34a15),
   글씨는 그 색 그대로. 검은 화면에선 형광 알약이 됐다(대표 지적).
   다크에서는 '모노 알약 + 도장 톤 글씨'로 바꾼다 — 면은 넷 다 같은 회색이고
   구분은 글씨 색(초록/앰버/빨강/무채)과 글자가 한다.
   ★ 인라인 style 은 CSS 로 못 이기므로 !important. 클래스 한정이라 일지엔 닿지 않는다.
   ★ 면을 반투명 흰색으로 두는 이유: 알약 높이가 라이트와 같아야 표가 안 흔들린다. */
html[data-theme="dark"] .pay-status-pill {
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--mono-text-3) !important;
}
html[data-theme="dark"] .pay-status-pill[data-pay-status="paid"] {
  color: var(--stamp-green) !important;
}
html[data-theme="dark"] .pay-status-pill[data-pay-status="refunded"] {
  color: var(--stamp-amber) !important;
}
html[data-theme="dark"] .pay-status-pill[data-pay-status="cancelled"] {
  color: var(--stamp-red) !important;
}

/* ══════════════════════════════════════════════════════════════
   G. 다크 구멍 6건 (대표 지적 2026-08-02~03)
   ══════════════════════════════════════════════════════════════
   전부 '배경만 뒤집히고 글씨는 라이트로 남았다' 계열이거나,
   인라인 리터럴이라 토큰이 닿지 않은 자리다.
   ══════════════════════════════════════════════════════════════ */

/* ① 일지 날짜 캘린더 — 선택한 날짜 칸의 숫자가 사라진다.
   journal-calendar.css:198 이
     .calendar-day-selected { background:#1F1D1A !important; color:#F4F0E8 !important }
   로 박아뒀는데(라이트에선 '차콜 칸 + 아이보리 숫자'), 위 E절의 기계 생성 짝은
   글씨만 var(--sf-ivory)(다크에서 #1C1A17 = 어두운 값)로 바꾸고 배경은 라이트의
   #1F1D1A 를 그대로 뒀다 → 어두운 면 + 어두운 글씨. 3일 숫자가 실종됐다.
   배경·글씨를 짝으로 되돌린다. 토큰이라 일지 창 안(라이트 되돌리기 구역)에서
   열릴 때는 자동으로 라이트 값(#6E6E75 + 흰 글씨)이 된다. */
html[data-theme="dark"] .calendar-day-selected {
  background: var(--btn-bg) !important;
  color: var(--btn-fg) !important;
  border-color: var(--btn-line) !important;
}
html[data-theme="dark"] .calendar-day-selected .calendar-day-status-done,
html[data-theme="dark"] .calendar-day-selected .calendar-day-status-progress,
html[data-theme="dark"] .calendar-day-selected .calendar-day-status-draft,
html[data-theme="dark"] .calendar-day-selected .calendar-day-status-resubmit {
  color: var(--btn-fg);
}
/* '오늘' 칸은 라이트에서 rgba(110,110,117,0.06) — 검은 면 위에선 거의 안 보인다 */
html[data-theme="dark"] .calendar-day-today {
  background: rgba(255, 255, 255, 0.06);
}

/* ② 일지 창 — 제목·저장·닫기 헤더만 다크, 실제 문서 작업영역은 항상 밝게 유지.
   작성일자·상태·결재표·본문은 한 장의 문서이므로 테마에 따라 색을 뒤집지 않는다.
   인쇄/PDF와 화면의 모양이 같고, 원본 양식의 흰색·하늘색 칸도 그대로 보인다. */
html[data-theme="dark"] .journal-box {
  background: #ffffff;
}
/* 종이와 문서 상단은 어떤 경우에도 밝은 원본 색상 */
html[data-theme="dark"] .journal-box .journal-body {
  background: #ffffff !important;
}
html[data-theme="dark"] .journal-box .journal-header {
  background: #1A1A1A !important;
  color: #C8C8CC !important;
  border-bottom-color: rgba(255, 255, 255, 0.10) !important;
}
html[data-theme="dark"] .journal-box .journal-header h2 {
  color: #EDEDF0 !important;
}
html[data-theme="dark"] .journal-box .journal-toolbar {
  background: #f7f8fa !important;
  border-bottom-color: #aeb7c1 !important;
}
html[data-theme="dark"] .journal-box .journal-toolbar label {
  color: #4b5563 !important;
}
/* 입력칸과 버튼도 라이트 문서 색상을 그대로 쓴다.
   검토자 미지정 경고 테두리는 건드리지 않도록 기존 :not() 조건을 유지한다. */
html[data-theme="dark"] .journal-box .journal-toolbar input:not([style*="danger3"]),
html[data-theme="dark"] .journal-box .journal-toolbar select:not([style*="danger3"]) {
  background: #ffffff !important;
  border-color: #b9c2cc !important;
  color: #303845 !important;
}
html[data-theme="dark"] .journal-box .journal-toolbar input[style*="danger3"] {
  background: #ffffff !important;
  color: #303845 !important;
}
html[data-theme="dark"] .journal-box .journal-toolbar input:hover:not([style*="danger3"]),
html[data-theme="dark"] .journal-box .journal-toolbar select:hover:not([style*="danger3"]) {
  border-color: #9A9A97 !important;
}
html[data-theme="dark"] .journal-box .journal-toolbar input:focus:not([style*="danger3"]),
html[data-theme="dark"] .journal-box .journal-toolbar select:focus:not([style*="danger3"]) {
  border-color: #1A1A1A !important;
  box-shadow: 0 0 0 2px rgba(26, 26, 26, 0.10) !important;
}
html[data-theme="dark"] .journal-box .journal-toolbar input:disabled {
  background: #f3f4f6 !important;
  color: #8a94a3 !important;
}
html[data-theme="dark"] .journal-box .journal-toolbar button {
  background: #ffffff !important;
  border-color: #d4d4d1 !important;
  color: #444444 !important;
}
html[data-theme="dark"] .journal-box .journal-toolbar button:hover {
  background: #f4f6f9 !important;
  border-color: #9A9A97 !important;
  color: #303845 !important;
}

/* ③ 계정 전환 확인 모달(vfcConfirm).
   런타임에서 이기는 판은 ui-prompt.js 쪽이라 아이콘 원과 버튼이 리터럴이다
   (#FEF3C7 크림 원 / #92400E 아이콘 / #4B5563 확인 버튼).
   검은 화면에서 크림 원이 판때기로 뜨고, 확인 버튼은 파란 기가 도는 슬레이트였다.
   원은 도장 앰버의 반투명 면으로, 아이콘·버튼은 다크 버튼 한 쌍으로.

   ★ #vfcConfirmOverlay 는 vfcConfirm/vfcAlert/vfcPrompt/PIN 확인(document-delete-password.js)/
     미생물 신청·신청취소(lab-request.js)가 전부 돌려쓰는 한 개짜리 DOM 이다.
     #vfcOkBtn·#vfcConfirmIcon svg 를 통째로 덮으면
       · 납작한 글씨 버튼(프롬프트·PIN·신청)이 알약 판때기로 바뀌고
       · '신청 취소'의 위험색(var(--danger))이 무채로 지워지고
       · 자물쇠·해 아이콘까지 앰버로 물든다.
     그래서 문제였던 확인 다이얼로그의 모양(크림 원 #FEF3C7 / 슬레이트 알약 #4B5563)에만 건다.
     나머지 변형은 이미 토큰(var(--danger)·var(--mono-text))이라 다크에서 알아서 따라온다. */
html[data-theme="dark"] #vfcConfirmIcon > div[style*="#FEF3C7" i] {
  background: var(--tint-amber) !important;
}
html[data-theme="dark"] #vfcConfirmIcon > div[style*="#FEF3C7" i] svg {
  stroke: var(--stamp-amber);
}
html[data-theme="dark"] #vfcConfirmBtns #vfcOkBtn[style*="#4B5563" i] {
  background: var(--btn-bg) !important;
  border-color: var(--btn-line) !important;
  color: var(--btn-fg) !important;
}

/* ④ 담당 일지 설정(배정) 모달 — admin-roles.js 인라인.
   ㉠ 딤이 rgba(15,23,42,0.56) 라 화면 전체에 남색이 낀다(파랑 금지).
   ㉡ 선택된 줄 배경이 rgba(75,141,248,0.08) — 파란 틴트.
      :has() 를 못 쓰는 구형 사파리에선 줄이 전부 무채로만 남는다(체크박스가 상태를 말한다).
   ㉢ 저장 버튼이 var(--primary)/var(--gray3) — 다크에선 둘 다 글씨색이라
      화면 아래에 밝은 판때기가 깔렸다. 버튼 한 쌍으로 바꾼다.
   ㉣ '중복주의' 숫자가 네온 노랑(--warning) — 배지 글씨는 도장 톤으로. */
html[data-theme="dark"] #cjRoleEditForm {
  background: rgba(0, 0, 0, 0.62) !important;
}
html[data-theme="dark"] .cj-role-row {
  background: var(--white) !important;
}
html[data-theme="dark"] .cj-role-row:has(.cj-role-check:checked) {
  background: var(--primary-light) !important;
}
html[data-theme="dark"] #cjRoleSaveBtn {
  background: var(--btn-bg2) !important;
  color: var(--btn-fg) !important;
}
html[data-theme="dark"] #cjRoleSaveBtn:disabled {
  background: var(--btn-soft-bg) !important;
  color: var(--ink-soft) !important;
}
html[data-theme="dark"] #cjRoleConflictCount {
  color: var(--stamp-amber) !important;
}

/* ⑤ 일지 우클릭 관리 메뉴(#cwJournalCtxMenu).
   '배정 선택/해제' 줄만 인라인 color:rgba(0,0,0,0.72) 라 검은 메뉴에서 안 보였다.
   포커스 링은 브라우저 기본값(파랑)이 그대로 떠서 모노그레이 링으로 바꾼다
   — 지우지는 않는다(키보드로 여는 사람이 어디 있는지 알아야 한다).
   ★ 나머지 두 줄(미리보기·버전 보기)은 이미 var(--mono-text) 라 손댈 이유가 없다.
     인라인 문자열이 아니라 그 줄의 onclick(=배정 토글)으로 집어 공백·표기 변경에 안 흔들리게. */
html[data-theme="dark"] #cwJournalCtxMenu button[onclick*="_cwToggleMasterAssignmentFromMenu"] {
  color: var(--mono-text) !important;
}
html[data-theme="dark"] #cwJournalCtxMenu button:focus,
html[data-theme="dark"] #cwJournalCtxMenu button:focus-visible {
  outline: 2px solid var(--hairline-strong);
  outline-offset: -2px;
}

/* ⑥ 결제 화면 '세금계산서 자동발행' 카드 — payment.js 인라인 리터럴
   (background:#F7F7F9 / color:#6E6E75 / 제목 #444). 검은 화면에 흰 카드로 남았다.
   ★ 라이트의 리터럴은 payment.js 안이라 이 파일에서 못 고친다 — 보고만 한다.
   ★ `background:#F7F7F9` 통째로 매칭하면 공백 한 칸(`background: #F7F7F9`)에 깨진다.
     색값만, 대소문자 무시(i)로 집는다. 이 값은 화면 코드에 이 카드 한 곳뿐이다. */
html[data-theme="dark"] [style*="#F7F7F9" i] {
  background: var(--sf-1) !important;
  border-color: var(--hairline) !important;
  color: var(--ink) !important;
}
html[data-theme="dark"] [style*="#F7F7F9" i] > div {
  color: var(--gray4) !important;
}


/* ══════════════════════════════════════════════════════════════
   ⑦ 심사모드 디지털 서류함 (.audit-cabinet-* / .audit-clear-file-*)
   ══════════════════════════════════════════════════════════════
   증상: 다크로 심사모드에 들어가면 화면이 반쪽만 뒤집혔다 — 왼쪽 책장은
   베이지 나무색 그대로인데 오른쪽 상세 패널만 검정, 그 아래는 흰 판때기.

   원인: 서류함 UI 는 journal-calendar.css 가 그리는데, 그 파일에는
   data-theme 가 한 번도 안 나온다. 색을 전부 리터럴(#e6d6b8, #d8c49a …)로
   박아 놔서 다크 토큰이 지나갈 자리가 없다. 반면 같은 DOM 에 함께 달린
   .journal-overview-* 는 var(--white) 를 쓰므로 그쪽만 #141414 로 뒤집혔다.
   → '왼쪽이 다크를 못 먹은' 게 아니라, 다크를 먹은 부모 위를 라이트 자식이 덮었다.

   여기서 라이트 값과 1:1 로 짝을 맞춘다. 지킨 원칙 넷:
     1) 2026-09-13 승인안: 책장은 라이트 중성 회색 / 다크 차콜로 변경한다.
        기존 wood 토큰명은 호환용으로 유지하며, 얇은 일지 파일철만 색을 남긴다.
     2) 미리보기 iframe/img/canvas 의 배경은 건드리지 않는다. 그 안은 실제 일지·
        문서 종이라 흰 바탕이 맞다(일지 창 되돌리기와 같은 이유).
     3) 색이 곧 뜻인 자리(클리어파일 카테고리 색인 탭, 파일철 색)는 색조를 남기고
        채도만 낮춘다. 회색으로 칠하면 구분이 사라진다 — 사이드바 신호등과 같은 함정.
     4) !important 를 쓰지 않는다. 이 파일이 마지막에 로드되므로 필요 없다.

   ★ 근본 수정(리터럴 → --audit-* 토큰)은 별건이다. journal-calendar.css 안에
     같은 서류함 CSS 가 4겹 쌓여 있고(1992 / 2595 / 2895 / 3747, 앞 두 겹은
     뒤에 덮여 죽어 있다) 그 정리는 라이트 화면을 건드리므로 따로 간다.
   ══════════════════════════════════════════════════════════════ */

/* 서류함 팔레트의 다크 값. 라이트 값은 journal-calendar.css 의 같은 이름에 있다.
   선반 색을 바꿀 일이 생기면 두 파일에서 이 열한 줄만 고치면 된다 —
   서류함 CSS 백 몇 군데를 뒤질 필요가 없다. */
html[data-theme="dark"] {
  --audit-cabinet-wood-panel:     #242424;
  --audit-cabinet-wood-shelf:     #202020;
  --audit-cabinet-wood-edge:      #454541;
  --audit-cabinet-wood-plate:     #30302e;
  --audit-cabinet-wood-plate-ink: #eeeeea;
  --audit-cabinet-file-1: #76b4c6;
  --audit-cabinet-file-2: #a4b96d;
  --audit-cabinet-file-3: #cebe71;
  --audit-cabinet-file-4: #6eabbd;
  --audit-cabinet-file-5: #98ae64;
  --audit-cabinet-file-6: #c4b369;
  --ac-surface:#181818;
  --ac-text:#e8e8e5;
  --ac-muted:#b0b0aa;
  --ac-line:#3d3d39;
  --ac-ledge:#3a3a37;
  --ac-selection:#f0f0e8;
  --ac-paper:#e9e9df;
  --ac-paper-ink:#202020;
  --ac-paper-line:#bdbdb2;
  --ac-binder:#3c3e3c;
  --ac-binder-edge:#575953;
  --ac-hover:#262624;
}

/* ── 셸·워크스페이스·목록 패널 ── */
html[data-theme="dark"] .audit-cabinet-shell {
  background: #141414;
}
html[data-theme="dark"] .audit-cabinet-list-panel {
  border-color: rgba(255,255,255,.18);
  box-shadow: inset 0 1px rgba(255,255,255,.07), 0 8px 22px rgba(51,42,34,.12);
  border: 1px solid rgba(255,255,255,.11);
  background: var(--audit-cabinet-wood-panel);
}
html[data-theme="dark"] .audit-cabinet-team {
  background: var(--audit-cabinet-wood-panel);
}
html[data-theme="dark"] .audit-cabinet-team > header {
  color: #dde0e3;
}
html[data-theme="dark"] .audit-cabinet-team > header span {
  color: #959ca7;
}
html[data-theme="dark"] .audit-cabinet-shelf {
  border-bottom: 8px solid rgba(255,255,255,.18);
  background: #141414;
  scrollbar-color: rgba(255,255,255,.22) transparent;
  border: 14px solid var(--audit-cabinet-wood-edge);
  box-shadow: inset 0 10px 16px rgba(90,70,40,.08),inset 0 -2px rgba(255,255,255,.12),0 3px 5px rgba(90,70,40,.12);
  background-color: var(--audit-cabinet-wood-shelf);
  background-image: linear-gradient(180deg,rgba(90,70,40,.1),transparent 28px), linear-gradient(90deg,rgba(255,255,255,.06),transparent 22%,transparent 78%,rgba(90,70,40,.06));
}
html[data-theme="dark"] .audit-cabinet-shelf::after {
  background: linear-gradient(180deg,rgba(255,255,255,.12),rgba(160,130,80,.2));
}
html[data-theme="dark"] .audit-cabinet-search-status {
  color: #949ba8;
}
html[data-theme="dark"] .audit-cabinet-period-divider {
  color: #dde0e3;
  border-color: rgba(255,255,255,.18);
  background: linear-gradient(90deg,#2b2f32,#5c6265 55%,#23282b);
  box-shadow: inset 1px 0 rgba(255,255,255,.05),1px 1px 2px rgba(35,23,15,.28);
}
html[data-theme="dark"] .audit-cabinet-workspace {
  border-top: 1px solid rgba(255,255,255,.11);
  background: #141414;
}
html[data-theme="dark"] .audit-cabinet-team > header h2 {
  border: 1px solid var(--audit-cabinet-wood-edge);
  background: var(--audit-cabinet-wood-plate);
  color: var(--audit-cabinet-wood-plate-ink);
}
html[data-theme="dark"] .audit-cabinet-shelf:not(.audit-cabinet-binder-shelf) {
  background-color: var(--audit-cabinet-wood-shelf);
  background-image: linear-gradient(180deg,rgba(90,70,40,.1),transparent 28px), repeating-linear-gradient(180deg,transparent 0,transparent 220px,rgba(255,255,255,.10) 220px,rgba(255,255,255,.10) 223px,rgba(160,130,80,.28) 223px,rgba(160,130,80,.28) 238px), linear-gradient(90deg,rgba(255,255,255,.06),transparent 16%,transparent 84%,rgba(90,70,40,.05));
}
html[data-theme="dark"] .audit-cabinet-period-divider::after {
  background: #42484b;
}

/* ── 파일철·바인더 ── */
html[data-theme="dark"] .audit-cabinet-binder {
  color: #dee1e3;
  box-shadow: inset 1px 0 rgba(255,255,255,.10), inset -1px 0 rgba(25,31,34,.14), 2px 2px 4px rgba(29,22,17,.22);
  border-color: rgba(255,255,255,.11);
  background: linear-gradient(90deg,#4e5f6b,#262626 48%,#566670);
}
html[data-theme="dark"] .audit-cabinet-folder {
  color: #dee1e3;
  border-color: rgba(255,255,255,.11);
  box-shadow: inset 1px 0 rgba(255,255,255,.08),1px 1px 2px rgba(41,27,17,.2);
  background: linear-gradient(90deg,rgba(0,0,0,.08),transparent 16%,transparent 84%,rgba(255,255,255,.06)), var(--cabinet-folder);
}
html[data-theme="dark"] .audit-cabinet-binder:nth-child(2) {
  background: linear-gradient(90deg,#5e6971,#262626 48%,#616c74);
}
html[data-theme="dark"] .audit-cabinet-binder::before {
  background: #141414;
  border-color: rgba(255,255,255,.11);
}
html[data-theme="dark"] .audit-cabinet-binder::after {
  background: #141414;
  border-color: rgba(255,255,255,.11);
}
html[data-theme="dark"] .audit-cabinet-folder-color-0 {
  --cabinet-folder: var(--audit-cabinet-file-1);
}
html[data-theme="dark"] .audit-cabinet-folder-color-1 {
  --cabinet-folder: var(--audit-cabinet-file-2);
}
html[data-theme="dark"] .audit-cabinet-folder-color-2 {
  --cabinet-folder: var(--audit-cabinet-file-3);
}
html[data-theme="dark"] .audit-cabinet-folder-color-3 {
  --cabinet-folder: var(--audit-cabinet-file-4);
}
html[data-theme="dark"] .audit-cabinet-folder-color-4 {
  --cabinet-folder: var(--audit-cabinet-file-5);
}
html[data-theme="dark"] .audit-cabinet-folder-color-5 {
  --cabinet-folder: var(--audit-cabinet-file-6);
}
html[data-theme="dark"] .audit-cabinet-folder-label {
  color: #dde0e3;
  border-color: rgba(255,255,255,.11);
  border: 1px solid rgba(255,255,255,.11);
  background: #241f1a;
  box-shadow: 0 1px 0 rgba(255,255,255,.14);
}
html[data-theme="dark"] .audit-cabinet-binder:hover {
  box-shadow: inset 1px 0 rgba(255,255,255,.10), 5px 8px 13px rgba(29,22,17,.3);
}
html[data-theme="dark"] .audit-cabinet-binder:focus-visible {
  box-shadow: inset 1px 0 rgba(255,255,255,.10), 5px 8px 13px rgba(29,22,17,.3);
  outline: 3px solid #b9a75f;
}
html[data-theme="dark"] .audit-cabinet-folder:hover {
  box-shadow: inset 1px 0 rgba(255,255,255,.10), 5px 8px 13px rgba(29,22,17,.3);
}
html[data-theme="dark"] .audit-cabinet-folder:focus-visible {
  box-shadow: inset 1px 0 rgba(255,255,255,.10), 5px 8px 13px rgba(29,22,17,.3);
  outline: 3px solid #b9a75f;
}
html[data-theme="dark"] .audit-cabinet-folder.is-search-match {
  box-shadow: inset 1px 0 rgba(255,255,255,.10), 5px 8px 13px rgba(29,22,17,.3);
}
html[data-theme="dark"] .audit-cabinet-folder.is-selected {
  box-shadow: inset 1px 0 rgba(255,255,255,.12), 7px 11px 16px rgba(22,17,13,.35);
  border-color: #4a9fd8;
  outline: 2px solid rgba(74,159,216,.22);
}
html[data-theme="dark"] .audit-cabinet-folder-label > span {
  color: #dee0e3;
}
html[data-theme="dark"] .audit-cabinet-folder-label > small {
  border-top: 1px solid rgba(255,255,255,.11);
  color: #dfe1e2;
}
html[data-theme="dark"] .audit-cabinet-binders .audit-cabinet-binder {
  background: linear-gradient(90deg,#455058,#636f78 48%,#49545c);
}
html[data-theme="dark"] .audit-cabinet-binders .audit-cabinet-binder:nth-child(2) {
  background: linear-gradient(90deg,#4f4846,#6e6460 48%,#544b48);
}
html[data-theme="dark"] .audit-cabinet-binders .audit-cabinet-binder::after {
  border: 2px solid rgba(255,255,255,.11);
  background: #282d30;
}

/* ── 오른쪽 상세 패널·미리보기 ── */
html[data-theme="dark"] .audit-cabinet-detail-panel {
  border: 1px solid rgba(255,255,255,.11);
  background: #141414;
  border-left: 1px solid rgba(255,255,255,.11);
}
html[data-theme="dark"] .audit-cabinet-detail-panel .journal-overview-calendar-placeholder strong {
  color: #e2e1de;
}
html[data-theme="dark"] .audit-cabinet-detail-panel .journal-overview-calendar-placeholder {
  color: #999ea3;
}
html[data-theme="dark"] .audit-cabinet-detail-title {
  border-bottom: 1px solid rgba(255,255,255,.11);
}
html[data-theme="dark"] .audit-cabinet-detail-title span {
  color: #dee1e3;
}
html[data-theme="dark"] .audit-cabinet-detail-title h2 {
  color: #dde0e3;
}
html[data-theme="dark"] .audit-cabinet-detail-title button {
  border: 1px solid rgba(255,255,255,.11);
  background: #141414;
  color: #dee1e3;
}
html[data-theme="dark"] .audit-cabinet-file-preview {
  border: 1px solid rgba(255,255,255,.11);
  background: #141414;
  color: #dee1e3;
}
html[data-theme="dark"] .audit-cabinet-file-preview span {
  border: 1px solid rgba(255,255,255,.11);
  background: repeating-linear-gradient(180deg,#141414 0,#141414 10px,#181818 11px,#141414 12px);
}
html[data-theme="dark"] .audit-cabinet-file-preview strong {
  color: #dee1e2;
  border-top: 1px solid rgba(255,255,255,.11);
}
html[data-theme="dark"] .audit-cabinet-file-preview::after {
  color: #9a9fa2;
}
html[data-theme="dark"] .audit-cabinet-file-summary dt {
  color: #9a9fa3;
}
html[data-theme="dark"] .audit-cabinet-file-summary dd {
  color: #dee1e3;
}
html[data-theme="dark"] .audit-cabinet-detail-title h2 span {
  color: #dde0e3;
}
html[data-theme="dark"] .audit-cabinet-detail-title h2 b {
  color: #dde0e3;
}
html[data-theme="dark"] .audit-cabinet-file-preview > .audit-cabinet-preview-loading {
  color: #9a9fa2;
}
html[data-theme="dark"] .audit-cabinet-file-preview > span {
  border-top: 1px solid rgba(255,255,255,.11);
  border-left: 1px solid rgba(255,255,255,.11);
}
html[data-theme="dark"] .audit-cabinet-file-preview > span svg {
  stroke: #dfe1e2;
}
html[data-theme="dark"] .audit-cabinet-paper-date svg {
  stroke: #999fa3;
}

/* ── 기록 목록·연도 선택 ── */
html[data-theme="dark"] .audit-cabinet-record:focus-visible {
  outline: 3px solid #b9a75f;
}
html[data-theme="dark"] .audit-cabinet-records {
  border-top: 1px solid rgba(255,255,255,.11);
  border: 1px solid rgba(255,255,255,.11);
  background: #141414;
}
html[data-theme="dark"] .audit-cabinet-records h3 {
  color: #e2e1de;
}
html[data-theme="dark"] .audit-cabinet-record {
  border: 1px solid rgba(255,255,255,.11);
  background: #141414;
  color: #dee1e3;
  border-bottom: 1px solid rgba(255,255,255,.11);
}
html[data-theme="dark"] .audit-cabinet-record:hover {
  border-color: rgba(255,255,255,.18);
  background: #1e1e1e;
}
html[data-theme="dark"] .audit-cabinet-record.is-selected {
  border-color: rgba(255,255,255,.18);
  background: #1e1e1e;
}
html[data-theme="dark"] .audit-cabinet-record small {
  color: #6fb3c6;
  border: 1px solid rgba(111,179,198,.3);
  background: rgba(111,179,198,.14);
}
html[data-theme="dark"] .audit-cabinet-record-empty {
  color: #a59f97;
}
html[data-theme="dark"] .audit-cabinet-records > header {
  border-bottom: 1px solid rgba(255,255,255,.11);
}
html[data-theme="dark"] .audit-cabinet-record-head {
  border-bottom: 1px solid rgba(255,255,255,.11);
  color: #999fa3;
}
html[data-theme="dark"] .audit-cabinet-record strong {
  border: 1px solid rgba(74,159,216,.32);
  background: rgba(74,159,216,.14);
  color: #7fb6e0;
  border-color: rgba(74,159,216,.32);
}
html[data-theme="dark"] .audit-cabinet-record b {
  color: #999fa3;
}
html[data-theme="dark"] .audit-cabinet-year-host {
  border-top: 1px solid rgba(255,255,255,.11);
}
html[data-theme="dark"] .audit-cabinet-year-host .audit-cabinet-year-picker {
  background: #141414;
}
html[data-theme="dark"] .audit-cabinet-year-host .doc-card {
  border-bottom: 1px solid rgba(255,255,255,.11);
  background: #141414;
}
html[data-theme="dark"] .audit-cabinet-record-pagination {
  border-top: 1px solid rgba(255,255,255,.11);
}
html[data-theme="dark"] .audit-cabinet-record-pagination button {
  color: #989fa4;
}
html[data-theme="dark"] .audit-cabinet-record-pagination span {
  border: 1px solid rgba(255,255,255,.11);
  color: #999fa3;
}

/* ── 문서 포켓(클리어파일) ── */
html[data-theme="dark"] .audit-clear-file {
  border: 1px solid rgba(255,255,255,.11);
  background: #353c41;
  color: #dde0e3;
  border-color: rgba(255,255,255,.11);
}
html[data-theme="dark"] .audit-clear-file > header {
  border: 1px solid rgba(255,255,255,.11);
  border-bottom: 1px solid rgba(255,255,255,.11);
  background: #141414;
  border-color: rgba(255,255,255,.11);
}
html[data-theme="dark"] .audit-clear-file > header nav span {
  color: #959da7;
}
html[data-theme="dark"] .audit-clear-file > header button {
  border: 1px solid rgba(255,255,255,.11);
  background: #141414;
  color: #dde0e3;
  border-color: rgba(255,255,255,.11);
}
html[data-theme="dark"] .audit-clear-file-book {
  border: 1px solid rgba(255,255,255,.11);
  background: #241f1a;
}
html[data-theme="dark"] .audit-clear-file-page {
  box-shadow: inset 0 0 0 6px rgba(255,255,255,.08);
}
html[data-theme="dark"] .audit-clear-file-category {
  border: 1px solid rgba(255,255,255,.11);
  color: #e3e2dd;
  background: linear-gradient(180deg,rgba(255,255,255,.12) 0,rgba(255,255,255,.12) 11px,transparent 11px), #732632;
  box-shadow: 1px 3px 5px rgba(30,24,16,.26), inset 0 -1px rgba(255,255,255,.10);
}
html[data-theme="dark"] .audit-clear-file-root-tab {
  border: 1px solid rgba(255,255,255,.11);
  color: #dde0e3;
  background: #181818;
  border-color: rgba(255,255,255,.11);
}
html[data-theme="dark"] .audit-clear-file-child-tab {
  border: 1px solid rgba(255,255,255,.11);
  color: #dde0e3;
  background: #141414;
  border-color: rgba(255,255,255,.11);
}
html[data-theme="dark"] .audit-clear-file-category.is-active {
  border-color: rgba(255,255,255,.11);
  background: linear-gradient(180deg,rgba(255,255,255,.12) 0,rgba(255,255,255,.12) 11px,transparent 11px), #732632;
  box-shadow: 2px 5px 8px rgba(30,24,16,.3), inset 0 -1px rgba(255,255,255,.08);
  color: #dfe1e2;
}
html[data-theme="dark"] .audit-clear-file-root-tab.is-active {
  background: #1e1e1e;
}
html[data-theme="dark"] .audit-clear-file-child-tab.is-active {
  background: #1e1e1e;
}
html[data-theme="dark"] .audit-clear-file-pocket {
  background: #141414;
  border-color: rgba(255,255,255,.11);
  box-shadow: inset 0 0 0 7px rgba(255,255,255,.05);
}
html[data-theme="dark"] .audit-clear-file-preview-stage {
  background: #141414;
}
html[data-theme="dark"] .audit-clear-file-rotate {
  border-top: 1px solid rgba(255,255,255,.11);
  background: #141414;
  border-top-color: rgba(255,255,255,.11);
}
html[data-theme="dark"] .audit-clear-file-rotate button {
  border: 1px solid rgba(255,255,255,.11);
  background: #141414;
  color: #dde0e3;
}
html[data-theme="dark"] .audit-clear-file-pocket footer {
  border-top: 1px solid rgba(255,255,255,.11);
  background: #141414;
  border-color: rgba(255,255,255,.11);
}
html[data-theme="dark"] .audit-clear-file-pocket footer span {
  color: #959da7;
}
html[data-theme="dark"] .audit-clear-file-pocket footer small {
  color: #959da7;
}
html[data-theme="dark"] .audit-clear-file-empty {
  color: #969da6;
}
html[data-theme="dark"] .audit-clear-file-unsupported {
  color: #969da6;
}
html[data-theme="dark"] .audit-clear-file-edge-tab {
  background: #8a7a3e;
  color: #dfe1e2;
  box-shadow: 0 1px 2px rgba(31,35,37,.13), inset 0 -9px rgba(255,255,255,.05);
}
html[data-theme="dark"] .audit-clear-file-edge-tab.is-active {
  background: #1e1e1e;
}
html[data-theme="dark"] .audit-clear-file-state {
  background: #141414;
  color: #949ca8;
}
html[data-theme="dark"] .audit-clear-file > header nav {
  color: #dde0e3;
}
html[data-theme="dark"] .audit-clear-file-category::before {
  background: #262626;
}
html[data-theme="dark"] .audit-clear-file-category.is-active::before {
  background: #454d58;
}
html[data-theme="dark"] .audit-clear-file-pocket-sheet {
  background: rgba(24,24,26,.9);
  border: 1px solid rgba(255,255,255,.11);
  box-shadow: inset 5px 0 rgba(206,216,220,.55), inset 0 0 0 7px rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.11);
}
html[data-theme="dark"] .audit-clear-file-folder-rail {
  background: #141414;
  border-bottom: 1px solid rgba(255,255,255,.11);
}
html[data-theme="dark"] .audit-clear-file-loose-tab {
  border: 1px dashed rgba(255,255,255,.11);
  color: #dde0e3;
  background: #141414;
  border-color: rgba(255,255,255,.11);
}
html[data-theme="dark"] .audit-clear-file-loose-tab small {
  color: #969da6;
}
html[data-theme="dark"] .audit-clear-file-loose-tab.is-active {
  background: #222222;
}
html[data-theme="dark"] .audit-clear-file-folder-level > span {
  color: #dee1e3;
}
html[data-theme="dark"] .audit-clear-file-folder-level.is-child {
  border-left: 2px solid rgba(255,255,255,.11);
}
html[data-theme="dark"] .audit-clear-file-sheet {
  /* 라이트와 1:1 — 덮개는 종이색(#141414), 그림자는 검정 쪽으로. 막대는 늘 보이게 둔다. */
  background-color: #141414;
  background-image:
    linear-gradient(to right, #141414 40%, rgba(20,20,20,0)),
    linear-gradient(to left, #141414 40%, rgba(20,20,20,0)),
    radial-gradient(farthest-side at 0 50%, rgba(0,0,0,.55), rgba(0,0,0,0)),
    radial-gradient(farthest-side at 100% 50%, rgba(0,0,0,.55), rgba(0,0,0,0));
  scrollbar-color: #6a727d #22262b;
}
html[data-theme="dark"] .audit-clear-file-sheet::-webkit-scrollbar-track { background: #22262b; }
html[data-theme="dark"] .audit-clear-file-sheet::-webkit-scrollbar-thumb {
  background: #6a727d;
  border-color: #22262b;
}
html[data-theme="dark"] .audit-clear-file-sheet::-webkit-scrollbar-thumb:hover { background: #828a95; }
html[data-theme="dark"] .audit-clear-file-sheet > span {
  color: #959da7;
}
html[data-theme="dark"] .audit-clear-file-sheet table {
  color: #dde0e3;
}
html[data-theme="dark"] .audit-clear-file-sheet th {
  border: 1px solid rgba(255,255,255,.11);
  background: #141414;
}
html[data-theme="dark"] .audit-clear-file-sheet td {
  border: 1px solid rgba(255,255,255,.11);
}
html[data-theme="dark"] .audit-clear-file-category:nth-child(5n + 2) {
  background: linear-gradient(180deg,rgba(255,255,255,.12) 0,rgba(255,255,255,.12) 11px,transparent 11px),#735026;
}
html[data-theme="dark"] .audit-clear-file-category:nth-child(5n + 3) {
  background: linear-gradient(180deg,rgba(255,255,255,.12) 0,rgba(255,255,255,.12) 11px,transparent 11px),#736626;
}
html[data-theme="dark"] .audit-clear-file-category:nth-child(5n + 4) {
  background: linear-gradient(180deg,rgba(255,255,255,.12) 0,rgba(255,255,255,.12) 11px,transparent 11px),#486237;
}
html[data-theme="dark"] .audit-clear-file-category:nth-child(5n + 5) {
  background: linear-gradient(180deg,rgba(255,255,255,.12) 0,rgba(255,255,255,.12) 11px,transparent 11px),#335d66;
}

/* 관리자 화면 격자 톤 (2026-09-09) — 색 토큰만 다시 정의한다.
   업체 화면 격자(#docOverviewHost·.ovpanel·.ovsheet)와 같은 값이라 두 화면이 같은 어둠을 쓴다. */
html[data-theme="dark"] #page-admin-main,
html[data-theme="dark"] #cwJournalCtxMenu.cw-journal-ledger-menu,
html[data-theme="dark"] body:has(#page-admin-main.active) #vfcConfirmOverlay,
html[data-theme="dark"] body:has(#page-admin-main.active) #adminModalOverlay,
html[data-theme="dark"] body:has(#page-admin-main.active) #mjrVersionOverlay,
html[data-theme="dark"] body:has(#page-admin-main.active) #mjrCtxMenu,
html[data-theme="dark"] body:has(#page-admin-main.active) .cw-journal-action-modal,
html[data-theme="dark"] body:has(#page-admin-main.active) .cw-journal-review-modal,
html[data-theme="dark"] body:has(#page-admin-main.active) #cwAccountGuideMailOverlay {
  --ov-paper:      #1C1C1E;
  --ov-frame:      #5E5E6A;
  --ov-bar:        #33333A;
  --ov-tool:       #232327;
  --ov-head:       #33333A;
  --ov-line:       #33333A;
  --ov-line2:      #45454E;
  --ov-line3:      #2E2E34;
  --ov-ink:        #E7E7EA;
  --ov-dim:        #8E8E97;
  --ov-no:         #8E8E97;
  --ov-date:       #8FB4FF;
  --ov-bad:        #FF7A66;
  --ov-btn:        #2E2E34;
  --ov-btn-hover:  #3A3A42;
  --ov-btn-line:   #4A4A52;
  --ov-sel:        #35353D;
  --ov-hover:      #2A2A30;
  --ov-pg-on:      #6E6E7A;
  --ov-pg-on-ink:  #FFFFFF;
}

} /* @media screen */

/* ─────────────────────────────────────────────────────────────
   설비 이력 관리 · 검교정 일정관리 (2026-09-04)
   화면 껍데기(목록 표·안내 상자·등록 창)는 다크 색을 쓴다.
   종이(설비이력카드·검·교정 장)는 일지와 같이 흰 종이 그대로 둔다 — 공문서라서.
   ───────────────────────────────────────────────────────────── */
html[data-theme="dark"] .eq-table,
html[data-theme="dark"] .cal-table {
  background: var(--card-bg) !important;
  color: var(--mono-text) !important;
  border-color: var(--hairline-strong) !important;
}
html[data-theme="dark"] .eq-table th,
html[data-theme="dark"] .cal-table th {
  background: var(--mist) !important;
  color: var(--mono-text-2) !important;
  border-bottom-color: var(--hairline-strong) !important;
}
html[data-theme="dark"] .eq-table td,
html[data-theme="dark"] .cal-table td {
  color: var(--gray4) !important;
  border-bottom-color: var(--hairline) !important;
}
html[data-theme="dark"] .eq-table tr.eq-row:hover td,
html[data-theme="dark"] .cal-table tr.cal-row:hover td { background: var(--gray05) !important; }
html[data-theme="dark"] .eq-title,
html[data-theme="dark"] .cal-title,
html[data-theme="dark"] .eq-sec-label,
html[data-theme="dark"] .cal-sec-label { color: var(--gray4) !important; }
html[data-theme="dark"] .eq-note,
html[data-theme="dark"] .cal-note {
  background: var(--mist) !important;
  color: var(--mono-text-2) !important;
  border-color: var(--hairline) !important;
}
html[data-theme="dark"] .eq-btn,
html[data-theme="dark"] .cal-btn {
  background: #2E2E34 !important;
  color: #ECECF1 !important;
  border-color: #5E5E6A !important;
}
html[data-theme="dark"] .eq-modal-box,
html[data-theme="dark"] .cal-modal-box {
  background: var(--card-bg) !important;
  color: var(--mono-text) !important;
}
html[data-theme="dark"] .eq-field input,
html[data-theme="dark"] .eq-field select,
html[data-theme="dark"] .cal-field input,
html[data-theme="dark"] .cal-field select,
html[data-theme="dark"] .cal-field textarea {
  background: var(--in-bg) !important;
  color: var(--gray4) !important;
  border-color: var(--border) !important;
}
html[data-theme="dark"] .eq-dim,
html[data-theme="dark"] .cal-dim,
html[data-theme="dark"] .eq-sub,
html[data-theme="dark"] .cal-sub,
html[data-theme="dark"] .eq-crumb,
html[data-theme="dark"] .cal-crumb { color: var(--mono-text-3) !important; }
/* 결재함 격자(2026-09-05): 작업 칸 안내는 옛 노란 상자 대신 격자 톤 */
html[data-theme="dark"] .apv-grid #apvListWrap .apv-card-action-note { background: none !important; border: 0 !important; color: var(--ov-dim) !important; }
html[data-theme="dark"] .apv-grid #apvListWrap .apv-rewrite-reason-text { color: var(--ov-dim) !important; }
/* 홈 격자(2026-09-06): 라이트 규칙(theme-overrides.css .home-grid …)은 --ov-* 토큰만 쓴다. 위쪽 옛 홈 달력·보드의
   다크 리터럴 규칙(.cal-event.type-alert-due, .home-jboard-col 등)이 격자 규칙보다 특이도가 높아 덮어쓰므로,
   같은 자리에서 토큰으로 되돌린다. 토큰 값은 위 .ovsheet 블록이 준다. */
html[data-theme="dark"] .home-grid .home-jboard, html[data-theme="dark"] .home-grid .home-jboard-col { background: var(--ov-paper); border-color: var(--ov-frame); box-shadow: none; }
html[data-theme="dark"] .home-grid .home-jboard-col { background: none; border: 0; }
html[data-theme="dark"] .home-grid .jboard-item:hover { background: var(--ov-hover); }
html[data-theme="dark"] .home-grid .jboard-item .jboard-name, html[data-theme="dark"] .home-grid .jboard-item.is-done .jboard-name { color: var(--ov-ink); }
html[data-theme="dark"] .home-grid .jboard-item .jboard-btn, html[data-theme="dark"] .home-grid .jboard-item .jboard-btn.done, html[data-theme="dark"] .home-grid .jboard-item .jboard-btn.pending, html[data-theme="dark"] .home-grid .jboard-item .jboard-btn.rejected { background: var(--ov-btn); border-color: var(--ov-btn-line); color: var(--ov-ink); }
html[data-theme="dark"] .home-grid .jboard-item .jboard-btn:hover { background: var(--ov-btn-hover); }
html[data-theme="dark"] .home-grid .jboard-done-label { color: var(--ov-ink); }
html[data-theme="dark"] .home-grid .jboard-item.is-rejected .jboard-done-label { color: var(--ov-bad); }
html[data-theme="dark"] .home-grid #mainCalCard { background: var(--ov-paper); border-color: var(--ov-frame); box-shadow: none; }
html[data-theme="dark"] .home-grid .cal-header { background: var(--ov-tool); border-color: var(--ov-line2); }
html[data-theme="dark"] .home-grid .cal-month { color: var(--ov-ink); }
html[data-theme="dark"] .home-grid .cal-nav-btn, html[data-theme="dark"] .home-grid .cal-today-btn { background: var(--ov-btn); border-color: var(--ov-btn-line); color: var(--ov-ink); }
html[data-theme="dark"] .home-grid .cal-nav-btn:hover, html[data-theme="dark"] .home-grid .cal-today-btn:hover { background: var(--ov-btn-hover) !important; color: var(--ov-ink) !important; }
html[data-theme="dark"] .home-grid .cal-day-label { background: var(--ov-head); border-color: var(--ov-line2); color: var(--ov-ink); }
html[data-theme="dark"] .home-grid .cal-day-label.sun { color: var(--ov-bad) !important; }
html[data-theme="dark"] .home-grid .cal-day-label.sat { color: var(--ov-date) !important; }
html[data-theme="dark"] .home-grid .cal-cell { background: var(--ov-paper); border-color: var(--ov-line); }
html[data-theme="dark"] .home-grid .cal-cell:hover { background: var(--ov-hover) !important; box-shadow: none !important; }
html[data-theme="dark"] .home-grid .cal-cell.today { background: var(--ov-tool) !important; box-shadow: none !important; }
html[data-theme="dark"] .home-grid .cal-cell.selected { background: var(--ov-sel) !important; box-shadow: none !important; }
html[data-theme="dark"] .home-grid .cal-date { color: var(--ov-ink) !important; }
html[data-theme="dark"] .home-grid #mainCalCard .cal-date.today-num, html[data-theme="dark"] .home-grid .cal-date.today-num { background: var(--ov-pg-on) !important; color: var(--ov-pg-on-ink) !important; }
html[data-theme="dark"] .home-grid .cal-date.sun-num { color: var(--ov-bad) !important; }
html[data-theme="dark"] .home-grid .cal-date.sat-num { color: var(--ov-date) !important; }
html[data-theme="dark"] .home-grid .cal-event { background: var(--ov-head) !important; color: var(--ov-ink) !important; border-color: var(--ov-line2) !important; border-left-color: var(--ov-btn-line) !important; }
html[data-theme="dark"] .home-grid .cal-event.type-alert-due { background: var(--ov-pg-on) !important; color: var(--ov-pg-on-ink) !important; border-color: var(--ov-pg-on) !important; }
html[data-theme="dark"] .home-grid .cal-event.type-alert-past { background: var(--ov-paper) !important; color: var(--ov-bad) !important; border-color: var(--ov-bad) !important; }
html[data-theme="dark"] .home-grid .cal-event.done, html[data-theme="dark"] .home-grid .cal-event.type-alert-done { background: var(--ov-tool) !important; color: var(--ov-no) !important; border-color: var(--ov-line) !important; }
html[data-theme="dark"] .home-grid .cal-event[data-custom-color="1"] { background: var(--ov-head) !important; color: var(--ov-ink) !important; border-color: var(--ov-line2) !important; border-left-color: var(--ov-btn-line) !important; }
/* 알림 줄(2026-09-06): 세로선·점 없이 줄 색으로 구분 — 라이트 규칙(theme-overrides 끝)의 다크 짝 */
html[data-theme="dark"] .noti-item.unread { background: var(--card-bg) !important; border-color: var(--line-06); }
html[data-theme="dark"] .noti-item:not(.unread) { background: var(--sf-3) !important; }
html[data-theme="dark"] .noti-item:not(.unread) .noti-item-msg, html[data-theme="dark"] .noti-item:not(.unread) .noti-item-msg strong { color: var(--ink-soft) !important; }
html[data-theme="dark"] .noti-item.unread .noti-item-msg, html[data-theme="dark"] .noti-item.unread .noti-item-msg strong { color: var(--gray4) !important; }
html[data-theme="dark"] .home-grid .cal-header { background: var(--ov-bar); border-color: var(--ov-frame); }

/* 일지 위쪽 고전톤(2026-09-08) — 다크에서도 종이는 밝게(위 .journal-toolbar 방침 그대로). 결재 상세 창과 같은 값. */
html[data-theme="dark"] .journal-box .journal-toolbar {
  background: #F4F4F4 !important;
  border-bottom-color: #B0B0B0 !important;
}
html[data-theme="dark"] .journal-box .journal-toolbar .jmt-th,
html[data-theme="dark"] .journal-box .journal-toolbar .journal-workflow-label,
html[data-theme="dark"] .journal-box .journal-toolbar label.jmt-th {
  background: #EFEFEF !important;
  color: #000000 !important;
}
html[data-theme="dark"] .journal-box .journal-toolbar .journal-date-picker-wrapper #journalDateDisplay {
  background: transparent !important;
  border: 0 !important;
  color: #0000CC !important;
  box-shadow: none !important;
}
html[data-theme="dark"] .journal-box .journal-toolbar .journal-meta-table button {
  background: #EFEFEF !important;
  border-color: #909090 !important;
  color: #000000 !important;
}
html[data-theme="dark"] .journal-box .journal-toolbar .journal-meta-table button:hover {
  background: #E0E0E0 !important;
  border-color: #909090 !important;
  color: #000000 !important;
}
html[data-theme="dark"] .journal-header-divider { background: rgba(255, 255, 255, 0.28); }

/* Admin-only Untitled UI implementation; never changes customer form colors. */
html[data-theme="dark"] #page-admin-main.admin-kit-shell,
html[data-theme="dark"] body:has(#page-admin-main.admin-kit-shell.active),
html[data-theme="dark"] body:has(#page-admin-main.admin-kit-shell.active) > .ccp-modal-overlay {
  --kit-paper: #171717;
  --kit-subtle: #1f1f1f;
  --kit-hover: #262626;
  --kit-ink: #fafafa;
  --kit-text: #e5e5e5;
  --kit-muted: #a3a3a3;
  --kit-line: #333;
  --kit-input-line: #525252;
  --kit-danger: #ff4d4d;
  --kit-focus: #84adff;
}
/* Customer kit tokens only; shared journal tokens remain untouched. */
html[data-theme="dark"] #page-user-main.customer-kit-shell,
html[data-theme="dark"] #journalOverlay.customer-journal-preview,
html[data-theme="dark"] body:has(#page-user-main.customer-kit-shell.active) :is(#journalOverlay, #noticeDetailModal, #profileEditModal, #selobunAssistant, #proxyBar, #vfcConfirmOverlay, #vfcNoticePopupOverlay, #docTrashOverlay, #jUsageGuidePopup, #jExamplePreviewOverlay, #apvDetailModal, #_signOverlay, #customerUploadModal, #subConfirmModal, #paymentHistoryModal) {
  --ck-paper: #171717;
  --ck-subtle: #202020;
  --ck-hover: #262626;
  --ck-ink: #fafafa;
  --ck-text: #e5e5e5;
  --ck-muted: #a3a3a3;
  --ck-line: #404040;
  --ck-input-line: #525252;
  --ck-danger: #ff6b6b;
}
html[data-theme="dark"] body:has(#page-user-main.customer-kit-shell.active) #customerUploadModal .cu-area { background:var(--ck-subtle); }
html[data-theme="dark"] body:has(#page-user-main.customer-kit-shell.active) #customerUploadModal .cu-zone { border-color:var(--ck-input-line); }
html[data-theme="dark"] body:has(#page-user-main.customer-kit-shell.active) #customerUploadModal [data-upload-close] img { filter:none; }
