/* Reports + Settings module styles — owned by the REPORTS+SETTINGS builder.
 * Shared tokens and components (.card .totals .tbl .seg .tabs .notice .pill .prov .stat .kv) live in app.css;
 * only layout specific to these two screens is here. rp-* = Reports, st-* = Settings. */

/* ================================================================== reports (R6 §3.7)
 * Tokens only: --t-* type, --s-* spacing, --r-* radius. Below 1024 px the filters are pills (.rp-narrow), from 1024 px
 * the segmented controls (.rp-wide); both are drawn, CSS shows one. Phone tables: ≤ 3 columns (.rp-ph drops, .rp-fold
 * carries the value as the first cell's meta line), text ≥ 14 px. */
.rp-filters { display: grid; gap: var(--s-3); flex: 1 1 100%; min-width: 0; }
.rp-bar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); min-width: 0; }
.rp-wide { display: none; }
.rp-bar.rp-wide { gap: var(--s-3) var(--s-4); }
/* R9: six period presets (Today, Yesterday added) + the branch control still share one row at 1024–1280 px */
.rp-bar.rp-wide .seg__btn { padding-inline: var(--s-3); }
.rp-narrow .fpill { flex: 0 1 auto; min-width: 0; }
.rp-page .page-head { margin-bottom: var(--s-4); }
.rp-exports { gap: var(--s-3); flex-wrap: wrap; }
@media (min-width: 1024px) {
  .rp-narrow, .rp-export { display: none; }
  .rp-wide { display: flex; }
}
.rp-expsheet__opts { display: grid; gap: var(--s-3); }
.rp-expsheet__btn { width: 100%; justify-content: flex-start; }
.rp-custom { display: grid; gap: var(--s-3); grid-template-columns: repeat(auto-fit, minmax(min(100%, 192px), 1fr)); align-items: start; }
.rp-custom__go { align-self: end; }
/* R8 §2.12: the tab panel = the summary strip, then the body (one open breakdown, then "more" sections one tap down) */
.rp-panel { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-6); min-width: 0; padding-top: var(--s-2); }
.rp-body { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-6); min-width: 0; }
.rp-body > .inotice { margin: 0; }
.rp-totals, .rp-cstrip { margin: 0; }
.rp-totals .stats__meta { max-inline-size: 34ch; }
.rp-totals .stats__meta .stxt { font: inherit; font-weight: 600; }
.rp-cstrip { flex-wrap: wrap; row-gap: var(--s-4); padding-top: var(--s-5); border-top: 1px solid var(--line); }
.rp-paystate { color: var(--ink-2); font: var(--t-meta); font-weight: 600; }
/* secondary breakdowns: one hairline list of native <details> (Sortly reports pattern: title + one count + chevron).
   No box around each, no animation on open (a frequent action); only the chevron turns. */
