/* Surety 2.7.1 — unified design, layout, UI and UX refinement layer.
   This file intentionally loads last so it can normalize earlier component generations
   without introducing page-specific hacks or additional !important declarations. */

:root {
  --ux280-space-1: 4px;
  --ux280-space-2: 8px;
  --ux280-space-3: 12px;
  --ux280-space-4: 16px;
  --ux280-space-5: 24px;
  --ux280-space-6: 32px;
  --ux280-space-7: 48px;
  --ux280-shell-sidebar: 244px;
  --ux280-shell-sidebar-compact: 76px;
  --ux280-content-reading: 760px;
  --ux280-content-form: 920px;
  --ux280-content-wide: 1480px;
  --ux280-control-height: 42px;
  --ux280-touch-height: 44px;
  --ux280-radius-control: 10px;
  --ux280-radius-panel: 16px;
  --ux280-shadow-float: 0 18px 50px rgba(20, 28, 55, .13);
  --ux280-transition: 160ms cubic-bezier(.2, .8, .2, 1);
}

/* 1–10: shell, page structure, hierarchy, spacing, widths, alignment and cards */
body.ux280-ready {
  --sidebar-w: var(--ux280-shell-sidebar);
  min-width: 0;
  background: var(--bg);
  text-rendering: optimizeLegibility;
}
body.ux280-ready.sidebar-collapsed { --sidebar-w: var(--ux280-shell-sidebar-compact); }
body.ux280-ready :where(.main,.page,.panel-workspace,.admin-main,.case-main,.private-topbar,.site-footer) { min-width: 0; }
body.ux280-ready .private-topbar {
  left: var(--sidebar-w);
  width: auto;
  padding-inline: clamp(12px, 2vw, 28px);
  gap: clamp(10px, 1.6vw, 22px);
  transition: left var(--ux280-transition);
}
body.ux280-ready .private-sidebar {
  width: var(--sidebar-w);
  transition: width var(--ux280-transition), transform var(--ux280-transition);
}
body.ux280-ready .main {
  margin-left: var(--sidebar-w);
  transition: margin-left var(--ux280-transition);
}
body.ux280-ready .page,
body.ux280-ready .panel-workspace,
body.ux280-ready .admin-main,
body.ux280-ready .case-main {
  width: min(100%, var(--ux280-content-wide));
  max-width: var(--ux280-content-wide);
  padding: clamp(18px, 2.5vw, 36px) clamp(14px, 2.7vw, 40px) var(--ux280-space-7);
}
body.ux280-ready :where(.page-template-reading,.content-reading) { max-width: var(--ux280-content-reading); }
body.ux280-ready :where(.page-template-form,.content-form) { max-width: var(--ux280-content-form); }
body.ux280-ready .ux280-page-header,
body.ux280-ready :where(.page-heading,.workspace-hero,.panel-hero,.admin-heading,.case-heading) {
  margin: 0 0 var(--ux280-space-5);
  padding: clamp(20px, 2.5vw, 34px);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--ux280-space-5);
  border: 1px solid color-mix(in srgb, var(--line) 88%, var(--primary) 12%);
  border-radius: var(--ux280-radius-panel);
  background: linear-gradient(135deg, color-mix(in srgb, var(--surface) 97%, var(--primary) 3%), var(--surface));
  box-shadow: none;
  overflow: clip;
}
body.ux280-ready :where(.page-heading,.workspace-hero,.panel-hero,.admin-heading,.case-heading)::before,
body.ux280-ready :where(.page-heading,.workspace-hero,.panel-hero,.admin-heading,.case-heading)::after { opacity: .48; }
body.ux280-ready :where(.page-heading,.workspace-hero,.panel-hero,.admin-heading,.case-heading) > :first-child { min-width: 0; }
body.ux280-ready :where(.page-heading,.workspace-hero,.panel-hero,.admin-heading,.case-heading) h1 {
  max-width: 24ch;
  margin: var(--ux280-space-1) 0 var(--ux280-space-2);
  font-size: clamp(1.65rem, 2.6vw, 2.45rem);
  line-height: 1.05;
  letter-spacing: -.035em;
}
body.ux280-ready :where(.page-heading,.workspace-hero,.panel-hero,.admin-heading,.case-heading) p {
  max-width: 68ch;
  margin: 0;
  font-size: clamp(.88rem, .35vw + .8rem, 1rem);
  line-height: 1.58;
}
body.ux280-ready .page-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: var(--ux280-space-2);
}
body.ux280-ready .page-actions > :where(button,a) { white-space: nowrap; }
body.ux280-ready .ux280-secondary-primary { background: var(--surface); color: var(--text-strong); border-color: var(--line); box-shadow: none; }
body.ux280-ready .ux280-secondary-primary:hover { background: var(--surface-soft); color: var(--text-strong); }
body.ux280-ready :where(.panel,.admin-section,.case-card,.market-card,.billing-section,.component-demo,.transaction-workspace) {
  border-radius: var(--ux280-radius-panel);
  box-shadow: none;
}
body.ux280-ready :where(.panel,.admin-section,.case-card) + :where(.panel,.admin-section,.case-card) { margin-top: var(--ux280-space-5); }
body.ux280-ready .ux280-flatten-nested > :where(.panel,.admin-section,.case-card) {
  border-inline: 0;
  border-radius: 0;
  background: transparent;
}
body.ux280-ready :where(.section-head,.panel-header,.billing-section-head,.form-section-head) {
  min-height: 0;
  padding: var(--ux280-space-4) clamp(16px, 2vw, 24px);
  align-items: flex-start;
  gap: var(--ux280-space-4);
}
body.ux280-ready :where(.section-head,.panel-header,.billing-section-head,.form-section-head) h2,
body.ux280-ready :where(.section-head,.panel-header,.billing-section-head,.form-section-head) h3 { line-height: 1.25; }
body.ux280-ready :where(.section-head,.panel-header,.billing-section-head,.form-section-head) p { line-height: 1.5; }
body.ux280-ready :where(.section-label,.eyebrow) { letter-spacing: .09em; }

