/* Shared discovery and data dictionary layout; no business-record scans. */
.catalog-field-dialog{ --panel:var(--data-card-surface); --border:var(--data-card-border); }
.content > #panel:has(.catalog-ui){ display:flex; min-height:0; overflow:hidden; padding:0; }
.catalog-ui{ --catalog-soft:color-mix(in srgb, var(--text) 3%, var(--panel)); display:flex; flex-direction:column; flex:1; min-width:0; min-height:0; color:var(--text); font-size:13px; line-height:1.6; }
.catalog-ui *, .catalog-field-dialog *{ box-sizing:border-box; }
.catalog-ui [hidden], .catalog-field-dialog [hidden]{ display:none !important; }
.catalog-ui button, .catalog-field-dialog button{ font:inherit; cursor:pointer; }
.catalog-ui button:focus-visible, .catalog-ui input:focus-visible, .catalog-ui summary:focus-visible, .catalog-field-dialog button:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; }
.catalog-ui button[data-focus-restored]:focus-visible{ outline:none; }
.catalog-intro{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding:26px 28px 20px; flex-shrink:0; }
.catalog-ui .catalog-eyebrow{ display:block; margin-bottom:5px; color:var(--accent); font-size:12px; font-weight:650; letter-spacing:.08em; }
.catalog-ui h2{ margin:0; color:var(--text); font-size:22px; font-weight:650; line-height:1.4; letter-spacing:-.025em; }
.catalog-ui .catalog-intro p{ margin:7px 0 0; color:var(--text-2); font-size:13px; max-width:780px; overflow-wrap:anywhere; }
.catalog-overview .catalog-intro{ padding:16px 22px 12px; gap:10px 20px; flex-wrap:wrap; }
.catalog-overview .catalog-intro p{ margin:0; font-size:12px; }
.catalog-intro-stats{ display:flex; gap:20px; color:var(--text-2); flex-shrink:0; }
.catalog-intro-stats span{ white-space:nowrap; }
.catalog-intro-stats b{ font-size:16px; color:var(--text); font-weight:650; margin-right:3px; font-variant-numeric:tabular-nums; }
.catalog-searchbar{ display:flex; gap:14px; align-items:center; padding:0 22px 16px; flex-shrink:0; border-bottom:1px solid var(--border); }
.catalog-ui .catalog-search{ display:flex; align-items:center; gap:9px; margin:0; padding:0 12px; min-width:180px; width:min(100%,580px); border:1px solid var(--border); border-radius:8px; background:var(--input-bg); color:var(--text-2); }
.catalog-search > span{ font-size:22px; line-height:1; }
.catalog-ui .catalog-search input{ border:0; outline:0; background:transparent; box-shadow:none; width:100%; min-width:0; height:39px; padding:0; color:var(--text); font:inherit; }
#panel .catalog-ui .catalog-search input, #panel .catalog-ui .catalog-search input:is(:hover,:focus,:focus-visible,:autofill, :-webkit-autofill){ outline:0 !important; outline-width:0 !important; background:transparent !important; background-image:none !important; border:0 !important; box-shadow:none !important; }
.catalog-ui .catalog-search:hover:not(:focus-within){ border-color:color-mix(in srgb,var(--accent) 30%,var(--border)); }
.catalog-search:focus-within{ border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 9%, transparent); }
.catalog-search input::placeholder{ color:var(--text-3); }
.catalog-searchbar > [role=status]{ color:var(--text-2); font-size:12px; white-space:nowrap; }
.catalog-ui .catalog-order-toggle{ margin-left:auto; white-space:nowrap; font-size:12px; }
.catalog-overview-scroll{ position:relative; flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:18px 22px 24px; scrollbar-gutter:stable; }
.catalog-domain-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; align-items:stretch; }
/* Card material, corners, shadow and hover come from the existing dashboard theme. */
.catalog-domain-card{ position:relative; display:flex; flex-direction:column; min-width:0; height:auto; min-height:184px; padding:16px; cursor:pointer; }
#panel .catalog-domain-card{ height:auto; }
.catalog-domain-card > header{ display:flex; align-items:center; gap:10px; }
.catalog-domain-card > header > div{ flex:1; min-width:0; }
#panel .catalog-domain-card > header > :is(.catalog-domain-icon,.catalog-folder-icon){ width:40px; height:40px; flex:0 0 40px; }
/* Use the shared blue tile and white semantic glyph. */
.catalog-domain-icon svg{ width:20px; height:20px; }
.catalog-ui .catalog-domain-title{ display:block; max-width:100%; padding:0; border:0; border-radius:4px; background:none; color:var(--text); font-size:14px; font-weight:650; text-align:left; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
/* Keep keyboard focus visible without boxing in the card's text title. */
#panel .catalog-domain-card:focus-visible, #panel .catalog-domain-card:has(> header .catalog-domain-title:focus-visible){ outline:2px solid color-mix(in srgb,var(--accent) 48%,transparent); outline-offset:2px; }
html body #panel .catalog-domain-card > header .catalog-domain-title:focus-visible{ outline:none; }
.catalog-title-row{ display:flex; align-items:center; gap:6px; min-width:0; }
.catalog-title-row .catalog-domain-title{ min-width:0; flex:0 1 auto; }
.catalog-domain-title:hover{ color:var(--accent); }
.catalog-domain-card small{ font-size:12px; color:var(--text-2); }
.catalog-domain-card .catalog-domain-description{ margin:8px 0 7px; font-size:12px; line-height:1.55; color:var(--text-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-height:19px; }
.catalog-topics{ display:flex; flex-wrap:nowrap; align-items:center; gap:5px; margin-top:12px; min-height:26px; min-width:0; }
.catalog-topics > button{ flex:0 1 auto; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.catalog-domain-description + .catalog-topics{ margin-top:0; }
.catalog-ui .catalog-topics button, .catalog-topics > span{ padding:3px 8px; border:1px solid var(--border); background:var(--catalog-soft); color:var(--text-2); border-radius:8px; font-size:12px; line-height:1.5; }
.catalog-topics button:hover{ color:var(--accent); border-color:var(--accent); }
.catalog-ui .catalog-topics .catalog-topics-more{ flex:0 0 auto; border-color:transparent; background:transparent; color:var(--text-3); }
.catalog-ui .catalog-topics .catalog-uncategorized{ border:0; background:none; padding-left:0; color:var(--text-3); }
.catalog-ui .catalog-topics .catalog-topics-more:hover{ color:var(--accent); }
.catalog-examples{ display:flex; align-items:baseline; gap:8px; margin:10px 0 12px; min-width:0; }
.catalog-examples > span{ flex:none; color:var(--text-3); font-size:12px; }
.catalog-domain-card .catalog-examples p{ margin:0; min-width:0; font-size:12px; line-height:1.5; color:var(--text-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.catalog-domain-card > footer{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-top:auto; padding-top:10px; border-top:1px solid var(--border); }
.catalog-ui .catalog-primary-link{ display:flex; align-items:center; gap:8px; padding:0; border:0; background:none; color:var(--accent); font-size:13px; font-weight:650; }
.catalog-domain-grid.is-ordering .catalog-domain-card{ cursor:grab; outline:1px dashed var(--accent); outline-offset:-5px; }
.catalog-domain-grid .is-order-dragging{ opacity:.45; }
.catalog-domain-grid .order-before{ box-shadow:-4px 0 0 var(--accent); }
.catalog-domain-grid .order-after{ box-shadow:4px 0 0 var(--accent); }
.catalog-overview .dashboard-order-status{ position:static; width:auto; height:auto; clip-path:none; display:block; font-size:12px; color:var(--text-2); padding:8px 0; }
.catalog-overview .dashboard-order-status:empty{ display:none; }
.catalog-search-section + .catalog-search-section{ margin-top:25px; }
.catalog-search-section h3{ display:flex; gap:8px; margin:0 0 12px; font-size:14px; font-weight:650; }
.catalog-search-section h3 small{ color:var(--text-3); font-weight:500; }
.catalog-domain-matches{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.catalog-domain-matches button, .catalog-field-result{ display:flex; align-items:center; gap:20px; width:100%; border:1px solid var(--border); border-radius:12px; background:var(--panel); padding:15px 18px; color:var(--text); text-align:left; }
.catalog-domain-matches button{ flex-wrap:wrap; gap:6px 12px; }
.catalog-domain-matches button span{ flex:1; color:var(--text-2); font-size:12px; }
.catalog-domain-matches button:hover, .catalog-field-result:hover{ border-color:var(--accent); background:var(--catalog-soft); }
.catalog-field-result + .catalog-field-result{ margin-top:8px; }
.catalog-field-result > span{ flex:0 0 30%; min-width:0; }
.catalog-field-result b{ display:block; font-size:14px; font-weight:650; }
.catalog-field-result small{ display:block; margin-top:3px; color:var(--text-3); font-size:12px; }
.catalog-field-result p{ flex:1; margin:0; color:var(--text-2); font-size:13px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.catalog-ui i{ font-style:normal; color:var(--text-3); }
.catalog-empty{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; min-height:180px; padding:30px; color:var(--text-2); text-align:center; }
.catalog-domain-grid > .catalog-empty{ grid-column:1/-1; }
.catalog-dictionary-head{ display:flex; flex-direction:column; align-items:stretch; flex-shrink:0; border-bottom:1px solid var(--border); }
.catalog-head-actions{ display:flex; gap:8px; align-items:center; flex-shrink:0; }
.catalog-ui .btn{ font-size:12px; white-space:nowrap; }
.catalog-only{ color:var(--text-3); font-size:12px; }
/* Horizontal categories share the table's content gutter. */
.catalog-categories{ flex:0 0 auto; min-width:0; min-height:0; max-height:156px; padding:12px var(--dictionary-gutter,20px); overflow:auto; overscroll-behavior:contain; }
.catalog-category-list{ display:flex; align-items:center; flex-wrap:wrap; gap:8px; min-width:0; padding:3px; margin:-3px; }
.catalog-ui .catalog-categories [data-catalog-category]{ display:flex; align-items:center; gap:8px; max-width:min(100%,320px); min-height:34px; padding:6px 9px; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--text-2); text-align:left; line-height:20px; transition:background-color .15s ease,border-color .15s ease,color .15s ease; }
.catalog-categories [data-catalog-category] span{ min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.catalog-categories [data-catalog-category] b{ flex-shrink:0; font-size:12px; font-weight:550; font-variant-numeric:tabular-nums; color:var(--text-3); }
.catalog-ui .catalog-categories [data-catalog-category]:hover{ background:color-mix(in srgb,var(--accent) 5%,var(--panel)); border-color:color-mix(in srgb,var(--accent) 12%,var(--border)); color:var(--text); }
.catalog-ui .catalog-categories [data-catalog-category].active{ background:color-mix(in srgb,var(--accent) 11%,var(--panel)); border-color:color-mix(in srgb,var(--accent) 28%,var(--border)); color:var(--accent); font-weight:650; box-shadow:inset 0 1px 0 color-mix(in srgb,var(--panel) 55%,transparent); }
.catalog-categories [data-catalog-category].active b{ color:var(--accent); }
.catalog-categories [data-catalog-category].is-newly-added{ outline:2px solid color-mix(in srgb,var(--accent) 48%,transparent); outline-offset:2px; }
@media (prefers-reduced-motion:reduce) { .catalog-ui .catalog-categories [data-catalog-category]{ transition:none; } }
.catalog-definition-status{ display:flex; align-items:center; flex-wrap:wrap; gap:6px 18px; }
.catalog-definition-status > div{ display:flex; align-items:center; gap:6px; }
.catalog-definition-status b{ font-size:12px; font-weight:500; font-variant-numeric:tabular-nums; white-space:nowrap; color:var(--text-2); }
.catalog-definition-status span{ font-size:12px; color:var(--text-3); white-space:nowrap; }
.catalog-dictionary-main{ display:flex; flex-direction:column; flex:1; min-height:0; min-width:0; }
.catalog-table-scroll{ flex:1; min-height:0; min-width:0; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.catalog-ui .catalog-field-table{ table-layout:fixed; width:100%; min-width:810px; border-collapse:separate; border-spacing:0; font-size:13px; }
.catalog-col-name{ width:19%; } .catalog-col-description{ width:24%; } .catalog-col-sample{ width:18%; } .catalog-col-caliber{ width:22%; } .catalog-col-source{ width:17%; }
.catalog-ui .catalog-field-table th{ position:sticky; top:0; z-index:1; padding:11px 16px; background:var(--panel); border-top:1px solid var(--border); border-bottom:1px solid var(--border); color:var(--text-2); font-weight:600; font-size:12px; text-align:left; white-space:nowrap; box-shadow:none; }
html body #panel .catalog-field-table thead th{ background:var(--data-card-heading); }
.catalog-ui .catalog-field-table td{ padding:16px; border-bottom:1px solid var(--border); border-right:0; font-size:13px; line-height:1.65; vertical-align:top; background:transparent; overflow-wrap:anywhere; }
.catalog-ui .catalog-field-table th:first-child, .catalog-ui .catalog-field-table td:first-child{ padding-left:23px; }
.catalog-ui .catalog-field-table tr:hover td{ background:var(--catalog-soft); }
.catalog-ui .catalog-field-table tr.is-newly-added td{ background:color-mix(in srgb,var(--accent) 12%,var(--panel)); }
.catalog-ui .catalog-field-name{ display:block; padding:0; border:0; background:none; color:var(--text); font-weight:650; font-size:13px; text-align:left; overflow-wrap:anywhere; text-decoration:none; }
.catalog-ui .catalog-field-name:hover{ color:var(--accent); }
.catalog-field-table td small{ display:block; margin-top:5px; color:var(--text-3); font-size:12px; }
.catalog-cell-copy, .catalog-cell-sample{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; white-space:pre-line; color:var(--text-2); }
.catalog-cell-sample{ color:var(--text); font-variant-numeric:tabular-nums; }
.catalog-missing{ color:var(--text-3); font-size:12px; font-weight:500; }
.catalog-dictionary-note{ padding:10px 22px; border-top:1px solid var(--border); color:var(--text-3); font-size:12px; flex-shrink:0; }
.catalog-field-dialog{ position:fixed; inset:12px 12px 12px auto; margin:0; width:min(520px,calc(100vw - 24px)); height:calc(100dvh - 24px); max-height:none; max-width:none; padding:0; border:1px solid var(--border); border-radius:16px; background:var(--panel); color:var(--text); box-shadow:0 18px 60px #0003; font-size:13px; }
.catalog-field-dialog[open]{ display:flex; flex-direction:column; }
.catalog-field-dialog::backdrop{ background:color-mix(in srgb, var(--text) 15%, transparent); backdrop-filter:blur(2px); }
.catalog-field-dialog > header{ display:flex; align-items:flex-start; justify-content:space-between; gap:15px; padding:24px; border-bottom:1px solid var(--border); flex-shrink:0; }
.catalog-field-dialog header small{ display:block; color:var(--text-2); font-size:12px; line-height:1.6; }
.catalog-field-dialog h2{ margin:7px 0 0; color:var(--text); font-size:20px; line-height:1.5; font-weight:650; overflow-wrap:anywhere; }
.catalog-field-dialog [data-catalog-close]{ width:30px; height:30px; min-width:30px; padding:0; font-size:22px; color:var(--text-2); background:var(--input-bg); }
.catalog-field-detail{ padding:6px 24px 24px; flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; }
.catalog-field-detail section{ padding:18px 0; border-bottom:1px solid var(--border); }
.catalog-field-detail section:last-child{ border:0; }
.catalog-field-detail h3{ margin:0 0 8px; font-size:12px; font-weight:600; color:var(--text-2); }
.catalog-field-detail section > div{ font-size:14px; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }
.catalog-field-dialog > footer{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 24px; border-top:1px solid var(--border); flex-shrink:0; }
.catalog-field-dialog footer span{ color:var(--text-3); font-size:12px; }
@media (max-width:1250px) {
  .catalog-domain-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .catalog-intro-stats{ gap:12px; }
  .catalog-intro-stats b{ font-size:16px; }
}
@media (min-width:2200px) {
  .catalog-domain-grid{ grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .catalog-intro{ align-items:flex-start; flex-wrap:wrap; gap:14px; padding:20px; }
  .catalog-searchbar{ padding:0 20px 16px; gap:10px; flex-wrap:wrap; }
  .catalog-searchbar .catalog-search{ width:100%; }
  .catalog-overview-scroll{ padding:20px; }
  .catalog-domain-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .catalog-domain-card{ padding:14px; }
  .catalog-ui h2{ font-size:20px; }
  .catalog-domain-matches{ grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .catalog-domain-grid{ grid-template-columns:1fr; }
  .catalog-field-result{ flex-wrap:wrap; gap:8px; }
  .catalog-field-result > span{ flex:1 0 80%; }
  .catalog-field-result p{ order:2; flex:1 0 100%; }
  .catalog-field-result > i{ margin-left:auto; }
  .catalog-field-dialog > header, .catalog-field-dialog > footer{ padding:18px; }
  .catalog-field-detail{ padding:0 18px 18px; }
}
@media (prefers-reduced-motion:reduce) { .catalog-domain-card{ transition:none; } }

/* Compact shared dictionary: preserve theme and type scale, prioritize field rows. */
.catalog-dictionary{ --dictionary-gutter:20px; }
.catalog-dictionary .catalog-dictionary-head{ padding:16px var(--dictionary-gutter); gap:14px; }
.catalog-dictionary-topline{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px 16px; }
.catalog-relation-bar{ display:flex; align-items:center; flex-wrap:wrap; gap:8px; min-width:0; }
.catalog-dictionary-topline .catalog-search{ flex:0 1 300px; min-width:210px; width:auto; max-width:100%; margin-left:auto; border-radius:8px; }
.catalog-dictionary-topline .catalog-search input{ height:34px; }
.catalog-dictionary .btn{ border-radius:8px; }
.catalog-dictionary-summary{ min-width:0; }
.catalog-dictionary-meta{ display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0; font-size:12px; color:var(--text-3); }
.catalog-dictionary .catalog-col-name{ width:17%; }
.catalog-dictionary .catalog-col-description{ width:26%; }
.catalog-dictionary .catalog-col-sample{ width:16%; }
.catalog-dictionary .catalog-col-caliber{ width:22%; }
.catalog-dictionary .catalog-col-source{ width:19%; }
.catalog-ui .catalog-field-table td{ padding:10px 14px; line-height:1.55; }
.catalog-ui .catalog-field-table th{ padding:10px 14px; }
.catalog-ui .catalog-field-table th:first-child, .catalog-ui .catalog-field-table td:first-child{ padding-left:var(--dictionary-gutter,20px); }
.catalog-field-table td small{ margin-top:3px; line-height:1.5; }
.catalog-cell-copy, .catalog-cell-sample{ -webkit-line-clamp:2; }
.catalog-cell-source, .catalog-cell-frequency{ overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.catalog-cell-source{ color:var(--text-2); }
.catalog-dictionary-note{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 20px; padding:10px var(--dictionary-gutter,20px); }
@media (max-width:900px) {
  .catalog-dictionary-topline .catalog-search{ order:3; flex-basis:100%; min-width:0; margin:0; }
  .catalog-dictionary-topline .catalog-head-actions{ margin-left:auto; }
}
@media (max-width:640px) {
  .catalog-dictionary{ --dictionary-gutter:14px; }
  .catalog-dictionary .catalog-dictionary-head{ padding:12px var(--dictionary-gutter); gap:10px; }
  .catalog-categories{ padding-block:10px; max-height:120px; }
  .catalog-dictionary .catalog-head-actions{ flex-wrap:wrap; flex-shrink:1; }
}

/* Catalog metadata tools share the field detail card and existing control theme. */
.catalog-dictionary .catalog-col-actions{ width:76px; }
.catalog-ui .catalog-row-actions{ white-space:nowrap; }
.catalog-row-actions button{ border:0; background:transparent; color:var(--accent); padding:3px 4px; border-radius:4px; font-size:12px; }
.catalog-row-actions button:hover{ background:var(--catalog-soft); }
.catalog-batch-bar{ flex-shrink:0; display:flex; gap:8px; align-items:center; padding:8px var(--dictionary-gutter,20px); border-top:1px solid var(--border); background:var(--catalog-soft); flex-wrap:wrap; }
.catalog-batch-bar span{ margin-right:auto; font-size:12px; }
.catalog-field-table [data-catalog-check]{ float:left; width:14px; height:14px; margin:4px 8px 0 0; accent-color:var(--accent); }
.catalog-maintenance{ width:min(540px,calc(100vw - 24px)); }
.catalog-maintenance [hidden]{ display:none !important; }
.catalog-maintenance .catalog-field-detail section{ padding:12px 0; border:0; }
.catalog-maintenance textarea, .catalog-maintenance input:not([type="checkbox"]), .catalog-maintenance select{ width:100%; box-sizing:border-box; font:inherit; padding:9px 11px; border:1px solid var(--border); border-radius:8px; background:var(--input-bg); color:var(--text); }
.catalog-maintenance textarea{ resize:vertical; min-height:38px; max-height:180px; }
.catalog-maintenance [data-editor]{ margin-top:6px; }
.catalog-maintenance [data-meta="frequency"]:not([hidden]){ margin-top:8px; }
.catalog-reviewed{ display:flex; align-items:center; gap:8px; margin:12px 0; }
.catalog-reviewed input{ width:15px; height:15px; accent-color:var(--accent); }
.catalog-maintenance > footer{ gap:8px; padding:14px 20px; }
.catalog-maintenance > footer > div{ display:flex; gap:8px; margin-left:auto; flex-shrink:0; }
.catalog-maintenance .catalog-selection-summary{ max-height:80px; overflow:auto; color:var(--text-2); }
.catalog-maintenance-error{ color:var(--danger); }
.catalog-history-change{ margin:8px 0; padding:10px 12px; border:1px solid var(--border); border-radius:8px; background:var(--input-bg); white-space:pre-wrap; overflow-wrap:anywhere; }
.catalog-history-change > div{ margin-top:4px; color:var(--text-2); }
.catalog-field-table:has(.catalog-col-actions) .catalog-col-name{ width:16%; }
.catalog-field-table:has(.catalog-col-actions) .catalog-col-description{ width:24%; }
.catalog-field-table:has(.catalog-col-actions) .catalog-col-sample{ width:15%; }
.catalog-field-table:has(.catalog-col-actions) .catalog-col-caliber{ width:19%; }
.catalog-field-table:has(.catalog-col-actions) .catalog-col-source{ width:18%; }
.catalog-field-table:has(.catalog-col-actions) .catalog-col-actions{ width:8%; }
.catalog-maintenance select{ height:40px; min-height:40px; line-height:20px; padding:8px 30px 8px 11px; }
 /* Association links use one neutral treatment across data domains. */
.catalog-ui .catalog-relation-link{ display:inline-flex; align-items:center; justify-content:flex-start; gap:7px; min-height:34px; min-width:0; padding:6px 9px; border:1px solid var(--border); border-radius:8px; background:var(--catalog-soft); color:var(--text-2); box-shadow:none; font-size:13px; font-weight:550; line-height:20px; white-space:nowrap; transition:background-color .15s ease,color .15s ease; }
.catalog-relation-kind{ display:inline-flex; flex:none; align-items:center; padding:1px 5px; border-radius:4px; background:transparent; color:var(--text-3); font-size:11px; font-weight:550; line-height:16px; white-space:nowrap; }
.catalog-ui .catalog-relation-link:hover{ background:color-mix(in srgb,var(--text) 6%,var(--panel)); color:var(--text); }
.catalog-ui .catalog-relation-link:active{ background:color-mix(in srgb,var(--text) 10%,var(--panel)); }
.catalog-ui .catalog-relation-link:focus-visible{ outline:2px solid var(--text-2); outline-offset:2px; }
.catalog-relation-empty{ display:inline-flex; align-items:center; flex:0 0 auto; gap:7px; min-height:34px; padding:4px 12px; border:1px solid var(--border); border-radius:8px; background:color-mix(in srgb,var(--text-3) 7%,var(--panel)); color:var(--text-3); font-size:12px; font-weight:600; line-height:20px; white-space:nowrap; cursor:not-allowed; }
.catalog-relation-notes{ flex-basis:100%; display:flex; flex-wrap:wrap; gap:4px 12px; min-width:0; }
.catalog-kind{ display:inline-flex; align-items:center; flex:0 0 auto; padding:2px 6px; border-radius:4px; font-size:11px; line-height:16px; white-space:nowrap; font-weight:600; }
.catalog-kind[data-kind="master"]{ background:#eaf2ff; color:#245fc2; box-shadow:inset 0 0 0 1px #d5e5ff; }
.catalog-kind[data-kind="indicator"]{ background:color-mix(in srgb,#28a694 12%,var(--panel)); color:color-mix(in srgb,#28a694 65%,var(--text)); }
.catalog-relation-notes small{ color:var(--text-3); font-size:11px; }
@media (max-width:640px) {
  .catalog-ui .catalog-relation-link{ flex:0 0 auto; min-width:0; }
}
@media (prefers-reduced-motion:reduce) { .catalog-ui .catalog-relation-link{ transition:none; } }
.catalog-related-definition{ width:min(680px,calc(100vw - 32px)); }
.catalog-related-definition-body{ padding:18px 22px; overflow:auto; max-height:65vh; color:var(--text-2); font-size:13px; }
.catalog-related-definition-body .catalog-search{ display:block; }
.catalog-related-definition-body input{ width:100%; box-sizing:border-box; font:inherit; }
.catalog-related-definition-body section{ padding:14px 0; border-top:1px solid var(--border); }
.catalog-related-definition-body section b{ color:var(--text); font-weight:600; }
.catalog-related-definition-body section p{ margin:5px 0; line-height:1.65; }
.catalog-related-definition-body section small{ color:var(--text-3); line-height:1.6; overflow-wrap:anywhere; }

/* Coordinate system and angular unit are separate secondary details under the sample. */

.catalog-cell-copy.is-coordinate, .catalog-cell-sample.is-coordinate{ display:block; overflow:visible; }
.catalog-coordinate-sample{ display:inline-grid; gap:3px; font-variant-numeric:tabular-nums; }
.catalog-coordinate-sample > span{ display:flex; align-items:baseline; gap:8px; white-space:nowrap; }
.catalog-coordinate-sample small{ color:var(--text-3); font-size:11px; }
.catalog-coordinate-sample b{ color:var(--text); font-size:13px; font-weight:500; }
.catalog-coordinate-warning{ display:block; margin-top:4px; color:var(--text-3); font-size:11px; }

/* Full text previews sit outside the dictionary's scroll clipping. */
.catalog-cell-preview{ position:fixed; z-index:10000; display:flex; flex-direction:column; width:min(440px,calc(100vw - 24px)); max-height:min(360px,calc(100dvh - 24px)); box-sizing:border-box; overflow:hidden; border:1px solid var(--data-card-border,var(--border)); border-radius:8px; background:var(--data-card-surface,var(--panel)); color:var(--text); box-shadow:0 8px 28px #0002; font-size:13px; line-height:1.65; }
.catalog-cell-preview[hidden]{ display:none; }
.catalog-cell-preview-title{ flex:none; padding:10px 14px 6px; font-size:12px; font-weight:600; color:var(--text-2); }
.catalog-cell-preview-body{ min-height:0; max-height:300px; overflow:auto; overscroll-behavior:contain; padding:0 14px 14px; white-space:pre-wrap; overflow-wrap:anywhere; user-select:text; cursor:text; }
.catalog-cell-preview-body:focus-visible, .catalog-ui [data-catalog-preview]:focus-visible{ outline:2px solid var(--accent); outline-offset:-2px; }
