/* 표준화 페이지 (업로드 / 결과 조회) */
.filter_area .search_wrap { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.filter_area .search_box { display: flex; align-items: center; gap: 8px; }
.filter_area .search_box .title { font-weight: 600; white-space: nowrap; }
.filter_area .search_box select { min-width: 180px; }
.filter_area .search_box input[type="file"] { font-size: 14px; }

.guide_box { margin: 0 0 15px; padding: 12px 16px; background: #f7f8fa; border: 1px solid var(--borderColor); border-radius: 8px; font-size: 14px; line-height: 1.7; }
.guide_box ul { margin: 0 0 0 18px; }

.section_title { font-size: 16px; font-weight: 600; margin: 4px 0 10px; }
.section_title .btn-fit { margin-left: 10px; vertical-align: middle; }
.mt20 { margin-top: 20px; }
.mt10 { margin-top: 10px; }
.small { font-size: 12px; }
.left { text-align: left; }
.gray_text { color: #999; }
.red_text { color: #c94f4f; }
.ok_text { color: #2a8a4a; font-weight: 600; }

.badge { display: inline-block; padding: 2px 8px; background: var(--brandColor); color: #fff; border-radius: 4px; font-size: 13px; }
.badge.base { background: #c94f4f; }

.setting_table th.w60 { width: 60px; }
.setting_table th.w80 { width: 80px; }
.setting_table th.w100 { width: 100px; }
.setting_table th.w110 { width: 110px; }
.setting_table th.w120 { width: 120px; }
.setting_table th.w150 { width: 150px; }
.setting_table td.left { text-align: left; padding-left: 10px; }
.setting_table td.num, .setting_table th.num { text-align: right; padding-right: 10px; }

.log_list { margin-top: 10px; font-size: 14px; }
.log_list ul { margin: 4px 0 0 18px; }
.log_list li.warn { color: #9a6b00; }
.log_list li.error { color: #c94f4f; }

.report_box { font-size: 14px; }
.report_head { padding: 10px 14px; border-radius: 6px; font-weight: 600; margin-bottom: 10px; }
.report_head.ok { background: #e8f5ec; color: #2a8a4a; }
.report_head.ng { background: #fdecec; color: #c94f4f; }
.err_list, .warn_list { margin: 0 0 10px 18px; }
.err_list li { color: #c94f4f; }
.warn_list li { color: #9a6b00; }
.report_table td { vertical-align: top; }
.report_table tr.row_ng td { background: #fff7f7; }
.chip { display: inline-block; padding: 1px 7px; margin: 1px; border-radius: 10px; font-size: 12px; border: 1px solid #ccc; }
.chip.ok { background: #e8f5ec; border-color: #9fd3ae; color: #2a5f3a; }
.chip.ng { background: #fdecec; border-color: #e5a0a0; color: #a33; }

/* 결과 표: 공통 CSS의 width:100% / table-layout:fixed 를 무효화하고 내용 너비대로 펼친 뒤 가로 스크롤 */
.table_scroll .result_wrap { max-height: 70vh; overflow: auto; }
.table_scroll .result_wrap table.result_table { width: max-content; min-width: 100%; table-layout: auto; }
.result_table th, .result_table td { white-space: nowrap; font-size: 13px; padding: 6px 14px; min-width: 110px; border-right: 1px solid #eef0f3; }
.result_table th:first-child, .result_table td:first-child { min-width: 50px; }
.result_table td:empty::after { content: '-'; color: #ccc; }
.result_table th { position: sticky; top: 0; background: var(--tableColor); z-index: 2; }
.result_table th:first-child, .result_table td:first-child { position: sticky; left: 0; background: #fff; z-index: 1; }
.result_table th:first-child { z-index: 3; background: var(--tableColor); }
.pagination { margin-top: 12px; text-align: center; }

@media (max-width: 768px) {
    .filter_area .search_box select { min-width: 0; width: 100%; }
}
.result_table td.cell_ng, td.cell_ng { background: #fdecec; color: #c94f4f; font-weight: 600; }

/* 월 마감 상태 패널 (표준화 결과 조회) */
.close_panel { margin: 0 0 15px; padding: 12px 16px; background: #f7f8fa; border: 1px solid var(--borderColor); border-radius: 8px; font-size: 14px; line-height: 1.9; }
.close_head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.close_btns { display: flex; gap: 6px; align-items: center; white-space: nowrap; }
.close_body { margin-top: 8px; padding-top: 8px; border-top: 1px dashed var(--borderColor); }
.state_tag { display: inline-block; padding: 1px 9px; border-radius: 10px; font-size: 12px; font-weight: 600; vertical-align: middle; }
.state_tag.none { background: #e9ecef; color: #555; }
.state_tag.closed1 { background: #dfeeff; color: #1d5fa8; }
.state_tag.closed2 { background: #e8f5ec; color: #2a8a4a; }
.state_tag.partial { background: #fff1e0; color: #a35d00; }
.chip.ready { background: #eef4ff; border-color: #9fb8e6; color: #1d4f8a; }
.btn-xs { padding: 3px 9px; font-size: 12px; }
.ins_table { margin: 2px 0 6px; width: auto; min-width: 60%; }
.ins_table td.left, .ins_table th.left { text-align: left; }
.hold_box { margin-top: 8px; padding-top: 8px; border-top: 1px dashed var(--borderColor); }
.warn_text { color: #9a6b00; margin: 4px 0; }
.hold_title { font-weight: 600; margin-bottom: 4px; }
.hold_list { margin: 0 0 0 18px; max-height: 240px; overflow: auto; font-size: 13px; line-height: 1.7; }
.result_table th.dest_col, .result_table td.dest_col { min-width: 90px; }
.dest { display: inline-block; padding: 1px 8px; border-radius: 10px; font-size: 12px; font-weight: 600; }
.dest.new { background: #dfeeff; color: #1d5fa8; }
.dest.keep { background: #e8f5ec; color: #2a8a4a; }
.dest.recall { background: #fff1e0; color: #a35d00; }
.dest.car { background: #ece8f7; color: #5a3fa0; }
.dest.general { background: #e9ecef; color: #444; }
.small_table th, .small_table td { font-size: 13px; padding: 4px 8px; }

/* 서브테이블 (표준화 > 서브테이블) */
.sub_tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--borderColor); margin-bottom: 12px; }
.sub_tabs .sub_tab { font-size: 17px; font-weight: 600; padding: 6px 14px 9px; cursor: pointer; color: #777; border-bottom: 3px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.sub_tabs .sub_tab:hover { color: var(--brandColor); }
.sub_tabs .sub_tab.active { color: var(--brandColor); font-weight: 700; border-bottom-color: var(--brandColor); }
.sub_tabs .sub_tab .cnt { font-size: 12px; font-weight: 600; color: #666; background: #eef0f3; border-radius: 10px; padding: 1px 7px; margin-left: 2px; }
.sub_tabs .sub_tab.active .cnt { background: #dfeeff; color: #1d5fa8; }
.sub_table th.th_edit { background: #fff8d6; }
.sub_table th.th_calc { background: #eaf3ff; }
.sub_table td.editable { background: #fffbe6; cursor: pointer; }
.sub_table td.editable:hover { background: #fff3b8; }
.sub_table td.editable.cell_ng { background: #fdecec; cursor: pointer; }
.sub_table td.calc { background: #f5f9ff; }
.sub_table td.flash { background: #d9f2e0 !important; transition: background 0.3s; }
.sub_table input.cell_in { width: 90px; text-align: right; padding: 3px 6px; border: 1px solid var(--brandColor); border-radius: 4px; font-size: 14px; }
.sub_table tfoot td { text-align: center; }
.sub_table tfoot td.num { text-align: right; padding-right: 10px; }
