/* Private full-catalog browser. Source evidence stays visually distinct from public archive context. */

.media-desk {
  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);
}

.media-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(24rem, auto);
  padding-block-end: var(--ok-space-8);
}

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

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

.media-header .curation-nav {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.media-header .curation-nav a {
  border: var(--ok-rule) solid var(--color-rule);
  margin-block-start: calc(var(--ok-rule) * -1);
  margin-inline-start: calc(var(--ok-rule) * -1);
}

.media-header--detail {
  grid-template-columns: minmax(0, 1fr) minmax(17rem, auto);
}

.media-detail-nav {
  align-content: end;
  display: grid;
}

.media-detail-nav a {
  border-block-end: var(--ok-rule) solid var(--color-rule);
  font-size: var(--text-metadata);
  padding: var(--ok-space-2);
  text-decoration: none;
  text-transform: uppercase;
}

.media-filter-panel,
.media-results,
.media-register {
  margin-block-start: var(--ok-space-10);
}

.media-filter-panel > header,
.media-results > header,
.media-register > header,
.media-detail 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);
}

.media-filter-panel h2,
.media-results > header h2,
.media-register > header h2,
.media-detail section > header h2 {
  font-size: var(--text-lead);
  margin: 0;
  text-transform: uppercase;
}

.media-filter-panel header p,
.media-results > header > p {
  color: var(--color-text-muted);
  font-size: var(--text-metadata);
  margin: 0;
  text-transform: uppercase;
}

.media-filter-panel .meta,
.media-results .meta,
.media-register .meta,
.media-detail .meta {
  margin: 0 0 var(--ok-space-1);
}

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

.media-filters__search {
  grid-column: span 2;
}

.media-filters__actions {
  align-items: end;
  display: flex;
  gap: var(--ok-space-2);
}

