﻿
rs-grid-style-table {
    --rs-grid-style-outer-bdcolor: rgba(var(--bs-gray-300-rgb), 1);
    --rs-grid-style-outer-bdradius: 1px;
    --rs-grid-style-outer-bgcolor: rgba(var(--bs-gray-400-rgb),0.30);
    --rs-grid-style-cell-fix-bgcolor: var(--bs-gray-100);
    --rs-grid-style-header-bgcolor: var(--bs-gray-100);
    --rs-grid-style-th-bdcolor: rgba(var(--bs-gray-400-rgb),0.30);
    --rs-grid-style-th-bottom-bgcolor: transparent;
    --rs-grid-style-table-td-left-border-color: transparent;
    --rs-grid-style-table-td-right-border-color: transparent;
    --rs-grid-style-table-td-top-border-color: rgba(var(--bs-gray-400-rgb), 0.30);
    --rs-grid-style-table-td-bottom-border-color: transparent;
    --rs-grid-style-td-bgcolor: var(--bs-body-bg);
    --rs-grid-style-table-td-bgcolor: var(--bs-body-bg);
    --rs-grid-style-table-td-alt-bgcolor: var(--bs-body-bg);
    --rs-grid-style-data-selected-bgcolor: var(--bs-primary-light);
    --rs-grid-style-table-subrow-bgcolor: var(--bs-gray-100);
    --rs-grid-style-table-totrow-bgcolor: var(--bs-gray-200);
    --rs-grid-style-data-row-focus: rgba(var(--bs-gray-400-rgb),0.30);
    --rs-grid-style-cell-font-size: 11.2px;
}

.rx-text-transparent {
    color: transparent;
}