/* 11–18: navigation behavior, context, grouping, terminology and responsive access */
body.ux280-ready .primary-nav { gap: 2px; }
body.ux280-ready .ux280-nav-group { display: grid; gap: 2px; min-width: 0; }
body.ux280-ready .ux280-nav-group + .ux280-nav-group { margin-top: var(--ux280-space-2); }
body.ux280-ready .ux280-nav-group-toggle {
  min-height: 36px;
  width: 100%;
  padding: 7px 9px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: .66rem;
  font-weight: 780;
  letter-spacing: .08em;
  text-align: left;
  text-transform: uppercase;
  cursor: pointer;
}
body.ux280-ready .ux280-nav-group-toggle:hover { color: var(--text-strong); background: var(--surface-soft); }
body.ux280-ready .ux280-nav-group-toggle i { transition: transform var(--ux280-transition); }
body.ux280-ready .ux280-nav-group[data-collapsed="true"] .ux280-nav-group-toggle i { transform: rotate(-90deg); }
body.ux280-ready .ux280-nav-group-links { display: grid; gap: 2px; min-width: 0; }
body.ux280-ready .ux280-nav-group[data-collapsed="true"] .ux280-nav-group-links { display: none; }
body.ux280-ready .primary-nav .nav-link {
  min-height: 42px;
  width: 100%;
  padding: 8px 10px;
  display: grid;
  grid-template-columns: 22px minmax(0,1fr) auto;
  align-items: center;
  gap: 9px;
  line-height: 1.25;
}
body.ux280-ready .primary-nav .nav-link > span:not(.nav-active-dot):not(.nav-count) { min-width: 0; overflow-wrap: anywhere; }
body.ux280-ready .primary-nav .nav-link.active { box-shadow: inset 3px 0 0 var(--primary); }
body.ux280-ready .topbar-context { min-width: 0; max-width: min(28vw, 360px); }
body.ux280-ready .topbar-context strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.ux280-ready :where(.account-settings-nav,.context-nav,.panel-tabs,.settings-tabs,.explorer-tabs,.market-tabs,.collaboration-tabs,[data-page-tabs]) {
  position: relative;
  max-width: 100%;
  padding: 4px;
  display: flex;
  align-items: center;
  gap: 4px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
}
body.ux280-ready :where(.account-settings-nav,.context-nav,.panel-tabs,.settings-tabs,.explorer-tabs,.market-tabs,.collaboration-tabs,[data-page-tabs]) > :where(a,button) {
  flex: 0 0 auto;
  min-height: 38px;
  padding: 8px 11px;
  display: inline-flex;
  align-items: center;
  scroll-snap-align: start;
  white-space: nowrap;
  border-radius: 8px;
}
body.ux280-ready .ux280-scrollable-nav::after {
  content: "";
  position: sticky;
  right: -1px;
  flex: 0 0 24px;
  align-self: stretch;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, var(--surface));
}
body.ux280-ready .breadcrumbs { margin-bottom: var(--ux280-space-3); }
body.ux280-ready .breadcrumbs :where(a,span) { font-size: .75rem; }
body.ux280-ready .mobile-section-label { display: none; }

