.opportunity-module-tabs {
  display: flex;
  gap: 4px;
  margin: 0 0 20px;
  padding: 4px;
  overflow-x: auto;
  border: 1px solid #d4ddd8;
  border-radius: 8px;
  background: #f3f6f4;
  scrollbar-width: thin;
}

.opportunity-module-tab {
  flex: 0 0 auto;
  min-height: 42px;
  padding: 8px 16px;
  border: 0;
  border-radius: 6px;
  color: #4c5e58;
  background: transparent;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.opportunity-module-tab:hover {
  background: #e8eeeb;
}

.opportunity-module-tab.active {
  color: #ffffff;
  background: #087c72;
}

.discovery-content {
  min-width: 0;
}

.discovery-loading,
.discovery-empty,
.discovery-detail-empty {
  padding: 40px 24px;
  text-align: center;
  color: #61706b;
}

.discovery-empty strong,
.discovery-detail-empty strong {
  display: block;
  margin-bottom: 6px;
  color: #12251f;
  font-size: 1.05rem;
}

.discovery-empty p,
.discovery-detail-empty p {
  margin: 0 0 16px;
}

.discovery-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid #d4ddd8;
  border-radius: 8px;
  overflow: hidden;
  background: #ffffff;
}

.discovery-metrics > div {
  min-width: 0;
  padding: 16px 18px;
  border-right: 1px solid #d4ddd8;
}

.discovery-metrics > div:last-child {
  border-right: 0;
}

.discovery-metrics span,
.discovery-fact-grid span,
.discovery-score-breakdown span,
.discovery-score-block span {
  display: block;
  color: #63716d;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.discovery-metrics strong {
  display: block;
  margin-top: 4px;
  color: #12251f;
  font-size: 1.65rem;
}

.discovery-manual-panel,
.discovery-source-create {
  margin-top: 16px;
  border: 1px solid #9fc9c4;
  border-radius: 8px;
  background: #f6fbfa;
}

.discovery-manual-panel summary,
.discovery-source-create summary {
  padding: 16px 18px;
  color: #086b63;
  font-weight: 800;
  cursor: pointer;
}

.discovery-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 0 18px 18px;
}

.discovery-form-grid label,
.discovery-filter-bar label,
.discovery-review-form label,
.discovery-settings label {
  min-width: 0;
  color: #56655f;
  font-weight: 700;
}

.discovery-form-grid input,
.discovery-form-grid select,
.discovery-form-grid textarea,
.discovery-filter-bar input,
.discovery-filter-bar select,
.discovery-review-form select,
.discovery-review-form textarea,
.discovery-settings input,
.discovery-settings textarea {
  width: 100%;
  min-width: 0;
  margin-top: 6px;
}

.discovery-form-grid textarea,
.discovery-review-form textarea,
.discovery-settings textarea {
  min-height: 92px;
  resize: vertical;
}

.discovery-wide {
  grid-column: 1 / -1;
}

.discovery-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
  font-weight: 600 !important;
}

.discovery-checkbox input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
}

.discovery-form-actions,
.discovery-review-actions,
.discovery-source-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.discovery-callout {
  margin: 16px 0 0;
  padding: 14px 16px;
  border-left: 4px solid #c18a20;
  background: #fff8e9;
  color: #5c4a28;
}

.discovery-filter-bar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(150px, 220px) minmax(170px, 260px) auto;
  align-items: end;
  gap: 12px;
  margin: 16px 0;
}

.discovery-filter-bar .text-button {
  min-height: 48px;
}

.discovery-queue {
  display: grid;
  grid-template-columns: minmax(300px, 0.8fr) minmax(0, 1.45fr);
  min-height: 640px;
  border: 1px solid #d4ddd8;
  border-radius: 8px;
  overflow: hidden;
  background: #ffffff;
}

.discovery-candidate-list {
  min-width: 0;
  border-right: 1px solid #d4ddd8;
  background: #f5f7f6;
}

.discovery-candidate-list > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 17px 18px;
  border-bottom: 1px solid #d4ddd8;
}

.discovery-candidate-list h3,
.discovery-candidate-list p {
  margin: 0;
}

.discovery-candidate-list p {
  margin-top: 3px;
  color: #6a7873;
  font-size: 0.88rem;
}

.discovery-candidate-list > header > strong {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  color: #086b63;
  background: #dbeeea;
}

.discovery-list-scroll {
  max-height: 790px;
  overflow-y: auto;
}

.discovery-candidate-row {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  gap: 12px;
  width: 100%;
  min-height: 126px;
  padding: 16px;
  border: 0;
  border-bottom: 1px solid #dce3df;
  color: inherit;
  background: #ffffff;
  text-align: left;
  cursor: pointer;
}

.discovery-candidate-row:hover,
.discovery-candidate-row.active {
  background: #edf7f5;
  box-shadow: inset 4px 0 #087c72;
}

.discovery-score {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid #9fc9c4;
  border-radius: 7px;
  color: #086b63;
  background: #ffffff;
  font-size: 1.1rem;
  font-weight: 800;
}

