/* Surety 2.4.x — Systematic interface refinement (1051–1350)
   This final presentation layer normalizes design tokens, shell alignment,
   responsive composition, dense data, forms, records, marketplace, billing,
   operations, mobile and accessibility without replacing route controllers. */

:root {
  --ux240-space-1:4px;
  --ux240-space-2:8px;
  --ux240-space-3:12px;
  --ux240-space-4:16px;
  --ux240-space-5:20px;
  --ux240-space-6:24px;
  --ux240-space-8:32px;
  --ux240-space-10:40px;
  --ux240-space-12:48px;
  --ux240-control-compact:36px;
  --ux240-control-regular:44px;
  --ux240-control-spacious:50px;
  --ux240-radius-control:10px;
  --ux240-radius-card:14px;
  --ux240-radius-panel:18px;
  --ux240-radius-overlay:22px;
  --ux240-page-gutter:clamp(16px,2.25vw,40px);
  --ux240-section-gap:clamp(24px,2.6vw,44px);
  --ux240-grid-gap:clamp(14px,1.4vw,24px);
  --ux240-panel-pad:clamp(16px,1.65vw,28px);
  --ux240-reading:72ch;
  --ux240-form-short:520px;
  --ux240-form-medium:760px;
  --ux240-form-long:1080px;
  --ux240-surface-base:var(--bg);
  --ux240-surface-raised:var(--surface);
  --ux240-surface-inset:var(--surface-soft);
  --ux240-surface-selected:color-mix(in srgb,var(--primary-soft) 72%,var(--surface));
  --ux240-border-subtle:color-mix(in srgb,var(--line) 76%,transparent);
  --ux240-border-default:var(--line);
  --ux240-border-strong:color-mix(in srgb,var(--text) 24%,var(--line));
  --ux240-focus:0 0 0 3px color-mix(in srgb,var(--primary) 24%,transparent);
  --ux240-shadow-raised:0 8px 24px rgba(16,24,40,.07);
  --ux240-shadow-overlay:0 24px 70px rgba(16,24,40,.2),0 4px 16px rgba(16,24,40,.1);
}

/* 1051–1070 — token and component normalization */
body.ux240-ready {
  color-scheme:light;
  text-rendering:optimizeLegibility;
  font-synthesis:none;
}
:root[data-theme="dark"] body.ux240-ready { color-scheme:dark; }
body.ux240-ready :where(.panel,.card,.admin-section,.case-card,.record-card,.market-card,.billing-plan-card,.metric-card,.stat-card) {
  min-width:0;
  border-radius:var(--ux240-radius-panel);
  border-color:var(--ux240-border-subtle);
}
body.ux240-ready :where(.panel,.admin-section,.case-card) { padding:var(--ux240-panel-pad); }
body.ux240-ready :where(button,.button,.primary-button,.secondary-button,.danger-button,.warning-button,.ghost-button,.icon-button,input,select,textarea) {
  border-radius:var(--ux240-radius-control);
}
body.ux240-ready :where(.primary-button,.secondary-button,.danger-button,.warning-button,.ghost-button,button:not(.icon-button):not(.unstyled)) {
  min-height:var(--ux240-control-regular);
  gap:var(--ux240-space-2);
  align-items:center;
}
body.ux240-ready :where(.primary-button,.secondary-button,.danger-button,.warning-button,.ghost-button) > i,
body.ux240-ready button > i { width:1.15em; flex:0 0 1.15em; text-align:center; }
body.ux240-ready :where(.status-badge,.case-status,.trust-badge,.billing-status,.market-status-pill,[data-status]) {
  min-height:28px;
  padding:5px 9px;
  gap:6px;
  border-radius:999px;
}
body.ux240-ready :where(.callout,.notice,.alert,.form-alert,.health-alert) {
  padding:var(--ux240-space-4);
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:var(--ux240-space-3);
  align-items:start;
  border-radius:var(--ux240-radius-card);
}
body.ux240-ready :where(.selected,[aria-selected="true"],[aria-current="true"],[aria-current="page"]):not(.nav-link) {
  outline-color:color-mix(in srgb,var(--primary) 38%,transparent);
}