.rp-more { display: grid; grid-template-columns: minmax(0, 1fr); border-top: 1px solid var(--line); }
.rp-sec.rp-dis { display: block; border-bottom: 1px solid var(--line); }
.rp-dis__sum { display: flex; align-items: center; gap: var(--s-3); min-height: 56px; padding: var(--s-2) var(--s-1); cursor: pointer; list-style: none; border-radius: var(--r-pill); }
.rp-dis__sum::-webkit-details-marker { display: none; }
.rp-dis__sum:focus-visible { outline-offset: -3px; }
.rp-dis__t { flex: 1 1 auto; min-width: 0; font: var(--t-h3); color: var(--ink); }
.rp-dis__hint { flex: none; color: var(--ink-3); font: var(--t-meta); font-variant-numeric: tabular-nums; }
.rp-dis__chev { flex: none; color: var(--ink-3); transition: transform var(--d-fast) var(--ease-out); }
.rp-dis[open] > .rp-dis__sum .rp-dis__chev { transform: rotate(180deg); }
.rp-dis__body { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-3); min-width: 0; padding: 0 0 var(--s-6); }
.rp-dis__body > .rp-sec__sub { margin: 0; }
.rp-dis__tools { display: flex; flex-wrap: wrap; gap: var(--s-2); }
/* R8 MOT-01: press feedback on touch too (background only, so reduced motion keeps it) */
.rp-dis__sum { transition: background-color var(--d-fast) var(--ease-out); }
.rp-dis__sum:active { background: var(--surface-3); }
@media (hover: hover) and (pointer: fine) { .rp-dis__sum:hover { background: var(--surface-2); } .rp-dis__sum:active { background: var(--surface-3); } }
.rp-sec { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-3); min-width: 0; align-content: start; }
.rp-sec__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-2) var(--s-4); }
.rp-sec__t { display: flex; align-items: center; gap: var(--s-1); min-width: 0; }
.rp-sec__title { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); font: var(--t-h2); }
.rp-sec__sub { flex-basis: 100%; color: var(--ink-3); font: var(--t-meta); max-width: 70ch; }
.rp-tbl .table td.ta-right { white-space: nowrap; }
.rp-ct { position: relative; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface); min-width: 0; }
.rp-ct__t { width: 100%; border-collapse: collapse; font: var(--t-meta); font-weight: 400; font-variant-numeric: tabular-nums; }
.rp-ct__t th, .rp-ct__t td { padding: var(--s-3) var(--s-4); text-align: left; vertical-align: middle; }
.rp-ct__t tbody > tr > *, .rp-ct__t tfoot > tr > * { height: 56px; }
.rp-ct__t thead th { background: var(--surface-3); color: var(--ink-3); font: var(--t-label); letter-spacing: .04em; text-transform: uppercase; border-bottom: 1px solid var(--line); vertical-align: bottom; }
.rp-ct__t tbody th { font-weight: 600; }
.rp-ct__t tbody tr + tr > * { border-top: 1px solid var(--line); }
.rp-ct__t tbody tr.is-today > * { background: var(--accent-soft); }
.rp-ct__t tfoot > tr > * { border-top: 2px solid var(--line-strong); background: var(--surface-3); font-weight: 700; }
.rp-ct__t .ta-right { text-align: right; }
.rp-ct__t td.ta-right { white-space: nowrap; }
.rp-tbl .mono, .rp-ct .mono { white-space: nowrap; }
.rp-cell-sub, .rp-fold { display: block; font: var(--t-meta); color: var(--ink-3); font-weight: 400; }
.rp-fold { display: none; }
.rp-name { display: block; font-weight: 600; }
.rp-ct .prov { margin-top: var(--s-1); }
.rp-part { color: var(--ink-3); font: var(--t-meta); }
.rp-method { display: inline-flex; align-items: center; gap: var(--s-3); }
.rp-method > .ic { color: var(--ink-2); }
.rp-share { position: relative; display: flex; align-items: center; justify-content: flex-end; gap: var(--s-2); margin-top: var(--s-1); }
.rp-share__bar { width: 64px; height: 8px; border-radius: var(--r-pill); background: var(--surface-2); overflow: hidden; flex: none; }
.rp-share__bar > span { display: block; height: 100%; width: var(--w, 0%); background: var(--bar-sales); border-radius: var(--r-pill); }
.rp-share__txt { font: var(--t-label); color: var(--ink-3); min-width: 2.6em; text-align: right; }
.rp-none { display: flex; gap: var(--s-2); align-items: center; padding: var(--s-3) var(--s-4); border: 1px dashed var(--line-strong); border-radius: var(--r-card); background: var(--surface); color: var(--ink-2); }
.rp-none > .ic { color: var(--ok); }
.rp-stats { gap: var(--s-4); }
.rp-stat { display: grid; gap: var(--s-1); align-content: start; box-shadow: none; }
.rp-stat__title { display: flex; align-items: center; gap: var(--s-2); font: var(--t-meta); font-weight: 600; color: var(--ink-2); }
.rp-stat__cost { font: var(--t-h3); color: var(--ink); }
.rp-branches { display: grid; gap: var(--s-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.rp-branch { box-shadow: none; }
.rp-branch__n { color: var(--ink-3); font: var(--t-meta); }
.rp-branch .kv dd { font: var(--t-h3); }
.rp-branch__profit dd { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: var(--s-2); }
.rp-branch.is-loss .rp-branch__profit dd { color: var(--danger); }
.rp-branch__margin { margin-top: var(--s-3); font: var(--t-meta); color: var(--ink-3); }
.rp-bars { display: grid; gap: var(--s-2); margin-top: var(--s-4); }
.rp-bars__row { display: grid; grid-template-columns: 5.5em minmax(0, 1fr); align-items: center; gap: var(--s-2); font: var(--t-label); color: var(--ink-3); }
.rp-bars__track { height: 12px; border-radius: var(--r-pill); background: var(--surface-2); overflow: hidden; }
.rp-bars__track > span { display: block; height: 100%; width: var(--w, 0%); min-width: 2px; border-radius: var(--r-pill); }
.rp-bars__s { background: var(--bar-sales); } .rp-bars__e { background: var(--bar-exp); }
.rp-weeknote { color: var(--ink-2); font: var(--t-meta); }
.rp-claimers { display: grid; gap: var(--s-1); }
.rp-claimers li { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); }
.rp-foot { display: flex; gap: var(--s-2); align-items: flex-start; margin-top: var(--s-8); padding-top: var(--s-4); border-top: 1px solid var(--line); color: var(--ink-2); font: var(--t-meta); }
.rp-foot > .ic { color: var(--info); margin-top: var(--s-1); }
@media (max-width: 719px) {
  .rp-panel { gap: var(--s-5); padding-top: 0; }
  .rp-body { gap: var(--s-5); }
  /* the title row keeps Reports on the left and the quiet Export on the right */
  .rp-page .page-head__main { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: var(--s-3); row-gap: 0; }
  .rp-page .page-head__text { display: contents; }
  .rp-page .page-sub { grid-column: 1 / -1; }
  .rp-page .page-tools { width: auto; grid-row: 1; grid-column: 2; margin-inline-end: calc(-1 * var(--s-3)); }
  .rp-page .page-head { gap: var(--s-3); margin-bottom: var(--s-2); }
  /* the hero takes the whole first line; the other figures share the line under it */
  .rp-totals { flex-wrap: wrap; row-gap: var(--s-4); }
  .rp-totals .stats__cell--lead { flex: 1 0 100%; padding-inline: 0; border: 0; }
  .rp-totals .stats__cell--lead + .stats__cell { padding-inline-start: 0; border-inline-start: 0; }
  .rp-custom__go { width: 100%; }
  .rp-sec__head .seg, .rp-dis__tools .seg { width: 100%; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
  .rp-totals .stats__meta { max-inline-size: none; }
  .rp-cstrip .stats__cell { flex: 1 0 40%; }
  .rp-cstrip .stats__cell:nth-child(odd) { padding-inline-start: 0; border-inline-start: 0; }
  .rp-share__bar { width: 48px; }
  .rp-ct .prov { white-space: normal; }
  .rp-claimers li { justify-content: flex-end; }
  .rp-ph { display: none; }
  .rp-fold { display: block; }
  .rp-ct__t th, .rp-ct__t td { padding: var(--s-3) var(--s-2); }
  .rp-ct__t th:first-child, .rp-ct__t td:first-child { padding-inline-start: var(--s-3); }
  .rp-ct__t th:last-child, .rp-ct__t td:last-child { padding-inline-end: var(--s-3); }
}

/* ================================================================== R9 §2.9 column filters + every-record tables
 * Column heads are buttons (48 px on touch) with a chevron, or an arrow when sorted, and a dot when filtered. Active
 * filters are chips over the table with Clear all. ≥ 1024 px the filter is a popover under the head (scales in from its
 * top-left, 180 ms); below it is the shared bottom sheet. Apply, Clear and ticking never animate (frequent actions). */
.rp-th { padding: 0 !important; }
.rp-colbtn { display: flex; align-items: center; gap: var(--s-1); width: 100%; min-height: 40px; padding: var(--s-2) var(--s-4); border: 0; background: transparent;
  color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; text-align: inherit; cursor: pointer; border-radius: 0;
  transition: background-color var(--d-fast) var(--ease-out); -webkit-user-select: none; user-select: none; touch-action: manipulation; }
.ta-right > .rp-colbtn { justify-content: flex-end; }
.rp-colbtn__t { min-width: 0; }
.rp-colbtn__ic { flex: none; color: var(--ink-3); }
.rp-colbtn.is-on { color: var(--accent-text); }
.rp-colbtn.is-on .rp-colbtn__ic { color: var(--accent-text); }
.rp-colbtn__dot { flex: none; width: 6px; height: 6px; border-radius: var(--r-pill); background: var(--accent); }
.rp-colbtn:focus-visible { outline: 3px solid var(--focus); outline-offset: -3px; }
.rp-colbtn:active { background: var(--surface-2); }
@media (hover: hover) and (pointer: fine) { .rp-colbtn:hover { background: var(--surface-2); } }
@media (pointer: coarse) { .rp-colbtn { min-height: var(--tap); } }
.rp-ftools { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-3); min-width: 0; }
.rp-fcount { flex: 1 1 auto; min-width: 0; color: var(--ink-2); font: var(--t-meta); font-variant-numeric: tabular-nums; }
.rp-ftbtn { flex: none; min-height: var(--tap); }
@media (min-width: 720px) { .rp-ftbtn--ph { display: none; } }
.rp-chips { flex: 1 1 100%; display: flex; flex-wrap: wrap; gap: var(--s-2); list-style: none; margin: 0; padding: 0; min-width: 0; }
.rp-chips > li { min-width: 0; max-width: 100%; }
.rp-chip { max-width: 100%; min-height: var(--tap); padding-inline: var(--s-4) var(--s-3); background: var(--accent-soft); border-color: var(--accent-soft); color: var(--accent-text); cursor: pointer;
  transition: transform var(--d-press) var(--ease-out); touch-action: manipulation; }
.rp-chip > span { overflow: hidden; text-overflow: ellipsis; }
.rp-chip > .ic { flex: none; }
.rp-chip:active { transform: scale(.97); }
.rp-clearall { min-height: var(--tap); }
.rp-ct__none { padding: var(--s-5) var(--s-4); color: var(--ink-2); font: var(--t-meta); text-align: left; }
.rp-ct__more { display: flex; justify-content: center; }
.rp-morebtn { min-height: var(--tap); }
.rp-morebtn__n { color: var(--ink-3); font-weight: 500; }
.rp-prods { display: grid; gap: 2px; white-space: nowrap; }
.rp-uncounted { color: var(--ink-3); }
.rp-ct--f .rp-ct__t td .rp-wrap { white-space: normal; max-inline-size: 48ch; }
.rp-ct--f .rp-ct__t td, .rp-ct--f .rp-ct__t tbody th { white-space: nowrap; }
.rp-ct--f .rp-ct__t tbody th .rp-fold { white-space: normal; max-inline-size: 40ch; }
/* the filter body (same in the popover and the sheet) */
.rp-fx { display: grid; gap: var(--s-3); min-width: 0; }
.rp-fx__sort { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-2); }
.rp-fx__sbtn { display: inline-flex; align-items: center; justify-content: center; gap: var(--s-2); min-height: var(--tap); padding: 0 var(--s-3); border: 1px solid var(--line); border-radius: var(--r-pill);
  background: var(--surface); color: var(--ink-2); font: var(--t-meta); font-weight: 600; cursor: pointer; transition: transform var(--d-press) var(--ease-out); touch-action: manipulation; }
