.dt-empty {
    text-align: center !important;
}

/* DataTable 2.0 전용 레이아웃 고정 */
.dt-scroll-headInner,
.dt-scroll-headInner table,
.dt-scroll-body table {
    width: 100% !important;
    table-layout: fixed !important; /* 브라우저의 자율 계산을 막음 */
}

/* 엑셀 다운로드 버튼 */
.btn-excel {
    --ins-btn-color: #fff;
    --ins-btn-bg: #217346;              /* 기본 */
    --ins-btn-border-color: #217346;

    --ins-btn-hover-color: #fff;
    --ins-btn-hover-bg: #1e6a3f;        /* hover */
    --ins-btn-hover-border-color: #1b613a;

    --ins-btn-focus-shadow-rgb: 33, 115, 70;

    --ins-btn-active-color: #fff;
    --ins-btn-active-bg: #1b613a;       /* active */
    --ins-btn-active-border-color: #1b613a;
    --ins-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);

    --ins-btn-disabled-color: #fff;
    --ins-btn-disabled-bg: #217346;
    --ins-btn-disabled-border-color: #217346;
}

/* select2 dark mode */
/* 1. 선택 박스 (Selection Box) */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    background-color: var(--bs-body-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

/* 2. 다중 선택 시 선택된 태그 (Choices) */
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: var(--bs-secondary-bg) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
}

/* 3. 드롭다운 컨테이너 (Dropdown Container) */
/* !important를 통해 투명화 현상 방지 */
.select2-container--default .select2-dropdown {
    background-color: #2b3035 !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
    z-index: 9999;
}

/* 4. 옵션 리스트 (Options) */
.select2-container--default .select2-results__option {
    background-color: #2b3035 !important; /* 배경색 명시 */
    color: var(--bs-body-color) !important;
}

/* 5. 마우스 호버 및 하이라이트 (Hover/Highlighted) */
/* [aria-selected] 속성을 포함해야 라이브러리 기본색을 이길 수 있습니다. */
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: var(--bs-primary) !important; /* 또는 #3d4246 */
    color: #fff !important;
}

/* 6. 이미 선택된 옵션 (Selected Option) */
.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #1e2125 !important;
    color: #fff !important;
}

/* 7. 검색창 (Search Field) */
.select2-search--dropdown .select2-search__field {
    background-color: #343a40 !important;
    border: 1px solid var(--bs-border-color) !important;
    color: #fff !important;
}

/* 8. 싱글 선택 시 텍스트 컬러 */
.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--bs-body-color) !important;
    line-height: 36px;
}

 /* 알림 레드 닷 스타일 */
 .new-indicator {
     display: inline-block;
     width: 8px;           /* 점 크기 */
     height: 8px;
     background-color: #ed5565; /* Inspinia 전용 Red (Danger 컬러) */
     border-radius: 50%;   /* 동그랗게 */
     margin-left: 5px;     /* 글자와의 간격 */
     vertical-align: middle;
     box-shadow: 0 0 0 2px rgba(237, 85, 101, 0.2); /* 살짝 퍼지는 효과 */
 }

/* (선택사항) 깜빡이는 효과를 주고 싶을 때 클래스 추가 */
.pulse-dot {
    animation: pulse-red 2s infinite;
}

@keyframes pulse-red {
    0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(237, 85, 101, 0.7); }
    70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(237, 85, 101, 0); }
    100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(237, 85, 101, 0); }
}


/* 1. 기본(라이트) 모드 스타일 */
.select2-container--default .select2-selection--multiple,
.select2-container--default .select2-selection--single {
    background-color: #ffffff !important;
    border: 1px solid #dee2e6 !important;
    color: #212529 !important;
}
.select2-dropdown {
    background-color: #ffffff !important;
    border: 1px solid #dee2e6 !important;
}
.select2-container--default .select2-results__option {
    color: #333 !important;
    background-color: #ffffff !important;
}
.select2-container--default .select2-selection__choice {
    background-color: #e9ecef !important;
    color: #495057 !important;
}

/* 2. 다크 모드 대응 (부트스트랩 5 테마 기준) */
[data-bs-theme="dark"] .select2-container--default .select2-selection--multiple,
[data-bs-theme="dark"] .select2-container--default .select2-selection--single {
    background-color: #2b3035 !important; /* 부트스트랩 다크 배경색 */
    border-color: #495057 !important;
    color: #dee2e6 !important;
}

[data-bs-theme="dark"] .select2-dropdown {
    background-color: #2b3035 !important;
    border-color: #495057 !important;
}

[data-bs-theme="dark"] .select2-container--default .select2-results__option {
    background-color: #2b3035 !important;
    color: #dee2e6 !important;
}

/* 다크모드 하이라이트(호버) */
[data-bs-theme="dark"] .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #3d4246 !important;
    color: #fff !important;
}

/* 다크모드 선택된 태그(X버튼 포함) */
[data-bs-theme="dark"] .select2-container--default .select2-selection__choice {
    background-color: #343a40 !important;
    border-color: #495057 !important;
    color: #dee2e6 !important;
}

/* 다크모드 태그 삭제 버튼 */
[data-bs-theme="dark"] .select2-container--default .select2-selection__choice__remove {
    color: #adb5bd !important;
}

.timeline-time {
    width: 200px;
}
.timeline-dot {
    width: 20px;
    height: 20px;
}

.timeline-item:not(:last-of-type) .timeline-content::before {
    content: "";
    position: absolute;
    top: 5px;
    bottom: 0;
    left: -10px;
}

.keyword-badge { display: inline-flex; align-items: center; gap: 5px; padding: 5px 10px; border-radius: 4px; background: #eef2ff; color: #4e5ed3; font-size: 13px; font-weight: 600; }
.keyword-badge i { cursor: pointer; font-size: 14px; }
/* 카드 상단 상세보기 링크 스타일 */
.hover-link {
    font-size: 12px;
    color: #999 !important;
    transition: color 0.2s;
}

.hover-link:hover {
    color: #555 !important;
    text-decoration: underline !important;
}

/* 카드 간격 조절 (상단 텍스트 공간 확보) */
.card.position-relative {
    margin-top: 30px !important;
}

/* 접기 아이콘 공통: 제자리 회전 설정 */
.collapse-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease-in-out;
    transform-origin: center center;
    width: 1.2rem;
    height: 1.2rem;
}

/* 접혔을 때 (aria-expanded="false") 화살표 회전 */
[aria-expanded="false"] .collapse-arrow {
    transform: rotate(-90deg);
}

/* 헤더 커서 및 호버 효과 */
.card-header[data-bs-toggle="collapse"] {
    cursor: pointer;
    user-select: none; /* 드래그 방지 */
}

.drop-zone { transition: all 0.3s; border: 2px dashed #dee2e6; background-color: #f8f9fa; cursor: pointer; }
.drop-zone:hover, .drop-zone.dragover { border-color: #5b73e8; background-color: #fff; }
.keyword-badge { display: inline-flex; align-items: center; gap: 5px; padding: 5px 10px; border-radius: 4px; background: #eef2ff; color: #4e5ed3; font-size: 13px; font-weight: 600; }
.keyword-badge i { cursor: pointer; font-size: 14px; }
#customer_search_result { position: absolute; width: 100%; z-index: 1000; max-height: 200px; overflow-y: auto; box-shadow: 0 5px 15px rgba(0,0,0,0.1); }