.discovery-candidate-copy,
.discovery-row-heading,
.discovery-row-meta {
  min-width: 0;
}

.discovery-row-heading,
.discovery-row-meta {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.discovery-row-heading strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: #12251f;
}

.discovery-candidate-copy > small {
  display: block;
  margin: 8px 0;
  color: #4f625b;
}

.discovery-row-meta {
  color: #71807b;
}

.discovery-candidate-detail {
  min-width: 0;
  padding: 22px;
}

.discovery-mobile-back {
  display: none;
}

.discovery-detail-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 110px;
  gap: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid #d4ddd8;
}

.discovery-detail-heading h3 {
  margin: 4px 0 10px;
  overflow-wrap: anywhere;
  font-size: 1.4rem;
}

.discovery-detail-heading p {
  margin: 0;
  color: #455850;
  line-height: 1.55;
  white-space: pre-wrap;
}

.discovery-eyebrow {
  color: #087c72;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.discovery-score-block {
  align-self: start;
  padding: 13px;
  border: 1px solid #9fc9c4;
  border-radius: 7px;
  text-align: center;
}

.discovery-score-block strong {
  display: block;
  margin: 4px 0;
  color: #086b63;
  font-size: 2rem;
}

.discovery-score-block small {
  color: #52655e;
  font-weight: 700;
}

.discovery-fact-grid,
.discovery-score-breakdown {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 16px 0;
}

.discovery-fact-grid > div,
.discovery-score-breakdown > div {
  min-width: 0;
  padding: 12px;
  border-radius: 6px;
  background: #eef3f0;
}

.discovery-fact-grid strong,
.discovery-score-breakdown strong {
  display: block;
  margin-top: 5px;
  overflow-wrap: anywhere;
}

.discovery-detail-section,
.discovery-review-form {
  padding: 18px 0;
  border-top: 1px solid #dce3df;
}

.discovery-section-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
}

.discovery-section-title h4,
.discovery-detail-section h5 {
  margin: 0 0 10px;
}

.discovery-section-title > span {
  color: #6a7873;
  font-size: 0.8rem;
}

.discovery-section-title a {
  color: #086b63;
  font-weight: 700;
}

.discovery-reason-list {
  margin: 0 0 14px;
  padding-left: 20px;
  color: #43564f;
}

.discovery-reason-list li + li {
  margin-top: 5px;
}

.discovery-inline-note {
  margin: 8px 0 0;
}

.discovery-provenance {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 22px;
  margin: 0;
}

.discovery-provenance div {
  min-width: 0;
}

.discovery-provenance dt {
  color: #6a7873;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.discovery-provenance dd {
  margin: 4px 0 0;
  overflow-wrap: anywhere;
}

.discovery-duplicate-warning {
  margin: 0 0 16px;
  padding: 16px;
  border-left: 4px solid #c18a20;
  background: #fff8e9;
}

.discovery-duplicate-warning h4,
.discovery-duplicate-warning p {
  margin: 0 0 8px;
}

.discovery-review-form {
  display: grid;
  grid-template-columns: minmax(180px, 0.4fr) minmax(0, 1fr);
  gap: 14px;
}

.discovery-review-actions {
  grid-column: 1 / -1;
}

.discovery-intro-band {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 0;
  border-bottom: 1px solid #d4ddd8;
}

.discovery-intro-band h3,
.discovery-intro-band p {
  margin: 0;
}

.discovery-intro-band p {
  max-width: 850px;
  margin-top: 6px;
  color: #61706b;
}

.discovery-source-list {
  margin-top: 12px;
}

.discovery-source-row {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(340px, 0.8fr) auto;
  align-items: center;
  gap: 14px 22px;
  padding: 18px 0;
  border-bottom: 1px solid #d4ddd8;
}

.discovery-source-main {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 14px;
}

.discovery-source-main div {
  min-width: 0;
}

.discovery-source-main h3,
.discovery-source-main p,
.discovery-source-basis {
  margin: 0;
  overflow-wrap: anywhere;
}

.discovery-source-main p,
.discovery-source-basis {
  margin-top: 4px;
  color: #63716d;
  font-size: 0.88rem;
}

.discovery-source-type {
  flex: 0 0 auto;
  min-width: 58px;
  padding: 7px 9px;
  border-radius: 5px;
  color: #244f78;
  background: #e8f0f9;
  font-size: 0.72rem;
  font-weight: 800;
  text-align: center;
}

.discovery-source-facts {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  color: #51625c;
  font-size: 0.86rem;
}

.discovery-source-basis {
  grid-column: 1 / 3;
}

.discovery-source-actions {
  grid-column: 3;
  grid-row: 1 / span 2;
}

.discovery-runs-table {
  margin-top: 16px;
  border: 1px solid #d4ddd8;
  border-radius: 8px;
  overflow: hidden;
}

.discovery-run-header,
.discovery-run-row {
  display: grid;
  grid-template-columns: minmax(190px, 1.3fr) 110px minmax(160px, 1fr) 80px 70px minmax(100px, 0.8fr);
  gap: 12px;
  align-items: center;
  min-width: 0;
  padding: 13px 16px;
}

