:root {
  --status-confirmed: #087a67;
  --status-confirmed-text: #075f52;
  --status-review: #f09a00;
  --status-review-text: #8a5200;
  --status-unmatched: #d7264e;
  --status-unmatched-text: #a41132;
}

/* One status palette drives the legend, project dot and row-leading stripe. */
.table-toolbar .legend-item.ok {
  color: var(--status-confirmed-text);
}

.table-toolbar .legend-item.review {
  color: var(--status-review-text);
}

.table-toolbar .legend-item.unmatched {
  color: var(--status-unmatched-text);
}

.table-toolbar .legend-dot,
.candidate-button .match-dot {
  width: 10px;
  height: 10px;
  border: 1px solid #fff;
}

.table-toolbar .legend-dot.ok,
.candidate-button .match-dot.confirmed,
.candidate-button .match-dot.recommended {
  background: var(--status-confirmed);
  box-shadow: 0 0 0 2px #087a6729;
}

.table-toolbar .legend-dot.review,
.candidate-button .match-dot.review,
.candidate-button .match-dot.inquiry {
  background: var(--status-review);
  box-shadow: 0 0 0 2px #f09a002b;
}

.table-toolbar .legend-dot.unmatched,
.candidate-button .match-dot.unmatched {
  background: var(--status-unmatched);
  box-shadow: 0 0 0 2px #d7264e2b;
}

.quote-table tr.match-confirmed td:first-child,
.quote-table tr.match-recommended td:first-child {
  box-shadow: inset 4px 0 var(--status-confirmed);
}

.quote-table tr.match-review td:first-child,
.quote-table tr.match-inquiry td:first-child {
  box-shadow: inset 4px 0 var(--status-review);
}

.quote-table tr.match-unmatched td:first-child {
  box-shadow: inset 4px 0 var(--status-unmatched);
}
