/* Prime Brokerage Simulation, participant app.

   pb.html loads participant-shell.css and cm-sim.css before this file. The
   shell, the sidebar, the tiled panels, the feed, the instrument panel rows
   and the segmented control are the shell sheet's; the call card's client
   name and status line, the facts, the readouts, the company heading and
   the Debrief's cards are the Capital Markets sheet's; the sub-page row, the
   buttons, the badges, the labels and the fields are the platform's
   (components.css). As the Capital Markets sheet, this file adds no font size
   and re-styles no shared class (audit ruling 25, 2026-11-07): it has the
   grids and the column widths of this sim's own pages (design 19), the panel
   from the right, and the states that are this sim's own. No column is cut,
   a row of answers keeps one size, and nothing grows when a conversation
   grows. */

/* The lockup name at the size the Capital Markets header has, for the same
   reason (console.css has the same rule for the trainer and admin headers). */
body[data-sim="primebrokerage"] .header-logo-mount .lockup-led {
  --led-name-size: 19px;
}

/* The sidebar's rows are short, and the pages take the width. */
@media (min-width: 1200px) {
  :root { --sidebar-width: 280px; }
}

/* The pages that fill the window, as the Capital Markets pages do: app.js
   sets pm-desk-active on the workspace while one shows, and the content host
   is the flex column the page stretches into (cm-sim.css, the same rule for
   its hosts). Each panel scrolls inside itself. */
#pm-workspace.pm-desk-active #pb-desk-content,
#pm-workspace.pm-desk-active #pb-stocks-content,
#pm-workspace.pm-desk-active #pb-performance-content {
  flex: 1 1 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

/* A count on a page's name (st-sim.css, the same rule): the Desk in the
   header and the Request sub-page under the tiles. The name stays where it
   is whether a count shows or not, and the gap before the count is a
   margin, not a space character. */
#header-tab-nav .tab-btn .badge[data-count],
#pm-workspace .subtab-btn .badge[data-count] {
  vertical-align: middle;
  margin-block: -1em;
  margin-left: 8px;
  border-radius: 0;
}

/* Each acting page's hold covers its own panel, so the header and the reading
   pages stay reachable (mm-sim.css #mkm-hold, st-sim.css .st-hold). */
#pm-workspace .tab-panel { position: relative; }
#pm-workspace .pb-hold { position: absolute; }
/* Before the session opens the cover is opaque, with no glass: there is
   nothing under it worth reading (mm-sim.css, the market making hold's
   rule, which pb.html does not load). */
#pm-workspace .pause-overlay--solid {
  background: var(--bg);
  backdrop-filter: none;
}

/* A table at its real width: the columns take what their values need and no cell
   is cut. A heading may break onto a second line (the Capital Markets table
   headings, cm-sim.css .pm-table.cm-table th). */
#pm-workspace .pm-table.pb-fit { table-layout: auto; }
#pm-workspace .pm-table.pb-fit td { white-space: nowrap; overflow: visible; }
#pm-workspace .pm-table.pb-fit th { overflow: visible; }

/* A row or a name that opens something. */
#pm-workspace .pm-table tbody tr[data-stock],
#pm-workspace .pb-link { cursor: pointer; }
#pm-workspace .pm-table tbody tr[data-stock]:hover { background: var(--bg-elevated); }
#pm-workspace .pb-link:hover { color: var(--color-accent-text); }

#pm-workspace .pb-strong { font-weight: 700; color: var(--text); }
#pm-workspace .pb-pending { color: var(--warning); font-weight: 500; }
#pm-workspace .pb-warn { color: var(--warning); }

/* A block's heading is the shell's caption title (.pm-frame-title); these set
   only the space around it. */
#pm-workspace .pb-block-head { margin: 0 0 4px; }
#pm-workspace .pb-block-gap { margin-top: 14px; }

/* The label and value rows are the shell's (.pm-ip-row, .pm-ip-word). The one
   strong row of a block (design 19.1: excess or deficit), and the stress
   tests under the method's steps, set in from them with their values in the
   muted ink. */
#pm-workspace .pm-ip-row.pb-row-strong,
#pm-workspace .pb-row-strong .pm-ip-row { color: var(--text); font-weight: 700; }
#pm-workspace :is(.pm-ip-row.pb-row-strong, .pb-row-strong .pm-ip-row) :is(.num, .pm-ip-word) { font-weight: 700; }
#pm-workspace .pm-ip-row.pb-row-minor { padding-left: 12px; }
#pm-workspace .pm-ip-row.pb-row-minor :is(.num, .pm-ip-word) { color: var(--text-muted); }
/* A signed sum's sign is on the span around its digits' span
   (pages/common.js moneySigned), so the digits take the sign's colour. */