/* 19–25: action hierarchy and feedback */
body.ux280-ready :where(button,.primary-button,.secondary-button,.danger-button,.icon-button,input[type="submit"],input[type="button"]) {
  min-height: var(--ux280-control-height);
  border-radius: var(--ux280-radius-control);
}
body.ux280-ready :where(.primary-button,.secondary-button,.danger-button) {
  padding-inline: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  line-height: 1.15;
}
body.ux280-ready .icon-button { min-width: var(--ux280-control-height); padding: 0; }
body.ux280-ready :where(.card-actions,.panel-actions,.heading-actions,.prioritized-actions,.milestone-actions) {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--ux280-space-2);
}
body.ux280-ready .prioritized-actions {
  align-self: center;
  padding: var(--ux280-space-2);
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface-soft);
}
body.ux280-ready .disabled-action-reason,
body.ux280-ready .ux280-disabled-reason {
  margin: 5px 0 0;
  display: block;
  color: var(--muted);
  font-size: .75rem;
  line-height: 1.4;
}
body.ux280-ready button[aria-busy="true"],
body.ux280-ready .is-loading { cursor: progress; opacity: .82; pointer-events: none; }
body.ux280-ready button[aria-busy="true"] i:first-child { animation: ux280-spin .8s linear infinite; }
@keyframes ux280-spin { to { transform: rotate(360deg); } }

/* 26–35: forms, steps, help, errors, review states and warning discipline */
body.ux280-ready form:not(.global-search):not(.private-signout):not(.inline-review) { max-width: 100%; }
body.ux280-ready :where(.form-grid,.form-row) { gap: var(--ux280-space-4); }
body.ux280-ready .form-grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); }
body.ux280-ready form :where(label,.field-group) { min-width: 0; }
body.ux280-ready form label { line-height: 1.35; }
body.ux280-ready form label > :where(input,select,textarea) { margin-top: 6px; }
body.ux280-ready :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
  width: 100%;
  min-height: var(--ux280-control-height);
  border-radius: var(--ux280-radius-control);
}
body.ux280-ready textarea { min-height: 108px; resize: vertical; }
body.ux280-ready .field-help,
body.ux280-ready label > small { margin-top: 6px; display: block; color: var(--muted); font-size: .75rem; line-height: 1.45; }
body.ux280-ready .ux280-required::after { content: " Required"; color: var(--red); font-size: .68rem; font-weight: 720; }
body.ux280-ready .ux280-character-count { margin-top: 5px; display: block; color: var(--muted); font-size: .7rem; text-align: right; }
body.ux280-ready .ux280-character-count.is-near { color: var(--amber); font-weight: 720; }
body.ux280-ready .ux280-character-count.is-over { color: var(--red); }
body.ux280-ready .ux280-field-error { margin-top: 6px; display: flex; align-items: flex-start; gap: 6px; color: var(--red); font-size: .76rem; line-height: 1.4; }
body.ux280-ready :where(input,select,textarea)[aria-invalid="true"] { border-color: var(--red); box-shadow: 0 0 0 3px color-mix(in srgb,var(--red) 13%,transparent); }
body.ux280-ready .ux280-error-summary {
  margin: 0 0 var(--ux280-space-4);
  padding: var(--ux280-space-4);
  border: 1px solid color-mix(in srgb,var(--red) 45%,var(--line));
  border-left: 4px solid var(--red);
  border-radius: 12px;
  background: color-mix(in srgb,var(--red) 7%,var(--surface));
}
body.ux280-ready .ux280-error-summary h2 { margin: 0 0 6px; font-size: 1rem; }
body.ux280-ready .ux280-error-summary ul { margin: 0; padding-left: 20px; }
body.ux280-ready .ux280-error-summary button { min-height: 28px; padding: 0; border: 0; background: none; color: var(--primary); text-align: left; cursor: pointer; }
body.ux280-ready :where(.workflow-progress,.case-progress,.step-progress) { overflow-x: auto; overscroll-behavior-inline: contain; }
body.ux280-ready :where(.workflow-progress-step,.case-progress > div) { min-width: 128px; }
body.ux280-ready .form-actions {
  margin-top: var(--ux280-space-5);
  padding-top: var(--ux280-space-4);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: var(--ux280-space-2);
  border-top: 1px solid var(--line);
}
body.ux280-ready form.ux280-long-form { padding-bottom: calc(var(--ux280-control-height) + 34px); }
body.ux280-ready form.ux280-long-form > .form-actions:last-child,
body.ux280-ready form.ux280-long-form > :last-child.form-actions {
  position: sticky;
  bottom: 10px;
  z-index: 24;
  margin-inline: -10px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: color-mix(in srgb,var(--surface) 94%,transparent);
  box-shadow: var(--ux280-shadow-float);
  backdrop-filter: blur(16px);
}
body.ux280-ready :where(.review-summary,.submission-review,.confirmation-summary) :where(input,select,textarea):disabled { opacity: 1; color: var(--text-strong); background: var(--surface-soft); }
body.ux280-ready :where(.auth-alert,.callout,.notice) { border-radius: 12px; }
body.ux280-ready :where(.auth-alert,.callout,.notice):not(.error):not(.danger) { border-color: color-mix(in srgb,var(--primary) 20%,var(--line)); }

