@charset "UTF-8"; /* 한글 깨짐 방지를 위해 추가 */

/* 전역적으로 Noto Sans KR 적용 (선택 사항) */
body {
    font-family: 'Noto Sans KR', sans-serif; /* 'Noto Sans KR'이 로드되지 않을 경우 대비하여 sans-serif 추가 */
    font-weight: 400; /* 기본 폰트 굵기: Regular */
}

/* 제목에 폰트 및 굵기 적용 */
h1 {
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: 700; /* Bold 굵기 */
}

/* 특정 클래스에 폰트 및 굵기 적용 */
.light-text {
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: 300; /* Light 굵기 */
}

.bold-text {
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: 700; /* Bold 굵기 */
}

/* 필요하다면 다른 요소에도 적용 */
p {
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: 400; /* Regular 굵기 */
    line-height: 1.6; /* 줄 간격 조정으로 가독성 향상 */
}

/* 사이드 메뉴 네비게이션 헤드 */
.sidebar-menu .nav-header {
    padding: 0.5rem 0.75rem;
    font-size: 0.82rem;
    font-weight: 900; 
}

.sidebar-wrapper .nav-item {
    font-size: 0.90rem;
    font-weight: 700;
}

.btn {
    --bs-btn-font-size: 0.8rem !important;
}

.pagination .page-link {
    font-size: 0.8rem !important;
}

/* DataTables pagination 중앙 정렬 (모든 화면 사이즈에서) */
.basic-dataTables_wrapper .dataTables_paginate {
    text-align: center !important;
    float: none !important;
    display: flex !important;
    justify-content: center !important;
    margin-top: 1rem;
}

/* 필요시 부모도 정렬 보정 */
.basic-dataTables_wrapper .row:last-child {
    justify-content: center !important;
}

.modal{
    font-size: 0.85rem !important;
}

/* placeholder 색상 수정 - 가독성 향상 */
input::placeholder,
textarea::placeholder {
  font-size: 0.8rem;
  color: #6c757d; /* 기존 #f7f7f7에서 변경 - 더 읽기 쉬운 회색 */
  opacity: 0.7;
}

input, textarea, select {
  font-size: 0.8rem !important;
}
 
.card-header.custom {
    padding: 0.6rem 0rem;
}

.card-body.custom {
    font-size: 0.8rem !important; 
    padding: 0.6rem 0rem;
}

/* DataTables 페이징 스타일 개선 - 최신 버전 대응 */
.basic-dataTables_wrapper .dataTables_paginate .paginate_button,
.basic-dataTables_wrapper .dt-paging .dt-paging-button {
    padding: 0.375rem 0.75rem !important;
    margin: 0 0.125rem !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 0.375rem !important;
    background: #fff !important;
    color: #495057 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    display: inline-block !important;
}

.basic-dataTables_wrapper .dataTables_paginate .paginate_button:hover,
.basic-dataTables_wrapper .dt-paging .dt-paging-button:hover {
    background: #e9ecef !important;
    border-color: #adb5bd !important;
    color: #495057 !important;
    text-decoration: none !important;
}

/* 기본 현재 페이지 스타일 제거 - 동적 스타일이 이를 대체 */

.basic-dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.basic-dataTables_wrapper .dt-paging .dt-paging-button.disabled {
    background: #fff !important;
    border-color: #dee2e6 !important;
    color: #6c757d !important;
    cursor: not-allowed !important;
    opacity: 0.65;
}

.basic-dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,
.basic-dataTables_wrapper .dt-paging .dt-paging-button.disabled:hover {
    background: #fff !important;
    border-color: #dee2e6 !important;
    color: #6c757d !important;
}

/* Bootstrap 스타일 클래스들도 대응 */
.dt-paging .page-item .page-link {
    padding: 0.375rem 0.75rem !important;
    margin: 0 0.125rem !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 0.375rem !important;
    background: #fff !important;
    color: #495057 !important;
    text-decoration: none !important;
}

.dt-paging .page-item .page-link:hover {
    background: #e9ecef !important;
    border-color: #adb5bd !important;
    color: #495057 !important;
}

/* 기본 Bootstrap 활성 페이지 스타일 강제 제거 */
.dt-paging .page-item.active .page-link {
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
    color: #fff !important;
}

.dt-paging .page-item.disabled .page-link {
    background: #fff !important;
    border-color: #dee2e6 !important;
    color: #6c757d !important;
    cursor: not-allowed !important;
    opacity: 0.65;
}

