/* GSA-M design tokens. All account views share this one stylesheet. */
:root {
  color-scheme:dark;
  --bg:#0b1220;
  --surface:#111c2d;
  --surface-2:#172439;
  --elevated:#1b2c43;
  --fg:#f4f7fb;
  --muted:#a6b5c7;
  --accent:#38bdf8;
  --line:#26354a;
  --up:#34d399;
  --down:#fb7185;
  --warn:#fbbf24;
  --accent-soft:#102f45;
  --up-soft:#10372f;
  --down-soft:#392030;
  --warn-soft:#342d1c;
  --abstain-soft:#172439;
  --shadow:0 12px 32px #0003;
  --radius:12px;
  --space:8px;
  --font:Arial,'Noto Sans Hebrew','Segoe UI',sans-serif
}
:root[data-theme="light"] {
  color-scheme:light;
  --bg:#f3f6fa;
  --surface:#fff;
  --surface-2:#f5f8fc;
  --elevated:#eaf0f7;
  --fg:#142236;
  --muted:#506178;
  --accent:#036b9c;
  --line:#d7e0eb;
  --up:#087c57;
  --down:#bc2947;
  --warn:#805b00;
  --accent-soft:#e3f2fb;
  --up-soft:#e5f4ed;
  --down-soft:#fff0f2;
  --warn-soft:#fff5dc;
  --abstain-soft:#f5f8fc;
  --shadow:0 12px 32px #10203914
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:auto;
  scroll-padding-top:20px
}
body {
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font:14px/1.5 var(--font);
  font-variant-numeric:tabular-nums;
  -webkit-font-smoothing:antialiased
}
button,input,select {
  font:inherit;
  color:inherit
}
button,a,input,select,summary {
  -webkit-tap-highlight-color:transparent
}
button {
  cursor:pointer
}
button:disabled {
  cursor:default;
  opacity:.48
}
button,input,select {
  min-height:44px
}
button {
  border:1px solid var(--line);
  border-radius:8px;
  padding:8px 12px;
  background:var(--surface-2)
}
button:hover:not(:disabled) {
  border-color:var(--accent);
  background:var(--accent-soft)
}
a {
  color:var(--accent);
  text-decoration:none
}
a:hover {
  text-decoration:underline
}
input,select {
  border:1px solid var(--line);
  border-radius:8px;
  padding:8px 12px;
  background:var(--surface);
  min-width:0
}
input::placeholder {
  color:var(--muted)
}
input[type="checkbox"] {
  accent-color:var(--accent);
  width:18px;
  min-height:18px;
  margin:0
}
h1,h2,h3,p,dl {
  margin:0
}
h1 {
  font-size:28px;
  line-height:1.25;
  letter-spacing:-.5px
}
h2 {
  font-size:17px;
  line-height:1.4
}
h3 {
  font-size:15px;
  line-height:1.4
}
strong,b {
  font-weight:700
}
p+p {
  margin-top:8px
}
bdi,time,code {
  font-variant-numeric:tabular-nums
}
code {
  overflow-wrap:anywhere;
  font-size:13px
}
svg.icon {
  flex:0 0 auto
}
time {
  unicode-bidi:isolate
}
*:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:3px
}
[hidden] {
  display:none!important
}
.sr-only,.skip-link:not(:focus) {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.skip-link:focus {
  position:fixed;
  top:8px;
  right:8px;
  z-index:100;
  background:var(--accent);
  color:var(--bg);
  padding:12px
}
.meta,.k {
  font-size:14px;
  color:var(--muted);
  line-height:1.6
}
.text-button {
  display:inline-flex;
  gap:6px;
  align-items:center;
  justify-content:center;
  background:none;
  border-color:transparent;
  color:var(--accent);
  font-size:14px;
  min-height:44px;
  padding:6px 8px
}
.text-button .icon {
  width:16px;
  height:16px
}
.icon-button {
  display:grid;
  place-items:center;
  width:44px;
  min-width:44px;
  padding:0;
  border-color:transparent;
  background:none
}
.badge,.status-chip,.pill,.bp-badge,.chip {
  display:inline-flex;
  gap:5px;
  align-items:center;
  padding:3px 8px;
  border-radius:6px;
  background:var(--surface-2);
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
  border:1px solid var(--line)
}
.badge.info,.info {
  color:var(--accent)
}
.badge.ok,.badge.on,.verified,.up,.positive,.bp-correct {
  color:var(--up)
}
.badge.bad,.badge.hard,.badge.error,.down,.negative,.bp-incorrect {
  color:var(--down)
}
.badge.warning,.warning,.badge.warn {
  color:var(--warn)
}
.app-shell {
  display:grid;
  grid-template-columns:224px minmax(0,1fr);
  min-height:100vh
}
.sidebar {
  position:sticky;
  top:0;
  height:100dvh;
  display:flex;
  flex-direction:column;
  border-inline-end:1px solid var(--line);
  background:var(--surface);
  padding:32px 16px 20px
}
.brand {
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 12px 36px;
  color:var(--fg)
}
.brand:hover {
  text-decoration:none
}
.brand-mark {
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  background:var(--accent-soft);
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--accent)
}
.brand-mark .icon {
  width:24px;
  height:24px
}
.brand b {
  display:block;
  font-size:22px;
  letter-spacing:1px
}
.brand small {
  display:block;
  font-size:14px;
  color:var(--muted);
  margin-top:2px
}
.nav-caption {
  font-size:14px;
  color:var(--muted);
  padding:0 12px 12px
}
.side-links {
  display:grid;
  gap:6px
}
.side-link {
  display:flex;
  align-items:center;
  gap:12px;
  min-height:48px;
  padding:12px;
  border:1px solid transparent;
  border-radius:8px;
  color:var(--muted);
  font-weight:500
}
.side-link:hover {
  text-decoration:none;
  background:var(--surface-2);
  color:var(--fg)
}
.side-link.active,.side-link[aria-current="page"] {
  color:var(--accent);
  background:var(--accent-soft);
  border-color:var(--line)
}
.nav-count {
  margin-inline-start:auto;
  min-width:23px;
  line-height:23px;
  text-align:center;
  background:var(--down-soft);
  color:var(--down);
  border-radius:5px;
  font-size:13px
}
.nav-count:empty {
  display:none
}
.sidebar-bottom {
  margin-top:auto;
  padding:20px 12px 0;
  border-top:1px solid var(--line);
  font-size:14px;
  color:var(--muted)
}
.workspace-label {
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--fg);
  margin-bottom:8px
}
.sidebar-bottom p {
  font-size:14px
}
.read-only-label {
  display:inline-block;
  margin-top:12px;
  padding:3px 8px;
  border:1px solid var(--line);
  border-radius:5px;
  font-size:14px
}
.workspace {
  min-width:0
}
.topbar {
  height:76px;
  padding:0 32px;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:var(--surface)
}
.breadcrumb,.header-actions,.session-user {
  display:flex;
  align-items:center;
  gap:14px
}
.breadcrumb {
  color:var(--muted)
}
.breadcrumb strong {
  color:var(--fg)
}
.header-actions {
  gap:8px
}
.session-user {
  gap:8px;
  padding-inline-end:12px;
  margin-inline-end:4px;
  border-inline-end:1px solid var(--line)
}
.avatar {
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:50%;
  font-size:14px;
  color:var(--accent)
}
.mobile-brand {
  display:none
}
.mobile-nav,.mobile-more-menu {
  display:none
}
#main-content {
  max-width:1640px;
  margin:auto;
  padding:28px 32px 20px;
  outline:none
}
.page-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:24px
}
.eyebrow {
  font-size:11px;
  letter-spacing:1.7px;
  font-weight:600;
  color:var(--muted);
  margin-bottom:6px
}
.sync-status {
  display:flex;
  align-items:center;
  gap:6px;
  font-size:14px;
  color:var(--muted);
  flex-wrap:wrap
}
.sync-dot {
  height:6px;
  width:6px;
  border-radius:50%;
  background:var(--accent)
}
.sync-status time {
  direction:ltr
}
.preview-notice {
  font-size:14px;
  background:var(--accent-soft);
  color:var(--accent);
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:8px;
  margin-bottom:12px
}
.transport-notice {
  font-size:14px;
  color:var(--warn);
  background:var(--warn-soft);
  padding:12px 16px;
  border:1px solid var(--warn);
  border-radius:8px;
  margin-bottom:12px
}
.status-bar {
  display:flex;
  gap:20px;
  align-items:center;
  flex-wrap:wrap;
  padding:12px 16px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:10px;
  margin-bottom:12px
}
.mode-badge {
  padding:4px 9px;
  border-radius:5px;
  background:var(--accent-soft);
  color:var(--accent);
  font-size:14px;
  font-weight:700;
  white-space:nowrap
}
.mode-badge[data-mode="live"] {
  color:var(--warn);
  background:var(--warn-soft)
}
.status-item {
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  font-size:14px
}
.status-title {
  color:var(--muted)
}
.status-item strong {
  font-size:14px;
  font-weight:500
}
.status-dot {
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--muted);
  flex-shrink:0
}
.status-dot.info {
  background:var(--accent)
}
.status-item[data-state="running"] .status-dot,.status-item[data-state="recent_heartbeat"] .status-dot {
  background:var(--accent)
}
.status-item[data-state="connected"] .status-dot,.status-item[data-state="verified"] .status-dot {
  background:var(--up)
}
.status-item[data-state="blocked"] .status-dot,.status-item[data-state="disconnected"] .status-dot {
  background:var(--down)
}
.status-more {
  margin-inline-start:auto;
  padding-block:0;
  min-height:32px
}
.gateway-outage {
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  margin-bottom:16px;
  border:1px solid var(--down);
  border-inline-start:6px solid var(--down);
  border-radius:8px;
  background:var(--down-soft);
  min-width:0
}
.gateway-outage[hidden] {
  display:none
}
.gateway-outage .incident-icon {
  color:var(--down)
}
.gateway-outage>div {
  min-width:0;
  flex:1
}
.gateway-outage strong {
  font-size:17px;
  color:var(--down)
}
.gateway-outage p {
  font-size:14px;
  margin-top:4px;
  line-height:1.5
}
.primary-incident {
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 16px;
  margin-bottom:20px;
  border:1px solid var(--line);
  border-inline-start:3px solid var(--warn);
  border-radius:8px;
  background:var(--warn-soft);
  min-width:0
}
.incident-icon {
  color:var(--warn);
  display:flex
}
.primary-incident>div {
  min-width:0;
  flex:1
}
.primary-incident strong {
  font-size:15px
}
.primary-incident p {
  font-size:14px;
  color:var(--muted);
  margin-top:2px;
  line-height:1.5
}
.primary-incident .text-button {
  white-space:nowrap
}
.primary-incident[data-level="blocked"],.primary-incident[data-level="hard"],.primary-incident[data-level="error"] {
  background:var(--down-soft);
  border-inline-start-color:var(--down)
}
.primary-incident[data-level="blocked"] .incident-icon {
  color:var(--down)
}
.view {
  min-width:0
}
.kpis {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px
}
.metric-card {
  position:relative;
  min-width:0;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:20px;
  min-height:150px
}
.metric-top {
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:start
}
.metric-top h2 {
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
  font-weight:500;
  padding-inline-end:22px
}
.metric-top>.icon {
  display:none
}
.metric-value {
  font-size:34px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:-.8px;
  margin:12px 0 10px;
  white-space:nowrap
}
.metric-value.is-empty {
  font-size:24px;
  letter-spacing:0;
  color:var(--muted)
}
.metric-foot {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  font-size:14px;
  color:var(--muted)
}
.metric-context {
  margin-top:6px;
  font-size:14px;
  line-height:1.35;
  color:var(--muted)
}
.metric-card[data-state="verified"] .metric-state {
  color:var(--up)
}
.metric-card[data-state="stale"] .metric-state,.metric-card[data-state="unverified"] .metric-state {
  color:var(--warn)
}
.metric-card[data-state="stale"] .metric-value {
  color:var(--muted)
}
.metric-evidence {
  position:absolute;
  inset-inline-end:3px;
  top:3px
}
.metric-evidence summary {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  cursor:pointer;
  list-style:none;
  font-size:0;
  color:var(--muted)
}
.metric-evidence summary::-webkit-details-marker {
  display:none
}
.metric-evidence summary::after {
  content:'i';
  display:grid;
  place-items:center;
  border:1px solid var(--muted);
  border-radius:50%;
  height:16px;
  width:16px;
  font:12px Georgia,serif
}
.metric-evidence>div {
  position:absolute;
  z-index:30;
  top:43px;
  inset-inline-end:0;
  width:260px;
  padding:16px;
  background:var(--elevated);
  border:1px solid var(--line);
  border-radius:10px;
  box-shadow:var(--shadow);
  font-size:14px;
  color:var(--fg);
  display:grid;
  gap:8px;
  overflow-wrap:anywhere
}
.metric-evidence time {
  font-size:14px;
  color:var(--muted);
  direction:ltr;
  text-align:right
}
.metric-evidence [data-metric-source] {
  color:var(--muted);
  font-size:14px
}
.extra-metrics {
  margin:12px 0 20px
}
.extra-metrics>summary {
  display:flex;
  gap:8px;
  align-items:center;
  min-height:44px;
  padding:4px 2px;
  list-style:none;
  cursor:pointer;
  font-size:14px;
  color:var(--accent)
}
.extra-metrics>summary>span {
  color:var(--muted);
  font-size:14px
}
.extra-metrics>summary>.icon {
  width:16px;
  height:16px;
  margin-inline-start:auto
}
.extra-metrics[open]>summary {
  margin-bottom:8px
}
.secondary-kpis .metric-card {
  min-height:134px
}
.secondary-kpis .metric-value {
  font-size:27px
}
.secondary-kpis .metric-value.is-empty {
  font-size:22px
}
.panel {
  min-width:0;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:20px;
  background:var(--surface);
  margin-bottom:20px
}
.panel-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px
}
.panel-head h2 {
  font-size:17px;
  font-weight:700
}
.panel-head p {
  margin-top:4px
}
.panel-head>.icon {
  color:var(--muted)
}
.panel-head>.text-button {
  margin-top:-9px;
  margin-bottom:-6px;
  white-space:nowrap
}
.panel-foot {
  border-top:1px solid var(--line);
  padding-top:12px;
  margin-top:14px
}
.panel-foot a {
  display:flex;
  align-items:center;
  gap:6px;
  font-size:14px;
  min-height:32px
}
.panel-foot .icon {
  width:16px;
  height:16px
}
.overview-grid {
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);
  gap:20px
}
.overview-bottom,.two-columns {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px
}
.overview-bottom .panel {
  margin-bottom:0
}
.section-intro {
  margin:0 0 20px
}
.section-intro h2 {
  font-size:21px
}
.section-intro p {
  color:var(--muted);
  font-size:14px;
  margin-top:5px
}
.periods {
  display:flex;
  gap:2px;
  padding:3px;
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:8px;
  direction:ltr;
  flex-shrink:0
}
.periods button {
  border:0;
  background:none;
  min-height:32px;
  min-width:36px;
  padding:5px 7px;
  font-size:12px;
  color:var(--muted);
  border-radius:5px
}
.periods button[aria-pressed="true"] {
  background:var(--surface-2);
  color:var(--fg);
  box-shadow:0 1px 3px #0002
}
.periods button[data-pending="true"] {
  outline:1px solid var(--accent);
  outline-offset:-2px
}
.chart-period-status {
  min-height:2.8em;
  margin:0 0 8px;
  font-size:14px;
  line-height:1.4
}
.chart-period-status[data-state="error"] {
  color:var(--warn)
}
.chart-host {
  position:relative;
  min-width:0;
  min-height:236px;
  direction:ltr
}
.chart-host>svg {
  display:block;
  width:100%;
  height:236px;
  overflow:visible
}
.chart-host svg text {
  font-family:var(--font);
  font-size:12px;
  fill:var(--muted)
}
.chart-empty {
  min-height:236px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:10px;
  text-align:center;
  padding:24px;
  direction:rtl;
  color:var(--muted);
  background:var(--surface-2);
  border-radius:8px
}
.chart-empty>.icon {
  width:30px;
  height:30px;
  opacity:.7;
  margin-bottom:4px
}
.chart-empty strong {
  font-size:16px;
  color:var(--fg)
}
.chart-empty span {
  font-size:14px;
  max-width:300px
}
.chart-legend {
  display:flex;
  gap:18px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:14px;
  color:var(--muted);
  font-size:14px
}
.chart-legend span {
  display:flex;
  align-items:center;
  gap:6px
}
.chart-legend i {
  width:14px;
  height:2px;
  background:var(--accent);
  border-radius:2px
}
.chart-legend .baseline i {
  background:var(--muted)
}
.chart-tooltip {
  position:absolute;
  pointer-events:none;
  inset-inline-start:12px;
  top:8px;
  z-index:2;
  direction:rtl;
  background:var(--elevated);
  color:var(--fg);
  border:1px solid var(--line);
  border-radius:8px;
  padding:8px 12px;
  box-shadow:var(--shadow);
  font-size:14px
}
.chart-tooltip>span {
  display:block;
  color:var(--muted);
  font-size:14px
}
.risk-meters {
  display:grid;
  gap:20px
}
.risk-meter {
  min-width:0
}
.risk-meter-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size:14px;
  margin-bottom:10px
}
.risk-meter-header span:first-child {
  color:var(--muted)
}
.risk-meter-header b {
  white-space:nowrap;
  font-size:14px;
  font-weight:500
}
.meter-track {
  height:6px;
  background:var(--line);
  border-radius:6px;
  overflow:hidden;
  direction:ltr
}
.meter-track>i {
  display:block;
  height:100%;
  background:var(--accent);
  border-radius:6px
}
.meter-track[data-state="warning"]>i {
  background:var(--warn)
}
.meter-track[data-state="blocked"]>i {
  background:var(--down)
}
.meter-track[data-state="missing"] {
  border:1px dashed var(--muted);
  background:none
}
.risk-meter .meter-note {
  font-size:14px;
  color:var(--muted);
  margin-top:7px
}
.risk-summary .risk-meters {
  gap:18px
}
.risk-summary .meter-note {
  font-size:14px;
  line-height:1.45
}
.activity-list {
  display:grid
}
.activity-row {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid var(--line)
}
.activity-row:last-child {
  border:0
}
.activity-mark {
  width:30px;
  height:30px;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:8px;
  display:grid;
  place-items:center;
  color:var(--muted);
  font-size:14px
}
.activity-row strong {
  font-size:14px
}
.activity-row p,.activity-row time {
  font-size:14px;
  color:var(--muted)
}
.activity-row time {
  direction:ltr
}
.empty-state,.empty {
  color:var(--muted);
  padding:20px 8px;
  text-align:center;
  font-size:14px;
  line-height:1.7
}
.compact-bots {
  display:grid;
  gap:2px
}
.compact-bot {
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 0;
  border-bottom:1px solid var(--line)
}
.compact-bot:last-child {
  border:0
}
.bot-symbol {
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  background:var(--surface-2);
  border:1px solid var(--line);
  color:var(--accent);
  border-radius:7px;
  font-size:13px;
  flex-shrink:0
}
.compact-bot strong {
  font-size:14px
}
.compact-bot .meta {
  margin-inline-start:auto;
  font-size:14px
}
.table-tools {
  display:flex;
  gap:10px;
  align-items:center;
  margin-bottom:16px;
  flex-wrap:wrap
}
.table-tools input {
  width:240px;
  max-width:100%
}
.table-tools select {
  margin-inline-start:auto;
  max-width:220px
}
.search-label {
  color:var(--muted)
}
.table-wrap {
  min-width:0;
  width:100%;
  overflow:auto;
  scrollbar-width:thin
}
.data-table {
  width:100%;
  border-collapse:collapse;
  text-align:right;
  font-size:14px
}
.data-table th {
  font-weight:500;
  text-align:right;
  background:var(--surface-2);
  border-block:1px solid var(--line);
  white-space:nowrap
}
.data-table th>button {
  display:flex;
  align-items:center;
  gap:7px;
  background:none;
  border:none;
  font-size:13px;
  color:var(--muted);
  padding:8px;
  min-height:44px
}
.data-table th>button>span {
  font-size:11px;
  opacity:.5
}
.data-table td {
  padding:12px 8px;
  border-bottom:1px solid var(--line);
  vertical-align:middle;
  max-width:200px;
  overflow-wrap:anywhere
}
.data-table td.ticker {
  font-weight:700;
  white-space:nowrap
}
.data-table td.number {
  white-space:nowrap
}
.data-table tr:hover td {
  background:var(--surface-2)
}
.data-table .row-details {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  font-size:14px;
  background:none;
  border:none;
  color:var(--accent);
  padding:0
}
.data-table .table-empty {
  text-align:center;
  padding:36px 12px;
  color:var(--muted)
}
.data-table .cell-subtitle {
  display:block;
  font-size:14px;
  white-space:normal;
  color:var(--muted);
  margin-top:2px
}
.table-pagination {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-top:14px;
  font-size:14px
}
.table-pagination>div {
  display:flex;
  gap:6px
}
.count {
  font-size:14px;
  color:var(--muted);
  white-space:nowrap
}
.evidence-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px
}
.evidence-item {
  padding:14px 16px;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:8px;
  min-width:0;
  overflow-wrap:anywhere
}
.evidence-item dt {
  font-size:14px;
  color:var(--muted);
  margin-bottom:6px
}
.evidence-item dd {
  font-size:18px;
  font-weight:600;
  margin:0
}
.evidence-item p {
  color:var(--muted);
  font-size:14px;
  margin-top:6px
}
.evidence-row {
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  padding:12px 0;
  border-bottom:1px solid var(--line);
  flex-wrap:wrap
}
.inline-notice {
  font-size:14px;
  color:var(--warn);
  background:var(--warn-soft);
  border:1px solid var(--line);
  border-radius:8px;
  padding:12px 14px;
  margin:16px 0;
  line-height:1.65
}
.disclosure {
  margin-top:16px;
  border-top:1px solid var(--line)
}
.disclosure>summary {
  min-height:48px;
  display:flex;
  align-items:center;
  gap:12px;
  justify-content:space-between;
  list-style:none;
  cursor:pointer;
  font-size:14px;
  padding:12px 0
}
.disclosure>summary::-webkit-details-marker {
  display:none
}
.disclosure>summary>.icon {
  color:var(--muted);
  width:17px;
  height:17px;
  transition:transform .15s
}
.disclosure[open]>summary>.icon {
  transform:rotate(180deg)
}
.disclosure>summary .meta {
  display:block;
  margin-top:3px
}
.disclosure-body {
  padding:12px 0;
  font-size:14px;
  line-height:1.7;
  min-width:0;
  overflow-wrap:anywhere
}
.disclosure.panel {
  border:1px solid var(--line);
  margin-top:0
}
.disclosure.panel>summary {
  padding:0;
  min-height:44px
}
.disclosure.panel[open]>summary {
  border-bottom:1px solid var(--line);
  padding-bottom:14px
}
.disclosure-body>.panel,.disclosure-body>.card {
  border:0;
  padding:0;
  margin:0;
  box-shadow:none
}
.bot-roster {
  display:grid;
  gap:0
}
.bot-row {
  display:grid;
  grid-template-columns:minmax(150px,1.2fr) minmax(80px,1fr) minmax(90px,1fr) minmax(80px,.8fr);
  align-items:center;
  gap:12px;
  padding:15px 0;
  border-bottom:1px solid var(--line)
}
.bot-row:last-child {
  border:0
}
.bot-row-name {
  display:flex;
  align-items:center;
  gap:10px
}
.bot-row dt {
  color:var(--muted);
  font-size:14px
}
.bot-row dd {
  margin:3px 0 0;
  font-size:14px
}
.expertise-row {
  border-bottom:1px solid var(--line)
}
.expertise-row>summary {
  min-height:48px;
  display:flex;
  align-items:center;
  gap:12px;
  cursor:pointer;
  flex-wrap:wrap
}
.expertise-row>div {
  padding:12px;
  font-size:14px;
  line-height:1.7
}
.component-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px
}
.component-card {
  padding:16px;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:8px;
  min-width:0
}
.component-card h3 {
  font-size:14px;
  margin-bottom:10px
}
.component-card strong {
  font-size:16px
}
.component-card p,.component-card time {
  display:block;
  font-size:14px;
  color:var(--muted);
  margin-top:6px
}
.incident-list {
  display:grid;
  gap:10px
}
.incident-row {
  border:1px solid var(--line);
  border-inline-start:3px solid var(--down);
  border-radius:8px;
  padding:16px
}
.incident-row[data-open="false"] {
  border-inline-start-color:var(--muted)
}
.incident-row-head {
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap
}
.incident-row-head time {
  color:var(--muted);
  margin-inline-start:auto;
  font-size:14px
}
.incident-row p {
  margin-top:8px;
  color:var(--muted);
  font-size:14px
}
.incident-row details {
  margin-top:8px;
  color:var(--muted);
  font-size:14px
}
.incident-row summary {
  min-height:44px;
  cursor:pointer;
  display:flex;
  align-items:center
}
.inline-check {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  color:var(--muted);
  min-height:44px
}
.readiness-evidence {
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  padding:16px;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:8px;
  margin:12px 0
}
.readiness-evidence time {
  display:block;
  font-size:16px;
  font-weight:600
}
.readiness-list {
  padding:0;
  list-style:none
}
.readiness-row {
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  min-height:48px;
  padding:10px 0;
  border-bottom:1px solid var(--line)
}
.readiness-row strong {
  flex:1
}
.readiness .badge,.readiness .status-chip {
  font-size:14px
}
.readiness p,.readiness-notice {
  font-size:14px;
  line-height:1.7;
  color:var(--muted);
  margin:12px 0
}
.app-footer {
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  font-size:12px;
  color:var(--muted);
  padding-top:28px;
  margin-top:12px
}
dialog {
  color:var(--fg);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:12px;
  padding:24px;
  max-width:700px;
  width:calc(100vw - 32px);
  max-height:85dvh;
  box-shadow:var(--shadow)
}
dialog::backdrop {
  background:#050b17b3
}
.dialog-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px
}
#row-dialog-body {
  overflow-wrap:anywhere
}
#row-dialog-body dl {
  display:grid;
  grid-template-columns:1fr 1.6fr;
  gap:12px;
  padding:12px 0
}
#row-dialog-body dt {
  color:var(--muted)
}
#row-dialog-body dd {
  margin:0
}
.noscript-notice {
  padding:16px;
  text-align:center;
  background:var(--warn-soft);
  color:var(--warn)
}
/* Shared source panels: compact, local styles, no independent glass layers. */
.card {
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:20px;
  margin-bottom:20px
}
.news-head,.ls-header,.ls-table-head,.bp-heading {
  display:flex;
  gap:12px;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap
}
.news-head p,.bp-subtitle {
  color:var(--muted);
  font-size:14px;
  margin-top:4px
}
.news-stats,.bp-kpis {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:16px 0
}
.news-stats>div,.bp-kpi {
  border:1px solid var(--line);
  background:var(--surface-2);
  padding:12px;
  border-radius:8px;
  min-width:0
}
.news-stats span,.bp-kpi dt,.bp-kpi-note {
  display:block;
  font-size:14px;
  color:var(--muted)
}
.news-stats strong,.bp-kpi dd {
  display:block;
  font-size:20px;
  margin:6px 0 0;
  overflow-wrap:anywhere
}
.news-action,.bp-refresh {
  min-height:44px;
  border:1px solid var(--line);
  background:var(--surface-2);
  border-radius:8px;
  font:inherit;
  padding:8px 14px
}
.news-toolbar {
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:16px 0
}
.news-toolbar input {
  max-width:220px
}
.news-note {
  font-size:14px;
  color:var(--muted)
}
.news-rss-details {
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface);
  margin:12px 0;
  min-width:0
}
.news-rss-toggle {
  min-height:56px;
  padding:12px 16px;
  display:flex;
  gap:12px;
  align-items:center;
  list-style:none;
  cursor:pointer
}
.news-rss-toggle::-webkit-details-marker {
  display:none
}
.news-rss-summary-label {
  font-size:15px;
  font-weight:600
}
.news-rss-summary-action {
  font-size:14px;
  color:var(--muted);
  margin-inline-start:auto;
  white-space:nowrap
}
.news-rss-chevron {
  color:var(--muted)
}
.news-rss-details[open] .news-rss-chevron {
  transform:rotate(180deg)
}
.news-rss-content {
  padding:16px;
  border-top:1px solid var(--line)
}
.news-rss-content h3 {
  font-size:16px;
  margin-bottom:6px
}
.news-provider-health {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:16px 0
}
.news-provider-health>div {
  display:grid;
  gap:6px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface-2);
  min-width:0
}
.news-provider-health small {
  font-size:14px;
  color:var(--muted);
  overflow-wrap:anywhere
}
.news-provider-name {
  color:var(--accent);
  font-weight:600
}
.news-list {
  display:grid;
  gap:0;
  max-height:560px;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin
}
.news-item {
  padding:16px 4px;
  border-bottom:1px solid var(--line);
  min-width:0
}
.news-item:first-child {
  padding-top:8px
}
.news-item-head,.news-times,.news-votes {
  display:flex;
  gap:8px 16px;
  align-items:center;
  flex-wrap:wrap
}
.news-ticker {
  color:var(--accent);
  font-weight:700
}
.news-site,.news-state {
  color:var(--muted);
  font-size:14px
}
.news-title {
  font-size:15px;
  margin:8px 0
}
.news-title a {
  color:var(--fg);
  text-underline-offset:3px
}
.news-times {
  font-size:14px;
  color:var(--muted)
}
.news-source {
  margin-top:10px;
  padding:10px 12px;
  border-inline-start:2px solid var(--line);
  font-size:14px
}
.news-source p {
  margin:6px 0
}
.news-item .k {
  font-size:14px;
  margin-top:8px
}
.news-votes {
  margin-top:10px
}
.news-votes span {
  font-size:14px;
  color:var(--muted);
  padding:3px 6px;
  background:var(--surface-2);
  border-radius:4px
}
.news-footnote,.ls-footnote,.bp-bottom-note {
  font-size:14px;
  color:var(--muted);
  margin-top:16px;
  padding-top:12px;
  border-top:1px solid var(--line)
}
#news-more {
  display:block;
  margin:14px auto
}
.ls-warning,.bp-message {
  font-size:14px;
  padding:12px 14px;
  margin:16px 0;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:8px
}
.ls-table-head {
  align-items:center;
  margin:20px 0 12px
}
.ls-card {
  padding:16px 0;
  border-bottom:1px solid var(--line)
}
.ls-card-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px
}
.ls-why {
  color:var(--muted);
  font-size:14px;
  margin-top:10px
}
.bp-controls {
  display:flex;
  align-items:flex-end;
  gap:12px;
  flex-wrap:wrap;
  margin:16px 0
}
.bp-control {
  display:grid;
  gap:6px;
  flex:1;
  min-width:140px
}
.bp-control label {
  font-size:14px;
  color:var(--muted)
}
.bp-sync {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  font-size:14px;
  color:var(--muted)
}
.bp-eyebrow {
  display:none
}
.bp-section-title {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
  margin:24px 0 12px
}
.bp-section-title span {
  font-size:14px;
  color:var(--muted)
}
.bp-bots {
  display:grid;
  gap:10px
}
.bp-bot {
  display:grid;
  grid-template-columns:minmax(130px,1fr) minmax(100px,1fr) minmax(120px,1.3fr);
  gap:8px 18px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface-2);
  min-width:0
}
.bp-bot-head {
  display:flex;
  gap:8px;
  align-items:center;
  grid-column:1;
  grid-row:1
}
.bp-bot-name {
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--fg);
  border:none;
  background:none;
  padding:0;
  min-height:44px;
  font-size:15px;
  font-weight:700;
  text-align:right
}
.bp-emoji {
  display:none
}
.bp-agent {
  font-size:14px;
  color:var(--muted)
}
.bp-kind {
  grid-column:1;
  font-size:14px;
  color:var(--muted)
}
.bp-accuracy {
  grid-column:2;
  grid-row:1;
  font-size:26px;
  line-height:1.5
}
.bp-samples {
  grid-column:2;
  grid-row:2;
  font-size:14px;
  color:var(--muted)
}
.bp-track {
  display:flex;
  grid-column:2;
  height:4px;
  background:var(--line);
  border-radius:4px;
  overflow:hidden
}
.bp-track i {
  background:var(--up)
}
.bp-track i+i {
  background:var(--down)
}
.bp-results {
  display:flex;
  gap:10px;
  grid-column:2;
  font-size:14px
}
.bp-range,.bp-eligibility {
  grid-column:3;
  font-size:14px;
  color:var(--muted)
}
.bp-range {
  grid-row:2
}
.bp-weights {
  grid-column:3;
  grid-row:1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px
}
.bp-weights dt {
  font-size:14px;
  color:var(--muted)
}
.bp-weights dd {
  margin:4px 0 0;
  font-size:16px;
  font-weight:700
}
.bp-bot-breakdown {
  grid-column:1/-1;
  font-size:14px;
  color:var(--muted)
}
.bp-bot-breakdown summary {
  min-height:44px;
  display:flex;
  align-items:center;
  cursor:pointer
}
.bp-bot-breakdown dl {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px
}
.bp-bot-breakdown dd {
  margin:0
}
.bp-records {
  display:grid;
  gap:10px
}
.bp-record {
  border:1px solid var(--line);
  border-radius:8px
}
.bp-record>summary {
  padding:14px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  cursor:pointer;
  list-style:none;
  min-height:56px
}
.bp-record-ticker {
  display:block;
  font-size:16px;
  font-weight:700
}
.bp-record-time,.bp-record-summary-result small {
  display:block;
  color:var(--muted);
  font-size:14px
}
.bp-record-summary-result {
  min-width:0;
  overflow-wrap:anywhere
}
.bp-measurement-note {
  font-size:14px;
  line-height:1.65;
  margin:0 0 12px;
  padding:10px 12px;
  border-inline-start:3px solid var(--muted);
  background:var(--surface)
}
.bp-record-body {
  padding:16px;
  border-top:1px solid var(--line);
  min-width:0
}
.bp-record-title,.bp-timing,.bp-execution p,.bp-provenance,.bp-pagination {
  font-size:14px;
  color:var(--muted);
  margin:10px 0
}
.bp-evidence {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px
}
.bp-evidence dt {
  font-size:14px;
  color:var(--muted)
}
.bp-evidence dd {
  margin:4px 0;
  font-size:16px
}
.bp-vote-scroll {
  overflow:auto;
  max-width:100%
}
.bp-vote-table {
  width:100%;
  border-collapse:collapse;
  text-align:right;
  font-size:14px
}
.bp-vote-table th,.bp-vote-table td {
  padding:10px;
  border-bottom:1px solid var(--line)
}
.bp-vote-table th {
  font-size:14px;
  color:var(--muted)
}
.bp-method {
  font-size:14px;
  color:var(--muted);
  border-top:1px solid var(--line);
  padding-top:12px;
  margin-top:18px;
  line-height:1.7
}
.bp-method summary {
  min-height:44px;
  display:flex;
  align-items:center;
  cursor:pointer;
  color:var(--accent)
}
.bp-empty {
  font-size:14px;
  color:var(--muted);
  padding:20px
}
.bp-method li {
  margin:8px 0
}
@media(min-width:1800px) {
  .overview-grid {
    grid-template-columns:minmax(0,1.9fr) minmax(320px,1fr)
  }
}
@media(max-width:1200px) {
  .app-shell {
    grid-template-columns:196px minmax(0,1fr)
  }
  .sidebar {
    padding:24px 10px 16px
  }
  .side-link {
    gap:8px;
    padding:10px;
    font-size:14px
  }
  .topbar {
    padding-inline:24px
  }
  #main-content {
    padding:24px
  }
  .kpis {
    gap:12px
  }
  .metric-card {
    padding:16px
  }
  .metric-value {
    font-size:28px
  }
  .overview-grid {
    grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);
    gap:16px
  }
  .panel {
    padding:16px
  }
  .panel-head {
    flex-wrap:wrap
  }
  .component-grid {
    grid-template-columns:repeat(2,1fr)
  }
}
@media(max-width:1023px) {
  .app-shell {
    grid-template-columns:minmax(0,1fr)
  }
  .sidebar {
    display:none
  }
  .mobile-nav {
    position:fixed;
    z-index:50;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    inset-inline:0;
    bottom:0;
    background:var(--surface);
    border-top:1px solid var(--line);
    padding:6px 8px calc(6px + env(safe-area-inset-bottom))
  }
  .mobile-nav a,.mobile-nav button {
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:3px;
    color:var(--muted);
    font-size:14px;
    min-height:50px;
    padding:5px 2px;
    border:0;
    border-radius:7px;
    background:none
  }
  .mobile-nav a[aria-current="page"],.mobile-nav button[aria-expanded="true"] {
    color:var(--accent);
    background:var(--accent-soft)
  }
  .mobile-nav a:hover {
    text-decoration:none
  }
  .mobile-more-menu {
    display:block;
    position:fixed;
    inset-inline:12px;
    bottom:calc(78px + env(safe-area-inset-bottom));
    z-index:60;
    padding:16px;
    background:var(--elevated);
    border:1px solid var(--line);
    border-radius:12px;
    box-shadow:var(--shadow)
  }
  .more-menu-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:8px
  }
  .mobile-more-menu>a {
    display:flex;
    align-items:center;
    gap:12px;
    min-height:52px;
    padding:10px 8px;
    color:var(--fg);
    border-bottom:1px solid var(--line)
  }
  .mobile-more-menu>a:last-child {
    border:0
  }
  .mobile-brand {
    display:block;
    letter-spacing:1px;
    font-weight:700;
    font-size:20px
  }
  .breadcrumb>span {
    display:none
  }
  .topbar {
    height:64px
  }
  .breadcrumb {
    margin-inline-end:auto;
    font-size:14px
  }
  #main-content {
    padding:24px 24px calc(96px + env(safe-area-inset-bottom))
  }
  .overview-grid {
    grid-template-columns:1.5fr 1fr
  }
  .metric-evidence[open]>div {
    position:fixed;
    top:150px;
    inset-inline:24px;
    width:auto;
    max-width:500px;
    margin-inline:auto
  }
  .periods button {
    min-width:44px;
    min-height:44px;
    font-size:14px
  }
  .status-more {
    min-height:44px
  }
  .panel-foot a {
    min-height:44px
  }
  .app-footer {
    font-size:14px
  }
  .eyebrow {
    font-size:12px
  }
}
@media(max-width:767px) {
  .status-more {
    display:none
  }
  .overview-grid,.overview-bottom,.two-columns {
    grid-template-columns:1fr;
    gap:0
  }
  .kpis {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .metric-card {
    min-height:126px;
    padding:14px
  }
  .metric-value {
    font-size:29px;
    margin:10px 0 8px
  }
  .metric-value.is-empty {
    font-size:23px
  }
  .panel-head h2 {
    font-size:16px
  }
  .overview-bottom .panel {
    margin-bottom:16px
  }
  .panel {
    margin-bottom:16px
  }
  .risk-summary .risk-meters {
    gap:14px
  }
  .page-heading {
    margin-bottom:16px
  }
  .page-heading h1 {
    font-size:24px
  }
  .eyebrow {
    display:none
  }
  .sync-status {
    font-size:14px
  }
  .sync-status time {
    display:none
  }
  .primary-incident {
    align-items:flex-start;
    gap:8px;
    padding:12px;
    margin-bottom:16px;
    flex-wrap:wrap
  }
  .primary-incident>div {
    flex-basis:calc(100% - 34px)
  }
  .primary-incident .text-button {
    margin-inline-start:24px;
    min-height:44px;
    margin-top:-3px;
    margin-bottom:-7px
  }
  .primary-incident p {
    font-size:14px
  }
  .status-bar {
    gap:8px 16px;
    padding:10px 12px
  }
  .status-more {
    margin:0;
    font-size:14px;
    padding:0
  }
  .status-item {
    flex:1 1 40%;
    font-size:14px
  }
  .mode-badge {
    flex:1 1 40%;
    max-width:max-content
  }
  .extra-metrics {
    margin-bottom:16px
  }
  .extra-metrics>summary {
    gap:6px
  }
  .extra-metrics>summary>span {
    display:none
  }
  .secondary-kpis .metric-card {
    min-height:122px
  }
  .evidence-grid {
    grid-template-columns:1fr 1fr
  }
  .evidence-item {
    padding:12px
  }
  .evidence-item dd {
    font-size:17px
  }
  .component-grid {
    grid-template-columns:1fr 1fr
  }
  .component-card {
    padding:12px
  }
  .component-card time {
    font-size:14px
  }
  .bot-row {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:10px;
    padding:16px 0
  }
  .bot-row-name {
    grid-column:1/-1
  }
  .data-table thead {
    display:none
  }
  .table-wrap {
    overflow:visible
  }
  .data-table,.data-table tbody {
    display:block;
    width:100%
  }
  .data-table tr {
    display:grid;
    grid-template-columns:1fr 1fr;
    border:1px solid var(--line);
    border-radius:8px;
    margin-bottom:10px;
    padding:12px;
    background:var(--surface-2);
    gap:12px
  }
  .data-table td {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:space-between;
    padding:0;
    border:0;
    max-width:none;
    min-width:0;
    font-size:14px
  }
  .data-table td::before {
    content:attr(data-label);
    font-size:14px;
    color:var(--muted);
    font-weight:400;
    margin-bottom:3px
  }
  .data-table td.ticker {
    grid-column:1;
    font-size:17px
  }
  .data-table td:empty {
    display:none
  }
  .data-table .table-empty {
    grid-column:1/-1;
    padding:20px 4px;
    display:block
  }
  .data-table .table-empty::before {
    display:none
  }
  .data-table td:last-child {
    grid-column:1/-1;
    flex-direction:row;
    align-items:center;
    padding-top:8px;
    border-top:1px solid var(--line)
  }
  .table-tools {
    gap:8px
  }
  .table-tools input {
    flex:1;
    width:calc(100% - 54px)
  }
  .table-tools select {
    width:100%;
    max-width:none;
    margin:0
  }
  .table-pagination {
    align-items:flex-start;
    flex-wrap:wrap
  }
  .table-pagination>div {
    margin-inline-start:auto
  }
  .data-table th>button {
    font-size:14px
  }
  .news-stats,.bp-kpis {
    grid-template-columns:repeat(2,1fr);
    gap:8px
  }
  .news-rss-toggle {
    padding:12px;
    gap:8px;
    flex-wrap:wrap
  }
  .news-rss-summary-label {
    flex:1 1 100%;
    font-size:14px
  }
  .news-rss-summary-action {
    margin-inline-start:0
  }
  .news-rss-chevron {
    margin-inline-start:auto
  }
  .news-rss-content {
    padding:12px
  }
  .news-provider-health {
    grid-template-columns:1fr
  }
  .news-toolbar input {
    max-width:none;
    flex:1;
    min-width:120px
  }
  .news-toolbar label {
    flex-basis:100%
  }
  .news-list {
    max-height:65dvh
  }
  .bp-control {
    min-width:130px
  }
  .bp-bot {
    grid-template-columns:1fr 1fr;
    gap:8px
  }
  .bp-bot-head {
    grid-column:1/-1
  }
  .bp-kind {
    grid-column:1;
    grid-row:2
  }
  .bp-accuracy {
    grid-column:2;
    grid-row:2
  }
  .bp-samples {
    grid-column:2;
    grid-row:3
  }
  .bp-track {
    grid-column:2;
    grid-row:4
  }
  .bp-results {
    grid-column:1/-1
  }
  .bp-weights {
    grid-column:1/-1;
    grid-row:auto;
    margin-top:8px;
    border-top:1px solid var(--line);
    padding-top:10px
  }
  .bp-range,.bp-eligibility {
    grid-column:1/-1;
    grid-row:auto
  }
  .bp-record>summary {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    padding:12px;
    gap:8px
  }
  .bp-record>summary>.bp-badge {
    grid-column:1/-1;
    justify-self:start
  }
  .bp-record-body {
    padding:12px
  }
  .bp-evidence {
    grid-template-columns:1fr 1fr
  }
  .bp-vote-table,.bp-vote-table tbody,.bp-vote-table tr {
    display:block
  }
  .bp-vote-table thead {
    display:none
  }
  .bp-vote-table tr {
    padding:10px 0;
    border-bottom:1px solid var(--line)
  }
  .bp-vote-table td {
    display:block;
    padding:4px 0;
    border:0
  }
  .bp-vote-scroll {
    overflow:visible
  }
  .app-footer {
    font-size:14px;
    gap:6px;
    flex-direction:column;
    padding-top:12px
  }
  .readiness-evidence {
    padding:12px
  }
  .readiness-row {
    gap:8px
  }
  .readiness-row>strong {
    flex-basis:100%
  }
  .inline-check {
    font-size:14px
  }
}
@media(max-width:479px) {
  .topbar {
    height:56px;
    padding:0 12px;
    gap:10px
  }
  .header-actions {
    gap:2px
  }
  .session-user {
    border:0;
    padding:0;
    margin:0
  }
  .session-user>span:last-child {
    display:none
  }
  .session-user .avatar {
    width:28px;
    height:28px
  }
  .breadcrumb {
    display:none
  }
  .mobile-brand {
    font-size:19px
  }
  #main-content {
    padding:16px 12px calc(90px + env(safe-area-inset-bottom))
  }
  .page-heading {
    margin-bottom:12px
  }
  .page-heading h1 {
    font-size:22px
  }
  .sync-status {
    font-size:14px;
    gap:4px
  }
  .kpis {
    gap:10px
  }
  .metric-card {
    padding:12px;
    min-height:122px
  }
  .metric-top h2 {
    font-size:14px;
    padding-inline-end:20px;
    min-height:38px;
    line-height:1.35
  }
  .metric-value {
    font-size:27px;
    margin:6px 0
  }
  .metric-value.is-empty {
    font-size:22px
  }
  .metric-foot {
    font-size:14px;
    gap:3px;
    flex-wrap:wrap
  }
  .metric-evidence {
    top:0;
    inset-inline-end:0
  }
  .metric-evidence summary {
    width:40px;
    min-width:44px;
    height:44px
  }
  .status-bar {
    gap:8px 10px;
    margin-bottom:10px
  }
  .status-item strong {
    font-size:14px
  }
  .status-item {
    gap:5px
  }
  .status-more {
    font-size:14px
  }
  .primary-incident {
    padding:10px;
    margin-bottom:12px
  }
  .primary-incident strong {
    font-size:14px
  }
  .primary-incident p {
    display:none
  }
  .primary-incident .text-button {
    margin:0 24px -8px 0
  }
  .primary-incident .incident-icon .icon {
    width:18px;
    height:18px
  }
  .panel {
    padding:16px 12px
  }
  .panel-head {
    margin-bottom:16px;
    gap:8px
  }
  .panel-head>.text-button {
    font-size:14px
  }
  .chart-host,.chart-host>svg,.chart-empty {
    min-height:210px;
    height:210px
  }
  .periods {
    gap:0;
    padding:2px
  }
  .periods button {
    min-width:44px;
    padding:7px 8px;
    font-size:14px
  }
  .chart-subtitle {
    font-size:14px
  }
  .chart-empty {
    padding:20px 16px
  }
  .chart-legend {
    font-size:14px;
    gap:12px
  }
  .risk-meter-header {
    font-size:14px
  }
  .evidence-grid,.component-grid {
    grid-template-columns:1fr
  }
  .activity-row {
    gap:8px
  }
  .activity-row time {
    font-size:14px
  }
  .activity-mark {
    display:none
  }
  .activity-row {
    grid-template-columns:minmax(0,1fr) auto
  }
  .preview-notice {
    font-size:14px;
    padding:6px 10px;
    margin-bottom:10px
  }
  .extra-metrics {
    margin-top:6px
  }
  .section-intro h2 {
    font-size:19px
  }
  .mobile-nav a,.mobile-nav button {
    font-size:14px
  }
  .incident-row {
    padding:12px
  }
  .incident-row-head time {
    margin:0;
    flex-basis:100%
  }
  dialog {
    padding:16px
  }
}
@media(max-width:359px) {
  .metric-value {
    font-size:23px
  }
  .metric-value.is-empty {
    font-size:20px
  }
  .metric-card {
    padding:10px
  }
  .metric-top h2 {
    font-size:14px
  }
  .metric-foot {
    font-size:14px
  }
  .sync-dot {
    display:none
  }
  .sync-status {
    font-size:14px
  }
  .status-bar {
    gap:7px
  }
  .periods button {
    min-width:44px;
    font-size:14px
  }
  .panel-head h2 {
    font-size:16px
  }
  .session-user {
    display:none
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important
  }
}
@media(max-width:1023px) {
  .chart-host svg text {
    font-size:14px
  }
}
.overview-news {
  margin-top:20px
}
.overview-news .activity-row strong {
  font-weight:500
}
.bot-results-chart {
  margin:16px 0
}
.bot-chart-row {
  display:grid;
  grid-template-columns:80px minmax(0,1fr) 110px;
  gap:12px;
  align-items:center;
  margin:12px 0;
  font-size:14px
}
.bot-chart-row .meter-track {
  height:8px
}
.outcome-bars {
  padding:20px 8px;
  direction:rtl
}
.outcome-bars .risk-meter {
  margin:20px 0
}
.outcome-bars p {
  font-size:14px;
  color:var(--muted)
}
@media(max-width:1023px) {
  .bot-symbol,.eyebrow {
    font-size:14px
  }
  .nav-count {
    font-size:14px
  }
  .overview-news {
    margin-top:0
  }
}
@media(max-width:479px) {
  .bot-chart-row {
    grid-template-columns:60px 1fr;
    gap:8px
  }
  .bot-chart-row>span:last-child {
    grid-column:2
  }
  .overview-news .panel-head>.text-button {
    margin:0
  }
  .overview-news .activity-row time {
    align-self:start
  }
}
@media(max-width:1023px) {
  .data-table th>button,.data-table th>button>span {
    font-size:14px
  }
}
.data-table .row-details {
  min-width:44px;
  justify-content:center
}

