/* Editors, operational forms, logs, and the mobile record-table adaptation. */
@layer admin-content {
  .admin-tab-content,
  .admin-section {
    min-inline-size: 0;
  }

  .admin-section {
    display: grid;
    gap: var(--c19-space-5);
  }

  /* These links navigate between pages, so aria-current replaces tab-widget ARIA. */
  .admin-section-nav .c19-tabs__list {
    /* overflow-x: auto otherwise computes the vertical axis to auto as well. */
    overflow-y: hidden;
    scrollbar-width: none;
  }

  .admin-section-nav .c19-tabs__list::-webkit-scrollbar {
    display: none;
  }

  .admin-section-nav .c19-tabs__tab {
    text-decoration: none;
  }

  .admin-section-nav .c19-tabs__tab[aria-current="page"] {
    color: var(--c19-ink);
  }

  .admin-section-nav .c19-tabs__tab[aria-current="page"]::after {
    transform: scaleX(1);
  }

  /* Record titles are table navigation, not inline editorial links. */
  .admin-record-table td > a:not(.c19-button),
  .admin-queue a {
    color: inherit;
    text-decoration: none;
  }

  /* Standalone lists need separation; gridded sections already use their gap. */
  .admin-tab-content > .c19-pagination {
    margin-block-start: var(--c19-space-4);
  }

  .admin-editor form,
  .admin-form,
  .admin-backup-form,
  .admin-embedding-form {
    display: grid;
    gap: var(--c19-space-4);
  }

  .admin-backup-form {
    justify-items: start;
  }

  /* Long-form article copy needs a writing surface; other editor fields keep their row-based height. */
  .admin-article-content {
    min-block-size: min(56vh, 38rem);
  }

  .admin-date-selects,
  .admin-form-actions,
  .admin-embedding-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--c19-space-2);
    align-items: end;
  }

  .admin-date-selects .c19-field__label {
    flex-basis: 100%;
  }

  .admin-date-selects .c19-select {
    inline-size: auto;
    min-inline-size: 7rem;
  }

  .admin-embedding-actions {
    padding: var(--c19-space-4);
    border: var(--c19-line) solid var(--c19-border);
    background: var(--c19-surface-raised);
  }

  .admin-embedding-form {
    flex: 1 1 30rem;
    grid-template-columns: minmax(12rem, 1fr) auto;
  }

  .admin-embedding-form .c19-field__label {
    grid-column: 1 / -1;
  }

  .admin-data-table {
    min-inline-size: 72rem;
  }

  .admin-backup-log-list {
    display: grid;
    gap: var(--c19-space-2);
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .admin-backup-log-entry {
    display: grid;
    grid-template-columns: minmax(10rem, auto) minmax(0, 1fr);
    gap: var(--c19-space-3);
    border-inline-start: var(--c19-line-strong) solid var(--c19-border-strong);
    padding-inline-start: var(--c19-space-3);
    font-family: var(--c19-font-mono);
    font-size: var(--c19-text-sm);
  }

  .admin-backup-log-entry--error {
    border-color: var(--c19-signal-red);
  }

  /* SEO panels frame their own tables and accordions. */
  .admin-seo .c19-panel > .c19-table-wrap,
  #seo-report .c19-panel__body > .c19-table-wrap {
    border: 0;
    border-radius: 0;
  }

  .admin-seo .c19-panel > .c19-accordion:last-child {
    border-block-end: 0;
  }

  .seo-overview {
    align-items: start;
  }

  .seo-score {
    display: grid;
    gap: var(--c19-space-1);
  }

  .seo-profiles dd {
    display: flex;
    gap: var(--c19-space-3);
  }

  .seo-result--confirmed td {
    background: color-mix(in srgb, var(--c19-biological-green) 8%, transparent);
  }

  .seo-dropped {
    display: grid;
    gap: var(--c19-space-2);
    margin-block: var(--c19-space-2) 0;
    padding-inline-start: var(--c19-space-4);
  }

  @media (max-width: 44rem) {
    /* Record lists become labelled cards; diagnostic tables keep Cargo scrolling. */
    .admin-record-table thead {
      position: absolute;
      inline-size: 1px;
      block-size: 1px;
      overflow: hidden;
      clip-path: inset(50%);
    }

    .admin-record-table,
    .admin-record-table tbody,
    .admin-record-table tr,
    .admin-record-table td {
      display: block;
      inline-size: 100%;
    }

    .admin-record-table tbody {
      display: grid;
      gap: var(--c19-space-3);
      padding: var(--c19-space-3);
    }

    .admin-record-table tbody tr {
      border: var(--c19-line) solid var(--c19-border);
      background: var(--c19-surface-raised);
      padding: var(--c19-space-2) var(--c19-space-3);
    }

    .admin-record-table td {
      display: grid;
      grid-template-columns: minmax(7rem, 35%) minmax(0, 1fr);
      gap: var(--c19-space-2);
      border: 0;
      overflow-wrap: anywhere;
    }

    .admin-record-table td::before {
      color: var(--c19-ink-muted);
      content: attr(data-label);
      font-family: var(--c19-font-label);
      font-size: var(--c19-text-xs);
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .admin-record-table .c19-status {
      justify-self: start;
    }

    .admin-record-table tfoot,
    .admin-record-table tfoot tr,
    .admin-record-table tfoot th {
      display: block;
      inline-size: 100%;
    }

    .admin-record-table .c19-button {
      min-block-size: var(--c19-control-height);
    }

    .admin-embedding-actions,
    .admin-embedding-form {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      align-items: stretch;
    }

    .admin-embedding-form .c19-field__label {
      grid-column: auto;
    }

    .admin-backup-log-entry {
      grid-template-columns: minmax(0, 1fr);
      gap: var(--c19-space-1);
    }
  }

  @media (max-width: 34rem) {
    .admin-form-actions,
    .admin-form-actions > *,
    .admin-date-selects .c19-select {
      inline-size: 100%;
    }

    .admin-record-table td {
      grid-template-columns: minmax(0, 1fr);
      gap: var(--c19-space-1);
    }
  }
}