/* 36–45: search, filters, tables, mobile cards, empty states and pagination */
body.ux280-ready .table-toolbar,
body.ux280-ready .table-tools {
  padding: var(--ux280-space-3);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--ux280-space-2);
  border: 1px solid var(--line);
  border-bottom: 0;
  border-radius: 12px 12px 0 0;
  background: var(--surface-soft);
}
body.ux280-ready .table-search {
  position: relative;
  flex: 1 1 260px;
  min-width: min(100%,220px);
  display: flex;
  align-items: center;
  border: 0;
  background: transparent;
  box-shadow: none;
}
body.ux280-ready .table-search > i { position: absolute; left: 13px; z-index: 1; color: var(--muted); pointer-events: none; }
body.ux280-ready .table-search input {
  margin: 0;
  padding-left: 38px;
  border: 1px solid var(--line);
  background: var(--surface);
  box-shadow: none;
}
body.ux280-ready .admin-table-wrap,
body.ux280-ready .table-scroll,
body.ux280-ready .table-wrapper {
  max-width: 100%;
  overflow: auto;
  overscroll-behavior-inline: contain;
  scrollbar-gutter: stable;
  border-radius: 0 0 12px 12px;
}
body.ux280-ready table { width: 100%; border-collapse: separate; border-spacing: 0; }
body.ux280-ready table th { position: sticky; top: 0; z-index: 4; background: var(--surface-soft); }
body.ux280-ready table :where(th,td) { max-width: 34ch; overflow-wrap: anywhere; vertical-align: top; }
body.ux280-ready table :where(code,.record-id,[data-copy]) { white-space: normal; word-break: break-all; }
body.ux280-ready tr > :first-child { position: sticky; left: 0; z-index: 2; background: inherit; }
body.ux280-ready thead tr > :first-child { z-index: 6; background: var(--surface-soft); }
body.ux280-ready tbody tr:hover > td { background: color-mix(in srgb,var(--primary) 3%,var(--surface)); }
body.ux280-ready tbody tr:hover > td:first-child { background: color-mix(in srgb,var(--primary) 3%,var(--surface)); }
body.ux280-ready .ux280-filter-chips { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
body.ux280-ready .ux280-filter-chip { min-height: 30px; padding: 5px 9px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); font-size: .72rem; }
body.ux280-ready :where(.admin-empty,.case-empty,.empty-state,[data-empty-state]) {
  min-height: 180px;
  padding: var(--ux280-space-6);
  display: grid;
  place-items: center;
  align-content: center;
  gap: var(--ux280-space-2);
  text-align: center;
}
body.ux280-ready :where(.admin-empty,.case-empty,.empty-state,[data-empty-state])::before {
  content: "\f07c";
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: var(--primary);
  background: var(--primary-soft);
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 1.15rem;
}
body.ux280-ready :where(.pagination,.table-pagination) { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--ux280-space-2); }

