@charset "UTF-8";

/* ==========================================================================
   Re.y Enterprise - 전사 통합 라이트(아이보리 4단계) & 다크(소프트 블랙 3단계) 테마 마스터
   - 라이트 모드:
     * 사이드바: 기본 아이보리 2단계 밝은 색 (#F1ECE1)
     * 표/카드 섹션 내부: 기본 아이보리 3단계 밝은 색 (#F6F3EC)
     * 내부 화면 페이지 배경: 기본 아이보리 4단계 밝은 색 (#FAF8F4)
     * 버튼/텍스트: 웜 차콜 고대비 텍스트 (#1C1917, #3F3A34) & 입체 음영 버튼
   - 다크 모드 (순수 검정 #000000 및 남색 #0F172A 완전 배제):
     * 사이드바: 기본 블랙보다 1단계 밝은 색 (#17171A)
     * 표/카드 섹션 내부: 기본 블랙의 2단계 밝은 색 (#1F1F24)
     * 내부 화면 페이지 배경: 기본 블랙의 3단계 밝은 색 (#27272D)
     * 버튼/텍스트: 고선명 실버 화이트 (#F4F4F6, #D4D4D8) & 다크 전용 입체 음영 버튼
   ========================================================================== */

:root:not([data-theme-preset]),
:root[data-theme-preset="rey_signature"],
html:not([data-theme="dark"]):not(.dark-mode):not([data-theme-preset]),
html[data-theme-preset="rey_signature"][data-theme="light"],
html[data-theme-preset="rey_signature"]:not([data-theme="dark"]):not(.dark-mode),
body:not(.dark-mode):not([data-theme-preset]),
body[data-theme-preset="rey_signature"]:not(.dark-mode) {
  /* 아이보리 4단계 계층 시스템 */
  --ivory-step-1: #E7E0D3; /* 기본 아이보리 (1단계: 보더/구분선/강조 배경) */
  --ivory-step-2: #F1ECE1; /* 아이보리 2단계 밝은 색: 사이드바 & 상단 헤더 */
  --ivory-step-3: #F6F3EC; /* 아이보리 3단계 밝은 색: 표(Table) & 카드 섹션 내부 */
  --ivory-step-4: #FAF8F4; /* 아이보리 4단계 밝은 색: 내부 화면 페이지 배경 */
  --ivory-sub-box: #EDE8DC; /* 카드 내부 서브박스 / 테이블 헤더 */
  --ivory-input-bg: #FCFBF9; /* 입력창 배경 */

  /* 표준 CSS 변수 매핑 */
  --bg-sidebar: #F1ECE1;
  --bg-sidebar-hover: #E7E0D3;
  --bg-body: #FAF8F4;
  --bg-card: #F6F3EC;
  --bg-card-alt: #EDE8DC;
  --bg-sub: #EDE8DC;
  --bg-elevated: #F1ECE1;

  --text-main: #1C1917;
  --text-sub: #3F3A34;
  --text-muted: #686259;
  --text-disabled: #968F84;

  --border-base: #DFD8C8;
  --border-color: #DFD8C8;
  --border-light: #E8E2D5;
  --border-strong: #CFC6B4;
  --border-dashed: #CFC6B4;

  --tint-blue-bg: #E0F2FE;
  --tint-red-bg: #FEE2E2;
  --tint-green-bg: #ECFDF5;
  --tint-amber-bg: #FFFBEB;
  --tint-purple-bg: #F3E8FF;
  --tint-blue-text: #0369A1;
  --tint-red-text: #B91C1C;
  --tint-green-text: #059669;
  --tint-amber-text: #B45309;
  --tint-purple-text: #7E22CE;

  --color-primary: #2563EB;
  --color-primary-hover: #1D4ED8;
  --color-primary-light: rgba(37, 99, 235, 0.10);
  --color-primary-border: #93C5FD;

  --btn-primary-bg: #2563EB;
  --btn-primary-text: #FFFFFF;
  --btn-primary-shadow: 0 2px 5px rgba(37, 99, 235, 0.28), 0 1px 2px rgba(28, 25, 23, 0.12);
  --btn-secondary-bg: #EAE3D5;
  --btn-secondary-hover: #DFD7C6;
  --btn-secondary-text: #1C1917;
  --btn-secondary-border: #C9BFAC;
  --btn-secondary-shadow: 0 1px 3px rgba(28, 25, 23, 0.10);

  /* 하위 모듈 변수 연동 */
  --int-bg-body: #FAF8F4;
  --int-bg-card: #F6F3EC;
  --int-bg-header: #EDE8DC;
  --int-bg-subtle: #EDE8DC;
  --int-border: #DFD8C8;
  --int-border-light: #E8E2D5;
  --int-text-main: #1C1917;
  --int-text-sub: #3F3A34;
  --int-text-muted: #686259;

  --legal-navy-dark: #F1ECE1;
  --legal-navy-card: #F6F3EC;
  --legal-card-bg: #F6F3EC;
  --legal-gray-bg: #EDE8DC;
  --legal-gray-hover: #E5DEC9;
  --legal-border: #DFD8C8;
  --legal-border-subtle: #E8E2D5;
  --legal-text-main: #1C1917;
  --legal-text-sub: #3F3A34;
  --legal-text-muted: #686259;
}

html[data-theme="dark"]:not([data-theme-preset]),
html.dark-mode:not([data-theme-preset]),
body.dark-mode:not([data-theme-preset]),
html[data-theme="dark"]:not([data-theme-preset]) body,
html.dark-mode:not([data-theme-preset]) body,
html[data-theme-preset="rey_signature"][data-theme="dark"],
html[data-theme-preset="rey_signature"].dark-mode,
html[data-theme-preset="rey_signature"][data-theme="dark"] body,
html[data-theme-preset="rey_signature"].dark-mode body,
body[data-theme-preset="rey_signature"].dark-mode,
body.dark-mode[data-theme-preset="rey_signature"] {
  /* 소프트 블랙 3단계 계층 시스템 (순수 검정 #000000 및 남색 #0F172A 완전 배제) */
  --dark-step-1: #17171A; /* 기본 블랙보다 1단계 밝은 색: 사이드바 & 상단 헤더 */
  --dark-step-2: #1F1F24; /* 기본 블랙의 2단계 밝은 색: 표(Table) & 카드 섹션 내부 */
  --dark-step-3: #27272D; /* 기본 블랙의 3단계 밝은 색: 내부 화면 페이지 배경 */
  --dark-sub-box: #24242A; /* 카드 내부 서브박스 / 테이블 헤더 */
  --dark-input-bg: #1A1A1E; /* 입력창 배경 */

  /* 표준 CSS 변수 매핑 */
  --bg-sidebar: #17171A;
  --bg-sidebar-hover: #24242A;
  --bg-body: #17171A;
  --bg-card: #1F1F24;
  --bg-card-alt: #27272D;
  --bg-sub: #27272D;
  --bg-elevated: #27272D;

  --text-main: #FFFFFF;
  --text-sub: #E4E4E7;
  --text-muted: #D4D4D8;
  --text-disabled: #71717A;

  --border-base: #383842;
  --border-color: #383842;
  --border-light: #2B2B33;
  --border-strong: #484854;
  --border-dashed: #484854;

  --tint-blue-bg: rgba(99, 102, 241, 0.16);
  --tint-red-bg: rgba(239, 68, 68, 0.16);
  --tint-green-bg: rgba(16, 185, 129, 0.16);
  --tint-amber-bg: rgba(245, 158, 11, 0.16);
  --tint-purple-bg: rgba(139, 92, 246, 0.18);
  --tint-blue-text: #93C5FD;
  --tint-red-text: #FCA5A5;
  --tint-green-text: #6EE7B7;
  --tint-amber-text: #FCD34D;
  --tint-purple-text: #C4B5FD;

  --color-primary: #3B82F6;
  --color-primary-hover: #60A5FA;
  --color-primary-light: rgba(59, 130, 246, 0.18);
  --color-primary-border: #2563EB;

  --btn-primary-bg: #3B82F6;
  --btn-primary-text: #FFFFFF;
  --btn-primary-shadow: 0 2px 6px rgba(0, 0, 0, 0.50), 0 1px 3px rgba(59, 130, 246, 0.35);
  --btn-secondary-bg: #2E2E36;
  --btn-secondary-hover: #383842;
  --btn-secondary-text: #F4F4F6;
  --btn-secondary-border: #484854;
  --btn-secondary-shadow: 0 2px 4px rgba(0, 0, 0, 0.40);

  /* 하위 모듈 변수 연동 */
  --int-bg-body: #27272D;
  --int-bg-card: #1F1F24;
  --int-bg-header: #24242A;
  --int-bg-subtle: #24242A;
  --int-border: #32323A;
  --int-border-light: #2B2B32;
  --int-text-main: #F4F4F6;
  --int-text-sub: #D4D4D8;
  --int-text-muted: #A1A1AA;

  --legal-navy-dark: #17171A;
  --legal-navy-card: #1F1F24;
  --legal-card-bg: #1F1F24;
  --legal-gray-bg: #24242A;
  --legal-gray-hover: #2E2E36;
  --legal-border: #32323A;
  --legal-border-subtle: #2B2B32;
  --legal-text-main: #F4F4F6;
  --legal-text-sub: #D4D4D8;
  --legal-text-muted: #A1A1AA;
}

/* ==========================================================================
   [1. 사이드바 & 상단 헤더: 라이트(아이보리 2단계) / 다크(블랙 1단계)]
   ========================================================================== */
.sidebar,
aside.sidebar,
.global-top-header,
.header-ci-block,
.header-main-block,
.main-header {
  background: var(--bg-sidebar) !important;
  background-color: var(--bg-sidebar) !important;
  border-color: var(--border-base) !important;
}

.sidebar .menu-item > a {
  color: var(--text-sub) !important;
}

.sidebar .menu-item > a i:first-child {
  color: var(--text-muted) !important;
}

.sidebar .menu-item:hover > a {
  color: var(--text-main) !important;
  background-color: var(--bg-sidebar-hover) !important;
}

.sidebar .menu-item.active > a {
  color: #EA580C !important;
  font-weight: 700 !important;
}

[data-theme="dark"] .sidebar .menu-item.active > a,
html.dark-mode .sidebar .menu-item.active > a {
  color: #FB923C !important;
}

.sidebar .submenu {
  border-left-color: var(--border-strong) !important;
}

.sidebar .submenu li a {
  color: var(--text-sub) !important;
}

.sidebar .submenu li a:hover {
  color: var(--text-main) !important;
  background-color: var(--bg-sidebar-hover) !important;
}

.sidebar .submenu li.active a {
  color: #EA580C !important;
  background-color: rgba(234, 88, 12, 0.12) !important;
  font-weight: 700 !important;
}

[data-theme="dark"] .sidebar .submenu li.active a,
html.dark-mode .sidebar .submenu li.active a {
  color: #FB923C !important;
  background-color: rgba(251, 146, 60, 0.18) !important;
}

/* ==========================================================================
   [2. 내부 화면 페이지 배경: 라이트(아이보리 4단계 #FAF8F4) / 다크(블랙 3단계 #27272D)]
   ========================================================================== */
html,
body,
.dashboard-container,
.dashboard-main-wrapper,
.dashboard-workspace,
.main-content,
.content-body,
.srt-wrapper,
.srt-main-content,
.mail-app-container,
.editor-body,
.editor-canvas-container {
  background: var(--bg-body) !important;
  background-color: var(--bg-body) !important;
  color: var(--text-main) !important;
}

/* ==========================================================================
   [3. 표(Table) 및 카드 섹션 내부: 라이트(아이보리 3단계 #F6F3EC) / 다크(블랙 2단계 #1F1F24)]
   ========================================================================== */
.widget,
.card,
.fcc-card,
.kpi-card,
.asset-summary-card,
.asset-matrix-card,
.asset-chart-card,
.asset-tracker-card,
.rental-summary-grid .widget,
.renewal-imminent-widget,
.interior-card,
.interior-toolbar-card,
.interior-table-card,
.interior-detail-card,
.pk-card,
.pk-kpi-card,
.seal-card,
.seal-kpi-card,
.vh-card,
.vh-kpi-card,
.ins-card,
.rental-card,
.ast-card,
.profile-card,
.settings-card,
.settings-bottom-card,
.settings-theme-card,
.exp-chart-panel,
.exp-kpi-card,
.tm-card,
.tm-kpi-card,
.lawfirm-card,
.party-section,
.memo-card,
.memo-standard-card,
.settlement-kpi-summary-card,
.settlement-detail-card,
.map-search-header,
.map-sidebar-panel,
.map-main-area,
.srt-control-panel,
.srt-calendar-card,
.srt-calendar-wrapper,
.srt-dash-card,
.srt-asset-card,
.corp-doc-card,
.contract-kpi-card,
.legal-kpi-card,
.sw-kpi-card,
.lease-kpi-card,
.lease-summary-card,
.modal-content,
.interior-modal-content,
.scale-up-modal-box,
.srt-mac-modal-window,
.srt-modal-md,
.srt-center-modal-content,
.loc-master-popup,
.bulk-modal-content,
.purpose-modal-content,
.vh-file-modal-content,
.qf-styled-modal,
.custom-detail-modal,
.trust-modal-card,
.slide-modal,
.slide-right-modal,
.slide-popup,
.slide-right-panel,
.interior-slide-modal,
.modal-body,
.interior-modal-body,
.modal-body-modern,
.srt-modal-body-sm,
.pk-modal-body,
.mail-sidebar,
.mail-list-pane,
.mail-reading-pane,
.mail-toolbar {
  background: var(--bg-card) !important;
  background-color: var(--bg-card) !important;
  border-color: var(--border-base) !important;
  color: var(--text-main) !important;
}

/* 카드 내부 서브박스 / 칩 / 헤더 영역 */
.asset-matrix-chip,
.region-filter-area,
.modal-header,
.interior-modal-header,
.modal-header-modern,
.srt-modal-header-sm,
.pk-modal-header,
.bulk-modal-header,
.modal-footer,
.interior-modal-footer,
.modal-footer-modern,
.pk-modal-footer,
.bulk-modal-footer,
.slide-modal-header,
.slide-header,
.interior-slide-header,
.slide-footer,
.interior-slide-footer,
.settings-hr-badge-grid,
.pw-step-container,
.file-item,
.existing-file-item {
  background: var(--bg-card-alt) !important;
  background-color: var(--bg-card-alt) !important;
  border-color: var(--border-base) !important;
  color: var(--text-main) !important;
}

/* 동적 상태 클래스 (인라인 JS 스타일 제거 후 클래스화) */
.selected-case-row {
  background-color: var(--color-primary-light, rgba(37, 99, 235, 0.12)) !important;
}

.kpi-selected {
  background-color: var(--color-primary-light, rgba(37, 99, 235, 0.12)) !important;
  color: var(--color-primary) !important;
  font-weight: 700 !important;
}

.resolved-item {
  opacity: 0.5 !important;
  background-color: var(--bg-card-alt) !important;
  transition: all 0.3s ease !important;
}