/* 1071–1090 — shell and navigation */
body.ux240-ready .sidebar { min-width:0; }
body.ux240-ready .primary-nav {
  width:100%;
  padding-inline:0;
  gap:2px;
}
body.ux240-ready .primary-nav .nav-label {
  margin:var(--ux240-space-2) 0 0;
  padding:var(--ux240-space-4) var(--ux240-space-3) var(--ux240-space-2)!important;
}
body.ux240-ready .primary-nav .nav-link {
  display:grid;
  width:100%;
  min-width:0;
  min-height:46px;
  margin:0;
  padding:9px 12px;
  grid-template-columns:20px minmax(0,1fr) auto;
  column-gap:11px;
  border-radius:11px;
}
body.ux240-ready .primary-nav .nav-link > i:first-child {
  width:20px;
  min-width:20px;
  margin:0;
  text-align:center;
}
body.ux240-ready .primary-nav .nav-link > span:not(.nav-count):not(.nav-active-dot) {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.ux240-ready .primary-nav .nav-link:hover { transform:none; }
body.ux240-ready .primary-nav .nav-link:focus-visible { outline:0; box-shadow:var(--ux240-focus); }
body.ux240-ready .sidebar-bottom {
  margin-top:auto;
  padding-top:var(--ux240-space-3);
  border-top:1px solid var(--ux240-border-subtle);
  background:var(--surface);
}
body.ux240-ready .topbar {
  left:var(--sidebar-w);
  width:auto;
  min-width:0;
  padding-inline:var(--ux240-page-gutter);
  align-items:center;
}
body.ux240-ready .topbar > * { min-width:0; }
body.ux240-ready .topbar-context { flex:0 1 300px; }
body.ux240-ready .topbar-context strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.ux240-ready .topbar-actions { margin-left:auto; flex:0 0 auto; }
body.ux240-ready[data-access-mode="delegated"] .topbar,
body.ux240-ready[data-access-mode="impersonating"] .topbar { border-bottom-color:var(--amber); }
body.ux240-ready .ux240-nav-overflow-cue {
  position:sticky;
  bottom:0;
  z-index:2;
  height:18px;
  margin-top:-18px;
  pointer-events:none;
  background:linear-gradient(transparent,var(--surface));
  opacity:0;
  transition:opacity .15s ease;
}
body.ux240-ready .primary-nav[data-scrollable="true"] + .ux240-nav-overflow-cue { opacity:1; }

/* 1091–1110 — canvas, grid and layout diagnostics */
body.ux240-ready .main { min-width:0; }
body.ux240-ready .main > .page,
body.ux240-ready :where(.admin-main,.case-main,.panel-workspace) {
  min-width:0;
  padding-inline:var(--ux240-page-gutter);
}
body.ux240-ready .page > section + section,
body.ux240-ready .page > .panel + .panel,
body.ux240-ready .page > .admin-section + .admin-section { margin-top:var(--ux240-section-gap); }
body.ux240-ready :where(.workspace-grid,.dashboard-grid,.admin-grid,.metric-grid,.card-grid,.asset-grid,.organization-grid,.market-grid,.marketplace-grid,.billing-grid,.validator-grid) {
  min-width:0;
  gap:var(--ux240-grid-gap);
  align-items:start;
}
body.ux240-ready :where(.workspace-grid,.dashboard-grid,.admin-grid,.metric-grid,.card-grid,.asset-grid,.organization-grid,.market-grid,.marketplace-grid,.billing-grid,.validator-grid) > * {
  min-width:0;
}
body.ux240-ready .ux240-grid-auto-sm { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:var(--ux240-grid-gap); }
body.ux240-ready .ux240-grid-auto-md { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:var(--ux240-grid-gap); }
body.ux240-ready .ux240-grid-auto-lg { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:var(--ux240-grid-gap); }
body.ux240-ready :where(.panel,.card,.admin-section,.case-card) > :where(.panel,.card,.admin-section,.case-card) { margin-inline:0; }
body.ux240-ready .page-template-reading :where(p,li) { max-width:var(--ux240-reading); }
body.ux240-ready .page-template-form { max-width:calc(var(--ux240-form-long) + (2 * var(--ux240-page-gutter))); }
body.ux240-ready .sticky-action-bar,
body.ux240-ready .bulk-action-bar { max-width:min(920px,calc(100vw - var(--sidebar-w) - (2 * var(--ux240-page-gutter)))); }

/* 1111–1130 — typography */
body.ux240-ready h1 { font-size:clamp(1.75rem,2.4vw,2.7rem); line-height:1.08; letter-spacing:-.035em; text-wrap:balance; }
body.ux240-ready h2 { font-size:clamp(1.25rem,1.45vw,1.7rem); line-height:1.2; letter-spacing:-.02em; text-wrap:balance; }
body.ux240-ready h3 { font-size:clamp(1.02rem,1.05vw,1.25rem); line-height:1.28; }
body.ux240-ready :where(p,li,dd) { line-height:1.58; }
body.ux240-ready :where(.help-text,.field-help,.muted,small) { line-height:1.45; }
body.ux240-ready :where(.metric-value,.amount,.price,.money,.percentage,.usage-value,.case-score) { font-variant-numeric:tabular-nums lining-nums; }
body.ux240-ready :where(code,.record-id,.request-reference,[data-copy-value]) { font-variant-ligatures:none; overflow-wrap:anywhere; }
body.ux240-ready .ux240-copy-control {
  width:30px;
  min-width:30px;
  height:30px;
  min-height:30px;
  padding:0;
  display:inline-grid;
  place-items:center;
  border:1px solid var(--ux240-border-subtle);
  background:var(--surface);
  color:var(--muted);
}
body.ux240-ready .ux240-copy-control:hover { color:var(--primary); border-color:color-mix(in srgb,var(--primary) 30%,var(--line)); }
body.ux240-ready time[title] { cursor:help; text-decoration:underline dotted color-mix(in srgb,var(--muted) 50%,transparent); text-underline-offset:3px; }

/* 1131–1150 — public pages and explorer */
body.ux240-ready[data-layout="public"] .page-heading,
body.ux240-ready .public-record-header { padding-block:clamp(24px,4vw,56px); }
body.ux240-ready .public-hero { display:grid; gap:var(--ux240-space-6); }
body.ux240-ready .public-hero :where(p,.lede) { max-width:65ch; font-size:clamp(1rem,1.2vw,1.2rem); color:var(--muted); }
body.ux240-ready :where(.public-directory-grid,.explorer-grid,.public-results,.answer-grid,.glossary-grid) {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
  gap:var(--ux240-grid-gap);
  align-items:start;
}
body.ux240-ready :where(.public-record-card,.answer-card,.glossary-card,.directory-card) { height:auto; min-height:0; }
body.ux240-ready .ux240-source-verified,
body.ux240-ready [data-record-source="verified"] { border-left:3px solid var(--green); }
body.ux240-ready .ux240-source-submitted,
body.ux240-ready [data-record-source="submitted"] { border-left:3px solid var(--blue,var(--primary)); }
body.ux240-ready .public-provenance-summary { display:grid; grid-template-columns:auto minmax(0,1fr); gap:var(--ux240-space-3); }
body.ux240-ready .public-share-actions { display:flex; flex-wrap:wrap; gap:var(--ux240-space-2); }
body.ux240-ready .public-empty,
body.ux240-ready .record-unavailable { max-width:720px; margin-inline:auto; text-align:center; }

/* 1151–1170 — dashboards and metrics */
body.ux240-ready .ux240-dashboard-header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--ux240-space-4);
  margin-bottom:var(--ux240-space-5);
}
body.ux240-ready :where(.metric-card,.stat-card,.kpi-card,.billing-usage-card) {
  min-height:150px;
  padding:var(--ux240-space-5);
  display:flex;
  flex-direction:column;
  gap:var(--ux240-space-3);
}
body.ux240-ready :where(.metric-card,.stat-card,.kpi-card) .metric-value,
body.ux240-ready :where(.metric-card,.stat-card,.kpi-card) > strong { line-height:1; }
body.ux240-ready [data-metric-state="unavailable"] { opacity:.72; }
body.ux240-ready [data-metric-state="abnormal"] { border-color:color-mix(in srgb,var(--red) 36%,var(--line)); }
body.ux240-ready [data-metric-state="warning"] { border-color:color-mix(in srgb,var(--amber) 40%,var(--line)); }
body.ux240-ready .ux240-data-freshness { display:inline-flex; align-items:center; gap:6px; color:var(--muted); font-size:.75rem; }
body.ux240-ready canvas { max-width:100%; }
body.ux240-ready .chart-card { min-height:320px; }
body.ux240-ready .chart-card .chart-container { min-height:220px; }
body.ux240-ready .chart-error { min-height:140px; display:grid; place-items:center; text-align:center; }