#pm-workspace .pm-ip-row .negative .num { color: var(--negative); }
/* The step the margin requirement comes from, tagged in its label: the
   label's size, in the muted ink at the regular weight. */
#pm-workspace .pb-binding { font-weight: 400; color: var(--text-muted); }

/* ── The day summary ───────────────────────────────────────────────── */

/* The Hedge Fund Simulation's fact rows, copied from portfolio-sim.css
   (.pm-ov-rows), which this page does not load: one key-value row per fact
   on a hairline, the value right-aligned, no box (owner, 2026-11-08). */
.pm-ov-rows {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  column-gap: 24px;
  margin-bottom: 16px;
}
.pm-ov-row { display: contents; }
.pm-ov-row > * {
  padding: 6px 0;
  border-bottom: 1px solid var(--border);
  font-size: 0.95rem;
}
.pm-ov-label { color: var(--text-muted); }
.pm-ov-value {
  color: var(--text);
  font-weight: 600;
  text-align: right;
}

/* ── The Debrief ───────────────────────────────────────────────────── */

/* The Hedge Fund Debrief's sub-page bar and team report button, copied from
   portfolio-sim.css (.pm-subtabs, .pm-subtab, .pm-db-bar, .pm-db-report),
   which this page does not load (owner, 2026-11-08). */
#pm-workspace .pm-subtabs {
  height: 50px;
  flex: none;
  display: flex;
  align-items: stretch;
  padding: 0 6px;
  border-bottom: 1px solid var(--border);
  overflow-x: auto;
  scrollbar-width: none;
}
#pm-workspace .pm-subtab {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1px;
  padding: 0 13px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  font-family: var(--font);
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
}
#pm-workspace .pm-subtab:hover { background: var(--pm-hover); }
#pm-workspace .pm-subtab.is-active {
  background: var(--bg-surface);
  border-bottom-color: var(--color-accent-text);
}
#pm-workspace .pm-subtab-label {
  font-size: var(--pm-fs-main);
  font-weight: 600;
  color: var(--text-muted);
}
#pm-workspace .pm-subtab.is-active .pm-subtab-label { color: var(--text); }
#pm-workspace .pm-subtab-sub { font-size: var(--pm-fs-note); color: var(--text-muted); }
#pm-workspace .pm-db-bar { align-items: stretch; }
#pm-workspace .pm-db-report {
  margin: auto 6px auto auto;
  height: 30px;
  padding: 0 12px;
  border: 0;
  border-radius: 3px;
  background: var(--color-accent);
  color: #fff;
  font-family: var(--font);
  font-size: var(--pm-fs-main);
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
}
/* Each sub-page's sections are headings over their tables, a hairline between
   them, with no card box. */
#pm-workspace #tab-debrief .pb-db-page { display: flex; flex-direction: column; }
#pm-workspace #tab-debrief .pb-db-page[hidden] { display: none; }
#pm-workspace #tab-debrief .pb-db-page .pm-frame {
  border: 0;
  border-bottom: 1px solid var(--border-subtle);
  background: transparent;
  padding: 20px 0;
}
#pm-workspace #tab-debrief .pb-db-page .cm-db-cards .pm-frame { border-bottom: 0; }

/* The Debrief's text columns read left to right: the timeline's news, signals
   and actions, the conversations, the route (restored 2026-11-08; the sheet
   pass of the build had taken it out and every text column turned right). */
#pm-workspace .cm-db-table :is(thead th, tbody td).cm-db-text { text-align: left; }

/* ── The sidebar ───────────────────────────────────────────────────── */

/* A count that waits on the team, in the warning ink, beside the shell's
   positive and negative values (participant-shell.css .pm-sb-row .num). */
#pm-params-content .pm-sb-row .num.pb-warn { color: var(--warning); }
/* The disclaimer holds the foot of the sidebar, as on the market making
   and Sales & Trading desks: the same three rules as mm-sim.css
   (#market-making-params-content, #mkm-sb-live, .mkm-sb-footer). The
   content column fills the panel so the auto margin on the footer pushes
   it all the way down; the gap above it rides on the readings. */
#pm-workspace #pm-params-content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
#pm-workspace #pb-sb-live { margin-bottom: 12px; }
#pm-workspace .pb-sb-footer {
  margin: auto -16px 0;
}

/* ── The Desk ──────────────────────────────────────────────────────── */

#pm-workspace .pb-desk {
  flex: 1 1 0;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 1px;
  background: var(--bg);
}
/* The selected client's panel beside the newsfeed, the newsfeed 340 wide
   (design 19.3). */