.file-item-deleted {
  text-decoration: line-through !important;
  opacity: 0.5 !important;
  background-color: rgba(239, 68, 68, 0.15) !important;
  color: #EF4444 !important;
}

/* 모든 표(Table) 헤더 및 셀: 아이보리 3단계 / 블랙 2단계 */
table,
.data-table,
.table,
.interior-data-table,
.doc-list-table,
.org-modern-table,
.int-detail-table,
.kpi-custom-table,
.tracker-mini-table,
#assets-table,
#rentals-table,
#insurance-table,
#vehicles-table,
#parking-table,
#leases-table,
#costs-table,
#contracts-table,
#seals-table,
#litigation-table,
#advisory-table,
#trademarks-table,
#expenses-table,
#software-table {
  background: var(--bg-card) !important;
  background-color: var(--bg-card) !important;
  border-color: var(--border-base) !important;
  color: var(--text-main) !important;
}

table thead th,
.data-table th,
.table th,
.interior-data-table th,
.doc-list-table th,
.org-modern-table th,
.int-detail-table th,
.kpi-custom-table th,
.tracker-mini-table thead th,
#assets-table th {
  background: var(--bg-card-alt) !important;
  background-color: var(--bg-card-alt) !important;
  color: var(--text-sub) !important;
  border-color: var(--border-base) !important;
  font-weight: 700 !important;
}

table tbody td,
.data-table td,
.table td,
.interior-data-table td,
.doc-list-table td,
.org-modern-table td,
.int-detail-table td,
.kpi-custom-table td,
.tracker-mini-table tbody td,
#assets-table td {
  background: var(--bg-card) !important;
  background-color: var(--bg-card) !important;
  color: var(--text-main) !important;
  border-color: var(--border-light) !important;
  vertical-align: middle !important;
}

/* 수발신 대장 및 테이블 셀 수직 오와 열 일치 (수신인/제목 붕뜸 방지) */
table tbody td,
.data-table tbody td,
.table tbody td,
#sent-log-table td,
#received-log-table td {
  vertical-align: middle !important;
}

#sent-log-table td.wrap-text,
#received-log-table td.wrap-text,
.data-table td.wrap-text,
table td.wrap-text {
  display: table-cell !important;
  vertical-align: middle !important;
  word-break: break-all !important;
  white-space: normal !important;
  line-height: 1.45 !important;
}

table tbody tr:hover td,
.data-table tbody tr:hover td,
.table tbody tr:hover td,
.tracker-mini-table tbody tr:hover td,
#assets-tbody tr:hover td {
  background: var(--bg-sidebar-hover) !important;
  background-color: var(--bg-sidebar-hover) !important;
}

/* ==========================================================================
   [4. 텍스트 & KPI 타이포그래피 고대비 가독성 보장]
   ========================================================================== */
h1, h2, h3, h4, h5, h6,
.widget h3,
.fcc-card-header h3,
.kpi-title,
.table-main-title,
.asset-card-title,
.chip-name,
.filter-title,
.modal-title,
.srt-calendar-title,
#main-title {
  color: var(--text-main) !important;
}

.form-label,
label,
.srt-label,
.fcc-form-label,
.chip-sub,
.region-link {
  color: var(--text-sub) !important;
}

