﻿.budget-type-WEB {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    max-height:100%;
    padding: 20px;
}

.budget-type-WEB-wrap {
    display: flex;
    flex-direction: column;
    height:100%;
    max-height:100%;
    overflow:hidden;
}

.budget-type-WEB-section-area {
    display: flex;
    flex-direction: row;
    gap: 1rem;
    padding: 10px 0;
    align-items:center;
}

.budget-first-type-WEB-sec {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    cursor: pointer;
}
.budget-second-type-WEB-sec {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    cursor: pointer;
}
.budget-third-type-WEB-sec {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    cursor: pointer;
}
.budget-fourth-type-WEB-sec {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    cursor: pointer;
}

.budget-type-WEB-first-section-main {
    /* 나중에 100%로 바꾸자 */
    display: flex;
    border: 1px solid #768ca4;
    width: 100%;
    height: 100%;
    padding: 20px;
    flex-direction: column;
    gap: 2rem;
    justify-content: center;
}

.first-section {
    display: flex;
    flex-direction: row;
    gap: 1rem;
}

.first-section-name {
    width: 150px;
    text-align: right;
}

.budget-type-WEB-input {
    height: 25px !important;
    width: 250px !important;
    border: 1px solid #9a9e9c !important;
    padding-left: 8px !important;
}

    .budget-type-WEB-input:focus {
        border-color: #5c5fc0 !important;
        outline: none !important;
    }

.first-number-color {
    color: #7d7fcd;
    background-color: white;
}

.second-number-color {
    color: #7d7fcd;
    background-color: white;
}

.third-number-color {
    color: #7d7fcd;
    background-color: white;
}

.fourth-number-color {
    color: #7d7fcd;
    background-color: white;
}

.active-sec-number {
    color: #5c5fc0;
    background-color: white;
}
/* -------------------------select box custom----------------------- */
.type-select {
    width: 250px ;
    height: 25px ;
    padding: 2px 7px ;
    font-size: var(--sm-font) ;
    color: #333 ;
    background-color: #f9f9f9 ;
    border: 1px solid #9a9e9c ;
    border-radius: 5px ;
    appearance: none ; /* Remove default dropdown arrow */
    -webkit-appearance: none ;
    -moz-appearance: none;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    outline: none;
    cursor: pointer;
    transition: all 0.3s ease;
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M6 9l6 6 6-6"%3E%3C/path%3E%3C/svg%3E');
    background-repeat: no-repeat;
    background-position: right 5px center;
    background-size: 10px; /* Adjusted arrow size */
}

/* Add a custom dropdown arrow */
.type-select-container::after {
    content: "\\25BC"; /* Downward triangle arrow */
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    font-size: 12px;
    color: #333;
    pointer-events: none;
}

/* Hover and focus styles */
.type-select:hover {
    background-color: #f1f1f1;
}

.type-select:focus {
    border-color: #5c5fc0;
    box-shadow: 0 0 5px #5c5fc0;
}
/* Add a custom dropdown arrow */
.budget-select {
    width: 90%;
    height: 25px;
    padding: 2px 7px;
    font-size: var(--sm-font);
    color: #333;
    background-color: #f9f9f9;
    border: 1px solid #9a9e9c;
    border-radius: 5px;
    appearance: none; /* Remove default dropdown arrow */
    -webkit-appearance: none;
    -moz-appearance: none;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    outline: none;
    cursor: pointer;
    transition: all 0.3s ease;
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpath d="M6 9l6 6 6-6"%3E%3C/path%3E%3C/svg%3E');
    background-repeat: no-repeat;
    background-position: right 5px center;
    background-size: 10px; /* Adjusted arrow size */
}

.budget-select-container::after {
    content: "\\25BC"; /* Downward triangle arrow */
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    font-size: 12px;
    color: #333;
    pointer-events: none;
}

/* Hover and focus styles */
.budget-select:hover {
    background-color: #f1f1f1;
}

.budget-select:focus {
    border-color: #5c5fc0;
    box-shadow: 0 0 5px #5c5fc0;
}

.budget-type-set-radio {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    gap: 1rem;
}

.budget-type-WEB-offset-area {
    display: flex;
    padding-top: 20px;
    justify-content: right;
    gap:0.5rem;
}

.budget-type-WEB-before-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #5c5fc0;
    width: 60px;
    height: 30px;
    color: white;
    background-color: #5c5fc0;
    color: #5c5fc0;
    background-color: white;
    font-size: var(--md-font);
    font-weight: var(--normal-font);
}

    .budget-type-WEB-before-btn:hover {
        color: white;
        background-color: #5c5fc0;
        cursor: pointer;
    }

.budget-type-WEB-next-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #5c5fc0;
    width: 60px;
    height: 30px;
    color: white;
    background-color: #5c5fc0;
    color: #5c5fc0;
    background-color: white;
    font-size: var(--md-font);
    font-weight: var(--normal-font);
}

    .budget-type-WEB-next-btn:hover {
        color: white;
        background-color: #5c5fc0;
        cursor: pointer;
    }
.budget-type-WEB-save-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #5c5fc0;
    width: 60px;
    height: 30px;
    color: white;
    background-color: #5c5fc0;
    color: #5c5fc0;
    background-color: white;
    font-size: var(--md-font);
    font-weight: var(--normal-font);
}

    .budget-type-WEB-save-btn:hover {
        color: white;
        background-color: #5c5fc0;
        cursor: pointer;
    }