.rp-fx__sbtn[aria-pressed="true"] { background: var(--accent-soft); border-color: var(--accent); color: var(--accent-text); }
.rp-fx__sbtn:active { transform: scale(.97); }
.rp-fx__search { position: relative; display: flex; align-items: center; }
.rp-fx__search > .ic { position: absolute; inset-inline-start: var(--s-3); color: var(--ink-3); pointer-events: none; }
.rp-fx__q { width: 100%; padding-inline-start: 40px; }
.rp-fx__list { list-style: none; margin: 0; padding: 0; display: grid; }
.rp-fx__opt { display: flex; align-items: center; gap: var(--s-3); min-height: var(--tap); padding: 0 var(--s-2); border-radius: var(--r-input); cursor: pointer; font: var(--t-body); color: var(--ink); }
.rp-fx__opt input { flex: none; width: 22px; height: 22px; margin: 0; accent-color: var(--accent); }
.rp-fx__opt:active { background: var(--surface-2); }
@media (hover: hover) and (pointer: fine) { .rp-fx__opt:hover { background: var(--surface-3); } }
.rp-fx__all { border-bottom: 1px solid var(--line); border-radius: 0; font-weight: 600; }
.rp-fx__v { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.rp-fx__n { flex: none; color: var(--ink-3); font: var(--t-meta); }
.rp-fx__nohit, .rp-fx__err { color: var(--ink-2); font: var(--t-meta); }
.rp-fx__err { color: var(--danger); font-weight: 600; }
.rp-fx__range { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-3); }
.rp-fx__foot { position: sticky; bottom: calc(-1 * var(--s-2)); display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-2); margin: var(--s-3) calc(-1 * var(--s-2)) calc(-1 * var(--s-2)); padding: var(--s-3); background: var(--surface); border-top: 1px solid var(--line); }
.rp-fpop { position: absolute; width: 320px; transform-origin: top left; }
.rp-fpop .rp-fx { padding: var(--s-2) var(--s-2) 0; }
.rp-fpop__head { padding: var(--s-2) var(--s-2) var(--s-3); }
.rp-fsheet .rp-fx__list { max-height: none; }
.rp-fcols { list-style: none; margin: 0; padding: 0; display: grid; }
.rp-fcols__row { display: flex; align-items: center; gap: var(--s-3); width: 100%; min-height: 56px; padding: var(--s-2) var(--s-3); border: 0; border-top: 1px solid var(--line); background: transparent;
  color: var(--ink); font: var(--t-body); text-align: left; cursor: pointer; touch-action: manipulation; transition: background-color var(--d-fast) var(--ease-out); }