@media(max-width:1023px) {
  code {
    font-size:14px;
  }
}

#audit-events code {
  display:block;
  direction:ltr;
  unicode-bidi:isolate;
  margin-top:4px;
  color:var(--muted);
}

/* Action describes the order; green/red describe its financial result. */
:root {
  --buy:#7dd3fc;
  --buy-soft:#102f45;
  --sell:#fdba74;
  --sell-soft:#3d2719
}
:root[data-theme="light"] {
  --buy:#075985;
  --buy-soft:#e0f2fe;
  --sell:#9a3412;
  --sell-soft:#ffedd5
}
.action-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  width:max-content;
  max-width:100%;
  border:1px solid currentColor;
  border-radius:6px;
  padding:3px 9px;
  font-size:14px;
  font-weight:700;
  line-height:1.5;
  white-space:nowrap
}
.action-buy {
  color:var(--buy);
  background:var(--buy-soft)
}
.action-sell {
  color:var(--sell);
  background:var(--sell-soft)
}
.action-unknown {
  color:var(--muted);
  background:var(--surface-2)
}
.order-legend {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 16px;
  margin:0 0 16px;
  color:var(--muted);
  font-size:14px
}
.order-legend .action-badge {
  margin-inline-end:5px
}
.holding-cell,.trade-result-cell {
  min-width:100px;
  line-height:1.45
}
.holding-cell strong,.trade-result-cell strong {
  display:block;
  font-size:15px;
  font-weight:700
}
.trade-result-cell.positive,.trade-result-cell .positive {
  color:var(--up)
}
.trade-result-cell.negative,.trade-result-cell .negative {
  color:var(--down)
}
.trade-result-cell.pending,.trade-result-cell .pending {
  color:var(--muted)
}
.trade-caption {
  display:block;
  max-width:240px;
  margin-top:3px;
  color:var(--muted);
  font-size:14px;
  font-weight:400;
  line-height:1.45;
  white-space:normal;
  overflow-wrap:anywhere
}
.panel-head p,.section-intro p {
  max-width:72ch
}
#orders-table td[data-field="at"] {
  color:var(--muted);
  font-size:14px
}
#orders-table td[data-field="ticker"],#positions-table td[data-field="ticker"] {
  font-size:16px
}

