
@font-face {
  font-family: 'Material Icons';
  font-weight: 400;
  font-style: normal;
  src: url('MaterialIcons-Regular.ttf') format('truetype');
}
@font-face {
  font-family: 'Material Icons Outlined';
  font-weight: 400;
  font-style: normal;
  src: url('MaterialIconsOutlined-Regular.otf') format('opentype');
}
@font-face {
  font-family: 'Material Icons Round';
  font-weight: 400;
  font-style: normal;
  src: url('MaterialIconsRound-Regular.otf') format('opentype');
}
@font-face {
  font-family: 'material-icons-sharp';
  font-weight: 400;
  font-style: normal;
  src: url('MaterialIconsSharp-Regular.otf') format('opentype');
}
@font-face {
  font-family: 'Material Icons Two Tone';
  font-weight: 400;
  font-style: normal;
  src: url('MaterialIconsTwoTone-Regular.otf') format('opentype');
}

/* .sub_visual_renew 스타일 시작 */
.sub_visual_renew {
    width:100%;
    position: relative;
    padding-bottom:80px;
}
/* 1. 비주얼 배경 및 텍스트 영역 */
.sub_visual_renew .bg_area {
    width: 100%;
    height:320px; /* PC 높이 */
    background:linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5));
    background-position:center;
    background-repeat:no-repeat;
    background-size:cover;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
}
.sub_visual_renew01 .bg_area {
    background-image:url('../../_images/sub/sub_visual_renew01_bg.jpg');
}
.sub_visual_renew02 .bg_area {
    background-image:url('../../_images/sub/sub_visual_renew02_bg.jpg');
}
.sub_visual_renew03 .bg_area {
    background-image:url('../../_images/sub/sub_visual_renew03_bg.jpg');
}
.sub_visual_renew04 .bg_area {
    background-image:url('../../_images/sub/sub_visual_renew04_bg.jpg');
}
.sub_visual_renew05 .bg_area {
    background-image:url('../../_images/sub/sub_visual_renew05_bg.jpg');
}
.sub_visual_renew .txt_con h2 {
    font-size:56px;
    font-weight:700;
    color:#fff;
    margin-bottom:25px;
    letter-spacing:-1px;
}
.sub_visual_renew .txt_con p {
    font-size:20px;
    font-weight:400;
    opacity:0.9;
    line-height:1.5;
    word-break:keep-all;
}
.sub_visual_renew .txt_con p br {
    display:none;
}
@media screen and (max-width:768px) {
    .sub_visual_renew .txt_con p br {display:block;}
    .sub_visual_renew01 .bg_area {
        background-image:url('../../_images/sub/m_sub_visual_renew01_bg.jpg');
    }
    .sub_visual_renew02 .bg_area {
        background-image:url('../../_images/sub/m_sub_visual_renew02_bg.jpg');
    }
    .sub_visual_renew03 .bg_area {
        background-image:url('../../_images/sub/m_sub_visual_renew03_bg.jpg');
    }        
    .sub_visual_renew04 .bg_area {
        background-image:url('../../_images/sub/m_sub_visual_renew04_bg.jpg');
    }        
    .sub_visual_renew05 .bg_area {
        background-image:url('../../_images/sub/m_sub_visual_renew05_bg.jpg');
    }                
}
/* 2. 하단 탭 (LNB) 영역 */
.sub_visual_renew .lnb_wrap {
    position: relative;
    width: 100%;
    /* 비주얼 영역 위로 겹치게 올리기 (Negative Margin) */
    margin-top: -40px; 
    z-index: 10;
}
.sub_visual_renew .inner {
    max-width: 1200px; /* PC 기준 컨텐츠 폭 */
    margin: 0 auto;
    padding: 0 20px;
}
/* 모바일 토글 버튼 (PC에선 숨김) */
.sub_visual_renew .mob_btn {
    display: none; 
}
/* 탭 리스트 (PC 스타일) */
.sub_visual_renew .tab_list {
    display: flex;
    width: 100%;
    background: #fff;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    border-radius:10px; /* 살짝 둥글게 */
    overflow: hidden;
}
.sub_visual_renew .tab_list li {
    flex: 1; /* 등분 */
    border-right: 1px solid #eee;
}
.sub_visual_renew .tab_list li:last-child {
    border-right: none;
}
.sub_visual_renew .tab_list li a {
    display: block;
    border-radius:0;
    height:80px;
    line-height:1.3;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    font-size:18px;
    font-weight:600;
    color: #1E252D;
    transition: all 0.3s;
}
/* 활성화(Active) & 호버 상태 */
.sub_visual_renew .tab_list li.active a,
.sub_visual_renew .tab_list li a:hover {
    background-color: #00B89B; 
    color: #fff;
}
/* 분양절차 */
.layout-main.information p.desc {
    font-size:16px;
    font-weight:400;
    color:#9CA3A9;
    margin-top:15px;
}
.doc_list {
    display: grid;
    grid-template-columns: 1fr 1fr; 
    gap: 15px; 
    width: 100%;
    margin-top:25px;
}
.doc_list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 55px; 
    padding: 0 20px;
    background: #fff;
    border: 1px solid #D1D7DF; 
    border-radius: 10px; 
    transition: 0.3s;
}
.doc_list .doc_name {
    font-size: 18px;
    font-weight: 400;
    color: #1E252D;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-right: 10px;
}
.btn_down {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width:75px; /* 최소 너비 확보 */
    height: 35px;
    font-size: 14px;
    font-weight:600;
    color: #434E5A;
    border: 1px solid #434E5A;
    border-radius:10px;
    background-color:transparent;
    cursor: pointer;
    transition: all 0.2s;
}
.btn_down:hover {
    background-color: #00B89B;
    border-color: #00B89B;
    color: #fff;
}
/* 연구사업정보 */
.flexBetween {
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
}
.subMitBtn {
    display:block;
    width:165px;
    height:50px;
    line-height:50px;
    border-radius:14px;
    background-color:#262E35;
    font-size:18px;
    font-weight:600;
    color:#fff;
    text-align:center;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
}
.subMitBtn:hover {
    background-color: #00B89B;
    color:#fff;
}
.subMitBtn02 {
    max-width:380px;
    width:100%;
    height:60px;
    margin:0 auto;
}
.layout-main.information .research-list.mt20 {
    margin-top:20px;
}
.layout-main.information .research-list.mt20 ul{
    margin-top:0;
}