.rp-fcols > li:first-child .rp-fcols__row { border-top: 0; }
.rp-fcols__l { flex: 1 1 auto; font-weight: 600; }
.rp-fcols__v { flex: 0 1 auto; color: var(--ink-3); font: var(--t-meta); text-align: right; }
.rp-fcols__row > .ic { flex: none; color: var(--ink-3); }
.rp-fcols__row:active { background: var(--surface-2); }
@media (hover: hover) and (pointer: fine) { .rp-fcols__row:hover { background: var(--surface-3); } }
/* profit: the sum written out under the branch cards (FINDINGS rule 4) */
.rp-psum { display: grid; gap: var(--s-1); max-inline-size: 480px; margin-top: var(--s-4); padding: var(--s-4); border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface); }
.rp-psum > div { display: flex; justify-content: space-between; gap: var(--s-4); font: var(--t-meta); color: var(--ink-2); }
.rp-psum dd { font-variant-numeric: tabular-nums; color: var(--ink); }
.rp-psum__total { margin-top: var(--s-2); padding-top: var(--s-2); border-top: 1px solid var(--line-strong); }
.rp-psum__total dt, .rp-psum__total dd { font: var(--t-h3); color: var(--ink); }

/* ================================================================== R9 §2.10 export sheet, Sales PDF sheet, preview */
.rp-expsheet__opts { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-2); }
.rp-expsheet__row { display: flex; align-items: center; gap: var(--s-3); width: 100%; min-height: 64px; padding: var(--s-3) var(--s-4); border: 1px solid var(--line); border-radius: var(--r-card);
  background: var(--surface); color: var(--ink); text-align: left; cursor: pointer; touch-action: manipulation; transition: transform var(--d-press) var(--ease-out); }