@media(max-width:767px) {
  .order-legend {
    gap:8px 12px;
    margin-bottom:12px
  }
  .trade-caption {
    max-width:100%;
    font-size:14px
  }
  #orders-table tr,#positions-table tr {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 14px;
    padding:12px;
    background:var(--surface)
  }
  #orders-table tr[data-side="BUY"] {
    border-inline-start:3px solid var(--buy)
  }
  #orders-table tr[data-side="SELL"] {
    border-inline-start:3px solid var(--sell)
  }
  #orders-table td,#positions-table td {
    order:3;
    justify-content:flex-start
  }
  #orders-table td[data-field="ticker"],#positions-table td[data-field="ticker"] {
    order:0;
    grid-column:1;
    font-size:18px
  }
  #orders-table td[data-field="side"],#positions-table td[data-field="pnl"] {
    order:0;
    grid-column:2;
    align-items:flex-end;
    text-align:end
  }
  #orders-table td[data-field="at"] {
    order:1;
    grid-column:1/-1;
    flex-direction:row;
    align-items:center;
    gap:8px;
    font-size:14px
  }
  #orders-table td[data-field="at"]::before {
    margin:0
  }
  #orders-table td[data-field="holding"],#orders-table td[data-field="trade_pnl"] {
    order:4;
    padding-top:10px;
    border-top:1px solid var(--line)
  }
  #orders-table td[data-field="status"],#positions-table td[data-field="protection"] {
    order:5;
    grid-column:1;
    justify-content:center;
    padding-top:8px;
    border-top:1px solid var(--line)
  }
  #orders-table td:last-child,#positions-table td:last-child {
    order:5;
    grid-column:2;
    flex-direction:row;
    align-items:center;
    justify-content:flex-end;
    padding-top:8px;
    border-top:1px solid var(--line)
  }
  #orders-table .holding-cell,#orders-table .trade-result-cell {
    min-width:0
  }
  #orders-table .table-empty,#positions-table .table-empty {
    grid-column:1/-1;
    display:block;
    text-align:center;
    border:0
  }
}