.rxgrid {
    height: 700px;
    width: 100%;
    font-family: 'SUIT', 'Noto Sans KR';
    font-weight: 400;
    border-left: solid 1px var(--rs-grid-style-th-bdcolor);
    border-top: solid 1px var(--rs-grid-style-th-bdcolor);
    border-bottom: solid 1px var(--rs-grid-style-th-bdcolor);
    border-right: solid 1px var(--rs-grid-style-th-bdcolor);
    overflow: hidden;
    border-radius: var(--rs-grid-style-outer-bdradius);
    font-size: 12px;
    color: var(--bs-text-dark);
}

    .rxgrid .grid-container {
        display: flex;
        flex-flow: column;
        height: 100%;
        position: relative;
        overflow: hidden;
    }

    .rxgrid .rx-table {
        table-layout: fixed;
        white-space: nowrap;
        border-collapse: separate;
        border-spacing: 0;
    }

    .rxgrid .grid-container .header-container {
        flex: 0 0 auto;
        overflow: hidden;
        padding-right: calc(100vw - 100%);
    }

        .rxgrid .grid-container .header-container .rw-column-row {
            height: 40px;
            overflow: hidden !important;
            white-space: nowrap;
        }

            .rxgrid .grid-container .header-container .rw-column-row .rx-header-cell {
                background-color: var(--rs-grid-style-header-bgcolor);
                border-left: solid 0px var(--rs-grid-style-th-bdcolor);
                border-top: solid 0px var(--rs-grid-style-th-bdcolor);
                border-bottom: solid 1px var(--rs-grid-style-th-bdcolor);
                border-right: solid 1px var(--rs-grid-style-th-bdcolor);
            }

            .rxgrid .grid-container .header-container .rw-column-row .rx-header-cell-fix {
                position: sticky;
                left: 0px;
            }

        .rxgrid .grid-container .header-container .rx-grid-cell-fix {
            position: sticky;
        }

        .rxgrid .grid-container .header-container .rx-column-content {
            height: 100%;
            width: 100%;
            padding: 5px;
            /*display: inline-flex;*/
            overflow: hidden;
            text-overflow: ellipsis;
            text-align: center;
            /*display:inline-block;*/
            /*align-items: center;*/
        }

        .rxgrid .grid-container .header-container .rx-row:last-child > th.rx-grid-cell-fix:last-child {
            background-color: red;
        }



    .rxgrid .grid-container .content-container {
        flex: 1 1 auto;
        overflow: hidden;
        height: 100%;
        position: relative;
        overflow: auto;
        outline: none !important;
        border: none;
        box-sizing: initial !important;
    }

        .rxgrid .grid-container .content-container .rx-row {
            background-color: var(--rs-grid-style-td-bgcolor);
        }

        .rxgrid .grid-container .content-container .rx-grid-cell {
            /*overflow: hidden;*/
            white-space: nowrap;
            word-wrap: break-word;
            text-overflow: ellipsis;
            /*background-color: var(--rs-grid-style-td-bgcolor);*/
            /*background-color: inherit;*/
            border-right: 1px solid var(--rs-grid-style-table-td-right-border-color);
            border-top: 1px solid var(--rs-grid-style-table-td-top-border-color);
            border-left: 1px solid transparent;
            border-bottom: 1px solid transparent;
            outline: none !important;
            box-sizing: initial !important;
            height: 1px; /* Style Hack */

            color: inherit;
            font-size: inherit;
        }

        .rxgrid .grid-container .content-container .rx-grid-cell-fix {
            position: sticky;
            background-color: inherit;
            z-index: 1;
        }

        .rxgrid .grid-container .content-container .rx-grid-cell-merge {
            border-top-color: transparent;
        }

        /* 그룹행 */
        .rxgrid .grid-container .content-container .rx-row-group {
            background-color: rgba(var(--bs-gray-100-rgb),0.50);
            overflow: initial;
        }

            .rxgrid .grid-container .content-container .rx-row-group:first-child .rx-row-group-cell {
                border-top: 0px solid var(--rs-grid-style-table-td-right-border-color);
            }

            .rxgrid .grid-container .content-container .rx-row-group .rx-row-group-cell {
                border-right: 1px solid var(--rs-grid-style-table-td-right-border-color);
                border-top: 1px solid var(--rs-grid-style-table-td-right-border-color);
            }

            /* 그룹행 셀*/
            .rxgrid .grid-container .content-container .rx-row-group .rx-row-group-cell-content {
                font-weight: bold;
                position: sticky;
                left: 0px;
                width: auto;
                display: inline-block;
                padding-left: 5px;
            }


        /* 선택행의 포커스*/
        .rxgrid .grid-container .content-container tr.rx-row-focus {
            background-color: var(--bs-gray-200);
        }

        /* 선택 행의 셀*/
        .rxgrid .grid-container .content-container .rx-row-selected .rx-grid-cell {
            background-color: var(--rs-grid-style-data-selected-bgcolor);
        }

    .rxgrid[data-use-cursor="True"] .grid-container .content-container .rx-grid-cell-focus:focus {
        border: 1px solid var(--bs-primary) !important;
    }


    /* 소계 행의 셀 */
    .rxgrid .grid-container .content-container .rx-row-subsum .rx-grid-cell {
        background-color: var(--rs-grid-style-table-subrow-bgcolor);
    }

    /* 합계 행의 셀 */
    .rxgrid .grid-container .content-container .rx-row-totsum .rx-grid-cell {
        background-color: var(--rs-grid-style-table-totrow-bgcolor);
    }

    .rxgrid .grid-container .content-container .rx-grid-cell .rx-grid-cell-content {
        height: 100%;
        width: 100%;
        line-height: 20px;
        padding: 2px 5px 0 5px;
        display: flex;
        align-items: center;
        position: relative;
        /*overflow:hidden;*/
        text-overflow: ellipsis;
    }

        /* 수정컨트롤 컨테이터 */
        .rxgrid .grid-container .content-container .rx-grid-cell .rx-grid-cell-content .rx-grid-cell-editor {
            background-color: beige;
            position: absolute;
            width: 100%;
            height: 100%;
            left: 0;
            top: 0;
            padding: 2px 5px 0 5px;
            font-size: inherit;
            border: 2px solid var(--bs-gray-900) !important;
        }


            .rxgrid .grid-container .content-container .rx-grid-cell .rx-grid-cell-content .rx-grid-cell-editor .text-control {
                font-size: var(--rs-grid-style-cell-font-size) !important;
                color: inherit;
                padding: 0;
                height: 100%;
            }

    /* First 행의 셀 스타일 */
    .rxgrid .grid-container .content-container .rx-row:first-child .rx-grid-cell {
        border-top-color: transparent;
    }

    /* Last 행의 셀 스타일 */
    .rxgrid .grid-container .content-container .rx-row:last-child .rx-grid-cell {
        border-bottom-color: var(--rs-grid-style-table-td-top-border-color);
    }

    .rxgrid .grid-container .footer-container {
        border-top: 1px solid var(--rs-grid-style-table-td-top-border-color) !important;
        margin-top: -1px;
    }









.rv-grid {
}






















































.my-component {
    border: 2px dashed red;
    padding: 1em;
    margin: 1em 0;
    background-image: url('background.png');
}

/*the container must be positioned relative:*/
.autocomplete {
    position: relative;
    display: inline-block;
}

/*input {
    border: 1px solid transparent;
    background-color: #f1f1f1;
    padding: 10px;
    font-size: 11.4px;
}

    input[type=text] {
        background-color: #f1f1f1;
        width: 100%;
    }

    input[type=submit] {
        background-color: DodgerBlue;
        color: #fff;
        cursor: pointer;
    }*/