.rp-expsheet__row > .ic:first-child { flex: none; color: var(--accent-text); }
.rp-expsheet__row > .ic:last-child { flex: none; color: var(--ink-3); }
.rp-expsheet__row:active { transform: scale(.97); }
@media (hover: hover) and (pointer: fine) { .rp-expsheet__row:hover { background: var(--surface-3); } }
.rp-expsheet__t { flex: 1 1 auto; display: grid; gap: 2px; min-width: 0; }
.rp-expsheet__l { font: var(--t-h3); }
.rp-expsheet__s { color: var(--ink-3); font: var(--t-meta); }
.rp-pdf { display: grid; gap: var(--s-4); }
.rp-pdf__grp { display: grid; gap: var(--s-2); }
.rp-pdf__lab { font: var(--t-label); letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3); }
.rp-pdf__seg { width: 100%; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
.rp-pdf__seg .seg__btn { min-height: var(--tap); }
.rp-pdf__count { display: flex; align-items: center; gap: var(--s-2); padding: var(--s-3) var(--s-4); border-radius: var(--r-input); background: var(--accent-soft); color: var(--ink); font: var(--t-meta); font-weight: 600; font-variant-numeric: tabular-nums; }
.rp-pdf__count > .ic { flex: none; color: var(--accent-text); }
.rp-pdf__count.is-bad { background: var(--warn-soft); }
.rp-pdf__count.is-bad > .ic { color: var(--warn); }
.rp-pdf__what { color: var(--ink-3); font: var(--t-meta); }
.rp-pdf .inotice { margin: 0; }
.rp-step { display: grid; grid-template-columns: var(--tap) minmax(0, 1fr) var(--tap); align-items: center; gap: var(--s-2); }
.rp-step__btn { width: var(--tap); min-height: var(--tap); padding: 0; justify-content: center; }
.rp-step__l { text-align: center; font: var(--t-meta); font-weight: 600; color: var(--ink); }
/* the preview pages: the PDF's page model drawn in points; --pt turns a point into pixels for the page's width */
.rp-pv .modal__body { background: var(--surface-2); }
.rp-pv__pages { display: grid; gap: var(--s-4); overflow-x: auto; padding: var(--s-1); }
@media (min-width: 1024px) { .rp-pv__pages { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rp-pg { min-width: 0; }
.rp-pg__sheet { position: relative; aspect-ratio: 595 / 842; container-type: inline-size; overflow: hidden; background: var(--surface); box-shadow: var(--shadow-1); border: 1px solid var(--line); color: var(--ink); }
@media (max-width: 719px) { .rp-pg { width: 560px; } }
.rp-pg__t, .rp-pg__r { position: absolute; --pt: calc(100cqw / 595); left: calc(var(--x) * var(--pt)); top: calc(var(--y) * var(--pt)); }
.rp-pg__t { width: calc(var(--w) * var(--pt)); font-family: Helvetica, Arial, sans-serif; font-size: calc(var(--fs) * var(--pt)); line-height: calc(var(--lh) * var(--pt)); white-space: nowrap; overflow: hidden; }
.rp-pg__t.is-b { font-weight: 700; }
.rp-pg__t.is-r { text-align: right; }
.rp-pg__t.is-muted { color: var(--ink-3); }
.rp-pg__t.is-accent { color: var(--accent-text); }
.rp-pg__r { width: calc(var(--w) * var(--pt)); height: max(1px, calc(var(--h) * var(--pt))); }
.rp-pg__r.is-soft { background: var(--accent-soft); }
.rp-pg__r.is-line { background: var(--line); }
.rp-pg__r.is-accent { background: var(--accent); }

/* ================================================================== settings (R6 §3.8)
 * ≥ 1024 px: section list + one section card ≤ 880 px; row = label + tag on one line, description under, value +
 * pills in a right column ≤ 280 px. Phone: one grouped list (BUSINESS · STONE · MONEY · PEOPLE), rows open edit sheets. */
.st-banner { margin-bottom: var(--s-6); }
.st-banner .inotice { margin: 0; }
.st-layout { display: grid; gap: var(--s-6); grid-template-columns: 224px minmax(0, 880px); align-items: start; }
.st-nav { position: sticky; top: calc(var(--stick-top) + var(--s-4)); }
.st-nav ul { display: grid; gap: var(--s-1); list-style: none; margin: 0; padding: 0; }
.st-nav__btn { width: 100%; display: flex; align-items: center; gap: var(--s-3); min-height: var(--tap); padding: var(--s-2) var(--s-3); border: 0; border-radius: var(--r-pill); background: transparent; color: var(--ink-2); font: var(--t-meta); font-weight: 600; text-align: left; transition: background-color var(--d-fast) var(--ease-out); }
.st-nav__btn > .ic { color: var(--ink-3); flex: none; }
.st-nav__btn[aria-current="true"] { background: var(--accent-soft); color: var(--accent-text); }
.st-nav__btn[aria-current="true"] > .ic { color: var(--accent-text); }
.st-nav__btn:active { transform: scale(.97); }
@media (hover: hover) and (pointer: fine) { .st-nav__btn:hover:not([aria-current="true"]) { background: var(--surface-2); color: var(--ink); } }
.st-sec { display: grid; gap: 0; padding-bottom: var(--s-5); }
.st-sec__head { padding: var(--s-5) var(--s-5) var(--s-2); }
.st-sec__title { font: var(--t-h2); }
.st-sec__sub { color: var(--ink-3); font: var(--t-meta); margin-top: var(--s-1); }
.st-sec__body { padding: var(--s-2) var(--s-5) var(--s-5); display: grid; gap: var(--s-3); }
.st-sec__body > .inotice { margin: 0; }
.st-sec > .activity { margin: 0 var(--s-5); background: var(--surface-3); }
.st-list { list-style: none; margin: 0; padding: 0; display: grid; border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface); }
.st-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s-2) var(--s-4); align-items: center; padding: var(--s-4); border-top: 1px solid var(--line); }
.st-list > .st-row:first-child { border-top: 0; }
.st-row__main { min-width: 0; }
.st-row__head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-1) var(--s-2); }
.st-row__name { font: var(--t-h3); color: var(--ink); overflow-wrap: anywhere; }
.st-row__prov { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); }
.st-row__meta { color: var(--ink-3); font: var(--t-meta); margin-top: var(--s-1); }
.st-row__note { font: var(--t-meta); color: var(--ink-2); margin-top: var(--s-1); }
.st-row__side { display: grid; justify-items: end; gap: var(--s-2); max-width: 280px; min-width: 0; }
.st-row__value { font: var(--t-h3); text-align: right; overflow-wrap: anywhere; }
.st-row__actions { display: flex; flex-wrap: wrap; gap: var(--s-2); justify-content: flex-end; }
.st-self { color: var(--ink-3); font: var(--t-meta); text-align: right; max-inline-size: 192px; }
.st-code { font: var(--t-label); padding: 0 var(--s-2); border-radius: var(--r-plate); background: var(--surface-2); color: var(--ink-2); }
.st-sched { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--s-1) var(--s-2); padding: var(--s-1) var(--s-3); border-radius: var(--r-pill); background: var(--info-soft); color: var(--info); font: var(--t-label); }
.st-link { min-height: 32px; padding: 0 var(--s-1); border: 0; background: none; color: var(--info); font: var(--t-label); text-decoration: underline; }
@media (pointer: coarse) { .st-link { min-height: var(--tap); } }
.st-add { display: flex; }
.st-foot { color: var(--ink-3); font: var(--t-meta); }
.st-h3 { font: var(--t-h3); margin-top: var(--s-2); }
.st-perms__sub { color: var(--ink-3); font: var(--t-meta); margin-top: calc(-1 * var(--s-2)); }
.st-perms__name { display: block; font-weight: 600; }
/* the role table wraps inside the settings pane; the wrapper contains its visually hidden labels so they never widen the page */
.st-perms .tbl-wrap { position: relative; }
.st-perms .table { table-layout: fixed; min-width: 560px; }
.st-perms .table td, .st-perms .table th { vertical-align: top; white-space: normal; overflow-wrap: break-word; hyphens: manual; padding-inline: var(--s-3); }
.st-perms .table td { height: auto; }
.st-perms .table th:first-child, .st-perms .table td:first-child { width: 28%; }
.st-no { color: var(--ink-3); font-weight: 700; }
.st-lim { color: var(--ink-2); }
.st-form .inotice { margin: 0; }
.st-about { display: grid; gap: var(--s-1); color: var(--ink-2); font: var(--t-meta); }
.st-itemsheet__prov { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-top: var(--s-3); }
.st-itemsheet__acts { display: grid; gap: var(--s-3); margin-top: var(--s-5); }
.st-itemsheet__btn { width: 100%; }
/* phone: the grouped list */
.st-groups { display: grid; gap: var(--s-8); }
.st-group { display: grid; gap: var(--s-6); }
.st-glabel { font: var(--t-label); letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3); padding-inline: var(--s-4); margin-bottom: calc(-1 * var(--s-3)); }
.st-psec { display: grid; gap: var(--s-3); min-width: 0; }
.st-psec__title { display: flex; align-items: center; gap: var(--s-2); font: var(--t-h3); padding-inline: var(--s-1); }
.st-psec__title > .ic { color: var(--accent-text); }
.st-psec__body { display: grid; gap: var(--s-3); min-width: 0; }
.st-psec__body > .inotice { margin: 0; }
.st-psec .st-list { border-radius: var(--r-card); overflow: hidden; }
.st-psec .lrow.st-row, .st-setup .lrow.st-row { display: flex; grid-template-columns: none; width: 100%; padding: var(--s-3) var(--s-4); border-top: 0; text-align: left; align-items: center; gap: var(--s-3); }
.st-psec .st-row .lrow__body, .st-setup .st-row .lrow__body { flex: 1 1 auto; display: grid; gap: var(--s-1); min-width: 0; }
.st-psec .st-row .lrow__l1, .st-setup .st-row .lrow__l1 { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-1) var(--s-2); }
.st-psec .st-row .st-row__prov, .st-setup .st-row .st-row__prov { justify-content: flex-start; }
.st-psec .st-row .st-row__meta, .st-setup .st-row .st-row__meta { margin: 0; }
.st-psec .st-row .st-sched, .st-setup .st-row .st-sched { justify-self: start; }
.st-psec .st-row__value, .st-setup .st-row__value { flex: 0 1 auto; max-width: 48%; min-width: min-content; overflow-wrap: normal; font: var(--t-body); color: var(--ink-3); text-align: right; }
.st-psec .lrow__chev, .st-setup .lrow__chev { flex: none; color: var(--ink-3); }
.st-psec .st-add .btn { width: 100%; }
.st-psec .st-h3 { padding-inline: var(--s-1); }
.st-hist { border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface); }
.st-hist__sum { display: flex; align-items: center; gap: var(--s-2); min-height: var(--tap); padding: 0 var(--s-4); font: var(--t-meta); font-weight: 600; color: var(--ink-2); cursor: pointer; list-style: none; }
.st-hist__sum::-webkit-details-marker { display: none; }
.st-hist__sum { transition: background-color var(--d-fast) var(--ease-out); }
.st-hist__sum:active { background: var(--surface-3); }   /* R8 MOT-02: press feedback, like .cons-dsum > summary */
.st-hist__sum > .ic:first-child { color: var(--ink-3); }
.st-hist__n { margin-inline-start: auto; color: var(--ink-3); font-weight: 400; }
.st-hist__chev { color: var(--ink-3); transition: transform var(--d-fast) var(--ease-out); }
.st-hist[open] .st-hist__chev { transform: rotate(180deg); }
.st-hist .activity { border: 0; border-top: 1px solid var(--line); border-radius: 0 0 var(--r-card) var(--r-card); }
.st-hist .activity .card__head { display: none; }
.st-roles__body { display: grid; gap: var(--s-3); padding: 0 var(--s-4) var(--s-4); }
.st-roles__body .st-perms__sub { margin: 0; }
@media (max-width: 1279px) { .st-layout { grid-template-columns: 200px minmax(0, 880px); } }
html.no-motion .st-hist__chev, html.no-motion .st-nav__btn, html.no-motion .rp-dis__chev { transition: none; } html.no-motion .st-nav__btn:active { transform: none; }

