/* ═══════════════════════════════════════════════════════════════════════════
   Cable List Table — 긴 텍스트 줄바꿈 + 옆 셀 침투 방지
   - 기본 td는 white-space:nowrap (엑셀 느낌)
   - ROUTE / NODE / EQUIPMENT 같은 긴 텍스트 셀은 줄바꿈 강제
   ═══════════════════════════════════════════════════════════════════════════ */

/* 모든 td 기본: 셀 경계 안에 가둠 (overflow 차단) */
.excel-table.cable-data-table td {
  overflow: hidden !important;
  text-overflow: clip !important;
  vertical-align: middle !important;
}

/* 줄바꿈 대상: 긴 텍스트가 들어가는 컬럼 */
.excel-table.cable-data-table td.col-route,
.excel-table.cable-data-table td.col-node,
.excel-table.cable-data-table td.col-equipment,
.excel-table.cable-data-table td.col-rev {
  white-space: normal !important;
  word-break: break-all !important;
  overflow-wrap: anywhere !important;
  line-height: 1.3 !important;
  vertical-align: top !important;
  padding: 3px 6px !important;
}

/* ROUTE는 더 좁아도 wrap되게 */
.excel-table.cable-data-table td.col-route {
  font-size: 10px !important;
  hyphens: auto !important;
}

/* 행 높이 자동 (wrap된 셀에 맞춰 늘어나도록) */
.excel-table.cable-data-table tbody tr td { height: auto !important; }

/* contenteditable 셀도 wrap 가능 */
.excel-table.cable-data-table td[contenteditable="true"] {
  white-space: normal !important;
  word-break: break-word !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   Cable List 상단 영역 Compact — Specificity 강화 (이전 15-compact 보강)
   #main-content prefix로 cascade 우선순위 ↑
   ═══════════════════════════════════════════════════════════════════════════ */

#main-content .legacy-filter-panel.excel-control-deck {
  display: grid !important;
  grid-template-columns: minmax(280px, 320px) 1fr !important;
  gap: 8px !important;
  padding: 8px 12px !important;
  margin-bottom: 6px !important;
  align-items: start !important;
}

#main-content .excel-slicer-stack {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 6px !important;
}

#main-content .excel-slicer { border-radius: 4px !important; }
#main-content .excel-slicer-head {
  padding: 4px 8px !important;
  font-size: 10.5px !important;
  min-height: 22px !important;
}
#main-content .excel-slicer-body {
  max-height: 92px !important;
  padding: 4px 6px !important;
  gap: 2px !important;
  overflow-y: auto !important;
}
#main-content .slicer-chip {
  padding: 2px 6px !important;
  font-size: 10.5px !important;
  min-height: 20px !important;
  line-height: 1.3 !important;
}

#main-content .excel-ops-stack {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}
#main-content .excel-ops-panel {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) 1.4fr auto !important;
  gap: 6px !important;
  padding: 6px 8px !important;
  align-items: end !important;
}
#main-content .excel-ops-panel select,
#main-content .excel-ops-panel input {
  height: 26px !important;
  font-size: 12px !important;
  padding: 2px 6px !important;
}
#main-content .excel-ops-panel button {
  height: 26px !important;
  padding: 0 10px !important;
  font-size: 11px !important;
}
#main-content .excel-bulk-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  align-items: center !important;
  padding: 4px 8px !important;
}
#main-content .excel-bulk-row button {
  height: 24px !important;
  padding: 0 8px !important;
  font-size: 10.5px !important;
}
#main-content .excel-bulk-row input[type="date"] {
  height: 24px !important;
  font-size: 11px !important;
}

#main-content .cable-tabs { padding: 4px 12px 0 !important; gap: 4px !important; }
#main-content .cable-tab {
  padding: 6px 12px !important;
  font-size: 12px !important;
  min-height: 28px !important;
}

@media (max-width: 1024px) {
  #main-content .legacy-filter-panel.excel-control-deck { grid-template-columns: 1fr !important; }
  #main-content .excel-ops-panel { grid-template-columns: repeat(2, 1fr) !important; }
}