@media(max-width:767px) {
  #orders-table td[data-field="status"]:last-child,
  #positions-table td[data-field="protection"]:last-child {
    grid-column:1/-1;
    justify-content:space-between;
    gap:8px
  }
  #orders-table td[data-field="status"]::before,
  #positions-table td[data-field="protection"]::before {
    display:none
  }
}
/* Decision stories retain the command center palette and native modal focus. */
.activity-open{width:100%;text-align:start;color:inherit;font:inherit;background:transparent;border:0;cursor:pointer;border-radius:10px}
.activity-open:hover,.activity-open:focus-visible{background:var(--surface-2,rgba(96,165,250,.08));outline:2px solid var(--accent);outline-offset:-2px}
.activity-copy{display:block;font-size:.8rem;color:var(--muted);margin-top:5px}
.nav-mini,.bot-mini{display:flex;flex-direction:column;width:100%;min-height:94px;background:transparent;color:inherit;border:0;text-align:start;padding:8px 0;cursor:pointer;font:inherit;gap:6px}
.nav-mini:focus-visible,.bot-mini:focus-visible{outline:2px solid var(--accent);border-radius:8px}
.mini-graph{display:block;width:100%;height:54px;overflow:hidden}
.mini-graph svg{display:block;width:100%;height:54px}
.mini-empty{display:flex;align-items:center;justify-content:center;min-height:54px;font-size:.73rem;color:var(--muted)}
.story-dialog{box-sizing:border-box;width:min(900px,calc(100% - 32px));max-height:90dvh;padding:0;color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:18px;overscroll-behavior:contain}
.story-dialog::backdrop{background:rgba(3,8,18,.72);backdrop-filter:blur(5px)}
.story-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;background:var(--surface);border-bottom:1px solid var(--line)}
.story-head h2{font-size:1.15rem;margin:0}.story-head button{min-width:80px;min-height:44px}
.story-body{padding:24px;overflow-wrap:anywhere}.story-body h3{font-size:1rem;margin:26px 0 12px}
.story-summary{font-size:1rem;line-height:1.85;white-space:pre-line;margin:0 0 18px}
.story-support{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;padding:16px;border-radius:12px;background:rgba(96,165,250,.07)}
.story-support strong{font-size:1.25rem}.story-votes{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.story-vote{padding:14px;border:1px solid var(--line);border-radius:12px;border-inline-start:3px solid var(--muted)}
.story-vote[data-vote=BUY]{border-inline-start-color:var(--up)}.story-vote[data-vote=PASS],.story-vote[data-vote=ERROR]{border-inline-start-color:var(--down)}
.story-vote p{font-size:.85rem;line-height:1.8;margin:8px 0}.story-vote small{font-size:.75rem}
.story-stages{display:grid;gap:10px;line-height:1.7;padding-inline-start:24px;font-size:.85rem}
.story-chart{min-height:130px;padding:8px 0}.story-chart svg{width:100%;height:auto;display:block;direction:ltr}
.story-chart text{font:10px system-ui;fill:var(--muted)}.story-chart svg polyline{vector-effect:non-scaling-stroke}
.story-pairs{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,2fr);gap:10px 16px;font-size:.85rem;line-height:1.6}
.story-pairs dt{color:var(--muted)}.story-pairs dd{margin:0;unicode-bidi:plaintext}
.story-more{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.story-more summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:.85rem}
.story-table{font-size:.8rem}.story-table th,.story-table td{white-space:normal;min-width:90px;padding:12px}
.story-dialog{max-width:900px;direction:rtl;text-align:start}
.story-body{line-height:1.65}
.story-overview{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.story-result{font-size:1.05rem;color:var(--warn)}
.story-result[data-result=APPROVED]{color:var(--up)}
.story-support{align-items:center;justify-content:space-between;gap:6px 16px}
.story-support .meta{font-size:.82rem}
.story-reasons{list-style:none;display:grid;gap:8px;margin:0;padding:12px 16px;background:var(--warn-soft);border:1px solid var(--line);border-radius:10px;font-size:.88rem}
.story-reasons li{padding-inline-start:13px;position:relative;unicode-bidi:plaintext}
.story-reasons li::before{content:'•';position:absolute;inset-inline-start:0;color:var(--warn)}
.story-vote-wrap{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.story-vote-table{table-layout:fixed;width:100%;border-collapse:collapse;font-size:.88rem;text-align:start}
.story-vote-table caption{text-align:start;padding:10px 12px;font-size:.8rem;color:var(--muted);background:var(--surface-2)}
.story-vote-table th,.story-vote-table td{text-align:start;vertical-align:top;padding:14px 12px;overflow-wrap:anywhere;border-bottom:1px solid var(--line)}
.story-vote-table thead th{background:var(--surface-2);font-size:.8rem;color:var(--muted);font-weight:600}
.story-vote-table thead th:first-child{width:25%}.story-vote-table thead th:nth-child(2){width:20%}
.story-vote-table tbody th{font-weight:400}.story-vote-table tbody tr:last-child>*{border-bottom:0}
.story-vote-table tbody tr:nth-child(even){background:var(--surface-2)}
.story-role,.story-role-source{display:block;color:var(--muted);font-size:.74rem;line-height:1.5;margin-top:4px}
.story-role-source{font-size:.65rem}
.story-vote-label{display:inline-block;padding:3px 8px;border-radius:7px;background:var(--abstain-soft);color:var(--muted);font-weight:600;font-size:.8rem;line-height:1.6}
[data-vote=BUY] .story-vote-label{background:var(--up-soft);color:var(--up)}
[data-vote=PASS] .story-vote-label,[data-vote=ERROR] .story-vote-label{background:var(--down-soft);color:var(--down)}
[data-vote=MISSING_DATA] .story-vote-label{background:var(--warn-soft);color:var(--warn)}
.story-vote-note p{margin:0;unicode-bidi:plaintext}
.story-original{font-size:.82rem;line-height:1.9;unicode-bidi:plaintext;white-space:pre-line}
.story-codes{direction:ltr;text-align:left;font-size:.8rem;overflow-wrap:anywhere}
.story-no-chart{padding:12px 0;border-bottom:1px solid var(--line);font-size:.8rem}
@media(max-width:600px){.story-vote-table{font-size:.8rem}.story-vote-table th,.story-vote-table td{padding:12px 7px}.story-vote-label{padding:3px 5px;font-size:.72rem}.story-role{font-size:.69rem}.story-vote-table thead th:first-child{width:25%}.story-vote-table thead th:nth-child(2){width:23%}.story-body h3{margin-top:22px}}
@media(max-width:600px){.story-dialog{width:calc(100% - 12px);max-height:94dvh;border-radius:14px}.story-head{padding:14px}.story-body{padding:16px}.story-votes{grid-template-columns:1fr}.story-pairs{grid-template-columns:1fr 1.4fr}.story-chart{min-height:110px}.bot-mini{min-height:90px}.story-summary{font-size:.92rem}}


/* Product layout 2026-10-23: one shared visual system, mobile first. */
:root {
  --bg:#0c101d;
  --surface:#141b2d;
  --surface-2:#192239;
  --elevated:#202b44;
  --fg:#eff2fc;
  --muted:#a0adc5;
  --line:#2a3550;
  --accent:#62d3d0;
  --indigo:#8b91ff;
  --accent-soft:#193139;
  --shadow:0 8px 28px #05081622;
  --radius:16px;
  --font:'Noto Sans Hebrew','Arial',sans-serif
}
:root[data-theme=light] {
  --bg:#f4f5fb;
  --surface:#fff;
  --surface-2:#f6f7fc;
  --elevated:#ecedf7;
  --fg:#17203a;
  --muted:#5d6882;
  --line:#e2e5f0;
  --accent:#167d89;
  --indigo:#5865d7;
  --accent-soft:#e9f5f6;
  --shadow:0 5px 20px #28335b08
}
html,body {
  max-width:100%;
  overflow-x:clip
}
body {
  font-size:14px;
  letter-spacing:-.15px
}
h1 {
  font-size:27px;
  letter-spacing:-.8px;
  line-height:1.25
}
h2 {
  font-size:17px;
  line-height:1.4
}
h3 {
  font-size:15px
}
p {
  overflow-wrap:anywhere
}
button,a,input,select,summary {
  touch-action:manipulation
}
button:focus-visible,a:focus-visible,summary:focus-visible {
  outline:3px solid var(--indigo);
  outline-offset:3px
}
bdi,.number {
  font-variant-numeric:tabular-nums
}
.icon {
  flex-shrink:0
}
button {
  border-radius:10px
}
button:hover:not(:disabled) {
  transition:background .15s,border-color .15s
}
a:hover {
  text-decoration:none
}
.meta {
  font-size:12px;
  line-height:1.6;
  color:var(--muted)
}
[hidden] {
  display:none!important
}
.app-shell {
  display:block;
  min-height:100dvh
}
.workspace {
  width:100%;
  min-width:0;
  margin:0
}
.sidebar {
  display:none
}
.topbar {
  position:relative;
  height:auto;
  min-height:76px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:15px 18px;
  border-bottom:1px solid var(--line);
  background:var(--surface);
  gap:12px;
  z-index:20
}
.mobile-brand {
  display:flex;
  align-items:center;
  gap:9px;
  color:var(--fg);
  font-size:24px;
  letter-spacing:.5px;
  font-weight:800;
  flex-shrink:0
}
.mobile-brand>span {
  display:flex;
  flex-direction:column;
  line-height:1.1
}
.mobile-brand small {
  font-size:7px;
  letter-spacing:1.25px;
  font-weight:600;
  color:var(--muted);
  margin-top:5px
}
.logo-svg {
  width:36px;
  height:36px;
  display:block;
  color:#303b92;
  flex-shrink:0
}
.breadcrumb {
  display:none
}
.header-actions {
  gap:6px;
  min-width:0;
  display:flex;
  align-items:center
}
.header-actions .icon-button {
  width:38px;
  min-width:38px;
  height:40px;
  min-height:40px;
  background:transparent;
  border-color:transparent;
  padding:8px
}
.session-user,.research-link {
  display:none
}
#main-content {
  padding:20px 16px calc(95px + env(safe-area-inset-bottom));
  max-width:1440px;
  margin:0 auto;
  outline:none
}
.page-heading {
  align-items:center;
  margin-bottom:16px;
  gap:8px
}
.page-heading .eyebrow {
  display:none
}
.page-heading h1 {
  font-size:24px
}
.sync-status {
  display:flex;
  gap:4px;
  font-size:11px;
  white-space:nowrap;
  color:var(--muted)
}
.sync-status .sync-dot {
  width:5px;
  height:5px
}
.sync-status #sync-time {
  display:none
}
.sync-status #sync-label {
  max-width:110px;
  white-space:normal
}
.status-bar {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--surface);
  margin-bottom:18px;
  box-shadow:none
}
.status-bar .mode-badge {
  font-size:11px;
  font-weight:700;
  padding:4px 8px;
  background:var(--elevated);
  border:0;
  white-space:nowrap;
  min-height:0
}
.status-item {
  display:flex;
  gap:5px;
  min-width:0;
  font-size:11px
}
.status-item strong {
  font-size:11px
}
.status-item .status-title {
  color:var(--muted)
}
.status-dot {
  width:6px;
  height:6px;
  background:var(--muted)
}
.status-item[data-state=running] .status-dot,.status-item[data-state=connected] .status-dot {
  background:var(--up);
  box-shadow:0 0 0 3px var(--up-soft)
}
.status-item[data-state=running] strong,.status-item[data-state=connected] strong {
  color:var(--up)
}
.status-item[data-state=paused] .status-dot {
  background:var(--warn)
}
.status-item[data-state=paused] strong {
  color:var(--warn)
}
.status-item[data-state=stopped] .status-dot,.status-item[data-state=disconnected] .status-dot {
  background:var(--down)
}
.status-item[data-state=stopped] strong,.status-item[data-state=disconnected] strong {
  color:var(--down)
}
.status-freshness {
  color:var(--muted);
  font-size:10px;
  flex-basis:100%;
  padding-top:6px;
  border-top:1px solid var(--line)
}
.primary-incident,.gateway-outage {
  padding:12px 14px;
  border-radius:12px;
  margin-bottom:16px;
  gap:10px;
  align-items:center;
  display:flex;
  box-shadow:none;
  font-size:12px
}
.primary-incident strong,.gateway-outage strong {
  font-size:13px
}
.primary-incident p {
  display:none
}
.primary-incident .text-button {
  font-size:11px;
  white-space:nowrap;
  margin-inline-start:auto
}
.gateway-outage p {
  font-size:11px;
  margin:2px 0
}
.gateway-outage #gateway-outage-action {
  display:none
}
.gateway-outage .incident-icon {
  display:none
}
.transport-notice,.preview-notice {
  font-size:12px;
  padding:10px 12px;
  border-radius:10px;
  margin-bottom:14px
}
.view {
  min-width:0
}
.panel,.card {
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:18px;
  margin:0 0 18px;
  min-width:0;
  overflow:visible
}
.panel-head {
  gap:10px;
  margin:0 0 14px;
  align-items:center;
  min-height:0
}
.panel-head h2 {
  font-size:16px
}
.panel-head p {
  margin:3px 0 0
}
.panel-head>.text-button,.panel-foot,.panel-head>a {
  font-size:12px
}
.panel-foot {
  padding-top:12px;
  margin-top:12px;
  border-top:1px solid var(--line)
}
.section-intro {
  margin:2px 0 18px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  justify-content:space-between
}
.section-intro h2 {
  font-size:23px;
  letter-spacing:-.6px;
  margin:5px 0
}
.section-intro p {
  font-size:12px;
  color:var(--muted);
  margin:0;
  line-height:1.7
}
.section-kicker {
  display:block;
  direction:ltr;
  text-align:right;
  font-size:9px;
  letter-spacing:1.9px;
  font-weight:700;
  color:var(--accent)
}
.kpis {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:18px
}
.metric-card {
  padding:15px 14px 13px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface);
  box-shadow:var(--shadow);
  min-height:118px;
  height:auto;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  position:relative;
  gap:8px;
  overflow:hidden
}
.metric-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:5px;
  margin:0
}
.metric-card h2,.metric-top h2 {
  font-size:11px;
  font-weight:500;
  color:var(--muted);
  line-height:1.4;
  margin:0
}
.metric-top>.icon {
  width:15px;
  height:15px;
  color:var(--muted);
  opacity:.7
}
.metric-value {
  font-size:27px;
  font-weight:700;
  line-height:1.3;
  margin:0;
  letter-spacing:-.9px;
  overflow-wrap:normal;
  white-space:nowrap
}
.metric-value.is-empty {
  font-size:18px;
  line-height:1.9;
  color:var(--muted)
}
.metric-foot {
  margin:0;
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  justify-content:space-between;
  font-size:10px;
  color:var(--muted);
  line-height:1.4;
  min-height:14px
}
.metric-state {
  font-size:10px
}
.metric-expand {
  background:transparent;
  border:0;
  color:var(--accent);
  font-size:10px;
  padding:0;
  min-height:22px;
  align-self:flex-start;
  display:flex;
  align-items:center;
  gap:4px;
  margin-top:0
}
.metric-expand .icon {
  height:12px;
  width:12px
}
.metric-card[data-metric=nav] {
  border-color:color-mix(in srgb,var(--indigo) 35%,var(--line));
  background:linear-gradient(130deg,color-mix(in srgb,var(--indigo) 8%,var(--surface)),var(--surface))
}
.metric-card[data-metric=nav] .metric-value {
  color:var(--fg)
}
.positive {
  color:var(--up)
}
.negative {
  color:var(--down)
}
.metric-card[data-state=stale] .metric-state {
  color:var(--warn)
}
.hero-chart {
  position:relative;
  border:1px solid var(--line);
  background:var(--surface);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
  margin-bottom:18px
}
.hero-chart>.chart-panel {
  border:0;
  box-shadow:none;
  margin:0;
  border-radius:0;
  padding-bottom:4px
}
.chart-panel {
  min-width:0
}
.chart-host {
  height:220px;
  min-height:0;
  width:100%;
  position:relative;
  direction:ltr
}
.chart-host>svg {
  display:block;
  width:100%;
  height:100%;
  max-width:100%
}
.chart-host text {
  fill:var(--muted);
  font:10px var(--font);
  font-variant-numeric:tabular-nums
}
.chart-host>.meta {
  font-size:9px;
  text-align:center;
  direction:rtl
}
.chart-empty {
  min-height:160px;
  height:100%;
  padding:24px 15px;
  text-align:center;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  gap:8px;
  background:transparent
}
.chart-empty strong {
  font-size:14px;
  color:var(--fg)
}
.chart-empty span {
  font-size:12px;
  color:var(--muted)
}
.chart-empty .icon {
  width:28px;
  height:28px;
  color:var(--indigo);
  opacity:.7
}
.periods {
  display:flex;
  direction:ltr;
  gap:3px;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:9px;
  padding:3px;
  max-width:100%;
  flex-wrap:nowrap
}
.periods button {
  padding:5px 8px;
  min-height:32px;
  min-width:33px;
  font-size:11px;
  border:0;
  background:transparent;
  border-radius:6px;
  color:var(--muted);
  white-space:nowrap
}
.periods button[aria-pressed=true] {
  background:var(--elevated);
  color:var(--fg);
  box-shadow:0 2px 5px #0001
}
.chart-panel .panel-head {
  flex-wrap:wrap;
  gap:12px;
  align-items:flex-start
}
.chart-panel .panel-head>div:first-child {
  width:100%
}
.chart-period-status {
  min-height:15px;
  font-size:10px;
  margin:0 0 4px;
  line-height:1.4
}
.chart-period-status[data-state=ready] {
  color:var(--muted)
}
.chart-legend {
  font-size:10px;
  justify-content:flex-start;
  padding:8px 0 6px
}
.chart-tooltip {
  font-size:11px;
  line-height:1.6;
  max-width:220px;
  box-shadow:var(--shadow);
  border-radius:9px;
  border:1px solid var(--line);
  background:var(--elevated);
  color:var(--fg);
  padding:8px;
  direction:rtl
}
.equity-summary-strip {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  align-items:center;
  border-top:1px solid var(--line);
  padding:12px 18px;
  font-size:11px;
  color:var(--muted);
  background:var(--surface-2)
}
.equity-summary-strip bdi {
  font-weight:700;
  color:var(--fg);
  margin-inline-start:5px
}
.equity-summary-strip button {
  font-size:11px;
  min-height:28px;
  padding:0;
  border:0;
  background:none
}
.equity-summary-strip button .icon {
  width:13px;
  height:13px
}
.overview-grid,.overview-bottom,.two-columns {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:18px;
  margin:0
}
.overview-bottom>.panel {
  margin-bottom:0
}
.overview-bottom {
  margin-bottom:18px
}
.overview-news {
  margin-top:0
}
.compact-bot {
  display:grid;
  grid-template-columns:34px 1fr auto;
  gap:9px;
  padding:10px 0;
  align-items:center;
  border-bottom:1px solid var(--line)
}
.compact-bot:last-child {
  border:0
}
.compact-bot .bot-symbol {
  width:30px;
  height:30px;
  border-radius:9px
}
.compact-bot strong {
  font-size:13px
}
.compact-bot>.meta {
  font-size:11px
}
.activity-row {
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding:12px 0;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  min-height:0;
  background:none;
  width:100%;
  text-align:start
}
.activity-row:last-child {
  border-bottom:0
}
.activity-row strong {
  font-size:12px
}
.activity-copy {
  font-size:11px;
  color:var(--muted);
  display:block;
  line-height:1.6
}
.activity-row time {
  font-size:10px;
  color:var(--muted);
  white-space:nowrap;
  max-width:65px;
  text-wrap:wrap
}
.activity-mark {
  height:27px;
  width:27px;
  display:grid;
  place-items:center;
  background:var(--accent-soft);
  color:var(--accent);
  border-radius:8px;
  font-size:15px
}
.activity-open .action-badge {
  font-size:9px;
  padding:2px 5px;
  min-height:0;
  margin-inline-start:5px
}
.empty-state,.table-empty {
  padding:25px 16px;
  font-size:13px;
  color:var(--muted);
  text-align:center;
  min-height:0;
  border:0
}
.summary-strip {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:14px;
  padding:16px 10px;
  gap:8px;
  margin:0 0 18px
}
.summary-strip>div {
  display:flex;
  flex-direction:column;
  gap:7px;
  padding-inline:5px;
  border-inline-end:1px solid var(--line)
}
.summary-strip>div:last-child {
  border:0
}
.summary-strip .meta {
  font-size:10px
}
.summary-strip bdi {
  font-size:18px;
  font-weight:700;
  letter-spacing:-.5px;
  white-space:nowrap
}
.table-panel .panel-head {
  margin-bottom:12px
}
.table-tools {
  display:flex;
  gap:8px;
  margin:0 0 12px
}
.table-tools input {
  width:100%;
  flex:1;
  font-size:12px;
  min-height:40px;
  height:40px;
  padding:8px 10px;
  background:var(--surface-2)
}
.table-tools select {
  width:auto;
  max-width:135px;
  min-height:40px;
  height:40px;
  font-size:11px;
  padding:5px;
  background:var(--surface-2)
}
.table-wrap {
  overflow-x:auto;
  max-width:100%;
  border:0;
  border-radius:0
}
.data-table {
  width:100%;
  border-collapse:collapse;
  table-layout:auto;
  font-size:12px
}
.data-table th {
  background:var(--surface-2);
  padding:8px 10px;
  border:0;
  text-align:start;
  color:var(--muted);
  font-weight:500;
  font-size:11px
}
.data-table th button {
  background:transparent;
  padding:3px 0;
  border:0;
  min-height:30px;
  white-space:nowrap;
  font-size:inherit
}
.data-table td {
  padding:12px 10px;
  border:0;
  border-bottom:1px solid var(--line);
  vertical-align:middle;
  min-width:0
}
.data-table td:last-child {
  white-space:normal
}
.data-table tr:last-child td {
  border-bottom:0
}
.data-table .number {
  direction:ltr;
  text-align:end
}
.data-table .cell-subtitle,.data-table .trade-caption {
  font-size:9px;
  line-height:1.5;
  display:block;
  margin-top:3px;
  color:var(--muted)
}
.symbol-open {
  font-weight:700;
  font-size:13px;
  direction:ltr;
  min-height:30px;
  min-width:0;
  background:transparent;
  border:0;
  color:var(--fg);
  padding:3px 0
}
.row-details {
  font-size:11px;
  min-height:32px;
  padding:4px 9px;
  background:var(--surface-2);
  color:var(--accent);
  white-space:nowrap
}
.data-table .row-details {
  margin-top:4px;
  display:block
}
.table-pagination {
  font-size:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid var(--line);
  padding-top:10px;
  margin-top:8px;
  gap:5px
}
.table-pagination button {
  min-height:32px;
  padding:4px 8px;
  font-size:10px
}
.count {
  font-size:11px;
  color:var(--muted)
}
.table-panel.is-empty-table {
  box-shadow:none
}
.is-empty-table .table-wrap {
  border:0
}
.is-empty-table thead {
  display:none
}
.is-empty-table .table-empty {
  padding:28px 10px;
  text-align:center;
  display:block;
  background:transparent
}
.is-empty-table .table-empty:before {
  content:'◇';
  display:block;
  font-size:36px;
  line-height:1;
  margin-bottom:13px;
  color:var(--indigo)
}
.is-empty-table tbody,.is-empty-table tr {
  display:block!important;
  border:0!important;
  box-shadow:none!important;
  background:none!important;
  padding:0!important;
  margin:0!important
}
.segmented-tabs {
  display:flex;
  border-bottom:1px solid var(--line);
  margin:5px 0 16px;
  gap:22px
}
.segmented-tabs button {
  background:none;
  border:0;
  border-radius:0;
  border-bottom:2px solid transparent;
  padding:10px 2px;
  font-size:13px;
  color:var(--muted)
}
.segmented-tabs button[aria-selected=true] {
  border-bottom-color:var(--indigo);
  color:var(--fg);
  font-weight:700
}
.performance-graphs {
  gap:12px;
  margin-bottom:18px
}
.performance-graphs .panel {
  margin-bottom:0
}
.performance-graphs .chart-host {
  height:170px
}
.sample-note {
  margin:-5px 0 14px;
  font-size:10px
}
.performance-periods {
  margin-bottom:0
}
.performance-kpis .metric-card {
  min-height:110px
}
.performance-kpis .metric-value {
  font-size:25px
}
.performance-kpis .metric-foot {
  font-size:9px
}
.section-disclosure {
  padding:0!important
}
.section-disclosure>summary {
  padding:16px 18px
}
.disclosure summary {
  font-size:13px
}
.disclosure-body {
  padding:0 18px 18px
}
.disclosure .disclosure-body {
  border-top:1px solid var(--line);
  padding-top:16px
}
.inline-notice {
  font-size:12px;
  line-height:1.7;
  padding:11px 13px;
  border-radius:10px;
  margin:10px 0
}
.order-legend {
  display:none
}
.bot-roster {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px
}
.bot-row {
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  border:1px solid var(--line);
  border-radius:13px;
  padding:15px;
  margin:0;
  align-items:center;
  background:var(--surface-2);
  min-width:0
}
.bot-row-name {
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  grid-column:1/-1
}
.bot-row-name>div {
  flex:1
}
.bot-row-name strong {
  font-size:16px;
  font-weight:700
}
.bot-row-name .bot-id {
  font-size:10px;
  margin-inline-start:8px;
  color:var(--muted)
}
.bot-row-name p {
  font-size:11px;
  margin:1px 0 0
}
.bot-symbol {
  height:40px;
  width:40px;
  display:grid;
  place-items:center;
  border-radius:12px;
  border:1px solid color-mix(in srgb,var(--bot-color) 30%,var(--line));
  background:color-mix(in srgb,var(--bot-color) 8%,var(--surface));
  color:var(--bot-color);
  flex-shrink:0
}
.bot-symbol svg {
  width:23px;
  height:23px
}
.bot-row dl {
  margin:0;
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0
}
.bot-row dt {
  font-size:10px;
  color:var(--muted)
}
.bot-row dd {
  font-size:12px;
  margin:0;
  font-weight:600
}
.bot-row .bot-state {
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:5px;
  font-size:10px;
  color:var(--muted)
}
.bot-state:before {
  content:'';
  display:block;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--muted)
}
.vote-bar {
  display:flex;
  direction:rtl;
  width:100%;
  height:14px;
  border-radius:7px;
  overflow:hidden;
  background:var(--surface-2);
  grid-column:1/-1;
  gap:2px;
  box-shadow:inset 0 0 0 1px var(--line)
}
.vote-bar span{min-width:0;flex-shrink:1;background-image:linear-gradient(180deg,#ffffff20,transparent);box-shadow:inset 0 1px 0 #ffffff18}
.vote-bar span[data-vote=BUY] {
  background-color:var(--accent)
}
.vote-bar span[data-vote=PASS] {
  background-color:var(--indigo)
}
.vote-bar span[data-vote=ABSTAIN] {
  background-color:var(--muted)
}
.vote-legend {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-column:1/-1;
  font-size:10px;
  color:var(--muted);
  gap:6px;
  margin:0
}
.vote-legend>span{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;padding:7px 3px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);white-space:normal;text-align:center;line-height:1.4;font-variant-numeric:tabular-nums}
.vote-legend>span:before{content:'';width:6px;height:6px;border-radius:50%;flex:none;background:var(--muted)}
.vote-legend>span:nth-child(1){color:var(--accent)}
.vote-legend>span:nth-child(2){color:var(--indigo)}
.vote-legend>span:nth-child(1):before{background:var(--accent)}
.vote-legend>span:nth-child(2):before{background:var(--indigo)}
.bot-mini,.bot-role-detail {
  grid-column:1/-1;
  display:grid;
  border:0;
  border-top:1px solid var(--line);
  border-radius:0;
  background:none!important;
  padding:12px 0 0;
  margin:0;
  min-height:42px;
  color:var(--muted);
  width:100%;
  gap:6px;
  text-align:start
}
.bot-mini>strong {
  font-size:10px;
  color:var(--muted);
  font-weight:500
}
.bot-mini .mini-graph {
  height:44px;
  min-height:0
}
.bot-mini .mini-empty {
  font-size:10px;
  min-height:28px
}
.bot-mini>.meta {
  font-size:10px
}
.bot-role-detail {
  display:block;
  font-size:11px;
  min-height:42px;
  color:var(--accent)
}
.comparison-table {
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  font-size:11px;
  text-align:start
}
.comparison-table th,.comparison-table td {
  padding:10px 4px;
  border-bottom:1px solid var(--line);
  text-align:start;
  word-break:normal
}
.comparison-table thead th {
  color:var(--muted);
  font-weight:500;
  font-size:10px
}
.comparison-table tbody tr:last-child>* {
  border-bottom:0
}
.comparison-table .number {
  text-align:center
}
.comparison-table .text-button {
  font-size:10px;
  padding:2px;
  min-height:32px
}
.comparison-table th:first-child {
  width:24%
}
.measurement-card {
  padding:12px 0;
  border-bottom:1px solid var(--line);
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  font-size:12px
}
.measurement-card:last-child {
  border-bottom:0
}
.measurement-card strong {
  font-size:13px
}
.measurement-card p {
  font-size:11px;
  margin:4px 0
}
.measurement-card button {
  font-size:11px;
  min-height:36px
}
.measurement-card .meta {
  max-width:230px
}
.policy-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:0
}
.policy-item {
  border-bottom:1px solid var(--line);
  padding:0;
  background:none;
  border-radius:0
}
.policy-item:last-child {
  border-bottom:0
}
.policy-item summary {
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  padding:16px 0;
  list-style:none;
  font-size:13px
}
.policy-item summary::-webkit-details-marker {
  display:none
}
.policy-item summary bdi {
  font-size:17px;
  font-weight:700;
  margin-inline-start:auto
}
.policy-item p {
  margin:0 0 12px
}
.policy-item-label {
  color:var(--muted)
}
.component-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px
}
.component-card {
  border:1px solid var(--line);
  background:var(--surface-2);
  padding:12px;
  border-radius:11px;
  min-width:0
}
.component-card h3 {
  font-size:12px;
  margin-bottom:8px
}
.component-card strong {
  font-size:12px
}
.component-card p,.component-card time {
  font-size:10px
}
.incident-row {
  padding:14px 0;
  border-bottom:1px solid var(--line);
  background:none
}
.incident-row-head {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px
}
.incident-row p {
  font-size:12px
}
.badge {
  font-size:10px;
  padding:3px 7px;
  border-radius:6px;
  min-height:0
}
.expertise-list {
  font-size:12px
}
.expertise-row summary {
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap
}
.expertise-row {
  padding:8px 0
}
.expertise-row summary .meta {
  font-size:11px
}
.news-stats {
  gap:8px
}
.news-stats>div {
  padding:10px;
  border-radius:10px
}
.news-stats span {
  font-size:10px
}
.news-stats strong {
  font-size:17px
}
.news-head h2 {
  font-size:16px
}
.news-panel .k,.news-footnote {
  font-size:11px
}
.news-provider-health {
  gap:8px
}
.news-provider-health>div {
  padding:10px;
  border-radius:10px
}
.news-provider-health small {
  font-size:10px
}
.news-list .news-item {
  padding:12px 0
}
.news-item h3,.news-item-title {
  font-size:13px
}
.news-rss-summary-label {
  font-size:12px
}
.news-rss-summary-action {
  font-size:11px
}
.news-rss-toggle {
  padding:14px 10px
}
.news-rss-content {
  padding:12px
}
.news-rss-details {
  margin:12px 0;
  border-radius:11px
}
.news-list {
  max-height:none
}
.mobile-nav {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  height:calc(65px + env(safe-area-inset-bottom));
  padding:6px 8px calc(6px + env(safe-area-inset-bottom));
  position:fixed;
  bottom:0;
  inset-inline:0;
  z-index:60;
  background:var(--surface);
  border-top:1px solid var(--line);
  gap:4px;
  box-shadow:0 -6px 25px #00000008
}
.mobile-nav>a,.mobile-nav>button {
  border-radius:11px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:3px;
  color:var(--muted);
  font-size:10px;
  padding:5px 2px;
  min-width:0;
  border:0;
  background:transparent;
  min-height:50px
}
.mobile-nav .icon {
  width:20px;
  height:20px
}
.mobile-nav .active,.mobile-nav [aria-current=page] {
  background:color-mix(in srgb,var(--indigo) 12%,var(--surface));
  color:var(--indigo);
  font-weight:700
}
.mobile-more-menu {
  position:fixed;
  bottom:calc(75px + env(safe-area-inset-bottom));
  inset-inline:12px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:var(--shadow);
  padding:14px;
  z-index:70
}
.mobile-more-menu>a {
  display:flex;
  gap:12px;
  align-items:center;
  padding:12px;
  border-radius:10px;
  color:var(--fg);
  font-size:13px
}
.more-menu-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:0 10px 8px;
  border-bottom:1px solid var(--line)
}
.more-menu-heading button {
  border:0;
  background:none;
  font-size:11px
}
.scroll-top {
  display:none!important
}
dialog,#row-dialog,dialog.story-dialog {
  width:calc(100% - 24px);
  max-width:820px;
  max-height:calc(100dvh - 48px);
  padding:0;
  margin:auto;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface);
  color:var(--fg);
  overflow-y:auto;
  box-shadow:0 30px 120px #0006
}
dialog::backdrop {
  background:#080d1bb3;
  backdrop-filter:blur(4px)
}
.dialog-head,.story-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  padding:16px 18px;
  position:sticky;
  top:0;
  background:var(--surface);
  border-bottom:1px solid var(--line);
  z-index:2
}
.dialog-head h2,.story-head h2 {
  font-size:17px;
  margin:0
}
.dialog-head button,.story-head button {
  font-size:11px;
  min-height:36px;
  padding:5px 9px
}
#row-dialog-body,.story-body {
  padding:18px;
  font-size:12px;
  line-height:1.7
}
#row-dialog-body>dl {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  border-bottom:1px solid var(--line);
  padding:8px 0;
  margin:0 0 14px
}
#row-dialog-body dt {
  color:var(--muted)
}
#row-dialog-body dd {
  margin:0;
  text-align:end;
  overflow-wrap:anywhere
}
.story-overview {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px
}
.story-result {
  font-size:16px
}
.story-support {
  padding:12px 14px;
  margin:14px 0;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:12px
}
.story-support>strong {
  font-size:20px
}
.story-support>.meta {
  font-size:11px
}
.story-vote-table {
  width:100%;
  table-layout:fixed;
  border-collapse:collapse;
  font-size:11px
}
.story-vote-table th,.story-vote-table td {
  padding:10px 7px;
  border-bottom:1px solid var(--line);
  vertical-align:top
}
.story-vote-table thead th {
  color:var(--muted);
  background:var(--surface-2);
  font-size:10px
}
.story-vote-table th:first-child {
  width:24%
}
.story-vote-table th:nth-child(2) {
  width:22%
}
.story-vote-table p {
  font-size:11px;
  margin:0
}
.story-vote-table th strong {
  font-size:12px
}
.story-role {
  font-size:9px;
  line-height:1.5
}
.story-role-source {
  display:none
}
.story-vote-label {
  font-size:10px;
  padding:3px 5px
}
.story-body h3 {
  font-size:14px;
  margin:18px 0 10px
}
.story-more {
  padding:0;
  border:0;
  border-top:1px solid var(--line);
  border-radius:0;
  margin:16px 0 0
}
.story-more summary {
  padding:12px 0;
  font-size:12px
}
.story-pairs {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:10px;
  font-size:12px
}
.story-pairs dt {
  color:var(--muted)
}
.story-pairs dd {
  overflow-wrap:anywhere;
  margin:0
}
.story-reasons {
  padding:12px 28px;
  background:var(--surface-2);
  border-radius:10px;
  font-size:12px
}
.story-chart {
  direction:ltr;
  width:100%
}
.story-chart svg {
  width:100%;
  height:auto;
  display:block
}
.story-chart svg text {
  font-size:11px;
  fill:var(--muted)
}
.story-chart .chart-tooltip {
  direction:rtl
}
.story-table {
  font-size:11px
}
.story-body>.meta {
  font-size:11px
}
@media(max-width:767px) {
  .data-table:not(.story-table) {
    display:block;
    width:100%
  }
  .data-table:not(.story-table) thead {
    display:none
  }
  .data-table:not(.story-table) tbody {
    display:grid;
    gap:0;
    width:100%
  }
  .data-table:not(.story-table) tbody tr {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px 12px;
    padding:14px 0;
    border:0;
    border-bottom:1px solid var(--line);
    border-radius:0;
    margin:0;
    box-shadow:none;
    background:none;
    position:relative;
    min-width:0
  }
  .data-table:not(.story-table) tbody tr:first-child {
    border-top:1px solid var(--line)
  }
  .data-table:not(.story-table) tbody tr:last-child {
    border-bottom:0
  }
  .data-table:not(.story-table) td {
    display:flex;
    flex-direction:column;
    gap:3px;
    border:0;
    padding:0;
    min-width:0;
    text-align:start;
    font-size:12px;
    white-space:normal!important;
    overflow-wrap:anywhere
  }
  .data-table:not(.story-table) td:before {
    content:attr(data-label);
    font-size:10px;
    color:var(--muted);
    font-weight:400
  }
  .data-table:not(.story-table) td[data-field=ticker] {
    grid-column:1;
    grid-row:1
  }
  .data-table:not(.story-table) td[data-field=ticker]:before {
    display:none
  }
  .data-table:not(.story-table) td .symbol-open {
    min-height:26px;
    padding:0;
    align-self:flex-start;
    font-size:15px
  }
  .data-table:not(.story-table) td .number {
    text-align:start
  }
  .data-table:not(.story-table) .row-details {
    align-self:flex-start;
    margin-top:4px;
    min-height:30px;
    font-size:10px
  }
  .data-table:not(.story-table) td[data-field=at] {
    grid-column:2;
    grid-row:1;
    font-size:10px;
    color:var(--muted)
  }
  .data-table:not(.story-table) td[data-field=at]:before {
    display:none
  }
  .data-table:not(.story-table) td[data-field=entry_price],.data-table:not(.story-table) td[data-field=exit_price],.data-table:not(.story-table) td[data-field=kind],.data-table:not(.story-table) td[data-field=holding],.data-table:not(.story-table) td[data-field=market_value] {
    display:none
  }
  .data-table:not(.story-table) td[data-field=trade_pnl] {
    grid-column:1/-1;
    display:flex;
    flex-direction:row;
    align-items:center;
    flex-wrap:wrap;
    justify-content:space-between;
    border-top:1px dashed var(--line);
    padding-top:9px
  }
  .data-table:not(.story-table) td[data-field=trade_pnl] .trade-caption {
    display:none
  }
  .data-table:not(.story-table) td[data-field=pnl] {
    grid-column:2;
    grid-row:1;
    align-items:flex-end
  }
  .data-table:not(.story-table) td[data-field=pnl]:before {
    display:none
  }
  .data-table:not(.story-table) td[data-field=pnl] .row-details {
    align-self:flex-end
  }
  .data-table:not(.story-table) td[data-field=qty] {
    flex-direction:row;
    align-items:center;
    gap:5px;
    line-height:1.5
  }
  .data-table:not(.story-table) td[data-field=market_price] {
    align-items:flex-end
  }
  .data-table:not(.story-table) .cell-subtitle,.data-table:not(.story-table) .trade-caption {
    font-size:9px;
    line-height:1.4
  }
  .data-table:not(.story-table) .table-empty {
    display:block!important;
    grid-column:1/-1
  }
  .table-wrap {
    overflow:visible
  }
  .story-table {
    display:table;
    min-width:420px
  }
  .story-body .table-wrap {
    overflow:auto
  }
  .story-vote-wrap {
    overflow:hidden
  }
  .story-vote-table td,.story-vote-table th {
    padding:9px 5px
  }
  .story-vote-note p {
    font-size:10px
  }
  .comparison-table td,.comparison-table th {
    font-size:10px;
    padding:9px 3px
  }
  .bot-roster {
    gap:10px
  }
  .performance-graphs {
    grid-template-columns:1fr
  }
  .performance-graphs .chart-host {
    height:150px
  }
  .performance-graphs .panel {
    padding:15px
  }
  .performance-graphs .panel-head {
    margin-bottom:6px
  }
  .component-grid .component-card:last-child {
    grid-column:1/-1
  }
}
@media(min-width:600px) {
  .status-freshness {
    flex-basis:auto;
    border:0;
    padding:0;
    margin-inline-start:auto
  }
  .metric-value {
    font-size:32px
  }
  .chart-panel .panel-head {
    flex-wrap:nowrap;
    align-items:center
  }
  .chart-panel .panel-head>div:first-child {
    width:auto
  }
  .hero-chart .chart-host {
    height:280px
  }
  .bot-roster {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .summary-strip bdi {
    font-size:24px
  }
  .performance-graphs {
    grid-template-columns:1.5fr 1fr
  }
}
@media(min-width:1024px) {
  .app-shell {
    display:grid;
    grid-template-columns:224px minmax(0,1fr)
  }
  .sidebar {
    display:flex;
    position:fixed;
    inset-inline-start:0;
    top:0;
    bottom:0;
    width:224px;
    padding:28px 18px 20px;
    border-inline-end:1px solid var(--line);
    background:var(--surface);
    z-index:50;
    flex-direction:column
  }
  .workspace {
    grid-column:2;
    width:100%;
    margin:0
  }
  .brand {
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--fg);
    margin-bottom:40px;
    padding:0 8px
  }
  .brand-mark {
    display:block;
    padding:0;
    background:none;
    width:auto;
    height:auto;
    border:0
  }
  .brand .logo-svg {
    width:39px;
    height:39px
  }
  .brand b {
    font-size:26px;
    letter-spacing:1px
  }
  .brand small {
    font-size:7px;
    letter-spacing:1.1px;
    color:var(--muted);
    display:block;
    direction:ltr;
    margin-top:4px
  }
  .nav-caption {
    font-size:10px;
    color:var(--muted);
    padding:0 14px 12px
  }
  .side-links {
    display:flex;
    flex-direction:column;
    gap:6px
  }
  .side-link {
    display:flex;
    gap:12px;
    align-items:center;
    padding:12px 14px;
    font-size:13px;
    color:var(--muted);
    border-radius:11px;
    border:0;
    min-height:44px
  }
  .side-link.active {
    color:var(--indigo);
    background:color-mix(in srgb,var(--indigo) 10%,var(--surface));
    font-weight:700
  }
  .side-link .icon {
    width:18px;
    height:18px
  }
  .sidebar-bottom {
    margin-top:auto;
    padding:18px 12px 0;
    border-top:1px solid var(--line);
    font-size:11px;
    color:var(--muted)
  }
  .sidebar-bottom p {
    font-size:10px;
    margin-top:7px
  }
  .workspace-label {
    display:flex;
    gap:6px;
    align-items:center
  }
  .topbar {
    min-height:70px;
    padding:14px 32px
  }
  .mobile-brand {
    display:none
  }
  .breadcrumb {
    display:flex;
    align-items:center;
    gap:12px;
    font-size:11px;
    color:var(--muted)
  }
  .breadcrumb strong {
    color:var(--fg);
    font-weight:500
  }
  .session-user {
    display:flex;
    font-size:11px;
    gap:8px;
    align-items:center;
    margin-inline:10px
  }
  .avatar {
    width:29px;
    height:29px;
    border-radius:50%;
    background:var(--elevated);
    color:var(--indigo);
    display:grid;
    place-items:center;
    font-weight:700
  }
  .research-link {
    display:inline-flex;
    font-size:11px
  }
  .header-actions .icon-button {
    min-width:36px;
    width:36px;
    height:36px;
    min-height:36px
  }
  #main-content {
    padding:28px 32px 36px
  }
  .page-heading {
    margin-bottom:20px
  }
  .page-heading h1 {
    font-size:28px
  }
  .page-heading .eyebrow {
    display:block;
    font-size:9px;
    letter-spacing:2px;
    color:var(--muted);
    margin-bottom:6px
  }
  .sync-status {
    font-size:11px
  }
  .sync-status #sync-time {
    display:block
  }
  .status-bar {
    gap:22px;
    padding:11px 18px
  }
  .status-item,.status-item strong {
    font-size:12px
  }
  .status-freshness {
    font-size:11px
  }
  .kpis {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px
  }
  .metric-card {
    min-height:132px;
    padding:18px 19px;
    gap:10px
  }
  .metric-top h2,.metric-card h2 {
    font-size:12px
  }
  .metric-value {
    font-size:34px
  }
  .metric-expand {
    position:absolute;
    inset-inline-end:16px;
    bottom:14px
  }
  .metric-foot {
    font-size:11px
  }
  .hero-chart .chart-host {
    height:300px
  }
  .hero-chart>.chart-panel {
    padding:23px 24px 4px
  }
  .hero-chart .chart-panel .panel-head {
    margin-bottom:10px
  }
  .chart-host text {
    font-size:11px
  }
  .overview-bottom {
    grid-template-columns:1.25fr 1fr;
    gap:18px
  }
  .panel {
    padding:22px
  }
  .panel-head h2 {
    font-size:17px
  }
  .compact-bot {
    padding:9px 0
  }
  .overview-news .activity-list {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px
  }
  .overview-news .activity-row {
    display:flex;
    align-items:flex-start;
    border:0;
    padding:0
  }
  .overview-news .activity-row time {
    max-width:70px
  }
  .overview-news .activity-copy {
    font-size:11px
  }
  .bot-roster {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px
  }
  .bot-row {
    padding:18px
  }
  .bot-row .bot-mini {
    min-height:95px
  }
  .bot-roster>.bot-row:nth-child(4),.bot-roster>.bot-row:nth-child(5) {
    grid-column:span 1
  }
  .bot-comparison .comparison-table th:first-child {
    width:28%
  }
  .comparison-table {
    font-size:12px
  }
  .comparison-table thead th {
    font-size:11px
  }
  .comparison-table th,.comparison-table td {
    padding:12px
  }
  .two-columns {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .performance-graphs {
    grid-template-columns:1.6fr 1fr
  }
  .performance-graphs .chart-host {
    height:195px
  }
  .performance-kpis .metric-card {
    min-height:120px
  }
  .performance-kpis .metric-value {
    font-size:30px
  }
  .summary-strip {
    padding:22px
  }
  .summary-strip .meta {
    font-size:12px
  }
  .summary-strip bdi {
    font-size:28px
  }
  .policy-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 28px
  }
  .component-grid {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
  .component-card {
    padding:16px
  }
  .component-card h3 {
    font-size:13px
  }
  .component-card strong {
    font-size:14px
  }
  .mobile-nav,.mobile-more-menu {
    display:none!important
  }
  .data-table .trade-caption {
    font-size:10px
  }
  .data-table td {
    font-size:12px
  }
  .measurement-card .meta {
    max-width:none
  }
  .measurement-card {
    padding:14px 0
  }
  .section-intro h2 {
    font-size:26px
  }
}
@media(min-width:1400px) {
  .bot-roster {
    grid-template-columns:repeat(5,minmax(0,1fr))
  }
  .bot-row {
    padding:14px;
    grid-template-columns:1fr;
    gap:12px
  }
  .bot-row dl {
    grid-column:1/-1
  }
  .bot-row-name .bot-id {
    display:block;
    margin:2px 0
  }
  .bot-row-name p {
    font-size:10px
  }
  .bot-symbol {
    height:34px;
    width:34px
  }
  .bot-row-name {
    gap:7px
  }
  .bot-row-name strong {
    font-size:15px
  }
  .vote-legend {
    font-size:9px;
    gap:8px
  }
  .bot-row .bot-state {
    font-size:9px
  }
  .bot-mini .meta {
    font-size:9px
  }
  .bot-role-detail {
    min-height:95px
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important
  }
}
.chart-host>svg {
  min-height:0
}
.performance-graphs .chart-host>svg {
  height:calc(100% - 16px)
}
.performance-graphs .chart-host>.meta {
  height:16px;
  line-height:16px;
  margin:0
}
html {
  scroll-padding-bottom:90px
}
.segmented-tabs {
  position:relative;
  z-index:1
}
.metric-top h2 {
  min-height:0;
  padding-inline-end:0
}
.metric-top>.icon {
  display:block
}
.status-item {
  flex:0 0 auto;
  width:auto
}
.status-bar .mode-badge {
  flex:0 0 auto
}
.status-bar {
  column-gap:10px;
  row-gap:8px
}
.status-item {
  font-size:10px
}
.status-item strong {
  font-size:10px
}
.status-item .status-title {
  font-size:10px
}
.status-item .status-dot {
  width:5px;
  height:5px
}
@media(max-width:767px) {
  .metric-card {
    min-height:116px;
    padding:14px 12px;
    gap:7px
  }
  .metric-card[data-metric=nav] .metric-expand {
    position:absolute;
    bottom:8px;
    inset-inline-end:10px
  }
  .metric-card[data-metric=nav] .metric-foot {
    padding-bottom:14px
  }
  .status-bar {
    padding:11px 12px
  }
  .page-heading {
    margin-bottom:14px
  }
  .section-intro .section-kicker {
    display:none
  }
  .section-intro h2 {
    display:none
  }
  .section-intro {
    margin:0 0 14px
  }
  .bot-row-name p {
    font-size:11px
  }
}
@media(min-width:1024px) {
  .status-item,.status-item strong,.status-item .status-title {
    font-size:12px
  }
  .status-bar {
    column-gap:22px
  }
}
.bot-symbol {
  color:color-mix(in srgb,var(--bot-color) 70%,var(--fg))
}
.table-tools select[data-table-order] {
  max-width:150px
}
.table-tools .sr-only {
  display:none
}
@media(max-width:767px) {
  .table-tools {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px
  }
  .table-tools input {
    grid-column:1/-1
  }
  .table-tools select {
    max-width:none;
    width:100%;
    min-width:0
  }
  .table-tools select[data-table-order] {
    max-width:none;
    width:100%;
    min-width:0
  }
}
@media(min-width:1400px) {
  .bot-row {
    grid-template-columns:1fr auto;
    gap:10px
  }
  .bot-row dl {
    grid-column:auto
  }
  .bot-row-name .bot-id {
    display:inline;
    margin-inline-start:5px
  }
  .bot-row .bot-mini,.bot-role-detail {
    min-height:64px
  }
  .bot-row-name p {
    font-size:11px
  }
}
.mini-graph:has(.mini-empty) {
  height:auto;
  min-height:0
}
.mini-graph .mini-empty {
  min-height:20px;
  font-size:11px
}
@media(max-width:767px) {
  .story-vote-note p {
    font-size:11px
  }
  .story-vote-table th strong {
    font-size:12px
  }
  .status-item,.status-item strong,.status-item .status-title {
    font-size:11px
  }
}
.fill-list {
  display:grid;
  gap:8px
}
.fill-item {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5px;
  padding:10px;
  background:var(--surface-2);
  border-radius:9px
}
.fill-item bdi {
  direction:ltr;
  text-align:end
}
.fill-item time {
  font-size:10px
}