/* ================================================================== settings R8: setup review, former users */
.st-setuplink { margin-top: var(--s-3); border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface); overflow: hidden; }
.st-setuplink .lrow__lead { color: var(--accent-text); }
.st-former { margin-top: var(--s-3); }
.st-former__body, .st-area__body { padding: 0; }
.st-former__body .st-list, .st-area__body .st-list { border: 0; border-top: 1px solid var(--line); border-radius: 0 0 var(--r-card) var(--r-card); overflow: hidden; }
.st-setup { display: grid; gap: var(--s-5); max-width: 880px; }
.st-setup .page-head { margin-bottom: 0; }
.st-sumstrip { margin: 0; flex-wrap: wrap; row-gap: var(--s-4); }
@media (max-width: 719px) {
  .st-sumstrip .stats__cell--lead { flex: 1 0 100%; padding-inline: 0; border: 0; }
  .st-sumstrip .stats__cell--lead + .stats__cell { padding-inline-start: 0; border-inline-start: 0; }
}
.st-setup__groups { display: grid; gap: var(--s-3); }
.st-area > .st-hist__sum > span:first-child { font: var(--t-h3); color: var(--ink); }
.st-switch { display: flex; align-items: flex-start; gap: var(--s-3); padding: var(--s-4); border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface); }
.st-switch__in { flex: none; appearance: none; -webkit-appearance: none; position: relative; width: 48px; height: 28px; margin: 0; border-radius: var(--r-pill); background: var(--line-strong); cursor: pointer; transition: background-color var(--d-tick) var(--ease-out); }
.st-device { display: grid; gap: var(--s-3); }   /* R10 §8.9 Settings › This device */
/* the device switches are 48 px tall touch targets: the input is the full 48 px box, the 32 px track is drawn by ::before */
.st-dev .st-switch__in, .st-dev .st-switch__in:checked { width: 52px; height: 48px; margin-block: -8px; background: transparent; }
.st-dev .st-switch__in::before { content: ''; position: absolute; left: 0; right: 0; top: 8px; height: 32px; border-radius: var(--r-pill); background: var(--line-strong); transition: background-color var(--d-tick) var(--ease-out); }
.st-dev .st-switch__in:checked::before { background: var(--accent); }
.st-dev .st-switch__in::after { top: 11px; width: 26px; height: 26px; }
.st-switch__in::after { content: ''; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: var(--surface); transition: transform 200ms var(--spring-settle); }   /* R10 §8.9: the thumb settles on the spring */
.st-switch__in:checked { background: var(--accent); }
.st-switch__in:checked::after { transform: translateX(20px); }
.st-switch__in:active::after { transform: scale(.97); }
.st-switch__in:checked:active::after { transform: translateX(20px) scale(.97); }
.st-switch__l { display: grid; gap: var(--s-1); min-width: 0; cursor: pointer; }
.st-switch__t { font: var(--t-h3); color: var(--ink); }
.st-switch__d { font: var(--t-meta); color: var(--ink-3); max-inline-size: 65ch; }
.st-qs { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-3); font: var(--t-body); color: var(--ink-2); max-inline-size: 72ch; }
.st-qs li { display: grid; grid-template-columns: 2em minmax(0, 1fr); gap: var(--s-2); align-items: start; }
.st-qs__n { color: var(--ink-3); font-weight: 600; text-align: right; }
.st-qs--done li > .ic { color: var(--ok); margin-top: 4px; justify-self: end; }
@media (pointer: coarse) { .st-switch__in { width: 52px; height: 32px; } .st-switch__in::after { width: 26px; height: 26px; } }
@media (prefers-reduced-motion: reduce) { .st-switch__in, .st-switch__in::after { transition: background-color var(--d-fast) var(--ease-out); } .st-switch__in:active::after { transform: none; } .st-switch__in:checked:active::after { transform: translateX(20px); } }
.st-area .st-hist__n { white-space: nowrap; }

/* R10 §8.8: the share bars grow from the left on route open (reports.js reportMoments, WAAPI scaleX, transform only) */
.rp-share__bar > span { transform-origin: left center; }
.rp-pdf__count .qload { min-height: 20px; }

/* ================================================================== R11.1 concept A "Control Room" — scoped, A only.
 * The analytics band (KPI strip, P&L waterfall, crosshair charts, branch comparison, category split, commission ring)
 * and the tables: mono figures, sticky heads (wide screens), subtle zebra, filter chips as A chips. */
html[data-concept="a"] .rp-a { gap: var(--s-5); }
html[data-concept="a"] .rp-a-kpis { margin: 0; }
html[data-concept="a"] .rp-a-band { min-width: 0; }
html[data-concept="a"] .rp-a-grid { display: grid; gap: var(--s-4); grid-template-columns: minmax(0, 1fr); align-items: start; }
html[data-concept="a"] .rp-a-col { display: grid; gap: var(--s-4); min-width: 0; align-content: start; }
@media (min-width: 1100px) {
  html[data-concept="a"] .rp-a-grid { grid-template-columns: minmax(0, 1.6fr) minmax(320px, 1fr); }
  html[data-concept="a"] .rp-a-grid--cm { grid-template-columns: minmax(300px, 1fr) minmax(0, 1.6fr); }
}
html[data-concept="a"] .rp-a-big { margin: 0 0 6px; font: 500 30px/36px var(--font-mono); letter-spacing: -.04em; white-space: nowrap; }

