.fileListHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}
.fileListHead h2{margin:0;font-size:14px;font-weight:900;color:#f5f7fb}
.fileListSummary{color:#8fa2bd;font-size:12px}
.clearAllBtn{padding:6px 12px;border:1px solid #294266;border-radius:999px;background:#0b1733;color:#dbe5f5;font-size:11px;font-weight:800;cursor:pointer;font-family:inherit}
.clearAllBtn:hover{border-color:#1877f2;color:#fff}
.clearAllBtn:disabled{opacity:.4;cursor:not-allowed}

.fileList{margin-top:10px;display:flex;flex-direction:column;gap:8px;max-height:440px;overflow-y:auto;padding-right:2px}
.fileList:empty::before{content:"추가된 이미지가 없습니다.";display:block;padding:24px;text-align:center;color:#8fa2bd;font-size:12px;border:1px dashed #294266;border-radius:12px}

.fileRow{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid #294266;border-radius:12px;background:#0b1733;cursor:pointer;transition:.15s}
.fileRow:hover{border-color:#3d5a86}
.fileRow.isSelected{border-color:#1877f2;background:rgba(24,119,242,.1)}
.fileThumb{width:48px;height:48px;border-radius:8px;overflow:hidden;background:#102344;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:18px}
.fileThumb img{width:100%;height:100%;object-fit:cover;display:block}
.fileInfo{flex:1 1 auto;min-width:0}
.fileName{font-size:13px;font-weight:800;color:#f5f7fb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fileMetaLine{margin-top:2px;color:#8fa2bd;font-size:11px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.fileErrorMsg{margin-top:2px;color:#ff8a80;font-size:11px}

.statusBadge{flex:0 0 auto;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}
.statusBadge--pending{background:#1b3158;color:#9eb0c9}
.statusBadge--processing{background:rgba(24,119,242,.18);color:#7fb2ff}
.statusBadge--done{background:rgba(87,209,140,.16);color:#57d18c}
.statusBadge--error{background:rgba(255,138,128,.16);color:#ff8a80}

.fileActions{flex:0 0 auto;display:flex;align-items:center;gap:8px}
.fileDownloadLink{padding:6px 10px;border-radius:999px;background:#1877f2;color:#fff;font-size:11px;font-weight:800;white-space:nowrap}
.fileDownloadLink:hover{filter:brightness(1.08)}
.fileRemoveBtn{width:26px;height:26px;border:1px solid #294266;border-radius:999px;background:#0b1733;color:#8fa2bd;font-size:13px;line-height:1;cursor:pointer;font-family:inherit}
.fileRemoveBtn:hover{border-color:#ff8a80;color:#ff8a80}
.fileRemoveBtn:disabled{opacity:.3;cursor:not-allowed}

.resizeModeRow{display:flex;gap:14px;margin-bottom:10px}
.radioOption{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#dbe5f5;cursor:pointer}
.radioOption input{accent-color:#1877f2}
.sizeFields.isDisabled{opacity:.4;pointer-events:none}

.progressWrap{margin-top:14px}
.progressBar{height:8px;border-radius:999px;background:#0b1733;border:1px solid #294266;overflow:hidden}
.progressFill{height:100%;width:0%;background:#1877f2;transition:width .2s}
.progressText{margin-top:6px;color:#8fa2bd;font-size:12px}

.batchSummaryBox{margin-top:12px;padding:12px 14px;border-radius:11px;background:#102344;border:1px solid #294266;color:#dbe5f5;font-size:12px;line-height:1.8}
.batchSummaryBox b{color:#f5f7fb}
.batchSummaryBox .isGood{color:#57d18c;font-weight:900}
.batchSummaryBox .isError{color:#ff8a80;font-weight:900}

.limitNote{margin-top:8px;color:#8fa2bd;font-size:11px}

#selectedPreview{min-height:280px}
#selectedPreview img{max-height:440px}

@media(max-width:850px){
 #selectedPreview{min-height:200px}
 #selectedPreview img{max-height:320px}
}

@media(max-width:520px){
 .fileThumb{width:40px;height:40px}
 .fileDownloadLink{padding:5px 8px;font-size:10px}
 #selectedPreview{min-height:160px}
 #selectedPreview img{max-height:260px}
}