/* 46–51: modal, drawer and overlay discipline */
body.ux280-ready.ux280-overlay-open { overflow: hidden; }
body.ux280-ready :where(.modal-backdrop,.command-backdrop,.market-modal,.ux-confirm-backdrop,.ux-drawer-backdrop) { overscroll-behavior: contain; }
body.ux280-ready .modal {
  width: min(var(--ux280-modal-width,720px),calc(100vw - 28px));
  max-height: min(90dvh,920px);
  overflow: auto;
  border-radius: 18px;
  box-shadow: var(--ux280-shadow-float);
}
body.ux280-ready :where(.market-modal-card,.dialog-card,.ux-confirm,[data-modal-layout="structured"]) {
  width: min(var(--ux280-modal-width,720px),calc(100vw - 28px));
  max-height: min(90dvh,920px);
  padding: 0;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto minmax(0,1fr) auto;
  border-radius: 18px;
  box-shadow: var(--ux280-shadow-float);
}
body.ux280-ready :where(.market-modal-card,.dialog-card,.ux-confirm,[data-modal-layout="structured"]) > :where(header,.modal-header):first-child {
  position: relative;
  margin: 0;
  padding: 18px 22px;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}
body.ux280-ready :where(.market-modal-card,.dialog-card,.ux-confirm,[data-modal-layout="structured"]) > :where(.modal-body,[data-modal-body],form):not(:last-child) {
  min-height: 0;
  padding: 20px 22px;
  overflow: auto;
}
body.ux280-ready :where(.market-modal-card,.dialog-card,.ux-confirm,[data-modal-layout="structured"]) > :where(.modal-actions,footer):last-child {
  position: relative;
  margin: 0;
  padding: 14px 22px;
  border-top: 1px solid var(--line);
  background: var(--surface);
}
body.ux280-ready .modal-close,
body.ux280-ready .market-modal-close { top: 12px; right: 12px; }
body.ux280-ready .ux-drawer { width: min(560px,calc(100vw - 20px)); }

/* 52–57: dashboards, task orientation, attention queues and semantic status */
body.ux280-ready :where(.metric-grid,.admin-metric-grid,.billing-metric-grid,.validator-metrics) {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,190px),1fr));
  gap: var(--ux280-space-3);
}
body.ux280-ready :where(.metric-card,.admin-metric-grid > article,.billing-metric-grid > article,.validator-metrics > article) { min-height: 112px; padding: var(--ux280-space-4); }
body.ux280-ready :where(.journey-work-list,.attention-list,.validator-case-list) { display: grid; gap: var(--ux280-space-3); }
body.ux280-ready .journey-work-card {
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: var(--ux280-space-4);
  padding: var(--ux280-space-4);
}
body.ux280-ready :where(.status-badge,.case-status,.status-pill) { min-height: 25px; padding: 4px 8px; display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; line-height: 1; }
body.ux280-ready :where(.status-badge,.case-status,.status-pill)[data-status-tone="success"] { color: var(--green); background: color-mix(in srgb,var(--green) 11%,var(--surface)); }
body.ux280-ready :where(.status-badge,.case-status,.status-pill)[data-status-tone="warning"] { color: var(--amber); background: color-mix(in srgb,var(--amber) 12%,var(--surface)); }
body.ux280-ready :where(.status-badge,.case-status,.status-pill)[data-status-tone="danger"] { color: var(--red); background: color-mix(in srgb,var(--red) 10%,var(--surface)); }
body.ux280-ready :where(.status-badge,.case-status,.status-pill)[data-status-tone="info"] { color: var(--primary); background: var(--primary-soft); }

