@layer components {
  .ws-ledger-boundary { margin: var(--spacing-sm) 0 var(--spacing-md); }
  .ws-card-check { display: grid; gap: var(--spacing-sm); margin-bottom: var(--spacing-md); }
  .ws-card-exception { overflow-wrap: anywhere; }
  .ws-card-exception .ws-mercury-draft-head { flex-direction: row; }
  .ws-card-exception .ws-money { white-space: nowrap; }
  .ws-card-check ul { padding-inline-start: var(--spacing-md); }
  .ws-ledger-filters { margin-bottom: var(--spacing-sm); }
  .ws-ledger-filter-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: var(--spacing-sm); align-items: end; }
  .ws-ledger-result-count { grid-column: 1 / -1; justify-self: end; color: var(--text-secondary); font-size: var(--text-sm); }
  .ws-journal-table { min-width: 920px; }
  .ws-ledger-table-head, .ws-ledger-table-row { display: grid; grid-template-columns: 96px 1fr 96px 104px 104px 104px 72px; gap: var(--spacing-xs); padding: var(--spacing-sm) var(--spacing-md); align-items: start; }
  .ws-ledger-table-head { color: var(--text-tertiary); font-size: var(--text-xs); font-weight: 600; text-transform: uppercase; letter-spacing: var(--tracking-wide); border-bottom: 1px solid var(--border-subtle); }
  .ws-ledger-table-row { font-size: var(--text-sm); border-bottom: 1px solid var(--border-subtle); }
  .ws-ledger-table-row:last-child { border-bottom: 0; }
  .ws-ledger-table-row:hover { background: var(--hover-wash); }
  .ws-money { text-align: right; font-variant-numeric: tabular-nums; }
  .ws-status-pill { display: inline-flex; align-items: center; gap: 5px; --icon-size: 13px; }
  .ws-status-pill [class^="icon-"] { mask-image: var(--icon-mask); mask-position: center; mask-repeat: no-repeat; mask-size: contain; background: currentColor; }
  .ws-balance-flag { display: inline-flex; gap: var(--spacing-xxs); align-items: center; margin-top: var(--spacing-xxs); padding: var(--spacing-xxs) var(--spacing-xs); border-radius: var(--radius-sm); color: var(--semantic-warning); background: var(--semantic-warning-wash); font-size: var(--text-xs); --icon-size: 14px; }
  .ws-generated-label { display: inline-flex; margin-top: var(--spacing-xxs); padding: var(--spacing-xxs) var(--spacing-xs); border-radius: var(--radius-sm); color: var(--semantic-info); background: var(--semantic-info-wash); font-size: var(--text-xs); }
  .ws-mercury-draft-inbox { display: grid; gap: var(--spacing-md); margin-bottom: var(--spacing-md); }
  .ws-mercury-draft-head { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--spacing-md); }
  .ws-mercury-draft-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--spacing-xs); }
  .ws-mercury-draft-summary > div { display: grid; gap: var(--spacing-xxs); padding: var(--spacing-sm); border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-cream-dark); }
  .ws-mercury-draft-list { display: grid; gap: var(--spacing-xs); }
  .ws-mercury-draft-item { padding: var(--spacing-sm); border: 1px solid var(--border-subtle); border-radius: var(--radius-md); }
  .ws-mercury-draft-lines { display: grid; gap: var(--spacing-xxs); margin-top: var(--spacing-xs); }
  .ws-mercury-draft-lines > div { display: flex; justify-content: space-between; gap: var(--spacing-sm); color: var(--text-secondary); font-size: var(--text-sm); }
  .ws-generation-provenance { display: grid; gap: var(--spacing-sm); margin-bottom: var(--spacing-md); }
  .ws-superseded { color: var(--text-secondary); text-decoration: line-through; text-decoration-color: var(--border-default); }
  .ws-ledger-mobile, .ws-mobile-only { display: none; }
  .ws-ledger-card-head, .ws-period-head, .ws-period-head .ws-item-title-row { display: flex; justify-content: space-between; align-items: center; gap: var(--spacing-xs); }
  .ws-journal-card-money { display: grid; grid-template-columns: 1fr 1fr; gap: var(--spacing-sm); margin-top: var(--spacing-sm); }
  .ws-journal-card-money > div { display: grid; }
  .ws-journal-card .app-title { color: var(--text-primary); text-decoration: none; }
  .ws-journal-inline-post { width: 100%; margin-top: var(--spacing-sm); }
  .ws-ledger-entry-form { display: grid; gap: var(--spacing-md); }
  .ws-ledger-entry-head .ws-form-row { grid-template-rows: auto auto auto; }
  .ws-ledger-entry-head .ws-form-row > .ws-field { grid-row: span 3; }
  .ws-line-editor { overflow: visible; }
  .ws-line-head, .ws-line-row { display: grid; grid-template-columns: 1fr 1fr 120px 120px 72px; gap: var(--spacing-xs); padding: var(--spacing-xs) var(--spacing-md); align-items: center; }
  .ws-line-head { color: var(--text-tertiary); font-size: var(--text-xs); font-weight: 600; }
  .ws-line-order { display: flex; align-items: center; gap: var(--spacing-xxs); font-size: var(--text-xs); }
  .ws-totals-bar { display: grid; grid-template-columns: 1fr 120px 120px; gap: var(--spacing-xs); align-items: center; padding: var(--spacing-sm) var(--spacing-md); background: var(--surface-cream-dark); border-radius: 0 0 var(--radius-lg) var(--radius-lg); }
  .ws-totals-actions { grid-column: 1 / -1; display: flex; gap: var(--spacing-xs); align-items: center; }
  .ws-totals-actions input[type="submit"] { margin-left: auto; }
  .ws-ledger-facts { display: grid; grid-template-columns: 1fr 1fr; gap: var(--spacing-xs) var(--spacing-sm); }
  .ws-ledger-facts dt { color: var(--text-secondary); }
  .ws-ledger-facts dd { margin: 0; }
  .ws-ledger-facts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--spacing-md); margin-bottom: var(--spacing-md); }
  .ws-ledger-facts-grid > div { display: grid; gap: var(--spacing-xxs); }
  .ws-ledger-wide { grid-column: 1 / -1; }
  .ws-posted-line { display: grid; grid-template-columns: 40px 1fr 1fr 120px 120px; gap: var(--spacing-xs); padding: var(--spacing-sm) var(--spacing-md); border-bottom: 1px solid var(--border-subtle); }
  .ws-posted-total { background: var(--surface-cream-dark); border-bottom: 0; }
  .ws-ledger-halves { display: grid; grid-template-columns: 1fr 1fr; gap: var(--spacing-md); margin-top: var(--spacing-md); }
  .ws-statement-imports { margin-block-end: var(--spacing-md); }
  .ws-ledger-notice { padding: var(--spacing-sm); border-radius: var(--radius-md); margin-bottom: var(--spacing-md); }
  .ws-ledger-notice--warning { color: var(--semantic-warning); background: var(--semantic-warning-wash); }
  .ws-ledger-notice--info { color: var(--semantic-info); background: var(--semantic-info-wash); }
  .ws-ledger-doc-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--spacing-xs); align-items: end; margin-top: var(--spacing-sm); }
  .ws-ledger-doc-form > .app-label { grid-column: 1 / -1; }
  .ws-ledger-doc-form input[type="file"], .ws-ledger-doc-form .ws-select { min-width: 0; width: 100%; }
  .ws-danger-outline { color: var(--semantic-danger); border-color: var(--semantic-danger); }
  .ws-danger-fill { color: var(--surface-card); background: var(--semantic-danger); }
  .ws-account-row { display: grid; grid-template-columns: 1fr 110px 92px 104px 92px; gap: var(--spacing-xs); align-items: center; padding: var(--spacing-sm) var(--spacing-md); border-bottom: 1px solid var(--border-subtle); }
  .ws-account-row:last-child { border-bottom: 0; }
  .ws-account-row--child > div:first-child { padding-left: var(--spacing-sm); border-left: 2px solid var(--border-subtle); }
  .ws-account-code { color: var(--text-secondary); font-family: ui-monospace, monospace; }
  .ws-locked-block { padding: var(--spacing-sm); margin-bottom: var(--spacing-sm); border-radius: var(--radius-md); background: var(--surface-cream-dark); }
  .ws-locked-block > strong { display: flex; gap: var(--spacing-xs); align-items: center; --icon-size: 16px; }
  .ws-locked-block dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--spacing-xs); }
  .ws-locked-block dd { margin: 0; font-weight: 600; }
  .ws-period-card--open { border-color: var(--border-default); }
  .ws-period-actions { display: flex; gap: var(--spacing-xs); }
  .ws-period-state { min-height: 30px; margin-top: var(--spacing-xs); }
  .ws-period-history { margin-top: var(--spacing-sm); border-top: 1px solid var(--border-subtle); padding-top: var(--spacing-xs); }
  .ws-timeline-item > .ws-timeline-title, .ws-timeline-item > .ws-timeline-meta { display: block; }
  .ws-tabs a:focus-visible, .ws-chip:focus-visible, .ws-ledger-table-row a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

  /* Stage 3d statement reconciliation: work list, statement page, review,
     lineage, and the period-close checklist. New elements wrap with flex or
     auto-fit grids, so the 860px rules below only touch the shared halves. */
  .ws-glyph { display: inline-block; mask-image: var(--icon-mask); mask-position: center; mask-repeat: no-repeat; mask-size: contain; background: currentColor; --icon-size: 14px; }
  .ws-tone--ok { color: var(--semantic-success); }
  .ws-tone--danger { color: var(--semantic-danger); }
  .ws-tone--warn { color: var(--semantic-warning); }
  .ws-tone--info { color: var(--semantic-info); }
  .ws-tone--neutral { color: var(--semantic-neutral); }
  .ws-tone--muted { color: var(--text-tertiary); }
  .ws-notice-row { display: flex; gap: var(--spacing-xs); align-items: flex-start; font-size: var(--text-sm); --icon-size: 16px; }
  .ws-notice-row .ws-glyph { margin-top: 2px; /* optical alignment with the first text line */ }
  .ws-inline-link { color: inherit; text-decoration: underline; }
  .ws-inline-actions { display: flex; gap: var(--spacing-xs); align-items: center; flex-wrap: wrap; margin-top: var(--spacing-md); }
  .ws-inline-actions .app-note { max-width: 44ch; }
  .btn-sm[aria-disabled="true"], .ws-chip[aria-disabled="true"] { opacity: 0.55; cursor: not-allowed; pointer-events: none; }
  .btn-sm:disabled { opacity: 0.55; cursor: not-allowed; }
  .ws-statement-filters { margin-top: var(--spacing-xs); }
  .ws-statement-filters .ws-field { margin-bottom: 0; }
  .ws-statement-group-head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--spacing-sm); flex-wrap: wrap; padding: 0 var(--spacing-xxs) var(--spacing-xs); border-bottom: 1px solid var(--border-default); margin-bottom: var(--spacing-xs); }
  .ws-statement-group-head .app-title { --title-size: var(--text-md); }
  .ws-statement-group-dates { font-family: var(--font-sans); font-size: var(--text-xs); color: var(--text-tertiary); font-weight: 500; }
  .ws-statement-row--overdue { border-color: var(--border-default); }
  .ws-statement-row-body { min-width: 0; flex: 1 1 320px; }
  .ws-statement-row-title { display: flex; gap: var(--spacing-xs); align-items: baseline; flex-wrap: wrap; }
  .ws-statement-row-title h3 { font-size: var(--text-md); font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
  .ws-statement-row-title h3 span { color: var(--text-secondary); font-weight: 500; }
  .ws-statement-row-body .app-desc { max-width: none; }
  .ws-statement-source-id { color: var(--text-tertiary); overflow-wrap: anywhere; }
  .ws-statement-pills { gap: var(--spacing-xxs); }
  .ws-statement-note { color: var(--text-secondary); max-width: 64ch; text-wrap: pretty; }
  .ws-statement-row-actions { display: flex; gap: var(--spacing-xs); flex-wrap: wrap; align-items: center; justify-content: flex-end; flex: 0 1 auto; }
  .ws-row-action { padding: var(--spacing-xs) var(--spacing-sm); font-size: var(--text-sm); white-space: nowrap; }
  .ws-statement-pages { display: flex; justify-content: space-between; align-items: center; gap: var(--spacing-sm); flex-wrap: wrap; }
  .ws-statement-empty-actions { justify-content: center; margin-top: var(--spacing-sm); }
  .ws-statement-header { display: flex; justify-content: space-between; gap: var(--spacing-sm); flex-wrap: wrap; align-items: flex-start; }
  .ws-statement-header-main { min-width: 0; flex: 1 1 320px; }
  .ws-statement-header-main .app-title { --title-size: var(--text-xl); margin-top: var(--spacing-xxs); overflow-wrap: anywhere; }
  .ws-statement-header-pills { display: flex; flex-direction: column; gap: var(--spacing-xs); align-items: flex-end; text-align: right; }
  .ws-statement-header-pills .app-note { max-width: 32ch; }
  .ws-ledger-facts--fit { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin-top: var(--spacing-sm); font-size: var(--text-sm); }
  .ws-ledger-facts--fit > div > dt.app-label { --label-weight: 500; --label-color: var(--text-tertiary); }
  .ws-ledger-halves--fit { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
  .ws-panel-head { padding: var(--spacing-sm) var(--spacing-md); border-bottom: 1px solid var(--border-subtle); display: flex; justify-content: space-between; gap: var(--spacing-sm); flex-wrap: wrap; align-items: baseline; }
  .ws-panel-head .app-title { --title-size: var(--text-md); }
  .ws-panel-head--stack { display: grid; gap: var(--spacing-xxs); }
  .ws-panel-head--stack > .ws-panel-head { padding: 0; border-bottom: 0; }
  .ws-panel-head .app-desc { max-width: 80ch; text-wrap: pretty; }
  .ws-panel-head .app-chip-row { margin-top: 0; }
  .ws-blocker-panel { margin-top: var(--spacing-md); }
  .ws-blocker-list { list-style: none; }
  .ws-blocker-list li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--spacing-sm); padding: var(--spacing-sm) var(--spacing-md); border-bottom: 1px solid var(--border-subtle); align-items: center; }
  .ws-blocker-list li:last-child { border-bottom: 0; }
  .ws-blocker-body { min-width: 0; flex: 1 1 260px; }
  .ws-blocker-body .app-desc { max-width: 70ch; text-wrap: pretty; }
  .ws-blocker-title { display: flex; gap: var(--spacing-xs); align-items: center; font-weight: 600; font-size: var(--text-sm); }
  .ws-money-input { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--spacing-xs); }
  .ws-money-input > span { color: var(--text-secondary); font-size: var(--text-md); }
  .ws-field-error { font-size: var(--text-xs); color: var(--semantic-danger); font-weight: 600; display: flex; gap: var(--spacing-xxs); align-items: center; }
  .ws-balance-values { display: grid; gap: var(--spacing-xs); margin-top: var(--spacing-sm); border-top: 1px solid var(--border-subtle); padding-top: var(--spacing-sm); font-size: var(--text-sm); }
  .ws-balance-values > div { display: flex; justify-content: space-between; gap: var(--spacing-sm); }
  .ws-balance-values dt { color: var(--text-secondary); }
  .ws-balance-values dt .app-note { display: block; }
  .ws-balance-values dd { margin: 0; font-weight: 600; }
  .ws-balance-well { align-items: center; padding: var(--spacing-sm); border-radius: var(--radius-md); background: var(--surface-cream-dark); }
  .ws-balance-well dd { font-size: var(--text-lg); }
  .ws-balance-well dd span { display: block; font-size: var(--text-xs); font-weight: 600; }
  .ws-prepared-line { margin-top: var(--spacing-sm); font-size: var(--text-sm); color: var(--text-secondary); }
  .ws-completion-card { display: flex; flex-direction: column; }
  .ws-completion-actions { margin-top: auto; padding-top: var(--spacing-md); }
  .ws-readiness { list-style: none; display: grid; gap: var(--spacing-xs); margin-top: var(--spacing-sm); font-size: var(--text-sm); }
  .ws-readiness li { display: flex; gap: var(--spacing-xs); align-items: flex-start; --icon-size: 16px; }
  .ws-readiness li .ws-glyph { flex: none; margin-top: 2px; /* optical alignment with the first text line */ }
  .ws-readiness li span:last-child { color: var(--text-primary); }
  .ws-review-facts { gap: var(--spacing-sm); margin-top: var(--spacing-md); }
  .ws-money--start { text-align: left; font-weight: 600; }
  .ws-modal-copy { font-size: var(--text-sm); display: grid; gap: var(--spacing-xs); }
  .ws-invalidation-banner { margin-top: var(--spacing-md); display: flex; gap: var(--spacing-sm); align-items: center; flex-wrap: wrap; justify-content: space-between; }
  .ws-invalidation-banner > div { flex: 1 1 320px; }
  .ws-snapshot--invalidated { border-color: var(--semantic-danger); }
  .ws-snapshot-head { display: flex; justify-content: space-between; gap: var(--spacing-xs); align-items: baseline; flex-wrap: wrap; }
  .ws-amendments { margin-top: var(--spacing-sm); border-top: 1px solid var(--border-subtle); padding-top: var(--spacing-xs); font-size: var(--text-sm); }
  .ws-amendment-list { list-style: none; display: grid; gap: var(--spacing-xxs); margin-top: var(--spacing-xs); font-size: var(--text-xs); color: var(--text-secondary); }
  .ws-lineage { margin-top: var(--spacing-md); }
  .ws-lineage-list { list-style: none; }
  .ws-lineage-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--spacing-sm); padding: var(--spacing-sm) var(--spacing-md); border-bottom: 1px solid var(--border-subtle); align-items: start; }
  .ws-lineage-row:last-child { border-bottom: 0; }
  .ws-lineage-row--current { background: var(--hover-wash); }
  .ws-lineage-tile { --tile-size: 36px; --tile-wash: var(--surface-cream-dark); --icon-size: 16px; }
  .ws-lineage-body { min-width: 0; }
  .ws-lineage-body .app-desc { max-width: none; text-wrap: pretty; }
  .ws-lineage-title { display: flex; gap: var(--spacing-xs); align-items: baseline; flex-wrap: wrap; font-size: var(--text-sm); }
  .ws-lineage-reason { font-weight: 600; }
  .ws-lineage-when { white-space: nowrap; }
  .ws-activity { margin-top: var(--spacing-md); }
  .ws-activity-table { min-width: 640px; /* five aligned money columns; the wrapper scrolls, not the page */ }
  .ws-activity-row { grid-template-columns: 96px minmax(0, 1fr) 110px 110px 120px; }
  .ws-activity-row.ws-posted-total { font-weight: 600; }
  .ws-activity-pages { padding: var(--spacing-sm) var(--spacing-md); }
  .ws-version-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--spacing-sm); margin-top: var(--spacing-sm); }
  .ws-version-card { border: 1px solid var(--border-subtle); border-radius: var(--radius-md); padding: var(--spacing-sm); display: grid; gap: var(--spacing-xs); }
  .ws-version-card-head { display: flex; justify-content: space-between; gap: var(--spacing-xs); align-items: center; flex-wrap: wrap; }
  .ws-version-facts { display: grid; grid-template-columns: auto 1fr; gap: var(--spacing-xxs) var(--spacing-sm); font-size: var(--text-sm); }
  .ws-version-facts dt { color: var(--text-secondary); }
  .ws-version-facts dd { margin: 0; }
  .ws-subtitle { --title-size: var(--text-md); margin-top: var(--spacing-md); }
  .ws-acceptance-effects { font-size: var(--text-sm); padding-left: 1.2em; margin-top: var(--spacing-xs); display: grid; gap: var(--spacing-xxs); }
  .ws-period-actions--stack { flex-direction: column; align-items: flex-end; gap: var(--spacing-xxs); }
  .ws-close-unavailable { text-align: right; max-width: 26ch; font-weight: 600; color: var(--text-secondary); }
  .ws-period-state.app-chip-row { gap: var(--spacing-xxs); }
  .ws-period-state .ws-balance-flag { margin: 0; }
  .ws-balance-flag--danger { color: var(--semantic-danger); background: var(--semantic-danger-wash); }
  .ws-balance-flag--ok { color: var(--semantic-success); background: var(--semantic-success-wash); }
  .ws-checklist { list-style: none; }
  .ws-checklist-label { margin: var(--spacing-sm) 0 var(--spacing-xxs); }
  .ws-checklist-item { display: flex; flex-wrap: wrap; gap: var(--spacing-xs); align-items: start; padding: var(--spacing-xs) 0; border-bottom: 1px solid var(--border-subtle); --icon-size: 16px; font-size: var(--text-sm); }
  .ws-checklist-item > .ws-glyph { margin-top: 2px; /* optical alignment with the first text line */ }
  .ws-checklist-body { min-width: 0; flex: 1 1 220px; color: var(--text-primary); }
  .ws-checklist-title { display: flex; gap: var(--spacing-xs); flex-wrap: wrap; align-items: baseline; }
  .ws-checklist-title > span:not(.pill) { color: var(--text-secondary); }
  .ws-checklist-body .app-desc { max-width: none; text-wrap: pretty; }
  .ws-chip-form { display: inline; }

  @media (max-width: 860px) {
    .ws-ledger-desktop { display: none; }
    .ws-ledger-mobile, .ws-mobile-only { display: block; }
    .ws-ledger-filter-form, .ws-ledger-facts-grid, .ws-ledger-halves, .ws-mercury-draft-summary { grid-template-columns: 1fr; }
    .ws-mercury-draft-head, .ws-mercury-draft-lines > div { flex-direction: column; }
    .ws-line-head { display: none; }
    .ws-line-row { grid-template-columns: 1fr 1fr; padding: var(--spacing-sm); border-bottom: 1px solid var(--border-subtle); }
    .ws-line-row > .ws-field:nth-of-type(1), .ws-line-row > .ws-field:nth-of-type(2) { grid-column: 1 / -1; }
    .ws-totals-bar { grid-template-columns: 1fr 1fr; background: var(--surface-frost); backdrop-filter: blur(16px); }
    .ws-totals-bar > div:first-child { grid-column: 1 / -1; }
    .ws-posted-line { grid-template-columns: 32px 1fr 1fr; }
    .ws-posted-line > :nth-child(3) { grid-column: 2 / -1; }
    .ws-posted-mobile-line { padding: var(--spacing-sm); border-bottom: 1px solid var(--border-subtle); }
    .ws-posted-mobile-total { padding: var(--spacing-sm); background: var(--surface-cream-dark); }
    .ws-posted-mobile-total > div { display: grid; grid-template-columns: 1fr 1fr; gap: var(--spacing-sm); margin-top: var(--spacing-xs); }
    .ws-account-row { grid-template-columns: 1fr; gap: var(--spacing-xs); }
    .ws-account-row.ws-ledger-table-head { display: none; }
    .ws-account-row--child { border-left: 3px solid var(--border-subtle); }
    .ws-account-row--child > div:first-child { padding-left: 0; border-left: 0; }
    .ws-account-row .ws-chip { width: 100%; min-height: 48px; justify-content: center; }
    .ws-period-head { align-items: flex-start; flex-direction: column; }
    .ws-period-actions { width: 100%; flex-direction: column; }
    .ws-period-actions > * { width: 100%; min-height: 48px; }
    .ws-period-actions--stack { align-items: stretch; }
    .ws-period-actions--stack > .app-note { min-height: 0; text-align: left; max-width: none; }
    .ws-statement-row-actions { width: 100%; justify-content: flex-start; }
    .ws-statement-row-actions .ws-row-action, .ws-statement-row-actions form { flex: 1 1 auto; }
    .ws-row-action { width: 100%; min-height: 40px; justify-content: center; text-align: center; }
    .ws-statement-header-pills { align-items: flex-start; text-align: left; }
    .ws-lineage-row { grid-template-columns: auto minmax(0, 1fr); }
    .ws-lineage-when { grid-column: 2; white-space: normal; }
    .ws-ledger-doc-form { grid-template-columns: 1fr; }
    .ws-ledger-doc-form > .app-label { grid-column: auto; }
    .ws-ledger-doc-form .btn-sm { width: 100%; min-height: 48px; }
  }
}

