/* Political Capital: a live client review workspace. All view settings are local;
   requests, priorities, thresholds and collaboration use the existing plan. */
#page-mt:has(#mt-tab-capital.active) { --mt-open-zoom: 1; }
body.cap-presenting { overflow: hidden; }
body.cap-presenting #tab-staff-portal #page-mt .mt-shell { zoom: 1; animation: none; }
#page-mt #mt-cap-body {
  /* The meeting tracker's palette: white panels on a pale shell, one blue, status pills.
     --cap-gold is the focus ring and the issue card's top rule (the tracker's group blue). */
  --cap-bg: #f6f7fb; --cap-paper: #ffffff; --cap-soft: #f5f6f8; --cap-text: #323338; --cap-muted: #676879;
  --cap-line: #d0d4e4; --cap-line-soft: #e6e9ef; --cap-accent: #0073ea; --cap-on: #ffffff; --cap-gold: #0086c0;
  --cap-green: #00774a; --cap-green-bg: #d9f4e6; --cap-green-line: #86dbb0; --cap-bar-green: #00c875;
  --cap-yellow: #8a5600; --cap-yellow-bg: #fff0c9; --cap-yellow-line: #f0c862; --cap-bar-yellow: #fdab3d;
  --cap-red: #b3203a; --cap-red-bg: #fde3e8; --cap-red-line: #f1a3b0; --cap-bar-red: #e2445c;
  --cap-kind-approp: #00774a; --cap-kind-drl: #7b3fb8; --cap-kind-bl: #1c64c8;
  --cap-blue: #1c5fb8; --cap-blue-bg: #e3eefc; --cap-blue-bar: #579bfc;
  --cap-font: 14px; --cap-small: 12.5px; --cap-title: 24px; --cap-issue: 19px; --cap-space: 14px;
  /* Two members sit side by side, so each row is compact; the widths scale with the text size. */
  --cap-mcols: calc(var(--cap-font) * 1.7) minmax(0, 1fr) calc(var(--cap-font) * 3.4) calc(var(--cap-font) * 1);
  --mn-text: var(--cap-text); --mn-text-2: var(--cap-muted); --mn-primary: var(--cap-accent);
  padding: 6px 0 0; color: var(--cap-text); font-family: Figtree, -apple-system, 'Segoe UI', system-ui, Roboto, sans-serif; color-scheme: light;
}
#page-mt #mt-cap-body.cap-dim {
  --cap-bg: #181b34; --cap-paper: #292f4c; --cap-soft: #323a5e; --cap-text: #e6e9ef; --cap-muted: #b3b7c8;
  --cap-line: #4d5479; --cap-line-soft: #3d4466; --cap-accent: #579bfc; --cap-on: #0b1228; --cap-gold: #6cc3e6;
  --cap-green: #8ae8b8; --cap-green-bg: #1d4a3a; --cap-green-line: #3f8f6f;
  --cap-yellow: #ffd980; --cap-yellow-bg: #4b3c17; --cap-yellow-line: #94762c;
  --cap-red: #ffa3b2; --cap-red-bg: #56222e; --cap-red-line: #a8505f; color-scheme: dark;
  --cap-kind-approp: #8ae8b8; --cap-kind-drl: #d4a8ff; --cap-kind-bl: #9cc4ff;
  --cap-blue: #9cc4ff; --cap-blue-bg: #1f3355; --cap-blue-bar: #579bfc;
}
#page-mt #mt-cap-body *, #page-mt #mt-cap-body *::before, #page-mt #mt-cap-body *::after { box-sizing: border-box; }
#page-mt #mt-cap-body [hidden] { display: none !important; }
#page-mt #mt-cap-body .cap-sr { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#page-mt #mt-cap-body .cap-wrap { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 12px; padding: var(--cap-space); background: var(--cap-bg); border: 1px solid var(--cap-line-soft); border-radius: 8px; position: relative; overflow: hidden; font-size: var(--cap-font); line-height: 1.45; }
#page-mt #mt-cap-body button, #page-mt #mt-cap-body input, #page-mt #mt-cap-body select, #page-mt #mt-cap-body summary { font: inherit; }
#page-mt #mt-cap-body button, #page-mt #mt-cap-body summary, #page-mt #mt-cap-body select { cursor: pointer; }
#page-mt #mt-cap-body button:disabled { opacity: .45; cursor: default; }
#page-mt #mt-cap-body :is(button, input, select, summary, [tabindex]):focus-visible { outline: 3px solid var(--cap-gold); outline-offset: 3px; }
#page-mt #mt-cap-body button { transition: none; }
#page-mt #mt-cap-body .cap-top, #page-mt #mt-cap-body .cap-top-l, #page-mt #mt-cap-body .cap-top-r { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
#page-mt #mt-cap-body .cap-top { justify-content: space-between; flex: none; }
#page-mt #mt-cap-body .cap-top-l { gap: 24px; }
#page-mt #mt-cap-body .cap-top-r { gap: 8px; }
#page-mt #mt-cap-body .cap-eyebrow { margin: 0 0 4px; color: var(--cap-muted); font-size: var(--cap-small); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
#page-mt #mt-cap-body .cap-title { margin: 0; color: var(--cap-text); font-size: var(--cap-title); font-weight: 700; letter-spacing: -.01em; line-height: 1.15; }
#page-mt #mt-cap-body .cap-seg { display: inline-flex; gap: 2px; padding: 2px; background: var(--cap-soft); border: 1px solid var(--cap-line); border-radius: 8px; }
#page-mt #mt-cap-body .cap-seg-btn { border: 0; background: transparent; color: var(--cap-muted); padding: 5px 12px; border-radius: 6px; font-size: var(--cap-small); font-weight: 700; }
#page-mt #mt-cap-body .cap-seg-btn.active { background: var(--cap-paper); color: var(--cap-accent); box-shadow: 0 1px 2px #32333829; }
#page-mt #mt-cap-body .cap-btn, #page-mt #mt-cap-body .cap-step, #page-mt #mt-cap-body .cap-add { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 6px 12px; border: 1px solid var(--cap-line); border-radius: 4px; background: var(--cap-paper); color: var(--cap-text); font-size: var(--cap-small); font-weight: 600; text-decoration: none; white-space: nowrap; }
#page-mt #mt-cap-body .cap-btn-primary { background: var(--cap-accent); border-color: var(--cap-accent); color: var(--cap-on); }
#page-mt #mt-cap-body .cap-btn-primary:hover:not(:disabled) { box-shadow: none; filter: brightness(.9); }
#page-mt #mt-cap-body :is(.cap-btn, .cap-step, .cap-add, .cap-chip):hover:not(:disabled) { box-shadow: inset 0 0 0 1px var(--cap-accent); }
#page-mt #mt-cap-body .cap-plan-tools { position: relative; }
#page-mt #mt-cap-body .cap-tool-menu { position: absolute; top: calc(100% + 8px); right: 0; z-index: 6; display: grid; gap: 8px; padding: 12px; background: var(--cap-paper); border: 1px solid var(--cap-line); border-radius: 8px; box-shadow: 0 8px 28px #0002; }
#page-mt #mt-cap-body .cap-top-body { display: flex; flex-direction: column; gap: 12px; flex: none; }
#page-mt #mt-cap-body .cap-foldbar { display: flex; align-items: center; gap: 14px; flex: none; margin-block: -4px; }
#page-mt #mt-cap-body .cap-fold { display: inline-flex; align-items: center; gap: 7px; min-height: 30px; padding: 4px 12px; border: 1px solid var(--cap-line); border-radius: 999px; background: var(--cap-paper); color: var(--cap-muted); font-size: var(--cap-small); font-weight: 650; }
#page-mt #mt-cap-body .cap-fold:hover { color: var(--cap-accent); box-shadow: inset 0 0 0 1px var(--cap-accent); }
#page-mt #mt-cap-body .cap-fold-brief { display: none; color: var(--cap-muted); font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-top-folded .cap-fold-brief { display: inline; }
#page-mt #mt-cap-body .cap-overview { display: flex; justify-content: space-between; align-items: center; gap: 16px; border-block: 1px solid var(--cap-line); padding: 10px 0; flex: none; }
#page-mt #mt-cap-body .cap-sum { display: flex; flex-wrap: wrap; gap: 12px 24px; min-width: 0; }
#page-mt #mt-cap-body .cap-metric { display: flex; align-items: baseline; gap: 7px; }
#page-mt #mt-cap-body .cap-metric b { font-size: calc(var(--cap-font) * 1.4); font-weight: 600; font-variant-numeric: tabular-nums; }
#page-mt #mt-cap-body .cap-metric span { color: var(--cap-muted); font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-overview-end { display: grid; justify-items: end; gap: 3px; flex-shrink: 0; }
#page-mt #mt-cap-body .cap-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-lg { display: inline-flex; align-items: center; gap: 6px; padding: 2px 7px; border-radius: 4px; border: 1px solid; font-weight: 700; }
#page-mt #mt-cap-body .cap-lg i { width: 7px; height: 7px; background: currentColor; border-radius: 50%; }
#page-mt #mt-cap-body .cap-lg-note, #page-mt #mt-cap-body .cap-save { font-size: var(--cap-small); color: var(--cap-muted); }
#page-mt #mt-cap-body .cap-save:empty { display: none; }
#page-mt #mt-cap-body .cap-warn { color: var(--cap-yellow); }
#page-mt #mt-cap-body .cap-save-failed { color: var(--cap-red); font-weight: 700; max-width: 32em; }
#page-mt #mt-cap-body .cap-h-green { color: var(--cap-green); background: var(--cap-green-bg); border-color: var(--cap-green-line); }
#page-mt #mt-cap-body .cap-h-yellow { color: var(--cap-yellow); background: var(--cap-yellow-bg); border-color: var(--cap-yellow-line); }
#page-mt #mt-cap-body .cap-h-red { color: var(--cap-red); background: var(--cap-red-bg); border-color: var(--cap-red-line); }
#page-mt #mt-cap-body .cap-cols { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(360px, 1fr) minmax(0, 2fr); gap: var(--cap-space); }
#page-mt #mt-cap-body .cap-col { min-width: 0; min-height: 0; display: flex; flex-direction: column; border: 1px solid var(--cap-line-soft); border-radius: 8px; background: var(--cap-paper); overflow: hidden; }
#page-mt #mt-cap-body .cap-col-head { padding: 12px var(--cap-space); border-bottom: 1px solid var(--cap-line); border-top: 3px solid var(--cap-gold); display: grid; gap: 9px; background: var(--cap-paper); flex: none; }
#page-mt #mt-cap-body .cap-col-titles { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
#page-mt #mt-cap-body .cap-col-titles h4 { margin: 0; color: var(--cap-gold); font-size: calc(var(--cap-font) * 1.15); font-weight: 700; }
#page-mt #mt-cap-body .cap-col-n { color: var(--cap-muted); font-size: var(--cap-small); }
/* The client search folds away behind this button (owner request 2026-10-15). */
#page-mt #mt-cap-body .cap-col-end { display: inline-flex; align-items: center; gap: 10px; }
#page-mt #mt-cap-body .cap-find-btn { display: inline-flex; align-items: center; gap: 5px; min-height: 28px; padding: 3px 10px; border: 1px solid var(--cap-line); border-radius: 999px; background: var(--cap-paper); color: var(--cap-muted); font-size: var(--cap-small); font-weight: 650; }
#page-mt #mt-cap-body .cap-find-btn:hover, #page-mt #mt-cap-body .cap-find-btn.is-on { color: var(--cap-accent); border-color: var(--cap-accent); }
#page-mt #mt-cap-body .cap-scroll { min-height: 0; overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; flex: 1; padding: var(--cap-space); scroll-behavior: auto; scrollbar-color: var(--cap-line) transparent; }
#page-mt #mt-cap-body .cap-chips { display: flex; flex-wrap: wrap; gap: 5px; }
#page-mt #mt-cap-body .cap-chip { border: 1px solid var(--cap-line); border-radius: 5px; background: var(--cap-paper); color: var(--cap-muted); padding: 5px 9px; font-size: var(--cap-small); font-weight: 600; }
#page-mt #mt-cap-body .cap-chip b { margin-left: 4px; }
#page-mt #mt-cap-body .cap-chip.is-on { background: var(--cap-accent); color: var(--cap-on); border-color: var(--cap-accent); }
#page-mt #mt-cap-body .cap-tools { display: flex; gap: 8px; flex-wrap: wrap; }
#page-mt #mt-cap-body .cap-search { flex: 1; min-width: 200px; display: flex; align-items: center; gap: 8px; padding: 0 10px; border: 1px solid var(--cap-line); border-radius: 6px; background: var(--cap-paper); }
#page-mt #mt-cap-body .cap-search input { width: 100%; min-width: 0; border: 0; padding: 9px 0; background: transparent; color: var(--cap-text); font-size: var(--cap-small); }
#page-mt #mt-cap-body input::placeholder { color: var(--cap-muted); opacity: 1; }
#page-mt #mt-cap-body .cap-sort { display: flex; align-items: center; gap: 6px; font-size: var(--cap-small); color: var(--cap-muted); }
#page-mt #mt-cap-body select { min-width: 0; max-width: 100%; border: 1px solid var(--cap-line); border-radius: 6px; padding: 7px 8px; color: var(--cap-text); background-color: var(--cap-paper); font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-members .cap-scroll { padding: 0; }
#page-mt #mt-cap-body .cap-m-colshead { position: sticky; top: 0; z-index: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 12px; padding: 0 12px; background: var(--cap-soft); border-bottom: 1px solid var(--cap-line); }
#page-mt #mt-cap-body .cap-m-cols { display: grid; grid-template-columns: var(--cap-mcols); gap: 8px; padding: 7px 13px 7px 17px; color: var(--cap-muted); font-size: var(--cap-small); font-weight: 700; }
#page-mt #mt-cap-body .cap-m-cols span:nth-child(n+3) { text-align: center; }
/* Members run three across, 1 · 2 · 3 / 4 · 5 · 6 (two across on a narrower pane, one on a phone). "dense" lets the right-hand member
   fill the gap beside an opened one, so the order never changes when a member is opened. */