/* 58–63: customer-facing marketplace, listing trust and transaction clarity */
body.ux280-ready.marketplace-experience,
body.ux280-ready:has(.market-grid,.marketplace-grid,.market-listing-grid) { --ux280-content-wide: 1560px; }
body.ux280-ready :where(.market-grid,.marketplace-grid,.market-listing-grid) {
  grid-template-columns: repeat(auto-fill,minmax(min(100%,280px),1fr));
  gap: clamp(14px, 2vw, 24px);
}
body.ux280-ready .market-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto 1fr;
  border-color: color-mix(in srgb,var(--line) 88%,var(--primary) 12%);
  background: var(--surface);
  transition: transform var(--ux280-transition), border-color var(--ux280-transition), box-shadow var(--ux280-transition);
}
body.ux280-ready .market-card:hover { transform: translateY(-2px); border-color: color-mix(in srgb,var(--primary) 35%,var(--line)); box-shadow: 0 12px 32px rgba(20,28,55,.1); }
body.ux280-ready .market-card :where(img,picture,.market-card-visual,.asset-visual) { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
body.ux280-ready .market-card-body { min-width: 0; padding: var(--ux280-space-4); display: grid; align-content: start; gap: var(--ux280-space-2); }
body.ux280-ready .market-card-body h3 { min-height: 2.5em; margin: 0; line-height: 1.25; }
body.ux280-ready .market-card .price { font-size: 1.18rem; color: var(--text-strong); }
body.ux280-ready .market-card .card-actions { margin-top: auto; padding-top: var(--ux280-space-3); }
body.ux280-ready .ux280-trust-row { display: flex; flex-wrap: wrap; gap: 6px; }
body.ux280-ready .ux280-trust-row span { padding: 4px 7px; border-radius: 999px; color: var(--muted); background: var(--surface-soft); font-size: .68rem; }
body.ux280-ready :where(.checkout-summary,.market-order-summary,.fee-summary) { border: 1px solid var(--line); border-radius: 12px; background: var(--surface-soft); }

/* 64–69: admin and validator workspace focus */
body.ux280-ready :where(.case-layout,.validator-workspace,.validator-review-layout) { align-items: start; gap: var(--ux280-space-5); }
body.ux280-ready .case-layout { grid-template-columns: minmax(0,1.45fr) minmax(300px,.75fr); }
body.ux280-ready :where(.case-column,.validator-review-controls,.case-summary) { min-width: 0; }
body.ux280-ready :where(.validator-review-controls,.case-summary) { position: sticky; top: calc(var(--topbar-h) + 16px); }
body.ux280-ready :where(.danger-zone,.destructive-actions) { border-color: color-mix(in srgb,var(--red) 42%,var(--line)); background: color-mix(in srgb,var(--red) 4%,var(--surface)); }
body.ux280-ready :where(.danger-zone,.destructive-actions) h2,
body.ux280-ready :where(.danger-zone,.destructive-actions) h3 { color: var(--red); }
body.ux280-ready .admin-section > .section-head + .admin-table-wrap { border-top: 0; }
body.ux280-ready .admin-main :where(.quick-control-grid,.admin-action-cards) { grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr)); }

/* 70–74: billing and settings composition */
body.ux280-ready .billing-shell { display: grid; gap: var(--ux280-space-5); }
body.ux280-ready .billing-summary-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,210px),1fr)); gap: var(--ux280-space-3); }
body.ux280-ready .billing-section { padding: clamp(16px,2vw,24px); }
body.ux280-ready :where(.account-settings-layout,.settings-layout) { align-items: start; gap: var(--ux280-space-5); }
body.ux280-ready :where(.account-settings-layout,.settings-layout) > :where(.account-settings-nav,.settings-nav) { position: sticky; top: calc(var(--topbar-h) + 16px); max-height: calc(100dvh - var(--topbar-h) - 32px); overflow-y: auto; }