#pm-workspace .pb-desk-main {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 1px;
  background: var(--bg);
}

/* The client tiles: one height, the status line at the foot of each. A tile
   is the Capital Markets call card: the client's name (.cm-ticket-client),
   the rows, and the status line at the card's type line size
   (.cm-ticket-type). */
#pm-workspace .pb-tiles {
  container: pb-tiles / inline-size;
  display: grid;
  grid-template-columns: repeat(var(--pb-tiles, 5), minmax(0, 1fr));
  gap: 1px;
  background: var(--bg);
}
#pm-workspace .pb-tile {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 8px 12px;
  background: var(--bg-surface);
  cursor: pointer;
}
#pm-workspace .pb-tile:hover { background: var(--bg-elevated); }
#pm-workspace .pb-tile.is-selected { background: color-mix(in srgb, var(--color-accent) 12%, var(--bg-surface)); }
#pm-workspace .pb-tile.is-selected .pb-tile-name { color: var(--color-accent-text); }
/* 30px: the platform's small button (.btn-sm, 6px 12px at 0.82rem on the
   font's 1.21 line, 29.9px) fits the line. */
#pm-workspace .pb-tile-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  height: 30px;
  margin-top: 7px;
  padding: 0 6px 0 8px;
  background: var(--bg-elevated);
  white-space: nowrap;
  overflow: hidden;
}
#pm-workspace .pb-tile-line.is-waiting {
  color: var(--text);
  background: color-mix(in srgb, var(--warning) 18%, var(--bg-surface));
}
#pm-workspace .pb-tile-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
#pm-workspace .pb-tile-timer { font-weight: 700; }
/* A small laptop: the same tile with less padding, so a margin call's amount and
   its button stay on one line. */
@container pb-tiles (max-width: 1100px) {
  #pm-workspace .pb-tile { padding: 8px 6px; }
  #pm-workspace .pb-tile-line { gap: 4px; padding: 0 4px; }
}
/* A new request lights the tile's status line for ten seconds (design 19.3),
   in the warning ink the waiting line has, fading to the line's own colour:
   the accent blue under the text read poorly (owner, 2026-11-08). */
@keyframes pb-line-flash {
  0% { background: color-mix(in srgb, var(--warning) 45%, var(--bg-surface)); }
  80% { background: color-mix(in srgb, var(--warning) 30%, var(--bg-surface)); }
}
#pm-workspace .pb-line-new { animation: pb-line-flash 10s ease-out 1; }
/* A new headline in the newsfeed is lit for ten seconds and then fades: the
   Capital Markets feed's rule (cm-sim.css .cm-news-row--new, the market
   making feed's mkm-news-flash), on its keyframes. The backlog of a
   reconnect never has the class (news.js). */
#pm-workspace .pb-feed-new { animation: cm-news-flash 10s ease-out 1; }

/* The panel under the tiles and its pages. The row of sub-pages is the
   platform's .subtab-nav as it is; its note sits at the row's right end. */
#pm-workspace .pb-client-panel { container: pb-panel / inline-size; }
#pm-workspace .pb-client-page {
  flex: 1 1 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
#pm-workspace .pb-client-page[hidden] { display: none; }
#pm-workspace .pb-page-overview { overflow-y: auto; }
/* A page's head: the client and what the page is about, as the Capital
   Markets company heading (.cs-ticker-block, .cs-ticker, .cs-legalname). */
#pm-workspace .pb-page-head {
  flex: 0 0 auto;
  padding: 8px 16px;
  border-bottom: 1px solid var(--border-subtle);
}

/* Overview: three blocks, then the largest positions and the signals. */
#pm-workspace .pb-blocks {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 28px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--border-subtle);
}
#pm-workspace .pb-blocks--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#pm-workspace .pb-under {
  flex: 1 1 0;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  overflow: auto;
}
#pm-workspace .pb-under > div { min-width: 0; padding: 10px 16px; }
#pm-workspace .pb-under > div + div { border-left: 1px solid var(--border-subtle); }
#pm-workspace .pb-row-total td { font-weight: 700; color: var(--text); }

/* Request: one layout on every kind. */
/* The Request page's regions give way to one sentence before day 1. */
#pm-workspace .pb-page-request > [hidden] { display: none; }
#pm-workspace .pb-req-head {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 16px 0;
}
/* The open items are the shell's segmented control (.pm-seg, .pm-seg-opt,
   the open one .is-active), one button an item with its kind and its
   countdown. Every button is as wide as the longest kind with a countdown:
   "Collateral substitution" and "10:00" at the control's 14px measure
   211.6px with the gap and the padding, so 212px, and no button changes size
   between requests. A third item on a narrow panel goes to a second row
   instead of out of view. */
