/* Task-oriented curation surfaces: queue, evidence comparison, and decisions. */

.curation-shell {
  margin-inline: auto;
  max-inline-size: var(--page-width);
  padding: var(--ok-space-6) clamp(var(--ok-space-4), 4vw, var(--ok-space-12)) var(--ok-space-20);
}

.curation-header {
  align-items: end;
  border-block-end: var(--ok-rule) solid var(--color-rule-strong);
  display: grid;
  gap: var(--ok-space-8);
  grid-template-columns: minmax(0, 1fr) minmax(18rem, auto);
  padding-block-end: var(--ok-space-8);
}

.curation-header h1 {
  font-size: var(--text-title);
  letter-spacing: var(--tracking-display);
  line-height: var(--line-heading);
  margin: var(--ok-space-3) 0;
  text-transform: uppercase;
}

.curation-header > div > p:last-child {
  color: var(--color-text-muted);
  margin: 0;
  max-inline-size: var(--measure);
}

.capture-review-shell {
  margin-inline: auto;
  max-inline-size: var(--page-width);
  padding: var(--ok-space-6) clamp(var(--ok-space-4), 4vw, var(--ok-space-12)) var(--ok-space-20);
}

.capture-review-header,
.capture-review-nav,
.capture-review-grid,
.capture-review-ledger dl,
.capture-review-moments li {
  display: grid;
  gap: var(--ok-space-4);
}

.capture-review-header {
  align-items: end;
  border-block-end: var(--ok-rule) solid var(--color-rule-strong);
  grid-template-columns: minmax(0, 1fr) auto;
  padding-block-end: var(--ok-space-8);
}

.capture-review-header h1 {
  font-size: var(--text-title);
  letter-spacing: var(--tracking-display);
  line-height: var(--line-heading);
  margin: 0;
  text-transform: uppercase;
}

.capture-review-header > div > p:last-child,
.capture-review-boundary,
.capture-review-checklist > p,
.capture-review-decision > p {
  color: var(--color-text-muted);
  margin-block: var(--ok-space-2) 0;
  max-inline-size: var(--measure);
}

.capture-review-nav {
  grid-auto-flow: column;
}

.capture-review-ledger {
  border-block-end: var(--ok-rule) solid var(--color-rule);
  padding-block: var(--ok-space-5);
}

.capture-review-ledger dl {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
}

