/* Numbering is a fixed utility column, independent of saved column widths. */
#commoditiesWorkspace table :is(th, td).resource-row-number {
  box-sizing: border-box !important;
  position: sticky !important;
  left: 0 !important;
  z-index: 5 !important;
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  padding: 0 4px !important;
  background: #fbfdfc !important;
  border-right: 1px solid #d9e6e4 !important;
  text-align: center !important;
  color: var(--muted) !important;
  font-weight: 400 !important;
  font-variant-numeric: tabular-nums;
  white-space: nowrap !important;
}
#commoditiesWorkspace table thead th.resource-row-number {
  top: 0 !important;
  z-index: 12 !important;
  background: #f4f8f7 !important;
}
#commoditiesWorkspace .operating-planning-calendar-v2 col.resource-number-column { width: 36px !important; }
#commoditiesWorkspace .operating-planning-calendar-wrap[data-scale] .operating-planning-calendar-v2 :is(th, td).planning-name-column {
  position: sticky !important;
  left: 36px !important;
  z-index: 4 !important;
  width: 170px !important;
  min-width: 170px !important;
  max-width: 170px !important;
  background: #fbfdfc !important;
  text-align: left !important;
}
#commoditiesWorkspace .operating-planning-calendar-wrap[data-axis="objects"] .operating-planning-calendar-v2 :is(th, td).planning-name-column {
  width: 210px !important;
  min-width: 210px !important;
  max-width: 210px !important;
}
#commoditiesWorkspace .operating-planning-calendar-wrap[data-scale] .operating-planning-calendar-v2 thead th.planning-name-column {
  z-index: 11 !important;
  background: #f4f8f7 !important;
}
#commoditiesWorkspace .operating-planning-calendar-v2 tbody td[colspan] {
  position: static !important;
  width: auto !important;
  max-width: none !important;
}
#commoditiesWorkspace .dispatch-workspace {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
  min-height: calc(100dvh - 160px);
  font: inherit;
}
#commoditiesToolbar .dispatch-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  width: 100%;
}
#commoditiesToolbar .dispatch-toolbar :is(button, input, select),
#commoditiesWorkspace .dispatch-object-header > button {
  box-sizing: border-box;
  height: 34px;
  min-height: 34px;
  margin: 0;
  font: inherit;
  font-size: 13px;
}
#commoditiesToolbar .dispatch-toolbar input { width: 146px; }
#commoditiesToolbar .dispatch-toolbar select { width: 100px; }
#commoditiesToolbar .dispatch-toolbar :is(input, select) {
  border: 1px solid #d3e1df;
  border-radius: 6px;
  background-color: #fff;
  padding: 0 8px;
  color: #203936;
}
#commoditiesToolbar .dispatch-period-nav { display: inline-flex; gap: 4px; }
#commoditiesToolbar .dispatch-period-label { margin-left: auto; color: var(--muted); font-size: 13px; white-space: nowrap; }
#commoditiesToolbar .dispatch-icon-button,
#commoditiesWorkspace .dispatch-icon-button {
  display: grid;
  place-items: center;
  width: 34px;
  min-width: 34px;
  padding: 0;
  border-radius: 5px;
  flex-shrink: 0;
}
#commoditiesWorkspace .dispatch-object-header {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 4px 0 12px;
  border-bottom: 1px solid #d9e6e4;
}
#commoditiesWorkspace .dispatch-object-header > div { flex: 1; min-width: 0; }
#commoditiesWorkspace .dispatch-object-header h2 { margin: 0 0 3px; font-size: 17px; font-weight: 600; overflow-wrap: anywhere; }
#commoditiesWorkspace .dispatch-object-header span { color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
#commoditiesWorkspace .dispatch-section { min-width: 0; }
#commoditiesWorkspace .dispatch-section > header { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px; margin: 0 0 8px; }
#commoditiesWorkspace .dispatch-section h3 { margin: 0; font-size: 13px; font-weight: 600; }
#commoditiesWorkspace .dispatch-section > header > span { font-size: 12px; color: var(--muted); }
#commoditiesWorkspace .dispatch-table-wrap { width: 100%; max-width: 100%; overflow: auto; max-height: calc(100dvh - 270px); border-radius: 5px; }
#commoditiesWorkspace .dispatch-table { width: 100%; min-width: 980px; table-layout: fixed; border-collapse: separate; border-spacing: 0; font: inherit; }
#commoditiesWorkspace .dispatch-table :is(th, td) { padding: 7px 10px !important; height: 36px; border-bottom: 1px solid #dce8e5 !important; border-right: 1px solid #e6eeec; text-align: left; vertical-align: middle; font-size: 13px; font-weight: 400; }
#commoditiesWorkspace .dispatch-table th { position: sticky; top: 0; z-index: 6; background: #f4f8f7; white-space: nowrap; }
#commoditiesWorkspace .dispatch-table td { background: #fff; overflow-wrap: anywhere; }
#commoditiesWorkspace .dispatch-table tbody tr:hover td { background: #f7fbfa; }
#commoditiesWorkspace .dispatch-staffing-table { min-width: 540px; max-width: none !important; }
#commoditiesWorkspace .dispatch-link {
  display: inline;
  height: auto;
  min-height: 0;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: 0 !important;
  border-radius: 0;
  background: none !important;
  box-shadow: none !important;
  color: #146f63 !important;
  font: inherit;
  text-align: left;
  overflow-wrap: anywhere;
  cursor: pointer;
}
#commoditiesWorkspace .dispatch-link:hover { text-decoration: underline; }
#commoditiesWorkspace .dispatch-resource-line + .dispatch-resource-line { margin-top: 5px; }
#commoditiesWorkspace .dispatch-meta,
#commoditiesWorkspace .dispatch-table small { display: block; font-size: 12px; margin-top: 3px; }
#commoditiesWorkspace .dispatch-meta,
#commoditiesWorkspace .dispatch-missing { color: var(--muted); }
#commoditiesWorkspace .dispatch-deficit { color: #b33e32; }
#commoditiesWorkspace .dispatch-warning { margin: 0; padding: 8px 10px; border-left: 2px solid #c18d28; background: #fffaec; font-size: 13px; }
#commoditiesWorkspace .dispatch-boards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 430px), 1fr)); align-items: start; gap: 14px; }
#commoditiesWorkspace .dispatch-board { min-width: 0; overflow: hidden; border: 1px solid #d5e4e1; border-radius: 6px; background: #fff; }
#commoditiesWorkspace .dispatch-board > header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 12px; padding: 12px; border-bottom: 1px solid #dce8e5; }
#commoditiesWorkspace .dispatch-board h2 { margin: 0 0 3px; font-size: 16px; font-weight: 600; }
#commoditiesWorkspace .dispatch-board > header span { color: var(--muted); font-size: 12px; }
#commoditiesWorkspace .dispatch-board-period { white-space: nowrap; }
#commoditiesWorkspace .dispatch-board-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid #dce8e5; background: #f4f8f7; }
#commoditiesWorkspace .dispatch-board-metrics > span { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px; padding: 8px 12px; border-right: 1px solid #dce8e5; font-size: 13px; }
#commoditiesWorkspace .dispatch-board-metrics > span:last-child { border-right: 0; }
#commoditiesWorkspace .dispatch-board-metrics strong { font-size: 13px; font-weight: 400; white-space: nowrap; }
#commoditiesWorkspace .dispatch-board-body { height: 340px; overflow-y: auto; overscroll-behavior: contain; }
#commoditiesWorkspace .dispatch-board-body ol { margin: 0; padding: 0; list-style: none; }
#commoditiesWorkspace .dispatch-board-worker { display: grid; grid-template-columns: 36px minmax(0, 1fr); border-bottom: 1px solid #e0ebe9; padding: 9px 12px 9px 0; }
#commoditiesWorkspace .dispatch-board-number { text-align: center; color: var(--muted); font-size: 12px; padding-top: 2px; font-variant-numeric: tabular-nums; }
#commoditiesWorkspace .dispatch-board-person { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 10px; margin-bottom: 6px; }
#commoditiesWorkspace .dispatch-board-person > span { font-size: 13px; overflow-wrap: anywhere; }
#commoditiesWorkspace .dispatch-board-person > small { font-size: 12px; color: var(--muted); }
#commoditiesWorkspace .dispatch-board-assigned-dates { margin-bottom: 6px; font-size: 12px; color: var(--muted); }
#commoditiesWorkspace .dispatch-board-resources { display: grid; gap: 3px; margin: 0; font-size: 13px; }
#commoditiesWorkspace .dispatch-board-resources > div { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 6px; }
#commoditiesWorkspace .dispatch-board-resources dt { color: var(--muted); }
#commoditiesWorkspace .dispatch-board-resources dd { min-width: 0; margin: 0; }
#commoditiesWorkspace .dispatch-board .dispatch-meta { display: inline; margin: 0 0 0 6px; }
#commoditiesWorkspace .dispatch-board > footer { padding: 8px 12px; border-top: 1px solid #dce8e5; font-size: 12px; color: var(--muted); }
@media (max-width: 720px) {
  #commoditiesToolbar .dispatch-period-label { margin-left: 0; }
  #commoditiesWorkspace .dispatch-table-wrap { max-height: calc(100dvh - 300px); }
}