/* 75–80: progress, skeletons, footer containment, transitions and QA utilities */
body.ux280-ready .ux280-route-progress {
  position: fixed;
  inset: 0 100% auto 0;
  z-index: 1000;
  height: 3px;
  background: var(--primary);
  box-shadow: 0 0 14px color-mix(in srgb,var(--primary) 55%,transparent);
  transition: right 220ms ease;
  pointer-events: none;
}
body.ux280-ready .ux280-route-progress.is-active { right: 18%; }
body.ux280-ready .ux280-route-progress.is-finishing { right: 0; opacity: 0; transition: right 120ms ease, opacity 260ms ease 100ms; }
body.ux280-ready .skeleton,
body.ux280-ready [data-skeleton] {
  position: relative;
  overflow: hidden;
  color: transparent;
  border-color: transparent;
  background: var(--surface-soft);
}
body.ux280-ready .skeleton::after,
body.ux280-ready [data-skeleton]::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg,transparent,color-mix(in srgb,var(--surface) 70%,transparent),transparent);
  animation: ux280-skeleton 1.4s infinite;
}
@keyframes ux280-skeleton { to { transform: translateX(100%); } }
body.ux280-ready .site-footer[data-workspace-footer="true"] {
  width: min(calc(100% - var(--sidebar-w)),var(--ux280-content-wide));
  margin-left: var(--sidebar-w);
  padding-inline: clamp(14px,2.7vw,40px);
  box-sizing: border-box;
}
body.ux280-ready :where(a,button,input,select,textarea,.panel,.market-card,.nav-link) { transition-duration: 140ms; }
body.ux280-ready [data-ajax-content],
body.ux280-ready .ux280-content-enter { animation: ux280-enter 180ms ease-out; }
@keyframes ux280-enter { from { opacity: .65; transform: translateY(3px); } }

@media (max-width: 1100px) {
  body.ux280-ready .site-footer[data-workspace-footer="true"] { width:100%; margin-left:0; }
  body.ux280-ready .global-search-wrap { flex: 1 1 260px; }
  body.ux280-ready .topbar-context { max-width: 210px; }
  body.ux280-ready .case-layout { grid-template-columns: 1fr; }
  body.ux280-ready :where(.validator-review-controls,.case-summary) { position: relative; top: auto; }
}

@media (max-width: 760px) {
  :root { --ux280-control-height: var(--ux280-touch-height); }
  body.ux280-ready { --sidebar-w: 0px; }
  body.ux280-ready .private-sidebar { width: min(86vw,286px); }
  body.ux280-ready .private-topbar { left: 0; right: 0; }
  body.ux280-ready .main { margin-left: 0; }
  body.ux280-ready .page,
  body.ux280-ready .panel-workspace,
  body.ux280-ready .admin-main,
  body.ux280-ready .case-main { padding: 14px 11px 88px; }
  body.ux280-ready .topbar-context { flex: 1 1 auto; max-width: none; }
  body.ux280-ready .topbar-context span { display: none; }
  body.ux280-ready .mobile-section-label { display: block; color: var(--muted); font-size: .65rem; text-transform: uppercase; }
  body.ux280-ready :where(.page-heading,.workspace-hero,.panel-hero,.admin-heading,.case-heading) {
    padding: 18px;
    align-items: stretch;
    flex-direction: column;
    gap: var(--ux280-space-4);
  }
  body.ux280-ready :where(.page-heading,.workspace-hero,.panel-hero,.admin-heading,.case-heading) h1 { max-width: none; }
  body.ux280-ready .page-actions { width: 100%; justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 2px; }
  body.ux280-ready .page-actions > :where(button,a) { flex: 0 0 auto; }
  body.ux280-ready :where(.account-settings-nav,.context-nav,.panel-tabs,.settings-tabs,.explorer-tabs,.market-tabs,.collaboration-tabs,[data-page-tabs]) {
    position: relative;
    top: auto;
    margin-inline: -2px;
    border-radius: 10px;
  }
  body.ux280-ready .form-grid.two,
  body.ux280-ready .form-row { grid-template-columns: 1fr; }
  body.ux280-ready .form-actions { align-items: stretch; flex-direction: column-reverse; }
  body.ux280-ready .form-actions > :where(button,a,input[type="submit"]) { width: 100%; }
  body.ux280-ready form.ux280-long-form > .form-actions:last-child { bottom: 72px; margin-inline: -4px; }
  body.ux280-ready .journey-work-card { grid-template-columns: auto minmax(0,1fr); }
  body.ux280-ready .journey-work-card > :where(.primary-button,.secondary-button,a:last-child) { grid-column: 1 / -1; width: 100%; }
  body.ux280-ready .table-toolbar,
  body.ux280-ready .table-tools { align-items: stretch; }
  body.ux280-ready .table-search { flex-basis: 100%; }
  body.ux280-ready .admin-table-wrap[data-mobile-cards="true"] { overflow: visible; border: 0; background: transparent; }
  body.ux280-ready .admin-table-wrap[data-mobile-cards="true"] table { display: block; min-width: 0; }
  body.ux280-ready .admin-table-wrap[data-mobile-cards="true"] thead { display: none; }
  body.ux280-ready .admin-table-wrap[data-mobile-cards="true"] tbody { display: grid; gap: 10px; }
  body.ux280-ready .admin-table-wrap[data-mobile-cards="true"] tr {
    padding: 13px;
    display: grid;
    gap: 8px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: var(--surface);
  }
  body.ux280-ready .admin-table-wrap[data-mobile-cards="true"] td {
    position: static;
    max-width: none;
    padding: 0;
    display: grid;
    grid-template-columns: minmax(88px,.72fr) minmax(0,1.28fr);
    gap: 10px;
    border: 0;
    background: transparent;
  }
  body.ux280-ready .admin-table-wrap[data-mobile-cards="true"] td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: .7rem;
    font-weight: 720;
  }
  body.ux280-ready .admin-table-wrap[data-mobile-cards="true"] td:last-child { padding-top: 8px; border-top: 1px solid var(--line); }
  body.ux280-ready :where(.modal,.market-modal-card,.dialog-card,.ux-confirm) { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); border-radius: 14px; }
  body.ux280-ready :where(.market-modal-card,.dialog-card,.ux-confirm,[data-modal-layout="structured"]) > :where(header,.modal-header):first-child,
  body.ux280-ready :where(.market-modal-card,.dialog-card,.ux-confirm,[data-modal-layout="structured"]) > :where(.modal-body,[data-modal-body],form):not(:last-child),
  body.ux280-ready :where(.market-modal-card,.dialog-card,.ux-confirm,[data-modal-layout="structured"]) > :where(.modal-actions,footer):last-child { padding-inline: 16px; }
  body.ux280-ready .site-footer[data-workspace-footer="true"] { width: 100%; margin-left: 0; padding-bottom: 88px; }
}