/* P&L waterfall */
html[data-concept="a"] .rp-a-wf__list { display: grid; margin: 0; padding: 0; list-style: none; }
html[data-concept="a"] .rp-a-wf__r { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "k v" "t t"; align-items: end; gap: 4px var(--s-3); padding: 7px 0; }
html[data-concept="a"] .rp-a-wf__k { grid-area: k; } html[data-concept="a"] .rp-a-wf__t { grid-area: t; } html[data-concept="a"] .rp-a-wf__v { grid-area: v; }
html[data-concept="a"] .rp-a-wf__r.is-total { border-top: 1px solid var(--line); margin-top: 2px; padding-top: 9px; }
html[data-concept="a"] .rp-a-wf__r.is-total + .rp-a-wf__r { border-top: 0; }
html[data-concept="a"] .rp-a-wf__k { display: flex; gap: 6px; min-width: 0; font: 500 13px/18px var(--font); color: var(--ink-2); }
html[data-concept="a"] .rp-a-wf__k b { width: 10px; flex: none; font-family: var(--font-mono); color: var(--ink-3); }
html[data-concept="a"] .rp-a-wf__r.is-total .rp-a-wf__k { color: var(--ink); font-weight: 600; }
html[data-concept="a"] .rp-a-wf__t { position: relative; height: 18px; border-radius: 4px; background: repeating-linear-gradient(90deg, var(--ca-grid) 0 1px, transparent 1px 25%); }
html[data-concept="a"] .rp-a-wf__b { position: absolute; top: 3px; bottom: 3px; border-radius: 3px; transform-origin: left; }
html[data-concept="a"] .rp-a-wf__r.is-total .rp-a-wf__b { top: 1px; bottom: 1px; }
html[data-concept="a"] .rp-a-wf__0 { position: absolute; top: -3px; bottom: -3px; width: 1px; background: var(--ink-3); }
html[data-concept="a"] .rp-a-wf__v { display: flex; align-items: baseline; gap: 8px; justify-content: flex-end; }
html[data-concept="a"] .rp-a-wf__v b { font: 500 14px/20px var(--font-mono); letter-spacing: -.02em; }
html[data-concept="a"] .rp-a-wf__r.is-total .rp-a-wf__v b { font-size: 16px; font-weight: 600; }
html[data-concept="a"] .rp-a-wf__v em { font: 400 11px/14px var(--font); font-style: normal; color: var(--ink-3); text-align: right; }

/* bar charts (crosshair from A's trend styles) */
html[data-concept="a"] .rp-a-plot { position: relative; min-height: 188px; margin: 0 calc(-1 * var(--s-2)); border-radius: var(--r-input); touch-action: pan-y; cursor: crosshair; }
html[data-concept="a"] .rp-a-svg { display: block; overflow: visible; }
html[data-concept="a"] .rp-a-hl { fill: var(--surface-2); }
html[data-concept="a"] .rp-a-bar { fill: var(--accent); }
html[data-concept="a"] .rp-a-t--warn { fill: var(--warn-bar); } html[data-concept="a"] .rp-a-t--b2 { fill: var(--ca-b2); }
html[data-concept="a"] .rp-a-t--ok { fill: var(--ok); } html[data-concept="a"] .rp-a-t--bad { fill: var(--danger); } html[data-concept="a"] .rp-a-t--flat { fill: var(--line-strong); }
html[data-concept="a"] .rp-a-sw--accent { background: var(--ca-sw-accent); } html[data-concept="a"] .rp-a-sw--warn { background: var(--ca-sw-warn); } html[data-concept="a"] .rp-a-sw--b2 { background: var(--ca-sw-b2); }
html[data-concept="a"] .rp-a-sw--ok { background: var(--ca-sw-ok); } html[data-concept="a"] .rp-a-sw--bad { background: var(--ca-sw-bad); } html[data-concept="a"] .rp-a-sw--flat { background: var(--ca-sw-flat); }
html[data-concept="a"] .rp-a-chart .ca-trend__legend i { display: inline-block; width: 8px; height: 8px; border-radius: 2px; margin-right: 6px; }

/* branch comparison */
html[data-concept="a"] .rp-a-cmp__list { display: grid; margin: 0; padding: 0; list-style: none; }
html[data-concept="a"] .rp-a-cmp__b { display: grid; gap: 6px; padding: 10px 0; }
html[data-concept="a"] .rp-a-cmp__b + .rp-a-cmp__b { border-top: 1px solid var(--line); }
html[data-concept="a"] .rp-a-cmp__n { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font: 600 14px/20px var(--font); }
html[data-concept="a"] .rp-a-cmp__n > i { width: 8px; height: 8px; border-radius: 2px; }
html[data-concept="a"] .rp-a-cmp__n span { flex-basis: 100%; font: 400 12px/16px var(--font); color: var(--ink-3); }
html[data-concept="a"] .rp-a-cmp__rows { display: grid; gap: 4px; margin: 0; }
html[data-concept="a"] .rp-a-cmp__rows > div { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); align-items: center; gap: var(--s-2); }
html[data-concept="a"] .rp-a-cmp__rows dt { font-size: 12px; line-height: 16px; color: var(--ink-3); }
html[data-concept="a"] .rp-a-cmp__rows dd { display: grid; grid-template-columns: minmax(0, 1fr) 6.5rem; align-items: center; gap: var(--s-2); margin: 0; }
html[data-concept="a"] .rp-a-cmp__rows b { font: 500 13px/18px var(--font-mono); letter-spacing: -.02em; text-align: right; }
html[data-concept="a"] .rp-a-cmp__t, html[data-concept="a"] .rp-a-cat__t { display: block; height: 8px; border-radius: 4px; background: var(--surface-2); overflow: hidden; }
html[data-concept="a"] .rp-a-cmp__t i, html[data-concept="a"] .rp-a-cat__t i { display: block; height: 100%; border-radius: 4px; transform-origin: left; }