/* Owner-selected visuals 1/2/6/8/9/26/36/39; presentation only. */
:root{--chart-series:var(--accent);--chart-axis:var(--muted);--chart-grid:var(--line);--chart-radius:12px}
.primary-kpis .metric-card[data-metric=nav]{border-color:color-mix(in srgb,var(--indigo) 35%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--indigo) 9%,var(--surface)),var(--surface));box-shadow:var(--shadow)}
.primary-kpis .metric-card[data-metric=nav] .metric-value{font-size:clamp(36px,5vw,48px);letter-spacing:-1.4px;line-height:1.15}
.primary-kpis .metric-card[data-metric=nav] .metric-top>.icon{color:var(--indigo)}
.hero-chart{border-color:color-mix(in srgb,var(--indigo) 18%,var(--line))}
.data-table .symbol-open{font-weight:750;letter-spacing:.25px}.data-table .cell-subtitle{display:block;max-width:190px;white-space:normal;line-height:1.5}
.data-table tbody tr:focus-within{background:var(--accent-soft)}
.badge,.status-badge,.action-badge{display:inline-flex;align-items:center;gap:5px;border-radius:7px;font-size:11px;line-height:1.5;padding:4px 8px;min-height:25px;font-weight:600;max-width:100%;vertical-align:middle;white-space:normal;overflow-wrap:anywhere;border:1px solid transparent}
.status-badge .status-glyph{display:inline-grid;place-items:center;min-width:11px;font-size:11px;font-weight:800}.badge.neutral{background:var(--surface-2);color:var(--muted);border-color:var(--line)}
.position-price-rail{margin:14px 0 20px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.price-rail-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.price-rail-heading h3{margin:0!important}.position-price-rail>.meta{font-size:11px;margin-top:13px;line-height:1.7}
.price-rail-track{position:relative;height:30px;margin:20px 0 17px;direction:ltr}.price-rail-track:before{content:'';position:absolute;top:14px;left:4%;right:4%;height:3px;border-radius:4px;background:var(--line)}
.price-rail-point{position:absolute;top:9px;width:12px;height:12px;transform:translateX(-50%);border:3px solid var(--surface-2);border-radius:50%;background:var(--muted);box-sizing:content-box}
.price-rail-point.stop{background:var(--down)}.price-rail-point.entry{background:var(--indigo)}.price-rail-point.target{background:var(--accent)}.price-rail-point.current{background:var(--fg);outline:2px solid var(--fg);outline-offset:2px;z-index:1}
.price-rail-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}.price-level{min-width:0;border-inline-start:2px solid var(--line);padding-inline-start:9px}.price-level.stop{border-color:var(--down)}.price-level.entry{border-color:var(--indigo)}.price-level.current{border-color:var(--fg)}.price-level.target{border-color:var(--accent)}
.price-level dt{font-size:11px;color:var(--muted);margin-bottom:4px}.price-level dd{margin:0!important;text-align:start!important;display:flex;flex-direction:column;gap:3px;align-items:flex-start;font-weight:700;font-size:15px}.price-level-pct{color:var(--muted);font-size:11px;font-weight:400}
.chart-host svg,.story-chart svg{font-family:var(--font);font-variant-numeric:tabular-nums;overflow:visible}.chart-host svg text,.story-chart svg text{fill:var(--chart-axis);font-size:11px;letter-spacing:0}.chart-host svg polyline,.story-chart svg polyline{stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.chart-host svg line,.story-chart svg line{vector-effect:non-scaling-stroke}
.chart-tooltip{border:1px solid var(--line);border-radius:var(--chart-radius);box-shadow:var(--shadow);background:var(--surface);color:var(--fg);padding:10px 12px;font-size:11px;line-height:1.6;max-width:calc(100% - 16px);z-index:3}.chart-tooltip strong{font-size:15px;display:block}.chart-legend{font-size:11px;gap:16px}.chart-legend i{border-radius:3px}
.side-link,.mobile-nav a,.mobile-nav button{transition:background-color .16s ease,color .16s ease}.side-link.active{box-shadow:inset -3px 0 0 var(--indigo)}
@media(min-width:1100px){.primary-kpis{grid-template-columns:1.5fr repeat(3,minmax(0,1fr))}.primary-kpis .metric-card[data-metric=nav]{min-height:148px}.primary-kpis .metric-card[data-metric=nav] .metric-value{font-size:46px}}
@media(max-width:600px){.price-rail-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.position-price-rail{padding:13px}.primary-kpis .metric-card[data-metric=nav] .metric-value{font-size:36px}.badge,.status-badge,.action-badge{font-size:10px;padding:3px 6px;min-height:23px}.chart-host svg text,.story-chart svg text{font-size:11px}}
@media(prefers-reduced-motion:reduce){.side-link,.mobile-nav a,.mobile-nav button{transition:none}}

.gsam-chart .chart-gridline{stroke-opacity:.55;stroke-width:1}.gsam-chart:focus-visible{outline:2px solid var(--indigo);outline-offset:3px;border-radius:8px}

/* Keep the recorded order time separate from its ticker on mobile cards. */
@media(max-width:767px){#orders-table td[data-field="at"]{grid-column:2;grid-row:1;flex-direction:column;align-items:flex-end;gap:2px;font-size:11px}}

/* Company and publisher identities are bundled; their geometry never shifts. */
.identity-mark{position:relative;display:inline-grid;place-items:center;inline-size:36px;block-size:36px;flex:0 0 36px;border-radius:11px;overflow:hidden;background:#fff;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);vertical-align:middle;isolation:isolate}
.identity-mark img{position:absolute;inset:5px;inline-size:calc(100% - 10px);block-size:calc(100% - 10px);object-fit:contain;background:#fff;z-index:1}
.identity-fallback{font-size:10px;font-weight:750;letter-spacing:-.3px;color:#3d4a64;direction:ltr}
.identity-mark[data-identity=fallback]{background:var(--surface-2)}
.identity-mark[data-identity=fallback] .identity-fallback{color:var(--muted)}
.identity-mark[data-identity=fallback]{background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 16%,var(--surface)),var(--surface-2));border-color:color-mix(in srgb,var(--accent) 24%,var(--line))}
.identity-mark[data-identity=fallback] .identity-fallback{color:var(--accent);font-size:9px;letter-spacing:.1px}
.company-label{display:inline-flex;gap:8px;align-items:center;min-inline-size:0;vertical-align:middle;font-weight:700}
.company-label>bdi{white-space:nowrap;overflow-wrap:normal;word-break:normal}
.company-label .identity-mark{inline-size:28px;block-size:28px;flex-basis:28px;border-radius:8px}
.company-label .identity-mark img{inset:4px;inline-size:calc(100% - 8px);block-size:calc(100% - 8px)}
.activity-list .activity-row:has(>.company-mark){grid-template-columns:36px minmax(0,1fr) auto;gap:12px}
.activity-row>span:not(.identity-mark),.activity-row>div{min-inline-size:0}
.source-chip{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;vertical-align:middle;color:var(--muted);font-size:11px;font-weight:500;min-inline-size:0;max-inline-size:100%;line-height:1.5}
.source-chip .source-mark{inline-size:22px;block-size:22px;flex-basis:22px;border-radius:6px}
.source-chip .source-mark img{inset:3px;inline-size:calc(100% - 6px);block-size:calc(100% - 6px)}
.source-via{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}
.source-via .source-mark{inline-size:16px;block-size:16px;flex-basis:16px;border-radius:4px}
.source-via .source-mark img{inset:2px;inline-size:calc(100% - 4px);block-size:calc(100% - 4px)}
.status-title .source-mark{inline-size:18px;block-size:18px;flex-basis:18px}
.dialog-head h2{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-inline-size:0}
.participation-decisions{display:grid;gap:0}
.participation-decision{display:flex;align-items:center;justify-content:space-between;gap:12px;inline-size:100%;min-inline-size:0;min-block-size:70px;padding:14px 2px;border:0;border-block-end:1px solid var(--line);border-radius:0;background:transparent;color:var(--fg);text-align:start;font:inherit;cursor:pointer}
.participation-decision:last-child{border-block-end:0}
.participation-decision:hover{background:var(--surface-2)}
.participation-decision-copy{display:grid;gap:5px;min-inline-size:0;flex:1}
.participation-decision time{display:block;white-space:nowrap;direction:ltr;unicode-bidi:isolate;justify-self:start;font-size:11px;color:var(--muted);padding-inline-start:36px}
.participation-decision-open{color:var(--accent);white-space:nowrap;font-size:11px;flex-shrink:0}
.identity-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;letter-spacing:1px;direction:ltr}
.identity-brand .logo-svg{inline-size:36px;block-size:36px}
.story-table .company-label{min-inline-size:90px}
.bp-record summary .company-label{font-size:15px}
.source-name{color:var(--fg);overflow-wrap:anywhere}
.source-via{font-size:10px;overflow-wrap:anywhere}
.overview-news .source-chip{margin-block:6px 2px}
.news-item-head .company-label{margin-inline-end:auto}
.news-provider-name .source-chip{font-size:13px}
.news-provider-name .source-name{color:var(--accent)}
.story-head .company-label .identity-mark{inline-size:32px;block-size:32px;flex-basis:32px}

/* One immutable five-voter strip is shared by the journal and decision story. */
.ballot-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;min-inline-size:0;direction:rtl;text-align:center;white-space:normal}
.ballot-token{--ballot-color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;padding:8px 3px 7px;border:1px solid color-mix(in srgb,var(--ballot-color) 35%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--ballot-color) 7%,var(--surface));color:var(--ballot-color);min-inline-size:0;line-height:1.4}
.ballot-token[data-vote=BUY]{--ballot-color:var(--up)}
.ballot-token[data-vote=PASS],.ballot-token[data-vote=ABSTAIN]{--ballot-color:var(--down)}
.ballot-token[data-vote=ABSTAIN]{border-style:dashed;background:var(--surface)}
.ballot-token[data-vote=MISSING_DATA],.ballot-token[data-vote=ERROR]{--ballot-color:var(--warn)}
.ballot-token .bot-symbol{inline-size:21px;block-size:21px;flex-basis:21px;background:none;border:0;border-radius:0;color:var(--ballot-color)}
.ballot-token .bot-symbol svg{inline-size:17px;block-size:17px}
.ballot-token strong{font-size:10px;font-weight:700;color:var(--fg)}
.ballot-token small{font-size:9px;overflow-wrap:anywhere;color:var(--ballot-color)}
.decision-ballot-cell{min-inline-size:232px;white-space:normal!important}
.ballot-total{display:block;text-align:start;font-size:11px;color:var(--muted);margin-block-end:8px}
.story-body>.ballot-strip{margin-block:10px 18px;gap:8px}
.story-body>.ballot-strip .ballot-token{padding:11px 4px}
.story-body>.ballot-strip strong{font-size:12px}
.story-body>.ballot-strip small{font-size:10px}