.autocomplete-items {
    background-color: var(--bs-body-bg);
    position: absolute;
    border: 1px solid rgba(var(--bs-gray-500-rgb), 0.8);
    /*border-top: none;*/
    z-index: 99;
    /*position the autocomplete items to be the same width as the container:*/
    top: 100%;
    left: -1px;
    right: 0;
    overflow-y: scroll;
    height: auto;
    max-height: 180px;
    min-width: 130px;
}

    .autocomplete-items.bottom {
        top: initial;
        bottom: 100%;
    }


    .autocomplete-items div {
        font-size: 11.4px !important;
        padding: 5px 5px 5px 5px;
        cursor: pointer;
        border-left: 0px solid rgba(var(--bs-gray-400-rgb), 0.8);
        border-right: 1px solid rgba(var(--bs-gray-400-rgb), 0.8);
        border-bottom: 1px solid rgba(var(--bs-gray-400-rgb), 0.8);
        overflow: hidden;
        text-overflow: ellipsis;
        height: 30px;
    }

        .autocomplete-items div:first-child {
            border-top: 0px solid rgba(var(--bs-gray-400-rgb), 0.8);
        }


        .autocomplete-items div:last-child {
            border-bottom: 0px solid rgba(var(--bs-gray-400-rgb), 0.8);
        }
        /*when hovering an item:*/
        .autocomplete-items div:hover {
            background-color: #e9e9e9;
        }

/*when navigating through the items using the arrow keys:*/
.autocomplete-active {
    background-color: DodgerBlue !important;
    color: #ffffff;
}










.rwgrid {
    --border-top-color: rgba(var(--bs-gray-400-rgb),0.30);
    --border-bottom-color: rgba(var(--bs-gray-400-rgb),0.30);
    --border-left-color: rgba(var(--bs-gray-400-rgb),0.30);
    --border-right-color: rgba(var(--bs-gray-400-rgb),0.30);
}







.rwgrid {
    width: 100%;
    font-family: 'SUIT', 'Noto Sans KR';
    font-weight: normal;
    border-left: solid 1px var(--rs-grid-style-th-bdcolor);
    border-top: solid 1px var(--rs-grid-style-th-bdcolor);
    border-bottom: solid 1px var(--rs-grid-style-th-bdcolor);
    border-right: solid 1px var(--rs-grid-style-th-bdcolor);
    overflow: hidden;
    border-radius: var(--rs-grid-style-outer-bdradius);
    font-size: 13px;
    color: var(--bs-text-dark);
    color: rgb(30, 31, 33);
}

    .rwgrid .header-container {
        background-color: #fff;
        border-bottom: solid 1px var(--border-bottom-color);
    }


    .rwgrid .content-container {
        background-color: #fff;
    }

    .rwgrid .rw-column {
        height: 37px;
        color: rgb(30, 31, 33);
        border-right: solid 1px var(--border-right-color);
    }

        .rwgrid .rw-column .resizer {
            background-color: transparent;
            width: 5px;
            height: 100%;
            margin-right: -5px;
            z-index: 1;
        }

    .rwgrid .rw-data-row {
        height: 30px;
        border-bottom: solid 1px var(--border-bottom-color);
        /*pointer-events: none;*/
    }

    .rwgrid .rw-cell {
        display: flex;
        border-right: solid 1px var(--border-right-color);
        overflow: hidden;
        word-wrap: break-word;
        text-overflow: ellipsis;
        padding-left: 5px;
        padding-right: 5px;
    }

    .rwgrid .rw-group-header {
        height: 50px;
        font-size: 14px;
        font-weight: bold;
        color: #666;
        padding-left: 1px;
        display: flex;
        justify-content: left;
        align-items: center;
        border-bottom: solid 1px var(--border-bottom-color);
    }

    .rwgrid .rw-group-data-container {
        /* max-height: 0; */
    }

    .rwgrid .rw-column-sx {
        width: 22px;
    }

    .rwgrid .rw-column-drag {
        width: 30px;
    }

    .rwgrid .over {
        border-left: 1px dotted #333;
    }

    .rwgrid .rw-row-sx {
        width: 22px;
    }

    .rwgrid .row-drag-handler {
        width: 30px;
        visibility: hidden;
    }


        .rwgrid .row-drag-handler .mouse-over {
        }


    .rwgrid .header-button {
        transition: transform 0.5s ease-in-out;
    }

    .rwgrid .row-group-button-rotate-90 {
        transform: rotate(90deg);
    }

    .rwgrid .row-group-button-rotate-0 {
        transform: rotate(0deg);
    }


    .rwgrid .rw-group-data-container {
        transition: max-height 0.2s ease-out;
    }

        .rwgrid  .close {
            min-height: 0;
            max-height: 0;
            overflow:hidden;
        }




/* 추가된 가이드라인 스타일 */
.insert-above {
    border-top: 2px dotted #333 !important;
}

.insert-below {
    border-bottom: 2px dotted #333 !important;
}
/* 스타일 추가 */
.dragging {
    opacity: 1.0; /* 드래그 중인 요소의 투명도 조절 */
}
