/* 드래그 드롭 영역 기본 스타일 (view 모드 제외) */
.file-upload[data-file-list] {flex:1 1 auto;}

[data-file-list] {
    position: relative;
    min-height: 100px;
    border: 2px dashed #ddd;
    border-radius: 8px;
    padding: 10px;
 /*   background-color: #fafafa;*/
    transition: all 0.3s ease;
}

.bpr [data-file-list] {
	min-height:auto;
}

/* 드래그 오버 시 스타일 (view 모드 제외) */
[data-file-list]:not([data-mode="view"]).dragover {
    border-color: #2196f3 !important;
    background-color: #e3f2fd !important;
    transform: scale(1.02);
    box-shadow: 0 4px 12px rgba(33, 150, 243, 0.3);
}

/* 드래그 메시지 애니메이션 */
.drag-message {
    animation: fadeInScale 0.3s ease-out;
    pointer-events: none;
}

.drop-success {
    animation: fadeInScale 0.3s ease-out;
    pointer-events: none;
}

@keyframes fadeInScale {
    from {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.8);
    }
    to {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

/* 파일 입력 영역 호버 효과 (view 모드 제외) */
[data-file-list]:not([data-mode="view"]):hover {
    border-color: #bbb;
    background-color: #f5f5f5;
    cursor:pointer;
}

[data-file-list]:not([data-mode="view"]) .txt-file:hover {
	cursor:pointer;
}

/* 업로드 중일 때 스타일 (view 모드 제외) */
[data-file-list]:not([data-mode="view"]).uploading {
    pointer-events: none;
    opacity: 0.7;
    background-color: #f0f0f0;
}

/* 드래그 불가능 상태 (view 모드 제외) */
[data-file-list]:not([data-mode="view"]).disabled {
    background-color: #f5f5f5;
    border-color: #ccc;
    cursor: not-allowed;
    opacity: 0.6;
}

/* view 모드일 때는 기본 스타일 적용 */
[data-file-list][data-mode="view"] {
	/* min-height: auto;*/
	padding-left:20px;
}
[data-file-list][data-mode="view"] label {

}

/* 파일 목록 아이템 간격 조정 - 간격을 최소화 */
[data-file-list] ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

[data-file-list] li {
    margin: 0; /* 상하 여백 제거 */
    padding: 0; /* 상하 패딩 제거 */
}

[data-file-list] li > div {
	display:flex;
	align-items:center;
	position:relative;
    padding-top: 1px; /* 최소 상단 패딩 */
    padding-bottom: 1px; /* 최소 하단 패딩 */
    box-sizing:border-box;
    max-width:100%;
}

/* 체크박스와 레이블 간격 조정 */
[data-file-list] li input[type="checkbox"] {
    margin: 0 4px 0 0;
    vertical-align: middle;
}

[data-file-list] li label {
    margin: 0;
    vertical-align: middle;
    line-height: 1.2;
}

/* 반응형 디자인 */
@media (max-width: 768px) {
    [data-file-list]:not([data-mode="view"]) {
        min-height: 50px;
        padding: 8px;
    }

    .drag-message,
    .drop-success {
        font-size: 12px;
        padding: 6px 12px;
    }
}

.file-upload ul li a {
	flex:0 1 auto;
    display: inline-block;
    padding-left: 25px;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 20px 20px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}



.file-upload ul li .hwp {
    background: url(../../img/ico_file_hwp.svg) no-repeat left center;
    background-size: 18px 18px;
    padding-left: 25px;
    position: relative;
}

.file-upload ul li .xls {
    background: url(../../img/ico_excel.svg) no-repeat left center;
    background-size: 18px 18px;
    padding-left: 25px;
    position: relative;
}

.file-upload ul li .pdf {
    background: url(../../img/ico_file_pdf.svg) no-repeat left center;
    background-size: 18px 18px;
    padding-left: 25px;
    position: relative;
}


.file-upload ul li .zip {
    background: url(../../img/ico_file_zip.svg) no-repeat left center;
    background-size: 18px 18px;
    padding-left: 25px;
    position: relative;
}

.file-upload ul li .doc {
    background: url(../../img/ico_file_doc.svg) no-repeat left center;
    background-size: 18px 18px;
    padding-left: 25px;
    position: relative;
}

.file-upload ul li .ppt {
    background: url(../../img/ico_file_ppt.svg) no-repeat left center;
    background-size: 18px 18px;
    padding-left: 25px;
    position: relative;
}

.file-upload ul li .txt {
    background: url(../../img/ico_file_txt.svg) no-repeat left center;
    background-size: 18px 18px;
    padding-left: 25px;
    position: relative;
}

.file-upload ul li .jpg {
    background: url(../../img/ico_file_jpg.svg) no-repeat left center;
    background-size: 18px 18px;
    padding-left: 25px;
    position: relative;
}

.file-upload ul li .png {
    background: url(../../img/ico_file_png.svg) no-repeat left center;
    background-size: 18px 18px;
    padding-left: 25px;
    position: relative;
}

.file-upload ul li .gif {
    background: url(../../img/ico_file_gif.svg) no-repeat left center;
    background-size: 18px 18px;
    padding-left: 25px;
    position: relative;
}

.file-upload ul li .tit {
    background: url(../../img/ico_file_tit.svg) no-repeat left center;
    background-size: 18px 18px;
    padding-left: 25px;
    position: relative;
}

.file-upload ul li .mp4 {
    background: url(../../img/ico_file_mp4.svg) no-repeat left center;
    background-size: 18px 18px;
    padding-left: 25px;
    position: relative;
}


.file-upload ul li .mpg {
    background: url(../../img/ico_file_mpg.svg) no-repeat left center;
    background-size: 18px 18px;
    padding-left: 25px;
    position: relative;
}

.file-upload ul li .xml {
    background: url(../../img/ico_file_xml.svg) no-repeat left center;
    background-size: 18px 18px;
    padding-left: 25px;
    position: relative;
}


.file-upload ul li .html {
    background: url(../../img/ico_file_html.svg) no-repeat left center;
    background-size: 18px 18px;
    padding-left: 25px;
    position: relative;
}



.file-upload ul li .etc {
    background: url(../../img/ico_file_etc.svg) no-repeat left center;
    background-size: 18px 18px;
    padding-left: 25px;
    position: relative;
}


.file-upload ul li .avi {
    background: url(../../img/ico_file_avi.svg) no-repeat left center;
    background-size: 18px 18px;
    padding-left: 25px;
    position: relative;
}

.file-upload ul li .exe {
    background: url(../../img/ico_file_exe.svg) no-repeat left center;
    background-size: 18px 18px;
    padding-left: 25px;
    position: relative;
}

.file-upload ul li .bmp {
    background: url(../../img/ico_file_bmp.svg) no-repeat left center;
    background-size: 18px 18px;
    padding-left: 25px;
    position: relative;
}

.file-upload ul li label::before {position: relative;margin-right: 8px;}



.public {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.private {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

.synap {
	display: inline-flex; justify-content: center; align-items: center; min-width: 60px; height: 24px; padding:0 10px; text-align: center; font-weight: 500; font-size:15px; line-height: 1.5; color: #464c53; background: #fff; border: 1px solid #929AA2; border-radius: 4px;
}

.synap a {
	padding:0 !important;
}