/* OEM 섹션 스타일 */

/* 꽉찬 화면 (기본 .page의 max-width:980px 해제) */
#page-oem-e24-dashboard,
#page-oem-e24-flow,
#page-oem-e24-upload,
#page-oem-e24-erp,
#page-oem-e24-margin,
#page-oem-hm-dashboard,
#page-oem-hm-flow,
#page-oem-hm-upload,
#page-oem-hm-margin{max-width:none;padding:16px 20px;}

/* 마진 분석 ── 탭/툴바/KPI/표 */
.oem-margin-tabs{display:flex;gap:4px;border-bottom:2px solid var(--border);margin-bottom:14px;}
.oem-margin-tab{
  padding:8px 16px;background:transparent;border:0;border-bottom:3px solid transparent;
  margin-bottom:-2px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;
  color:var(--text2);border-radius:4px 4px 0 0;transition:background .12s;
}
.oem-margin-tab:hover{background:var(--surface2);color:var(--text);}
.oem-margin-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--accent-light);font-weight:700;}

.oem-margin-toolbar{
  display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;
  margin-bottom:12px;
}
.oem-margin-month-picker,.oem-margin-range{display:inline-flex;align-items:center;gap:6px;}
.oem-margin-month-picker select,.oem-margin-range input,.oem-margin-range select{
  padding:5px 10px;font-size:13px;border:1px solid var(--border);border-radius:4px;background:var(--surface);
}

.oem-margin-kpis{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;
}
.oem-margin-kpi{
  background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 16px;
}
.oem-margin-kpi-label{font-size:12px;color:var(--text3);margin-bottom:4px;}
.oem-margin-kpi-value{font-size:22px;font-weight:700;color:var(--text);}

.oem-margin-table{width:100%;border-collapse:collapse;font-size:13px;}
.oem-margin-table thead th{
  background:var(--surface2);padding:8px 10px;text-align:left;font-weight:600;
  color:var(--text2);border-bottom:1px solid var(--border);font-size:12px;white-space:nowrap;
}
.oem-margin-table tbody td{padding:8px 10px;border-bottom:1px solid var(--border);}
.oem-margin-table tbody tr:hover{background:#f9fafb;}
.oem-margin-total-row td{
  background:var(--surface2);border-top:2px solid var(--border);
  border-bottom:none;padding:10px;
}
.oem-margin-trend-table thead th{position:sticky;top:0;z-index:1;}

.oem-margin-chart-wrap{
  background:var(--surface);border:1px solid var(--border);border-radius:8px;
  padding:12px 14px;margin-bottom:14px;overflow-x:auto;
}
.oem-margin-chart-title{font-size:13px;font-weight:600;color:var(--text2);margin-bottom:8px;}

/* ── 일괄 수정 모달 ── */
.oem-bulk-modal{min-width:1180px;max-width:96vw;}
.oem-bulk-controls{
  display:flex;gap:14px;flex-wrap:wrap;align-items:center;
  padding:12px 14px;background:var(--surface2);border-bottom:1px solid var(--border);
}
.oem-bulk-controls label{
  display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text2);
}
.oem-bulk-controls input{
  padding:5px 8px;border:1px solid var(--border);border-radius:4px;font-size:13px;background:var(--surface);
}
.oem-bulk-controls input[type="number"]{width:90px;}
.oem-bulk-controls input[type="text"]{width:120px;}
.oem-bulk-help{font-size:11px;color:var(--text3);flex-basis:100%;line-height:1.6;}
.oem-bulk-actions{display:inline-flex;gap:6px;margin-left:auto;}
.oem-bulk-table{width:100%;border-collapse:collapse;font-size:12px;}
.oem-bulk-table thead th{
  background:var(--surface2);padding:8px 6px;text-align:left;font-weight:600;color:var(--text2);
  border-bottom:1px solid var(--border);font-size:11px;position:sticky;top:0;z-index:1;
}
.oem-bulk-table tbody td{padding:4px 6px;border-bottom:1px solid var(--border);}
.oem-bulk-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px;}
.oem-bulk-input{
  width:100%;text-align:right;padding:4px 6px;border:1px solid var(--border);
  border-radius:3px;font-size:12px;background:var(--surface);
}
.oem-bulk-input:focus{outline:1px solid var(--accent);}
.oem-bulk-sum,.oem-bulk-krw{text-align:right;color:var(--text3);font-size:12px;}
.oem-bulk-cost{text-align:right;font-weight:700;color:#16a34a;}
.oem-bulk-grand-row td{
  background:var(--surface2);padding:10px 6px;border-top:2px solid var(--border);border-bottom:none;
}


/* 범용 테이블 (so.css의 so-table 간소화 버전) */
.data-table{width:100%;border-collapse:collapse;font-size:13px;}
.data-table thead th{background:var(--surface2);color:var(--text2);font-weight:600;text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap;}
.data-table tbody td{padding:9px 12px;border-bottom:1px solid var(--border);color:var(--text);}
.data-table tbody tr:hover{background:var(--surface2);}

/* 현황 테이블 영역 구분 */
.data-table .oem-sep-avg    { border-left: 2px solid var(--border); }
.data-table .oem-sep-stock  { border-left: 2px solid var(--border); background: rgba(37,99,235,.04); }
.data-table .oem-col-stock  { background: rgba(37,99,235,.04); }
.data-table .oem-sep-days   { border-left: 2px solid var(--border); }
.data-table .oem-sep-action { border-left: 2px solid var(--border); }
.data-table thead th.oem-sep-stock,
.data-table thead th.oem-col-stock { background: rgba(37,99,235,.08); }

/* 현황 탭 */
.oem-tab{padding:8px 16px;background:none;border:none;border-bottom:2px solid transparent;font-size:13px;font-weight:500;color:var(--text2);cursor:pointer;font-family:inherit;}
.oem-tab:hover{color:var(--text);}
.oem-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600;}

/* 소형 버튼 */
.btn-mini{padding:5px 10px;border:1px solid var(--border);border-radius:4px;background:var(--surface);font-size:12px;font-family:inherit;color:var(--text2);cursor:pointer;margin:0 2px;}
.btn-mini:hover{background:var(--surface2);}
.btn-mini:disabled{opacity:.5;cursor:not-allowed;}

/* 모달 패널 (shared #modal-box에서 동작) */
.modal-panel{}
.modal-panel .modal-title{font-size:15px;font-weight:700;margin-bottom:4px;}
.modal-panel .modal-body{padding:8px 0;}
.modal-panel .modal-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:12px;padding-top:10px;border-top:1px solid var(--border);}