/* Equal-length 100% bars compare response distributions, never hit rates. */
.participation-chart{display:grid;gap:0}
.participation-legend{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding-block:0 16px;color:var(--muted);font-size:11px}
.participation-legend span:before,.participation-counts>span:before{content:'';display:inline-block;inline-size:7px;block-size:7px;border-radius:2px;background:var(--muted);margin-inline-end:5px}
.participation-legend [data-vote=BUY]:before,.participation-counts [data-vote=BUY]:before{background:var(--accent)}
.participation-legend [data-vote=PASS]:before,.participation-counts [data-vote=PASS]:before{background:var(--indigo)}
.participation-row{padding-block:16px;border-block-start:1px solid var(--line);min-inline-size:0}
.participation-head{display:flex;align-items:center;gap:10px;margin-block-end:11px;font-size:12px;min-inline-size:0}
.participation-name{display:flex;gap:8px;align-items:center;margin-inline-end:auto}
.participation-name .bot-symbol{inline-size:28px;block-size:28px;flex-basis:28px;border-radius:8px}
.participation-name .bot-symbol svg{inline-size:19px;block-size:19px}
.participation-head .meta{font-size:10px}
.participation-head button{font-size:11px;min-block-size:32px;padding:5px 0 5px 6px}
.participation-bar{display:flex;inline-size:100%;block-size:30px;overflow:hidden;border-radius:7px;gap:2px;background:var(--surface-2);direction:rtl}
.participation-segment{display:grid;place-items:center;flex-shrink:1;min-inline-size:0;background:var(--muted);color:var(--surface);font-size:11px;font-weight:800;direction:ltr;font-variant-numeric:tabular-nums}
.participation-segment[data-vote=BUY]{background:var(--accent)}
.participation-segment[data-vote=PASS]{background:var(--indigo)}
.participation-segment:focus-visible{outline:2px solid var(--fg);outline-offset:-3px}
.participation-counts{display:flex;flex-wrap:wrap;gap:6px 15px;margin-block-start:8px;font-size:10px;color:var(--muted)}
.participation-counts bdi{font-weight:600;color:var(--fg)}
.participation-empty{padding:10px;border-radius:7px;background:var(--surface-2);color:var(--muted);font-size:11px}
.participation-chart>.meta{margin-block-start:12px;font-size:10px}
@media(max-width:767px){
  #decisions-table td.decision-ballot-cell{grid-column:1/-1;min-inline-size:0;margin-block:6px;padding-block:10px;border-block:1px solid var(--line)}
  #decisions-table td.decision-ballot-cell:before{display:none}
  #decisions-table td.decision-ballot-cell .ballot-strip{inline-size:100%}
  .story-body>.ballot-strip{gap:4px}
  .story-body>.ballot-strip strong{font-size:10px}
  .story-body>.ballot-strip small{font-size:9px}
  .activity-list .activity-row:has(>.company-mark){gap:9px}
  .news-item-head{gap:8px 10px}
  .participation-counts{gap:5px 10px;font-size:9px}
}
/* Shared, normalized BUY-vote ROI comparison. */
.bot-roi-panel{min-width:0}
.roi-summary{margin:0 0 18px;max-width:80ch;color:var(--muted);line-height:1.7}
.roi-legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.roi-legend-button{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--fg);font:inherit;font-size:12px;cursor:pointer}
.roi-legend-button[aria-pressed=false]{opacity:.45}
.roi-legend-button:focus-visible,.roi-chart:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.roi-swatch{width:17px;height:3px;flex:none;border-radius:3px;background:var(--series-color)}
.roi-plot{position:relative;min-height:180px;margin-bottom:22px;border:1px solid var(--line);border-radius:12px;padding:12px 8px;background:var(--surface-2);direction:ltr}
.roi-chart{display:block;width:100%;height:auto;min-height:180px;touch-action:pan-y}
.roi-chart text{fill:var(--muted);font-size:11px;font-family:inherit}
.roi-chart .chart-gridline{stroke:var(--chart-grid);stroke-width:1}
.roi-zero{stroke:var(--muted);stroke-dasharray:4 5;opacity:.6}
.roi-tooltip{direction:rtl;pointer-events:none;max-width:min(270px,90%)}
.roi-tip-row{display:flex!important;justify-content:space-between;gap:20px}
.roi-empty{display:grid;place-items:center;text-align:center;min-height:160px;padding:18px;color:var(--muted);direction:rtl;font-size:13px;line-height:1.7}
.roi-bot-cell{display:flex;align-items:center;gap:7px;white-space:nowrap}
.roi-bot-cell .bot-symbol{width:28px;height:28px;flex:none}
.roi-rank{border:1px solid var(--line);border-radius:6px;padding:2px 5px;font-size:11px;color:var(--muted)}
.roi-value{font-variant-numeric:tabular-nums;font-weight:650;white-space:nowrap}
.roi-value[data-sign=up]{color:var(--up)}
.roi-value[data-sign=down]{color:var(--down)}
.roi-value[data-sign=missing]{color:var(--muted)}
#bot-measurement-comparison .table-wrap{max-width:100%;overflow-x:auto}
#bot-measurement-comparison table{min-width:900px}
#bot-measurement-comparison td .meta{font-size:11px;margin:4px 0 0;white-space:nowrap}
.roi-scroll-note{margin-top:10px}
@media(max-width:600px){.roi-legend{gap:6px}.roi-legend-button{padding:7px 9px;gap:6px;font-size:11px}.roi-plot{padding:4px 0}.roi-chart{min-height:170px}.roi-chart text{font-size:12px}.bot-roi-panel>.panel-head{align-items:flex-start;gap:10px}}