/* 1171–1190 — tables */
body.ux240-ready :where(.table-toolbar,.ux-table-toolbar,.table-filter-toolbar) {
  min-height:56px;
  padding:var(--ux240-space-3);
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:var(--ux240-space-2);
  border:1px solid var(--ux240-border-subtle);
  border-radius:var(--ux240-radius-card);
  background:var(--surface);
}
body.ux240-ready :where(.table-toolbar,.ux-table-toolbar,.table-filter-toolbar) > * { min-width:0; }
body.ux240-ready :where(.table-search,.ux-table-search) { flex:1 1 260px; min-width:min(100%,220px); max-width:440px; }
body.ux240-ready :where(.table-search,.ux-table-search) input { width:100%; }
body.ux240-ready :where(.admin-table-wrap,.table-scroll,.data-table-wrap) {
  max-width:100%;
  border-radius:var(--ux240-radius-card);
  border:1px solid var(--ux240-border-subtle);
  overflow:auto;
  scrollbar-gutter:stable;
}
body.ux240-ready table { width:100%; border-collapse:separate; border-spacing:0; }
body.ux240-ready th { min-height:44px; padding:11px 13px; line-height:1.2; vertical-align:middle; }
body.ux240-ready td { padding:12px 13px; vertical-align:middle; }
body.ux240-ready th[data-sortable],
body.ux240-ready th[aria-sort] { padding-right:32px; }
body.ux240-ready td[data-cell-type="number"],
body.ux240-ready td[data-cell-type="currency"],
body.ux240-ready td[data-cell-type="percent"] { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
body.ux240-ready td[data-cell-type="time"] { white-space:nowrap; }
body.ux240-ready td[data-cell-type="id"] { font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.82em; overflow-wrap:anywhere; }
body.ux240-ready tbody tr:focus-within { outline:0; box-shadow:inset 3px 0 var(--primary); }
body.ux240-ready tbody tr[aria-selected="true"],
body.ux240-ready tbody tr.is-selected { background:var(--ux240-surface-selected); }
body.ux240-ready tbody tr[data-locked="true"] { opacity:.68; background:var(--surface-soft); }
body.ux240-ready .ux240-table-summary { min-height:38px; padding:8px 12px; display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; color:var(--muted); font-size:.78rem; }
body.ux240-ready .mobile-record-card { border-radius:var(--ux240-radius-card); }

/* 1191–1210 — filters, search and saved views */
body.ux240-ready :where(.filter-panel,.audit-filter-form,.market-filter-bar,.validator-filter-bar,.advanced-filters) {
  min-width:0;
  padding:var(--ux240-space-4);
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));
  gap:var(--ux240-space-3);
  align-items:end;
  border:1px solid var(--ux240-border-subtle);
  border-radius:var(--ux240-radius-panel);
  background:var(--surface);
}
body.ux240-ready :where(.filter-panel,.audit-filter-form,.market-filter-bar,.validator-filter-bar) > :where(.full,.filter-actions,.form-actions,.ux230-filter-heading) { grid-column:1 / -1; }
body.ux240-ready .filter-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:var(--ux240-space-2); }
body.ux240-ready :where(.filter-chips,.active-filters,.search-syntax) { display:flex; flex-wrap:wrap; gap:var(--ux240-space-2); }
body.ux240-ready :where(.filter-chip,.active-filter-chip,.search-syntax button,.search-syntax a) {
  min-height:36px;
  padding:7px 10px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid var(--ux240-border-subtle);
  border-radius:999px;
  background:var(--surface-soft);
}

