.catalog-container { max-width: 1280px; }
.catalog-container h2, #catalogDialog h2 { font-size: 1.2rem; }
.catalog-container code, #catalogDialog code { overflow-wrap: anywhere; font-size: 0.78rem; }
.catalog-notice { padding: 1rem; margin: 1rem 0; border-left: 3px solid #0284c7; background: #eff6ff; overflow-wrap: anywhere; }
.catalog-warning { border-color: #a16207; background: #fefce8; }
.catalog-error { border-color: #dc2626; background: #fef2f2; }
.catalog-success { border-color: #15803d; background: #f0fdf4; }
.catalog-detail { border-top: 2px solid var(--gray-300); margin-top: 2rem; padding-top: 1.5rem; }
.catalog-detail .surface-header { align-items: flex-start; flex-wrap: wrap; gap: 1rem; }
.catalog-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 1rem 0; border-block: 1px solid var(--gray-200); }
.catalog-facts div { padding: 1rem; min-width: 0; }
.catalog-facts dt { color: var(--gray-600); font-size: 0.82rem; }
.catalog-facts dd { margin: 0.25rem 0 0; overflow-wrap: anywhere; font-weight: 600; }
.catalog-container .data-table { min-width: 780px; }
.catalog-container td { vertical-align: top; overflow-wrap: anywhere; }
.catalog-container tr[aria-selected="true"] { background: #eff6ff; }
.catalog-service-list { display: flex; flex-wrap: wrap; gap: 0.4rem; list-style: none; padding: 0; }
.catalog-service-list li { border: 1px solid var(--gray-300); border-radius: 3px; padding: 0.3rem 0.5rem; background: white; font-size: 0.82rem; }
.catalog-scope-note { max-width: 850px; color: var(--gray-700); }
#catalogDialog { width: min(840px, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); margin: auto; border: 1px solid var(--gray-300); border-radius: 8px; padding: 1.5rem; overflow-y: auto; }
#catalogDialog::backdrop { background: rgb(0 0 0 / 45%); }
#catalogDialog form, #catalogDialogFields { display: grid; gap: 1rem; }
#catalogDialog label { display: flex; flex-direction: column; gap: 0.35rem; font-size: 0.875rem; font-weight: 500; }
#catalogDialog input, #catalogDialog textarea { width: 100%; min-width: 0; padding: 0.65rem; border: 1px solid var(--gray-300); border-radius: 4px; font: inherit; }
#catalogDialog textarea[name="document"] { min-height: min(52vh, 520px); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.78rem; }
#catalogDialog .dialog-actions { display: flex; justify-content: flex-end; }
.catalog-container .row-actions, #pendingCatalog .row-actions { flex-wrap: wrap; }
@media (max-width: 800px) {
  .catalog-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-container .dashboard-header, .header-content { align-items: flex-start; flex-wrap: wrap; gap: 1rem; }
  .header-nav { flex-wrap: wrap; }
}