#bot-measurement-comparison .data-table{display:table;width:100%;min-width:900px;border-collapse:collapse}
#bot-measurement-comparison .data-table thead{display:table-header-group}
#bot-measurement-comparison .data-table tbody{display:table-row-group}
#bot-measurement-comparison .data-table tr{display:table-row}
#bot-measurement-comparison .data-table th,#bot-measurement-comparison .data-table td{display:table-cell;vertical-align:middle;padding:12px 10px;text-align:start}
#bot-measurement-comparison .data-table td::before{display:none}
#bot-measurement-comparison .data-table th:first-child,#bot-measurement-comparison .data-table td:first-child{position:sticky;right:0;background:var(--surface);z-index:1;min-width:155px;border-left:1px solid var(--line)}
.roi-tooltip{font-size:12px;max-width:min(240px,90%)}
.roi-mobile-label{display:none}
/* Keep one semantic comparison table; stack its complete rows into phone cards. */
@media(max-width:900px){
  #bot-measurement-comparison .roi-table-wrap{overflow:visible;border:0;background:transparent}
  #bot-measurement-comparison .roi-responsive-table{display:block;min-width:0;width:100%;border:0}
  #bot-measurement-comparison .roi-responsive-table thead{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
  #bot-measurement-comparison .roi-responsive-table tbody{display:grid;gap:14px}
  #bot-measurement-comparison .roi-responsive-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 3px 12px #00000005}
  #bot-measurement-comparison .roi-responsive-table td{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:5px;min-width:0;min-height:0;padding:12px 0;white-space:normal;border:0;border-block-end:1px solid var(--line);font-size:16px;line-height:1.5;text-align:start}
  #bot-measurement-comparison .roi-responsive-table td:first-child{position:static;grid-column:1/-1;grid-row:1;min-width:0;padding:0 0 12px;background:transparent;z-index:auto;border-inline:0}
  #bot-measurement-comparison .roi-responsive-table td[data-roi-field=portfolio]{grid-column:1/-1;grid-row:2;margin-block-start:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
  #bot-measurement-comparison .roi-responsive-table td[data-roi-field=portfolio] .roi-cell-value{font-size:26px;line-height:1.4}
  #bot-measurement-comparison .roi-responsive-table td[data-roi-field=coverage],#bot-measurement-comparison .roi-responsive-table td[data-roi-field=details]{border-block-end:0;padding-block-end:0}
  #bot-measurement-comparison .roi-responsive-table td[data-roi-field=details]{justify-content:center}
  #bot-measurement-comparison .roi-responsive-table .roi-mobile-label{display:block;color:var(--muted);font-size:12px;font-weight:500;line-height:1.5;white-space:normal}
  #bot-measurement-comparison .roi-cell-value{min-width:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
  #bot-measurement-comparison .roi-responsive-table td .meta{font-size:12px;line-height:1.6;white-space:normal;overflow-wrap:anywhere}
  #bot-measurement-comparison .roi-bot-cell{gap:10px;white-space:normal;min-width:0}
  #bot-measurement-comparison .roi-bot-cell .bot-symbol{width:34px;height:34px}
  #bot-measurement-comparison .roi-bot-cell .row-details{font-size:16px;min-height:44px;padding:6px 0;white-space:normal;text-align:start}
  #bot-measurement-comparison .roi-rank{margin-inline-start:auto;flex:none;font-size:12px;direction:ltr;unicode-bidi:isolate}
  #bot-measurement-comparison td[data-roi-field=details] .row-details{display:block;width:100%;min-height:44px;padding:9px 6px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);font-size:12px;white-space:normal}
  #bot-measurement-comparison .row-details:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
}