/* 입력 폼 컨트롤 (:where()로 명시도 0 처리하여 .search-box input 등의 무테두리 리셋이 항상 우선 적용되도록 보장) */
:where(
  input[type="text"],
  input[type="password"],
  input[type="email"],
  input[type="number"],
  input[type="tel"],
  input[type="date"],
  input[type="search"],
  input[type="time"],
  input[type="datetime-local"],
  select,
  textarea,
  .form-control,
  .form-input,
  .form-select,
  .interior-input,
  .interior-select,
  .interior-textarea,
  .srt-input,
  .srt-select,
  .srt-textarea,
  .modern-input,
  .modern-textarea
) {
  background-color: var(--ivory-input-bg, #FCFBF9) !important;
  color: var(--text-main) !important;
  border: 1px solid var(--border-strong) !important;
}

:where(
  [data-theme="dark"] input[type="text"],
  [data-theme="dark"] input[type="password"],
  [data-theme="dark"] input[type="email"],
  [data-theme="dark"] input[type="number"],
  [data-theme="dark"] input[type="tel"],
  [data-theme="dark"] input[type="date"],
  [data-theme="dark"] input[type="search"],
  [data-theme="dark"] input[type="time"],
  [data-theme="dark"] input[type="datetime-local"],
  [data-theme="dark"] select,
  [data-theme="dark"] textarea,
  [data-theme="dark"] .form-control,
  [data-theme="dark"] .form-input,
  [data-theme="dark"] .form-select,
  [data-theme="dark"] .interior-input,
  [data-theme="dark"] .interior-select,
  [data-theme="dark"] .interior-textarea,
  [data-theme="dark"] .srt-input,
  [data-theme="dark"] .srt-select,
  [data-theme="dark"] .srt-textarea,
  [data-theme="dark"] .modern-input,
  [data-theme="dark"] .modern-textarea,
  html.dark-mode input,
  html.dark-mode select,
  html.dark-mode textarea
) {
  background-color: var(--bg-card-alt, var(--bg-sub, #1e1e24)) !important;
  color: var(--text-main) !important;
  border: 1px solid var(--border-base, var(--border-strong)) !important;
}

/* AI 비서 입력창 예외 (다크/라이트 공통) */
#ai-user-input,
[data-theme="dark"] #ai-user-input,
html.dark-mode #ai-user-input {
  background-color: transparent !important;
  border: none !important;
}

/* ==========================================================================
   📅 [다크모드 달력 아이콘 전역 규격]
   - 다크모드 활성화 시 브라우저 내장 날짜/시간 피커의 검은색 달력 아이콘을 밝은 흰색으로 변환
   - color-scheme: dark 선언으로 OS/브라우저 네이티브 달력 팝업도 다크 테마 일관성 유지
   ========================================================================== */
[data-theme="dark"] input[type="date"],
[data-theme="dark"] input[type="datetime-local"],
[data-theme="dark"] input[type="time"],
html.dark-mode input[type="date"],
html.dark-mode input[type="datetime-local"],
html.dark-mode input[type="time"],
body.dark-mode input[type="date"],
body.dark-mode input[type="datetime-local"],
body.dark-mode input[type="time"],
[data-theme-preset] input[type="date"],
[data-theme-preset] input[type="datetime-local"],
[data-theme-preset] input[type="time"],
.dark-mode input[type="date"],
.dark-mode input[type="datetime-local"],
.dark-mode input[type="time"] {
  color-scheme: dark !important;
}

[data-theme="dark"] input[type="date"]::-webkit-calendar-picker-indicator,
[data-theme="dark"] input[type="datetime-local"]::-webkit-calendar-picker-indicator,
[data-theme="dark"] input[type="time"]::-webkit-calendar-picker-indicator,
html.dark-mode input[type="date"]::-webkit-calendar-picker-indicator,
html.dark-mode input[type="datetime-local"]::-webkit-calendar-picker-indicator,
html.dark-mode input[type="time"]::-webkit-calendar-picker-indicator,
body.dark-mode input[type="date"]::-webkit-calendar-picker-indicator,
body.dark-mode input[type="datetime-local"]::-webkit-calendar-picker-indicator,
body.dark-mode input[type="time"]::-webkit-calendar-picker-indicator,
[data-theme-preset] input[type="date"]::-webkit-calendar-picker-indicator,
[data-theme-preset] input[type="datetime-local"]::-webkit-calendar-picker-indicator,
[data-theme-preset] input[type="time"]::-webkit-calendar-picker-indicator,
.dark-mode input[type="date"]::-webkit-calendar-picker-indicator,
.dark-mode input[type="datetime-local"]::-webkit-calendar-picker-indicator,
.dark-mode input[type="time"]::-webkit-calendar-picker-indicator {
  filter: invert(0.9) brightness(1.2) !important;
  cursor: pointer !important;
  opacity: 0.9 !important;
}

[data-theme="dark"] input[type="date"]::-webkit-calendar-picker-indicator:hover,
[data-theme="dark"] input[type="datetime-local"]::-webkit-calendar-picker-indicator:hover,
[data-theme="dark"] input[type="time"]::-webkit-calendar-picker-indicator:hover,
html.dark-mode input[type="date"]::-webkit-calendar-picker-indicator:hover,
html.dark-mode input[type="datetime-local"]::-webkit-calendar-picker-indicator:hover,
html.dark-mode input[type="time"]::-webkit-calendar-picker-indicator:hover,
body.dark-mode input[type="date"]::-webkit-calendar-picker-indicator:hover,
body.dark-mode input[type="datetime-local"]::-webkit-calendar-picker-indicator:hover,
body.dark-mode input[type="time"]::-webkit-calendar-picker-indicator:hover,
[data-theme-preset] input[type="date"]::-webkit-calendar-picker-indicator:hover,
[data-theme-preset] input[type="datetime-local"]::-webkit-calendar-picker-indicator:hover,
[data-theme-preset] input[type="time"]::-webkit-calendar-picker-indicator:hover,
.dark-mode input[type="date"]::-webkit-calendar-picker-indicator:hover,
.dark-mode input[type="datetime-local"]::-webkit-calendar-picker-indicator:hover,
.dark-mode input[type="time"]::-webkit-calendar-picker-indicator:hover {
  opacity: 1 !important;
  filter: invert(1) brightness(1.4) !important;
}

/* ==========================================================================
   🔍 [검색창 전역 규격] 검색 래퍼 내부 input의 '이중 박스/테두리' 완전 박멸 및 시인성 최적화
   - 검색창 안에 갇힌 답답한 네모 박스(이중 테두리 및 좁은 배경)를 전면 제거
   - 검색 아이콘과 자연스럽게 어우러지는 넉넉한 텍스트 공간 보장
   ========================================================================== */
.search-box input,
.interior-search-box input,
.int-spec-search-box input,
#interior-search,
.receipt-search-box input,
.doc-search-box input,
.loc-search-box-wrap input,
.pk-search-input-wrap input,
.advisory-universal-search-box input,
.map-search-header .search-box input,
.fullscreen-toolbar .search-box input,
.search-input-wrapper input,
.filter-search-box input,
#approval-search-input,
.approval-search-input-unified,
.approval-search-box-unified input,
[class*="search-box"] input:not(.omni-search-input),
[class*="search-wrap"]:not(.omni-search-wrapper):not(#shared-dept-search-wrapper):not(#shared-user-search-wrapper) input:not(.omni-search-input):not(.mail-form-input),
[class*="search-bar"] input:not(.omni-search-input),
[class*="search-input-wrap"] input:not(.omni-search-input) {
  border: none !important;
  outline: none !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  margin: 0 !important;
}

[data-theme="dark"] #asset-search-input,
[data-theme="dark"] .search-box input,
[data-theme="dark"] .interior-search-box input,
[data-theme="dark"] .int-spec-search-box input,
[data-theme="dark"] #interior-search,
[data-theme="dark"] .receipt-search-box input,
[data-theme="dark"] .doc-search-box input,
[data-theme="dark"] .loc-search-box-wrap input,
[data-theme="dark"] .pk-search-input-wrap input,
[data-theme="dark"] #pk-search-input,
[data-theme="dark"] #approval-search-input,
[data-theme="dark"] .approval-search-input-unified,
[data-theme="dark"] .approval-search-box-unified input,
[data-theme="dark"] [class*="search-box"] input:not(.omni-search-input),
[data-theme="dark"] [class*="search-wrap"]:not(.omni-search-wrapper):not(#shared-dept-search-wrapper):not(#shared-user-search-wrapper) input:not(.omni-search-input):not(.mail-form-input),
html.dark-mode #asset-search-input,
body.dark-mode #asset-search-input,
.dark-mode #asset-search-input,
html.dark-mode .search-box input,
html.dark-mode .receipt-search-box input,
html.dark-mode .doc-search-box input,
html.dark-mode .loc-search-box-wrap input,
html.dark-mode .pk-search-input-wrap input,
html.dark-mode #pk-search-input,
html.dark-mode #approval-search-input,
html.dark-mode .approval-search-input-unified,
html.dark-mode .approval-search-box-unified input,
html.dark-mode [class*="search-box"] input:not(.omni-search-input),
html.dark-mode [class*="search-wrap"]:not(.omni-search-wrapper):not(#shared-dept-search-wrapper):not(#shared-user-search-wrapper) input:not(.omni-search-input):not(.mail-form-input) {
  border: none !important;
  outline: none !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

/* ==========================================================================
   [5. 버튼 시스템: 라이트/다크 모드별 최적 시인성 및 입체 음영]
   ========================================================================== */
.btn-primary,
.btn-blue,
.int-specific-btn,
.btn-seal-navy,
.sharp-btn-primary {
  background: var(--btn-primary-bg) !important;
  color: var(--btn-primary-text) !important;
  border: 1px solid transparent !important;
  box-shadow: var(--btn-primary-shadow) !important;
  font-weight: 600 !important;
}

.btn-primary:hover,
.btn-blue:hover,
.int-specific-btn:hover,
.sharp-btn-primary:hover {
  background: var(--color-primary-hover) !important;
  transform: translateY(-1px);
}

.btn-secondary,
.btn-outline-gray,
.int-specific-btn-gray,
.sharp-btn-secondary,
.btn-gray-custom {
  background: var(--btn-secondary-bg) !important;
  color: var(--btn-secondary-text) !important;
  border: 1px solid var(--btn-secondary-border) !important;
  box-shadow: var(--btn-secondary-shadow) !important;
  font-weight: 600 !important;
}

.btn-secondary:hover,
.btn-outline-gray:hover,
.int-specific-btn-gray:hover,
.sharp-btn-secondary:hover,
.btn-gray-custom:hover {
  background: var(--btn-secondary-hover) !important;
  color: var(--text-main) !important;
}

/* ==========================================================================
   [6. 독립 팝업창 & 새창 (sharp-win-*, org_editor, legal_integrated 등) 완벽 대응]
   ========================================================================== */
body.sharp-win-body,
.sharp-win-main,
.sharp-win-canvas,
.workspace-scroll-container {
  background: var(--bg-body) !important;
  background-color: var(--bg-body) !important;
  color: var(--text-main) !important;
}

.sharp-win-layout {
  background: var(--bg-body) !important;
  border-color: var(--border-base) !important;
}

.sharp-win-sidebar,
.int-header-dark,
.main-top-navbar,
.editor-toolbar {
  background: var(--bg-sidebar) !important;
  background-color: var(--bg-sidebar) !important;
  border-color: var(--border-base) !important;
  color: var(--text-main) !important;
}

.sharp-win-sidebar .sidebar-brand-box,
.sharp-win-sidebar .sidebar-status-box {
  border-color: var(--border-base) !important;
  color: var(--text-sub) !important;
}

.sharp-win-sidebar .sidebar-brand-text,
.main-top-navbar .navbar-main-title,
.int-header-dark .srt-tier-title,
.editor-toolbar .editor-title {
  color: var(--text-main) !important;
}

.sharp-win-sidebar .sidebar-menu-item {
  color: var(--text-sub) !important;
}

.sharp-win-sidebar .sidebar-menu-item:hover {
  background-color: var(--bg-sidebar-hover) !important;
  color: var(--text-main) !important;
}

.sharp-win-sidebar .sidebar-menu-item.active {
  background-color: var(--bg-card) !important;
  color: var(--color-primary) !important;
  border-left-color: var(--color-primary) !important;
}

.sharp-card,
.sharp-section-card,
.section-card,
.int-left-panel,
.int-center-panel,
.int-right-panel,
.int-left-half,
.srt-tier-panel,
.org-node-card {
  background: var(--bg-card) !important;
  background-color: var(--bg-card) !important;
  border-color: var(--border-base) !important;
  color: var(--text-main) !important;
}

.sharp-card-header,
.section-card-header,
.srt-tier-header,
.main-bottom-actionbar {
  background: var(--bg-card-alt) !important;
  background-color: var(--bg-card-alt) !important;
  border-color: var(--border-base) !important;
  color: var(--text-main) !important;
}

.sharp-form-label,
.field-label {
  color: var(--text-sub) !important;
}

.sharp-input,
.sharp-select,
.sharp-textarea {
  background: var(--ivory-input-bg, #FCFBF9) !important;
  background-color: var(--ivory-input-bg, #FCFBF9) !important;
  color: var(--text-main) !important;
  border-color: var(--border-base, var(--border-strong)) !important;
}

[data-theme="dark"] .sharp-input,
[data-theme="dark"] .sharp-select,
[data-theme="dark"] .sharp-textarea,
html.dark-mode .sharp-input,
html.dark-mode .sharp-select,
html.dark-mode .sharp-textarea {
  background: var(--bg-card-alt, var(--bg-sub, #27272D)) !important;
  background-color: var(--bg-card-alt, var(--bg-sub, #27272D)) !important;
  color: var(--text-main) !important;
  border-color: var(--border-base, var(--border-strong)) !important;
}

/* ==========================================================================
   💜 [Re.y 시그니처 바이올렛 네온 스크롤바 디자인 규격]
   - 흰색/회색의 탁한 기본 브라우저 스크롤바 완전 퇴출
   - 은은한 퍼플 톤과 호버 시 네온 글로우(#818cf8)를 전사 공통 적용
   ========================================================================== */
*::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
*::-webkit-scrollbar-track {
  background: transparent;
}
*::-webkit-scrollbar-thumb {
  background: rgba(129, 140, 248, 0.4);
  border-radius: 999px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
*::-webkit-scrollbar-thumb:hover {
  background: #818cf8;
  box-shadow: 0 0 10px rgba(129, 140, 248, 0.9), 0 0 18px rgba(99, 102, 241, 0.6);
}

[data-theme="dark"] *::-webkit-scrollbar-thumb,
html.dark-mode *::-webkit-scrollbar-thumb,
body.dark-mode *::-webkit-scrollbar-thumb {
  background: rgba(129, 140, 248, 0.5) !important;
}

[data-theme="dark"] *::-webkit-scrollbar-thumb:hover,
html.dark-mode *::-webkit-scrollbar-thumb:hover,
body.dark-mode *::-webkit-scrollbar-thumb:hover {
  background: #818cf8 !important;
  box-shadow: 0 0 12px rgba(129, 140, 248, 0.95), 0 0 20px rgba(99, 102, 241, 0.7) !important;
}

html {
  scrollbar-width: thin;
  scrollbar-color: rgba(129, 140, 248, 0.45) transparent;
}

/* ==========================================================================
   🌓 [전사 테마 마스터] 상표 상세 & 소프트웨어 상세 탭 구역 다크모드 완벽 보장
   ========================================================================== */
[data-theme="dark"] .tm-workspace-tab-section,
html.dark-mode .tm-workspace-tab-section,
body.dark-mode .tm-workspace-tab-section,
[data-theme="dark"] .sw-detail-main-widget,
html.dark-mode .sw-detail-main-widget,
body.dark-mode .sw-detail-main-widget {
  background: var(--bg-card) !important;
  border-color: #383842 !important;
}

[data-theme="dark"] .sw-table-heading,
html.dark-mode .sw-table-heading,
body.dark-mode .sw-table-heading {
  color: #FFFFFF !important;
}

[data-theme="dark"] .tm-tab-nav-bar,
html.dark-mode .tm-tab-nav-bar,
body.dark-mode .tm-tab-nav-bar,
[data-theme="dark"] .sw-top-tab-bar,
html.dark-mode .sw-top-tab-bar,
body.dark-mode .sw-top-tab-bar,
[data-theme="dark"] .sw-detail-top-header,
html.dark-mode .sw-detail-top-header,
body.dark-mode .sw-detail-top-header {
  background: var(--bg-sidebar) !important;
  border-bottom: 1px solid #383842 !important;
}

[data-theme="dark"] .tm-tab-btn,
html.dark-mode .tm-tab-btn,
body.dark-mode .tm-tab-btn,
[data-theme="dark"] .sw-top-tab-list li,
html.dark-mode .sw-top-tab-list li,
body.dark-mode .sw-top-tab-list li {
  color: #A1A1AA !important;
  background: var(--bg-card) !important;
  border: 1px solid #383842 !important;
  border-bottom: none !important;
}

[data-theme="dark"] .tm-tab-btn:hover,
html.dark-mode .tm-tab-btn:hover,
body.dark-mode .tm-tab-btn:hover,
[data-theme="dark"] .sw-top-tab-list li:hover,
html.dark-mode .sw-top-tab-list li:hover,
body.dark-mode .sw-top-tab-list li:hover {
  background: #2E2E36 !important;
  color: #FFFFFF !important;
}

[data-theme="dark"] .tm-tab-btn.active,
html.dark-mode .tm-tab-btn.active,
body.dark-mode .tm-tab-btn.active,
[data-theme="dark"] .sw-top-tab-list li.active,
html.dark-mode .sw-top-tab-list li.active,
body.dark-mode .sw-top-tab-list li.active {
  background: var(--bg-card-alt) !important;
  color: #93C5FD !important;
  border-color: #383842 #383842 var(--bg-card-alt) #383842 !important;
  border-top: 2.5px solid #3B82F6 !important;
  box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.2) !important;
}

[data-theme="dark"] .tm-tab-panes-container,
html.dark-mode .tm-tab-panes-container,
body.dark-mode .tm-tab-panes-container,
[data-theme="dark"] .tm-tab-pane,
html.dark-mode .tm-tab-pane,
body.dark-mode .tm-tab-pane,
[data-theme="dark"] .sw-detail-panes-container,
html.dark-mode .sw-detail-panes-container,
body.dark-mode .sw-detail-panes-container,
[data-theme="dark"] .sw-tab-pane,
html.dark-mode .sw-tab-pane,
body.dark-mode .sw-tab-pane {
  background: var(--bg-card) !important;
  color: #E4E4E7 !important;
}

[data-theme="dark"] .tm-split-col,
html.dark-mode .tm-split-col,
body.dark-mode .tm-split-col,
[data-theme="dark"] .tm-file-hub-integrated-card,
html.dark-mode .tm-file-hub-integrated-card,
body.dark-mode .tm-file-hub-integrated-card,
[data-theme="dark"] .sw-spec-bookshelf-card,
html.dark-mode .sw-spec-bookshelf-card,
body.dark-mode .sw-spec-bookshelf-card,
[data-theme="dark"] .sw-memo-tower-card,
html.dark-mode .sw-memo-tower-card,
body.dark-mode .sw-memo-tower-card,
[data-theme="dark"] .sw-assign-unified-card,
html.dark-mode .sw-assign-unified-card,
body.dark-mode .sw-assign-unified-card,
[data-theme="dark"] .sw-file-hub-card,
html.dark-mode .sw-file-hub-card,
body.dark-mode .sw-file-hub-card,
[data-theme="dark"] .sw-hero-stat-box,
html.dark-mode .sw-hero-stat-box,
body.dark-mode .sw-hero-stat-box {
  background: var(--bg-card-alt) !important;
  border-color: #383842 !important;
  color: #E4E4E7 !important;
}

[data-theme="dark"] .tm-table-wrapper,
html.dark-mode .tm-table-wrapper,
body.dark-mode .tm-table-wrapper,
[data-theme="dark"] .tm-hotzone-card,
html.dark-mode .tm-hotzone-card,
body.dark-mode .tm-hotzone-card,
[data-theme="dark"] .sw-shelf-cell,
html.dark-mode .sw-shelf-cell,
body.dark-mode .sw-shelf-cell {
  background: var(--bg-card) !important;
  border-color: #383842 !important;
  color: #E4E4E7 !important;
}

[data-theme="dark"] .tm-cost-table td,
html.dark-mode .tm-cost-table td,
body.dark-mode .tm-cost-table td,
[data-theme="dark"] #sw-assignments-table td,
html.dark-mode #sw-assignments-table td,
body.dark-mode #sw-assignments-table td {
  background-color: var(--bg-card) !important;
  color: #E4E4E7 !important;
  border-bottom: 1px solid #2E2E36 !important;
}

[data-theme="dark"] .tm-cost-table td.no-data,
html.dark-mode .tm-cost-table td.no-data,
body.dark-mode .tm-cost-table td.no-data,
[data-theme="dark"] #sw-assignments-table td.no-data,
html.dark-mode #sw-assignments-table td.no-data,
body.dark-mode #sw-assignments-table td.no-data {
  color: #A1A1AA !important;
  background-color: var(--bg-card) !important;
}

/* ===================================================================
   🌟 [전사 공통 메모 카드 & 컨테이너 아키텍처] 라이트 / 다크 표준 일원화
   =================================================================== */
/* 1. 메모 컨테이너 (전 섹션 공통 스크롤 및 레이아웃 규격) */
.memo-card-container,
.exp-memo-scroll-area,
.pk-memo-scroll-box,
.sw-memo-scroll-wrapper,
.asset-memo-container-wrap,
.lease-memo-card-box .memo-card-container,
.vh-memo-card .memo-card-container,
.adv-kpi-card .memo-card-container,
.tm-memo-pane .memo-card-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  overflow-y: auto !important;
  min-height: 80px !important;
  padding: 4px 2px !important;
}

/* 2. 전사 공통 한 줄 메모 카드 아이템 (기본 라이트 모드) */
.pk-memo-row-item,
.asset-memo-item-card,
.memo-feed-item {
  background: var(--bg-card, #FFFFFF) !important;
  border: 1px solid var(--border-base, #E2E8F0) !important;
  border-radius: 6px !important;
  padding: 9px 12px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  box-sizing: border-box !important;
  width: 100% !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

.pk-memo-row-item:hover,
.asset-memo-item-card:hover,
.memo-feed-item:hover {
  background: var(--bg-sidebar-hover, #F8FAFC) !important;
  border-color: var(--color-primary, #3B82F6) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08) !important;
}

/* 3. 메모 카드 좌측 영역 (공지 뱃지 + 제목 + 첨부파일 아이콘) */
.pk-memo-left,
.asset-memo-item-header {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

/* 4. 메모 제목 */
.pk-memo-title,
.asset-memo-title,
.memo-feed-title {
  color: var(--text-main, #1E293B) !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* 5. 메모 우측 메타 영역 (작성자 + 작성일) */
.pk-memo-right,
.memo-feed-header {
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

.pk-memo-meta,
.memo-feed-meta,
.asset-memo-date,
.asset-memo-writer {
  color: var(--text-muted, #64748B) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
}

/* 6. 공지 뱃지 & 파일 첨부 태그 */
.pk-notice-tag-red,
.asset-memo-badge-notice {
  background: rgba(239, 68, 68, 0.12) !important;
  color: #EF4444 !important;
  border: 1px solid rgba(239, 68, 68, 0.3) !important;
  padding: 1px 6px !important;
  border-radius: 4px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
}

.memo-file-tag,
.asset-memo-file-indicator {
  color: var(--color-primary, #2563EB) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  margin-left: 6px !important;
  flex-shrink: 0 !important;
}

/* 7. 빈 메모 상태 & 로딩 스피너 */
.empty-memo-box,
.memo-card-empty,
.asset-memo-empty,
.feed-empty {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px 12px !important;
  color: var(--text-muted, #64748B) !important;
  text-align: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  border: 1px dashed var(--border-base, #E2E8F0) !important;
  border-radius: 6px !important;
  background: var(--bg-card, #FAFAFA) !important;
  font-size: 12px !important;
}

.empty-memo-box i,
.memo-card-empty i,
.asset-memo-empty i {
  font-size: 20px !important;
  color: var(--text-muted, #94A3B8) !important;
  margin-bottom: 6px !important;
}

.empty-memo-box p,
.memo-card-empty p {
  margin: 0 !important;
  font-size: 11.5px !important;
}

.memo-loading-spinner,
.asset-memo-loading {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px 0 !important;
  color: var(--text-muted, #64748B) !important;
  font-size: 12px !important;
  gap: 8px !important;
  width: 100% !important;
}

/* 8. [전사 다크모드 대응] 메모 카드 다크 테마 완벽 연동 */
[data-theme="dark"] .pk-memo-row-item,
html.dark-mode .pk-memo-row-item,
body.dark-mode .pk-memo-row-item,
[data-theme="dark"] .asset-memo-item-card,
html.dark-mode .asset-memo-item-card,
body.dark-mode .asset-memo-item-card,
[data-theme="dark"] .memo-feed-item,
html.dark-mode .memo-feed-item,
body.dark-mode .memo-feed-item {
  background: var(--bg-card, #1A1A22) !important;
  border-color: var(--border-base, #2E2E38) !important;
  color: var(--text-main, #E4E4E7) !important;
  box-shadow: none !important;
}

[data-theme="dark"] .pk-memo-row-item:hover,
html.dark-mode .pk-memo-row-item:hover,
body.dark-mode .pk-memo-row-item:hover,
[data-theme="dark"] .asset-memo-item-card:hover,
html.dark-mode .asset-memo-item-card:hover,
body.dark-mode .asset-memo-item-card:hover,
[data-theme="dark"] .memo-feed-item:hover,
html.dark-mode .memo-feed-item:hover,
body.dark-mode .memo-feed-item:hover {
  background: var(--bg-sidebar-hover, #262632) !important;
  border-color: var(--color-primary, #60A5FA) !important;
}

[data-theme="dark"] .pk-memo-title,
html.dark-mode .pk-memo-title,
body.dark-mode .pk-memo-title,
[data-theme="dark"] .asset-memo-title,
html.dark-mode .asset-memo-title,
body.dark-mode .asset-memo-title,
[data-theme="dark"] .memo-feed-title,
html.dark-mode .memo-feed-title,
body.dark-mode .memo-feed-title {
  color: var(--text-main, #F4F4F5) !important;
}

[data-theme="dark"] .pk-memo-meta,
html.dark-mode .pk-memo-meta,
body.dark-mode .pk-memo-meta,
[data-theme="dark"] .memo-feed-meta,
html.dark-mode .memo-feed-meta,
body.dark-mode .memo-feed-meta,
[data-theme="dark"] .asset-memo-date,
html.dark-mode .asset-memo-date,
body.dark-mode .asset-memo-date,
[data-theme="dark"] .asset-memo-writer,
html.dark-mode .asset-memo-writer,
body.dark-mode .asset-memo-writer {
  color: var(--text-muted, #9CA3AF) !important;
}

[data-theme="dark"] .empty-memo-box,
html.dark-mode .empty-memo-box,
body.dark-mode .empty-memo-box,
[data-theme="dark"] .memo-card-empty,
html.dark-mode .memo-card-empty,
body.dark-mode .memo-card-empty,
[data-theme="dark"] .asset-memo-empty,
html.dark-mode .asset-memo-empty,
body.dark-mode .asset-memo-empty,
[data-theme="dark"] .feed-empty,
html.dark-mode .feed-empty,
body.dark-mode .feed-empty {
  background: var(--bg-card, #1A1A22) !important;
  color: var(--text-muted, #71717A) !important;
  border: 1px dashed var(--border-base, #383842) !important;
}

[data-theme="dark"] .empty-memo-box i,
html.dark-mode .empty-memo-box i,
body.dark-mode .empty-memo-box i,
[data-theme="dark"] .memo-card-empty i,
html.dark-mode .memo-card-empty i,
body.dark-mode .memo-card-empty i {
  color: var(--text-muted, #52525B) !important;
}

/* ===================================================================
   🚀 [바로가기 프리미엄 버튼] 라이트 & 다크 테마 일관 스타일
   =================================================================== */
.btn-shortcut-premium {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  height: 28px !important;
  padding: 0 12px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
  background-color: #FFFFFF !important;
  color: #2563EB !important;
  border: 1px solid #BFDBFE !important;
  box-shadow: 0 1px 2px rgba(37, 99, 235, 0.08) !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}

.btn-shortcut-premium:hover {
  background-color: #EFF6FF !important;
  border-color: #2563EB !important;
  color: #1D4ED8 !important;
  box-shadow: 0 2px 4px rgba(37, 99, 235, 0.16) !important;
  transform: translateY(-1px) !important;
}

[data-theme="dark"] .btn-shortcut-premium,
html.dark-mode .btn-shortcut-premium,
body.dark-mode .btn-shortcut-premium {
  background-color: #27272D !important;
  color: #60A5FA !important;
  border-color: rgba(96, 165, 250, 0.4) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

[data-theme="dark"] .btn-shortcut-premium:hover,
html.dark-mode .btn-shortcut-premium:hover,
body.dark-mode .btn-shortcut-premium:hover {
  background-color: #303038 !important;
  border-color: #60A5FA !important;
  color: #93C5FD !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4) !important;
}

/* 🤝 합의서 첨부파일 칩 스타일 */
.settlement-file-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 5px 12px !important;
  background-color: #F8FAFC !important;
  border: 1px solid #CBD5E1 !important;
  border-radius: 6px !important;
  color: #1E293B !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
  max-width: 100% !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

.settlement-file-chip:hover {
  background-color: #EFF6FF !important;
  border-color: #93C5FD !important;
  color: #2563EB !important;
  text-decoration: none !important;
  box-shadow: 0 2px 4px rgba(37, 99, 235, 0.15) !important;
  transform: translateY(-1px) !important;
}

.settlement-file-chip .file-name {
  max-width: 240px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.settlement-file-chip .file-ext-icon {
  font-size: 10px;
  opacity: 0.6;
}

[data-theme="dark"] .settlement-file-chip,
html.dark-mode .settlement-file-chip,
body.dark-mode .settlement-file-chip {
  background-color: #26262B !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
  color: #E2E8F0 !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

[data-theme="dark"] .settlement-file-chip:hover,
html.dark-mode .settlement-file-chip:hover,
body.dark-mode .settlement-file-chip:hover {
  background-color: #313138 !important;
  border-color: rgba(96, 165, 250, 0.5) !important;
  color: #93C5FD !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5) !important;
}

/* ==========================================================================
   [11. 5대 핵심 업무 화면 테마 전면 연동 (소송비용·비용분석·공시업무·인감·건물등록)]
   - 대표님 대원칙: 내부 화면 카드/표/버튼/텍스트의 색상과 배경은 CSS에서 전사 프리셋으로 통제
   ========================================================================== */

/* 1) 법무: 소송비용 및 이자 계산기 */
.legal-calculator-workspace,
.legal-card,
.workspace-mode-selector-bar,
.result-sheet-viewer,
.conf-extra-cost-section,
.hero-calculation-detail-box,
.statement-preview-box {
  background: var(--bg-card) !important;
  border-color: var(--border-base) !important;
  color: var(--text-main) !important;
}

.legal-calculator-workspace input,
.legal-calculator-workspace select,
.legal-calculator-workspace textarea {
  background-color: var(--bg-body) !important;
  border-color: var(--border-base) !important;
  color: var(--text-main) !important;
}

/* 2) 비용 분석 & 비용 지출 요약 */
.fcc-dashboard-wrapper,
.exp-main-workspace-card,
.costs-workspace,
.settlement-schedule-workspace,
.costs-summary-box,
.exp-chart-panel {
  background: var(--bg-card) !important;
  border-color: var(--border-base) !important;
  color: var(--text-main) !important;
}

.fcc-dashboard-wrapper table th,
.costs-workspace table th,
.settlement-schedule-workspace table th {
  background-color: var(--bg-sub, var(--bg-card-alt)) !important;
  color: var(--text-sub) !important;
  border-color: var(--border-base) !important;
}

.fcc-dashboard-wrapper table td,
.costs-workspace table td,
.settlement-schedule-workspace table td {
  border-color: var(--border-light) !important;
  color: var(--text-main) !important;
}

/* 3) 문서관리: 법인 공시 및 등기 대장 */
.corp-gov-workspace,
.corp-gov-workspace .kpi-card,
.corp-doc-card,
.corp-gov-workspace .corp-kpi-triple-grid .kpi-card {
  background: var(--bg-card) !important;
  border-color: var(--border-base) !important;
  color: var(--text-main) !important;
}

.corp-gov-workspace .kpi-card-header,
.corp-doc-card-header {
  background: var(--bg-sub, var(--bg-card-alt)) !important;
  border-color: var(--border-base) !important;
  color: var(--text-main) !important;
}

/* 4) 문서관리: 인감대장 관리 */
.seal-summary-container,
.seal-summary-container .widget,
.seal-card,
.seal-master-item-box,
.seal-master-inner-grid .widget {
  background: var(--bg-card) !important;
  border-color: var(--border-base) !important;
  color: var(--text-main) !important;
}

.seal-master-top-header {
  border-bottom-color: var(--border-base) !important;
  color: var(--text-main) !important;
}

/* 5) 마스터: 건물/위치 관리 & 거래처 관리 */
.loc-master-split-container,
.loc-master-split-container .table-container,
.accounts-workspace,
.accounts-workspace .table-container,
.loc-master-list-col .table-container {
  background: var(--bg-card) !important;
  border-color: var(--border-base) !important;
  color: var(--text-main) !important;
}

#accounts-table th,
#locations-table th {
  background-color: var(--bg-sub, var(--bg-card-alt)) !important;
  color: var(--text-sub) !important;
  border-bottom: 1.5px solid var(--border-base) !important;
}

#accounts-table td,
#locations-table td {
  border-bottom: 1px solid var(--border-light) !important;
  color: var(--text-main) !important;
}

/* ==========================================================================
   차트 플로팅 툴팁 CSS 규격화 (JS 인라인 스타일 주입 완전 제거)
   ========================================================================== */
.fcc-chart-custom-tooltip {
  position: absolute !important;
  background: var(--bg-card) !important;
  border: 1px solid var(--border-base) !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  color: var(--text-main) !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3) !important;
  white-space: nowrap !important;
  font-size: 12px !important;
  transition: opacity 0.15s ease !important;
}





/* ==========================================================================
   Re.y Enterprise - Zero-Inline-Style 대원칙 복원 유틸리티 & 컴포넌트 클래스
   - dashboard.html 및 dashboard.js 인라인 스타일 전수 숙청 및 CSS 표준화
   ========================================================================== */

/* 1. 컬럼 너비 규격화 클래스 */
.col-w-8 { width: 8% !important; }
.col-w-10 { width: 10% !important; }
.col-w-12 { width: 12% !important; }
.col-w-15 { width: 15% !important; }
.col-w-20 { width: 20% !important; }
.col-w-23 { width: 23% !important; }
.col-w-24 { width: 24% !important; }
.col-w-25 { width: 25% !important; }
.col-w-26 { width: 26% !important; }
.col-w-27 { width: 27% !important; }
.col-w-30 { width: 30% !important; }
.col-w-35 { width: 35% !important; }
.col-w-40 { width: 40% !important; }
.col-w-50 { width: 50% !important; }

/* 2. 공통 Flex & 디스플레이 유틸리티 */
.d-flex-between { display: flex !important; justify-content: space-between !important; align-items: center !important; }
.d-flex-center { display: flex !important; align-items: center !important; justify-content: center !important; }
.d-flex-row { display: flex !important; align-items: center !important; }
.flex-wrap-gap10 { flex-wrap: wrap !important; gap: 10px !important; }
.flex-nowrap-hidden { flex-wrap: nowrap !important; overflow: hidden !important; }
.flex-nowrap-shrink0 { white-space: nowrap !important; flex-wrap: nowrap !important; flex-shrink: 0 !important; }
.gap-4 { gap: 4px !important; }
.gap-6 { gap: 6px !important; }
.gap-8 { gap: 8px !important; }
.gap-10 { gap: 10px !important; }
.gap-12 { gap: 12px !important; }

/* 3. AI 어드민 전용 규격 클래스 */
.ai-form-filter { display: inline-flex !important; align-items: center !important; gap: 6px !important; margin: 0 !important; }
.ai-val-approx { font-weight: 700 !important; margin-right: -2px !important; }
.ai-search-input-w280 { width: 280px !important; padding: 0 12px !important; }
.ai-bar-pct-wrap { display: inline-flex !important; align-items: center !important; gap: 6px !important; width: 120px !important; }
.ai-bar-pct-text { font-size: 11px !important; font-weight: 700 !important; min-width: 36px !important; text-align: right !important; }
.ai-token-count { font-weight: 700 !important; color: #6366f1 !important; }
.stat-card-header-sm { margin-bottom: 6px !important; }
.badge-danger-req { font-size: 11.5px !important; font-weight: 700 !important; color: #e11d48 !important; white-space: nowrap !important; }
.badge-muted-req { font-size: 11.5px !important; font-weight: 700 !important; color: #64748b !important; white-space: nowrap !important; }
.icon-rose-sm { width: 24px !important; height: 24px !important; font-size: 11px !important; flex-shrink: 0 !important; }

/* 4. 메일 시스템 및 어드민 규격 클래스 */
.search-box-w340 { width: 340px !important; margin-bottom: 0 !important; }
.search-box-w320 { width: 320px !important; }
.btn-teal-h36 { height: 36px !important; padding: 0 16px !important; font-size: 12px !important; display: flex !important; align-items: center !important; gap: 6px !important; }
.mail-admin-badge-quarantine-danger { display: inline-flex !important; align-items: center !important; gap: 4px !important; font-size: 11px !important; padding: 2px 8px !important; border-radius: 4px !important; background: rgba(239, 68, 68, 0.12) !important; color: #f87171 !important; border: 1px solid rgba(239, 68, 68, 0.25) !important; }
.mail-admin-badge-quarantine-warning { font-size: 11px !important; padding: 2px 8px !important; border-radius: 4px !important; background: rgba(245, 158, 11, 0.12) !important; color: #fbbf24 !important; border: 1px solid rgba(245, 158, 11, 0.25) !important; }
.btn-action-restore { font-size: 11px !important; padding: 3px 8px !important; color: #10b981 !important; }
.btn-action-delete { font-size: 11px !important; padding: 3px 8px !important; color: #e11d48 !important; margin-left: 4px !important; }
.mail-modal-w550 { width: 550px !important; max-width: 95vw !important; }
.dept-selected-chip { display: none; align-items: center !important; gap: 8px !important; margin-bottom: 8px !important; padding: 6px 12px !important; background: rgba(56, 189, 248, 0.12) !important; border: 1px solid rgba(56, 189, 248, 0.3) !important; border-radius: 6px !important; }
.btn-icon-close-sm { background: none !important; border: none !important; color: #94a3b8 !important; cursor: pointer !important; margin-left: auto !important; font-size: 14px !important; }
.btn-dropdown-toggle { position: absolute !important; right: 8px !important; background: none !important; border: none !important; color: #94a3b8 !important; cursor: pointer !important; padding: 6px !important; font-size: 12px !important; }
.ses-status-banner { background: rgba(56, 189, 248, 0.08) !important; border: 1px solid rgba(56, 189, 248, 0.25) !important; border-radius: 8px !important; padding: 12px 14px !important; margin-bottom: 14px !important; }
.table-scroll-h300 { max-height: 300px !important; overflow-y: auto !important; }
.table-scroll-full { flex: 1 !important; overflow-y: auto !important; max-height: calc(100vh - 240px) !important; min-height: 540px !important; }
.map-canvas-full { width: 100% !important; height: 100% !important; flex: 1 !important; min-height: 620px !important; border-radius: 0 0 10px 10px !important; }

/* 5. 모달 및 폼 공통 규격 클래스 */
.drawing-upload-zone-compact { min-height: 80px !important; padding: 10px !important; }
.zipcode-input-w80 { width: 80px !important; }
.modal-footer-center { text-align: center !important; margin-top: 15px !important; }
.form-input-pr36 { padding-right: 36px !important; }
.border-t-dashed { border-top: 1px dashed rgba(255, 255, 255, 0.1) !important; padding-top: 12px !important; margin-top: 14px !important; position: relative !important; }
.badge-quota-active { background: #0284c7 !important; border-color: #0284c7 !important; }

/* AI 역할 뱃지 및 액션 뱃지 표준 클래스 */
.role-badge-pill { padding: 2px 8px !important; border-radius: 999px !important; font-size: 11px !important; font-weight: 700 !important; display: inline-block !important; }
.role-badge-master { background: rgba(37, 99, 235, 0.14) !important; color: #3b82f6 !important; border: 1px solid rgba(37, 99, 235, 0.3) !important; }
.role-badge-admin { background: rgba(124, 58, 237, 0.14) !important; color: #8b5cf6 !important; border: 1px solid rgba(124, 58, 237, 0.3) !important; }
.role-badge-normal { background: rgba(100, 116, 139, 0.14) !important; color: #64748b !important; border: 1px solid rgba(100, 116, 139, 0.25) !important; }

.ai-log-badge { padding: 2px 7px !important; border-radius: 4px !important; font-size: 10.5px !important; font-weight: 700 !important; display: inline-block !important; }
.ai-log-badge-popup { background: rgba(16, 185, 129, 0.18) !important; color: #10b981 !important; border: 1px solid rgba(16, 185, 129, 0.35) !important; }
.ai-log-badge-blocked { background: rgba(239, 68, 68, 0.18) !important; color: #ef4444 !important; border: 1px solid rgba(239, 68, 68, 0.35) !important; }
.ai-log-badge-res { background: rgba(245, 158, 11, 0.18) !important; color: #f59e0b !important; border: 1px solid rgba(245, 158, 11, 0.35) !important; }
.ai-log-badge-default { background: rgba(59, 130, 246, 0.18) !important; color: #3b82f6 !important; border: 1px solid rgba(59, 130, 246, 0.35) !important; }

.mail-progress-fill-blue { background: #0284c7 !important; height: 100% !important; }
.mail-progress-fill-primary { background: #2563eb !important; height: 100% !important; }
.ai-progress-bar-fill { height: 100% !important; background: linear-gradient(90deg, #3b82f6, #8b5cf6) !important; }
.font-mono { font-family: monospace !important; }
.text-ellipsis-w320 { max-width: 320px !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.font-weight-700 { font-weight: 700 !important; }
.font-weight-800 { font-weight: 800 !important; }
.ai-rank-top { font-weight: 800 !important; color: #2563eb !important; }
.ai-rank-normal { font-weight: 800 !important; color: #64748b !important; }

/* 6. 비용 분석(FCC), 지식재산권, 총무 전용 클래스 표준화 (JS 인라인 스타일 숙청용) */
.fcc-text-muted { color: var(--text-muted, #94A3B8) !important; }
.fcc-text-sub { color: var(--text-sub, #64748B) !important; }
.fcc-text-main { color: var(--text-main, #1E293B) !important; }
.fcc-text-cyan { color: #00E5FF !important; }
.fcc-text-emerald { color: #10B981 !important; }
.fcc-text-blue { color: #3B82F6 !important; }
.fcc-text-purple { color: #A855F7 !important; }
.fcc-text-danger { color: #E11D48 !important; }
.fcc-text-amber { color: #D97706 !important; }
.fcc-divider-dashed { border-top: 1px dashed var(--border-base, #334155) !important; margin: 6px 0 !important; }
.fcc-divider-dashed-lg { border-top: 1px dashed var(--border-base, #334155) !important; margin: 8px 0 !important; }
.fcc-tooltip-title { font-size: 14px !important; font-weight: bold !important; margin-bottom: 8px !important; }
.fcc-tooltip-row { display: flex !important; justify-content: space-between !important; font-size: 13px !important; margin-bottom: 4px !important; gap: 30px !important; }
.fcc-tooltip-row-bold { display: flex !important; justify-content: space-between !important; font-size: 13px !important; font-weight: 800 !important; margin-bottom: 6px !important; gap: 30px !important; }
.fcc-card-grid-3 { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 10px !important; }
.fcc-card-grid-2 { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 14px !important; width: 100% !important; height: 100% !important; }
.fcc-card-kpi-sub { background: var(--bg-sub, #F8FAFC) !important; border: 1px solid var(--border-base, #E2E8F0) !important; border-radius: 6px !important; padding: 12px !important; display: flex !important; flex-direction: column !important; }
.fcc-card-kpi-red { background: var(--tint-red-bg, rgba(239, 68, 68, 0.08)) !important; border: 1px solid var(--border-base, #FFE4E6) !important; border-radius: 6px !important; padding: 12px !important; display: flex !important; flex-direction: column !important; }
.fcc-td-pad { padding: 12px 10px !important; }
.legal-table-cell { border: 1px solid var(--border-base, #334155) !important; padding: 5px 4px !important; }
.legal-table-cell-bold { border: 1px solid var(--border-base, #334155) !important; padding: 5px 4px !important; font-weight: bold !important; }
.legal-table-cell-left { border: 1px solid var(--border-base, #334155) !important; padding: 5px 8px !important; text-align: left !important; }

/* 테마별 법인 공시업무 셀 테두리 연동 */
html:not([data-theme="dark"]):not(.dark-mode) .legal-table-cell,
html:not([data-theme="dark"]):not(.dark-mode) .legal-table-cell-bold,
html:not([data-theme="dark"]):not(.dark-mode) .legal-table-cell-left {
    border: 1px solid #CBD5E1 !important;
}
html.dark-mode .legal-table-cell,
html.dark-mode .legal-table-cell-bold,
html.dark-mode .legal-table-cell-left,
[data-theme="dark"] .legal-table-cell,
[data-theme="dark"] .legal-table-cell-bold,
[data-theme="dark"] .legal-table-cell-left {
    border: 1px solid #334155 !important;
}

/* 7. FCC 및 대시보드 테이블/카드 클래스 확장 */
.fcc-row-between-sm { display: flex !important; justify-content: space-between !important; font-size: 13px !important; margin-bottom: 4px !important; }
.fcc-row-between-gap30 { display: flex !important; justify-content: space-between !important; font-size: 13px !important; margin-bottom: 4px !important; gap: 30px !important; }
.fcc-row-between-cyan { display: flex !important; justify-content: space-between !important; font-size: 13px !important; color: #00E5FF !important; font-weight: bold !important; }
.fcc-stat-label { color: var(--text-sub, #64748B) !important; font-size: 11.5px !important; font-weight: 600 !important; }
.fcc-title-cyan { color: #00E5FF !important; font-size: 14px !important; font-weight: bold !important; margin-bottom: 8px !important; }
.fcc-title-emerald { color: #10B981 !important; font-size: 14px !important; font-weight: bold !important; margin-bottom: 8px !important; }
.fcc-title-purple { color: #8B5CF6 !important; font-size: 14px !important; font-weight: bold !important; margin-bottom: 8px !important; }
.fcc-th-pad-l14 { text-align: left !important; padding-left: 14px !important; font-weight: 500 !important; }
.fcc-th-pad-r16 { text-align: right !important; padding-right: 16px !important; font-weight: 600 !important; }
.fcc-stat-sub-w100 { color: var(--text-muted, #94A3B8) !important; font-size: 12px !important; font-weight: 500 !important; text-align: left !important; width: 100% !important; }
.fcc-stat-sub-w100-fs13 { color: var(--text-muted, #94A3B8) !important; font-size: 13px !important; font-weight: 500 !important; text-align: left !important; width: 100% !important; }
.fcc-table-hover-row { border-bottom: 1px solid var(--border-base, #334155) !important; transition: background 0.2s !important; }
.fcc-table-hover-row:hover { background: rgba(255, 255, 255, 0.05) !important; }
.cursor-pointer { cursor: pointer !important; }
.text-strike { text-decoration: line-through !important; opacity: 0.6 !important; }
.text-danger { color: #E11D48 !important; }
.text-right { text-align: right !important; }
.font-bold { font-weight: bold !important; }

/* 8. 추가 표준 유틸리티 클래스 (dashboard.js 인라인 스타일 숙청 2단계) */
.fs-10 { font-size: 10px !important; }
.fs-11 { font-size: 11px !important; }
.fs-12 { font-size: 12px !important; }
.fs-13 { font-size: 13px !important; }
.fs-14 { font-size: 14px !important; }
.fs-15 { font-size: 15px !important; }
.fs-16 { font-size: 16px !important; }
.fs-18 { font-size: 18px !important; }
.fs-20 { font-size: 20px !important; }
.font-500 { font-weight: 500 !important; }
.font-600 { font-weight: 600 !important; }
.font-700 { font-weight: 700 !important; }
.font-800 { font-weight: 800 !important; }
.mb-4 { margin-bottom: 4px !important; }
.mb-5 { margin-bottom: 5px !important; }
.mb-6 { margin-bottom: 6px !important; }
.mb-8 { margin-bottom: 8px !important; }
.mb-10 { margin-bottom: 10px !important; }
.mb-12 { margin-bottom: 12px !important; }
.ml-3 { margin-left: 3px !important; }
.ml-4 { margin-left: 4px !important; }
.ml-6 { margin-left: 6px !important; }
.mr-5 { margin-right: 5px !important; }
.mr-6 { margin-right: 6px !important; }
.mr-8 { margin-right: 8px !important; }
.mt-4 { margin-top: 4px !important; }
.mt-6 { margin-top: 6px !important; }
.mt-8 { margin-top: 8px !important; }
.mt-12 { margin-top: 12px !important; }
.p-4-8 { padding: 4px 8px !important; }
.p-6-8 { padding: 6px 8px !important; }
.p-8-12 { padding: 8px 12px !important; }
.p-10 { padding: 10px !important; }
.p-12 { padding: 12px !important; }
.p-15 { padding: 15px !important; }
.p-20 { padding: 20px !important; }
.p-30 { padding: 30px !important; }
.max-h-400 { max-height: 400px !important; overflow-y: auto !important; }
.max-h-300 { max-height: 300px !important; overflow-y: auto !important; }
.max-h-200 { max-height: 200px !important; overflow-y: auto !important; }
.max-h-120 { max-height: 120px !important; overflow-y: auto !important; }
.fcc-monthly-card { padding: 12px 14px !important; background: var(--bg-card, #FFFFFF) !important; border: 1px solid var(--border-base, #E2E8F0) !important; border-radius: 6px !important; box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05) !important; }
.fcc-card-title { color: var(--text-main, #1E293B) !important; font-size: 12.5px !important; font-weight: 700 !important; margin-bottom: 8px !important; border-bottom: 1px dashed var(--border-base, #CBD5E1) !important; padding-bottom: 5px !important; }
.fcc-yoy-box-pink { background: var(--tint-red-bg, #FFF1F2) !important; border: 1px solid var(--border-base, #FFE4E6) !important; border-radius: 6px !important; padding: 12px 18px !important; display: flex !important; flex-direction: column !important; }
.fcc-detail-box-sub { background: var(--bg-sub, #F8FAFC) !important; border: 1px solid var(--border-base, #E2E8F0) !important; border-radius: 6px !important; padding: 12px 18px !important; display: flex !important; flex-direction: column !important; }
.fcc-dash-divider-pink { margin-top: 12px !important; text-align: right !important; font-size: 11px !important; border-top: 1px dashed #FECDD3 !important; padding-top: 8px !important; }
.fcc-dash-header-pink { color: var(--text-sub, #64748B) !important; font-size: 12px !important; font-weight: 600 !important; margin-bottom: 12px !important; text-align: center !important; border-bottom: 1px dashed #FECDD3 !important; padding-bottom: 6px !important; }

/* ==========================================================================
   Re.y Enterprise - Zero-Inline-JS 대원칙 완성 전용 시맨틱 클래스 (3차)
   ========================================================================== */
.btn-action-edit-sm {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 4px !important;
    border: 1px solid #BFDBFE !important;
    background: #EFF6FF !important;
    color: #2563EB !important;
    cursor: pointer !important;
}
html.dark-mode .btn-action-edit-sm,
[data-theme="dark"] .btn-action-edit-sm {
    background: rgba(37, 99, 235, 0.15) !important;
    border-color: rgba(37, 99, 235, 0.3) !important;
    color: #60A5FA !important;
}

.btn-action-del-sm {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 4px !important;
    border: 1px solid #FECACA !important;
    background: #FEF2F2 !important;
    color: #DC2626 !important;
    cursor: pointer !important;
}
html.dark-mode .btn-action-del-sm,
[data-theme="dark"] .btn-action-del-sm {
    background: rgba(220, 38, 38, 0.15) !important;
    border-color: rgba(220, 38, 38, 0.3) !important;
    color: #F87171 !important;
}

.btn-action-view-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    padding: 4px 10px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
    background: var(--bg-card, #FFFFFF) !important;
    border: 1px solid var(--border-base, #CBD5E1) !important;
    color: var(--color-primary, #2563EB) !important;
    cursor: pointer !important;
    line-height: 1 !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
    transition: all 0.15s !important;
}

.fcc-pulse-card-green {
    background: var(--bg-sub, #F8FAFC) !important;
    border: 1px solid var(--border-base, #E2E8F0) !important;
    border-left: 3px solid #059669 !important;
    border-radius: 6px !important;
    padding: 12px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}
.fcc-pulse-card-amber {
    background: var(--bg-sub, #F8FAFC) !important;
    border: 1px solid var(--border-base, #E2E8F0) !important;
    border-left: 3px solid #D97706 !important;
    border-radius: 6px !important;
    padding: 12px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}
.fcc-pulse-card-red {
    background: var(--bg-sub, #F8FAFC) !important;
    border: 1px solid var(--border-base, #E2E8F0) !important;
    border-left: 3px solid #E11D48 !important;
    border-radius: 6px !important;
    padding: 12px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

.fcc-box-sub {
    background: var(--bg-sub, #F8FAFC) !important;
    border: 1px solid var(--border-base, #CBD5E1) !important;
    border-radius: 4px !important;
    padding: 10px 14px !important;
}
.fcc-grid-2x2 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: 1fr 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    height: 100% !important;
}
.fcc-donut-wrapper {
    flex: 1 !important;
    position: relative !important;
    max-width: 48% !important;
    min-width: 0 !important;
    aspect-ratio: 1 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.text-unit-sub { font-size: 12px !important; font-weight: normal !important; margin-left: 3px !important; color: var(--text-sub) !important; }
.text-unit-sub-ml4 { font-size: 12px !important; font-weight: normal !important; margin-left: 4px !important; color: var(--text-sub) !important; }
.text-bold-sub { color: var(--text-sub) !important; font-weight: 600 !important; flex-shrink: 0 !important; }
.text-bold-main-r { font-weight: 600 !important; color: var(--text-main) !important; text-align: right !important; }
.text-danger-p30 { padding: 30px !important; text-align: center !important; color: #E11D48 !important; }
.text-muted-p30 { padding: 30px !important; text-align: center !important; color: var(--text-muted) !important; }
.row-border-dashed {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    color: var(--text-sub) !important;
    padding: 4px 0 !important;
    border-bottom: 1px dashed var(--border-base) !important;
}

.modal-iframe-full { width: 100% !important; height: 100% !important; min-height: 500px !important; border: none !important; display: block !important; }
.table-auto-full { width: 100% !important; table-layout: auto !important; }
.th-pad-l6 { text-align: left !important; padding-left: 6px !important; }
.img-cover-full { width: 100% !important; height: 100% !important; object-fit: cover !important; }


/* ==========================================================================
   Re.y Enterprise - Zero-Inline-Style 대원칙 완성 자동 추출 클래스군
   ========================================================================== */
.auto-style-1 { color:#10B981 !important; font-size:22px !important; font-weight:bold !important; text-align:right !important; width:100% !important; }
.auto-style-2 { display:flex !important; justify-content:space-between !important; align-items:center !important; font-size:12px !important; padding:6px 0 !important; border-bottom:1px dashed var(--border-color, var(--border-base)) !important; }
.auto-style-3 { background:rgba(244, 63, 94, 0.1) !important; border:1px solid #F43F5E !important; border-radius:8px !important; padding:15px !important; display:flex !important; flex-direction:column !important; justify-content:space-between !important; }
.auto-style-4 { display:flex !important; justify-content:space-between !important; font-size:12px !important; margin-top:5px !important; gap:20px !important; }
.auto-style-5 { font-size: 10.5px !important; color: var(--text-muted) !important; }
.auto-style-6 { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 10px !important; width: 100% !important; }
.auto-style-7 { color:#F59E0B !important; font-size:24px !important; font-weight:bold !important; }
.auto-style-8 { background:rgba(16, 185, 129, 0.1) !important; border:1px solid #10B981 !important; border-radius:8px !important; padding:15px !important; display:flex !important; flex-direction:column !important; justify-content:space-between !important; height:100% !important; }
.auto-style-9 { color:#0EA5E9 !important; font-size:14px !important; font-weight:bold !important; margin-bottom:8px !important; }
.auto-style-10 { background:rgba(16, 185, 129, 0.1) !important; border:1px solid #10B981 !important; border-radius:8px !important; padding:15px !important; display:flex !important; flex-direction:column !important; justify-content:space-between !important; }
.auto-style-11 { width: 34% !important; }
.auto-style-12 { color:#E11D48 !important; font-weight:bold !important; font-family:monospace !important; }
.auto-style-13 { display:flex !important; justify-content:space-between !important; font-size:14px !important; font-weight:bold !important; color:var(--text-main) !important; }
.auto-style-14 { text-align:left !important; padding:4px 8px !important; }
.auto-style-15 { display:flex !important; flex-direction:column !important; justify-content:space-between !important; }
.auto-style-16 { color:#3B82F6 !important; font-size:14px !important; font-weight:bold !important; margin-bottom:8px !important; }
.auto-style-17 { color:#8B5CF6 !important; font-size:22px !important; font-weight:bold !important; text-align:right !important; width:100% !important; }
.auto-style-18 { display:flex !important; justify-content:space-between !important; font-size:13px !important; font-weight:800 !important; color:#00E5FF !important; margin-bottom:6px !important; gap:30px !important; }
.auto-style-19 { color:var(--text-sub, var(--text-sub)) !important; font-size:12px !important; }
.auto-style-20 { font-size:14px !important; font-weight:normal !important; }
.auto-style-21 { font-weight: 700 !important; color: #2563EB !important; }
.auto-style-22 { display:flex !important; justify-content:space-between !important; font-size:12px !important; }
.auto-style-23 { display:flex !important; justify-content:space-between !important; font-size:13px !important; margin-bottom:4px !important; gap:20px !important; }
.auto-style-24 { color:#10B981 !important; font-size:24px !important; font-weight:bold !important; text-align:right !important; }
.auto-style-25 { display:flex !important; justify-content:space-between !important; font-size:13px !important; color:#10B981 !important; font-weight:bold !important; }
.auto-style-26 { font-family: monospace !important; }
.auto-style-27 { color:#7C3AED !important; font-size:20px !important; font-weight:bold !important; text-align:right !important; }
.auto-style-28 { background:var(--bg-sub, var(--text-main)) !important; border:1px solid var(--border-color, var(--border-base)) !important; border-left:3px solid #7C3AED !important; border-radius:6px !important; padding:12px 14px !important; display:flex !important; flex-direction:column !important; justify-content:space-between !important; }
.auto-style-29 { display:flex !important; justify-content:space-between !important; font-size:13px !important; margin-bottom:6px !important; gap:20px !important; }
.auto-style-30 { border-bottom:1px dashed rgba(51, 65, 85, 0.5) !important; }
.auto-style-31 { background:rgba(16, 185, 129, 0.05) !important; border:1px solid #10B981 !important; border-radius:8px !important; padding:15px !important; display:flex !important; flex-direction:column !important; justify-content:space-between !important; }
.auto-style-32 { text-align: center !important; padding: 40px !important; }
.auto-style-33 { display:flex !important; justify-content:space-between !important; font-size:13px !important; }
.auto-style-34 { display:flex !important; justify-content:space-between !important; align-items:flex-end !important; width:100% !important; }
.auto-style-35 { background:rgba(244, 63, 94, 0.1) !important; border:1px solid #F43F5E !important; border-radius:8px !important; padding:10px !important; display:flex !important; flex-direction:column !important; justify-content:space-between !important; }
.auto-style-36 { font-size:24px !important; color:#3b82f6 !important; margin-bottom:8px !important; display:block !important; }
.auto-style-37 { background:rgba(59, 130, 246, 0.05) !important; border:1px solid #3B82F6 !important; border-radius:8px !important; padding:15px !important; display:flex !important; flex-direction:column !important; justify-content:space-between !important; }
.auto-style-38 { color:var(--tint-green-text, #059669) !important; font-size:20px !important; font-weight:bold !important; text-align:right !important; }
.auto-style-39 { text-align:right !important; font-size:10px !important; color:${db.summary.lit_yoy >= 0 ? '#10B981' : '#F43F5E'} !important; }
.auto-style-40 { display:grid !important; grid-template-columns: 1fr !important; grid-template-rows: repeat(4, 1fr) !important; gap:12px !important; width:100% !important; height:100% !important; padding:5px !important; }
.auto-style-41 { color:var(--tint-amber-text, #D97706) !important; font-size:20px !important; font-weight:bold !important; text-align:right !important; }
.auto-style-42 { font-size:11px !important; text-align:right !important; color:#F43F5E !important; }
.auto-style-43 { display:flex !important; flex-direction:column !important; gap:15px !important; width:100% !important; height:100% !important; justify-content:center !important; padding:10px !important; }
.auto-style-44 { display:flex !important; width:100% !important; height:100% !important; justify-content: space-evenly !important; align-items: center !important; min-width:0 !important; overflow:hidden !important; }
.auto-style-45 { color:#F59E0B !important; font-size:22px !important; font-weight:bold !important; text-align:right !important; width:100% !important; }
.auto-style-46 { font-weight: bold !important; font-family: monospace !important; }
.auto-style-47 { color:${themeColor} !important; font-size:14px !important; font-weight:bold !important; margin-bottom:8px !important; }
.auto-style-48 { padding: 12px 10px !important; font-weight: bold !important; color: #EAB308 !important; }
.auto-style-49 { border-bottom:1px solid var(--text-sub) !important; color:var(--text-muted) !important; }
.auto-style-50 { width: ${ratio}% !important; }
.auto-style-51 { color:var(--border-base) !important; }
.auto-style-52 { border-bottom: 2px solid var(--text-sub) !important; color: var(--text-muted) !important; }
.auto-style-53 { background:rgba(245, 158, 11, 0.1) !important; border:1px solid #F59E0B !important; border-radius:8px !important; padding:15px !important; display:flex !important; flex-direction:column !important; justify-content:space-between !important; }
.auto-style-54 { display:flex !important; justify-content:space-between !important; font-size:12px !important; margin-top:6px !important; }
.auto-style-55 { background:var(--bg-sub, var(--text-main)) !important; border:1px solid var(--border-color, var(--border-base)) !important; border-left:3px solid #2563EB !important; border-radius:6px !important; padding:12px 14px !important; display:flex !important; flex-direction:column !important; justify-content:space-between !important; }
.auto-style-56 { font-size: 11px !important; line-height: 1.4 !important; }
.auto-style-57 { font-size:12px !important; line-height:1.7 !important; }
.auto-style-58 { text-align:right !important; font-size:12px !important; margin-top:6px !important; }
.auto-style-59 { min-height: 120px !important; display: flex !important; align-items: center !important; justify-content: center !important; }
.auto-style-60 { background:rgba(245, 158, 11, 0.05) !important; border:1px solid #F59E0B !important; border-radius:8px !important; padding:15px !important; display:flex !important; flex-direction:column !important; justify-content:space-between !important; }
.auto-style-61 { color:var(--text-muted) !important; font-size:12px !important; font-weight:600 !important; font-family:monospace !important; }
.auto-style-62 { font-size: 11px !important; color: var(--text-muted) !important; }
.auto-style-63 { color:#e74c3c !important; }
.auto-style-64 { color:#F59E0B !important; font-size:24px !important; font-weight:bold !important; text-align:right !important; width:100% !important; }
.auto-style-65 { margin-top:12px !important; padding-top:12px !important; border-top:1px solid var(--border-color, var(--border-base)) !important; display:flex !important; flex-direction:column !important; gap:10px !important; }
.auto-style-66 { font-weight: 800 !important; color: #2563EB !important; }
.auto-style-67 { display:flex !important; justify-content:space-between !important; gap:30px !important; font-size:13px !important; font-weight:800 !important; }
.auto-style-68 { color:#F43F5E !important; font-size:14px !important; font-weight:bold !important; margin-bottom:8px !important; }
.auto-style-69 { background:rgba(244, 63, 94, 0.05) !important; border:1px solid #F43F5E !important; border-radius:8px !important; padding:15px !important; display:flex !important; flex-direction:column !important; justify-content:space-between !important; }
.auto-style-70 { width: 18% !important; text-align: center !important; }
.auto-style-71 { color:var(--text-sub, var(--text-sub)) !important; }
.auto-style-72 { background:var(--tint-green-bg, #ecfdf5) !important; color:var(--tint-green-text, #059669) !important; border:1px solid var(--border-color, #a7f3d0) !important; padding:1px 5px !important; border-radius:2px !important; font-size:10.5px !important; font-weight:700 !important; margin-left:4px !important; }
.auto-style-73 { display:flex !important; justify-content:space-between !important; font-size:13px !important; font-weight:800 !important; margin-bottom:8px !important; }
.auto-style-74 { font-size:11px !important; color:var(--text-muted) !important; font-weight:normal !important; }
.auto-style-75 { margin-left:4px !important; }
.auto-style-76 { color:#E11D48 !important; font-size:20px !important; font-weight:bold !important; text-align:right !important; }
.auto-style-77 { background:var(--bg-sub, var(--text-main)) !important; color:var(--text-sub, var(--text-sub)) !important; border:1px solid var(--border-color, var(--border-base)) !important; padding:1px 6px !important; border-radius:3px !important; font-size:11px !important; font-weight:600 !important; margin-left:6px !important; }
.auto-style-78 { color:#E11D48 !important; font-size:18px !important; font-weight:bold !important; font-family:monospace !important; }
.auto-style-79 { font-size: 10.5px !important; margin-left: 4px !important; }
.auto-style-80 { font-weight: bold !important; }
.auto-style-81 { font-size: 11px !important; font-weight: 800 !important; margin-top: 2px !important; }
.auto-style-82 { width: 34% !important; text-align: center !important; }
.auto-style-83 { padding: 12px 10px !important; color: var(--text-muted) !important; }
.auto-style-84 { display:flex !important; justify-content:space-between !important; align-items:center !important; color:var(--text-sub, var(--text-sub)) !important; padding-top:6px !important; }
.auto-style-85 { background:rgba(59, 130, 246, 0.1) !important; border:1px solid #3B82F6 !important; border-radius:8px !important; padding:15px !important; display:flex !important; flex-direction:column !important; justify-content:space-between !important; }
.auto-style-86 { display:flex !important; justify-content:center !important; align-items:center !important; gap:6px !important; }
.auto-style-87 { text-align:left !important; }
.auto-style-88 { font-size:12px !important; }
.auto-style-89 { background:rgba(59, 130, 246, 0.1) !important; border:1px solid #3B82F6 !important; border-radius:8px !important; padding:15px !important; display:flex !important; flex-direction:column !important; justify-content:space-between !important; height:100% !important; }
.auto-style-90 { width:100% !important; font-size:12px !important; border-collapse:collapse !important; text-align:right !important; }
.auto-style-91 { background:rgba(245, 158, 11, 0.1) !important; border:1px solid #F59E0B !important; border-radius:8px !important; padding:20px !important; display:flex !important; align-items:center !important; justify-content:space-between !important; }
.auto-style-92 { color:#0EA5E9 !important; font-size:18px !important; font-weight:bold !important; text-align:right !important; }
.auto-style-93 { padding:6px 8px !important; font-weight:bold !important; color:${itemColor} !important; }
.auto-style-94 { display:flex !important; justify-content:space-between !important; font-size:12px !important; margin-bottom:4px !important; }
.auto-style-95 { position:absolute !important; top:50% !important; left:50% !important; transform:translate(-50%,-50%) !important; color:#10B981 !important; font-size:12px !important; font-weight:bold !important; pointer-events:none !important; text-align:center !important; }
.auto-style-96 { background:rgba(16, 185, 129, 0.1) !important; border:1px solid #10B981 !important; border-radius:8px !important; padding:20px !important; display:flex !important; align-items:center !important; justify-content:space-between !important; }
.auto-style-97 { background-color: var(--bg-sub, var(--text-main)) !important; }
.auto-style-98 { display:flex !important; justify-content:space-between !important; font-size:13px !important; font-weight:800 !important; margin-bottom:4px !important; }
.auto-style-99 { font-size:12px !important; font-weight:700 !important; color:var(--text-main, var(--text-sub)) !important; margin-bottom:6px !important; display:flex !important; align-items:center !important; gap:6px !important; }
.auto-style-100 { margin-right:10px !important; text-decoration:none !important; }
.auto-style-101 { max-height: 300px !important; overflow-y: auto !important; }
.auto-style-102 { width: 28% !important; text-align: right !important; padding-right: 16px !important; }
.auto-style-103 { color:#2563EB !important; font-size:10.5px !important; font-weight:600 !important; }
.auto-style-104 { color:#10B981 !important; font-size:24px !important; font-weight:bold !important; }
.auto-style-105 { width: 100% !important; border-collapse: collapse !important; text-align: left !important; color: var(--text-main) !important; font-size: 13px !important; }
.auto-style-106 { width: ${progress}% !important; }
.auto-style-107 { color:var(--text-main, var(--text-main)) !important; font-size:12px !important; font-weight:700 !important; margin-bottom:8px !important; border-bottom:1px dashed var(--border-color, var(--border-base)) !important; padding-bottom:6px !important; }
.auto-style-108 { color:#3B82F6 !important; font-size:24px !important; font-weight:bold !important; text-align:right !important; width:100% !important; }
.auto-style-109 { display:flex !important; justify-content:space-between !important; font-size:13px !important; font-weight:800 !important; margin-bottom:8px !important; color:#00E5FF !important; }
.auto-style-110 { color:#F59E0B !important; font-size:24px !important; font-weight:bold !important; text-align:right !important; }
.auto-style-111 { color:blue !important; }
.auto-style-112 { text-align:right !important; padding-right:16px !important; font-weight:700 !important; color:#2563eb !important; }
.auto-style-113 { color:#10B981 !important; font-size:18px !important; font-weight:bold !important; text-align:right !important; }
.auto-style-114 { margin-left: 4px !important; }
.auto-style-115 { display:flex !important; justify-content:space-between !important; align-items:center !important; margin-bottom:8px !important; }
.auto-style-116 { margin-right:5px !important; }
.auto-style-117 { background:rgba(139, 92, 246, 0.1) !important; border:1px solid #8B5CF6 !important; border-radius:8px !important; padding:10px !important; display:flex !important; flex-direction:column !important; justify-content:space-between !important; }
.auto-style-118 { padding:6px 8px !important; color:#00E5FF !important; }
.auto-style-119 { background:var(--tint-blue-bg, #e0f2fe) !important; color:var(--tint-blue-text, #0369a1) !important; border:1px solid var(--border-color, #bae6fd) !important; padding:1px 6px !important; border-radius:3px !important; font-size:11px !important; font-weight:700 !important; margin-left:6px !important; }
.auto-style-120 { color:var(--text-sub, var(--text-sub)) !important; font-size:10.5px !important; font-weight:500 !important; }
.auto-style-121 { font-size:12px !important; text-align:right !important; }
.auto-style-122 { font-weight: 700 !important; color: var(--text-main, var(--text-main)) !important; }
.auto-style-123 { color: var(--text-main, var(--text-main)) !important; }
.auto-style-124 { width: 15% !important; }
.auto-style-125 { color:var(--tint-amber-text, #D97706) !important; font-size:22px !important; font-weight:bold !important; text-align:right !important; }
.auto-style-126 { font-size:13px !important; font-weight:normal !important; margin-left:4px !important; }
.auto-style-127 { display:flex !important; justify-content:space-between !important; font-size:13px !important; margin-bottom:6px !important; }
.auto-style-128 { color:#10B981 !important; font-size:24px !important; font-weight:bold !important; text-align:right !important; width:100% !important; }
.auto-style-129 { text-align:center !important; padding:20px !important; color:var(--text-muted) !important; }
.auto-style-130 { position:absolute !important; top:50% !important; left:50% !important; transform:translate(-50%,-50%) !important; color:#3B82F6 !important; font-size:12px !important; font-weight:bold !important; pointer-events:none !important; text-align:center !important; }
.auto-style-131 { background: rgba(255,255,255,0.05) !important; padding: 10px !important; border-radius: 6px !important; margin-bottom: 12px !important; }
.auto-style-132 { color:var(--tint-green-text, #059669) !important; font-size:22px !important; font-weight:bold !important; text-align:right !important; }
.auto-style-133 { margin:0 !important; font-size: 13px !important; }
.auto-style-134 { color:var(--text-sub, var(--text-sub)) !important; font-variant-numeric:tabular-nums !important; font-size:12px !important; }
.auto-style-135 { color:#3B82F6 !important; font-size:24px !important; font-weight:bold !important; text-align:right !important; }
.auto-style-136 { color:var(--text-muted) !important; font-size:13px !important; margin-bottom:5px !important; }
.auto-style-137 { font-size:32px !important; color:#F59E0B !important; opacity:0.8 !important; }
.auto-style-138 { color:#00E5FF !important; font-size:15px !important; font-weight:bold !important; margin-bottom:10px !important; text-align:center !important; }
.auto-style-139 { display:flex !important; flex-direction:column !important; gap:2px !important; }
.auto-style-140 { font-size:32px !important; color:#10B981 !important; opacity:0.8 !important; }
.auto-style-141 { display:grid !important; grid-template-columns: repeat(5, 1fr) !important; gap:15px !important; width:100% !important; height:100% !important; padding:10px !important; }
.auto-style-142 { background:rgba(245, 158, 11, 0.1) !important; border:1px solid #F59E0B !important; border-radius:8px !important; padding:15px !important; display:flex !important; flex-direction:column !important; justify-content:space-between !important; height:100% !important; }
.auto-style-143 { padding: 40px 20px !important; text-align: center !important; color: var(--text-sub, var(--text-sub)) !important; }
.auto-style-144 { width: ${Math.min(100, item.bOccRate)}% !important; }
.auto-style-145 { background:var(--tint-blue-bg, #e0f2fe) !important; color:var(--tint-blue-text, #0369a1) !important; padding:1px 5px !important; border-radius:2px !important; font-size:10.5px !important; font-weight:700 !important; margin-left:4px !important; }
.auto-style-146 { color:var(--text-muted) !important; font-size:11px !important; margin-left:4px !important; }
.auto-style-147 { color:var(--text-main, var(--text-main)) !important; }
.auto-style-148 { color:${totalColor} !important; font-weight:bold !important; }
.auto-style-149 { color:#E11D48 !important; font-size:22px !important; font-weight:bold !important; text-align:right !important; }
.auto-style-150 { color:#2563EB !important; font-size:22px !important; font-weight:bold !important; text-align:right !important; }
.auto-style-151 { display:flex !important; justify-content:space-between !important; align-items:center !important; }
.auto-style-152 { width: 100% !important; height: 100% !important; overflow-y: auto !important; padding-right: 5px !important; padding-top: 10px !important; padding-bottom: 10px !important; }
.auto-style-153 { color:var(--text-sub, var(--text-sub)) !important; font-size:11px !important; margin-right:8px !important; }
.auto-style-154 { font-size: 20px !important; margin-bottom: 8px !important; }
.auto-style-155 { color:#10B981 !important; }
.auto-style-156 { width: ${Math.min(100, allOccRate)}% !important; }
.auto-style-157 { background:rgba(14, 165, 233, 0.1) !important; border:1px solid #0EA5E9 !important; border-radius:8px !important; padding:10px !important; display:flex !important; flex-direction:column !important; justify-content:space-between !important; }
.auto-style-158 { color: var(--text-muted) !important; }
.auto-style-159 { background-color: var(--bg-sub, var(--border-base)) !important; }
.auto-style-160 { font-size: 13px !important; font-weight: 800 !important; color: #E11D48 !important; }
.auto-style-161 { font-weight:600 !important; color:var(--text-main, var(--text-main)) !important; }
.auto-style-162 { background:var(--tint-red-bg, #fee2e2) !important; color:var(--tint-red-text, #b91c1c) !important; border:1px solid var(--border-color, #fca5a5) !important; padding:1px 6px !important; border-radius:3px !important; font-size:11px !important; font-weight:700 !important; margin-left:6px !important; }
.auto-style-163 { font-size:12px !important; color:var(--text-muted) !important; margin-top:5px !important; }
.auto-style-164 { margin-right: 5px !important; }
.auto-style-165 { margin-bottom: 15px !important; }
.auto-style-166 { display:grid !important; grid-template-columns: 1fr 1fr !important; grid-template-rows: 1fr 1fr !important; gap:15px !important; width:100% !important; height:100% !important; padding:10px !important; }
.auto-style-167 { font-size:10.5px !important; font-weight:700 !important; margin-top:1px !important; color:${diffColor} !important; }
.auto-style-168 { display:flex !important; justify-content:space-between !important; font-size:13px !important; font-weight:bold !important; color:#00E5FF !important; gap:30px !important; margin-bottom:4px !important; }
.auto-style-169 { color:#8B5CF6 !important; font-size:18px !important; font-weight:bold !important; text-align:right !important; }
.auto-style-170 { color: #2563EB !important; font-weight: bold !important; }
.auto-style-171 { color:#F43F5E !important; font-weight:bold !important; }
.auto-style-172 { flex:1 !important; overflow-y:auto !important; max-height:120px !important; padding-right:4px !important; }
.auto-style-173 { display:flex !important; flex-direction:column !important; gap:15px !important; width:100% !important; height:100% !important; justify-content:center !important; padding: 10px !important; }
.auto-style-174 { color:var(--text-muted) !important; font-size:13px !important; font-weight:500 !important; }
.auto-style-175 { font-size: 13px !important; color: var(--text-main, var(--text-main)) !important; font-weight: 500 !important; word-break: break-all !important; }
.auto-style-176 { justify-content:center !important; }
.auto-style-177 { background:rgba(16, 185, 129, 0.1) !important; border:1px solid #10B981 !important; border-radius:8px !important; padding:10px !important; display:flex !important; flex-direction:column !important; justify-content:space-between !important; }
.auto-style-178 { justify-content:center !important; cursor:pointer !important; }
.auto-style-179 { color: var(--color-primary) !important; }
.auto-style-180 { color:#3B82F6 !important; font-size:22px !important; font-weight:bold !important; text-align:right !important; width:100% !important; }
.auto-style-181 { font-size: 11px !important; color: var(--text-sub, var(--text-sub)) !important; }
.auto-style-182 { text-align:left !important; padding:6px 8px !important; font-weight:bold !important; color:var(--border-base) !important; }
.auto-style-183 { width: 20% !important; text-align: left !important; padding-left: 14px !important; }
.auto-style-184 { padding: 12px 10px !important; border-bottom: 1px solid var(--border-base) !important; cursor: pointer !important; }
.auto-style-185 { display: block !important; }
.auto-style-186 { background:var(--tint-red-bg, #FFF1F2) !important; border:1px solid var(--border-color, #FFE4E6) !important; border-radius:6px !important; padding:16px 20px !important; display:flex !important; flex-direction:column !important; justify-content:center !important; }
.auto-style-187 { text-align: center !important; padding: 40px !important; color: red !important; }
.auto-style-188 { display:flex !important; justify-content:space-between !important; gap:30px !important; font-size:13px !important; font-weight:800 !important; margin-bottom:6px !important; }
.auto-style-189 { position: sticky !important; top: -10px !important; background: var(--bg-elevated, #27272D) !important; z-index: 10 !important; }
.auto-style-190 { color:#E11D48 !important; font-size:12px !important; font-weight:700 !important; }
.auto-style-191 { padding:20px 10px !important; font-size:12px !important; }
.auto-style-192 { font-weight:700 !important; color:var(--tint-amber-text, #d97706) !important; text-align:right !important; }
.auto-style-193 { text-align: left !important; word-break: break-all !important; }
.auto-style-194 { margin-top: 6px !important; }
.auto-style-195 { display:flex !important; justify-content:space-between !important; align-items:center !important; font-size:12px !important; margin-bottom:4px !important; padding-bottom:4px !important; border-bottom:1px solid rgba(255,255,255,0.05) !important; }
.auto-style-196 { display:grid !important; grid-template-columns: 1fr 1fr !important; gap:14px !important; width:100% !important; height:100% !important; }
.auto-style-197 { color: var(--color-primary) !important; font-weight:bold !important; }
.auto-style-198 { color:var(--text-muted) !important; font-size:12px !important; padding:6px 0 !important; }
.auto-style-199 { color:#2563EB !important; font-size:15px !important; font-weight:700 !important; font-family:monospace !important; }
.auto-style-200 { display:flex !important; justify-content:space-between !important; font-size:13px !important; gap:30px !important; margin-bottom:4px !important; }
.auto-style-201 { color:var(--text-sub, var(--text-sub)) !important; font-size:14px !important; font-weight:600 !important; font-family:monospace !important; }
.auto-style-202 { font-weight: 700 !important; }
.auto-style-203 { font-size:11px !important; font-weight:500 !important; color:var(--text-sub, var(--text-sub)) !important; margin-left:6px !important; }
.auto-style-204 { color:var(--text-sub, var(--text-sub)) !important; font-weight:500 !important; }
.auto-style-205 { display:flex !important; flex-direction:column !important; align-items:flex-end !important; gap:1px !important; }
.auto-style-206 { max-height:100px !important; overflow-y:auto !important; line-height:1.6 !important; }
.auto-style-207 { color:var(--text-main) !important; }
.auto-style-208 { color:#F43F5E !important; font-size:22px !important; font-weight:bold !important; text-align:right !important; width:100% !important; }
.auto-style-209 { color:#A855F7 !important; }
.auto-style-210 { background:rgba(139, 92, 246, 0.05) !important; border:1px solid #8B5CF6 !important; border-radius:8px !important; padding:15px !important; display:flex !important; flex-direction:column !important; justify-content:space-between !important; }
.auto-style-211 { color:#F43F5E !important; font-size:24px !important; font-weight:bold !important; text-align:right !important; width:100% !important; }
.auto-style-212 { padding:6px 8px !important; }
.auto-style-213 { display:flex !important; justify-content:space-between !important; align-items:center !important; padding:6px 0 !important; font-size:12.5px !important; border-bottom:1px dashed var(--border-color, var(--border-base)) !important; }
.auto-style-214 { text-align:right !important; font-size:11px !important; color:#10B981 !important; margin-top:5px !important; }
.auto-style-215 { font-size:11px !important; color:var(--text-muted) !important; margin-right:8px !important; }
.auto-style-216 { color:#F43F5E !important; font-size:18px !important; font-weight:bold !important; text-align:right !important; }


/* ==========================================================================
   [전사 공통 텍스트/버튼/테마 유틸리티 일원화 마스터 (Light / Dark 자동 완결)]
   - HTML 및 JS 템플릿에 분산된 모든 텍스트 컬러, 폰트 굵기, 버튼 스타일을
     CSS 변수 시스템으로 100% 자동 바인딩하여 무결점 다크모드/라이트모드 지원
   ========================================================================== */

/* 1. 브랜드 및 포인트 텍스트 */
.text-primary,
.text-blue-500,
.text-blue-600,
.text-blue,
.spec-text-blue {
  color: var(--color-primary) !important;
}

[data-theme="dark"] .text-blue-500,
[data-theme="dark"] .text-blue-600,
[data-theme="dark"] .text-blue,
[data-theme="dark"] .spec-text-blue,
html.dark-mode .text-blue-500,
html.dark-mode .text-blue-600,
html.dark-mode .text-blue,
html.dark-mode .spec-text-blue,
body.dark-mode .text-blue-500,
body.dark-mode .text-blue-600 {
  color: #60A5FA !important;
}

.text-success,
.text-emerald,
.text-emerald-500,
.text-emerald-600,
.text-green-500,
.text-green-600 {
  color: var(--color-success) !important;
}

[data-theme="dark"] .text-success,
[data-theme="dark"] .text-emerald,
[data-theme="dark"] .text-emerald-500,
[data-theme="dark"] .text-emerald-600,
[data-theme="dark"] .text-green-500,
[data-theme="dark"] .text-green-600,
html.dark-mode .text-success,
html.dark-mode .text-emerald,
html.dark-mode .text-green-500,
body.dark-mode .text-success,
body.dark-mode .text-emerald {
  color: #34D399 !important;
}

.text-warning,
.text-amber,
.text-amber-500,
.text-orange-500,
.text-orange-600 {
  color: var(--color-warning) !important;
}

[data-theme="dark"] .text-warning,
[data-theme="dark"] .text-amber,
[data-theme="dark"] .text-amber-500,
[data-theme="dark"] .text-orange-500,
[data-theme="dark"] .text-orange-600,
html.dark-mode .text-warning,
html.dark-mode .text-amber-500,
html.dark-mode .text-orange-500,
body.dark-mode .text-warning {
  color: #FBBF24 !important;
}

.text-danger,
.text-rose,
.text-red-500,
.text-red-600,
.spec-text-red {
  color: var(--color-danger) !important;
}

[data-theme="dark"] .text-danger,
[data-theme="dark"] .text-rose,
[data-theme="dark"] .text-red-500,
[data-theme="dark"] .text-red-600,
[data-theme="dark"] .spec-text-red,
html.dark-mode .text-danger,
html.dark-mode .text-red-500,
body.dark-mode .text-danger {
  color: #FB7185 !important;
}

.text-purple,
.text-purple-500,
.text-purple-600 {
  color: var(--color-purple) !important;
}

[data-theme="dark"] .text-purple,
[data-theme="dark"] .text-purple-500,
[data-theme="dark"] .text-purple-600,
html.dark-mode .text-purple,
body.dark-mode .text-purple {
  color: #C084FC !important;
}

.text-cyan,
.fcc-text-cyan {
  color: #0284C7 !important;
}

[data-theme="dark"] .text-cyan,
[data-theme="dark"] .fcc-text-cyan,
html.dark-mode .text-cyan,
html.dark-mode .fcc-text-cyan,
body.dark-mode .text-cyan {
  color: #38BDF8 !important;
}

/* 2. 그레이스케일 및 본문 텍스트 (다크모드 완벽 반전) */
.text-main,
.text-gray-900,
.text-gray-800,
.text-gray-700 {
  color: var(--text-main) !important;
}

.text-sub,
.text-gray-600 {
  color: var(--text-sub) !important;
}

.text-muted,
.fcc-text-muted,
.int-text-gray,
.text-gray-500 {
  color: var(--text-muted) !important;
}

.text-disabled,
.text-gray-400 {
  color: var(--text-disabled) !important;
}

[data-theme="dark"] .text-gray-700,
[data-theme="dark"] .text-gray-800,
[data-theme="dark"] .text-gray-900,
html.dark-mode .text-gray-700,
html.dark-mode .text-gray-800,
html.dark-mode .text-gray-900,
body.dark-mode .text-gray-700,
body.dark-mode .text-gray-800,
body.dark-mode .text-gray-900 {
  color: #FFFFFF !important;
}

[data-theme="dark"] .text-gray-600,
html.dark-mode .text-gray-600,
body.dark-mode .text-gray-600 {
  color: #E4E4E7 !important;
}

[data-theme="dark"] .text-gray-500,
[data-theme="dark"] .int-text-gray,
[data-theme="dark"] .fcc-text-muted,
html.dark-mode .text-gray-500,
html.dark-mode .int-text-gray,
html.dark-mode .fcc-text-muted,
body.dark-mode .text-gray-500 {
  color: #D4D4D8 !important;
}

[data-theme="dark"] .text-gray-400,
html.dark-mode .text-gray-400,
body.dark-mode .text-gray-400 {
  color: #A1A1AA !important;
}

/* 3. 버튼 테마 연동 */
.btn-outline-gray {
  background: var(--bg-card-alt) !important;
  color: var(--text-main) !important;
  border: 1px solid var(--border-base) !important;
}

.btn-outline-gray:hover {
  background: var(--border-light) !important;
  color: var(--text-main) !important;
}

[data-theme="dark"] .btn-outline-gray,
html.dark-mode .btn-outline-gray,
body.dark-mode .btn-outline-gray {
  background: #27272D !important;
  color: #F4F4F6 !important;
  border-color: #383842 !important;
}

[data-theme="dark"] .btn-outline-gray:hover,
html.dark-mode .btn-outline-gray:hover,
body.dark-mode .btn-outline-gray:hover {
  background: #32323A !important;
  color: #FFFFFF !important;
}

.btn-blue {
  background: var(--color-primary) !important;
  color: #FFFFFF !important;
  border: 1px solid transparent !important;
}

.btn-blue:hover {
  background: var(--color-primary-hover) !important;
  color: #FFFFFF !important;
}

/* 4. 폰트 굵기 */
.font-bold,
.font-weight-bold,
.vh-font-bold {
  font-weight: 700 !important;
}

.font-semibold {
  font-weight: 600 !important;
}

.font-medium,
.font-500 {
  font-weight: 500 !important;
}

.font-normal {
  font-weight: 400 !important;
}


/* ==========================================================================
   Re.y Enterprise - 전사 모든 검색창(Search Box) 320px x 34px & 2중 테두리 영구 제거 전역 표준화
   (Zero-Regression Universal Search Box Enforcement)
   ========================================================================== */
html body .search-box:not(.search-box-wrap):not(.portal-search-box):not(.mci-tree-search-box),
html body .widget-toolbar .search-box,
html body .toolbar-left .search-box,
html body .costs-toolbar-card .search-box,
html body .accounts-search-box,
html body .interior-search-box,
html body .master-user-search-wrap,
html body .log-search-group {
    width: 320px !important;
    max-width: 320px !important;
    min-width: 320px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    border: 1px solid var(--border-color, #CBD5E1) !important;
    border-radius: 4px !important;
    background-color: var(--bg-card, #FFFFFF) !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 10px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

html body .search-box:focus-within,
html body .widget-toolbar .search-box:focus-within,
html body .toolbar-left .search-box:focus-within,
html body .costs-toolbar-card .search-box:focus-within,
html body .accounts-search-box:focus-within,
html body .interior-search-box:focus-within,
html body .master-user-search-wrap:focus-within,
html body .log-search-group:focus-within {
    border-color: #1E40AF !important;
    box-shadow: 0 0 0 2px rgba(30, 64, 175, 0.12) !important;
}

html body .search-box i,
html body .widget-toolbar .search-box i,
html body .toolbar-left .search-box i,
html body .accounts-search-box i,
html body .interior-search-box i,
html body .master-user-search-wrap i,
html body .log-search-group i {
    color: var(--text-muted, #64748B) !important;
    font-size: 13px !important;
    margin-right: 6px !important;
    flex-shrink: 0 !important;
    pointer-events: none !important;
}

html body .search-box input,
html body .widget-toolbar .search-box input,
html body .toolbar-left .search-box input,
html body .costs-toolbar-card .search-box input,
html body .accounts-search-box input,
html body .interior-search-box input,
html body .master-user-search-wrap input,
html body .log-search-group input {
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    line-height: 32px !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    font-size: 13.5px !important;
    font-family: inherit !important;
    color: var(--text-main, #0F172A) !important;
    padding: 0 0 0 4px !important;
    margin: 0 !important;
    flex: 1 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

html body .search-box input::placeholder,
html body .widget-toolbar .search-box input::placeholder {
    color: var(--text-muted, #94A3B8) !important;
    font-size: 13px !important;
}

/* 다크 모드 전역 완전 일원화 */
html[data-theme="dark"] body .search-box:not(.search-box-wrap):not(.portal-search-box),
html[data-theme="dark"] body .widget-toolbar .search-box,
html[data-theme="dark"] body .toolbar-left .search-box,
html[data-theme="dark"] body .costs-toolbar-card .search-box,
html[data-theme="dark"] body .accounts-search-box,
html[data-theme="dark"] body .interior-search-box,
html[data-theme="dark"] body .master-user-search-wrap,
html[data-theme="dark"] body .log-search-group,
body.dark-mode .search-box:not(.search-box-wrap):not(.portal-search-box),
body.dark-mode .widget-toolbar .search-box,
body.dark-mode .toolbar-left .search-box,
body.dark-mode .costs-toolbar-card .search-box,
body.dark-mode .accounts-search-box,
body.dark-mode .interior-search-box,
body.dark-mode .master-user-search-wrap,
body.dark-mode .log-search-group {
    background-color: var(--bg-card-alt, #27272D) !important;
    border-color: var(--border-base, #383842) !important;
}

html[data-theme="dark"] body .search-box input,
html[data-theme="dark"] body .widget-toolbar .search-box input,
html[data-theme="dark"] body .toolbar-left .search-box input,
body.dark-mode .search-box input,
body.dark-mode .widget-toolbar .search-box input,
body.dark-mode .toolbar-left .search-box input {
    color: var(--text-main, #FFFFFF) !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

html[data-theme="dark"] body .search-box i,
html[data-theme="dark"] body .widget-toolbar .search-box i,
html[data-theme="dark"] body .toolbar-left .search-box i,
body.dark-mode .search-box i,
body.dark-mode .widget-toolbar .search-box i,
body.dark-mode .toolbar-left .search-box i {
    color: #94A3B8 !important;
}


/* ==========================================================================
   [Re.y Enterprise Global Audit - Card Integrity & Empty State Standard]
   1. 전사 KPI/요약 카드 높이 유연화 (카드 밖으로 내용 삐져나감 100% 원천 차단)
   2. 카드 내부 타이틀/라벨/수치/단위 줄바꿈(아래로 무너짐) 방지
   3. 데이터 없음(Empty State) 좌측 쏠림 박멸 -> 정중앙 아이콘 + 배지형 안내 표준화
   ========================================================================== */

/* 1. 전사 KPI 그리드 및 요약 카드 고정 높이 해제 (내부 콘텐츠 100% 수납 보장) */
.int-kpi-grid,
.asset-summary-row,
.contract-kpi-tri-grid,
.exp-kpi-quad-grid,
.rental-summary-grid,
.adv-kpi-top-row,
.lc-exec-dashboard-grid,
.legal-kpi-grid,
.maintenance-summary-container,
.sw-kpi-tri-grid,
.trademark-summary-grid,
.mail-log-kpi-grid,
.seal-summary-container,
.corp-gov-workspace .corp-kpi-triple-grid,
.lease-summary-section {
    height: auto !important;
    max-height: none !important;
    align-items: stretch !important;
    box-sizing: border-box !important;
}

.int-kpi-card,
.asset-summary-card,
.contract-kpi-card,
.exp-kpi-card,
.rental-summary-grid .widget,
.adv-kpi-card,
.lc-summary-card,
.lc-rank-card,
.legal-kpi-card,
.legal-kpi-card.kpi-card-30,
.legal-kpi-card.kpi-card-40,
.maintenance-summary-container .summary-card,
.sw-kpi-card,
.tm-kpi-card,
.trademark-summary-grid .info-card,
.mail-kpi-card,
.seal-summary-container .widget,
.corp-gov-workspace .kpi-card,
.approval-kpi-panel,
.vh-kpi-b-card,
.pk-kpi-card {
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
}

/* 2. 카드 내부 텍스트가 아래로 두 줄/세 줄 꺾여 무너지는 현상 원천 차단 */
.card-title,
.card-title span,
.kpi-card-header h3,
.kpi-card-header h4,
.asset-card-title,
.exp-kpi-title,
.adv-kpi-title,
.sw-kpi-title,
.tm-kpi-title,
.contract-kpi-title,
.mail-kpi-label,
.lc-summary-title,
.card-header-simple h4,
.int-badge-red,
.asset-stat-badge,
.chart-guide-tag,
.contract-kpi-badge,
.adv-yoy-badge,
.tm-kpi-status-tag,
.mail-kpi-badge,
.count-badge,
.year-badge-title,
.metric-label,
.metric-val,
.kpi-alert-label,
.kpi-alert-val,
.pill-lbl,
.pill-val,
.c3yr-label,
.c3yr-val,
.vh-chip-label,
.vh-chip-unit,
.ins-premium-label,
.ins-premium-amount,
.tm-hero-lbl,
.tm-hero-num,
.tm-hero-unit,
.adv-hero-label,
.stat-cell-title,
.stat-cell-val,
.spec-kpi-card .kpi-title,
.spec-kpi-card .kpi-value,
.spec-kpi-card .kpi-unit {
    white-space: nowrap !important;
}

/* 카드 내부 행(Row) 좌우 정렬 및 말줄임 안전장치 */
.year-metric-row,
#kpi-alert-list li,
.c3yr-row,
.pill-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/* 3. 전사 Empty State (데이터가 없습니다) 좌측 달랑 텍스트 박멸 -> 정중앙 아이콘/여백 표준화 */
.no-data,
.data-empty,
.table-empty-row,
.table-msg,
.empty-msg,
.empty-cell,
.no-req-text,
.advisory-empty-msg,
.srt-res-empty-row,
.srt-no-result,
.lawfirm-grid-loading,
tbody tr td[colspan]:only-child:not(.accordion-expand-cell):not(.settlement-accordion-td):not(.costs-accordion-td):not([class*="accordion"]):not(.cell-bold):not(.meta-val) {
    text-align: center !important;
    vertical-align: middle !important;
    padding: 36px 20px !important;
    color: var(--text-muted, #64748B) !important;
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    letter-spacing: -0.2px !important;
    line-height: 1.6 !important;
}

/* 위젯/카드 내부 리스트 Empty State (박스형 중앙 정렬) */
.feed-empty,
.feed-empty-msg,
.sw-kpi-empty,
.sw-dday-empty,
.tm-dday-empty,
.memo-card-empty,
.modal-tree-empty {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    min-height: 84px !important;
    padding: 18px 16px !important;
    color: var(--text-muted, #64748B) !important;
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    background: var(--bg-card-alt, rgba(248, 250, 252, 0.5)) !important;
    border: 1px dashed var(--border-base, #CBD5E1) !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    margin: 4px 0 !important;
    list-style: none !important;
}

/* 아이콘이 없는 빈 데이터 요소에 자동으로 품격 있는 폴더 아이콘 부여 */
.no-data:not(:has(i)):not(:has(svg))::before,
.data-empty:not(:has(i)):not(:has(svg))::before,
.table-empty-row:not(:has(i)):not(:has(svg))::before,
.table-msg:not(:has(i)):not(:has(svg))::before,
.no-req-text:not(:has(i)):not(:has(svg))::before,
.advisory-empty-msg:not(:has(i)):not(:has(svg))::before,
.srt-res-empty-row:not(:has(i)):not(:has(svg))::before,
.feed-empty:not(:has(i)):not(:has(svg))::before,
.feed-empty-msg:not(:has(i)):not(:has(svg))::before,
.sw-kpi-empty:not(:has(i)):not(:has(svg))::before,
.sw-dday-empty:not(:has(i)):not(:has(svg))::before,
.tm-dday-empty:not(:has(i)):not(:has(svg))::before,
.memo-card-empty:not(:has(i)):not(:has(svg))::before {
    content: "\f07c" !important;
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    display: block !important;
    font-size: 18px !important;
    color: var(--text-muted, #94A3B8) !important;
    opacity: 0.5 !important;
    margin: 0 auto 6px auto !important;
    line-height: 1 !important;
}

html[data-theme="dark"] .feed-empty,
body.dark-mode .feed-empty,
html[data-theme="dark"] .feed-empty-msg,
body.dark-mode .feed-empty-msg,
html[data-theme="dark"] .sw-kpi-empty,
body.dark-mode .sw-kpi-empty,
html[data-theme="dark"] .sw-dday-empty,
body.dark-mode .sw-dday-empty,
html[data-theme="dark"] .tm-dday-empty,
body.dark-mode .tm-dday-empty,
html[data-theme="dark"] .memo-card-empty,
body.dark-mode .memo-card-empty,
html[data-theme="dark"] .modal-tree-empty,
body.dark-mode .modal-tree-empty {
    background: rgba(39, 39, 45, 0.45) !important;
    border-color: var(--border-base, #383842) !important;
    color: #94A3B8 !important;
}

/* 4. 전사 상세보기(Detail Inspector/Workspace) 탭 전환 시 화면이 위로 딸려 올라가는(Scroll Jump) 현상 원천 차단 */
#legalCaseDetailInspector:not(.d-none),
#advisory-detail-inspector:not(.d-none),
#contract-detail-inspector:not(.d-none),
#asset-detail-section:not(.d-none),
#rental-detail-section:not(.d-none),
#interior-detail-section:not(.d-none),
#ins-detail-workspace:not(.d-none),
#vehicle-detail-section:not(.d-none),
#lease-detail-view:not(.d-none),
#tm-detail-workspace:not(.d-none),
#sw-detail-section:not(.d-none),
#maintenance-detail-section:not(.d-none) {
    min-height: calc(100vh - 96px) !important;
    box-sizing: border-box !important;
}