body.ux240-ready .search-syntax { width:100%; align-items:stretch; }
body.ux240-ready .search-syntax > :where(button,a) {
  flex:1 1 190px;
  min-width:190px;
  max-width:300px;
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  align-items:center;
  text-align:left;
  border-radius:var(--ux240-radius-control);
}
body.ux240-ready .search-syntax > :where(button,a) > span { min-width:0; display:grid; gap:2px; }
body.ux240-ready .search-syntax :where(code,small) { overflow-wrap:normal; word-break:normal; white-space:normal; }
body.ux240-ready :where(.asset-header,.record-header,.certificate-header) > .prioritized-actions {
  width:100%;
  min-width:0;
  align-self:stretch;
}
body.ux240-ready .saved-view-menu [data-view-scope]::after { margin-left:8px; color:var(--muted); font-size:.68rem; content:attr(data-view-scope); }
body.ux240-ready [data-saved-view-dirty="true"]::before { content:"•"; margin-right:5px; color:var(--amber); }

/* 1211–1230 — forms */
body.ux240-ready form[data-ux240-size="short"] { max-width:var(--ux240-form-short); }
body.ux240-ready form[data-ux240-size="medium"] { max-width:var(--ux240-form-medium); }
body.ux240-ready form[data-ux240-size="long"] { max-width:var(--ux240-form-long); }
body.ux240-ready form[data-ux240-size="full"] { width:100%; max-width:none; }
body.ux240-ready :where(.form-grid,.form-section,.case-form,.settings-form,.auth-form) { min-width:0; gap:var(--ux240-space-4); }
body.ux240-ready .form-section + .form-section,
body.ux240-ready fieldset + fieldset { margin-top:var(--ux240-section-gap); padding-top:var(--ux240-section-gap); border-top:1px solid var(--ux240-border-subtle); }
body.ux240-ready label { min-width:0; }
body.ux240-ready label > :where(input,select,textarea) { margin-top:7px; }
body.ux240-ready :where(input:not([type="checkbox"]):not([type="radio"]),select) { min-height:var(--ux240-control-regular); }
body.ux240-ready textarea { min-height:120px; resize:vertical; }
body.ux240-ready textarea[data-ux240-content="short"] { min-height:88px; }
body.ux240-ready textarea[data-ux240-content="long"] { min-height:200px; }
body.ux240-ready .ux240-field-message { min-height:1.25em; margin-top:5px; color:var(--muted); font-size:.75rem; }
body.ux240-ready [aria-invalid="true"] { border-color:var(--red); }
body.ux240-ready [aria-invalid="true"]:focus { box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 18%,transparent); }
body.ux240-ready :where(.checkbox-row,.radio-row,.legal-check) { min-height:44px; padding:8px 10px; align-items:flex-start; border-radius:var(--ux240-radius-control); }
body.ux240-ready :where(.checkbox-row,.radio-row,.legal-check):hover { background:var(--surface-soft); }
body.ux240-ready .repeatable-item { padding:var(--ux240-space-4); border:1px solid var(--ux240-border-subtle); border-radius:var(--ux240-radius-card); }
body.ux240-ready .form-actions { margin-top:var(--ux240-space-5); }