#pm-workspace .pb-req-items { flex-wrap: wrap; }
/* The switch sits at the right of the Request page's heading. */
#pm-workspace .pb-req-title .pb-req-items { margin-left: auto; }
#pm-workspace .pb-req-item {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  width: 212px;
}
#pm-workspace .pb-req-timer { font-weight: 700; }
#pm-workspace .pb-req-item.is-urgent:not(.is-active) .pb-req-timer { color: var(--warning); }
#pm-workspace .pb-req-signals { flex: 0 0 auto; color: var(--text); white-space: nowrap; }
/* The six facts in two rows of three, a label over its value
   (.cm-fact-label, and the value at the page's 16px). A row is the label's
   line (0.85rem at the body's 1.6), the 1px between and the value's line
   (16px at 1.6): 48.4px, so 49px. */
#pm-workspace .pb-facts {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: 49px 49px;
  gap: 6px 16px;
  padding: 8px 16px;
  border-bottom: 1px solid var(--border-subtle);
}
#pm-workspace .pb-fact { display: flex; flex-direction: column; gap: 1px; min-width: 0; white-space: nowrap; }
#pm-workspace .pb-req-middle {
  flex: 1 1 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
#pm-workspace .pb-ask {
  flex: 0 0 auto;
  padding: 8px 16px;
  border-bottom: 1px solid var(--border-subtle);
}
#pm-workspace .pb-ask-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}
#pm-workspace .pb-said {
  flex: 1 1 0;
  min-height: 0;
  overflow-y: auto;
  padding: 8px 16px;
}
#pm-workspace .pb-turn { margin-bottom: 8px; line-height: 1.4; color: var(--text); }
#pm-workspace .pb-turn-q { display: block; font-weight: 600; color: var(--color-accent-text); }
#pm-workspace .pb-req-stock {
  flex: 1 1 0;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
}
#pm-workspace .pb-req-chart { min-width: 0; min-height: 0; padding: 4px 4px 0 12px; overflow: hidden; }
#pm-workspace .pb-req-rows { min-width: 0; padding: 8px 16px; border-left: 1px solid var(--border-subtle); overflow: hidden; }
#pm-workspace .pb-req-table { flex: 1 1 0; min-height: 0; padding: 8px 16px; overflow: auto; }
/* The answers: three slots, each button the slot's width, so a button has
   one place and one size on every request. Under each, the shell's note
   (.pm-frame-note) in three lines of its 12px at 1.3: 47px. */
#pm-workspace .pb-answers {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 10px 16px 6px;
  background: var(--bg-elevated);
  border-top: 1px solid var(--border-subtle);
}
#pm-workspace .pb-answer { min-width: 0; }
#pm-workspace .pb-answer .btn { width: 100%; }
#pm-workspace .pb-answer-note {
  display: block;
  height: 47px;
  margin-top: 4px;
  line-height: 1.3;
  overflow: hidden;
}

/* Terms: the form, the preview, Apply always in view. */
#pm-workspace .pb-terms-split {
  flex: 1 1 0;
  min-height: 0;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-content: start;
  overflow: auto;
}
#pm-workspace .pb-terms-split > div { min-width: 0; padding: 10px 16px; }
#pm-workspace .pb-terms-preview { border-left: 1px solid var(--border-subtle); }
@container pb-panel (max-width: 800px) {
  #pm-workspace .pb-terms-split { grid-template-columns: minmax(0, 1fr); }
  #pm-workspace .pb-terms-preview { border-left: 0; }
}
/* The form's grid (audit L-23, kept): the platform's label (.sb-label) beside
   a 110px right-aligned field, and the standard term as the shell's note
   (.pm-frame-note). The label sits beside its field without the label's own
   margins, as on the Capital Markets Bookbuild rows (cm-sim.css
   .cm-bb-rows .sb-label). */
#pm-workspace .pb-terms-rows {
  display: grid;
  grid-template-columns: max-content 110px max-content;
  align-items: center;
  gap: 6px 12px;
  color: var(--text);
}
#pm-workspace .pb-terms-rows .sb-label { margin: 0; }
#pm-workspace .pb-terms-rows :is(.sidebar-input, .sidebar-select) { width: 110px; text-align: right; }
#pm-workspace .pb-weighs { margin-top: 8px; }
#pm-workspace .pb-terms-foot {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  padding: 8px 16px;
  background: var(--bg-elevated);
  border-top: 1px solid var(--border-subtle);
}
#pm-workspace .pb-terms-note { margin-right: auto; }