.budget-type-WEB-second-section-main {
    /* 나중에 100%로 바꾸자 */
    display: flex;
    border: 1px solid #768ca4;
    width: 100%;
    height: 100%;
    padding: 20px;
    flex-direction: column;
    gap: 1rem;
    /*display:none;*/
}

.budget-type-WEB-table-header th {
    background-color: white;
    border-right: 2px solid #5c5fc0;
    border-bottom: 2px solid #5c5fc0;
    font-size: var(--md-font);
    font-weight: var(--normal-font);
    padding: 0 5px;
    position:relative;
}

th > div {
    z-index:10;
}

    .budget-type-WEB-table-header th:last-child {
        border-right: none;
    }

.budget-type-WEB-table-policy td {
    font-size: var(--sm-font);
    font-weight: var(--normal-font);
}
.budget-type-WEB-table-participate td {
    font-size: var(--sm-font);
    font-weight: var(--normal-font);
}
.budget-type-WEB-table-account td {
    font-size: var(--sm-font);
    font-weight: var(--normal-font);
}

.budget-type-WEB-third-section-main {
    /* 나중에 100%로 바꾸자 */
    display: flex;
    border: 1px solid #768ca4;
    width: 100%;
    height: 100%;
    padding: 20px;
    flex-direction: column;
    gap: 1rem;
    /*display:none;*/
}

.budget-type-WEB-fourth-section-main {
    /* 나중에 100%로 바꾸자 */
    display: flex;
    border: 1px solid #768ca4;
    width: 100%;
    height: 100%;
    padding: 20px;
    flex-direction: row;
    gap: 1rem;
    overflow:hidden;
    /*display:none;*/
}

.budget-type-WEB-root-section {
    display: flex;
    flex-direction: column;
    border: 1px solid #e2e2e2;
    height: 100%;
    width: 25%;
}

.Budget-Type-Code-Root {
    display: flex;
    flex-direction: column;
    border: 1px solid #e2e2e2;
    max-height:100%;
    height:100%;
    min-height:0;
    width: 25%;
}

.budget-type-WEB-table-section {
    display: flex;
    width: 74%;
    height: 100%;
    flex-direction: column;
}

.first-sec-name:hover {
    color: #5c5fc0;
    font-weight: var(--bold-font);
}
.second-sec-name:hover {
    color: #5c5fc0;
    font-weight: var(--bold-font);
}
.third-sec-name:hover {
    color: #5c5fc0;
    font-weight: var(--bold-font);
}
.fourth-sec-name:hover {
    color: #5c5fc0;
    font-weight: var(--bold-font);
}
.active-sec-name {
    color: #5c5fc0;
    font-weight: var(--bold-font);
}
.budget-select-area{
    display:flex;
    justify-content:center;
}
    
.first-section-wrap{
    display:flex;
    flex-direction:column;
    width:100%;
    height:100%;
}
.second-section-wrap {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    display: none;
}
.third-section-wrap {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    display: none;
}
.fourth-section-wrap {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    max-height:100%;
    display: none;
    overflow:hidden;
}

/*coderoot*/
.budget-root {
    display: flex;
    flex-direction: column; /* 부모 요소를 세로 방향으로 정렬 */
    align-items: flex-start; /* 아이템을 왼쪽 정렬 */
    /*padding: 10px 0;*/ /* 여백 조정 */
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s;
    height: 100%;
}

/* 트리 항목 스타일 */
.budget-tree-label {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    cursor: pointer;
    width: 100%; /* 전체 너비 사용 */
}

/* 아이콘 스타일 */
.budget-label-icon {
    font-size: 18px;
    color: #6c757d;
    transition: transform 0.2s;
}

/* 펼쳐진 상태 */
.expanded .budget-label-icon {
    transform: rotate(90deg);
}

/* 하위 목록 스타일 */
.budget-list-mng {
    list-style: none;
    margin: 0;
    padding-left: 20px;
    padding-bottom:10px;
    display: none;
    flex-direction: column; /* 리스트 아이템이 세로로 나열되도록 설정 */
}

    /* 하위 항목 디자인 */
    .budget-list-mng li {
        display: flex;
        align-items: center;
        width: 100%; /* 부모 요소 너비를 따름 */
        font-size: var(--sm-font);
        font-weight: var(--normal-font);
        border-left: 2px solid #5c5fc0;
        padding-left: 35px;
        transition: background-color 0.2s;
    }

        .budget-list-mng li:hover {
            background-color: #f1f3f5;
        }

        .budget-list-mng li li {
            display: flex;
            align-items: center;
            width: 100%; /* 부모 요소 너비를 따름 */
            padding: 3px 0;
            font-size: var(--sm-font);
            font-weight: var(--normal-font);
            border-left: 2px solid #5c5fc0;
            padding-left: 7px;
            transition: background-color 0.2s;
        }

/* 링크 스타일 */
.budget-name {
    text-decoration: none;
    color: #343a40;
    font-size: var(--md-font);
    font-weight: var(--normal-font);
}

.budget-works {
    text-decoration: none;
    color: #343a40;
    font-size: var(--sm-font);
    font-weight: var(--normal-font);
}

    .budget-works:hover {
        text-decoration: underline;
        color: #5c5fc0;
        font-weight: var(--bold-font);
    }

    .budget-works:focus {
        text-decoration: underline;
        color: #5c5fc0;
        font-weight: var(--bold-font);
        background-color: #f1f3f5;
    }