/* 1231–1250 — asset, ownership and certificate records */
body.ux240-ready :where(.asset-header,.record-header,.certificate-header) {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,340px);
  gap:var(--ux240-space-5);
  align-items:start;
}
body.ux240-ready :where(.asset-header,.record-header,.certificate-header) > * { min-width:0; }
body.ux240-ready :where(.asset-media,.record-media,.certificate-preview) img { width:100%; height:auto; max-height:520px; object-fit:contain; border-radius:var(--ux240-radius-card); }
body.ux240-ready :where(.asset-metadata,.record-metadata,.certificate-metadata,.definition-grid) {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
  gap:var(--ux240-space-3);
}
body.ux240-ready :where(.asset-metadata,.record-metadata,.certificate-metadata) > div { min-width:0; padding:12px; border-radius:var(--ux240-radius-control); background:var(--surface-soft); }
body.ux240-ready .ownership-interest-list { display:grid; gap:var(--ux240-space-3); }
body.ux240-ready .ownership-interest { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--ux240-space-3); align-items:center; }
body.ux240-ready .ownership-interest [role="progressbar"] { grid-column:1 / -1; }
body.ux240-ready .provenance-event[data-verified="true"] { border-left-color:var(--green); }
body.ux240-ready .provenance-event[data-verified="false"] { border-left-color:var(--blue,var(--primary)); }
body.ux240-ready :where(.related-records,.record-relations) { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); gap:var(--ux240-grid-gap); }
body.ux240-ready .prioritized-actions { grid-template-columns:minmax(0,1fr); }
body.ux240-ready .prioritized-actions > * { min-height:0; }

