/*속도개선*/
table{
    table-layout: fixed;
    will-change: transform;
    user-select: none;
    contain: layout paint style;
}
table tbody {
    contain: content;
}
 
table tbody tr {

    content-visibility: auto;
    contain-intrinsic-size: 40px;
}

/*속도개선*/

.customTable th{
    min-height: 40px !important;
    line-height: 40px !important;
}
.customTable td {
    min-height: 35px !important;
    line-height: 35px !important;
    
}

.customTable th, .customTable td {

    padding: 0 10px;
    vertical-align: middle;
}


 
.table-striped tbody tr:hover {
    /*background-color: #e6f7ff;*/
    /*background-color: rgba(var(--bs-primary-rgb), 0.25);*/
    background-color:var(--bs-primary-tint-90);
    color: var(--bs-primary);
    
    cursor: pointer;
    transition: background-color 0.3s ease-in-out;
}
 
.table-striped tbody tr.active {
    /*background-color: #fce6cc;*/
    font-weight: bold;
    /*color: #333333;
    background-color:rgba(var(--bs-primary-rgb), 0.1);
    */
    background-color:var(--bs-primary-tint-90);
    color: var(--bs-primary);
}

.table-striped tbody td.highlight {
    /*
    background-color: #fce6cc;
    border: 2px solid #ff8c00;
    */
    /*
    background-color: rgba(var(--bs-primary-rgb), 0.1);
    border: 2px solid var(--bs-primary);
    */
    background-color:var(--bs-primary-tint-90);
    color: var(--bs-primary);
    border: 2px solid var(--bs-primary);
}

/* 고정 헤더와 푸터에 필요한 CSS 추가 */
.tableWrapper {
    /* 기존 높이 설정은 그대로 유지 */
    min-height: 50vh;
    max-height: 50vh;
    /* 스크롤을 가능하게 하기 위해 overflow-y를 추가합니다. */
    overflow-y: auto;
    overflow-x: auto;
    width: 100%;
}
.fMTableWrapper{
    /* 기존 높이 설정은 그대로 유지 */
    min-height: 91vh;
    max-height: 91vh;
    /* 스크롤을 가능하게 하기 위해 overflow-y를 추가합니다. */
    overflow-y: auto;
    overflow-x: auto;
    width: 100%;
}
.fTableWrapper{
    /* 기존 높이 설정은 그대로 유지 */
    min-height: 90vh;
    max-height: 90vh;
    /* 스크롤을 가능하게 하기 위해 overflow-y를 추가합니다. */
    overflow-y: auto;
    overflow-x: auto;
    width: 100%;
}
.fTableWrapper2{
    /* 기존 높이 설정은 그대로 유지 */
    min-height: 75vh;
    max-height: 75vh;
    /* 스크롤을 가능하게 하기 위해 overflow-y를 추가합니다. */
    overflow-y: auto;
    overflow-x: auto;
    width: 100%;
}

.fTableWrapper3{
    /* 기존 높이 설정은 그대로 유지 */
    min-height: 82vh;
    max-height: 82vh;
    /* 스크롤을 가능하게 하기 위해 overflow-y를 추가합니다. */
    overflow-y: auto;
    overflow-x: auto;
    width: 100%;
}
.mTableWrapper{
    /* 기존 높이 설정은 그대로 유지 */
    min-height: 61vh;
    max-height: 61vh;
    /* 스크롤을 가능하게 하기 위해 overflow-y를 추가합니다. */
    overflow-y: auto;
    overflow-x: auto;
    width: 100%;
}
.subTableWrapper{
    /* 기존 높이 설정은 그대로 유지 */
    min-height: 42vh;
    max-height: 42vh;
    /* 스크롤을 가능하게 하기 위해 overflow-y를 추가합니다. */
    overflow-y: auto;
    overflow-x: auto;
    width: 100%;
}

.subTableWrapper2{
    /* 기존 높이 설정은 그대로 유지 */
    min-height: 40vh;
    max-height: 40vh;
    /* 스크롤을 가능하게 하기 위해 overflow-y를 추가합니다. */
    overflow-y: auto;
    overflow-x: auto;
    width: 100%;
}
.subTableWrapper3{
    /* 기존 높이 설정은 그대로 유지 */
    min-height: 60vh;
    max-height: 60vh;
    /* 스크롤을 가능하게 하기 위해 overflow-y를 추가합니다. */
    overflow-y: auto;
    overflow-x: auto;
    width: 100%;
}

.subSmallTableWrapper{
    /* 기존 높이 설정은 그대로 유지 */
    min-height: 32.5vh;
    max-height: 32.5vh;
    /* 스크롤을 가능하게 하기 위해 overflow-y를 추가합니다. */
    overflow-y: auto;
    overflow-x: auto;
    width: 100%;
}

.subSmallTableWrapper2{
    /* 기존 높이 설정은 그대로 유지 */
    min-height: calc(32.5vh - 55px);
    max-height: calc(32.5vh - 55px);
    /* 스크롤을 가능하게 하기 위해 overflow-y를 추가합니다. */
    overflow-y: auto;
    overflow-x: auto;
    width: 100%;
}

.smallTableWrapper{
    min-height: 23vh;
    max-height: 23vh;
    overflow-y: auto;
    overflow-x: auto;
    width: 100%;
}

.fullTableWrapper{
    min-height: 83vh;
    max-height: 83vh;
    overflow-y: auto;
    overflow-x: auto;
    width: 100%;
}

.customTable thead th {
    position: sticky;
    top: -1px; /* 헤더를 맨 위에 고정 */
    background-color:var(--bs-primary-tint-90);
    color: var(--bs-primary);
    z-index: 10;
    font-weight: 600;
    font-size:14px;
}
 
.customTable tbody .tbodySummary{
    background-color: var(--bs-primary-tint-90);
    color: var(--bs-primary);
    font-weight: 600;
    
}
.customTable tbody td{
    font-size:13px;
}

.customTable tfoot td {
    position: sticky;
    bottom: -1px; /* 푸터를 맨 아래에 고정 */
    background-color:var(--bs-primary-tint-90);
    color: var(--bs-primary);
    z-index: 10;
    font-weight: 600;
    font-size:14px;
}
.tableInput {
    border-radius: 0 !important;
}

.customTable {
    /*border-collapse: separate;*/
    border-collapse: collapse;
}

table{
    width: 100%;
    table-layout: fixed; /* 컬럼 너비 고정 */
    word-wrap: break-word; /* 긴 내용 줄 바꿈 */
}
 
/*정렬*/
.sortable {
    cursor: pointer;
    position: relative;
    padding-right: 20px;
}

.sortable::after {
    content: "⇅";  /* 기본 양방향 화살표 */
    position: absolute;
    right: 5px;
    color: var(--bs-primary);
    font-size: 12px;
}

.sortable.asc::after {
    content: "▲";  /* 오름차순 */
    color: var(--bs-primary);
}

.sortable.desc::after {
    content: "▼";  /* 내림차순 */
    color: var(--bs-primary);
}



table,  td {
    border: 1px solid #cccccc49; /* 옅은 회색 실선 */
 
    border-collapse: collapse;
  }
  
  
  thead th {
    border: 1px solid #a0a0a03f; 
  }
  

    tfoot th {
        border: 1px solid #a0a0a03f; 
      }
      
 