.capture-review-ledger dt,
.capture-review-fields dt {
  color: var(--color-text-muted);
  font-size: var(--text-caption);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.capture-review-ledger dd,
.capture-review-fields dd {
  margin: var(--ok-space-1) 0 0;
  overflow-wrap: anywhere;
}

.capture-review-grid {
  grid-template-columns: minmax(0, 1.5fr) minmax(16rem, .75fr);
  margin-block-start: var(--ok-space-8);
}

.capture-review-grid > section,
.capture-review-grid > aside,
.capture-review-decision,
.capture-review-notice {
  border: var(--ok-rule) solid var(--color-rule-strong);
  padding: var(--ok-space-5);
}

.capture-review-grid header h2,
.capture-review-decision h2,
.capture-review-notice h2 {
  font-size: var(--text-lead);
  letter-spacing: var(--tracking-display);
  margin: 0;
  text-transform: uppercase;
}

.capture-review-grid header .meta,
.capture-review-decision header .meta {
  margin: 0 0 var(--ok-space-1);
}

.capture-review-media img {
  display: block;
  margin-block: var(--ok-space-4);
  max-inline-size: 100%;
}

.capture-review-video {
  background: var(--color-surface-muted);
  display: block;
  margin-block: var(--ok-space-4);
  max-block-size: 42rem;
  max-inline-size: 100%;
  width: 100%;
}

.capture-review-missing {
  align-content: center;
  background: var(--color-surface-muted);
  border: var(--ok-rule) dashed var(--color-rule);
  color: var(--color-text-muted);
  min-block-size: 12rem;
  padding: var(--ok-space-4);
}

.capture-review-checklist {
  background: var(--color-surface-muted);
}

.capture-review-checklist ol {
  margin: var(--ok-space-4) 0 0;
  padding-inline-start: 1.4rem;
}

.capture-review-checklist li + li {
  margin-block-start: var(--ok-space-2);
}

.capture-review-assertion,
.capture-review-transcript {
  grid-column: 1 / -1;
}

.capture-review-narrative {
  font-size: var(--text-lead);
  line-height: var(--line-body);
  max-inline-size: 62ch;
}

.capture-review-moments,
.capture-review-fields {
  margin: var(--ok-space-4) 0 0;
}

.capture-review-moments {
  list-style: none;
  padding: 0;
}

.capture-review-moments li {
  border-block-start: var(--ok-rule) solid var(--color-rule);
  grid-template-columns: 5rem minmax(0, 1fr);
  padding-block: var(--ok-space-2);
}

.capture-review-moments time {
  color: var(--color-accent);
  font-family: var(--font-mono);
}

.capture-review-fields > div + div {
  border-block-start: var(--ok-rule) solid var(--color-rule);
  margin-block-start: var(--ok-space-3);
  padding-block-start: var(--ok-space-3);
}

.capture-review-transcript p {
  white-space: pre-wrap;
}

.capture-review-transcript small {
  color: var(--color-text-muted);
}

.capture-review-decision,
.capture-review-notice {
  margin-block-start: var(--ok-space-8);
}

.capture-review-empty {
  color: var(--color-text-muted);
}

.capture-review-link {
  font-size: var(--text-caption);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.curation-nav {
  align-content: start;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.curation-nav a {
  border: var(--ok-rule) solid var(--color-rule);
  font-size: var(--text-metadata);
  letter-spacing: var(--tracking-label);
  margin-block-start: calc(var(--ok-rule) * -1);
  margin-inline-start: calc(var(--ok-rule) * -1);
  padding: var(--ok-space-2);
  text-decoration: none;
  text-transform: uppercase;
}

.curation-totals {
  border-block-end: var(--ok-rule) solid var(--color-rule-strong);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}

.curation-totals > div {
  min-inline-size: 0;
  padding: var(--ok-space-5);
}

.curation-totals > div + div {
  border-inline-start: var(--ok-rule) solid var(--color-rule);
}

.curation-totals dt,
.curation-inbox dt,
.curation-source dt,
.curation-definition dt {
  color: var(--color-text-muted);
  font-size: var(--text-metadata);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.curation-totals dd {
  font-size: clamp(1.75rem, 4vw, 3rem);
  font-weight: 700;
  line-height: var(--line-tight);
  margin: var(--ok-space-2) 0;
}

.curation-totals a,
.curation-totals span {
  color: var(--color-text-muted);
  font-size: var(--text-metadata);
  text-transform: uppercase;
}

.curation-section {
  margin-block-start: var(--ok-space-10);
}

.curation-section__header,
.curation-pane > header,
.curation-record-form section > header {
  align-items: end;
  border-block-end: var(--ok-rule) solid var(--color-rule-strong);
  display: flex;
  gap: var(--ok-space-6);
  justify-content: space-between;
  padding-block-end: var(--ok-space-3);
}

.curation-section__header h2,
.curation-pane > header h2,
.curation-record-form section > header h2 {
  font-size: var(--text-lead);
  margin: 0;
  text-transform: uppercase;
}

.curation-section__header .meta,
.curation-pane > header .meta,
.curation-record-form section > header .meta {
  margin: 0 0 var(--ok-space-1);
}

.curation-table-wrap {
  overflow-x: auto;
}

.curation-table {
  border-collapse: collapse;
  inline-size: 100%;
  min-inline-size: 48rem;
}

.curation-table th,
.curation-table td {
  border-block-end: var(--ok-rule) solid var(--color-rule);
  padding: var(--ok-space-3);
  text-align: start;
}

.curation-table thead th {
  color: var(--color-text-muted);
  font-size: var(--text-metadata);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.curation-table tbody th {
  font-weight: 700;
}

.curation-status {
  border: var(--ok-rule) solid var(--color-rule-strong);
  display: inline-block;
  font-size: var(--text-metadata);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  padding: var(--ok-space-1) var(--ok-space-2);
  text-transform: uppercase;
}

.curation-status--reviewed,
.curation-status--confirmed,
.curation-status--published,
.curation-status--accepted,
.curation-status--checked {
  border-color: var(--color-confirmed);
  color: var(--color-confirmed);
}

.curation-status--partial,
.curation-status--candidate,
.curation-status--unmapped,
.curation-status--declined,
.curation-status--contested {
  border-color: var(--color-action);
  color: var(--color-action);
}

.curation-status--conflict,
.curation-status--rejected,
.curation-status--missing {
  border-color: var(--color-conflict);
  color: var(--color-conflict);
}

.curation-status--neutral,
.curation-status--asserted,
.curation-status--suspended,
.curation-status--superseded,
.curation-status--planned {
  border-color: var(--color-rule-strong);
  color: var(--color-text-muted);
}

.curation-columns {
  display: grid;
  gap: var(--ok-space-8);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.curation-list,
.curation-inbox,
.curation-decisions {
  list-style: none;
  margin: 0;
  padding: 0;
}

.curation-list li {
  align-items: center;
  border-block-end: var(--ok-rule) solid var(--color-rule);
  display: grid;
  gap: var(--ok-space-3);
  grid-template-columns: 3rem minmax(0, 1fr) auto;
  min-block-size: var(--ok-space-16);
}

.curation-list__index {
  color: var(--color-action);
  font-size: var(--text-metadata);
  font-weight: 700;
}

.curation-list p {
  font-weight: 700;
  margin: 0;
}

.curation-list div span {
  color: var(--color-text-muted);
  font-size: var(--text-metadata);
  text-transform: uppercase;
}

.curation-record-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.curation-record {
  border-block-end: var(--ok-rule) solid var(--color-rule);
  min-block-size: 9rem;
  padding: var(--ok-space-4);
  text-decoration: none;
}

.curation-record:not(:nth-child(3n + 1)) {
  border-inline-start: var(--ok-rule) solid var(--color-rule);
}

.curation-record span,
.curation-record small {
  color: var(--color-text-muted);
  display: block;
  font-size: var(--text-metadata);
  text-transform: uppercase;
}

.curation-record strong {
  display: block;
  margin-block: var(--ok-space-3);
}

.curation-filters {
  align-items: end;
  border-block-end: var(--ok-rule) solid var(--color-rule-strong);
  display: grid;
  gap: var(--ok-space-3);
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
  padding-block: var(--ok-space-5);
}

.curation-inbox__item {
  align-items: center;
  border-block-end: var(--ok-rule) solid var(--color-rule-strong);
  display: grid;
  gap: var(--ok-space-5);
  grid-template-columns: 4rem minmax(16rem, 1fr) minmax(11rem, 0.35fr) auto;
  padding-block: var(--ok-space-5);
}

.curation-inbox__item--error {
  border-inline-start: var(--ok-space-1) solid var(--color-conflict);
  padding-inline-start: var(--ok-space-4);
}

.curation-inbox__index {
  color: var(--color-action);
  font-weight: 700;
}

.curation-inbox__code {
  color: var(--color-text-muted);
  font-size: var(--text-metadata);
  margin: 0 0 var(--ok-space-1);
  text-transform: uppercase;
}

.curation-inbox h3 {
  font-size: var(--text-body);
  margin: 0;
}

.curation-inbox h3 + p {
  color: var(--color-text-muted);
  margin: var(--ok-space-1) 0 0;
}

.curation-inbox dl {
  margin: 0;
}

.curation-inbox dl > div {
  display: grid;
  gap: var(--ok-space-2);
  grid-template-columns: 5rem minmax(0, 1fr);
}

.curation-inbox dd,
.curation-source dd,
.curation-definition dd {
  margin: 0;
}

.curation-split {
  border-block-end: var(--ok-rule) solid var(--color-rule-strong);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.curation-pane {
  min-inline-size: 0;
  padding-block: var(--ok-space-8);
}

.curation-pane--evidence {
  border-inline-end: var(--ok-rule) solid var(--color-rule-strong);
  padding-inline-end: var(--ok-space-6);
}

.curation-pane--target {
  padding-inline-start: var(--ok-space-6);
}

.curation-source {
  border-block-end: var(--ok-rule) solid var(--color-rule);
  padding-block: var(--ok-space-5);
}

.curation-source > header {
  align-items: start;
  display: flex;
  gap: var(--ok-space-4);
  justify-content: space-between;
}

.curation-source > header p {
  color: var(--color-provenance);
  font-size: var(--text-metadata);
  margin: 0;
  text-transform: uppercase;
}

.curation-source h3 {
  font-size: var(--text-admin);
  margin: var(--ok-space-1) 0 0;
  overflow-wrap: anywhere;
}

.curation-source dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: var(--ok-space-4) 0;
}

.curation-source dl > div {
  border-inline-start: var(--ok-rule) solid var(--color-rule);
  padding-inline-start: var(--ok-space-3);
}

.curation-source details {
  border: var(--ok-rule) solid var(--color-rule);
}

.curation-source summary {
  cursor: pointer;
  font-size: var(--text-metadata);
  font-weight: 700;
  padding: var(--ok-space-3);
  text-transform: uppercase;
}

.curation-source pre {
  background: var(--color-surface);
  border-block-start: var(--ok-rule) solid var(--color-rule);
  font-size: var(--text-metadata);
  margin: 0;
  max-block-size: 24rem;
  overflow: auto;
  padding: var(--ok-space-4);
  white-space: pre-wrap;
}

.curation-mappings article {
  border-block-end: var(--ok-rule) solid var(--color-rule);
  padding-block: var(--ok-space-5);
}

.curation-mappings h3 {
  margin: var(--ok-space-3) 0;
}

.curation-mappings h3 + p {
  color: var(--color-text-muted);
}

.curation-decision-form {
  border-block: var(--ok-rule) solid var(--color-rule-strong);
  margin-block-start: var(--ok-space-8);
  padding-block: var(--ok-space-5);
}

.curation-decision-form > div {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ok-space-2);
  margin-block-start: var(--ok-space-4);
}

.curation-closed {
  border: var(--ok-rule) solid var(--color-confirmed);
  color: var(--color-confirmed);
  margin-block-start: var(--ok-space-8);
  padding: var(--ok-space-4);
  text-transform: uppercase;
}

.curation-decisions li {
  border-block-end: var(--ok-rule) solid var(--color-rule);
  display: grid;
  gap: var(--ok-space-4);
  grid-template-columns: minmax(12rem, 0.4fr) minmax(10rem, 0.3fr) minmax(0, 1fr);
  padding-block: var(--ok-space-3);
}

.curation-decisions time,
.curation-decisions strong {
  font-size: var(--text-metadata);
  text-transform: uppercase;
}

.curation-decisions time {
  color: var(--color-text-muted);
}

.curation-decisions p {
  margin: 0;
}

.curation-definition {
  margin: 0;
}

.curation-definition > div {
  border-block-end: var(--ok-rule) solid var(--color-rule);
  display: grid;
  gap: var(--ok-space-4);
  grid-template-columns: 10rem minmax(0, 1fr);
  padding-block: var(--ok-space-3);
}

.curation-record-form {
  display: grid;
  gap: var(--ok-space-8);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-block-start: var(--ok-space-8);
}

.curation-record-form section {
  border: var(--ok-rule) solid var(--color-rule-strong);
  min-inline-size: 0;
  padding: var(--ok-space-5);
}

.curation-field {
  margin-block-start: var(--ok-space-5);
}

.curation-record-form input[type="checkbox"] {
  accent-color: var(--color-action);
  block-size: var(--ok-control-height);
  inline-size: var(--ok-control-height);
}

.curation-coverage-form {
  display: grid;
  gap: var(--ok-space-5);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-block-start: var(--ok-space-8);
}

.curation-field--wide,
.curation-evidence-picker,
.curation-coverage-form > input[type="submit"] {
  grid-column: 1 / -1;
}

.curation-evidence-picker {
  border: var(--ok-rule) solid var(--color-rule-strong);
  margin: 0;
  max-block-size: 28rem;
  overflow-y: auto;
  padding: 0;
}

.curation-evidence-picker legend {
  font-size: var(--text-metadata);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  padding-inline: var(--ok-space-2);
  text-transform: uppercase;
}

.curation-evidence-picker label {
  align-items: center;
  border-block-end: var(--ok-rule) solid var(--color-rule);
  display: grid;
  gap: var(--ok-space-3);
  grid-template-columns: var(--ok-control-height) minmax(0, 1fr);
  margin: 0;
  padding: var(--ok-space-2) var(--ok-space-3);
  text-transform: none;
}

.curation-evidence-picker input {
  accent-color: var(--color-action);
  block-size: var(--ok-control-height);
  inline-size: var(--ok-control-height);
  margin: 0;
}

.curation-evidence-picker strong,
.curation-evidence-picker small {
  display: block;
}

.curation-evidence-picker small {
  color: var(--color-text-muted);
  font-size: var(--text-metadata);
  margin-block-start: var(--ok-space-1);
}

.curation-errors {
  border: var(--ok-rule) solid var(--color-conflict);
  margin-block-start: var(--ok-space-6);
  padding: var(--ok-space-4);
}

.curation-errors ul {
  margin-block-end: 0;
}

.curation-empty {
  border-block-end: var(--ok-rule) solid var(--color-rule);
  color: var(--color-text-muted);
  margin: 0;
  padding-block: var(--ok-space-6);
}

@media (max-width: 60rem) {
  .capture-review-header,
  .capture-review-grid,
  .capture-review-ledger dl {
    grid-template-columns: 1fr;
  }

  .capture-review-nav {
    grid-auto-flow: row;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .curation-header,
  .curation-columns,
  .curation-split,
  .curation-record-form {
    grid-template-columns: 1fr;
  }

  .curation-pane--evidence {
    border-block-end: var(--ok-rule) solid var(--color-rule-strong);
    border-inline-end: 0;
    padding-inline-end: 0;
  }

  .curation-pane--target {
    padding-inline-start: 0;
  }

  .curation-record-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .curation-record:not(:nth-child(3n + 1)) {
    border-inline-start: 0;
  }

  .curation-record:nth-child(even) {
    border-inline-start: var(--ok-rule) solid var(--color-rule);
  }

  .curation-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .curation-filters input[type="submit"] {
    grid-column: 1 / -1;
  }

  .curation-inbox__item {
    align-items: start;
    grid-template-columns: 3rem minmax(0, 1fr);
  }

  .curation-inbox__item dl,
  .curation-inbox__item > a {
    grid-column: 2;
  }

  .curation-coverage-form {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 40rem) {
  .capture-review-shell {
    padding-inline: var(--ok-space-4);
  }

  .capture-review-nav {
    grid-template-columns: 1fr;
  }

  .curation-shell {
    padding-inline: var(--ok-space-4);
  }

  .curation-totals {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .curation-totals > div:nth-child(odd) {
    border-inline-start: 0;
  }

  .curation-totals > div:nth-child(n + 3) {
    border-block-start: var(--ok-rule) solid var(--color-rule);
  }

  .curation-record-grid,
  .curation-filters {
    display: block;
  }

  .curation-filters > div,
  .curation-filters input[type="submit"] {
    margin-block-end: var(--ok-space-3);
    inline-size: 100%;
  }

  .curation-record,
  .curation-record:nth-child(n) {
    border-inline-start: 0;
  }

  .curation-source dl {
    grid-template-columns: 1fr;
  }

  .curation-source dl > div {
    border-block-start: var(--ok-rule) solid var(--color-rule);
    border-inline-start: 0;
    padding-block: var(--ok-space-2);
    padding-inline-start: 0;
  }

  .curation-decisions li,
  .curation-definition > div {
    gap: var(--ok-space-1);
    grid-template-columns: 1fr;
  }
}
