/* ============================================================
   themes.css — 중앙화된 테마 3종 (사용자 확정 2026-10-13)
   시그니처 = 별도 클래스 없음 (값 dark — 처음 만든 남색 스타일, 기본값)
   라이트   = body.rb-light
   다크모드 = body.rb-night  (무채색 다크. 옛 그레이 테마 규칙을 이어받았다)
   그레이·블루 테마는 2026-10-13 폐기.

   각 테마는 공통적으로 자주 쓰이는 셀렉터를 광범위하게 덮어쓴다.
   (이식 화면의 페이지별 인라인 테마 주입은 2026-10-13 폐기 — 화면 색은 CSS 변수로만)
   ============================================================ */


/* =====================================================
   ☀ LIGHT MODE
   ===================================================== */

/* 본문 */
body.rb-light {
  background:#f2f2f8 !important;
  color:#1a1a2e !important;
}

/* 헤더/네비 */
body.rb-light .titlebar { background:#fff !important; border-color:#d8d8ec !important; }
body.rb-light .navbar { background:#f0f0fc !important; border-color:#d8d8ec !important; color:#1a1a2e !important; }
body.rb-light .nav-btn { color:#555577 !important; }
body.rb-light .nav-btn:hover { background:#e4e4f4 !important; color:#1a1a2e !important; }
body.rb-light .nav-btn.active { background:#d4d4ec !important; color:#1a1a2e !important; }
body.rb-light .nav-btn-back { color:#555577 !important; }

/* 사이드바 (settings 등) */
body.rb-light .sidebar,
body.rb-light .side-menu,
body.rb-light .menu-list { background:#f8f8ff !important; border-color:#d8d8ec !important; }
body.rb-light .menu-item { color:#555577 !important; }
body.rb-light .menu-item:hover { background:#e4e4f4 !important; color:#1a1a2e !important; }
body.rb-light .menu-item.active { background:#d4d4ec !important; color:#1a1a2e !important; }

/* 컨텐츠 컨테이너 */
body.rb-light .content,
body.rb-light .container,
body.rb-light .main { background:transparent !important; color:#1a1a2e !important; }

/* 테이블 */
body.rb-light .table-wrap,
body.rb-light .xl-grid-wrap { background:#fff !important; border-color:#d0d0e0 !important; }
body.rb-light table { background:#fff !important; }
body.rb-light thead tr,
body.rb-light table thead { background:#e8e8f8 !important; }
body.rb-light th { color:#5555aa !important; border-color:#d8d8ec !important; background:#e8e8f8 !important; }
body.rb-light td { color:#2a2a4e !important; border-color:#e4e4f0 !important; background-color:#fff !important; }
/* 줄 강조 — 배경색을 바꾸지 않고 원래 색 위에 옅은 막(배경 그림 층)을 덮는다 (2026-10-13).
   예전엔 background-color 를 #e8e8f8 로 갈아 끼워, 마우스를 올린 줄의 의미색(52시간 미만 파랑·초과 빨강,
   근무구분·상태색)이 사라졌다(사용자 "빨강이냐 흰색이냐 파랑이냐가 사라져서 불편").
   box-shadow 로 덮지 않는 것은 칸 구분선을 box-shadow 로 그리는 표(회계 대시보드 고정 열)가 있어서다 */
body.rb-light tbody tr:hover td { background-image:linear-gradient(rgba(47,107,220,.11), rgba(47,107,220,.11)) !important; }
body.rb-light tbody tr.row-cancel td { background-color:#fff5f5 !important; }
body.rb-light .empty,
body.rb-light .empty-row { color:#8b90a8 !important; }

/* 모달 */
body.rb-light .modal-overlay { background:rgba(40,40,80,.55) !important; }
body.rb-light .modal { background:#fff !important; border-color:#d0d0e0 !important; color:#1a1a2e !important; box-shadow:0 12px 48px rgba(60,60,120,.18) !important; }
body.rb-light .modal-title { color:#1a1a2e !important; border-bottom-color:#e0e0f0 !important; }
body.rb-light .modal-close { color:#9999cc !important; }
body.rb-light .modal-close:hover { color:#1a1a2e !important; }
body.rb-light .modal-footer { border-top-color:#e0e0f0 !important; }

/* 폼 */
body.rb-light input[type=text],
body.rb-light input[type=password],
body.rb-light input[type=email],
body.rb-light input[type=date],
body.rb-light input[type=number],
body.rb-light input[type=search],
body.rb-light select,
body.rb-light textarea { background:#fff !important; color:#1a1a2e !important; border-color:#c0c0d8 !important; }
body.rb-light .form-row label,
body.rb-light label { color:#5555aa !important; }
body.rb-light .section-label,
body.rb-light .section-header { color:#5555aa !important; }
body.rb-light .section-desc { color:#7777aa !important; }
body.rb-light .gubun-filter-btn,
body.rb-light .db-tab,
body.rb-light .code-tab { background:#fff !important; color:#777799 !important; border-color:#c0c0d8 !important; }
body.rb-light .db-tab:hover,
body.rb-light .code-tab:hover { background:#f0f0fc !important; }
body.rb-light .gubun-filter-btn.active,
body.rb-light .db-tab.active,
body.rb-light .code-tab.active { background:#534AB7 !important; color:#fff !important; border-color:#534AB7 !important; }

/* 버튼 — 컬러 버튼은 그대로 유지{ background:#e4e4f0 !important; color:#444466 !important; border-color:#c0c0d8 !important; }

/* 카드/박스 */
body.rb-light .pay-box,
body.rb-light .stage-card,
body.rb-light .cpanel-box,
body.rb-light .info-box,
body.rb-light .issue-info,
body.rb-light .pay-info { background:#f8f8ff !important; border-color:#d0d0e0 !important; }
body.rb-light .pay-box-title,
body.rb-light .stage-title,
body.rb-light .cpanel-title { color:#5555aa !important; }
body.rb-light .info-label,
body.rb-light .issue-info-label,
body.rb-light .stage-label,
body.rb-light .cset-label { color:#7777aa !important; }
body.rb-light .info-val,
body.rb-light .issue-info-val,
body.rb-light .stage-val { color:#2a2a4e !important; }

/* 푸터 */
body.rb-light .footer-info,
body.rb-light .footer { color:#7777aa !important; background:#f0f0fc !important; border-color:#d8d8ec !important; }

/* 드로어 / 드롭존  (비고 보드는 note_board.js 가 테마 변수로 처리) */
body.rb-light .note-author { color:#5555aa !important; }
body.rb-light .note-time { color:var(--text-mute) !important; }
body.rb-light .fb-drawer { background:#fff !important; border-color:#d0d0e0 !important; }
body.rb-light .fb-drawer-header { background:#f0f0f8 !important; border-color:#d0d0e0 !important; color:#1a1a2e !important; }
body.rb-light .fbd-row { background:#f8f8ff !important; border-color:#d0d0e0 !important; }
body.rb-light .drop-zone,
body.rb-light .drop-zone-upload { border-color:#c0c0d0 !important; background:#f8f8ff !important; color:#5555aa !important; }
body.rb-light .drop-zone:hover,
body.rb-light .drop-zone.drag-over { background:#e8e8f8 !important; border-color:#534AB7 !important; }
body.rb-light .history-item { border-color:#e0e0f0 !important; background:#fff !important; }

/* 상태/뱃지 — 강조 색상 유지하되 명도 보정 */
body.rb-light .status-pending { background:#f0f0fc !important; color:var(--text-dim) !important; }
body.rb-light .status-done { background:#e0fff4 !important; color:#0a7a50 !important; }
body.rb-light .status-req { background:#fff3e0 !important; color:#b06000 !important; }
body.rb-light .status-reject { background:#ffe0e0 !important; color:#c03030 !important; }
body.rb-light .badge-on,
body.rb-light .badge-승인 { background:#e0fff4 !important; color:#0a7a50 !important; }
body.rb-light .badge-off,
body.rb-light .badge-거절 { background:#ffe0e0 !important; color:#c03030 !important; }
body.rb-light .badge-대기 { background:#fff8e0 !important; color:#b06000 !important; }
body.rb-light .badge-admin { background:#534AB7 !important; color:#fff !important; }
body.rb-light .badge-manager { background:#1a5090 !important; color:#fff !important; }
body.rb-light .badge-user { background:#1D9E75 !important; color:#fff !important; }
body.rb-light .badge-viewer { background:#888899 !important; color:#fff !important; }

/* 다이얼로그(dialogs.js) */
body.rb-light .dlg-box { background:#fff !important; border-color:#d0d0e0 !important; }
body.rb-light .dlg-title { color:#1a1a2e !important; }
body.rb-light .dlg-msg { color:#5555aa !important; }
body.rb-light .dlg-btn-cancel { background:#e4e4f0 !important; color:#444466 !important; border-color:#c0c0d8 !important; }


/* =====================================================
   ⚫ DARK MODE (다크모드 — body.rb-night)
   ===================================================== */

body.rb-night {
  background:#242424 !important;
  color:#e0e0e0 !important;
}

body.rb-night .titlebar { background:#1a1a1a !important; border-color:#383838 !important; }
body.rb-night .navbar { background:#1e1e1e !important; border-color:#383838 !important; color:#e0e0e0 !important; }
body.rb-night .nav-btn { color:#aaa !important; }
body.rb-night .nav-btn:hover { background:#2e2e2e !important; color:#fff !important; }
body.rb-night .nav-btn.active { background:#383838 !important; color:#fff !important; }
body.rb-night .nav-btn-back { color:#aaa !important; }

body.rb-night .sidebar,
body.rb-night .side-menu,
body.rb-night .menu-list { background:#1a1a1a !important; border-color:#383838 !important; }
body.rb-night .menu-item { color:#aaa !important; }
body.rb-night .menu-item:hover { background:#2e2e2e !important; color:#fff !important; }
body.rb-night .menu-item.active { background:#383838 !important; color:#fff !important; }

body.rb-night .content,
body.rb-night .container,
body.rb-night .main { background:transparent !important; color:#e0e0e0 !important; }

body.rb-night .table-wrap,
body.rb-night .xl-grid-wrap { background:#1e1e1e !important; border-color:#383838 !important; }
body.rb-night table { background:#1e1e1e !important; }
body.rb-night thead tr,
body.rb-night table thead { background:#1a1a1a !important; }
body.rb-night th { color:#999 !important; border-color:#383838 !important; background:#1a1a1a !important; }
body.rb-night td { color:#ccc !important; border-color:#2a2a2a !important; background-color:#1e1e1e !important; }
body.rb-night tbody tr:hover td { background-image:linear-gradient(rgba(255,255,255,.07), rgba(255,255,255,.07)) !important; }   /* 위와 같은 방식 */
body.rb-night tbody tr.row-cancel td { background-color:#2a1a1a !important; }
body.rb-night .empty,
body.rb-night .empty-row { color:#9a9eaa !important; }

body.rb-night .modal-overlay { background:rgba(0,0,0,.7) !important; }
body.rb-night .modal { background:#262626 !important; border-color:#383838 !important; color:#ddd !important; }
body.rb-night .modal-title { color:#ddd !important; border-bottom-color:#383838 !important; }
body.rb-night .modal-close { color:#888 !important; }
body.rb-night .modal-close:hover { color:#fff !important; }
body.rb-night .modal-footer { border-top-color:#383838 !important; }

body.rb-night input[type=text],
body.rb-night input[type=password],
body.rb-night input[type=email],
body.rb-night input[type=date],
body.rb-night input[type=number],
body.rb-night input[type=search],
body.rb-night select,
body.rb-night textarea { background:#1a1a1a !important; color:#ccc !important; border-color:#383838 !important; }
body.rb-night .form-row label,
body.rb-night label { color:#999 !important; }
body.rb-night .section-label,
body.rb-night .section-header { color:#aaa !important; }
body.rb-night .section-desc { color:#888 !important; }
body.rb-night .gubun-filter-btn,
body.rb-night .db-tab,
body.rb-night .code-tab { background:#1a1a1a !important; color:#888 !important; border-color:#383838 !important; }
body.rb-night .db-tab:hover,
body.rb-night .code-tab:hover { background:#262626 !important; }
body.rb-night .gubun-filter-btn.active,
body.rb-night .db-tab.active,
body.rb-night .code-tab.active { background:#606060 !important; color:#fff !important; border-color:#707070 !important; }

body.rb-night .pay-box,
body.rb-night .stage-card,
body.rb-night .cpanel-box,
body.rb-night .info-box,
body.rb-night .issue-info,
body.rb-night .pay-info { background:#1a1a1a !important; border-color:#383838 !important; }
body.rb-night .pay-box-title,
body.rb-night .stage-title,
body.rb-night .cpanel-title { color:#999 !important; }
body.rb-night .info-label,
body.rb-night .issue-info-label,
body.rb-night .stage-label,
body.rb-night .cset-label { color:#888 !important; }
body.rb-night .info-val,
body.rb-night .issue-info-val,
body.rb-night .stage-val { color:#ccc !important; }

body.rb-night .footer-info,
body.rb-night .footer { color:#666 !important; background:#1a1a1a !important; border-color:#383838 !important; }

body.rb-night .note-author { color:#bbb !important; }
body.rb-night .note-time { color:#666 !important; }
body.rb-night .fb-drawer { background:#222 !important; border-color:#383838 !important; }
body.rb-night .fb-drawer-header { background:#1a1a1a !important; border-color:#383838 !important; color:#ccc !important; }
body.rb-night .fbd-row { background:#1a1a1a !important; border-color:#383838 !important; }
body.rb-night .drop-zone,
body.rb-night .drop-zone-upload { border-color:#383838 !important; background:#1a1a1a !important; color:#888 !important; }
body.rb-night .drop-zone:hover,
body.rb-night .drop-zone.drag-over { background:#2a2a2a !important; }
body.rb-night .history-item { border-color:#2e2e2e !important; background:#1e1e1e !important; }

body.rb-night .dlg-box { background:#262626 !important; border-color:#383838 !important; }
body.rb-night .dlg-title { color:#ddd !important; }
body.rb-night .dlg-msg { color:#999 !important; }
body.rb-night .dlg-btn-cancel { background:#303030 !important; color:#aaa !important; border-color:#383838 !important; }


/* =====================================================
   페이지별 고유 셀렉터 추가 커버리지
   (대시보드 KPI/차트, 영업관리 캘린더 등)
   ===================================================== */

/* ── LIGHT MODE ── */
/* 대시보드 (관리용/회계용) */
body.rb-light .kpi,
body.rb-light .chart-card,
body.rb-light .cust-list-wrap,
body.rb-light .detail-wrap { background:#fff !important; border-color:#d0d0e0 !important; }
body.rb-light .kpi-label,
body.rb-light .chart-title,
body.rb-light .kpi-sub { color:#7777aa !important; }
body.rb-light .kpi-val.white { color:#1a1a2e !important; }
body.rb-light .section-title { color:#5555aa !important; border-left-color:#1D9E75 !important; }
body.rb-light .sticky-top { background:#f2f2f8 !important; border-bottom-color:#d0d0e0 !important; }
body.rb-light .chart-card .split-half + .split-half { border-top-color:#e0e0f0 !important; }
body.rb-light .badge-진행중 { background:#e0f0ff !important; color:#185FA5 !important; }
body.rb-light .badge-납품완료 { background:#fff3e0 !important; color:#854F0B !important; }
body.rb-light .badge-입금완료 { background:#e0fff4 !important; color:#0F6E56 !important; }

/* 영업관리 캘린더 (sm-*) */
body.rb-light .sm-toolbar { background:#fff !important; border-color:#d8d8ec !important; }
body.rb-light .sm-chk { background:#fff !important; color:#1a1a2e !important; border-color:#c0c0d8 !important; }
body.rb-light .sm-cal { background:#fff !important; border-color:#d0d0e0 !important; }
body.rb-light .sm-dow span { background:#e8e8f8 !important; color:#5555aa !important; }
body.rb-light .sm-cell { background:#f8f8ff !important; border-color:#e0e0f0 !important; }
body.rb-light .sm-more { background:#e8e8f8 !important; color:#5555aa !important; border-color:#d0d0e0 !important; }
body.rb-light .sm-more:hover { background:#d4d4ec !important; color:#1a1a2e !important; }
body.rb-light .sm-modal { background:#fff !important; border-color:#d0d0e0 !important; }
body.rb-light .sm-ev-item { background:#f8f8ff !important; border-color:#d0d0e0 !important; }

/* 회계용 대시보드 추가 */
body.rb-light .issue-info { background:#f8f8ff !important; border-color:#d0d0e0 !important; }
body.rb-light .file-cat-hdr { background:#f8f8ff !important; color:#5555aa !important; }
body.rb-light .file-cat-hdr:hover { background:#e8e8f8 !important; }
body.rb-light .file-cat-body { background:#f0f0fc !important; }
body.rb-light .file-item { background:#fff !important; color:#2a2a4e !important; }


/* ── DARK MODE (rb-night) ── */
body.rb-night .kpi,
body.rb-night .chart-card,
body.rb-night .cust-list-wrap,
body.rb-night .detail-wrap { background:#1a1a1a !important; border-color:#383838 !important; }
body.rb-night .kpi-label,
body.rb-night .chart-title,
body.rb-night .kpi-sub { color:#999 !important; }
body.rb-night .kpi-val.white { color:#fff !important; }
body.rb-night .section-title { color:#aaa !important; border-left-color:#1D9E75 !important; }
body.rb-night .sticky-top { background:#242424 !important; border-bottom-color:#383838 !important; }
body.rb-night .chart-card .split-half + .split-half { border-top-color:#383838 !important; }

body.rb-night .sm-toolbar { background:#1e1e1e !important; border-color:#383838 !important; }
body.rb-night .sm-chk { background:#1a1a1a !important; color:#ccc !important; border-color:#383838 !important; }
body.rb-night .sm-cal { background:#1e1e1e !important; border-color:#383838 !important; }
body.rb-night .sm-dow span { background:#1a1a1a !important; color:#aaa !important; }
body.rb-night .sm-cell { background:#1a1a1a !important; border-color:#2e2e2e !important; }
body.rb-night .sm-more { background:#1e1e1e !important; color:#aaa !important; border-color:#383838 !important; }
body.rb-night .sm-more:hover { background:#2e2e2e !important; color:#fff !important; }
body.rb-night .sm-modal { background:#262626 !important; border-color:#383838 !important; }
body.rb-night .sm-ev-item { background:#1a1a1a !important; border-color:#383838 !important; }

body.rb-night .issue-info { background:#1a1a1a !important; border-color:#383838 !important; }
body.rb-night .file-cat-hdr { background:#1a1a1a !important; color:#aaa !important; }
body.rb-night .file-cat-hdr:hover { background:#2a2a2a !important; }
body.rb-night .file-cat-body { background:#0e0e0e !important; }
body.rb-night .file-item { background:#1a1a1a !important; color:#ccc !important; }


/* =====================================================
   인쇄 시 모든 테마 비활성화 (거래명세서 등 기본 흰 배경 유지)
   ===================================================== */
@media print {
  body.rb-light, body.rb-night { background:#fff !important; color:#000 !important; }
  body.rb-light *, body.rb-night * {
    background:transparent !important; color:#000 !important;
    border-color:#888 !important; box-shadow:none !important;
  }
}

/* =====================================================
   거래조건 모달(terms_modal.js) 상태색 — 라이트 배경에서는
   파스텔 상태색이 안 읽혀서 진한 색으로 교체 (2026-08-13)
   ===================================================== */
body.rb-light {
  --tm-ok:#0f8a5f; --tm-warn:#b26f00; --tm-info:#2f6bdc;
  --tm-bad:#c43d47; --tm-na:#8b90a8;
}

/* =====================================================
   라이트 모드 가독성 보강 — 2026-08-13 전 화면 대비 감사 결과
   (다크용 파스텔 텍스트가 흰 배경에서 안 읽히는 곳들)
   ===================================================== */

/* 프로젝트 관리 — 매출월 경과·미마감 경고 배너 */
body.rb-light .ob-icon, body.rb-light .ob-label { color:#c43d47 !important; }
body.rb-light .ob-value { color:#a12832 !important; }
body.rb-light .ob-sub { color:#9a5b5b !important; }

/* 영업관리 달력 — 제목(흰색)·주말 날짜 */
body.rb-light .sm-title { color:#1a1a2e !important; }
body.rb-light .sm-day { color:#c43d47 !important; }

/* 관리용 대시보드 — 기간 라벨·KPI 값 */
body.rb-light .period-label { color:#0f8a5f !important; }
body.rb-light .kpi-val.green { color:#0f8a5f !important; }
body.rb-light .kpi-val.blue  { color:#2f6bdc !important; }
body.rb-light .kpi-val.amber { color:#9a6f00 !important; }
body.rb-light .kpi-val.red   { color:#c43d47 !important; }

/* 견적 — 등급·상태 배지 */
body.rb-light .grade-badge.grade-A { color:#0f8a5f !important; }
body.rb-light .grade-badge.grade-B { color:#9a6f00 !important; }
body.rb-light .grade-badge.grade-C { color:#2f6bdc !important; }
body.rb-light .badge-검토중 { color:#2f6bdc !important; }

/* 세금계산서·수금 — 요약카드 값·마감 제목 */
/* .sc-value 는 이제 테마 변수(--warn/--accent)를 쓴다 — 오버라이드 제거 2026-08-14 */
body.rb-light .detail-title { color:#3d3580 !important; }

/* 회계 — 양수/음수·입금 배지 */
body.rb-light .pos { color:#0f8a5f !important; }
body.rb-light .neg { color:#c43d47 !important; }
body.rb-light .badge.closed { color:#0f8a5f !important; }

/* 인라인 스타일로 박힌 다크용 파스텔 색 일괄 보정
   (레거시 화면 JS 가 style="color:#..." 로 직접 찍는 곳들) */
body.rb-light [style*="#5DCAA5"] { color:#0f8a5f !important; }
body.rb-light [style*="#EF9F27"] { color:#9a6f00 !important; }
body.rb-light [style*="#85B7EB"] { color:#2f6bdc !important; }
body.rb-light [style*="#F09595"] { color:#c43d47 !important; }
body.rb-light [style*="#ffcccc"] { color:#a12832 !important; }
body.rb-light [style*="#ccc8ff"] { color:#3d3580 !important; }
body.rb-light [style*="#b8b0ff"] { color:#4a3fb5 !important; }
body.rb-light [style*="#9999cc"] { color:#5a5f7a !important; }
body.rb-light [style*="#6666aa"] { color:#5a5f7a !important; }

/* =====================================================
   의미색 셀 보존 — 위의 테마별 `td { background:... !important }` 광역 규칙이
   데이터 의미색(52시간 미만/초과 등)까지 지워버려서 명시 복원 (2026-08-14)
   ms-* = 인사 > 내현황 52시간 탭. 같은 색인데 빠져 있어 라이트에서 칸이 하얗게 보였다 (2026-10-13)
   ===================================================== */
body.rb-light td.wk-under, body.rb-light td.ms-under { background-color:#dbe6ff !important; }
body.rb-light td.wk-over,  body.rb-light td.ms-over  { background-color:#f6cdd1 !important; }
body.rb-night  td.wk-under, body.rb-night  td.ms-under { background-color:#31404f !important; }
body.rb-night  td.wk-over,  body.rb-night  td.ms-over  { background-color:#4d2c30 !important; }
/* 근무구분 칸 (인사 > 근무현황·내 현황·기간조회 .g-wd/.g-off/.g-hol) — 같은 광역 규칙에 지워져
   라이트에서 평일·휴무·공휴일이 전부 흰 칸이었다 (2026-10-13). 반투명이라 라이트·다크모드 공통 */
body.rb-light td.g-wd,  body.rb-night td.g-wd { background-color:rgba(91,140,255,.12) !important; }
body.rb-light td.g-off, body.rb-night td.g-off { background-color:rgba(240,180,41,.16) !important; }
body.rb-light td.g-hol, body.rb-night td.g-hol { background-color:rgba(242,96,106,.13) !important; }

/* ── 생산관리 (2026-09-08) ────────────────────────────────────────
   ★같은 광역 규칙에 상태색이 통째로 지워져 있었다 — 다크 말고는 완료·진행·
     미확정이 전부 흰 칸으로 보였다(라이트에서 실측). 표에서 색이 곧 정보인
     화면이라 색이 사라지면 무엇이 끝났는지 훑을 수 없다. 위 wk-* 와 같은
     방식으로 명시 복원한다.
   ★시작일 열은 입고(예정)일과 생산·납품을 가르는 기준점이라 상태색이 아니라
     '띠'(바탕 + 양옆 강조선)로 구분한다. 두 클래스라 상태색보다 우선한다. */
body.rb-light td.pd-s-완료   { background-color:#d9f2e6 !important; color:#167a52 !important; }
body.rb-light td.pd-s-진행   { background-color:#dde6ff !important; color:#2b4fd0 !important; }
body.rb-light td.pd-s-미확정 { background-color:#fdf0d0 !important; color:#8a6212 !important; }
body.rb-night  td.pd-s-완료   { background-color:#23382f !important; color:#6fd6a8 !important; }
body.rb-night  td.pd-s-진행   { background-color:#232b3d !important; color:#8fb0ff !important; }
body.rb-night  td.pd-s-미확정 { background-color:#3a3222 !important; color:#e0b95c !important; }

body.rb-light td.pd-start, body.rb-light th.pd-start {
  background-color:#e2e2f4 !important; color:#2a2a4e !important;
  border-left-color:#5b8cff !important; border-right-color:#5b8cff !important; }
body.rb-night  td.pd-start, body.rb-night  th.pd-start {
  background-color:#2e2e2e !important; color:#e0e0e0 !important;
  border-left-color:#7a7a7a !important; border-right-color:#7a7a7a !important; }

/* ── 설계관리 (2026-09-08) ────────────────────────────────────────
   ★위 광역 td/th 규칙(body.rb-* td … !important)이 화면 안의 .dm-g1~3
     (수주·설계·생산단계 칸 바탕)보다 우선해 다크 말고는 세 단계가 전부
     같은 색으로 보였다(라이트에서 실측). 단계별 칸 색은 훑어보기의 기준이라
     pd-s-* 와 같은 방식으로 테마마다 명시 복원한다. th 도 같이 덮이므로 포함. */
body.rb-light td.dm-g1, body.rb-light th.dm-g1 { background-color:#e9f0ff !important; }
body.rb-light td.dm-g2, body.rb-light th.dm-g2 { background-color:#f5ebf9 !important; }
body.rb-light td.dm-g3, body.rb-light th.dm-g3 { background-color:#e6f5ee !important; }
body.rb-night  td.dm-g1, body.rb-night  th.dm-g1 { background-color:#232b3d !important; }
body.rb-night  td.dm-g2, body.rb-night  th.dm-g2 { background-color:#2f2538 !important; }
body.rb-night  td.dm-g3, body.rb-night  th.dm-g3 { background-color:#23382f !important; }