/* 아코디언 */
.list-row { display: flex; align-items: center; width: 100%; }
.tbCol { text-align: center; box-sizing: border-box; }
.tbCol-1 { width: 25%; }
.tbCol-2 { width: 30%; }
.tbCol-3 { width: 15%; }
.tbCol-4 { width: 15%; }
.tbCol-5 { width: 15%; }
.tbCol-chk {
    width: 50px;       /* 고정 너비 */
    flex-shrink: 0;    /* 줄어들지 않음 */
    display: flex;
    justify-content: center;
    align-items: center;
}
.tbCol p {
    font-weight: bold;
    color: #1E252D;
    font-size: 16px;
}
.data-container { margin:30px 0;}

/* 헤더 스타일 */
.header-row {
    width: 100%;
    background-color: #f0f2f5;
    height: 60px;
    border-top: 1px solid #D1D7DF;    
    border-bottom: 1px solid #D1D7DF;
}
.accordion-title {
    width:100%;
    height:100%;
    box-sizing:border-box;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    background-color: #fff;
    border-bottom: 1px solid #D1D7DF;   
    position:relative; 
}
.accordion-title .flexWrap {
    display:flex;
    flex-direction:row;
    align-items:center;
}
.btn-accordion {
    width: 100%;
    height:100%;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    padding: 20px 15px;        
}
.accordion-content .header-row {display:none;}
/* 텍스트 스타일 */
.btn-accordion .title-text {
    font-size: 16px;
    font-weight: bold;
    color: #434E5A;
}
.icon-arrow {
    display: block;
    width: 24px;
    height: 24px;
    position: relative;
    transition: transform 0.3s ease;
}
.icon-arrow::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width:9px;
    height:9px;
    border-right: 2px solid #434E5A;
    border-bottom: 2px solid #434E5A;
    transform: translate(-50%, -65%) rotate(45deg);
}
.accordion-item.active .icon-arrow {
    transform: rotate(180deg);
}
.btn-accordion:focus-visible {
    outline: 2px solid #000;
    outline-offset: -2px;
    background-color: #f9f9f9;
}
.accordion-content {
    background-color: #fcfcfc;
}
.accordion-content[hidden] {
    display: none;
}
.data-row {
    height: 60px;
    background-color: #F8F9F9;
    border-top: 1px solid #EFF1F4;    
    border-bottom: 1px solid #EFF1F4;
}
.data-row .tbCol p {
    font-size: 16px;
    font-weight: 400;
    color: #434E5A;
    margin: 0;
}
.data-row:first-child { border-top: 1px solid #D1D7DF; }
/* e:아코디언 */
/* 차트(연구사업정보) */
.charts-grid {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    margin-top:30px;
    margin-bottom: 80px;
    position:relative;
}
.charts-grid::after {
    content:'';
    width:1px;
    height:100%;
    border-right:1px solid #D9D9D9;
    position:absolute;
    top:0;
    left:50%;
    transform:translateX(-50%);
}
.charts-grid .chart-box {
    width: 50%;
}
.charts-grid .chart-box:first-child {
    padding-right:45px;
}
.charts-grid .chart-box:last-child {
    padding-left:45px;
}
.chart-box h3 {
    font-size: 1.1rem;
    margin-bottom: 20px;
    color: #333;
}
.chart-content-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.chart-wrapper {
    position: relative;
    flex: 1; 
    height: 250px; 
    width: 100%; 
    min-width: 0;
    overflow: hidden; 
}
.custom-legend {
    width: 100px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex-shrink: 0;
    border-radius:16px;
    border:1px solid #EFF1F4;
    padding:15px;
}
.charts-grid .dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 8px;
    flex-shrink: 0;
}
.legend-item {
    display: flex;
    align-items: center;
    font-size: 0.85rem;
    color: #666;
    line-height: 1.2;
}
.layout-main.information .bundle-img720 {
    margin-top:50px;
}
@media (max-width: 1279.98px) {
    .layout-main.information .bundle-img720 img.desktop {
        display: block;
    }    
    .layout-main.information .bundle-img720 img.moblie {
        display: none;
    }
}
/* --- 반응형 (모바일: 768px 이하) --- */
@media screen and (max-width: 768px) {
    .layout-main.information .bundle-img720 img.desktop {
        display: none;
    }        
    .layout-main.information .bundle-img720 img.moblie {
        display: block;
        max-width:500px;
        margin:0 auto;
    }    
    .sub_visual_renew {
        padding-bottom:50px;
    }
    .sub_visual_renew .bg_area {
        height: 200px;
    }
    .sub_visual_renew .txt_con h2 {
        font-size: 32px;
        margin-bottom: 10px;
    }
    .sub_visual_renew .txt_con p {
        font-size: 15px;
        word-break: keep-all;
        line-height:1.6;
    }
    .layout-main.information p.desc {font-size:15px;}
    /* 탭 위치 조정 */
    .sub_visual_renew .lnb_wrap {
        margin-top: -30px; 
    }
    .sub_visual_renew .inner {
        position: relative;
    }
    .sub_visual_renew .mob_btn {
        display: block;
        width: 100%;
        height: 50px;
        line-height: 50px;
        padding: 0 20px;
        background: #fff;
        border: 1px solid transparent;
        border-radius: 8px; /* 둥근 모서리 */
        text-align: left;
        font-size: 16px;
        font-weight: 500;
        color: #333;
        position: relative;
        cursor: pointer;
        box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    }
    /* 화살표 아이콘 */
    .sub_visual_renew .mob_btn .arrow {
        position: absolute;
        right: 20px;
        top: 50%;
        transform: translateY(-50%);
        width: 8px;
        height: 8px;
        border-right: 2px solid #333;
        border-bottom: 2px solid #333;
        transform: translateY(-70%) rotate(45deg);
        transition: 0.3s;
    }
    /* 메뉴 열렸을 때 화살표 회전 */
    .sub_visual_renew .mob_btn.open .arrow {
        transform: translateY(-20%) rotate(-135deg);
    }
    .sub_visual_renew .tab_list {
        display: none; 
        flex-direction: column;
        position: absolute;
        top: 55px; 
        left: 20px;
        width: calc(100% - 40px); 
        border: 1px solid #ddd;
        border-radius: 8px;
        z-index: 20;
    }
    .sub_visual_renew .tab_list.show {
        display: flex;
    }
    .sub_visual_renew .tab_list li {
        border-right: none;
        border-bottom: 1px solid #eee;
    }
    .sub_visual_renew .tab_list li:last-child {
        border-bottom: none;
    }
    .sub_visual_renew .tab_list li a {
        height: 45px;
        line-height: 45px;
        font-size: 15px;
        text-align: left;
        padding-left: 20px;
        background: #fff;
        color: #666;
    }
    .sub_visual_renew .tab_list li.active a {
        background: #f5fcfb;
        color: #00B89B;
        font-weight: 700;
    }
    .sub_visual_renew .tab_list li a:hover {
        background-color: #f9f9f9;
        color: #00B89B;
    }
    .doc_list {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .doc_list li {
        height: 50px;
        padding: 0 15px;
        font-size: 14px;
    }
    .doc_list .doc_name {
        font-size: 15px;
    }
    .btn_down {
        height: 28px;
        font-size: 12px;
        min-width: 70px;
    }    



    .charts-grid {
        flex-direction:column;
    }
    .charts-grid .chart-box {width:100%;}
    .chart-content-row {flex-direction:column;}
    .custom-legend {width:fit-content; display:grid; grid-template-columns: repeat(3, 1fr); }
    .legend-item {width:fit-content;}
    .charts-grid::after {display:none;}
    .charts-grid .chart-box:first-child,
    .charts-grid .chart-box:last-child {
        padding:0;
    }
    .charts-grid .chart-box:first-child {
        padding-bottom:30px;
        margin-bottom:30px;
        border-bottom:1px solid #D9D9D9;
        box-sizing:border-box;
    }    
    .subMitBtn {width:130px; height:45px; line-height:45px; font-size:14px;}
    .subMitBtn02 {width:100%; height:50px; line-height:50px;}
}
@media screen and (max-width:640px) {
    .header-row {display:none;}
    .accordion-item.active {border-bottom:none;}
    .accordion-content .header-row {display:flex;}
    .data-row .tbCol p,
    .accordion-content .header-row p {font-size:15px;}
    .data-row .tbCol p {word-break:keep-all;}
    .accordion-item.active .accordion-title {border-bottom:none;}
    .accordion-content {width:calc(100% + 24px); overflow-x:scroll; border-bottom:1px solid #D1D7DF;}
    .accordion-content >div {width:640px;}
    .btn-accordion {padding:15px 15px 15px 0;}
    .accordion-item {}
}
@media screen and (max-width:380px) {
    .custom-legend {gap:5px; padding:10px; border-radius:8px;}
    .charts-grid .dot {margin-right:5px;}

    .subMitBtn {width:100px; height:40px; line-height:40px; font-size:12px;}
    .subMitBtn02 {width:100%; height:55px; line-height:55px; font-size:16px;}    
}
/* 분양신청 */
.bgDecoGrey {
    background-color:#F8F9F9;
}
.bgDecoGrey .tabulator {
    background-color:transparent;
}
.bgDecoGrey .select-wrap select,
.bgDecoGrey .search-wrap input {
    background-color:transparent;
}
.boxWrap {
    padding:40px;
    background-color:#fff;    
    border-radius:40px;
    overflow: hidden;
    margin-bottom:40px;
}
.boxWrap .data-container {
    margin:0;
}
.boxWrap h3 {
    font-size:24px;
    font-weight:bold;
    color:#1E252D;
    line-height:1;
    padding-bottom:35px;
}
.boxWrap select {
    padding: 12px 15px;
    padding-right: 40px;  
    background-color: #fff;
    font-size: 15px;
    color: #333;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("../../_images/sub/select_arrow.png");    
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 12px;
}

/* 포커스 시 테두리 색상 */
.boxWrap select:focus {
    outline: none;
    border:1px solid #00B89B;
    color:#00B89B !important;
    background-image: url("../../_images/sub/select_arrow2.png");    
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 12px;    
}
.boxWrap select option {
    color:#000;
}
.apply-form-list {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
}
.form-row02 {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}
.form-row02:last-child {
    margin-bottom:0;
}
.form-head {
    width: 180px;
    font-size: 18px;
    font-weight: 400;
    color:#1E252D;
    flex-shrink: 0;
    line-height: 1.4;
}
.form-body {
    flex: 1;
    width: 100%;
}
.inputCustom {
    padding: 0 15px;
    background-color: #fff;
    outline: none;
    box-sizing: border-box;
}
.inputCustom:focus {
    border-color: #00B89B; 
}
.split-group {
    display: flex;
    gap: 30px;
    align-items: center;
}
.input-unit {
    display: flex;
    align-items: center;
    flex: 1;
}
.sub-label {
    width: 80px;
    font-size: 18px;
    font-weight:400;
    color: #7A828B;
    flex-shrink: 0;
}
.sub-label02 {
    width:120px;
    color:#262E35;
}
.boxWrap select,
.inputCustom,
.textArea {
    width: 100%;
    height: 50px;
    background-color:#fff !important;
    border: 1px solid #D1D7DF; 
    border-radius: 15px;         
    font-size: 18px;
    font-weight:400;
    color: #434E5A !important;    
}
.section-box .inputCustom,
.section-box .btn-custom {
    height: 40px;
    font-size:16px;
}
.textArea {
    height:140px;
    overflow-y:auto;
    padding:20px;
}
.inputCustom:read-only {
    background-color:#fff !important;
    border: 1px solid #D1D7DF !important;     
}
.date-input-wrap {
    width:200px;
    position:relative;
}
.file-group {
    display: flex;
    width: 100%;
}
.file-group input {
    margin-right:15px;
}
.file-group button {
    margin-left:8px;
}
.upload-name {
    flex: 1; 
    background-color: #fff; 
    cursor: default;
}
.btn-custom {
    display: flex;
    align-items: center;
    justify-content: center;
    width:140px;
    height: 50px; 
    border-radius:15px; 
    font-size: 18px;
    font-weight:600;
    cursor: pointer;
    box-sizing: border-box;
    white-space: nowrap; 
    transition: all 0.2s;
}
.btn-upload {
    background-color: #00B89B; 
    color: #fff;
    border: 1px solid #00B89B;
}
.btn-upload:hover {
    background-color: #009f86;
}
.file-group .btn-download {
    margin-left: 8px;
}
.btn-download {
    background-color: #fff;
    color: #00B89B;
    border: 1px solid #00B89B;
}
.btn-download:hover {
    background-color: #00B89B; 
    color:#fff;
    border:1px solid transparent;
}
.file-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}
.date-range-group {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
}
.dash {
    font-size:18px;
    font-weight: 400;
    color: #434E5A;
    flex-shrink: 0;
    margin:0 5px;
}
.input-date {
    background-image: url("../../_images/sub/date_icon.png");
    background-repeat: no-repeat;
    background-position: left 15px center; 
    background-size:18px; 
    padding-left:40px;
    text-align: left;
    color: #333;
    font-family: inherit; 
}
.input-date::-webkit-calendar-picker-indicator {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: transparent; 
    color: transparent;
    cursor: pointer;
}
.btn-select-all {
    position: absolute;
    right: 60px; 
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width:75px;
    text-align:center;
    height:35px;
    line-height:35px;
    border: 1px solid #434E5A;
    border-radius:10px;
    background-color: #fff;
    font-size: 14px;
    font-weight:600;
    color: #434E5A;
    cursor: pointer;
    z-index: 2; 
}
.btn-select-all.active {
    background-color: #00B89B; 
    border-color: #00B89B;
    color: #fff;
    font-weight: 600;
}
.btn-select-all:hover {
   border: 1px solid#00B89B;
   background-color: #00B89B;    
   color: #fff;
}
.btn-select-all.active:hover {
    color: #fff;
    border: 1px solid#00B89B;    
    background-color: #009f86;
}
.checkWrap {
    width:100%;
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:10px;
    margin-bottom:8px;
    cursor:pointer;
    width:fit-content;
}
.checkWrap label {
    cursor:pointer;
    width:calc(100% - 30px);
    word-break:keep-all;
}
.row-chk[type=checkbox],
.checkBox[type=checkbox] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border: 1px solid #D1D7DF !important;  
    border-radius:4px;        
    background-color: #fff !important;   
    cursor: pointer;
    background-image: url("../../_images/sub/checkbox_before.png");
    background-size: 16px;
    background-position: center;
    background-repeat: no-repeat;
}
.is-checked .row-chk[type=checkbox],
.checkBox[type=checkbox]:checked {
    background-color: #00B89B !important; 
    border-color: #00B89B;
    background-image: url("../../_images/sub/checkbox_after.png");
}
.data-row,
.data-row * {
  transition: none !important;
  animation: none !important;
}
.btnArea{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:20px;               
}
.btnArea button {
  min-width:280px;       
  height:60px;
  border-radius:15px;
  font-size:18px;
  font-weight:600;
}
.btn-line{
  font-size:18px;    
  border-radius:15px;  
  background:#fff;
  border:1.5px solid #262E35;
  color:#262E35;
}
.btn-fill{
  font-size:18px;    
  border-radius:15px;  
  background:#262E35;
  border:1px solid #262E35;
  color:#fff;
}
.boxWrap .btn-fill{
    display:block;
    width:200px;
    height:50px;
    border-radius:15px;
    margin:30px auto 0 auto;
}
.section-box .btn-fill {
    display:block;
    width:160px;
    height:45px;
    border-radius:10px;
}
.flexEndBtn {
    display:flex;
    flex-direction:column;
    align-items:end;
    justify-content:end;
    margin-top:15px;
}
.section-box .flexEndBtn {
    margin-top:30px;
}
.section-box .flexEndBtn.mt0 {
    margin-top:0;
}
.boxWrap .flexEndBtn button {
    margin:0;
}
.btnArea button:hover,
.btn-line:hover,
.btn-fill:hover {
    border:1px solid transparent;
    background-color:#00B89B;
    color:#fff;
}
.flexBetween {

}
@media screen and (max-width:980px) {
    .boxWrap h3 {padding-bottom:30px;}
    .bgDecoGrey {background-color:#fff;}
    .boxWrap {padding:0; margin-bottom:80px; border-radius:0;}
    .boxWrap {margin-bottom:60px;}
    .boxWrap:last-child {margin-bottom:0;}
    .split-group {flex-direction:column; gap:15px;}
    .split-group .input-unit {width:100%; flex-direction:column;}
    .sub-label {width:100%; text-align:left; margin-bottom:5px;}
    .form-row02 {flex-direction:column; margin-bottom:25px;}
    .form-head {width:100%; margin-bottom:15px;}
    .form-head.empty {display:none;}
    .boxWrap select, .inputCustom {border-radius:12px;}
    .file-group {flex-wrap:wrap; justify-content:space-between;}
    .file-group .btn-custom {width:calc(50% - 4px); margin-left:0; font-size:15px;}
    .file-group input {height:50px; margin-right:0; margin-bottom:5px; flex:none; margin-bottom:8px;}
    .date-range-group {gap:0; width:100%;}
    .dash {margin:0; width:30px; text-align:center;}
    .date-input-wrap {width:calc(50% - 15px);}
    .input-date { background-position: left 10px center; background-size:15px; font-size:15px; padding-left:35px;}
    .btn-select-all {right:45px;}
    .btn-accordion .title-text {max-width:calc(100% - 90px);}
    .btnArea {gap:12px;}
    .btnArea button {flex:1; min-width:50%; height:50px;}
}

/* 데이터 분양 심의 */
/* 상단 영역 배치 */
.table-top {
  display: flex;
  justify-content: flex-start;
  margin-bottom:25px;
}
.select-custom {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width:170px; 
  height:50px;
  padding: 8px 30px 8px 15px; 
  border: 1px solid #D1D7DF;
  border-radius:15px;
  background-color: #fff;
  font-size: 18px;
  font-weight:400;
  color: #434E5A;
  cursor: pointer;
  outline: none; 
  background-image: url(../../_images/sub/select_arrow.png);
  background-repeat: no-repeat;
  background-position: right 20px center;
  background-size: 10px;
}
.select-custom::-ms-expand {
  display: none;
}
.select-custom:focus {
    outline: none;
    border:1px solid #00B89B;
    color:#00B89B;
    background-image: url("../../_images/sub/select_arrow2.png");    
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 12px;    
}
.select-custom option {
    color:#000;
}
.custom-table {
  width: 100%;
  border-collapse: collapse; 
  background-color:transparent;
  table-layout: fixed;
  border-top:1px solid #D1D7DF;
  box-sizing:border-box;
}
.custom-table th {
  padding: 15px 10px;
  background-color: #EFF1F4;
  border-bottom: 1px solid #D1D7DF;
  font-size: 16px;
  font-weight:700;
  color: #1E252D;
  text-align: center;
}
.custom-table td {
  padding: 15px 10px;
  border-bottom: 1px solid #EFF1F4;
  background-color:transparent;  
}
.custom-table td.btn-modal-open {
  cursor: pointer;
}
.custom-table td.btn-modal-open:hover {
    color:#00C795;
}
.custom-table tr:last-child td {
    border-bottom: 1px solid #D1D7DF;
}
.custom-table td,
.custom-table td a {
  text-align: center;
  vertical-align: middle;
  word-break: break-all;    
  font-size: 16px;
  font-weight:400;
  color: #434E5A;
}
.link-text {
  display:block;
  width:100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.custom-table td a:hover {
    color:#00B89B;
}
.custom-table td.text-left {
  text-align: left;
  padding-left: 20px;
}
.status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding:5px 12px;
  border-radius:5px;
  font-size: 14px;
  font-weight:600;
  min-width: 80px;
}
.status-badge::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  margin-right: 6px;
}
/* 뱃지 컬러 */
.status-badge.gray { 
    background-color: rgba(122, 130, 139, 0.1); /* #7A828B의 10% */
    color: #7A828B; 
}
.status-badge.blue { 
    background-color: rgba(66, 165, 255, 0.1);  
    color: #42A5FF; 
}
.status-badge.yellow { 
    background-color: rgba(255, 158, 35, 0.1);
    color: #FF9E23; 
}
.status-badge.red { 
    background-color: rgba(255, 90, 66, 0.1); 
    color: #FF5A42; 
}
.status-badge.mint { 
    background: rgba(38, 204, 165, 0.1);
    color: #26CCA5; 
}
.status-badge.gray::before { background-color: #7A828B; }
.status-badge.blue::before { background-color: #42A5FF; }
.status-badge.yellow::before { background-color: #FF9E23; }
.status-badge.red::before { background-color: #FF5A42; }
.status-badge.mint::before { background-color: #26CCA5; }

.infoText {
    font-size:18px;
    color:#434E5A;    
    margin-top:0 !important;
}
.infoTit {
    font-weight:bold;
    color:#434E5A;    
}
.infoTxt01 {
    font-weight:400;
}
.infoTxt02 {
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:7px;
    font-weight:600;
    color:#0089FF;
}
.infoTxt02:hover {
    color:#000;
}
.infoTxt02 img {
    max-width:10px;
}
@media screen and (max-width:1080px) {
    .searchFormMo {width:calc(100% + 20px);}
    .table-container {width:calc(100% + 20px);}
    .tableWrap {
        width:100%;
        overflow-x: scroll;
    }
    .tableWrap table {
        width:1080px;
    }
}

/* 팝업 오버레이 */
.modal-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: none; justify-content: center; align-items: center;
    z-index: 1000; padding: 20px;
}
.modal-overlay.active {
    display:flex;
}
/* 팝업 컨테이너 (960x1110, Radius 25px) */
.modal-container {
    width: 960px; background-color: #ffffff;
    height:auto;
    border-radius: 25px; box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    padding:25px 20px 40px 20px; position: relative; display: flex; flex-direction: column;
}
.tabScroll {
    width:100%;
    max-height:65vh;
    overflow-y:auto;
}
/* 헤더 */
.modalTopBox { display: flex; justify-content: space-between; align-items: center; margin-bottom:25px;}
.modalTopBox h2 { font-size: 24px; font-weight: 700; color: #111; }
.btn-close-icon { background: none; border: none; font-size:22px; font-weight:500; cursor: pointer; color: #1E252D; }
.btn-close-icon:hover {color:#00C795;}
/* 탭 메뉴 스타일 */
.tab-menu { display: flex; gap: 10px; margin-bottom: 30px; }
.tab-item {
    padding: 10px 24px; border-radius: 50px; border: none;
    font-size: 18px; font-weight: 600; cursor: pointer; background-color: #F4F6F8; color: #1E252D;
    line-height:1;
}
/* 활성화된 탭 스타일 */
.tab-item:hover,
.tab-item.active { background-color: #00C795; color: white; }
/* 탭 콘텐츠 영역 (중요!) */
.tab-content { display: none; flex-grow: 1; overflow-y: auto; } /* 기본 숨김 */
.tab-content.active { display: block; } /* 활성화되면 보임 */

/* 내부 스타일 (이전과 동일) */
.section-box { border: 1px solid #EBEBEB; border-radius:20px; padding:30px; margin-bottom:25px;}
.section-title { font-size: 20px; font-weight: 700; margin-bottom:30px; color: #262E35; }
.section-box .titWrap {display:flex; flex-direction:row; align-items:center; justify-content:space-between; margin-bottom:20px;}
.section-box .titWrap * {margin-bottom:0;}
/* 전체 리스트 컨테이너 초기화 */
.modal-overlay ul.info-list {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
}
.modal-overlay li.info-item {
    display: flex;
    padding:15px 0;
    border-bottom: 1px solid #f5f5f5;
    align-items: flex-start; 
}
.modal-overlay li.info-item:nth-child(1) {
    padding-top:0;
}
.modal-overlay li.info-item:last-child {
    border-bottom: none;
    padding-bottom:0;
}
.modal-overlay .main-label {
    min-width: 140px; 
    font-size: 15px;
    font-weight: 700; 
    color: #444;
    line-height: 1.5;
}
.modal-overlay .main-label02 {
    padding-left:20px;
}
.modal-overlay .data-contents {
    width:calc(100% - 140px);
    font-size: 16px;
    font-weight:400;
    color: #434E5A;
    line-height: 1.5;
}
.modal-overlay .data-contents-group {
    flex: 1; 
    display: flex;
    flex-direction: column; 
    gap: 12px;
}
.modal-overlay .data-contents-file {
    font-size:16px;
    font-weight:400;
    color:#0089FF;
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:7px;
}
.modal-overlay .data-contents-file:hover {
    color:#000;
}
.modal-overlay .data-contents-file img {
    width:10px;
}
.modal-overlay .pop-data-row {
    display: flex;
    width: 100%;
}
.modal-overlay .data-unit {
    display: flex;
    align-items: center;
    width: 50%; 
}
.modal-overlay .sub-label {
    width:80px;
    font-size:16px;
    font-weight:500;
    color: #434E5A; 
}
.modal-overlay .sub-value {
    width:calc(100% - 140px);
    font-size:16px;
    font-weight:400;
    color: #434E5A;
}

.modal-overlay .modalFt { margin-top: auto; display: flex; justify-content: center; padding-top: 20px; }
.modal-overlay .btn-modal-close { background-color: #262E35; color: white; border: none; padding: 12px 60px; border-radius: 8px; font-size: 16px; font-weight: 500; cursor: pointer; }
.modal-overlay .btn-modal-close:hover {background-color:#00B89B;}

@media screen and (max-width:1080px) {
    .modalTopBox {margin-bottom:0; border-bottom:1px solid #D1D7DF; padding:15px 20px; }
    .modalTopBox h2 {font-size:20px;}
    .modal-overlay {padding:0; border-radius:0; overflow:hidden; width:100%; height:100vh;}
    .modal-container {width:100%; border-radius:0; width:100%; height:100%; overflow-y:auto;}
    .modal-container {padding:0;}
    .tab-content {overflow-y:initial;}
    .modal-overlay .modalFt {padding:20px 0 30px 0;}
    .modal-overlay .btn-modal-close {width:calc(100% - 40px); padding:0; height:50px; margin:0 auto;}
    .tabScroll {max-height:initial; overflow:initial;}
    .tab-menu{
        padding:20px 0 40px 20px;
        width:100%;
        margin-bottom:0;
        overflow-x: auto;     /* 핵심: hidden 말고 auto */
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        flex-wrap: nowrap;   /* 혹시 다른 곳에서 wrap 걸렸을 때 대비 */
        white-space: nowrap; /* 있어도 되고 없어도 됨(플렉스면 영향 적음) */
        scrollbar-width: none;
        gap:0;
    }
    .tab-item {margin-right:10px;}
    .tab-menu::-webkit-scrollbar{ display:none; } /* Chrome/Safari */
    .section-box .btn-fill {width:140px; height:42px; font-size:16px;}
    .tab-item{
        flex: 0 0 auto;
    }    
    .section-box {padding:0 20px; border:none; position:relative;}
    .section-box:not(:last-child) {
        padding-bottom:60px;
    }
    .section-box:not(:last-child)::after {
        content:'';
        width:100%;
        height:10px;
        background-color:#F8F9F9;
        position:absolute;
        bottom:0;
        left:-10px;
    }
    .modal-overlay .main-label {min-width:90px;}
    .modal-overlay .main-label02 {
        padding-left: 0;
    }
    .modal-overlay .data-contents {width:calc(100% - 90px);}
    .modal-overlay .data-contents-group {gap:5px;}
    .modal-overlay li.multi-line {flex-direction:column;}
    .modal-overlay li.multi-line .data-contents-group,
    .modal-overlay li.multi-line .data-contents {
        margin-top:10px;
        width:100%;
    }
    .modal-overlay li.multi-line .checkWrap {width:100%;}
    .modal-overlay .pop-data-row {flex-direction:column; gap:5px;}
    .modal-overlay .section-box02 li.info-item {flex-direction:column; gap:10px;}
    .modal-overlay .sub-value {width:calc(100% - 80px);}
    .modal-overlay .sub-label {margin-bottom:0 !important;}
    .modal-overlay .data-unit {width:100%;}
    .modal-overlay .data-contents-group {width:100%; flex:initial;}
    .table-wrap {overflow:hidden; width:calc(100% + 20px); overflow-x:scroll;}
    .table-wrap .custom-table {width:780px;}
    .checkWrap label {width:calc(100% - 30px);}
}
@media (max-width: 1279.98px) {
    .layout-main.information .searchFormMo .table-container .filter-wrap {
        padding:0;
        margin:0;
    }
    .layout-main  .searchFormMo .tabulator {
        padding-top:0;
    }
    .searchFormMo .filter-wrap {
        margin:0;
    }
}