@media (max-width: 430px) {
  body.ux280-ready :where(.section-head,.panel-header,.billing-section-head,.form-section-head) { flex-direction: column; align-items: stretch; }
  body.ux280-ready :where(.section-head,.panel-header,.billing-section-head,.form-section-head) > :where(.panel-actions,.page-actions,.primary-button,.secondary-button,button,select) { margin-left: 0; }
  body.ux280-ready .prioritized-actions { width: 100%; align-items: stretch; flex-direction: column; }
  body.ux280-ready .prioritized-actions > * { width: 100%; }
  body.ux280-ready .market-grid,
  body.ux280-ready .marketplace-grid,
  body.ux280-ready .market-listing-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  body.ux280-ready *,
  body.ux280-ready *::before,
  body.ux280-ready *::after { scroll-behavior: auto; animation-duration: .01ms; animation-iteration-count: 1; transition-duration: .01ms; }
}

/* Final action-hierarchy specificity guard: demoted actions must never inherit primary white text. */
body.ux280-ready .page-actions > .primary-button.ux280-secondary-primary,
body.ux280-ready .heading-actions > .primary-button.ux280-secondary-primary,
body.ux280-ready .card-actions > .primary-button.ux280-secondary-primary,
body.ux280-ready .panel-actions > .primary-button.ux280-secondary-primary,
body.ux280-ready .prioritized-actions > .primary-button.ux280-secondary-primary,
body.ux280-ready .milestone-actions > .primary-button.ux280-secondary-primary {
  color: var(--text-strong);
  background: var(--surface);
  border-color: var(--line);
  box-shadow: none;
}
body.ux280-ready .page-actions > .primary-button.ux280-secondary-primary,
body.ux280-ready .heading-actions > .primary-button.ux280-secondary-primary,
body.ux280-ready .card-actions > .primary-button.ux280-secondary-primary,
body.ux280-ready .panel-actions > .primary-button.ux280-secondary-primary,
body.ux280-ready .prioritized-actions > .primary-button.ux280-secondary-primary,
body.ux280-ready .milestone-actions > .primary-button.ux280-secondary-primary {
  color: var(--text-strong) !important;
  -webkit-text-fill-color: var(--text-strong);
}