/* DataTables 전체 스타일 개선 */
.basic-dataTables_wrapper .dataTables_info {
    color: #495057 !important;
    font-size: 0.875rem !important;
    margin-bottom: 0.5rem;
}

.basic-dataTables_wrapper .dataTables_filter input {
    border: 1px solid #ced4da !important;
    border-radius: 0.375rem !important;
    padding: 0.375rem 0.75rem !important;
    font-size: 0.875rem !important;
}

.basic-dataTables_wrapper .dataTables_length select {
    border: 1px solid #ced4da !important;
    border-radius: 0.375rem !important;
    padding: 0.375rem 0.75rem !important;
    font-size: 0.875rem !important;
}

/* Primary 스타일 페이징 - 범용 선택자 사용 */
.basic-dataTables_wrapper.style-primary [class*="current"],
.basic-dataTables_wrapper.style-primary [class*="active"],
.basic-dataTables_wrapper.style-primary .paginate_button.current,
.basic-dataTables_wrapper.style-primary .dt-paging-button.current,
.basic-dataTables_wrapper.style-primary .page-item.active .page-link {
    background-color: var(--bs-primary, #0d6efd) !important;
    background: var(--bs-primary, #0d6efd) !important;
    border-color: var(--bs-primary, #0d6efd) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

/* Success 스타일 페이징 */
.basic-datatables_wrapper.style-success [class*="current"],
.basic-dataTables_wrapper.style-success [class*="active"],
.basic-dataTables_wrapper.style-success .paginate_button.current,
.basic-dataTables_wrapper.style-success .dt-paging-button.current,
.basic-dataTables_wrapper.style-success .page-item.active .page-link {
    background-color: var(--bs-success, #198754) !important;
    background: var(--bs-success, #198754) !important;
    border-color: var(--bs-success, #198754) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

/* Info 스타일 페이징 */
.basic-dataTables_wrapper.style-info [class*="current"],
.basic-dataTables_wrapper.style-info [class*="active"],
.basic-dataTables_wrapper.style-info .paginate_button.current,
.basic-dataTables_wrapper.style-info .dt-paging-button.current,
.basic-dataTables_wrapper.style-info .page-item.active .page-link {
    background-color: var(--bs-info, #0dcaf0) !important;
    background: var(--bs-info, #0dcaf0) !important;
    border-color: var(--bs-info, #0dcaf0) !important;
    color: #000000 !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

/* Warning 스타일 페이징 */
.basic-dataTables_wrapper.style-warning [class*="current"],
.basic-dataTables_wrapper.style-warning [class*="active"],
.basic-dataTables_wrapper.style-warning .paginate_button.current,
.basic-dataTables_wrapper.style-warning .dt-paging-button.current,
.basic-dataTables_wrapper.style-warning .page-item.active .page-link {
    background-color: var(--bs-warning, #ffc107) !important;
    background: var(--bs-warning, #ffc107) !important;
    border-color: var(--bs-warning, #ffc107) !important;
    color: #000000 !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

/* Danger 스타일 페이징 */
.basic-dataTables_wrapper.style-danger [class*="current"],
.basic-dataTables_wrapper.style-danger [class*="active"],
.basic-dataTables_wrapper.style-danger .paginate_button.current,
.basic-dataTables_wrapper.style-danger .dt-paging-button.current,
.basic-dataTables_wrapper.style-danger .page-item.active .page-link {
    background-color: var(--bs-danger, #dc3545) !important;
    background: var(--bs-danger, #dc3545) !important;
    border-color: var(--bs-danger, #dc3545) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

/* Solious 스타일 페이징 */
.basic-dataTables_wrapper.style-solious [class*="current"],
.basic-dataTables_wrapper.style-solious [class*="active"],
.basic-dataTables_wrapper.style-solious .paginate_button.current,
.basic-dataTables_wrapper.style-solious .dt-paging-button.current,
.basic-dataTables_wrapper.style-solious .page-item.active .page-link {
    background-color: var(--solious, #4ECDC4) !important;
    background: var(--solious, #4ECDC4) !important;
    border-color: var(--solious, #4ECDC4) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

/* 호버 상태 - 모든 스타일 */
.basic-dataTables_wrapper.style-primary [class*="current"]:hover,
.basic-dataTables_wrapper.style-primary [class*="active"]:hover,
.basic-dataTables_wrapper.style-primary .paginate_button.current:hover,
.basic-dataTables_wrapper.style-primary .dt-paging-button.current:hover,
.basic-dataTables_wrapper.style-primary .page-item.active .page-link:hover {
    opacity: 0.9 !important;
}

.basic-dataTables_wrapper.style-success [class*="current"]:hover,
.basic-dataTables_wrapper.style-success [class*="active"]:hover,
.basic-dataTables_wrapper.style-success .paginate_button.current:hover,
.basic-dataTables_wrapper.style-success .dt-paging-button.current:hover,
.basic-dataTables_wrapper.style-success .page-item.active .page-link:hover {
    opacity: 0.9 !important;
}

.basic-dataTables_wrapper.style-info [class*="current"]:hover,
.basic-dataTables_wrapper.style-info [class*="active"]:hover,
.basic-dataTables_wrapper.style-info .paginate_button.current:hover,
.basic-dataTables_wrapper.style-info .dt-paging-button.current:hover,
.basic-dataTables_wrapper.style-info .page-item.active .page-link:hover {
    opacity: 0.9 !important;
}

.basic-dataTables_wrapper.style-warning [class*="current"]:hover,
.basic-dataTables_wrapper.style-warning [class*="active"]:hover,
.basic-dataTables_wrapper.style-warning .paginate_button.current:hover,
.basic-dataTables_wrapper.style-warning .dt-paging-button.current:hover,
.basic-dataTables_wrapper.style-warning .page-item.active .page-link:hover {
    opacity: 0.9 !important;
}

.basic-dataTables_wrapper.style-danger [class*="current"]:hover,
.basic-dataTables_wrapper.style-danger [class*="active"]:hover,
.basic-dataTables_wrapper.style-danger .paginate_button.current:hover,
.basic-dataTables_wrapper.style-danger .dt-paging-button.current:hover,
.basic-dataTables_wrapper.style-danger .page-item.active .page-link:hover {
    opacity: 0.9 !important;
}

.basic-dataTables_wrapper.style-solious [class*="current"]:hover,
.basic-dataTables_wrapper.style-solious [class*="active"]:hover,
.basic-dataTables_wrapper.style-solious .paginate_button.current:hover,
.basic-dataTables_wrapper.style-solious .dt-paging-button.current:hover,
.basic-dataTables_wrapper.style-solious .page-item.active .page-link:hover {
    opacity: 0.9 !important;
}

/* 일반 Bootstrap 페이지네이션 스타일 개선 */
.pagination .page-item.active .page-link {
    z-index: 3;
    color: #fff !important;
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
    font-weight: 600 !important;
}

.pagination .page-item .page-link {
    position: relative;
    display: block;
    padding: 0.375rem 0.75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: #007bff;
    background-color: #fff;
    border: 1px solid #dee2e6;
    text-decoration: none !important;
}

.pagination .page-item .page-link:hover {
    z-index: 2;
    color: #0056b3;
    background-color: #e9ecef;
    border-color: #dee2e6;
}

.pagination .page-item:first-child .page-link {
    margin-left: 0;
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
}

.pagination .page-item:last-child .page-link {
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
}

 
.primary .pagination .page-item.active .page-link {
    z-index: 3;
    color: #fff !important;
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
    font-weight: 600 !important;
}

.primary .pagination .page-item .page-link {
    position: relative;
    display: block;
    padding: 0.375rem 0.75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: #0d6efd !important;
    background-color: #fff;
    border: 1px solid #dee2e6;
    text-decoration: none !important;
}

.primary .pagination .page-item .page-link:hover {
    z-index: 2;
    color: #fff !important;
    background-color: #0051cc !important;
    border-color: #0d6efd !important;
}

.secondary .pagination .page-item.active .page-link {
    z-index: 3;
    color: #fff !important;
    background-color: #6c757d !important;
    border-color: #6c757d !important;
    font-weight: 600 !important;
}

.secondary .pagination .page-item .page-link {
    position: relative;
    display: block;
    padding: 0.375rem 0.75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: #6c757d !important;
    background-color: #fff;
    border: 1px solid #dee2e6;
    text-decoration: none !important;
}

.secondary .pagination .page-item .page-link:hover {
    z-index: 2;
    color: #000 !important;
    background-color: #555c62 !important;
    border-color: #6c757d !important;
}

.success .pagination .page-item.active .page-link {
    z-index: 3;
    color: #fff !important;
    background-color: #198754 !important;
    border-color: #198754 !important;
    font-weight: 600 !important;
}

.success .pagination .page-item .page-link {
    position: relative;
    display: block;
    padding: 0.375rem 0.75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: #198754;
    background-color: #fff;
    border: 1px solid #dee2e6;
    text-decoration: none !important;
}

.success .pagination .page-item .page-link:hover {
    z-index: 2;
    color: #fff;
    background-color: #0b633a;
    border-color: #dee2e6;
}

.info .pagination .page-item.active .page-link {
    z-index: 3;
    color: #000 !important;
    background-color: #0dcaf0 !important;
    border-color: #0dcaf0 !important;
    font-weight: 600 !important;
}

.info .pagination .page-item .page-link {
    position: relative;
    display: block;
    padding: 0.375rem 0.75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: #0dcaf0 !important;
    background-color: #fff;
    border: 1px solid #dee2e6;
    text-decoration: none !important;
}

.info .pagination .page-item .page-link:hover {
    z-index: 2;
    color: #fff !important;
    background-color: #01abcd !important;
    border-color: #0dcaf0 !important;
}

.warning .pagination .page-item.active .page-link {
    z-index: 3;
    color: #000 !important;
    background-color: #ffc107 !important;
    border-color: #ffc107 !important;
    font-weight: 600 !important;
}

.warning .pagination .page-item .page-link {
    position: relative;
    display: block;
    padding: 0.375rem 0.75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: #ffc107 !important;
    background-color: #fff;
    border: 1px solid #dee2e6;
    text-decoration: none !important;
}

.warning .pagination .page-item .page-link:hover {
    z-index: 2;
    color: #fff !important;
    background-color: #d19e05 !important;
    border-color: #ffc107 !important;
}

.danger .pagination .page-item.active .page-link {
    z-index: 3;
    color: #fff !important;
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
    font-weight: 600 !important;
}

.warning .pagination .page-item .page-link {
    position: relative;
    display: block;
    padding: 0.375rem 0.75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: #dc3545 !important;
    background-color: #fff;
    border: 1px solid #dee2e6;
    text-decoration: none !important;
}

.warning .pagination .page-item .page-link:hover {
    z-index: 2;
    color: #fff !important;
    background-color: #ca1628 !important;
    border-color: #dc3545 !important;
}

.solious .pagination .page-item.active .page-link {
    z-index: 3;
    color: #fff !important;
    background-color: #4ECDC4 !important;
    border-color: #4ECDC4 !important;
    font-weight: 600 !important;
}

.solious .pagination .page-item .page-link {
    position: relative;
    display: block;
    padding: 0.375rem 0.75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: #4ECDC4 !important;
    background-color: #fff;
    border: 1px solid #dee2e6;
    text-decoration: none !important;
}

.solious .pagination .page-item .page-link:hover {
    z-index: 2;
    color: #fff !important;
    background-color: #26b5ab !important;
    border-color: #4ECDC4 !important;
}

.dark .pagination .page-item.active .page-link {
    z-index: 3;
    color: #fff !important;
    background-color: #000000 !important;
    border-color: #f7da00 !important;
    font-weight: 600 !important;
}

.dark .pagination .page-item .page-link {
    position: relative;
    display: block;
    padding: 0.375rem 0.75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: #0c0c0c !important;
    background-color: #fff;
    border: 1px solid #dee2e6;
    text-decoration: none !important;
}

.dark .pagination .page-item .page-link:hover {
    z-index: 2;
    color: #fff !important;
    background-color: #505050 !important;
    border-color: #464646 !important;
}

.white .pagination .page-item.active .page-link {
    z-index: 3;
    color: #000000 !important;
    background-color: #ffffff !important;
    border-color: #000000 !important;
    font-weight: 600 !important;
}

.white .pagination .page-item .page-link {
    position: relative;
    display: block;
    padding: 0.375rem 0.75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: #020202 !important;
    background-color: #fff;
    border: 1px solid #666666;
    text-decoration: none !important;
}

.white .pagination .page-item .page-link:hover {
    z-index: 2;
    color: #000000 !important;
    background-color: #6f6f6f !important;
    border-color: #616161 !important;
}

/* 최고 우선순위 페이징 스타일 - 모든 가능한 선택자 커버 */
.style-primary .dataTables_paginate .paginate_button.current,
.style-primary .dt-paging .dt-paging-button.current,
.style-primary .dt-paging .page-item.active .page-link,
.style-primary .dt-paging .page-item.active button,
.style-primary [aria-current="page"],
.style-primary .current button,
.basic-dataTables_wrapper.style-primary .dataTables_paginate .paginate_button.current,
.basic-dataTables_wrapper.style-primary .dt-paging .dt-paging-button.current,
.basic-dataTables_wrapper.style-primary .page-item.active .page-link,
table.dataTable.dtr-inline.collapsed tbody tr[role="row"].current {
    background-color: #0d6efd !important;
    background: #0d6efd !important;
    border-color: #0d6efd !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

.style-success .dataTables_paginate .paginate_button.current,
.style-success .dt-paging .dt-paging-button.current,
.style-success .dt-paging .page-item.active .page-link,
.style-success .dt-paging .page-item.active button,
.style-success [aria-current="page"],
.style-success .current button,
.basic-dataTables_wrapper.style-success .dataTables_paginate .paginate_button.current,
.basic-dataTables_wrapper.style-success .dt-paging .dt-paging-button.current,
.basic-dataTables_wrapper.style-success .page-item.active .page-link {
    background-color: #198754 !important;
    background: #198754 !important;
    border-color: #198754 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

.style-info .dataTables_paginate .paginate_button.current,
.style-info .dt-paging .dt-paging-button.current,
.style-info .dt-paging .page-item.active .page-link,
.style-info .dt-paging .page-item.active button,
.style-info [aria-current="page"],
.style-info .current button,
.basic-dataTables_wrapper.style-info .dataTables_paginate .paginate_button.current,
.basic-dataTables_wrapper.style-info .dt-paging .dt-paging-button.current,
.basic-dataTables_wrapper.style-info .page-item.active .page-link {
    background-color: #0dcaf0 !important;
    background: #0dcaf0 !important;
    border-color: #0dcaf0 !important;
    color: #000000 !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

.style-warning .dataTables_paginate .paginate_button.current,
.style-warning .dt-paging .dt-paging-button.current,
.style-warning .dt-paging .page-item.active .page-link,
.style-warning .dt-paging .page-item.active button,
.style-warning [aria-current="page"],
.style-warning .current button,
.basic-dataTables_wrapper.style-warning .dataTables_paginate .paginate_button.current,
.basic-dataTables_wrapper.style-warning .dt-paging .dt-paging-button.current,
.basic-dataTables_wrapper.style-warning .page-item.active .page-link {
    background-color: #ffc107 !important;
    background: #ffc107 !important;
    border-color: #ffc107 !important;
    color: #000000 !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

.style-danger .dataTables_paginate .paginate_button.current,
.style-danger .dt-paging .dt-paging-button.current,
.style-danger .dt-paging .page-item.active .page-link,
.style-danger .dt-paging .page-item.active button,
.style-danger [aria-current="page"],
.style-danger .current button,
.basic-dataTables_wrapper.style-danger .dataTables_paginate .paginate_button.current,
.basic-dataTables_wrapper.style-danger .dt-paging .dt-paging-button.current,
.basic-dataTables_wrapper.style-danger .page-item.active .page-link {
    background-color: #dc3545 !important;
    background: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

.style-solious .dataTables_paginate .paginate_button.current,
.style-solious .dt-paging .dt-paging-button.current,
.style-solious .dt-paging .page-item.active .page-link,
.style-solious .dt-paging .page-item.active button,
.style-solious [aria-current="page"],
.style-solious .current button,
.basic-dataTables_wrapper.style-solious .dataTables_paginate .paginate_button.current,
.basic-dataTables_wrapper.style-solious .dt-paging .dt-paging-button.current,
.basic-dataTables_wrapper.style-solious .page-item.active .page-link {
    background-color: #4ECDC4 !important;
    background: #4ECDC4 !important;
    border-color: #4ECDC4 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

/* 최고 우선순위 - 모든 가능한 활성 페이징 요소 */
div.dataTables_wrapper div.dataTables_paginate .paginate_button.current,
div.dataTables_wrapper div.dataTables_paginate .paginate_button.current:hover,
div.dataTables_wrapper .dt-paging .dt-paging-button.current,
div.dataTables_wrapper .dt-paging .dt-paging-button.current:hover,
div.dataTables_wrapper .dt-paging .page-item.active .page-link,
div.dataTables_wrapper .dt-paging .page-item.active .page-link:hover,
div.dataTables_wrapper .dt-paging .page-item.active button,
div.dataTables_wrapper .dt-paging .page-item.active button:hover,
div.dataTables_wrapper .dt-paging [aria-current="page"],
div.dataTables_wrapper .dt-paging [aria-current="page"]:hover {
    background-color: #0d6efd !important;
    background: #0d6efd !important;
    border-color: #0d6efd !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

/* Style별 덮어쓰기 - SUCCESS */
.style-success div.dataTables_wrapper div.dataTables_paginate .paginate_button.current,
.style-success div.dataTables_wrapper div.dataTables_paginate .paginate_button.current:hover,
.style-success div.dataTables_wrapper .dt-paging .dt-paging-button.current,
.style-success div.dataTables_wrapper .dt-paging .dt-paging-button.current:hover,
.style-success div.dataTables_wrapper .dt-paging .page-item.active .page-link,
.style-success div.dataTables_wrapper .dt-paging .page-item.active .page-link:hover,
.style-success div.dataTables_wrapper .dt-paging .page-item.active button,
.style-success div.dataTables_wrapper .dt-paging .page-item.active button:hover,
.style-success div.dataTables_wrapper .dt-paging [aria-current="page"],
.style-success div.dataTables_wrapper .dt-paging [aria-current="page"]:hover {
    background-color: #198754 !important;
    background: #198754 !important;
    border-color: #198754 !important;
    color: #ffffff !important;
}

/* Style별 덮어쓰기 - INFO */
.style-info div.dataTables_wrapper div.dataTables_paginate .paginate_button.current,
.style-info div.dataTables_wrapper div.dataTables_paginate .paginate_button.current:hover,
.style-info div.dataTables_wrapper .dt-paging .dt-paging-button.current,
.style-info div.dataTables_wrapper .dt-paging .dt-paging-button.current:hover,
.style-info div.dataTables_wrapper .dt-paging .page-item.active .page-link,
.style-info div.dataTables_wrapper .dt-paging .page-item.active .page-link:hover,
.style-info div.dataTables_wrapper .dt-paging .page-item.active button,
.style-info div.dataTables_wrapper .dt-paging .page-item.active button:hover,
.style-info div.dataTables_wrapper .dt-paging [aria-current="page"],
.style-info div.dataTables_wrapper .dt-paging [aria-current="page"]:hover {
    background-color: #0dcaf0 !important;
    background: #0dcaf0 !important;
    border-color: #0dcaf0 !important;
    color: #000000 !important;
}

/* Style별 덮어쓰기 - WARNING */
.style-warning div.dataTables_wrapper div.dataTables_paginate .paginate_button.current,
.style-warning div.dataTables_wrapper div.dataTables_paginate .paginate_button.current:hover,
.style-warning div.dataTables_wrapper .dt-paging .dt-paging-button.current,
.style-warning div.dataTables_wrapper .dt-paging .dt-paging-button.current:hover,
.style-warning div.dataTables_wrapper .dt-paging .page-item.active .page-link,
.style-warning div.dataTables_wrapper .dt-paging .page-item.active .page-link:hover,
.style-warning div.dataTables_wrapper .dt-paging .page-item.active button,
.style-warning div.dataTables_wrapper .dt-paging .page-item.active button:hover,
.style-warning div.dataTables_wrapper .dt-paging [aria-current="page"],
.style-warning div.dataTables_wrapper .dt-paging [aria-current="page"]:hover {
    background-color: #ffc107 !important;
    background: #ffc107 !important;
    border-color: #ffc107 !important;
    color: #000000 !important;
}

/* Style별 덮어쓰기 - DANGER */
.style-danger div.dataTables_wrapper div.dataTables_paginate .paginate_button.current,
.style-danger div.dataTables_wrapper div.dataTables_paginate .paginate_button.current:hover,
.style-danger div.dataTables_wrapper .dt-paging .dt-paging-button.current,
.style-danger div.dataTables_wrapper .dt-paging .dt-paging-button.current:hover,
.style-danger div.dataTables_wrapper .dt-paging .page-item.active .page-link,
.style-danger div.dataTables_wrapper .dt-paging .page-item.active .page-link:hover,
.style-danger div.dataTables_wrapper .dt-paging .page-item.active button,
.style-danger div.dataTables_wrapper .dt-paging .page-item.active button:hover,
.style-danger div.dataTables_wrapper .dt-paging [aria-current="page"],
.style-danger div.dataTables_wrapper .dt-paging [aria-current="page"]:hover {
    background-color: #dc3545 !important;
    background: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #ffffff !important;
}

/* Style별 덮어쓰기 - SOLIOUS */
.style-solious div.dataTables_wrapper div.dataTables_paginate .paginate_button.current,
.style-solious div.dataTables_wrapper div.dataTables_paginate .paginate_button.current:hover,
.style-solious div.dataTables_wrapper .dt-paging .dt-paging-button.current,
.style-solious div.dataTables_wrapper .dt-paging .dt-paging-button.current:hover,
.style-solious div.dataTables_wrapper .dt-paging .page-item.active .page-link,
.style-solious div.dataTables_wrapper .dt-paging .page-item.active .page-link:hover,
.style-solious div.dataTables_wrapper .dt-paging .page-item.active button,
.style-solious div.dataTables_wrapper .dt-paging .page-item.active button:hover,
.style-solious div.dataTables_wrapper .dt-paging [aria-current="page"],
.style-solious div.dataTables_wrapper .dt-paging [aria-current="page"]:hover {
    background-color: #4ECDC4 !important;
    background: #4ECDC4 !important;
    border-color: #4ECDC4 !important;
    color: #ffffff !important;
}

/* 반응형 테이블 개선 */
@media (max-width: 768px) {
    .basic-dataTables_wrapper .dataTables_paginate .paginate_button,
    .basic-dataTables_wrapper .dt-paging .dt-paging-button,
    .basic-dataTables_wrapper .page-item .page-link {
        padding: 0.25rem 0.5rem !important;
        font-size: 0.75rem !important;
        margin: 0 0.05rem !important;
    }
    
    .pagination .page-item .page-link {
        padding: 0.25rem 0.5rem !important;
        font-size: 0.75rem !important;
    }
}

/* 최종 강제 스타일 - 모든 다른 CSS보다 나중에 로드됨 */
body .style-primary .dataTables_wrapper .dt-paging .page-item.active .page-link,
body .style-primary .dataTables_wrapper .dt-paging .page-item.active button {
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
    color: #ffffff !important;
}

body .style-success .dataTables_wrapper .dt-paging .page-item.active .page-link,
body .style-success .dataTables_wrapper .dt-paging .page-item.active button {
    background-color: #198754 !important;
    border-color: #198754 !important;
    color: #ffffff !important;
}

body .style-info .dataTables_wrapper .dt-paging .page-item.active .page-link,
body .style-info .dataTables_wrapper .dt-paging .page-item.active button {
    background-color: #0dcaf0 !important;
    border-color: #0dcaf0 !important;
    color: #000000 !important;
}

body .style-warning .dataTables_wrapper .dt-paging .page-item.active .page-link,
body .style-warning .dataTables_wrapper .dt-paging .page-item.active button {
    background-color: #ffc107 !important;
    border-color: #ffc107 !important;
    color: #000000 !important;
}

body .style-danger .dataTables_wrapper .dt-paging .page-item.active .page-link,
body .style-danger .dataTables_wrapper .dt-paging .page-item.active button {
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #ffffff !important;
}

body .style-solious .dataTables_wrapper .dt-paging .page-item.active .page-link,
body .style-solious .dataTables_wrapper .dt-paging .page-item.active button {
    background-color: #4ECDC4 !important;
    border-color: #4ECDC4 !important;
    color: #ffffff !important;
}

/* ========== 탭 스타일 강화 (언어탭 & 이미지탭 공통) ========== */

/* 언어탭과 이미지탭 공통 기본 스타일 */
#langTab .nav-link, #imageTab .nav-link {
    position: relative;
    color: #6c757d !important;
    background-color: #f8f9fa !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 8px 8px 0 0 !important;
    padding: 12px 20px !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
    margin-bottom: -1px;
}

/* 호버 효과 */
#langTab .nav-link:hover:not(.active), #imageTab .nav-link:hover:not(.active) {
    color: #495057 !important;
    background-color: #e9ecef !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
    border-color: #adb5bd !important;
}

/* 활성 탭 기본 스타일 */
#langTab .nav-link.active, #imageTab .nav-link.active,
#langTab .nav-link.active:focus, #imageTab .nav-link.active:focus,
#langTab .nav-link.active:hover, #imageTab .nav-link.active:hover {
    color: #ffffff !important;
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
    box-shadow: 0 3px 6px rgba(13, 110, 253, 0.25) !important;
    font-weight: 600 !important;
    z-index: 1;
}

/* 활성 탭 하단 화살표 */
#langTab .nav-link.active::before, #imageTab .nav-link.active::before {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid #0d6efd;
    z-index: 2;
}

/* 탭 컨테이너 스타일링 */
#langTab + .tab-content, #imageTab + .tab-content {
    border: 1px solid #dee2e6;
    border-top: none;
    border-radius: 0 0 8px 8px;
    background-color: #ffffff;
    min-height: 200px;
}

/* ========== 테마별 활성 탭 스타일 ========== */

/* Primary 테마 */
.style-primary #langTab .nav-link.active, .style-primary #imageTab .nav-link.active,
.style-primary #langTab .nav-link.active:focus, .style-primary #imageTab .nav-link.active:focus,
.style-primary #langTab .nav-link.active:hover, .style-primary #imageTab .nav-link.active:hover {
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
    color: #ffffff !important;
}
.style-primary #langTab .nav-link.active::before, .style-primary #imageTab .nav-link.active::before {
    border-top-color: #0d6efd;
}

/* Success 테마 */
.style-success #langTab .nav-link.active, .style-success #imageTab .nav-link.active,
.style-success #langTab .nav-link.active:focus, .style-success #imageTab .nav-link.active:focus,
.style-success #langTab .nav-link.active:hover, .style-success #imageTab .nav-link.active:hover {
    background-color: #198754 !important;
    border-color: #198754 !important;
    color: #ffffff !important;
    box-shadow: 0 3px 6px rgba(25, 135, 84, 0.25) !important;
}
.style-success #langTab .nav-link.active::before, .style-success #imageTab .nav-link.active::before {
    border-top-color: #198754;
}

/* Info 테마 */
.style-info #langTab .nav-link.active, .style-info #imageTab .nav-link.active,
.style-info #langTab .nav-link.active:focus, .style-info #imageTab .nav-link.active:focus,
.style-info #langTab .nav-link.active:hover, .style-info #imageTab .nav-link.active:hover {
    background-color: #0dcaf0 !important;
    border-color: #0dcaf0 !important;
    color: #000000 !important;
    box-shadow: 0 3px 6px rgba(13, 202, 240, 0.25) !important;
}
.style-info #langTab .nav-link.active::before, .style-info #imageTab .nav-link.active::before {
    border-top-color: #0dcaf0;
}

/* Warning 테마 */
.style-warning #langTab .nav-link.active, .style-warning #imageTab .nav-link.active,
.style-warning #langTab .nav-link.active:focus, .style-warning #imageTab .nav-link.active:focus,
.style-warning #langTab .nav-link.active:hover, .style-warning #imageTab .nav-link.active:hover {
    background-color: #ffc107 !important;
    border-color: #ffc107 !important;
    color: #000000 !important;
    box-shadow: 0 3px 6px rgba(255, 193, 7, 0.25) !important;
}
.style-warning #langTab .nav-link.active::before, .style-warning #imageTab .nav-link.active::before {
    border-top-color: #ffc107;
}

/* Danger 테마 */
.style-danger #langTab .nav-link.active, .style-danger #imageTab .nav-link.active,
.style-danger #langTab .nav-link.active:focus, .style-danger #imageTab .nav-link.active:focus,
.style-danger #langTab .nav-link.active:hover, .style-danger #imageTab .nav-link.active:hover {
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #ffffff !important;
    box-shadow: 0 3px 6px rgba(220, 53, 69, 0.25) !important;
}
.style-danger #langTab .nav-link.active::before, .style-danger #imageTab .nav-link.active::before {
    border-top-color: #dc3545;
}

/* Solious 테마 */
.style-solious #langTab .nav-link.active, .style-solious #imageTab .nav-link.active,
.style-solious #langTab .nav-link.active:focus, .style-solious #imageTab .nav-link.active:focus,
.style-solious #langTab .nav-link.active:hover, .style-solious #imageTab .nav-link.active:hover {
    background-color: #4ECDC4 !important;
    border-color: #4ECDC4 !important;
    color: #ffffff !important;
    box-shadow: 0 3px 6px rgba(78, 205, 196, 0.25) !important;
}
.style-solious #langTab .nav-link.active::before, .style-solious #imageTab .nav-link.active::before {
    border-top-color: #4ECDC4;
}

/* ========== 반응형 탭 스타일 ========== */
@media (max-width: 768px) {
    #langTab .nav-link, #imageTab .nav-link {
        padding: 8px 12px !important;
        font-size: 0.85rem !important;
    }
    
    #langTab .nav-link.active::before, #imageTab .nav-link.active::before {
        border-left-width: 6px;
        border-right-width: 6px;
        border-top-width: 6px;
    }
}