.media-contact-sheet {
  border-block-start: var(--ok-rule) solid var(--color-rule);
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.media-card {
  border-block-end: var(--ok-rule) solid var(--color-rule);
  border-inline-end: var(--ok-rule) solid var(--color-rule);
  min-inline-size: 0;
}

.media-card:nth-child(6n + 1) {
  border-inline-start: var(--ok-rule) solid var(--color-rule);
}

.media-card__link {
  display: block;
  min-block-size: 100%;
  text-decoration: none;
}

.media-card__link:hover {
  background: var(--color-surface-active);
  color: var(--color-text);
}

.media-card__frame {
  aspect-ratio: 1;
  background: var(--color-surface);
  border-block-end: var(--ok-rule) solid var(--color-rule);
  overflow: hidden;
  position: relative;
}

.media-card__frame img {
  block-size: 100%;
  inline-size: 100%;
  object-fit: cover;
  transition: transform var(--ok-motion-duration) ease;
}

.media-card__link:hover .media-card__frame img {
  transform: translateY(calc(var(--ok-motion-distance) * -1));
}

.media-card__missing,
.media-preview-missing {
  align-items: center;
  block-size: 100%;
  color: var(--color-text-muted);
  display: flex;
  font-size: var(--text-metadata);
  justify-content: center;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.media-card__missing::before,
.media-preview-missing::before {
  border-block: var(--ok-rule) solid var(--color-rule);
  content: "";
  inline-size: var(--ok-space-8);
  margin-inline-end: var(--ok-space-3);
}

.media-card__index {
  background: var(--color-page);
  border-block-start: var(--ok-rule) solid var(--color-rule-strong);
  border-inline-end: var(--ok-rule) solid var(--color-rule-strong);
  color: var(--color-action);
  font-size: var(--text-metadata);
  inset-block-end: 0;
  inset-inline-start: 0;
  padding: var(--ok-space-1) var(--ok-space-2);
  position: absolute;
}

.media-card__body {
  padding: var(--ok-space-3);
}

.media-card__body h2 {
  font-size: var(--text-admin);
  line-height: var(--line-heading);
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.media-card__body > p {
  color: var(--color-text-muted);
  font-size: var(--text-metadata);
  margin: var(--ok-space-2) 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.media-badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ok-space-1);
  list-style: none;
  margin: 0;
  padding: 0;
}

.media-badges li,
.media-chip {
  border: var(--ok-rule) solid var(--color-rule-strong);
  color: var(--color-text-muted);
  font-size: var(--text-metadata);
  line-height: var(--line-tight);
  padding: var(--ok-space-1);
  text-transform: uppercase;
}

.media-badges li:last-child {
  border-color: var(--color-provenance);
  color: var(--color-provenance);
}

.media-pagination {
  align-items: center;
  border-block-end: var(--ok-rule) solid var(--color-rule-strong);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  min-block-size: var(--ok-space-16);
}

.media-pagination a,
.media-pagination span,
.media-pagination strong {
  font-size: var(--text-metadata);
  padding: var(--ok-space-3);
  text-transform: uppercase;
}

.media-pagination a:last-child,
.media-pagination span:last-child {
  text-align: end;
}

.media-pagination span {
  color: var(--color-text-muted);
}

.media-empty {
  border-block-end: var(--ok-rule) solid var(--color-rule-strong);
  min-block-size: 18rem;
  padding-block: var(--ok-space-16);
}

.media-empty h2 {
  font-size: var(--text-title);
  margin: var(--ok-space-2) 0;
  text-transform: uppercase;
}

.media-empty > p:last-child,
.media-inline-empty {
  color: var(--color-text-muted);
}

.media-detail {
  border-block-end: var(--ok-rule) solid var(--color-rule-strong);
  display: grid;
  gap: var(--ok-space-8);
  grid-template-columns: minmax(0, 1.25fr) minmax(20rem, 0.75fr);
  padding-block: var(--ok-space-8);
}

.media-detail__visual,
.media-detail__facts {
  min-inline-size: 0;
}

.media-detail__visual > img,
.media-preview-missing {
  background: var(--color-surface);
  block-size: min(60vh, 44rem);
  inline-size: 100%;
  object-fit: contain;
}

.media-detail__visual > p {
  color: var(--color-text-muted);
  font-size: var(--text-metadata);
  margin: var(--ok-space-2) 0 0;
  text-transform: uppercase;
}

.media-definition {
  margin: 0;
}

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

.media-definition dt,
.collection-dossier dt,
.collection-register dt {
  color: var(--color-text-muted);
  font-size: var(--text-metadata);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.media-definition dd,
.collection-dossier dd,
.collection-register dd {
  margin: 0;
  min-inline-size: 0;
  overflow-wrap: anywhere;
}

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

.media-table {
  border-collapse: collapse;
  inline-size: 100%;
  min-inline-size: 64rem;
}

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

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

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

.media-record-list,
.collection-register {
  list-style: none;
  margin: 0;
  padding: 0;
}

.media-record-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: 7rem minmax(0, 1fr) auto;
  min-block-size: var(--ok-control-height);
}

.media-record-list li > span,
.media-record-list li > small {
  color: var(--color-text-muted);
  font-size: var(--text-metadata);
  text-transform: uppercase;
}

.media-record-list li > small {
  text-align: end;
}

.media-record-list--evidence li {
  grid-template-columns: 10rem minmax(0, 1fr) 7rem;
}

.media-evidence {
  border-block-end: var(--ok-rule) solid var(--color-rule);
}

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

.media-evidence 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: 28rem;
  overflow: auto;
  padding: var(--ok-space-4);
  white-space: pre-wrap;
}

.collection-register > li {
  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(0, 1fr) minmax(12rem, auto) auto;
  min-block-size: var(--ok-space-20);
}

.collection-register__index {
  color: var(--color-action);
  font-weight: 700;
}

.collection-register h2 {
  font-size: var(--text-body);
  margin: 0;
}

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

.collection-register dl {
  display: flex;
  gap: var(--ok-space-6);
  margin: 0;
}

.collection-register dl > div {
  min-inline-size: 5rem;
}

.collection-register dd {
  font-size: var(--text-lead);
  font-weight: 700;
}

.collection-register__actions {
  display: grid;
  gap: var(--ok-space-1);
  min-inline-size: 11rem;
}

.collection-register__actions .button {
  inline-size: 100%;
}

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

.collection-dossier > div,
.media-dashboard-totals > div {
  min-inline-size: 0;
  padding: var(--ok-space-5);
}

.collection-dossier > div + div,
.media-dashboard-totals > div + div {
  border-inline-start: var(--ok-rule) solid var(--color-rule);
}

.collection-dossier dd,
.media-dashboard-totals dd {
  font-size: var(--text-lead);
  font-weight: 700;
  margin-block-start: var(--ok-space-2);
  overflow-wrap: anywhere;
}

.media-dashboard-totals dt {
  color: var(--color-text-muted);
  font-size: var(--text-metadata);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.media-dashboard-totals dd {
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  line-height: var(--line-tight);
  margin-inline-start: 0;
}

@media (max-width: 72rem) {
  .media-contact-sheet {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .media-card:nth-child(6n + 1) {
    border-inline-start: 0;
  }

  .media-card:nth-child(4n + 1) {
    border-inline-start: var(--ok-rule) solid var(--color-rule);
  }

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

  .collection-dossier,
  .media-dashboard-totals {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .collection-dossier > div:nth-child(4),
  .media-dashboard-totals > div:nth-child(4) {
    border-inline-start: 0;
  }

  .collection-dossier > div:nth-child(n + 4),
  .media-dashboard-totals > div:nth-child(n + 4) {
    border-block-start: var(--ok-rule) solid var(--color-rule);
  }
}

@media (max-width: 52rem) {
  .media-header,
  .media-header--detail,
  .media-detail,
  .media-columns {
    grid-template-columns: 1fr;
  }

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

  .media-contact-sheet {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .media-card:nth-child(4n + 1) {
    border-inline-start: 0;
  }

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

  .collection-register > li {
    align-items: start;
    grid-template-columns: 3rem minmax(0, 1fr) auto;
    padding-block: var(--ok-space-4);
  }

  .collection-register dl {
    grid-column: 2 / -1;
  }

  .collection-register__actions {
    grid-column: 3;
    grid-row: 1;
  }
}

@media (max-width: 34rem) {
  .media-desk {
    padding-inline: var(--ok-space-4);
  }

  .media-filter-panel > header,
  .media-results > header {
    align-items: start;
    display: grid;
    grid-template-columns: 1fr;
  }

  .media-header .curation-nav,
  .media-filters {
    grid-template-columns: 1fr;
  }

  .media-filters__search {
    grid-column: auto;
  }

  .media-filters__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .media-contact-sheet {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .media-card:nth-child(3n + 1) {
    border-inline-start: 0;
  }

  .media-card:nth-child(2n + 1) {
    border-inline-start: var(--ok-rule) solid var(--color-rule);
  }

  .media-card__body {
    padding: var(--ok-space-2);
  }

  .media-card__body h2 {
    font-size: var(--text-metadata);
  }

  .media-card__body > p {
    display: none;
  }

  .media-badges li:nth-child(n + 3) {
    display: none;
  }

  .media-pagination {
    grid-template-columns: repeat(2, 1fr);
  }

  .media-pagination strong {
    grid-column: 1 / -1;
    grid-row: 1;
    text-align: center;
  }

  .media-pagination a,
  .media-pagination span {
    grid-row: 2;
  }

  .collection-dossier,
  .media-dashboard-totals {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .collection-dossier > div:nth-child(n),
  .media-dashboard-totals > div:nth-child(n) {
    border-block-start: var(--ok-rule) solid var(--color-rule);
    border-inline-start: 0;
  }

  .collection-dossier > div:nth-child(even),
  .media-dashboard-totals > div:nth-child(even) {
    border-inline-start: var(--ok-rule) solid var(--color-rule);
  }

  .media-definition > div,
  .media-record-list li,
  .media-record-list--evidence li {
    gap: var(--ok-space-1);
    grid-template-columns: 1fr;
  }

  .media-record-list li {
    padding-block: var(--ok-space-2);
  }

  .media-record-list li > small {
    text-align: start;
  }

  .collection-register > li {
    grid-template-columns: 2.5rem minmax(0, 1fr);
  }

  .collection-register__actions {
    grid-column: 2;
    grid-row: auto;
  }

  .collection-register dl {
    grid-column: 2;
  }
}