/* Margin: the steps beside the charts, the close-out above them on a default. */
#pm-workspace .pb-margin-scroll { flex: 1 1 0; min-height: 0; overflow: auto; }
#pm-workspace .pb-margin-closeout { padding: 10px 16px; border-bottom: 1px solid var(--border-subtle); }
#pm-workspace .pb-margin-closeout[hidden] { display: none; }
#pm-workspace .pb-margin-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
#pm-workspace .pb-margin-split > div { min-width: 0; padding: 10px 16px; }
#pm-workspace .pb-margin-charts { border-left: 1px solid var(--border-subtle); }

/* History and Positions fill their page. */
#pm-workspace .pb-history td:nth-child(2) { white-space: normal; }

/* ── The panel from the right ──────────────────────────────────────── */

#pm-workspace .pb-details {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 20;
  width: min(620px, 62%);
  display: flex;
  flex-direction: column;
  background: var(--bg-surface);
  box-shadow: -10px 0 24px rgba(20, 30, 50, 0.18);
}
#pm-workspace .pb-details[hidden] { display: none; }
#pm-workspace .pb-details-head {
  flex: 0 0 auto;
  padding: 10px 44px 8px 16px;
  border-bottom: 1px solid var(--border-subtle);
}
#pm-workspace .pb-details-head[hidden] { display: none; }
/* The panel closes with the dialog's close button (.iro-dialog-close,
   shared/dialog.js), in the panel's corner as the Briefing window places it
   (briefing-window.css), over the client's page when the head is hidden. */
#pm-workspace .pb-details > .iro-dialog-close {
  position: absolute;
  top: 14px;
  right: 16px;
  z-index: 1;
}
#pm-workspace .pb-details-body { flex: 1 1 0; min-height: 0; overflow-y: auto; }
#pm-workspace .pb-stock-chart { margin: 4px 0; padding: 0 12px; min-height: 60px; }
#pm-workspace .pb-stock-body { padding: 4px 16px 12px; }
#pm-workspace .pb-details-body .pb-under { overflow: visible; }

/* ── Stocks and Performance ────────────────────────────────────────── */

/* Stocks: thirteen columns at the full width (design 19.6), each as wide as
   its longest value and its heading's longest word. From the rules (the
   shell's 0.85rem cells and 84px first column, the Capital Markets 13px
   headings and 6px gutters) the columns need at least 993px; the table has
   1013px at 1366 wide with the panel's scrollbar and 1151px at 1504, the
   headings on up to three lines. */
#pm-workspace .pb-page {
  flex: 1 1 0;
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  background: var(--bg);
}
#pm-workspace .pb-page > .pm-frame { min-width: 0; }
#pm-workspace .pb-stocks th:last-child,
#pm-workspace .pb-stocks .pb-etb { text-align: center; }
#pm-workspace .pb-stocks input[type="checkbox"] { margin: 0; vertical-align: middle; }

/* Performance: the readouts in the Capital Markets row (.cm-stats) on their
   tile, the four pages under them. */
#pm-workspace .pb-perf {
  flex: 1 1 0;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 1px;
  background: var(--bg);
}
#pm-workspace .pb-perf-stats {
  padding: 8px 16px;
  background: var(--bg-surface);
}
#pm-workspace .pb-perf-panel {
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--bg-surface);
}
#pm-workspace .pb-quad {
  flex: 1 1 0;
  min-height: 0;
  overflow: auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
}
#pm-workspace .pb-quad > div { min-width: 0; padding: 10px 16px; }
#pm-workspace .pb-quad > div:nth-child(even) { border-left: 1px solid var(--border-subtle); }
#pm-workspace .pb-quad > div:nth-child(n+3) { border-top: 1px solid var(--border-subtle); }
/* The close-outs take the Revenue page's full width under the four blocks. */
#pm-workspace .pb-quad > .pb-quad-wide { grid-column: 1 / -1; border-left: 0; }
#pm-workspace .pb-quad > .pb-quad-wide[hidden] { display: none; }
#pm-workspace [data-page-body="summaries"] { overflow-y: auto; }
#pm-workspace .pb-summary-block { padding: 10px 16px; border-bottom: 1px solid var(--border-subtle); }

/* ── The day summary ───────────────────────────────────────────────── */

/* The day summary, in the dialog outside the workspace: its total row in the
   weight the Capital Markets tables give theirs (cm-sim.css tr.cm-total). */
.pb-summary .data-table tr.cm-total td { font-weight: 600; }