/* 1251–1270 — validator and evidence review */
body.ux240-ready .validator-layout,
body.ux240-ready .case-workspace { min-width:0; gap:var(--ux240-grid-gap); }
body.ux240-ready .evidence-workspace { min-height:clamp(520px,70vh,900px); }
body.ux240-ready :where(.evidence-preview,.document-preview,.evidence-canvas) { min-width:0; min-height:420px; border-radius:var(--ux240-radius-card); background:var(--surface-sunken,var(--surface-soft)); }
body.ux240-ready .evidence-toolbar { min-height:48px; padding:7px; display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
body.ux240-ready .evidence-toolbar .icon-button { width:40px; min-width:40px; height:40px; min-height:40px; }
body.ux240-ready .evidence-list { min-width:0; max-height:calc(100dvh - var(--topbar-h) - 190px); overflow:auto; scrollbar-gutter:stable; }
body.ux240-ready .evidence-item { min-width:0; display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:10px; align-items:center; }
body.ux240-ready .evidence-item[aria-current="true"],
body.ux240-ready .evidence-item.active { background:var(--ux240-surface-selected); }
body.ux240-ready .validator-requirements { display:grid; gap:var(--ux240-space-3); }
body.ux240-ready .validator-requirement { border-radius:var(--ux240-radius-card); }
body.ux240-ready .case-blocker { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:10px; align-items:start; }
body.ux240-ready .decision-readiness { position:sticky; bottom:var(--ux240-space-3); z-index:8; }

/* 1271–1290 — marketplace */
body.ux240-ready .market-hero :where(p,.lede) { max-width:65ch; color:color-mix(in srgb,var(--text) 78%,var(--muted)); font-size:clamp(1rem,1.2vw,1.15rem); }
body.ux240-ready :where(.market-grid,.marketplace-grid,.listing-grid) { grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); }
body.ux240-ready :where(.market-card,.listing-card) { height:100%; min-height:0; display:flex; flex-direction:column; }
body.ux240-ready :where(.market-card,.listing-card) .listing-image,
body.ux240-ready :where(.market-card,.listing-card) > img { aspect-ratio:4 / 3; width:100%; object-fit:cover; }
body.ux240-ready :where(.market-card,.listing-card) h2,
body.ux240-ready :where(.market-card,.listing-card) h3 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
body.ux240-ready :where(.market-card,.listing-card) .card-actions { margin-top:auto; }
body.ux240-ready .market-detail-grid { grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr); gap:var(--ux240-grid-gap); }
body.ux240-ready .market-detail-grid > aside { top:calc(var(--topbar-h) + var(--ux240-space-4)); }
body.ux240-ready .market-price-summary { display:grid; gap:var(--ux240-space-2); }
body.ux240-ready .market-price-summary .total { padding-top:var(--ux240-space-3); border-top:1px solid var(--ux240-border-subtle); font-size:1.15rem; font-weight:800; }
body.ux240-ready .listing-fact[data-source="verified"] { border-left:3px solid var(--green); }
body.ux240-ready .listing-fact[data-source="seller"] { border-left:3px solid var(--blue,var(--primary)); }
body.ux240-ready .listing-comparison-tray { max-width:min(1100px,calc(100vw - var(--sidebar-w) - 32px)); }

/* 1291–1310 — billing and account settings */
body.ux240-ready .account-settings-layout { align-items:start; gap:var(--ux240-grid-gap); }
body.ux240-ready .account-settings-nav { min-width:0; }
body.ux240-ready .account-settings-nav > * { flex:0 0 auto; }
body.ux240-ready :where(.billing-summary,.current-plan-card) { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--ux240-space-5); align-items:start; }
body.ux240-ready .usage-meter { display:grid; gap:7px; }
body.ux240-ready .usage-meter progress,
body.ux240-ready .usage-meter [role="progressbar"] { width:100%; height:9px; border-radius:999px; overflow:hidden; }
body.ux240-ready .billing-amount[data-state="projected"] { color:var(--muted); }
body.ux240-ready .billing-amount[data-state="pending"] { color:var(--amber); }
body.ux240-ready .billing-amount[data-state="paid"] { color:var(--green); }
body.ux240-ready .payment-method-card { display:grid; grid-template-columns:44px minmax(0,1fr) auto; gap:var(--ux240-space-3); align-items:center; }
body.ux240-ready .invoice-row { min-width:0; }
body.ux240-ready .billing-recovery { border-color:color-mix(in srgb,var(--amber) 38%,var(--line)); }
body.ux240-ready .plan-comparison { overflow:auto; }

/* 1311–1330 — administration and operations */
body.ux240-ready .admin-attention-center { display:grid; gap:var(--ux240-space-3); }
body.ux240-ready .admin-summary-strip { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:var(--ux240-space-3); }
body.ux240-ready .environment-indicator { min-height:30px; padding:5px 9px; display:inline-flex; align-items:center; gap:6px; border-radius:999px; font-weight:800; }
body.ux240-ready .permission-group { padding:var(--ux240-space-4); border:1px solid var(--ux240-border-subtle); border-radius:var(--ux240-radius-card); }
body.ux240-ready [data-permission-source="inherited"] { border-style:dashed; }
body.ux240-ready .health-overview { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:var(--ux240-grid-gap); }
body.ux240-ready .health-check { min-width:0; }
body.ux240-ready .health-check[data-status="error"] { border-color:color-mix(in srgb,var(--red) 40%,var(--line)); }
body.ux240-ready .health-check[data-status="warning"] { border-color:color-mix(in srgb,var(--amber) 40%,var(--line)); }
body.ux240-ready .maintenance-result { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:var(--ux240-space-3); align-items:start; }
body.ux240-ready .danger-zone { margin-top:var(--ux240-section-gap); border-color:color-mix(in srgb,var(--red) 38%,var(--line)); background:color-mix(in srgb,var(--red-soft) 45%,var(--surface)); }
body.ux240-ready .audit-event-detail { display:grid; gap:var(--ux240-space-3); }