#page-mt #mt-cap-body .cap-list { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-flow: row dense; gap: 8px 12px; margin: 0; padding: 12px; }
#page-mt #mt-cap-body .cap-m { border: 1px solid var(--cap-line-soft); border-left: 4px solid; border-radius: 6px; background: var(--cap-paper); min-width: 0; }
#page-mt #mt-cap-body .cap-m.is-open { background: var(--cap-soft); }
#page-mt #mt-cap-body .cap-m.cap-h-green { border-left-color: var(--cap-bar-green); }
#page-mt #mt-cap-body .cap-m.cap-h-yellow { border-left-color: var(--cap-bar-yellow); }
#page-mt #mt-cap-body .cap-m.cap-h-red { border-left-color: var(--cap-bar-red); }
#page-mt #mt-cap-body .cap-m-head { display: grid; grid-template-columns: var(--cap-mcols); gap: 8px; align-items: center; width: 100%; min-height: 46px; padding: 6px 12px; background: transparent; border: 0; text-align: left; color: var(--cap-text); }
#page-mt #mt-cap-body .cap-m-head:hover { background: var(--cap-soft); }
#page-mt #mt-cap-body .cap-rank, #page-mt #mt-cap-body .cap-caret { color: var(--cap-muted); font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-m-name, #page-mt #mt-cap-body .cap-ask-name, #page-mt #mt-cap-body .cap-pop-name { display: grid; min-width: 0; gap: 2px; }
#page-mt #mt-cap-body .cap-m-name b, #page-mt #mt-cap-body .cap-ask-name b, #page-mt #mt-cap-body .cap-pop-name b { font-size: var(--cap-font); font-weight: 650; line-height: 1.25; overflow-wrap: anywhere; }
#page-mt #mt-cap-body small { color: var(--cap-muted); font-size: var(--cap-small); line-height: 1.4; }
#page-mt #mt-cap-body .cap-m-stat { display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; line-height: 1.15; }
#page-mt #mt-cap-body .cap-heat { line-height: 1.15; }
/* The red / yellow / green of a member's load is the bar at the left of the row — the request count itself is plain text. */
#page-mt #mt-cap-body .cap-heat { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 0; padding: 2px 0; line-height: 1.1; }
#page-mt #mt-cap-body .cap-split { font-style: normal; color: var(--cap-muted); font-size: calc(var(--cap-small) * .92); font-weight: 600; white-space: nowrap; }
#page-mt #mt-cap-body .cap-heat b { font-size: calc(var(--cap-font) * 1.1); }
#page-mt #mt-cap-body .cap-heat small { color: inherit; }
/* An opened member's client list takes the full width of the table. */
#page-mt #mt-cap-body .cap-m-expand { grid-column: 1 / -1; border: 1px solid var(--cap-line); border-left: 4px solid; border-radius: 6px; background: var(--cap-soft); min-width: 0; }
#page-mt #mt-cap-body .cap-m-expand.cap-eh-green { border-left-color: var(--cap-bar-green); }
#page-mt #mt-cap-body .cap-m-expand.cap-eh-yellow { border-left-color: var(--cap-bar-yellow); }
#page-mt #mt-cap-body .cap-m-expand.cap-eh-red { border-left-color: var(--cap-bar-red); }
#page-mt #mt-cap-body .cap-m-expand-title { margin: 0; padding: 8px 12px; border-bottom: 1px solid var(--cap-line); font-size: var(--cap-small); color: var(--cap-muted); }
/* The committees and subcommittees a member sits on: bold, raised bubbles on their own line; chairs and rankings are filled. */
#page-mt #mt-cap-body .cap-m-units { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
#page-mt #mt-cap-body .cap-m-units i { font-style: normal; font-weight: 700; padding: 4px 13px; border-radius: 999px; background: var(--cap-paper); border: 2px solid var(--cap-accent); color: var(--cap-accent); font-size: var(--cap-small); box-shadow: 0 3px 8px #0073ea40, 0 1px 2px #00000026; transform: translateY(-1px); }
#page-mt #mt-cap-body .cap-m-units i.is-lead { background: var(--cap-accent); color: var(--cap-on); }
#page-mt #mt-cap-body .cap-m-expand-title b { color: var(--cap-text); font-size: var(--cap-font); }
#page-mt #mt-cap-body .cap-m-body { padding: 0 12px; color: var(--cap-text); display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; align-items: start; background: var(--cap-paper); }
#page-mt #mt-cap-body .cap-m-body > .cap-none { grid-column: 1 / -1; }
#page-mt #mt-cap-body .cap-m-client { min-width: 0; padding: 3px 0; display: grid; grid-template-columns: minmax(140px, 24%) minmax(0, 1fr) 5em; gap: 16px; border-bottom: 1px solid var(--cap-line); }
#page-mt #mt-cap-body .cap-link { border: 0; padding: 0; background: none; color: var(--cap-accent); font-size: var(--cap-font); text-align: left; font-weight: 650; text-decoration: underline; text-underline-offset: 3px; }
#page-mt #mt-cap-body .cap-m-client-n { display: inline; margin-left: 8px; color: var(--cap-muted); font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-m-issues { list-style: none; padding: 0; margin: 0; display: grid; gap: 0; }
#page-mt #mt-cap-body .cap-m-issues li { display: flex; gap: 8px; align-items: baseline; padding: 5px 0; border-bottom: 1px solid var(--cap-line-soft); }
#page-mt #mt-cap-body .cap-m-issue { flex: 1; min-width: 0; overflow-wrap: anywhere; font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-type, #page-mt #mt-cap-body .cap-pri-chip { padding: 2px 7px; border-radius: 4px; font-size: var(--cap-small); font-weight: 700; white-space: nowrap; background: var(--cap-soft); color: var(--cap-text); }
/* Priority colours: High green, Medium yellow, Low red. */
#page-mt #mt-cap-body .cap-client-find { position: relative; }
#page-mt #mt-cap-body .cap-client-find .cap-search { width: 100%; }
#page-mt #mt-cap-body .cap-client-res { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 8; list-style: none; margin: 0; padding: 4px; max-height: 280px; overflow: auto; background: var(--cap-paper); border: 1px solid var(--cap-line); border-radius: 8px; box-shadow: 0 8px 28px #0002; }
#page-mt #mt-cap-body .cap-res-btn { display: block; width: 100%; padding: 8px 10px; border: 0; border-radius: 5px; background: transparent; color: var(--cap-text); text-align: left; font-weight: 600; }
#page-mt #mt-cap-body .cap-res-btn:hover, #page-mt #mt-cap-body .cap-res-btn:focus-visible { background: var(--cap-soft); }
#page-mt #mt-cap-body .cap-res-none { padding: 8px 10px; color: var(--cap-muted); font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-step { font-size: calc(var(--cap-font) * 1.4); padding: 2px 12px; min-width: 36px; line-height: 1; }
#page-mt #mt-cap-body .cap-client { display: flex; flex-direction: column; gap: 10px; }
/* The client's name leads the pane: large, centred, with the request counts centred beneath it (owner request 2026-10-15). */
#page-mt #mt-cap-body .cap-client-head { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 6px 0 14px; text-align: center; border-bottom: 2px solid var(--cap-line); }
/* "How the deck results were matched", under the client chart. */
#page-mt #mt-cap-body .cap-ly-check { margin-top: 4px; color: var(--cap-muted); font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-ly-check summary { padding: 4px 0; }
#page-mt #mt-cap-body .cap-ly-camp { display: grid; gap: 3px; padding: 8px 10px; margin-top: 6px; border: 1px solid var(--cap-line-soft); border-radius: 6px; background: var(--cap-paper); color: var(--cap-text); }
#page-mt #mt-cap-body .cap-ly-camp > span { color: var(--cap-muted); }
#page-mt #mt-cap-body .cap-ly-camp ul { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 2px; }
#page-mt #mt-cap-body .cap-ly-camp li > span { display: inline-block; min-width: 3.4em; font-weight: 700; color: var(--cap-muted); }
#page-mt #mt-cap-body .cap-ly-camp li em { font-style: normal; font-weight: 700; }
#page-mt #mt-cap-body .cap-ly-camp li.is-g em { color: var(--cap-green); }
#page-mt #mt-cap-body .cap-ly-camp li.is-r em { color: var(--cap-red); }
/* A request's verdict from the Planned Activities deck, beside the issue: Secured / No result yet / Not secured. */
#page-mt #mt-cap-body .cap-ly-outcome { display: inline-block; margin-left: 8px; padding: 1px 8px; border-radius: 4px; font-size: var(--cap-small); font-weight: 650; white-space: nowrap; vertical-align: middle; }
#page-mt #mt-cap-body .cap-ly-outcome.is-secured { background: var(--cap-green-bg); color: var(--cap-green); border: 1px solid var(--cap-green-line); }
#page-mt #mt-cap-body .cap-ly-outcome.is-pending { background: var(--cap-yellow-bg); color: var(--cap-yellow); border: 1px solid var(--cap-yellow-line); }
/* An appropriations request authorized (green under HASC / SASC) but with no money column green: green ink on the yellow ground. */
#page-mt #mt-cap-body .cap-ly-outcome.is-authorized { background: var(--cap-yellow-bg); color: var(--cap-green); border: 1px solid var(--cap-green-line); }
#page-mt #mt-cap-body .cap-ly-outcome.is-not { background: var(--cap-red-bg); color: var(--cap-red); border: 1px solid var(--cap-red-line); }
#page-mt #mt-cap-body .cap-ly-outcome.is-none, #page-mt #mt-cap-body .cap-ly-outcome.is-blank { background: var(--cap-soft); color: var(--cap-muted); border: 1px solid var(--cap-line-soft); }
#page-mt #mt-cap-body .cap-ly-outcome.is-linked { box-shadow: 0 0 0 2px var(--cap-paper), 0 0 0 3px currentColor; }
/* Link deck results: every tracker client of the year before, each issue with a picker of its deck campaigns. */
/* Centered over the page, BELOW the sticky top bars: the tab sits inside a stacking context the bars (z-index 190) outrank, so paintLinks sets its top from the nav's own bottom edge. */
/* Link deck results is a WORKSPACE: the full width and height below the bars, a client list on the left, one client (or all) on the right. */
#page-mt #mt-cap-body .cap-pop.cap-links { width: calc(100vw - 32px); max-width: 1600px; left: 50% !important; transform: translateX(-50%); }
#page-mt #mt-cap-body .cap-links-body { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 14px; flex: 1; min-height: 0; }
#page-mt #mt-cap-body .cap-links-nav { overflow: auto; overscroll-behavior: contain; display: grid; gap: 4px; align-content: start; padding-right: 4px; border-right: 1px solid var(--cap-line-soft); }
#page-mt #mt-cap-body .cap-links-navbtn { display: grid; gap: 2px; width: 100%; padding: 8px 10px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--cap-text); text-align: left; cursor: pointer; }
#page-mt #mt-cap-body .cap-links-navbtn:hover { background: var(--cap-soft); }
#page-mt #mt-cap-body .cap-links-navbtn.is-on { background: var(--cap-soft); border-color: var(--cap-line); }
#page-mt #mt-cap-body .cap-links-navbtn.has-draft { border-color: var(--cap-yellow-line); }
#page-mt #mt-cap-body .cap-links-navbtn b { font-size: var(--cap-font); font-weight: 650; overflow-wrap: anywhere; }
#page-mt #mt-cap-body .cap-links-navbtn small { color: var(--cap-muted); font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-links-navbtn small em { font-style: normal; color: var(--cap-red); font-weight: 650; }
#page-mt #mt-cap-body .cap-links-lock { color: var(--cap-green); font-weight: 700; }
#page-mt #mt-cap-body .cap-link-client.is-locked { border-color: var(--cap-green-line); }
#page-mt #mt-cap-body .cap-links-focus { margin: 0 0 4px; display: flex; align-items: center; gap: 8px; color: var(--cap-muted); font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-links-scroll { overflow: auto; overscroll-behavior: contain; }
@media (max-width: 900px) { #page-mt #mt-cap-body .cap-links-body { grid-template-columns: minmax(0, 1fr); } #page-mt #mt-cap-body .cap-links-nav { max-height: 160px; border-right: 0; border-bottom: 1px solid var(--cap-line-soft); } }
#page-mt #mt-cap-body .cap-links .cap-nm-btns { flex-wrap: nowrap; align-items: center; }
#page-mt #mt-cap-body .cap-links .cap-nm-btns .cap-x { flex: 0 0 auto; }
#page-mt #mt-cap-body .cap-links .cap-pop-q { width: 240px; }
#page-mt #mt-cap-body .cap-links-scroll { max-height: none; flex: 1; min-height: 120px; display: grid; gap: 10px; align-content: start; }
#page-mt #mt-cap-body .cap-link-client { display: grid; gap: 6px; padding: 10px 12px; border: 1px solid var(--cap-line-soft); border-radius: 8px; background: var(--cap-paper); }
#page-mt #mt-cap-body .cap-link-client > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
#page-mt #mt-cap-body .cap-link-client h6 { margin: 0; font-size: var(--cap-font); font-weight: 700; color: var(--cap-text); }
#page-mt #mt-cap-body .cap-link-title { display: flex; align-items: center; gap: 8px; font-size: var(--cap-small); color: var(--cap-muted); }
#page-mt #mt-cap-body .cap-link-title select, #page-mt #mt-cap-body .cap-link-pick { max-width: 360px; padding: 5px 8px; border: 1px solid var(--cap-line); border-radius: 6px; background: var(--cap-paper); color: var(--cap-text); font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-link-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
#page-mt #mt-cap-body .cap-link-row { display: grid; grid-template-columns: minmax(200px, 1fr) minmax(200px, 340px) auto; align-items: center; gap: 10px; padding: 6px 8px; border-radius: 6px; }
#page-mt #mt-cap-body .cap-link-row.is-linked { background: var(--cap-soft); }
#page-mt #mt-cap-body .cap-link-issue { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
#page-mt #mt-cap-body .cap-link-issue b { font-weight: 650; overflow-wrap: break-word; }
#page-mt #mt-cap-body .cap-link-issue small { color: var(--cap-muted); font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-link-row .cap-ly-outcome { margin-left: 0; }
#page-mt #mt-cap-body .cap-link-verdict { display: grid; gap: 2px; justify-items: end; justify-self: end; max-width: 300px; text-align: right; }
#page-mt #mt-cap-body .cap-link-who { color: var(--cap-muted); font-size: var(--cap-small); line-height: 1.3; }
#page-mt #mt-cap-body .cap-link-save { display: flex; align-items: center; gap: 8px; margin-left: auto; }
#page-mt #mt-cap-body .cap-link-unsaved { color: var(--cap-yellow); font-size: var(--cap-small); font-weight: 650; }
#page-mt #mt-cap-body .cap-link-saved { color: var(--cap-green); font-size: var(--cap-small); font-weight: 650; }
#page-mt #mt-cap-body .cap-link-error { color: var(--cap-red); font-size: var(--cap-small); font-weight: 650; }
#page-mt #mt-cap-body .cap-link-client.has-draft { border-color: var(--cap-yellow-line); }
#page-mt #mt-cap-body .cap-link-row.is-draft { background: var(--cap-yellow-bg); }
#page-mt #mt-cap-body .cap-link-verdict.is-preview .cap-ly-outcome { border-style: dashed; }
@media (max-width: 760px) { #page-mt #mt-cap-body .cap-link-row { grid-template-columns: minmax(0, 1fr); } #page-mt #mt-cap-body .cap-link-verdict { justify-self: start; justify-items: start; text-align: left; } }
#page-mt #mt-cap-body .cap-ly-camp li.is-y em { color: var(--cap-yellow); }
#page-mt #mt-cap-body .cap-ly-camp > b .cap-ly-outcome { margin-left: 8px; font-weight: 650; }
#page-mt #mt-cap-body .cap-client-head h3 { font-size: calc(var(--cap-font) * 2.1); line-height: 1.15; margin: 0; font-weight: 800; letter-spacing: -.015em; color: var(--cap-text); overflow-wrap: anywhere; }
#page-mt #mt-cap-body .cap-client-sub { margin: 0; font-size: calc(var(--cap-font) * 1.08); font-weight: 600; color: var(--cap-muted); }
/* The issue's $ / P / A is a plain letter beside its title, not a box. */
#page-mt #mt-cap-body .cap-type-label { flex: none; margin-left: 8px; color: var(--cap-muted); font-size: var(--cap-small); font-weight: 700; white-space: nowrap; }
/* The kind of ask, as a word in its own colour: the Meeting Tracker Type column's three hues, darkened to read as text. */
#page-mt #mt-cap-body .cap-type-label.cap-kind-approp { color: var(--cap-kind-approp); }
#page-mt #mt-cap-body .cap-type-label.cap-kind-drl { color: var(--cap-kind-drl); }
#page-mt #mt-cap-body .cap-type-label.cap-kind-bl { color: var(--cap-kind-bl); }
#page-mt #mt-cap-body .cap-type-label.cap-type-none { font-weight: 600; }
#page-mt #mt-cap-body .cap-issue-meta, #page-mt #mt-cap-body .cap-none { margin: 0; font-size: var(--cap-small); color: var(--cap-muted); }
/* Client review reads like a chart (owner request 2026-10-15): one table, ruled lines, no cards or bubbles.
   Each issue is a heading line; its members sit beneath it with their full names, load and priority. */
#page-mt #mt-cap-body .cap-chart { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: var(--cap-font); }
#page-mt #mt-cap-body .cap-chart .cap-c-load { width: 5.4em; }
#page-mt #mt-cap-body .cap-chart .cap-c-pri { width: 7.4em; }
#page-mt #mt-cap-body .cap-chart .cap-c-x { width: 2.4em; }
/* The open client across the TOP (owner request 2026-10-16): name, request counts, the FY28 requests as chips and the
   chosen request's members; below it the two panes — FY27 on the left, the full leaderboard on the right. */
#page-mt #mt-cap-body .cap-band { flex: 0 1 auto; min-height: 0; max-height: 42vh; overflow: hidden; display: flex; flex-direction: column; gap: 8px; padding: 10px var(--cap-space) 8px; border: 1px solid var(--cap-line-soft); border-top: 3px solid var(--cap-gold); border-radius: 8px; background: var(--cap-paper); }
#page-mt #mt-cap-body .cap-band-row { flex: none; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
#page-mt #mt-cap-body .cap-band-client { display: flex; flex-direction: column; min-width: 0; }
#page-mt #mt-cap-body .cap-band-eyebrow { color: var(--cap-gold); font-size: var(--cap-small); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
#page-mt #mt-cap-body .cap-band .cap-client-head { align-items: flex-start; text-align: left; padding: 2px 0 0; border: 0; }
#page-mt #mt-cap-body .cap-band .cap-client-head h3 { font-size: calc(var(--cap-font) * 1.7); }
#page-mt #mt-cap-body .cap-band .cap-client-sub { font-size: var(--cap-font); }
#page-mt #mt-cap-body .cap-band-nav { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
#page-mt #mt-cap-body .cap-band .cap-client-find { flex: 1 1 240px; min-width: 240px; }
#page-mt #mt-cap-body .cap-band .cap-review-footer { display: flex; align-items: center; gap: 8px; padding: 0; border: 0; background: transparent; }
#page-mt #mt-cap-body .cap-band .cap-position { display: grid; text-align: center; gap: 0; min-width: 150px; }
#page-mt #mt-cap-body .cap-reqs { display: flex; flex-wrap: wrap; gap: 6px; }
#page-mt #mt-cap-body .cap-req { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; min-height: 32px; padding: 4px 10px; border: 1px solid var(--cap-line); border-radius: 6px; background: var(--cap-paper); color: var(--cap-text); font-size: var(--cap-small); font-weight: 650; text-align: left; }
#page-mt #mt-cap-body .cap-req:hover { border-color: var(--cap-accent); }
#page-mt #mt-cap-body .cap-req.is-on { border-color: var(--cap-accent); box-shadow: inset 0 0 0 1px var(--cap-accent); background: var(--cap-blue-bg); }
#page-mt #mt-cap-body .cap-req.is-empty { color: var(--cap-muted); border-style: dashed; }
#page-mt #mt-cap-body .cap-req-name { min-width: 0; overflow-wrap: anywhere; }
#page-mt #mt-cap-body .cap-req { max-width: 100%; }
#page-mt #mt-cap-body .cap-req .cap-type-label { margin-left: 0; }
#page-mt #mt-cap-body .cap-req-n { min-width: 1.6em; padding: 1px 6px; border-radius: 999px; background: var(--cap-soft); color: var(--cap-muted); font-size: var(--cap-small); text-align: center; }
#page-mt #mt-cap-body .cap-req.is-on .cap-req-n { background: var(--cap-accent); color: var(--cap-on); }
/* The chosen request's members sit under the chips as compact pills (name · load · priority · ✕); a very long list
   scrolls here rather than pushing the panes off screen. */
#page-mt #mt-cap-body .cap-req-detail { flex: 1 1 auto; min-height: 48px; max-height: 26vh; overflow: auto; overscroll-behavior: contain; }
#page-mt #mt-cap-body .cap-reqs { flex: none; max-height: 14vh; overflow: auto; }
/* The two panes always keep at least a third of the screen; on a short screen the band shrinks and scrolls first. */
#page-mt #mt-cap-body .cap-cols { min-height: 28vh; }
#page-mt #mt-cap-body .cap-pills { display: flex; flex-wrap: wrap; gap: 6px; }
#page-mt #mt-cap-body .cap-pill { display: inline-flex; align-items: center; gap: 8px; min-height: 32px; padding: 2px 4px 2px 10px; border: 1px solid var(--cap-line); border-radius: 6px; background: var(--cap-soft); font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-pill .cap-ask-name { display: inline; }
#page-mt #mt-cap-body .cap-pill .cap-ask-open b { font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-pill .cap-ask-load { font-weight: 600; }
#page-mt #mt-cap-body .cap-pill .cap-pri { width: auto; padding: 2px 4px; border-color: transparent; background-color: transparent; font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-pill .cap-pri:is(:hover, :focus-visible) { border-color: var(--cap-line); background-color: var(--cap-paper); }
#page-mt #mt-cap-body .cap-pill .cap-x { min-width: 24px; min-height: 24px; }
#page-mt #mt-cap-body .cap-req-members .cap-issue-foot { margin-top: 6px; }
/* Member capacity's filters sit on one wrapping row, so its header takes as little height as possible. */
#page-mt #mt-cap-body .cap-mhead-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
#page-mt #mt-cap-body .cap-mhead-row .cap-tools { flex: 1 1 460px; }
#page-mt #mt-cap-body .cap-mhead-row .cap-search { min-width: 180px; }
#page-mt #mt-cap-body .cap-mhead-row .cap-sort select { max-width: 230px; }
/* The chosen request's members in the leaderboard, and the tray for those out of view. */
#page-mt #mt-cap-body .cap-m.is-hit { box-shadow: 0 0 0 2px var(--cap-accent); background: var(--cap-blue-bg); }
#page-mt #mt-cap-body .cap-m-tray { flex: none; padding: 8px var(--cap-space) 10px; border-top: 2px solid var(--cap-accent); background: var(--cap-blue-bg); }
#page-mt #mt-cap-body .cap-tray-title { margin: 0 0 6px; color: var(--cap-blue); font-size: var(--cap-small); font-weight: 700; }
#page-mt #mt-cap-body .cap-tray-rows { display: flex; flex-wrap: wrap; gap: 6px; }
#page-mt #mt-cap-body .cap-tray-row { display: inline-flex; align-items: center; gap: 8px; min-height: 30px; padding: 3px 10px 3px 8px; border: 1px solid var(--cap-accent); border-left-width: 4px; border-radius: 6px; background: var(--cap-paper); color: var(--cap-text); font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-tray-row.cap-h-green { border-left-color: var(--cap-bar-green); }
#page-mt #mt-cap-body .cap-tray-row.cap-h-yellow { border-left-color: var(--cap-bar-yellow); }
#page-mt #mt-cap-body .cap-tray-row.cap-h-red { border-left-color: var(--cap-bar-red); }
#page-mt #mt-cap-body .cap-tray-row b { font-weight: 650; }
#page-mt #mt-cap-body .cap-tray-row em { font-style: normal; font-weight: 700; margin-left: 2px; }
/* Last year's results: Member · Ask ($ / P) · Result. */
#page-mt #mt-cap-body .cap-results-chart .cap-c-kind { width: 7em; }
#page-mt #mt-cap-body .cap-results-chart .cap-ask-kind { white-space: nowrap; }
#page-mt #mt-cap-body .cap-results-chart .cap-c-res { width: 9em; }
#page-mt #mt-cap-body .cap-ask-res .cap-res-tag { margin-left: 0; }
#page-mt #mt-cap-body .cap-met { color: var(--cap-muted); font-size: var(--cap-small); font-weight: 650; }
#page-mt #mt-cap-body .cap-kchip { display: inline-block; min-width: 1.7em; margin-right: 4px; padding: 1px 6px; border-radius: 4px; background: var(--cap-soft); color: var(--cap-text); font-size: var(--cap-small); font-weight: 800; text-align: center; }
#page-mt #mt-cap-body .cap-kchip-d { color: var(--cap-kind-approp); }
#page-mt #mt-cap-body .cap-kchip-p { color: var(--cap-kind-drl); }
#page-mt #mt-cap-body .cap-r-asks { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0 0 8px; font-size: var(--cap-small); font-weight: 650; }
#page-mt #mt-cap-body .cap-r-ask { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
#page-mt #mt-cap-body .cap-r-ask .cap-type-label, #page-mt #mt-cap-body .cap-r-ask .cap-ly-outcome { margin-left: 0; }
/* The policy team's corrections to last year's results (owner request 2026-10-22): ONE small, quiet Edit button in the
   pane heading; the controls exist only while it is on, and a hand-set result carries no more than a faint pencil. */
#page-mt #mt-cap-body .cap-r-tools { display: inline-flex; align-items: baseline; gap: 10px; }
#page-mt #mt-cap-body .cap-r-edit { border: 0; padding: 1px 6px; border-radius: 4px; background: transparent; color: var(--cap-muted); font-size: var(--cap-small); font-weight: 650; cursor: pointer; }
#page-mt #mt-cap-body .cap-r-edit:hover, #page-mt #mt-cap-body .cap-r-edit:focus-visible { background: var(--cap-soft); color: var(--cap-text); }
#page-mt #mt-cap-body .cap-r-edit[aria-pressed="true"] { color: var(--cap-accent); }
#page-mt #mt-cap-body .cap-res-hand { text-decoration: underline dotted; text-decoration-thickness: 1px; text-underline-offset: 3px; cursor: help; }
#page-mt #mt-cap-body .cap-res-hint { margin: 0 0 8px; color: var(--cap-muted); font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-res-status { margin-left: 6px; font-weight: 650; }
#page-mt #mt-cap-body .cap-results-chart.is-editing .cap-c-kind { width: 7.5em; }
#page-mt #mt-cap-body .cap-results-chart.is-editing .cap-c-res { width: 10.5em; }
#page-mt #mt-cap-body .cap-ktog { border: 1px solid var(--cap-line); background: transparent; opacity: .45; cursor: pointer; }
#page-mt #mt-cap-body .cap-ktog.is-on { border-color: transparent; background: var(--cap-soft); opacity: 1; }
#page-mt #mt-cap-body .cap-ktog:hover, #page-mt #mt-cap-body .cap-ktog:focus-visible { opacity: 1; }
#page-mt #mt-cap-body .cap-res-sel { max-width: 100%; padding: 2px 4px; border: 1px solid var(--cap-line); border-radius: 5px; background: var(--cap-paper); color: var(--cap-text); font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-res-row-acts { margin-left: 6px; white-space: nowrap; }
#page-mt #mt-cap-body .cap-res-mini { border: 0; padding: 0 5px; border-radius: 4px; background: transparent; color: var(--cap-muted); font-size: var(--cap-small); font-weight: 650; cursor: pointer; }
#page-mt #mt-cap-body .cap-res-mini:hover, #page-mt #mt-cap-body .cap-res-mini:focus-visible { background: var(--cap-soft); color: var(--cap-text); }
#page-mt #mt-cap-body .cap-res-mini-off:hover, #page-mt #mt-cap-body .cap-res-mini-off:focus-visible { color: var(--cap-red); }
#page-mt #mt-cap-body .cap-res-hand-tag { color: var(--cap-muted); font-size: var(--cap-small); font-style: italic; }
#page-mt #mt-cap-body .cap-res-gone td { color: var(--cap-muted); font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-res-restore { border: 0; padding: 0; background: none; color: var(--cap-accent); font-size: var(--cap-small); cursor: pointer; }
#page-mt #mt-cap-body .cap-res-add { display: flex; align-items: center; gap: 6px; padding-top: 4px; }
#page-mt #mt-cap-body .cap-res-add-in { flex: 1 1 auto; max-width: 300px; min-width: 0; padding: 3px 8px; border: 1px dashed var(--cap-line); border-radius: 5px; background: transparent; color: var(--cap-text); font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-res-add-in:focus { border-style: solid; outline: none; border-color: var(--cap-accent); }
/* One line per member — the name and its party-state tag side by side — so a client's whole picture fits on screen
   (owner, 2026-10-16). The text stays its normal size; only the stacking and the row padding change. */
#page-mt #mt-cap-body .cap-chart td.cap-ask-name { display: table-cell; }
#page-mt #mt-cap-body .cap-chart .cap-ask-sub, #page-mt #mt-cap-body .cap-chart .cap-ask-tag { display: inline; }
#page-mt #mt-cap-body .cap-chart .cap-ask td { padding-block: 3px; }
#page-mt #mt-cap-body .cap-chart .cap-issue-head td { padding: 10px 0 4px; }
#page-mt #mt-cap-body .cap-chart .cap-issue-foot td { padding-block: 2px 0; }
#page-mt #mt-cap-body .cap-chart .cap-pri { padding-block: 2px; }
#page-mt #mt-cap-body .cap-chart .cap-x { min-height: 26px; }
#page-mt #mt-cap-body .cap-past-tag { margin-left: 8px; color: var(--cap-muted); font-size: var(--cap-small); font-weight: 700; font-style: italic; }
/* The staff portal styles EVERY table (a blue header band, striped rows, and on a phone each row as a card, with !important);
   the chart sets all of that back to plain lines, here and in the phone block at the end of this file. */
#page-mt #mt-cap-body .cap-chart th { height: auto; padding: 6px 8px; background: transparent; text-align: left; color: var(--cap-muted); font-size: var(--cap-small); font-weight: 700; text-transform: none; letter-spacing: normal; border-bottom: 2px solid var(--cap-line); white-space: nowrap; cursor: default; }
#page-mt #mt-cap-body .cap-chart th:hover { background: transparent; }
#page-mt #mt-cap-body .cap-chart tbody tr, #page-mt #mt-cap-body .cap-chart tbody tr:nth-child(even), #page-mt #mt-cap-body .cap-chart tbody tr:hover { background: transparent; border: 0; }
#page-mt #mt-cap-body .cap-chart tbody tr.cap-ask:not(.cap-res):hover td { background: var(--cap-soft); }
/* Last year's deck result on a member's line (owner request 2026-10-15): the whole line is tinted, a bar marks its
   left edge, and one word says which — Secured, Authorized, No result yet, Not secured. */
#page-mt #mt-cap-body .cap-chart tr.cap-res-secured td { background: var(--cap-green-bg); }
#page-mt #mt-cap-body .cap-chart tr.cap-res-authorized td { background: var(--cap-blue-bg); }
#page-mt #mt-cap-body .cap-chart tr.cap-res-pending td { background: var(--cap-yellow-bg); }
#page-mt #mt-cap-body .cap-chart tr.cap-res-not-secured td { background: var(--cap-red-bg); }
#page-mt #mt-cap-body .cap-chart tr.cap-res td:first-child { box-shadow: inset 4px 0 0 var(--cap-res-bar); }
#page-mt #mt-cap-body .cap-chart tr.cap-res-secured { --cap-res-bar: var(--cap-bar-green); --cap-res-ink: var(--cap-green); }
#page-mt #mt-cap-body .cap-chart tr.cap-res-authorized { --cap-res-bar: var(--cap-blue-bar); --cap-res-ink: var(--cap-blue); }
#page-mt #mt-cap-body .cap-chart tr.cap-res-pending { --cap-res-bar: var(--cap-bar-yellow); --cap-res-ink: var(--cap-yellow); }
#page-mt #mt-cap-body .cap-chart tr.cap-res-not-secured { --cap-res-bar: var(--cap-bar-red); --cap-res-ink: var(--cap-red); }
#page-mt #mt-cap-body .cap-res-tag { margin-left: 6px; color: var(--cap-res-ink); font-size: var(--cap-small); font-weight: 750; white-space: nowrap; }
#page-mt #mt-cap-body .cap-res-k { display: inline-flex; align-items: center; gap: 6px; font-style: normal; font-weight: 650; color: var(--cap-text); }
#page-mt #mt-cap-body .cap-res-k::before { content: ''; width: 12px; height: 12px; border-radius: 3px; background: var(--k-bg); box-shadow: inset 3px 0 0 var(--k-bar); }
#page-mt #mt-cap-body .cap-res-k.cap-res-secured { --k-bg: var(--cap-green-bg); --k-bar: var(--cap-bar-green); }
#page-mt #mt-cap-body .cap-res-k.cap-res-authorized { --k-bg: var(--cap-blue-bg); --k-bar: var(--cap-blue-bar); }
#page-mt #mt-cap-body .cap-res-k.cap-res-pending { --k-bg: var(--cap-yellow-bg); --k-bar: var(--cap-bar-yellow); }
#page-mt #mt-cap-body .cap-res-k.cap-res-not-secured { --k-bg: var(--cap-red-bg); --k-bar: var(--cap-bar-red); }
/* With a client open, each member capacity row says who else is going to them. */
#page-mt #mt-cap-body .cap-m-why { color: var(--cap-muted); }
#page-mt #mt-cap-body .cap-m-why b { color: var(--cap-text); font-weight: 650; }
#page-mt #mt-cap-body .cap-chart th:first-child { padding-left: 0; }
#page-mt #mt-cap-body .cap-chart td { padding: 6px 8px; vertical-align: middle; }
#page-mt #mt-cap-body .cap-issue-head td { padding: 16px 0 6px; border-bottom: 1px solid var(--cap-line); }
#page-mt #mt-cap-body .cap-issue:first-of-type .cap-issue-head td { padding-top: 10px; }
#page-mt #mt-cap-body .cap-issue-head h5 { display: inline; margin: 0; font-size: calc(var(--cap-font) * 1.08); font-weight: 700; line-height: 1.35; color: var(--cap-text); overflow-wrap: anywhere; }
#page-mt #mt-cap-body .cap-ask td { border-bottom: 1px solid var(--cap-line-soft); }
#page-mt #mt-cap-body .cap-ask td:first-child, #page-mt #mt-cap-body .cap-issue-empty td, #page-mt #mt-cap-body .cap-issue-foot td { padding-left: 16px; }
#page-mt #mt-cap-body .cap-issue-empty td { padding-block: 8px; }
#page-mt #mt-cap-body .cap-issue-foot td { padding-block: 4px 2px; }
#page-mt #mt-cap-body .cap-ask-name { overflow-wrap: anywhere; line-height: 1.35; }
#page-mt #mt-cap-body .cap-ask-tag { color: var(--cap-muted); font-size: var(--cap-small); white-space: nowrap; }
/* The number is what the member holds across every client; the dot beside it is their green / yellow / red load. */
#page-mt #mt-cap-body .cap-ask-load { font-variant-numeric: tabular-nums; font-weight: 600; white-space: nowrap; }
#page-mt #mt-cap-body .cap-dot { display: inline-block; width: 8px; height: 8px; margin-right: 7px; border-radius: 50%; vertical-align: 1px; background: var(--cap-line); }
#page-mt #mt-cap-body .cap-load-green .cap-dot { background: var(--cap-bar-green); }
#page-mt #mt-cap-body .cap-load-yellow .cap-dot { background: var(--cap-bar-yellow); }
#page-mt #mt-cap-body .cap-load-red .cap-dot { background: var(--cap-bar-red); }
#page-mt #mt-cap-body .cap-clients, #page-mt #mt-cap-body .cap-members { container-type: inline-size; }
@container (max-width: 940px) {
  #page-mt #mt-cap-body .cap-members .cap-list, #page-mt #mt-cap-body .cap-members .cap-m-colshead { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #page-mt #mt-cap-body .cap-members .cap-m-colshead .cap-m-cols:nth-child(3) { display: none; }
}
@container (max-width: 560px) {
  #page-mt #mt-cap-body .cap-members .cap-list, #page-mt #mt-cap-body .cap-members .cap-m-colshead { grid-template-columns: minmax(0, 1fr); }
  #page-mt #mt-cap-body .cap-members .cap-m-colshead .cap-m-cols:nth-child(n+2) { display: none; }
}
#page-mt #mt-cap-body .cap-ask-open { border: 0; padding: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
#page-mt #mt-cap-body .cap-ask-open b { font-weight: 600; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px; }
#page-mt #mt-cap-body .cap-ask-open:hover b, #page-mt #mt-cap-body .cap-ask-open:focus-visible b { color: var(--cap-accent); text-decoration-color: currentColor; }
#page-mt #mt-cap-body .cap-m { scroll-margin-top: 48px; }
/* A narrow pane (a phone, or a narrow window) gives the name more room. Measured in text sizes (em) so it scales with the text. */
@container (max-width: 28em) {
  #page-mt #mt-cap-body .cap-chart .cap-c-load { width: 4.4em; }
  #page-mt #mt-cap-body .cap-chart .cap-c-pri { width: 6.4em; }
  #page-mt #mt-cap-body .cap-ask-tag { display: block; }
}
#page-mt #mt-cap-body .cap-pri { width: 100%; font-weight: 650; }
/* In the chart the priority is coloured text that only shows its box when pointed at or in use. */
#page-mt #mt-cap-body .cap-chart .cap-pri { padding: 4px 6px; border-color: transparent; background-color: transparent; }
#page-mt #mt-cap-body .cap-chart .cap-pri:is(:hover, :focus-visible) { border-color: var(--cap-line); background-color: var(--cap-paper); }
#page-mt #mt-cap-body .cap-x { min-width: 30px; min-height: 32px; border: 0; border-radius: 5px; background: transparent; color: var(--cap-muted); font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-x:hover { background: var(--cap-soft); color: var(--cap-red); }
#page-mt #mt-cap-body .cap-add { border-color: var(--cap-accent); color: var(--cap-accent); }
/* "+ Add member" in the chart is a text link under the issue's members. */
#page-mt #mt-cap-body .cap-issue-foot .cap-add { min-height: 28px; padding: 2px 0; margin-right: 14px; border: 0; background: transparent; font-weight: 650; }
#page-mt #mt-cap-body .cap-issue-foot .cap-add:hover:not(:disabled) { box-shadow: none; text-decoration: underline; }
#page-mt #mt-cap-body .cap-quiet { border: 0; background: transparent; color: var(--cap-muted); font-size: var(--cap-small); text-decoration: underline; }
#page-mt #mt-cap-body .cap-client-tools { font-size: var(--cap-small); color: var(--cap-muted); }
#page-mt #mt-cap-body .cap-client-tools summary { padding: 6px 0; }
#page-mt #mt-cap-body .cap-newissue { display: flex; gap: 8px; margin-top: 10px; }
#page-mt #mt-cap-body .cap-newissue label { flex: 1; min-width: 0; }
#page-mt #mt-cap-body .cap-newissue-in, #page-mt #mt-cap-body .cap-pop-q { width: 100%; padding: 9px 12px; border: 1px solid var(--cap-line); border-radius: 6px; background: var(--cap-paper); color: var(--cap-text); font-size: var(--cap-font); }
#page-mt #mt-cap-body .cap-empty { margin: 20px 4px; color: var(--cap-muted); font-size: var(--cap-font); line-height: 1.6; }
#page-mt #mt-cap-body .cap-sub { font-size: var(--cap-small); color: var(--cap-muted); }
#page-mt #mt-cap-body .cap-members .cap-sub { margin: 0; padding: 8px 16px; background: var(--cap-soft); border-block: 1px solid var(--cap-line-soft); font-weight: 700; }
#page-mt #mt-cap-body .cap-review-footer { flex: none; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 8px; padding: 10px var(--cap-space); border-top: 1px solid var(--cap-line); background: var(--cap-soft); }
#page-mt #mt-cap-body .cap-review-footer > button { white-space: normal; text-align: center; }
#page-mt #mt-cap-body .cap-review-footer > button:first-child { justify-self: stretch; }
#page-mt #mt-cap-body .cap-review-footer > button:last-child { justify-self: stretch; }
#page-mt #mt-cap-body .cap-position { grid-column: 1 / -1; grid-row: 1; display: grid; text-align: center; gap: 2px; }
#page-mt #mt-cap-body .cap-position b { font-size: var(--cap-font); font-weight: 600; }
#page-mt #mt-cap-body .cap-position span { font-size: var(--cap-small); color: var(--cap-muted); overflow-wrap: anywhere; }
#page-mt #mt-cap-body .cap-pop { position: fixed; z-index: 100; width: 470px; max-width: calc(100vw - 24px); max-height: min(700px, calc(100dvh - 24px)); padding: var(--cap-space); display: flex; flex-direction: column; gap: 12px; background: var(--cap-paper); color: var(--cap-text); border: 1px solid var(--cap-line); border-radius: 12px; box-shadow: 0 14px 50px #0005; }
#page-mt #mt-cap-body .cap-pop-head { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
#page-mt #mt-cap-body .cap-pop-head > div { display: grid; gap: 5px; min-width: 0; }
#page-mt #mt-cap-body .cap-pop-head small { overflow-wrap: anywhere; }
#page-mt #mt-cap-body .cap-pop-list { flex: 1; min-height: 80px; overflow: auto; overscroll-behavior: contain; }
#page-mt #mt-cap-body .cap-pop-row { display: grid; grid-template-columns: 18px minmax(0,1fr) auto; align-items: center; width: 100%; gap: 8px; padding: 10px 8px; border: 0; border-bottom: 1px solid var(--cap-line); background: transparent; color: var(--cap-text); text-align: left; }
#page-mt #mt-cap-body .cap-pop-row:is(:hover,.is-on) { background: var(--cap-soft); }
#page-mt #mt-cap-body .cap-pop-check { color: var(--cap-accent); }
#page-mt #mt-cap-body .cap-pop-load { font-size: var(--cap-small); font-weight: 650; padding: 4px 8px; border: 1px solid; border-radius: 6px; }
#page-mt #mt-cap-body .cap-pop-foot { margin: 0; font-size: var(--cap-small); color: var(--cap-muted); }
#page-mt #mt-cap-body .cap-cfg-form { display: grid; gap: 12px; }
#page-mt #mt-cap-body .cap-cfg-form label { display: flex; align-items: center; gap: 8px; }
#page-mt #mt-cap-body .cap-cfg-form input { width: 80px; padding: 6px; border: 1px solid var(--cap-line); background: var(--cap-paper); color: var(--cap-text); }
#page-mt #mt-cap-body .cap-names { width: 640px; }
#page-mt #mt-cap-body .cap-nm-btns { display: flex; gap: 6px; }
#page-mt #mt-cap-body .cap-nm-scroll { overflow: auto; max-height: min(440px, calc(100dvh - 220px)); padding-right: 4px; }
#page-mt #mt-cap-body .cap-nm-scroll h6 { margin: 12px 0 4px; font-size: var(--cap-small); font-weight: 700; color: var(--cap-text); }
#page-mt #mt-cap-body .cap-nm-scroll h6 b { margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: var(--cap-soft); font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-nm-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 3px; }
#page-mt #mt-cap-body .cap-nm-list li { display: flex; align-items: baseline; gap: 8px; padding: 4px 8px; background: var(--cap-soft); border-radius: 6px; font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-nm-from { flex: 1; min-width: 0; overflow-wrap: anywhere; }
#page-mt #mt-cap-body .cap-nm-arrow { color: var(--cap-muted); }
#page-mt #mt-cap-body .cap-nm-to { flex: 1; min-width: 0; font-weight: 700; overflow-wrap: anywhere; }
#page-mt #mt-cap-body .cap-nm-n { font-size: var(--cap-small); color: var(--cap-muted); white-space: nowrap; }
#page-mt #mt-cap-body .cap-cfg-btns { display: flex; gap: 8px; }
#page-mt #mt-cap-body .cap-present-only { display: none; }
/* Full screen: the same two panes at the same size, filling the screen (the top section is folded away by the script). */
#tab-staff-portal #page-mt.active #mt-cap-body.cap-is-presenting {
  position: fixed; inset: 0; z-index: 10000; width: 100vw; height: 100dvh; max-height: none;
  margin: 0; padding: 0; display: flex; overflow: hidden; background: var(--cap-bg);
}
#page-mt #mt-cap-body.cap-is-presenting::backdrop { background: var(--cap-bg); }
#page-mt #mt-cap-body.cap-is-presenting .cap-wrap { width: 100%; height: 100%; border: 0; border-radius: 0; }
#page-mt #mt-cap-body.cap-is-presenting .cap-present-only { display: inline-flex; }
#page-mt #mt-cap-body .cap-exit { margin-left: auto; }
#page-mt #mt-cap-body .cap-present-note { color: var(--cap-muted); justify-content: center; text-align: center; font-size: var(--cap-small); flex: none; }
#page-mt #mt-cap-body .cap-break { position: absolute; inset: 0; z-index: 110; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; padding: 32px; text-align: center; background: var(--cap-bg); color: var(--cap-text); }
#page-mt #mt-cap-body .cap-break h2 { font: 700 clamp(40px, 5vw, 100px)/1.2 Figtree, sans-serif; margin: 0; color: var(--cap-text); }
#page-mt #mt-cap-body .cap-break p { margin: 0; }
#page-mt #mt-cap-body.cap-is-paused .cap-wrap > :not(.cap-break) { visibility: hidden; }
@media (max-width: 1250px) {
    #page-mt #mt-cap-body .cap-overview { align-items: start; }
  #page-mt #mt-cap-body .cap-sum { gap: 8px 16px; }
  #page-mt #mt-cap-body .cap-lg-note { display: none; }
}
@media (max-width: 900px) {
  #tab-staff-portal #page-mt.active #mt-cap-body { overflow: visible; }
  #page-mt #mt-cap-body .cap-wrap { overflow: visible; }
  #page-mt #mt-cap-body .cap-cols, #page-mt #mt-cap-body.cap-is-presenting .cap-cols { display: flex; flex-direction: column; }
  #page-mt #mt-cap-body, #page-mt #mt-cap-body.cap-is-presenting { --cap-mcols: 26px minmax(0, 1fr) 48px 18px; }
  /* A phone shows one member per row. */
  #page-mt #mt-cap-body .cap-list, #page-mt #mt-cap-body .cap-m-colshead { grid-template-columns: minmax(0, 1fr); }
  #page-mt #mt-cap-body .cap-m-colshead .cap-m-cols:nth-child(n+2) { display: none; }
  #page-mt #mt-cap-body .cap-m-body { grid-template-columns: minmax(0, 1fr); }
  #page-mt #mt-cap-body .cap-col { flex: none; }
  /* A phone stacks each request over its members, and lets the band run its full height. */
  #page-mt #mt-cap-body .cap-band { max-height: none; overflow: visible; }
  #page-mt #mt-cap-body .cap-reqs { overflow: visible; }
  #page-mt #mt-cap-body .cap-reqrow { flex-direction: column; align-items: stretch; }
  #page-mt #mt-cap-body .cap-reqrow .cap-req { max-width: 100%; }
  #page-mt #mt-cap-body .cap-band-row { flex-direction: column; }
  #page-mt #mt-cap-body .cap-band .cap-client-find { min-width: 0; }
  #page-mt #mt-cap-body .cap-tray-cards { grid-template-columns: minmax(0, 1fr); }
  #page-mt #mt-cap-body .cap-req-detail { max-height: none; }
  #page-mt #mt-cap-body .cap-scroll { max-height: 70vh; }
  #page-mt #mt-cap-body .cap-overview { flex-direction: column; gap: 10px; }
  #page-mt #mt-cap-body .cap-overview-end { justify-items: start; }
  #page-mt #mt-cap-body.cap-is-presenting .cap-wrap { overflow: auto; }
  #page-mt #mt-cap-body.cap-is-presenting .cap-cols { flex: none; }
  #page-mt #mt-cap-body .cap-top-r { width: 100%; }
  #page-mt #mt-cap-body .cap-tool-menu { left: 0; right: auto; max-width: calc(100vw - 44px); }
  #page-mt #mt-cap-body .cap-tool-menu .cap-btn { white-space: normal; }
}
/* The staff portal's phone rule (staff-portal.css, max-width 599px) turns every table into stacked cards with !important.
   Client review stays a chart on a phone too. */
@media (max-width: 599px) {
  #page-mt #mt-cap-body table.cap-chart { display: table !important; min-width: 0; }
  #page-mt #mt-cap-body .cap-chart thead { display: table-header-group !important; }
  #page-mt #mt-cap-body .cap-chart tbody { display: table-row-group !important; }
  #page-mt #mt-cap-body .cap-chart tbody tr { display: table-row !important; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent !important; }
  #page-mt #mt-cap-body .cap-chart td { display: table-cell !important; }
  #page-mt #mt-cap-body .cap-chart .cap-ask td { border-bottom: 1px solid var(--cap-line-soft); }
  #page-mt #mt-cap-body .cap-chart .cap-issue-head td { border-bottom: 1px solid var(--cap-line); }
}
/* Owner request 2026-10-16: each request a row with its members to its right; a bigger tray; and the Notes drawer. */
#page-mt #mt-cap-body .cap-band .cap-client-head h3 { display: flex; align-items: center; gap: 14px; font-size: calc(var(--cap-font) * 2.2); line-height: 1.1; }
#page-mt #mt-cap-body .cap-band .cap-client-sub { font-size: calc(var(--cap-font) * 1.15); }
/* The header row stays put; the request rows are what scroll when the band is squeezed. */
#page-mt #mt-cap-body .cap-reqs { flex: 1 1 auto; min-height: 150px; display: flex; flex-direction: column; gap: 8px; max-height: none; overflow: auto; overscroll-behavior: contain; }
#page-mt #mt-cap-body .cap-band .cap-req-detail { flex: none; }
#page-mt #mt-cap-body .cap-reqrow { display: flex; align-items: flex-start; gap: 12px; padding: 6px 8px; border: 1px solid transparent; border-radius: 8px; }
#page-mt #mt-cap-body .cap-reqrow.is-on { border-color: var(--cap-accent); background: var(--cap-blue-bg); }
#page-mt #mt-cap-body .cap-reqrow .cap-req { flex: 0 0 auto; max-width: 38%; min-height: 40px; padding: 6px 12px; font-size: calc(var(--cap-font) * 1.25); font-weight: 750; line-height: 1.25; }
#page-mt #mt-cap-body .cap-reqrow .cap-req .cap-type-label { font-size: var(--cap-font); }
#page-mt #mt-cap-body .cap-reqrow .cap-req-n { font-size: var(--cap-font); }
#page-mt #mt-cap-body .cap-reqrow .cap-req-members { flex: 1 1 auto; min-width: 0; }
#page-mt #mt-cap-body .cap-reqrow .cap-pills { align-items: center; }
#page-mt #mt-cap-body .cap-reqrow .cap-pill { min-height: 38px; font-size: var(--cap-font); background: var(--cap-paper); }
#page-mt #mt-cap-body .cap-reqrow .cap-pill .cap-ask-open b { font-size: var(--cap-font); font-weight: 650; }
#page-mt #mt-cap-body .cap-reqrow .cap-pills .cap-add { min-height: 34px; }
#page-mt #mt-cap-body .cap-req-detail { max-height: none; }
/* The tray: full-size member cards, up to a third of the pane, scrolling beyond that. */
#page-mt #mt-cap-body .cap-m-tray { max-height: 34%; overflow: auto; overscroll-behavior: contain; padding: 10px var(--cap-space) 12px; }
#page-mt #mt-cap-body .cap-tray-title { font-size: var(--cap-font); }
#page-mt #mt-cap-body .cap-tray-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 10px; }
#page-mt #mt-cap-body .cap-tray-card { display: grid; grid-template-columns: var(--cap-mcols); gap: 8px; align-items: center; width: 100%; min-height: 58px; padding: 8px 12px; border: 2px solid var(--cap-accent); border-left: 5px solid; border-radius: 8px; background: var(--cap-paper); color: var(--cap-text); text-align: left; font-size: calc(var(--cap-font) * 1.1); }
#page-mt #mt-cap-body .cap-tray-card.cap-h-green { border-left-color: var(--cap-bar-green); }
#page-mt #mt-cap-body .cap-tray-card.cap-h-yellow { border-left-color: var(--cap-bar-yellow); }
#page-mt #mt-cap-body .cap-tray-card.cap-h-red { border-left-color: var(--cap-bar-red); }
#page-mt #mt-cap-body .cap-tray-card .cap-m-name b { font-size: calc(var(--cap-font) * 1.15); }
#page-mt #mt-cap-body .cap-tray-card:hover { background: var(--cap-blue-bg); }
/* FY27: the leads one per row — Member · Ask · Result — then everyone else the client met on ONE "Met:" line. */
#page-mt #mt-cap-body .cap-ask-times { color: var(--cap-muted); font-size: var(--cap-small); font-weight: 650; white-space: nowrap; }
#page-mt #mt-cap-body .cap-chart .cap-met-row td.cap-met-cell { padding: 10px 12px; line-height: 1.7; background: var(--cap-soft); }
#page-mt #mt-cap-body .cap-met-label { margin-right: 6px; color: var(--cap-text); font-weight: 800; }
#page-mt #mt-cap-body .cap-met-name { display: inline; padding: 0; border: 0; background: none; color: var(--cap-text); font: inherit; font-weight: 650; cursor: pointer; white-space: nowrap; }
#page-mt #mt-cap-body .cap-met-name:is(:hover, :focus-visible) { color: var(--cap-accent); text-decoration: underline; }
#page-mt #mt-cap-body .cap-met-where { color: var(--cap-muted); font-weight: 500; }
#page-mt #mt-cap-body .cap-met-sep { color: var(--cap-muted); }
/* Company footprint under FY27 Results (owner request 2026-10-22): a clean four-column table —
   Facility · Location · District · Member — no bullets, no dashes. The district is plain; the member is bold. */
#page-mt #mt-cap-body .cap-fp { margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--cap-line); }
#page-mt #mt-cap-body .cap-fp-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
#page-mt #mt-cap-body .cap-fp-head h4 { margin: 0; color: var(--cap-gold); font-size: calc(var(--cap-font) * 1.15); font-weight: 700; }
#page-mt #mt-cap-body .cap-fp-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: var(--cap-small); line-height: 1.45; color: var(--cap-text); }
#page-mt #mt-cap-body .cap-fp-c-kind { width: 33%; }
#page-mt #mt-cap-body .cap-fp-c-place { width: 24%; }
#page-mt #mt-cap-body .cap-fp-c-cd { width: 13%; }
#page-mt #mt-cap-body .cap-fp-c-member { width: 30%; }
/* The Meeting Tracker paints every table header navy and stripes every other row; this table is plain. */
#page-mt #mt-cap-body .cap-fp-table thead th, #page-mt #mt-cap-body .cap-fp-table tbody tr, #page-mt #mt-cap-body .cap-fp-table tbody tr:nth-child(even), #page-mt #mt-cap-body .cap-fp-table tbody tr:hover, #page-mt #mt-cap-body .cap-fp-table td { background: transparent; border-left: 0; border-right: 0; border-top: 0; }
#page-mt #mt-cap-body .cap-fp-table th:hover { background: transparent; }
#page-mt #mt-cap-body .cap-fp-table thead th { height: auto; padding: 0 10px 6px 0; border-bottom: 1px solid var(--cap-line); color: var(--cap-muted); font-size: 0.84em; font-weight: 650; letter-spacing: 0.05em; text-transform: uppercase; text-align: left; }
#page-mt #mt-cap-body .cap-fp-table td { padding: 7px 10px 7px 0; border-bottom: 1px solid var(--cap-line-soft); vertical-align: top; overflow-wrap: anywhere; }
#page-mt #mt-cap-body .cap-fp-table th:last-child, #page-mt #mt-cap-body .cap-fp-table td:last-child { padding-right: 0; }
#page-mt #mt-cap-body .cap-fp-table tbody tr:last-child td { border-bottom: 0; }
#page-mt #mt-cap-body .cap-fp-kind-main { font-weight: 600; }
#page-mt #mt-cap-body .cap-fp-n { color: var(--cap-muted); font-weight: 500; }
#page-mt #mt-cap-body .cap-fp-kind-sub { display: block; color: var(--cap-muted); font-size: 0.92em; line-height: 1.4; }
#page-mt #mt-cap-body .cap-fp-place { color: var(--cap-text); }
#page-mt #mt-cap-body .cap-fp-cd { font-weight: 400; white-space: nowrap; font-variant-numeric: tabular-nums; }
#page-mt #mt-cap-body .cap-fp-cd-open { color: var(--cap-muted); }
#page-mt #mt-cap-body .cap-fp-member { font-weight: 700; }
#page-mt #mt-cap-body .cap-fp-vacant { color: var(--cap-muted); font-style: italic; font-weight: 600; }
#page-mt #mt-cap-body .cap-fp-group th { padding: 14px 0 5px; background: transparent; border: 0; border-bottom: 1px solid var(--cap-line); color: var(--cap-gold); font-size: var(--cap-font); font-weight: 700; text-align: left; }
#page-mt #mt-cap-body .cap-fp-group th .cap-col-n { margin-left: 6px; font-weight: 500; }
#page-mt #mt-cap-body .cap-fp-group:first-child th { padding-top: 4px; }
#page-mt #mt-cap-body .cap-fp-status { display: inline-block; margin-top: 3px; padding: 0 6px; border-radius: 4px; background: var(--cap-yellow-bg); color: var(--cap-yellow); font-size: 0.86em; font-weight: 650; line-height: 1.6; white-space: nowrap; }
#page-mt #mt-cap-body .cap-fp-new { display: inline-block; padding: 0 6px; border-radius: 4px; background: var(--cap-blue-bg); color: var(--cap-blue); font-size: 0.86em; font-weight: 650; line-height: 1.6; white-space: nowrap; cursor: help; }
#page-mt #mt-cap-body .cap-fp-check { display: inline-block; padding: 0 6px; border: 1px dashed var(--cap-line); border-radius: 4px; color: var(--cap-muted); font-size: 0.86em; font-weight: 500; line-height: 1.5; white-space: nowrap; cursor: help; }
#page-mt #mt-cap-body .cap-fp-note { margin: 10px 0 0; color: var(--cap-muted); font-size: var(--cap-small); line-height: 1.5; }
#page-mt #mt-cap-body .cap-fp-empty { margin: 6px 0 0; color: var(--cap-muted); font-size: var(--cap-small); line-height: 1.5; }
#page-mt #mt-cap-body .cap-fp-src { margin: 10px 0 0; color: var(--cap-muted); font-size: calc(var(--cap-small) * 0.92); }
/* Nothing in FY27 Results runs off the bottom (owner request 2026-10-22, for the TV): sites that do not fit under the
   results are shown a page at a time, turned from the heading ("Page 1 of 4 ‹ ›") or with ↓ / ↑ while presenting. */
#page-mt #mt-cap-body .cap-fp-head-end { display: inline-flex; align-items: center; gap: 12px; flex-wrap: wrap; }
#page-mt #mt-cap-body .cap-fp-pager { display: inline-flex; align-items: center; gap: 4px; }
#page-mt #mt-cap-body .cap-fp-pageno { margin-right: 4px; color: var(--cap-text); font-size: var(--cap-small); font-weight: 650; white-space: nowrap; font-variant-numeric: tabular-nums; }
#page-mt #mt-cap-body .cap-fp-pg { min-width: 30px; min-height: 28px; padding: 0 8px; border: 1px solid var(--cap-line); border-radius: 6px; background: var(--cap-paper); color: var(--cap-accent); font-size: 18px; font-weight: 700; line-height: 1; }
#page-mt #mt-cap-body .cap-fp-pg:hover:not(:disabled) { border-color: var(--cap-accent); }
#page-mt #mt-cap-body .cap-scroll.cap-r-paged { overflow: hidden; }
/* The staff portal gives EVERY table a 500px minimum width; in this pane that pushed both tables past its right edge on
   any screen narrower than about 1500px (half a column cut off once the pane stopped scrolling). They fit the pane. */
#page-mt #mt-cap-body .cap-results .cap-chart, #page-mt #mt-cap-body .cap-fp-table { min-width: 0; }
/* Narrow panes: each site is a card — facility and location on one line, district and member on the next. */
@media (max-width: 599px) {
  #page-mt #mt-cap-body .cap-fp-table, #page-mt #mt-cap-body .cap-fp-table tbody, #page-mt #mt-cap-body .cap-fp-table tr, #page-mt #mt-cap-body .cap-fp-table td, #page-mt #mt-cap-body .cap-fp-table th { display: block; width: auto; }
  #page-mt #mt-cap-body .cap-fp-table colgroup, #page-mt #mt-cap-body .cap-fp-table thead { display: none; }
  #page-mt #mt-cap-body .cap-fp-site { padding: 7px 0; border-bottom: 1px solid var(--cap-line-soft); }
  #page-mt #mt-cap-body .cap-fp-table td { padding: 0; border: 0; }
  #page-mt #mt-cap-body .cap-fp-place { color: var(--cap-muted); }
  #page-mt #mt-cap-body .cap-fp-cd, #page-mt #mt-cap-body .cap-fp-member { display: inline-block; margin-top: 2px; }
  #page-mt #mt-cap-body .cap-fp-cd { margin-right: 10px; }
}
/* Notes: a drawer on the right, the presenter's own — never in presenter mode. */
#page-mt #mt-cap-body .cap-present-hide { }
#page-mt #mt-cap-body.cap-is-presenting .cap-present-hide { display: none !important; }
#page-mt #mt-cap-body .cap-notes { width: 560px; max-width: calc(100vw - 24px); }
#page-mt #mt-cap-body .cap-notes-tools { display: flex; flex-wrap: wrap; gap: 4px; }
#page-mt #mt-cap-body .cap-ntool { min-width: 34px; min-height: 32px; padding: 2px 8px; border: 1px solid var(--cap-line); border-radius: 5px; background: var(--cap-paper); color: var(--cap-text); font-size: var(--cap-small); font-weight: 700; }
#page-mt #mt-cap-body .cap-ntool:hover { border-color: var(--cap-accent); color: var(--cap-accent); }
#page-mt #mt-cap-body .cap-notes-ed { flex: 1 1 auto; min-height: 260px; overflow: auto; padding: 12px 14px; border: 1px solid var(--cap-line); border-radius: 8px; background: var(--cap-paper); color: var(--cap-text); font-size: var(--cap-font); line-height: 1.55; }
#page-mt #mt-cap-body .cap-notes-ed:empty::before { content: attr(data-placeholder); color: var(--cap-muted); }
#page-mt #mt-cap-body .cap-notes-ed h2 { margin: 10px 0 4px; font-size: calc(var(--cap-font) * 1.3); }
#page-mt #mt-cap-body .cap-notes-ed h3 { margin: 8px 0 4px; font-size: calc(var(--cap-font) * 1.12); }
#page-mt #mt-cap-body .cap-notes-ed p { margin: 0 0 6px; }
#page-mt #mt-cap-body .cap-notes-ed ul, #page-mt #mt-cap-body .cap-notes-ed ol { margin: 4px 0 8px; padding-left: 24px; }
#page-mt #mt-cap-body .cap-notes-ed blockquote { margin: 6px 0; padding: 4px 12px; border-left: 3px solid var(--cap-line); color: var(--cap-muted); }
#page-mt #mt-cap-body .cap-notes-ed a { color: var(--cap-accent); }
#page-mt #mt-cap-body .cap-notes-status { font-size: var(--cap-small); color: var(--cap-muted); align-self: center; }
#page-mt #mt-cap-body .cap-notes-status.is-saved { color: var(--cap-green); }
#page-mt #mt-cap-body .cap-notes-status.is-failed { color: var(--cap-red); font-weight: 700; }
/* The FY28 Campaign band, condensed (owner request 2026-10-16): ONE header line — the year, the client's name, its
   request counts, then search / Notes / Previous / Next — and the requests as an aligned list: each request in a
   fixed left column, its members to the right, a hairline between rows. The band gives up height so Member capacity
   and FY27 Results below get more of the screen. */
#page-mt #mt-cap-body .cap-band { max-height: 30vh; gap: 6px; padding: 8px var(--cap-space) 6px; }
#page-mt #mt-cap-body .cap-band-row { align-items: center; gap: 12px; }
#page-mt #mt-cap-body .cap-band-client { flex-direction: row; align-items: baseline; gap: 12px; flex-wrap: wrap; flex: 1 1 auto; }
#page-mt #mt-cap-body .cap-band-eyebrow { flex: none; }
#page-mt #mt-cap-body .cap-band .cap-client-head { flex-direction: row; align-items: baseline; gap: 14px; flex-wrap: wrap; padding: 0; }
#page-mt #mt-cap-body .cap-band .cap-client-head h3 { display: block; font-size: calc(var(--cap-font) * 1.7); line-height: 1.15; }
#page-mt #mt-cap-body .cap-band .cap-client-sub { font-size: var(--cap-font); }
#page-mt #mt-cap-body .cap-reqs { min-height: 64px; flex-wrap: nowrap; gap: 0; border-top: 1px solid var(--cap-line-soft); }
#page-mt #mt-cap-body .cap-reqs > .cap-reqrow { flex: none; }
#page-mt #mt-cap-body .cap-reqrow .cap-req { width: 100%; max-width: none; min-height: 32px; padding: 4px 10px; justify-content: space-between; font-size: calc(var(--cap-font) * 1.1); }
#page-mt #mt-cap-body .cap-reqrow .cap-req-name { flex: 1 1 auto; }
#page-mt #mt-cap-body .cap-reqrow .cap-pills { gap: 5px; }
#page-mt #mt-cap-body .cap-reqrow .cap-pill { min-height: 30px; padding: 1px 3px 1px 9px; }
#page-mt #mt-cap-body .cap-reqrow .cap-pills .cap-add { min-height: 30px; }
#page-mt #mt-cap-body .cap-band .cap-client-tools > summary { padding: 2px 0; }
#page-mt #mt-cap-body .cap-band .cap-req-detail { min-height: 0; }
#page-mt #mt-cap-body .cap-cols { min-height: 38vh; }
@media (max-height: 820px) { #page-mt #mt-cap-body .cap-cols { min-height: 30vh; } }
@media (max-width: 900px) {
  #page-mt #mt-cap-body .cap-band { max-height: none; }
  #page-mt #mt-cap-body .cap-reqrow { grid-template-columns: minmax(0, 1fr); align-items: stretch; gap: 6px; }
  #page-mt #mt-cap-body .cap-cols { min-height: 0; }
}
/* FY28 members grouped by priority (owner request 2026-10-16): "High: A, B   Medium: C   Low: D" — plain-text names,
   so they read differently from the boxed requests, behind a coloured priority tag (High green, Medium yellow, Low red).
   A name opens the member menu (priority, show in Member capacity, take off this request). */
#page-mt #mt-cap-body .cap-reqrow .cap-prigrps { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 20px; }
#page-mt #mt-cap-body .cap-prigrp { display: inline; line-height: 1.75; font-size: var(--cap-font); }
#page-mt #mt-cap-body .cap-prigrp-label { display: inline-block; margin-right: 6px; padding: 0 8px; border: 1px solid; border-radius: 4px; font-size: var(--cap-small); font-weight: 800; letter-spacing: .02em; line-height: 1.6; }
#page-mt #mt-cap-body .cap-prigrp-sep { color: var(--cap-muted); }
#page-mt #mt-cap-body .cap-mname { display: inline; padding: 0; border: 0; border-radius: 3px; background: none; color: var(--cap-text); font: inherit; text-align: left; cursor: pointer; }
#page-mt #mt-cap-body .cap-mname b { font-weight: 650; }
#page-mt #mt-cap-body .cap-mname:is(:hover, :focus-visible) b { color: var(--cap-accent); text-decoration: underline; text-underline-offset: 2px; }
#page-mt #mt-cap-body .cap-reqrow .cap-pills .cap-add { margin-left: 4px; }
#page-mt #mt-cap-body .cap-mpop { width: 360px; max-width: calc(100vw - 16px); display: flex; flex-direction: column; gap: 10px; }
#page-mt #mt-cap-body .cap-mpop-pri { display: flex; gap: 6px; }
/* Numbers carry no colour (owner request 2026-10-19): the chosen one is simply the filled button. */
#page-mt #mt-cap-body .cap-mpop-p { flex: 1; min-height: 34px; border: 1px solid var(--cap-line); border-radius: 6px; background: var(--cap-paper); color: var(--cap-text); font-weight: 700; }
#page-mt #mt-cap-body .cap-mpop-p.cap-mpop-p-other { flex: 1.8; }
#page-mt #mt-cap-body .cap-mpop-p.is-on { background: var(--cap-accent); border-color: var(--cap-accent); color: var(--cap-on); }
#page-mt #mt-cap-body .cap-mpop-p:is(:hover, :focus-visible):not(.is-on) { background: var(--cap-soft); }
#page-mt #mt-cap-body .cap-mpop-other { display: flex; align-items: flex-end; gap: 8px; }
#page-mt #mt-cap-body .cap-mpop-other[hidden] { display: none; }
#page-mt #mt-cap-body .cap-mpop-other label { display: flex; flex-direction: column; gap: 2px; font-size: var(--cap-small); font-weight: 700; color: var(--cap-muted); }
#page-mt #mt-cap-body .cap-mpop-other input { width: 90px; min-height: 32px; }
#page-mt #mt-cap-body .cap-mpop-clear { display: flex; }
#page-mt #mt-cap-body .cap-mpop-acts { display: flex; flex-wrap: wrap; gap: 6px; }
#page-mt #mt-cap-body .cap-mpop-off { color: var(--cap-red); }
/* The "<Client>'s members" switch has a FIXED width (owner request 2026-10-16): a long name ("Twenty-Six Defense") is
   shortened with an ellipsis inside it and never widens the button, so the Member capacity controls never reflow
   from one client to the next. The full wording is the button's title. */
/* Member capacity's ONE row of controls (owner request 2026-10-18): the search grows, the four dropdowns share one look.
   "Whose members" keeps a FIXED width (owner, 2026-10-16) so a long client name never reflows the row; it is cut short inside. */
#page-mt #mt-cap-body .cap-mfilters { flex-wrap: nowrap; gap: 8px; }
#page-mt #mt-cap-body .cap-mfilters .cap-search { flex: 1 1 140px; min-width: 120px; }
#page-mt #mt-cap-body .cap-msel { flex: 0 1 auto; min-width: 7em; min-height: 36px; max-width: 190px; padding: 7px 26px 7px 10px; font-weight: 600; text-overflow: ellipsis; }
#page-mt #mt-cap-body .cap-msel-show { flex: 0 0 auto; width: 12em; }
/* The committee filter (owner request 2026-10-22): a button that looks like the dropdowns beside it and opens a list of
   CHECKBOXES — Leadership, Defense Appropriations, Appropriations, HASC and SASC with their subcommittees. Tick as many
   as you like; the list stays open until Done, Escape or a click elsewhere. */
#page-mt #mt-cap-body .cap-units { position: relative; display: flex; flex: 0 1 auto; min-width: 7em; max-width: 190px; }
#page-mt #mt-cap-body .cap-unit-btn { position: relative; width: 100%; max-width: 100%; overflow: hidden; white-space: nowrap; text-align: left; border: 1px solid var(--cap-line); border-radius: 6px; background: var(--cap-paper); color: var(--cap-text); font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-unit-btn::after { content: '▾'; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); color: var(--cap-muted); font-size: 11px; }
#page-mt #mt-cap-body .cap-unit-btn.is-on { border-color: var(--cap-accent); color: var(--cap-accent); box-shadow: inset 0 0 0 1px var(--cap-accent); }
#page-mt #mt-cap-body .cap-unit-panel { position: absolute; top: calc(100% + 6px); right: 0; z-index: 12; width: 340px; max-width: calc(100vw - 32px); overflow: auto; overscroll-behavior: contain; padding: 8px 10px; background: var(--cap-paper); border: 1px solid var(--cap-line); border-radius: 8px; box-shadow: 0 8px 28px #0002; }
#page-mt #mt-cap-body .cap-unit-grp + .cap-unit-grp { margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--cap-line-soft); }
#page-mt #mt-cap-body .cap-unit-gh { margin: 2px 0 4px; color: var(--cap-muted); font-size: var(--cap-small); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
#page-mt #mt-cap-body .cap-unit-opt { display: flex; align-items: flex-start; gap: 9px; padding: 5px 6px; border-radius: 5px; color: var(--cap-text); font-size: var(--cap-small); line-height: 1.35; cursor: pointer; }
#page-mt #mt-cap-body .cap-unit-opt:hover { background: var(--cap-soft); }
#page-mt #mt-cap-body .cap-unit-opt input { flex: none; width: 16px; height: 16px; margin: 1px 0 0; accent-color: var(--cap-accent); cursor: pointer; }
#page-mt #mt-cap-body .cap-unit-txt { display: block; min-width: 0; font-weight: 600; }
#page-mt #mt-cap-body .cap-unit-txt b { margin-left: 2px; color: var(--cap-muted); font-weight: 700; }
#page-mt #mt-cap-body .cap-unit-txt small { display: block; margin-top: 1px; font-size: calc(var(--cap-small) * .92); font-weight: 500; }
#page-mt #mt-cap-body .cap-unit-foot { position: sticky; bottom: -8px; display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 8px -10px -8px; padding: 8px 10px; background: var(--cap-paper); border-top: 1px solid var(--cap-line-soft); }
/* While Leadership is ticked a member's card says why they are on the list: "Speaker of the House", "HASC Chair". */
#page-mt #mt-cap-body .cap-m-lead { color: var(--cap-accent); font-weight: 650; }
@media (max-width: 760px) {
  #page-mt #mt-cap-body .cap-mfilters { flex-wrap: wrap; }
  #page-mt #mt-cap-body .cap-mfilters .cap-search { flex: 1 1 100%; }
  #page-mt #mt-cap-body .cap-msel, #page-mt #mt-cap-body .cap-msel-show, #page-mt #mt-cap-body .cap-units { flex: 1 1 40%; width: auto; max-width: none; }
}
/* Member capacity cards (owner request 2026-10-16): rank · name · tag (· committee) · the number of CLIENTS — no
   House / Senate, no "clients" word, no request count or $ / P split. The load colour stays the bar at the left. */
#page-mt #mt-cap-body .cap-m-stat b { font-size: calc(var(--cap-font) * 1.15); }
/* "Safely weighted requests": the chosen request's members out of view in Member capacity, at the foot of FY27 Results,
   only while there are any. */
#page-mt #mt-cap-body .cap-results .cap-m-tray { flex: none; max-height: 42%; overflow: auto; overscroll-behavior: contain; padding: 8px var(--cap-space) 10px; }
#page-mt #mt-cap-body .cap-results .cap-tray-cards { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 8px; }
#page-mt #mt-cap-body .cap-results .cap-tray-card { min-height: 50px; padding: 6px 10px; font-size: var(--cap-font); }
/* The FY28 Campaign as the Planned Activities deck's chart: Request · HASC · SASC · HAC · SAC · Other, members by LAST
   NAME, in priority-number order (no colour — owner request 2026-10-19). The rows are table rows now —
   the earlier flex / grid row rules must not reach them. */
#page-mt #mt-cap-body tr.cap-reqrow { display: table-row; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
#page-mt #mt-cap-body .cap-chart.cap-camp { table-layout: fixed; width: 100%; }
#page-mt #mt-cap-body .cap-chart.cap-camp col.cap-c-camp-req { width: 30%; }
#page-mt #mt-cap-body .cap-chart.cap-camp thead th { position: sticky; top: 0; z-index: 1; padding: 4px 10px; background: var(--cap-paper); border-bottom: 2px solid var(--cap-line); color: var(--cap-muted); font-size: var(--cap-small); font-weight: 800; letter-spacing: .04em; }
#page-mt #mt-cap-body .cap-chart.cap-camp thead th + th { border-left: 1px solid var(--cap-line-soft); }
#page-mt #mt-cap-body .cap-chart.cap-camp td { padding: 4px 10px; border-bottom: 1px solid var(--cap-line-soft); vertical-align: middle; }
#page-mt #mt-cap-body .cap-chart.cap-camp td.cap-camp-cell { border-left: 1px solid var(--cap-line-soft); line-height: 1.55; overflow-wrap: anywhere; }
#page-mt #mt-cap-body .cap-chart.cap-camp tbody tr.cap-reqrow.is-on td { background: var(--cap-blue-bg); }
#page-mt #mt-cap-body .cap-chart.cap-camp tbody tr.cap-reqrow.is-on td:first-child { box-shadow: inset 3px 0 0 var(--cap-accent); }
#page-mt #mt-cap-body .cap-camp-req .cap-req { width: 100%; }
#page-mt #mt-cap-body .cap-camp-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin-top: 3px; }
#page-mt #mt-cap-body .cap-camp-acts .cap-add { min-height: 26px; padding: 1px 8px; font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-camp .cap-mname { font-weight: 750; }
#page-mt #mt-cap-body .cap-camp .cap-mname:is(:hover, :focus-visible) { text-decoration: underline; text-underline-offset: 2px; }
#page-mt #mt-cap-body .cap-mname-ch { color: var(--cap-muted); font-weight: 600; }
@media (max-width: 900px) {
  /* A phone keeps the deck's columns and scrolls the table sideways rather than squeezing names into slivers. */
  #page-mt #mt-cap-body .cap-reqs { overflow-x: auto; }
  #page-mt #mt-cap-body .cap-chart.cap-camp { min-width: 680px; }
}
/* The request and its "Not this year" share one line, so a row is only as tall as the request's own title. */
#page-mt #mt-cap-body .cap-camp-reqin { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
#page-mt #mt-cap-body .cap-camp-req .cap-req { flex: 1 1 auto; width: auto; min-width: 0; }
/* The request is its tag and its title, plain text — no box, no member count (owner request 2026-10-18). The row's own
   highlight says which request is chosen. */
#page-mt #mt-cap-body .cap-camp-req .cap-req, #page-mt #mt-cap-body .cap-camp-req .cap-req.is-on { border: 0; border-radius: 0; background: transparent; box-shadow: none; padding: 2px 0; min-height: 0; }
#page-mt #mt-cap-body .cap-camp-req .cap-req:hover .cap-req-name, #page-mt #mt-cap-body .cap-camp-req .cap-req:focus-visible .cap-req-name { text-decoration: underline; text-underline-offset: 3px; }
#page-mt #mt-cap-body .cap-r-ask .cap-req-tag { font-weight: 800; }
#page-mt #mt-cap-body .cap-camp-req .cap-camp-acts { flex: none; flex-direction: column; align-items: stretch; gap: 2px; margin: 0; }
#page-mt #mt-cap-body .cap-camp-acts .cap-quiet { font-size: var(--cap-small); white-space: nowrap; }
/* "$5M" / "$", "BL" or "DRL" before the request's title (owner request 2026-10-18). */
#page-mt #mt-cap-body .cap-req-tag { flex: none; color: var(--cap-muted); font-weight: 800; white-space: nowrap; }
#page-mt #mt-cap-body .cap-req-tag.cap-kind-approp { color: var(--cap-kind-approp); }
#page-mt #mt-cap-body .cap-req-tag.cap-kind-drl { color: var(--cap-kind-drl); }
#page-mt #mt-cap-body .cap-req-tag.cap-kind-bl { color: var(--cap-kind-bl); }
/* A member on none of the four committees and never put in a cell is listed under the request, not dropped. */
#page-mt #mt-cap-body .cap-camp-unplaced { flex: 1 0 100%; color: var(--cap-muted); font-size: var(--cap-small); line-height: 1.5; }
/* The + at the far right of each row: search for a member and choose the cell (owner request 2026-10-18). */
#page-mt #mt-cap-body .cap-chart.cap-camp col.cap-c-camp-plus { width: 48px; }
#page-mt #mt-cap-body .cap-chart.cap-camp td.cap-camp-plus { padding: 4px 6px; border-left: 1px solid var(--cap-line-soft); text-align: center; }
#page-mt #mt-cap-body .cap-plus { width: 32px; height: 32px; border: 1px solid var(--cap-accent); border-radius: 50%; background: var(--cap-paper); color: var(--cap-accent); font-size: 20px; font-weight: 700; line-height: 1; }
#page-mt #mt-cap-body .cap-plus:hover:not(:disabled) { background: var(--cap-accent); color: var(--cap-on); }
#page-mt #mt-cap-body .cap-plus:disabled { opacity: .4; }
#page-mt #mt-cap-body .cap-pop-cols { align-items: center; }
#page-mt #mt-cap-body .cap-pop-colq { color: var(--cap-muted); font-size: var(--cap-small); font-weight: 700; }
#page-mt #mt-cap-body .cap-mpop-cols { display: flex; flex-wrap: wrap; gap: 6px; }
/* Saved members check (owner report 2026-10-16): members saved on the plan that no meeting this year lists. */
#page-mt #mt-cap-body .cap-sv-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 8px; }
#page-mt #mt-cap-body .cap-sv-what { display: flex; flex-direction: column; min-width: 0; }
#page-mt #mt-cap-body .cap-sv-what small { color: var(--cap-muted); font-size: var(--cap-small); }
#page-mt #mt-cap-body .cap-sv-batch { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
#page-mt #mt-cap-body .cap-sv-batch.is-seed-bug { color: var(--cap-yellow); }
#page-mt #mt-cap-body .cap-sv-note { margin: 0 0 6px; color: var(--cap-yellow); font-size: var(--cap-small); font-weight: 600; }

/* Member detail reads as client rows with aligned requests, without nested cards. */
#page-mt #mt-cap-body .cap-m-client:last-child,
#page-mt #mt-cap-body .cap-m-issues li:last-child { border-bottom: 0; }
#page-mt #mt-cap-body .cap-m-client-label { min-width: 0; padding-block: 5px; overflow-wrap: anywhere; }
#page-mt #mt-cap-body .cap-m-client-label .cap-link { line-height: 1.35; text-decoration: none; }
#page-mt #mt-cap-body .cap-m-client-label .cap-link:is(:hover, :focus-visible) { text-decoration: underline; }
#page-mt #mt-cap-body .cap-m-expand .cap-m-units { gap: 4px 8px; margin-top: 4px; }
#page-mt #mt-cap-body .cap-m-expand .cap-m-units i { padding: 2px 6px; border-width: 1px; border-color: var(--cap-line); border-radius: 3px; box-shadow: none; transform: none; }
#page-mt #mt-cap-body .cap-m-issue { line-height: 1.4; }
@container (max-width: 560px) {
  #page-mt #mt-cap-body .cap-m-client { grid-template-columns: minmax(0, 1fr) 5em; gap: 0 8px; }
  #page-mt #mt-cap-body .cap-m-client .cap-m-issues { grid-column: 1 / -1; grid-row: 2; }
  #page-mt #mt-cap-body .cap-m-client-n { display: inline; margin-left: 8px; }

}

#page-mt #mt-cap-body .cap-m-client-members { display: flex; align-items: baseline; justify-content: flex-end; gap: 4px; padding-block: 5px; font-variant-numeric: tabular-nums; white-space: nowrap; }
#page-mt #mt-cap-body .cap-m-priority { display: inline-flex; align-items: baseline; justify-content: flex-end; gap: 4px; min-width: 6em; white-space: nowrap; }
@container (max-width: 560px) {
  #page-mt #mt-cap-body .cap-m-priority { min-width: 0; }
}
