/* One compact geometry for resource types in every staff-facing view.
   Section/work navigation badges are different controls and keep their labels. */
:is(.cat-badge, .epf-type, .cd-rtype, .estimate-resource-type),
:is(.search-select-level-resource, .search-select-level-material) .search-select-option-badge {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 40px;
  width: 40px;
  min-width: 40px;
  max-width: 40px;
  height: 18px;
  min-height: 18px;
  max-height: 18px;
  padding: 0;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .02em;
  white-space: nowrap;
  vertical-align: middle;
}

.est-tree .est-name-line > .cat-badge,
.est-tree td.cat-op-name > .cat-badge {
  margin-right: 8px;
}

/* Canonical resource palette. The standalone customer portal mirrors these six
   triples; type colors do not depend on the surrounding page or theme. */
:root {
  --resource-material-color: #92400E;
  --resource-labor-color: #1D4ED8;
  --resource-mechanism-color: #6D28D9;
  --resource-contractor-color: #9D174D;
  --resource-overhead-color: #374151;
  --resource-other-color: #475569;
}
:is(.cat-badge--material, .epf-type.material, .cd-rtype.mat,
    .estimate-resource-material .estimate-resource-type, [data-resource-type="material"]) {
  --resource-badge-bg: #FEF3C7;
  --resource-badge-ink: var(--resource-material-color);
  --resource-badge-border: #FCD34D;
}
:is(.cat-badge--labor, .epf-type.labor, .cd-rtype.lab,
    .estimate-resource-labor .estimate-resource-type, [data-resource-type="labor"]) {
  --resource-badge-bg: #DBEAFE;
  --resource-badge-ink: var(--resource-labor-color);
  --resource-badge-border: #93C5FD;
}
:is(.cat-badge--mechanism, .cat-badge--equipment, .epf-type.mechanism, .epf-type.equipment, .cd-rtype.meh,
    .estimate-resource-mechanism .estimate-resource-type, .estimate-resource-equipment .estimate-resource-type,
    [data-resource-type="mechanism"], [data-resource-type="equipment"]) {
  --resource-badge-bg: #EDE9FE;
  --resource-badge-ink: var(--resource-mechanism-color);
  --resource-badge-border: #C4B5FD;
}
:is(.cat-badge--contractor, .epf-type.contractor, .cd-rtype.con,
    .estimate-resource-contractor .estimate-resource-type, [data-resource-type="contractor"]) {
  --resource-badge-bg: #FCE7F3;
  --resource-badge-ink: var(--resource-contractor-color);
  --resource-badge-border: #F9A8D4;
}
:is(.cat-badge--overhead, .epf-type.overhead, .cd-rtype.ovh,
    .estimate-resource-overhead .estimate-resource-type, [data-resource-type="overhead"]) {
  --resource-badge-bg: #E5E7EB;
  --resource-badge-ink: var(--resource-overhead-color);
  --resource-badge-border: #9CA3AF;
}
:is(.cat-badge--other, .epf-type.other, .cd-rtype.oth,
    .estimate-resource-other .estimate-resource-type, [data-resource-type="other"]) {
  --resource-badge-bg: #F1F5F9;
  --resource-badge-ink: var(--resource-other-color);
  --resource-badge-border: #CBD5E1;
}

/* Outrank legacy section-specific colors, including material search options. */
:root :is(.cat-badge, .epf-type, .cd-rtype, .estimate-resource-type,
          .search-select-option-badge[data-resource-type]) {
  background: var(--resource-badge-bg, #F1F5F9);
  color: var(--resource-badge-ink, #475569);
  border: 1px solid var(--resource-badge-border, #CBD5E1);
}