/* 1331–1350 — mobile, accessibility and interaction */
body.ux240-ready :where(a,button,input,select,textarea,[tabindex]):focus-visible { outline:0; box-shadow:var(--ux240-focus); }
body.ux240-ready :where(.context-nav,.panel-tabs,.settings-tabs,.account-settings-nav,.explorer-tabs,.market-tabs,.collaboration-tabs,[data-page-tabs]) {
  scrollbar-width:thin;
  scroll-snap-type:x proximity;
}
body.ux240-ready :where(.context-nav,.panel-tabs,.settings-tabs,.account-settings-nav,.explorer-tabs,.market-tabs,.collaboration-tabs,[data-page-tabs]) > * { scroll-snap-align:start; }
body.ux240-ready .ux240-scroll-edge { position:relative; }
body.ux240-ready .ux240-scroll-edge::after {
  content:"";
  position:sticky;
  right:0;
  flex:0 0 18px;
  align-self:stretch;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--surface));
}
body.ux240-ready .sticky-action-bar,
body.ux240-ready .mobile-sticky-actions { padding-bottom:max(var(--ux240-space-3),env(safe-area-inset-bottom)); }
body.ux240-ready .ux240-enter { animation:ux240-enter .22s ease both; }
@keyframes ux240-enter { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }

@container (max-width:720px) {
  body.ux240-ready .ux240-grid-auto-sm,
  body.ux240-ready .ux240-grid-auto-md,
  body.ux240-ready .ux240-grid-auto-lg { grid-template-columns:1fr; }
  body.ux240-ready :where(.asset-header,.record-header,.certificate-header,.billing-summary,.current-plan-card) { grid-template-columns:1fr; }
}

@media (max-width:1180px) {
  body.ux240-ready .topbar { left:0; }
  body.sidebar-collapsed.ux240-ready .sidebar .nav-link {
    width:100%;
    min-width:0;
    min-height:46px;
    padding:9px 12px;
    grid-template-columns:20px minmax(0,1fr) auto;
  }
  body.sidebar-collapsed.ux240-ready .sidebar .nav-link > span:not(.nav-count):not(.nav-active-dot) { display:block!important; }
}

@media (max-width:900px) {

  body.ux240-ready :where(.asset-header,.record-header,.certificate-header) { grid-template-columns:1fr; }
  body.ux240-ready .market-detail-grid { grid-template-columns:1fr; }
  body.ux240-ready .market-detail-grid > aside { position:static; }
  body.ux240-ready .validator-layout,
  body.ux240-ready .case-workspace { grid-template-columns:1fr; }
  body.ux240-ready .decision-readiness { position:static; }
}

@media (max-width:760px) {

  body.ux240-ready .search-syntax { flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; }
  body.ux240-ready .search-syntax > :where(button,a) { flex:0 0 210px; min-width:210px; }
  :root {
    --ux240-page-gutter:14px;
    --ux240-panel-pad:15px;
    --ux240-grid-gap:12px;
    --ux240-section-gap:26px;
  }
  body.ux240-ready .topbar { padding-inline:12px; }
  body.ux240-ready :where(.page-heading,.workspace-hero,.panel-hero,.admin-heading,.case-heading) { padding-inline:var(--ux240-panel-pad); }
  body.ux240-ready :where(.context-nav,.panel-tabs,.settings-tabs,.account-settings-nav,.explorer-tabs,.market-tabs,.collaboration-tabs,[data-page-tabs]) {
    width:100%;
    max-width:100%;
    display:flex;
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scroll-padding-inline:8px;
  }
  body.ux240-ready :where(.context-nav,.panel-tabs,.settings-tabs,.account-settings-nav,.explorer-tabs,.market-tabs,.collaboration-tabs,[data-page-tabs]) > * {
    flex:0 0 auto;
    white-space:nowrap;
  }
  body.ux240-ready :where(.table-toolbar,.ux-table-toolbar,.table-filter-toolbar) { align-items:stretch; }
  body.ux240-ready :where(.table-search,.ux-table-search) { flex:1 1 100%; max-width:none; }
  body.ux240-ready :where(.filter-panel,.audit-filter-form,.market-filter-bar,.validator-filter-bar,.advanced-filters) { grid-template-columns:1fr; }
  body.ux240-ready .filter-actions { position:sticky; bottom:0; z-index:4; padding-top:10px; background:var(--surface); }
  body.ux240-ready .payment-method-card { grid-template-columns:40px minmax(0,1fr); }
  body.ux240-ready .payment-method-card > :last-child { grid-column:1 / -1; }
  body.ux240-ready :where(.form-actions,.dialog-actions,.drawer-actions) { flex-wrap:wrap; }
  body.ux240-ready :where(.form-actions,.dialog-actions,.drawer-actions) > :is(button,a) { flex:1 1 auto; justify-content:center; }
  body.ux240-ready .evidence-item { grid-template-columns:42px minmax(0,1fr); }
  body.ux240-ready .evidence-item > :last-child { grid-column:2; }
}