@layer components {
  /* Stage 3e trust screens: work list, receipt and remittance preparation,
     commission review, posted detail extensions. The list is a grid inside an
     overflow wrapper (min-width below), so the page never scrolls sideways;
     rows collapse to stacked cards under the shared 860px breakpoint. */
  .app-content:has(.ws-tabs--trust) { max-width: 1120px; /* work-list width */ }
  .ws-trust-intro { max-width: none; }
  .ws-trust-intro .app-desc { max-width: 80ch; }
  .ws-trust-intro-title { font-size: var(--text-sm); font-weight: 600; }
  .ws-trust-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--spacing-sm); margin-bottom: var(--spacing-md); }
  .ws-trust-stat { padding: var(--spacing-md); --label-color: var(--text-tertiary); }
  .ws-trust-stat-value { font-family: var(--font-serif); font-size: var(--text-xl); margin-top: var(--spacing-xxs); font-variant-numeric: tabular-nums; }
  .ws-trust-stat--warning { border-color: var(--semantic-warning); }
  .ws-trust-stat--warning .ws-trust-stat-value { color: var(--semantic-warning); }
  .ws-trust-filters { padding: var(--spacing-md); margin-bottom: var(--spacing-md); }
  .ws-trust-filter-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: var(--spacing-xs); align-items: end; }
  .ws-trust-filter-form .ws-field { margin: 0; }
  .ws-trust-filter-form .btn-sm { height: 42px; /* matches the 42px control height */ }
  .ws-trust-result-count { text-align: right; color: var(--text-secondary); font-size: var(--text-sm); margin-top: var(--spacing-xs); }
  .ws-trust-list { min-width: 1040px; /* eight aligned columns; the wrapper scrolls, not the page */ }
  .ws-trust-head, .ws-trust-row { display: grid; grid-template-columns: 1.3fr 1.1fr 1.3fr 104px 1.2fr 130px 140px 120px; gap: var(--spacing-xs); padding: var(--spacing-sm) var(--spacing-md); border-bottom: 1px solid var(--border-subtle); align-items: start; font-size: var(--text-sm); }
  .ws-trust-head { color: var(--text-tertiary); font-size: var(--text-xs); font-weight: 600; text-transform: uppercase; letter-spacing: var(--tracking-wide); }
  .ws-trust-row:hover { background: var(--hover-wash); }
  .ws-trust-row .app-note { margin-top: 0; }
  .ws-trust-client { font-weight: 600; }
  .ws-trust-action-head, .ws-trust-action { text-align: right; }
  .ws-trust-pages { display: flex; justify-content: space-between; gap: var(--spacing-xs); flex-wrap: wrap; align-items: center; padding: var(--spacing-sm) var(--spacing-md); color: var(--text-tertiary); font-size: var(--text-xs); }
  .ws-trust-page-links { display: flex; gap: var(--spacing-xs); }
  .ws-trust-card { padding: var(--spacing-sm); border-bottom: 1px solid var(--border-subtle); font-size: var(--text-sm); }
  .ws-trust-card-head { display: flex; justify-content: space-between; gap: var(--spacing-xs); align-items: baseline; }
  .ws-trust-card-amount { font-weight: 600; }
  .ws-trust-card-obligations { margin-top: var(--spacing-xxs); }
  .ws-trust-card-states { display: grid; grid-template-columns: 1fr 1fr; gap: var(--spacing-xs); margin-top: var(--spacing-xs); }
  .ws-trust-card-label { --label-color: var(--text-tertiary); margin-bottom: var(--spacing-xxs); }
  .ws-trust-card-action { width: 100%; justify-content: center; min-height: 44px; /* tap target */ margin-top: var(--spacing-xs); }
  .ws-trust-empty .app-empty .btn-sm, .ws-trust-empty .app-empty .app-title { margin-top: var(--spacing-sm); }
  .ws-trust-panel { margin-bottom: var(--spacing-lg); }
  .ws-chip-form { display: inline; }
  .ws-trust-alert, .ws-trust-status { display: grid; gap: var(--spacing-xxs); padding: var(--spacing-sm) var(--spacing-md); border-radius: var(--radius-md); margin-bottom: var(--spacing-md); font-size: var(--text-sm); }
  .ws-trust-alert { background: var(--semantic-danger-wash); color: var(--semantic-danger); }
  .ws-trust-alert:focus-visible { outline: 2px solid var(--semantic-danger); outline-offset: 2px; }
  .ws-trust-alert-body, .ws-trust-status span { color: var(--text-primary); }
  .ws-trust-alert-next { color: var(--text-secondary); font-size: var(--text-xs); }
  .ws-trust-status { background: var(--semantic-warning-wash); color: var(--semantic-warning); }
  .ws-trust-source { margin-bottom: var(--spacing-md); }
  .ws-trust-source-head { display: flex; justify-content: space-between; gap: var(--spacing-sm); flex-wrap: wrap; align-items: flex-start; }
  .ws-trust-source-title { --title-size: var(--text-md); margin-top: var(--spacing-xxs); }
  .ws-trust-source-state { display: flex; flex-direction: column; gap: var(--spacing-xxs); align-items: flex-end; }
  .ws-trust-source-state .app-note { margin: 0; }
  .ws-trust-source-figures { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--spacing-xs); margin-top: var(--spacing-md); }
  .ws-trust-figure { padding: var(--spacing-sm); border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-cream-dark); --label-color: var(--text-tertiary); }
  .ws-trust-figure--accent { border-color: var(--accent); background: var(--surface-card); --label-color: var(--accent); }
  .ws-trust-figure-value { font-weight: 600; font-variant-numeric: tabular-nums; margin-top: var(--spacing-xxs); }
  .ws-trust-chips { display: flex; gap: var(--spacing-xs); flex-wrap: wrap; margin-top: var(--spacing-sm); align-items: center; }
  .ws-trust-head-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--spacing-md); }
  .ws-trust-editor .ws-line-head, .ws-trust-editor .ws-line-row { grid-template-columns: 1.1fr 1.3fr 96px 112px 150px; align-items: start; }
  .ws-trust-editor .ws-line-row { border-bottom: 1px solid var(--border-subtle); padding-block: var(--spacing-sm); }
  .ws-trust-editor .ws-line-order { flex-wrap: wrap; padding-top: var(--spacing-xs); }
  .ws-line-editor-title { padding: var(--spacing-sm) var(--spacing-md) 0; }
  .ws-line-editor-add { padding: var(--spacing-xs) var(--spacing-md); }
  .ws-line-row--locked { background: var(--surface-cream-dark); }
  .ws-line-row--invalid { background: var(--semantic-danger-wash); }
  .ws-field-note--danger { color: var(--semantic-danger); }
  .ws-trust-editor .ws-select[aria-invalid="true"], .ws-trust-editor .ws-input[aria-invalid="true"] { border-color: var(--semantic-danger); }
  .ws-trust-balance { font-size: var(--text-md); }
  .ws-trust-post-note { max-width: 52ch; margin: 0; }
  .ws-trust-review-facts { grid-template-columns: auto 1fr; font-size: var(--text-sm); }
  .ws-trust-review-lines { margin-top: var(--spacing-sm); border: 1px solid var(--border-subtle); border-radius: var(--radius-md); overflow: hidden; font-size: var(--text-sm); }
  .ws-trust-review-line { display: grid; grid-template-columns: 1fr 120px; gap: var(--spacing-xs); padding: var(--spacing-xs) var(--spacing-sm); border-bottom: 1px solid var(--border-subtle); }
  .ws-trust-review-line .app-note { display: block; }
  .ws-trust-review-total { background: var(--surface-cream-dark); font-weight: 600; border-bottom: 0; }
  .ws-trust-info { padding: var(--spacing-sm) var(--spacing-md); border-radius: var(--radius-md); margin-bottom: var(--spacing-md); font-size: var(--text-sm); background: var(--semantic-info-wash); color: var(--semantic-info); }
  .ws-trust-info span { color: var(--text-primary); }
  .ws-trust-payees .app-flat-row .app-note { display: block; }
  .ws-trust-obligations { margin-bottom: var(--spacing-md); }
  .ws-trust-obligation-table { min-width: 940px; /* seven aligned money columns; the wrapper scrolls, not the page */ }
  .ws-trust-obligation-head, .ws-trust-obligation-row { display: grid; grid-template-columns: minmax(0, 2fr) repeat(5, 104px) 150px; gap: var(--spacing-xs); padding: var(--spacing-sm) var(--spacing-md); border-bottom: 1px solid var(--border-subtle); align-items: start; font-size: var(--text-sm); }
  .ws-trust-obligation-head { color: var(--text-tertiary); font-size: var(--text-xs); font-weight: 600; text-transform: uppercase; letter-spacing: var(--tracking-wide); }
  .ws-trust-obligation-row .app-note { margin-top: 0; }
  .ws-trust-obligation-row--paying { background: var(--surface-cream-dark); }
  .ws-trust-obligation-row--invalid { background: var(--semantic-danger-wash); }
  .ws-trust-unpaid { font-weight: 600; }
  .ws-trust-payment { margin: 0; }
  .ws-trust-payment .ws-input[aria-invalid="true"] { border-color: var(--semantic-danger); }
  .ws-trust-obligation-footer { display: grid; grid-template-columns: 1fr auto; gap: var(--spacing-xs); align-items: center; padding: var(--spacing-sm) var(--spacing-md); background: var(--surface-cream-dark); }
  .ws-trust-obligation-footer .app-label { --label-color: var(--text-tertiary); }
  .ws-trust-payment-total { font-weight: 600; font-size: var(--text-md); font-variant-numeric: tabular-nums; }
  .ws-trust-journal-review { margin-bottom: var(--spacing-md); }
  .ws-trust-preview-line { grid-template-columns: 32px minmax(0, 1fr) 110px 110px; font-size: var(--text-sm); }
  .ws-trust-preview-line .app-note { display: block; margin-top: 0; }
  .ws-trust-actions { margin-top: 0; margin-bottom: var(--spacing-md); }
  .ws-trust-alert--warn { background: var(--semantic-warning-wash); color: var(--semantic-warning); }
  .ws-trust-alert--warn:focus-visible { outline-color: var(--semantic-warning); }
  .ws-trust-alert--neutral { background: var(--surface-cream-dark); color: var(--text-secondary); }
  .ws-trust-checks { list-style: none; display: grid; gap: var(--spacing-xs); margin-top: var(--spacing-md); }
  .ws-trust-check { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--spacing-sm); align-items: start; padding: var(--spacing-xs) var(--spacing-sm); border: 1px solid var(--border-subtle); border-radius: var(--radius-md); font-size: var(--text-sm); }
  .ws-trust-check .pill { min-width: 92px; /* aligns the three status pills */ justify-content: center; }
  .ws-trust-check .app-note { display: block; margin-top: 0; }
  .ws-trust-halves { margin-top: 0; margin-bottom: var(--spacing-md); align-items: start; }
  .ws-trust-review-card--warn { border-color: var(--semantic-warning); }
  .ws-trust-review-card--danger { border-color: var(--semantic-danger); }
  .ws-trust-review-head { display: flex; justify-content: space-between; gap: var(--spacing-xs); align-items: baseline; flex-wrap: wrap; }
  .ws-trust-review-head .app-title { --title-size: var(--text-md); }
  .ws-trust-facts { display: grid; gap: var(--spacing-xs); margin-top: var(--spacing-sm); font-size: var(--text-sm); }
  .ws-trust-facts > div { display: flex; justify-content: space-between; gap: var(--spacing-sm); padding-bottom: var(--spacing-xs); border-bottom: 1px solid var(--border-subtle); }
  .ws-trust-facts dt { color: var(--text-secondary); }
  .ws-trust-facts dt .app-note { display: block; margin-top: 0; }
  .ws-trust-facts dd { margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
  .ws-trust-facts dd .app-note { display: block; margin-top: 0; }
  .ws-trust-fact-strong { font-weight: 600; }
  .ws-trust-well { display: grid; grid-template-columns: 1fr 1fr; gap: var(--spacing-xs); padding: var(--spacing-sm); border-radius: var(--radius-md); background: var(--surface-cream-dark); margin-top: var(--spacing-sm); --label-color: var(--text-tertiary); }
  .ws-trust-well-value { font-weight: 600; font-size: var(--text-lg); font-variant-numeric: tabular-nums; }
  .ws-trust-card-actions { margin-top: var(--spacing-md); }
  .ws-trust-card-actions .app-note { max-width: 40ch; }
  .ws-trust-refresh { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--spacing-xs); align-items: end; width: 100%; margin-top: var(--spacing-sm); }
  .ws-trust-refresh .ws-field { margin: 0; }
  .ws-trust-refresh .app-note { grid-column: 1 / -1; margin-top: 0; }
  .ws-trust-approvals { margin-bottom: var(--spacing-md); }
  .ws-trust-approvals-empty { padding: var(--spacing-md); font-size: var(--text-sm); color: var(--text-tertiary); }
  .ws-trust-approval { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr) 120px; gap: var(--spacing-sm); padding: var(--spacing-sm) var(--spacing-md); border-bottom: 1px solid var(--border-subtle); font-size: var(--text-sm); align-items: start; --label-color: var(--text-tertiary); }
  .ws-trust-approval .app-note { margin-top: 0; }
  .ws-trust-approval .pill { margin-top: var(--spacing-xxs); }
  .ws-trust-approval--cancelled { color: var(--text-secondary); }
  .ws-trust-approval-actions { grid-column: 1 / -1; display: flex; gap: var(--spacing-xs); flex-wrap: wrap; align-items: center; }
  .ws-posted-line--trust { grid-template-columns: 40px 1fr 1fr 1.2fr 120px 120px; }
  .ws-posted-line--trust .app-note { margin-top: 0; }
  .ws-trust-banner { display: flex; justify-content: space-between; gap: var(--spacing-sm); flex-wrap: wrap; align-items: center; }
  .ws-trust-banner > div { flex: 1 1 320px; }
  .ws-trust-banner-body { color: var(--text-primary); margin-top: var(--spacing-xxs); font-size: var(--text-sm); }
  .ws-trust-attribution { margin-top: var(--spacing-md); }
  .ws-trust-attribution .ws-list-header { margin-bottom: 0; }
  .ws-trust-attribution-facts { display: grid; grid-template-columns: 1fr; gap: var(--spacing-xxs); font-size: var(--text-sm); margin-top: var(--spacing-xs); }
  .ws-trust-attribution-facts dt { --label-color: var(--text-tertiary); margin-top: var(--spacing-xs); }
  .ws-trust-attribution-facts dd { margin: 0; }
  .ws-trust-attribution-facts dd .app-note { display: block; margin-top: 0; }
  .ws-trust-attribution-actions { margin-top: var(--spacing-md); }
  .ws-trust-attribution-note { max-width: 70ch; }
  .ws-trust-lineage .ws-inline-actions { margin-top: var(--spacing-xxs); }

  @media (max-width: 860px) {
    .ws-trust-stats { grid-template-columns: 1fr 1fr; }
    .ws-trust-filter-form { grid-template-columns: 1fr; }
    .ws-trust-filter-form .btn-sm { width: 100%; min-height: 48px; }
    .ws-trust-result-count { text-align: left; }
    .ws-trust-source-figures { grid-template-columns: 1fr 1fr; }
    .ws-trust-source-state { align-items: flex-start; }
    .ws-trust-head-fields { grid-template-columns: 1fr; }
    .ws-trust-editor .ws-line-row { grid-template-columns: 1fr 1fr; }
    .ws-trust-review-line { grid-template-columns: 1fr 96px; }
    .ws-trust-obligation-table { min-width: 0; }
    .ws-trust-obligation-head { display: none; }
    .ws-trust-obligation-row { grid-template-columns: 1fr 1fr; }
    .ws-trust-obligation-row .ws-money { text-align: left; }
    .ws-trust-obligation-row .ws-money .app-label { display: block; }
    .ws-trust-obligation-title, .ws-trust-payment { grid-column: 1 / -1; }
    .ws-trust-obligation-footer { grid-template-columns: 1fr; }
    .ws-trust-obligation-footer .ws-money { text-align: left; }
    .ws-trust-preview-line { grid-template-columns: 24px minmax(0, 1fr); }
    .ws-trust-preview-line > .ws-money { grid-column: 2; text-align: left; }
    .ws-trust-actions > .btn-sm { width: 100%; min-height: 48px; }
    .ws-trust-check { grid-template-columns: auto minmax(0, 1fr); }
    .ws-trust-check .ws-chip { grid-column: 1 / -1; justify-content: center; min-height: 44px; /* tap target */ }
    .ws-trust-well { grid-template-columns: 1fr; }
    .ws-trust-approval { grid-template-columns: 1fr; }
    .ws-trust-approval .ws-money { text-align: left; }
    .ws-trust-card-actions .btn-sm { width: 100%; min-height: 48px; }
    .ws-trust-attribution-actions > * { width: 100%; justify-content: center; min-height: 44px; /* tap target */ }
    .ws-trust-attribution-actions form { width: 100%; }
  }
}