/* categories + outcome split */
html[data-concept="a"] .rp-a-split { display: flex; gap: 3px; height: 10px; border-radius: 5px; overflow: hidden; }
html[data-concept="a"] .rp-a-split i { display: block; min-width: 3px; }
html[data-concept="a"] .rp-a-cat__list { display: grid; margin: 0; padding: 0; list-style: none; }
html[data-concept="a"] .rp-a-cat { display: grid; grid-template-columns: minmax(0, 1fr) minmax(40px, 18%) auto 3.2em; align-items: center; gap: var(--s-3); padding: 8px 0; }
html[data-concept="a"] .rp-a-cat + .rp-a-cat { border-top: 1px solid var(--line); }
html[data-concept="a"] .rp-a-cat__n { display: grid; grid-template-columns: 8px minmax(0, 1fr); column-gap: 8px; align-items: center; min-width: 0; font: 500 14px/20px var(--font); }
html[data-concept="a"] .rp-a-cat__n > i { width: 8px; height: 8px; border-radius: 2px; }
html[data-concept="a"] .rp-a-cat__n em { grid-column: 2; font-style: normal; font-size: 12px; line-height: 16px; color: var(--ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html[data-concept="a"] .rp-a-cat > b { font: 500 14px/20px var(--font-mono); letter-spacing: -.02em; text-align: right; }
html[data-concept="a"] .rp-a-cat > em { font: 500 11px/20px var(--font-mono); font-style: normal; color: var(--ink-3); text-align: right; }
@media (max-width: 419px) { html[data-concept="a"] .rp-a-cat { grid-template-columns: minmax(0, 1fr) auto 3em; } html[data-concept="a"] .rp-a-cat__t { display: none; } }

/* commissions */
html[data-concept="a"] .rp-a-cm__top { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--s-3); }
html[data-concept="a"] .rp-a-ring { position: relative; display: grid; place-items: center; width: 88px; height: 88px; }
html[data-concept="a"] .rp-a-ring svg { position: absolute; inset: 0; width: 100%; height: 100%; }
html[data-concept="a"] .rp-a-ring__t { fill: none; stroke: var(--surface-2); stroke-width: 8; }
html[data-concept="a"] .rp-a-ring__f { fill: none; stroke: var(--ok); stroke-width: 8; stroke-linecap: round; }
html[data-concept="a"] .rp-a-ring__m { position: relative; display: grid; justify-items: center; }
html[data-concept="a"] .rp-a-ring__m b { font: 500 18px/22px var(--font-mono); }
html[data-concept="a"] .rp-a-ring__m i { font: 500 11px/13px var(--font-mono); font-style: normal; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-3); }
html[data-concept="a"] .rp-a-out__kv { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-3); margin: var(--s-2) 0 0; }
html[data-concept="a"] .rp-a-out__kv dt { display: flex; align-items: center; gap: 6px; font-size: 12px; line-height: 16px; color: var(--ink-3); }
html[data-concept="a"] .rp-a-out__kv dt i { width: 8px; height: 8px; border-radius: 2px; }
html[data-concept="a"] .rp-a-out__kv dd { margin: 0; font-size: 12px; color: var(--ink-3); }
html[data-concept="a"] .rp-a-out__kv dd.num { font: 500 18px/24px var(--font-mono); letter-spacing: -.03em; color: var(--ink); }

/* motion: bars grow on the first look (the card reveal is A's) */
html[data-concept="a"] .rp-a.ca-enter .rp-a-wf__b, html[data-concept="a"] .rp-a.ca-enter .rp-a-cmp__t i, html[data-concept="a"] .rp-a.ca-enter .rp-a-cat__t i { animation: ca-grow 600ms var(--ease-out) both; animation-delay: 220ms; }
html[data-concept="a"].no-motion .rp-a * { animation: none !important; transition: none !important; }

/* the tables: mono figures, subtle zebra, sticky heads where the table scrolls in its own box (wide screens) */
html[data-concept="a"] .rp-ct { box-shadow: var(--shadow-1); }
html[data-concept="a"] .rp-ct__t td .num, html[data-concept="a"] .rp-ct__t td.ta-right, html[data-concept="a"] .rp-ct__t tfoot td { font-family: var(--font-mono); letter-spacing: -.02em; }
html[data-concept="a"] .rp-ct__t tbody > tr > * { height: 48px; }
html[data-concept="a"] .rp-ct__t tbody > tr:nth-child(even) > * { background: var(--surface-3); }
html[data-concept="a"] .rp-ct__t thead th { font: 500 11px/16px var(--font-mono); letter-spacing: .08em; }
@media (hover: hover) and (pointer: fine) { html[data-concept="a"] .rp-ct__t tbody > tr:hover > * { background: var(--accent-soft); } }
@media (min-width: 1024px) {
  html[data-concept="a"] .rp-ct:has(.rp-ct__t tbody > tr:nth-child(16)) { max-height: 640px; overflow: auto; }
  html[data-concept="a"] .rp-ct__t thead th { position: sticky; top: 0; z-index: 1; }
}
html[data-concept="a"] .rp-chip { font-family: var(--font-mono); border-radius: 6px; }
html[data-concept="a"] .rp-share__bar { height: 6px; }
html[data-concept="a"] .rp-share__txt { font-family: var(--font-mono); }
html[data-concept="a"] .rp-dis__t { font-weight: 600; letter-spacing: -.01em; }
@media (max-width: 899px) { html[data-concept="a"] .rp-a-kpis > .ca-kpi:last-child:nth-child(even) { grid-column: 1 / -1; } }
html[data-concept="a"] .rp-a-ylab { paint-order: stroke; stroke: var(--surface); stroke-width: 3px; }
html[data-concept="a"] .rp-a-out__kv.is-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
/* R11.2: Design A sizes every .seg__btn at 34 px (44 on touch) under html[data-concept="a"], which out-ranks this
   module's own 48 px floor above; keep the floor (touch targets, approved R8/R9 sizes). */
html[data-concept="a"] .rp-pdf__seg .seg__btn { min-height: var(--tap); }