@media (max-width:520px) {
  body.ux240-ready h1 { font-size:clamp(1.55rem,8vw,2rem); }
  body.ux240-ready :where(.panel,.admin-section,.case-card) { border-radius:var(--ux240-radius-card); }
  body.ux240-ready :where(.metric-card,.stat-card,.kpi-card) { min-height:132px; padding:var(--ux240-space-4); }
  body.ux240-ready .sticky-action-bar,
  body.ux240-ready .bulk-action-bar { width:calc(100vw - 20px); max-width:none; }
}

:root[data-theme="dark"] body.ux240-ready {
  --ux240-border-subtle:color-mix(in srgb,var(--text) 15%,var(--line));
  --ux240-border-strong:color-mix(in srgb,var(--text) 30%,var(--line));
  --ux240-shadow-raised:0 8px 28px rgba(0,0,0,.2);
  --ux240-shadow-overlay:0 28px 80px rgba(0,0,0,.46);
}
:root[data-theme="dark"] body.ux240-ready :where(.panel,.card,.admin-section,.case-card,.market-card) { background-color:color-mix(in srgb,var(--surface) 97%,#000); }
:root[data-contrast="high"] body.ux240-ready :where(.panel,.card,.admin-section,.case-card,input,select,textarea,button,.nav-link) { border-width:2px; border-color:currentColor; }

@media (prefers-reduced-motion:reduce) {
  body.ux240-ready .ux240-enter { animation:none; }
  body.ux240-ready *,body.ux240-ready *::before,body.ux240-ready *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; }
}

@media print {
  body.ux240-ready :where(.sidebar,.topbar,.context-nav,.panel-tabs,.page-actions,.heading-actions,.table-toolbar,.ux-table-toolbar,.filter-panel,.sticky-action-bar,.bulk-action-bar,.toast-container) { display:none!important; }
  body.ux240-ready :where(.main,.page,.admin-main,.case-main,.panel-workspace) { width:100%!important; max-width:none!important; margin:0!important; padding:0!important; }
  body.ux240-ready :where(.panel,.card,.admin-section,.case-card,.record-card) { break-inside:avoid; box-shadow:none!important; border:1px solid #999!important; }
  body.ux240-ready a[href]::after { content:""; }
}

/* Visual QA token and density inspector */
body.ux240-ready .ux240-token-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
  gap:var(--ux240-grid-gap);
}
body.ux240-ready .ux240-token-grid > article {
  min-width:0;
  padding:var(--ux240-space-4);
  display:grid;
  gap:6px;
  border:1px solid var(--ux240-border-subtle);
  border-radius:var(--ux240-radius-card);
  background:var(--surface-soft);
}
body.ux240-ready .ux240-token-grid :where(span,code,strong) { min-width:0; overflow-wrap:anywhere; }
body.ux240-ready .ux240-token-grid span { color:var(--muted); font-size:.75rem; }
body.ux240-ready .ux240-token-grid strong { font-variant-numeric:tabular-nums; }
body.ux240-ready .ux240-density-preview { margin-top:var(--ux240-space-6); display:grid; gap:var(--ux240-space-4); }
body.ux240-ready .ux240-density-preview[data-density="compact"] .component-demo { padding:12px; }
body.ux240-ready .ux240-density-preview[data-density="compact"] :where(input,button,.status-badge) { min-height:36px; }
body.ux240-ready .ux240-density-preview[data-density="spacious"] .component-demo { padding:28px; }
body.ux240-ready .ux240-density-preview[data-density="spacious"] :where(input,button) { min-height:50px; }
body.ux240-ready .ux240-density-preview [data-density-value].active { color:var(--primary); border-color:color-mix(in srgb,var(--primary) 38%,var(--line)); background:var(--primary-soft); }

@media (max-width:760px) {
  body.ux240-ready :where(button,.primary-button,.secondary-button,.danger-button,.warning-button,.ghost-button,.icon-button,.nav-link,.account-settings-nav > a,.panel-tabs > a,.context-nav > a) {
    min-height:44px;
  }
}