.discovery-run-header {
  color: #52645d;
  background: #eef3f0;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.discovery-run-row {
  border-top: 1px solid #dce3df;
}

.discovery-run-row > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.discovery-run-row small {
  display: block;
  margin-top: 3px;
  color: #6a7873;
}

.discovery-settings {
  max-width: 1120px;
}

.discovery-settings > section {
  padding: 22px 0;
  border-bottom: 1px solid #d4ddd8;
}

.discovery-settings h4 {
  margin: 0 0 14px;
}

.discovery-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 20px;
}

.discovery-settings .discovery-form-grid {
  padding: 12px 0 0;
}

.discovery-settings-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding-top: 20px;
  color: #61706b;
}

@media (max-width: 1120px) {
  .discovery-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .discovery-source-row {
    grid-template-columns: minmax(240px, 1fr) minmax(300px, 1fr);
  }

  .discovery-source-actions {
    grid-column: 1 / -1;
    grid-row: auto;
    justify-content: flex-start;
  }

  .discovery-source-basis {
    grid-column: 1 / -1;
  }
}

@media (max-width: 860px) {
  .discovery-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .discovery-metrics > div:nth-child(2) {
    border-right: 0;
  }

  .discovery-metrics > div:nth-child(-n + 2) {
    border-bottom: 1px solid #d4ddd8;
  }

  .discovery-filter-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .discovery-queue {
    grid-template-columns: minmax(260px, 0.9fr) minmax(0, 1.1fr);
  }

  .discovery-fact-grid,
  .discovery-score-breakdown {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .discovery-run-header {
    display: none;
  }

  .discovery-run-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .discovery-run-row > span::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 3px;
    color: #6a7873;
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
  }
}

@media (max-width: 700px) {
  .opportunity-module-tabs {
    margin-inline: -4px;
  }

  .opportunity-module-tab {
    min-height: 40px;
    padding-inline: 13px;
    font-size: 0.88rem;
  }

  .discovery-form-grid,
  .discovery-filter-bar,
  .discovery-source-row,
  .discovery-review-form,
  .discovery-choice-grid,
  .discovery-provenance {
    grid-template-columns: 1fr;
  }

  .discovery-wide,
  .discovery-source-basis,
  .discovery-review-actions {
    grid-column: 1;
  }

  .discovery-filter-bar .text-button {
    width: 100%;
  }

  .discovery-queue {
    display: block;
    min-height: 0;
  }

  .discovery-content.mobile-candidate-open > .discovery-metrics,
  .discovery-content.mobile-candidate-open > .discovery-manual-panel,
  .discovery-content.mobile-candidate-open > .discovery-callout,
  .discovery-content.mobile-candidate-open > .discovery-filter-bar {
    display: none;
  }

  .discovery-candidate-list {
    border-right: 0;
  }

  .discovery-list-scroll {
    max-height: none;
  }

  .discovery-queue:not(.mobile-detail-open) .discovery-candidate-detail,
  .discovery-queue.mobile-detail-open .discovery-candidate-list {
    display: none;
  }

  .discovery-candidate-detail {
    padding: 16px;
  }

  .discovery-mobile-back {
    display: inline-flex;
    margin-bottom: 14px;
  }

  .discovery-detail-heading {
    grid-template-columns: minmax(0, 1fr) 88px;
    gap: 12px;
  }

  .discovery-detail-heading h3 {
    font-size: 1.16rem;
  }

  .discovery-score-block {
    padding: 10px 7px;
  }

  .discovery-score-block strong {
    font-size: 1.55rem;
  }

  .discovery-fact-grid,
  .discovery-score-breakdown {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .discovery-section-title,
  .discovery-intro-band,
  .discovery-settings-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .discovery-source-facts {
    align-items: flex-start;
    flex-direction: column;
  }

  .discovery-source-actions {
    grid-column: 1;
    justify-content: stretch;
  }

  .discovery-source-actions button,
  .discovery-review-actions button,
  .discovery-form-actions button,
  .discovery-settings-footer button {
    width: 100%;
  }

  .discovery-run-row {
    grid-template-columns: 1fr;
    padding: 16px;
  }
}

@media (max-width: 430px) {
  .discovery-metrics {
    grid-template-columns: 1fr;
  }

  .discovery-metrics > div {
    border-right: 0;
    border-bottom: 1px solid #d4ddd8;
  }

  .discovery-metrics > div:last-child {
    border-bottom: 0;
  }

  .discovery-candidate-row {
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 14px 12px;
  }

  .discovery-score {
    width: 40px;
    height: 40px;
  }

  .discovery-row-heading,
  .discovery-row-meta {
    align-items: flex-start;
    flex-direction: column;
  }

  .discovery-detail-heading {
    grid-template-columns: 1fr;
  }

  .discovery-score-block {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 10px;
    text-align: left;
  }

  .discovery-score-block strong {
    margin: 0;
  }
}