/* Recent source headlines and immutable off-hours ballots. */
/* Override shared activity geometry for both two-child RSS and three-child SEC rows.
   Explicit columns keep the publication clock from squeezing a headline. */
.activity-list .overview-news-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;row-gap:5px}
.activity-list .overview-news-row:has(>.company-mark){grid-template-columns:36px minmax(0,1fr);column-gap:10px;row-gap:5px}
.overview-news-row>div{grid-column:-2/-1;min-inline-size:0}
.overview-news-row>.company-mark{grid-column:1;grid-row:1/3}
.overview-news-row .news-headline{display:block;color:var(--fg);font-size:13px;font-weight:600;line-height:1.7;text-decoration:none;overflow-wrap:anywhere;unicode-bidi:plaintext}
.overview-news-row .news-headline:hover{text-decoration:underline}
.overview-news-row>time{grid-column:-2/-1;font-size:10px;max-width:none;max-inline-size:100%;white-space:normal;line-height:1.6;direction:rtl;unicode-bidi:plaintext;overflow-wrap:anywhere}
.overview-news-row .source-chip{margin-block:6px 2px}
.overview-news-row .activity-copy{margin-block:5px}
.screening-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-block-start:18px}
.screening-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);min-inline-size:0}
.screening-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.screening-head time{margin-inline-start:auto;font-variant-numeric:tabular-nums}
.screening-result{font-size:12px;color:var(--muted);margin-block:12px}
.screening-card .ballot-strip{margin-block:12px}
.screening-card .disclosure summary{font-size:11px}
.screening-card .disclosure-body{overflow-wrap:anywhere}
@media(max-width:700px){
  .screening-list{grid-template-columns:minmax(0,1fr)}
  .screening-card{padding:13px}
  .overview-news .panel-head{flex-wrap:wrap}
  .overview-news .panel-head>div{flex:1 1 100%;min-inline-size:0}
  .overview-news .panel-head>.text-button{margin-block:0;min-block-size:44px}
}

/* One candidate panel; explanations and ranking are available on demand. */
.candidate-filters{display:flex;flex-wrap:wrap;gap:6px;margin-block:12px}
.candidate-filters button{border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--muted);padding:8px 12px;font:inherit;font-size:12px;min-block-size:44px;cursor:pointer}
.candidate-filters button[aria-pressed="true"]{color:var(--fg);border-color:var(--accent);background:var(--accent-soft)}
.candidate-filters button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.candidates-panel .screening-list{margin-block-start:10px;gap:10px}
.candidates-panel .screening-card{padding:12px}
.candidates-panel .screening-result{margin-block:8px}
.candidates-panel .ballot-strip{margin-block:8px}
.candidate-ranking{margin-block-start:16px}
.candidate-ranking .table-panel{padding:0;border:0;box-shadow:none;background:transparent}

/* Local US market identity beside the calendar badge. */
.periods button{direction:rtl}

/* Compact operating views; the overview retains the owner's large live clock. */
#app[data-current-view]:not([data-current-view="overview"]) .market-session{padding:8px 12px;gap:12px;border-radius:12px;flex-basis:auto}
#app[data-current-view]:not([data-current-view="overview"]) .market-session-icon,
#app[data-current-view]:not([data-current-view="overview"]) .market-session-detail,
#app[data-current-view]:not([data-current-view="overview"]) .market-countdown-caption{display:none}
#app[data-current-view]:not([data-current-view="overview"]) .market-session-headline{font-size:12px}
#app[data-current-view]:not([data-current-view="overview"]) .market-countdown{padding:4px 7px;border:0;box-shadow:none;background:transparent}
#app[data-current-view]:not([data-current-view="overview"]) .market-countdown-value{font-size:22px}
#app[data-current-view]:not([data-current-view="overview"]) .market-countdown-unit{min-width:27px}
#app[data-current-view]:not([data-current-view="overview"]) .market-countdown-unit-label{font-size:9px}
.entry-overview{margin-block:16px}
.entry-overview .panel-head{gap:10px;flex-wrap:wrap;margin-bottom:8px}
.entry-overview p{line-height:1.65;margin:8px 0;overflow-wrap:anywhere}
.entry-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-block:14px}
.entry-counts>div{padding:10px 6px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);display:grid;gap:5px;text-align:center;min-width:0}
.entry-counts strong{font-size:22px;font-variant-numeric:tabular-nums}
.entry-counts span{font-size:12px;color:var(--muted);line-height:1.4}
.performance-origin-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-block:12px}
.origin-filters,.news-quick-filters{display:flex;flex-wrap:wrap;gap:6px;max-width:100%}
.origin-filters button,.news-quick-filters button{min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--muted);font:inherit;font-size:13px;cursor:pointer;line-height:1.4}
.origin-filters button[aria-pressed="true"],.news-quick-filters button[aria-pressed="true"]{background:color-mix(in srgb,var(--accent) 13%,var(--surface));color:var(--accent);border-color:var(--accent)}
.currency-badge{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:7px;padding:4px 8px;color:var(--muted);font-size:12px;white-space:nowrap}
.trade-origin{display:inline-flex!important;width:fit-content;padding:3px 7px;border-radius:6px;font-size:12px!important;line-height:1.4;margin-top:6px;white-space:normal;background:var(--surface-2);color:var(--muted)}
.trade-origin.origin-diagnostic{color:var(--warn,#e6bb63);border:1px solid color-mix(in srgb,var(--warn,#e6bb63) 35%,transparent)}
.trade-origin.origin-autonomous{color:var(--accent)}
.policy-figures{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px;min-width:0;font-variant-numeric:tabular-nums}
.policy-figures bdi{white-space:nowrap}
#bot-roi-disclosure>.disclosure-body>.bot-roi-panel{padding:0;border:0;background:transparent;box-shadow:none}
#bot-roi-disclosure>summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bot-roster .bot-row{gap:10px;padding:14px}
.bot-roster .bot-row-name{min-width:0}
.bot-roster .bot-row-name p{margin:4px 0 0}
.bot-roster .vote-legend{margin:0;font-size:12px}
.bot-roster .bot-row>.text-button{justify-self:start;min-height:40px}
.candidate-more{justify-self:center;min-height:44px}
.provider-summary{display:flex;flex-wrap:wrap;gap:6px;margin-block:12px}
.provider-chip{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--muted);font:inherit;font-size:12px;cursor:pointer;min-height:36px}
.provider-chip::before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:currentColor}
.provider-chip[data-state="ok"]{color:var(--up)}
.provider-chip[data-state="error"],.provider-chip[data-state="gap"]{color:var(--down)}
.provider-chip[data-state="stale"],.provider-chip[data-state="cooldown"],.provider-chip[data-state="limited"],.provider-chip[data-state="partial"]{color:var(--warn,#e6bb63)}
.provider-diagnostics{margin-block:12px}
.news-quick-filters{margin-block:12px 8px}
.news-quick-filters button{flex:1 1 100px}
.news-scope-note{line-height:1.6}
.entry-overview button:focus-visible,.origin-filters button:focus-visible,.news-quick-filters button:focus-visible,.provider-chip:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:600px){
 .page-heading>div:first-child{min-width:0;flex:1}
 .page-heading h1{font-size:clamp(20px,5.5vw,28px);overflow-wrap:anywhere;line-height:1.25}
 .panel .meta,.panel .k,.news-panel .k,.news-panel .news-times,.component-card p{font-size:13px;line-height:1.65}
 .panel p:not(.metric-foot):not(.meta):not(.k):not(.vote-legend){line-height:1.65}
 .origin-filters{flex:1 1 100%}
 .origin-filters button{flex:1 1 80px;min-height:44px;padding-inline:8px}
 .news-quick-filters button{min-height:44px}
 .entry-counts{gap:6px}
 .entry-counts span{font-size:12px}
 #app[data-current-view]:not([data-current-view="overview"]) .market-session{grid-template-columns:minmax(0,1fr) auto}
 #app[data-current-view]:not([data-current-view="overview"]) .market-session[data-countdown-days="true"]{grid-template-columns:1fr}
 .policy-item>summary{gap:8px;flex-wrap:wrap}
 .policy-item-label{flex:1 1 110px}
}
.market-session-badge::after{content:"";order:-1;display:inline-block;flex:0 0 22px;width:22px;height:14px;border-radius:2px;background:center/cover no-repeat url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20190%20100%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%200h190v100H0z%22%2F%3E%3Cpath%20fill%3D%22%23b22234%22%20d%3D%22M0%200.000h190v7.692H0z%22%2F%3E%3Cpath%20fill%3D%22%23b22234%22%20d%3D%22M0%2015.385h190v7.692H0z%22%2F%3E%3Cpath%20fill%3D%22%23b22234%22%20d%3D%22M0%2030.769h190v7.692H0z%22%2F%3E%3Cpath%20fill%3D%22%23b22234%22%20d%3D%22M0%2046.154h190v7.692H0z%22%2F%3E%3Cpath%20fill%3D%22%23b22234%22%20d%3D%22M0%2061.538h190v7.692H0z%22%2F%3E%3Cpath%20fill%3D%22%23b22234%22%20d%3D%22M0%2076.923h190v7.692H0z%22%2F%3E%3Cpath%20fill%3D%22%23b22234%22%20d%3D%22M0%2092.308h190v7.692H0z%22%2F%3E%3Cpath%20fill%3D%22%233c3b6e%22%20d%3D%22M0%200h76v53.846H0z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m6.33%202.78%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m19.00%202.78%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m31.67%202.78%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m44.33%202.78%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m57.00%202.78%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m69.67%202.78%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m12.67%208.17%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m25.33%208.17%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m38.00%208.17%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m50.67%208.17%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m63.33%208.17%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m6.33%2013.55%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m19.00%2013.55%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m31.67%2013.55%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m44.33%2013.55%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m57.00%2013.55%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m69.67%2013.55%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m12.67%2018.94%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m25.33%2018.94%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m38.00%2018.94%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m50.67%2018.94%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m63.33%2018.94%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m6.33%2024.32%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m19.00%2024.32%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m31.67%2024.32%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m44.33%2024.32%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m57.00%2024.32%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m69.67%2024.32%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m12.67%2029.71%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m25.33%2029.71%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m38.00%2029.71%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m50.67%2029.71%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m63.33%2029.71%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m6.33%2035.09%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m19.00%2035.09%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m31.67%2035.09%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m44.33%2035.09%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m57.00%2035.09%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m69.67%2035.09%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m12.67%2040.48%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m25.33%2040.48%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m38.00%2040.48%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m50.67%2040.48%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m63.33%2040.48%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m6.33%2045.86%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m19.00%2045.86%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m31.67%2045.86%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m44.33%2045.86%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m57.00%2045.86%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m69.67%2045.86%20.61%201.88h1.98l-1.6%201.16.61%201.88-1.6-1.16-1.6%201.16.61-1.88-1.6-1.16h1.98z%22%2F%3E%3C%2Fsvg%3E");box-shadow:0 0 0 1px #ffffff26}

.roi-modes{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}.roi-modes button{min-height:38px;padding:8px 12px;font-size:12px}.roi-modes button[aria-pressed=true]{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}

/* Candidate outcomes, grouped votes and readable activity clocks. */
.screening-card[data-presentation-tone]{border:1px solid color-mix(in srgb,var(--card-tone) 40%,var(--line));border-inline-start:3px solid var(--card-tone);border-radius:12px;background:color-mix(in srgb,var(--card-tone) 9%,var(--surface));color:var(--fg)}
.screening-card[data-presentation-tone="skipped"]{--card-tone:var(--down,#fb7185)}
.screening-card[data-presentation-tone="buy"]{--card-tone:var(--up,#34d399)}
.screening-card[data-presentation-tone] .screening-head .badge{color:var(--card-tone);font-weight:750}
.screening-card .screening-result{display:flex;flex-direction:column;gap:3px;line-height:1.5}
.screening-vote-count{font-size:16px;font-weight:800;color:var(--card-tone,var(--fg));font-variant-numeric:tabular-nums}
.screening-vote-threshold{font-size:13px;font-weight:650;color:var(--muted);overflow-wrap:anywhere}
.screening-vote-threshold[data-below-quorum="true"]{color:var(--down,#fb7185)}
.screening-card .ballot-strip>.ballot-token{order:1}
.screening-card .ballot-strip>.ballot-token[data-vote="BUY"]{order:0}
.screening-card .ballot-strip>.ballot-token:is([data-vote="PASS"],[data-vote="ABSTAIN"]){order:2}
.screening-head>time,#recent-activity .activity-row>time{font-size:13px;font-weight:650;line-height:1.55;font-variant-numeric:tabular-nums}
#recent-activity .activity-row>time{max-width:none;max-inline-size:136px}
#recent-activity time.activity-dated .activity-day{font-size:12px}
@media(forced-colors:active){.screening-card[data-presentation-tone]{outline:1px solid CanvasText}}


/* Percentages for the bot's complete recorded vote sample. */
.vote-bar[data-vote-percentages]{height:26px;gap:0}
.vote-bar[data-vote-percentages]>span{display:grid;place-items:center;color:#fff;font-size:11px;font-weight:750;line-height:1;direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums;overflow:hidden;white-space:nowrap}
.vote-bar[data-vote-percentages]>span[hidden]{display:none}
.vote-legend>span:has(.vote-stat-heading){display:flex;flex-direction:column;gap:3px;padding:8px 3px}
.vote-legend>span:has(.vote-stat-heading):before{display:none}
.vote-stat-heading{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:3px 5px;font-size:11px;line-height:1.4}
.vote-stat-heading:before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.vote-stat-percent{font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}
.vote-stat-count{font-size:10px;font-weight:400;line-height:1.4;color:var(--muted);font-variant-numeric:tabular-nums}
@media(max-width:360px){.vote-stat-heading{font-size:10px;gap:2px 3px}.vote-stat-percent{font-size:12px}}
