/* Layout only; uses the existing shared catalog, form and dialog components. */
.admin-screen { max-width: 1360px; margin-inline: auto; padding: 20px 16px 112px; display: grid; gap: 24px; align-content: start; min-height: 100%; }
.admin-screen .title-row { margin: 0; }
.admin-wide { grid-column: 1 / -1; }
.admin-sections { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-sections button { width: 100%; min-width: 0; }
.admin-fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin-block: 16px; }
.admin-stack { display: grid; gap: 10px; margin-block: 16px; }
.admin-catalog, .admin-editor { min-width: 0; align-self: start; }
.admin-pager { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; justify-content: space-between; }
.admin-action { padding: 16px; }
.admin-action button { width: 100%; }
#search-form input { min-width: 0; flex: 1; }
.admin-fields textarea { min-height: 120px; }
@media (width < 840px) {
  .admin-screen[data-panel="open"] .admin-catalog { display: none; }
  .admin-screen[data-panel="list"] .admin-editor { display: none; }
  .admin-action { position: fixed; bottom: 0; inset-inline: 0; padding-bottom: calc(16px + env(safe-area-inset-bottom)); z-index: 2; }
}
@media (min-width: 840px) {
  .admin-screen { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); padding: 24px 32px; gap: 32px; }
  .admin-sections { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .admin-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-catalog { grid-column: 1; }
  .admin-editor { grid-column: 2; max-height: calc(var(--viewport-height) - 160px); overflow-y: auto; }
  .admin-action { grid-column: 2; position: sticky; bottom: 0; }
}

.admin-group { min-width: 0; }
.admin-group > h2 { margin-bottom: 16px; }
.admin-group .record-row { margin-block: 8px; text-align: start; gap: 12px; justify-content: flex-start; }
.admin-group .record-row .record-info { flex: 1; min-width: 0; }
@media (width < 840px) { .admin-sections { grid-template-columns: minmax(0, 1fr); } }
@media (min-width: 840px) { .admin-sections { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
