/* Site chrome and the tokens the dashboard page expects (it was written for the claude.ai dashboard runtime).
   Layout: a slim top bar, then the dashboard in one centered column up to 1440px. */
:root {
  --color-bg: #f4f6f8;
  --color-panel: #ffffff;
  --color-fg: #15202c;
  --color-fg-muted: #586574;
  --color-border-line: #dfe4ea;
  --color-ok: #1d7a4c;
  --color-warn: #a86400;
  --color-bad: #b42a22;
  --series-1: #2f5f98; --series-2: #c2703d; --series-3: #4f8a6e; --series-4: #8a5fa8;
  --series-5: #b8913a; --series-6: #3f8fa6; --series-7: #a8566b; --series-8: #6b7380;
  --cds-chart-grid: #e8ecf0;
  --cds-chart-axis: #b9c2cc;
  --cds-chart-reference: #8b97a4;
  --cds-chart-muted: #a9b4bf;
  --cds-surface-popover: #ffffff;
  --cds-border: #d3d9e0;
  --cds-shadow-popover: 0 6px 24px rgba(21, 32, 44, .14);
  --cds-text-secondary: #586574;
  --font-anthropic-sans: "IBM Plex Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-anthropic-serif: "IBM Plex Serif", Georgia, "Times New Roman", serif;
  --cds-font-size-caption: .8125rem;
  --cds-font-size-body: .9375rem;
  --cds-font-size-heading: 1.0625rem;
  --cds-font-size-title: 1.75rem;
  --cds-font-weight-medium: 500;
  --cds-gap-xs: .25rem; --cds-gap-sm: .5rem; --cds-gap-md: .875rem; --cds-gap-lg: 1.25rem; --cds-gap-xl: 2rem;
  --cds-pad-xs: .3rem; --cds-pad-sm: .55rem; --cds-pad-md: .8rem; --cds-pad-lg: 1.1rem; --cds-pad-xl: 1.6rem;
  --cds-radius: 6px;
  --cds-dur-slow: .3s;
  --cds-ease-out: cubic-bezier(.2, .7, .2, 1);
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root {
    --color-bg: #0f1419;
    --color-panel: #161d25;
    --color-fg: #e6ebf0;
    --color-fg-muted: #9aa6b2;
    --color-border-line: #26313c;
    --color-ok: #4cc38a;
    --color-warn: #f0a647;
    --color-bad: #f07067;
    --series-1: #74a7e6; --series-2: #e39a6a; --series-3: #79bf9b; --series-4: #b391d1;
    --series-5: #d9b866; --series-6: #6fbfd4; --series-7: #d98aa0; --series-8: #a3abb6;
    --cds-chart-grid: #222c36;
    --cds-chart-axis: #3b4754;
    --cds-chart-reference: #6f7c89;
    --cds-chart-muted: #4b5866;
    --cds-surface-popover: #1d2630;
    --cds-border: #33404d;
    --cds-shadow-popover: 0 6px 24px rgba(0, 0, 0, .45);
    --cds-text-secondary: #9aa6b2;
    color-scheme: dark;
  }
}

html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--color-bg); color: var(--color-fg); font-family: var(--font-anthropic-sans); font-size: var(--cds-font-size-body); }
* { box-sizing: border-box; }
[hidden] { display: none !important; }

.acc-bar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cds-gap-sm) var(--cds-gap-lg);
  padding: var(--cds-pad-sm) max(16px, 3vw); background: var(--color-panel); border-bottom: 1px solid var(--color-border-line);
  position: sticky; top: 0; z-index: 5; }
.acc-brand { font-family: var(--font-anthropic-serif); font-size: 1.05rem; color: var(--color-fg); text-decoration: none; }
.acc-status { flex: 1 1 14rem; margin: 0; font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); font-variant-numeric: tabular-nums; }
.acc-actions { display: flex; flex-wrap: wrap; gap: var(--cds-gap-xs); align-items: center; }
.acc-actions form { margin: 0; }
.acc-btn { font: inherit; font-size: var(--cds-font-size-caption); color: var(--color-fg); background: var(--color-bg);
  border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); padding: .35rem .7rem; cursor: pointer; text-decoration: none; display: inline-block; }
.acc-btn:hover { border-color: var(--color-fg-muted); }
.acc-btn-small { padding: .15rem .5rem; margin-left: var(--cds-gap-xs); }
.acc-error { margin: var(--cds-gap-md) max(16px, 3vw) 0; padding: var(--cds-pad-sm) var(--cds-pad-md); border-radius: var(--cds-radius);
  border: 1px solid var(--color-border-line); border-left: 3px solid var(--color-bad); background: var(--color-panel); line-height: 1.45; }
.acc-main { max-width: 1440px; margin: 0 auto; padding: var(--cds-pad-lg) max(16px, 3vw) var(--cds-pad-xl); }
:focus-visible { outline: 2px solid var(--color-fg); outline-offset: 2px; }

.dash-skeleton { position: relative; border-radius: var(--cds-radius); overflow: hidden; }
.dash-skeleton::after { content: ""; position: absolute; inset: 0; border-radius: var(--cds-radius);
  background: linear-gradient(90deg, var(--color-border-line) 0%, var(--color-bg) 50%, var(--color-border-line) 100%); background-size: 200% 100%; opacity: .55; }
@media (prefers-reduced-motion: no-preference) {
  .dash-skeleton::after { animation: acc-shimmer 1.4s linear infinite; }
}
@keyframes acc-shimmer { from { background-position: 100% 0; } to { background-position: -100% 0; } }

/* Sign-in, first-run and settings pages */
.acc-auth-wrap { min-height: 100vh; display: grid; place-items: center; padding: 24px 16px; }
.acc-auth-card { width: min(100%, 25rem); display: grid; gap: var(--cds-gap-md); padding: var(--cds-pad-xl);
  background: var(--color-panel); border: 1px solid var(--color-border-line); border-radius: 10px; }
.acc-auth-kicker { margin: 0; font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); letter-spacing: .02em; }
.acc-auth-title { margin: 0; font-family: var(--font-anthropic-serif); font-weight: 400; font-size: 1.9rem; line-height: 1.1; }
.acc-auth-lede { margin: 0; color: var(--color-fg-muted); line-height: 1.5; }
.acc-auth-error { margin: 0; padding: var(--cds-pad-sm) var(--cds-pad-md); border-radius: var(--cds-radius); border-left: 3px solid var(--color-bad);
  background: var(--color-bg); line-height: 1.45; }
.acc-notice { margin: 0; padding: var(--cds-pad-sm) var(--cds-pad-md); border-radius: var(--cds-radius); border-left: 3px solid var(--color-ok);
  background: var(--color-panel); line-height: 1.45; }
.acc-field { display: grid; gap: var(--cds-gap-xs); font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); }
.acc-field input, .acc-field textarea { font: inherit; font-size: 1rem; color: var(--color-fg); background: var(--color-bg);
  border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); padding: .6rem .7rem; width: 100%; }
.acc-field textarea { font-family: ui-monospace, Consolas, monospace; font-size: .8125rem; resize: vertical; }
.acc-pass { display: flex; gap: var(--cds-gap-xs); }
.acc-pass input { flex: 1; min-width: 0; }
.acc-eye { font: inherit; font-size: var(--cds-font-size-caption); color: var(--color-fg); background: var(--color-panel);
  border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); padding: 0 .7rem; cursor: pointer; }
.acc-primary { font: inherit; font-weight: 500; color: var(--color-panel); background: var(--color-fg); border: 0;
  border-radius: var(--cds-radius); padding: .7rem 1rem; cursor: pointer; justify-self: start; }
.acc-auth-card .acc-primary { justify-self: stretch; }
.acc-primary:hover { opacity: .9; }
.acc-settings { max-width: 52rem; margin: 0 auto; padding: var(--cds-pad-lg) 16px var(--cds-pad-xl); display: grid; gap: var(--cds-gap-lg); }
.acc-page-title { margin: 0; font-family: var(--font-anthropic-serif); font-weight: 400; font-size: 1.75rem; }
.acc-panel { display: grid; gap: var(--cds-gap-md); padding: var(--cds-pad-lg); background: var(--color-panel);
  border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); line-height: 1.5; }
.acc-panel p { margin: 0; }
.acc-h2 { margin: 0; font-size: var(--cds-font-size-heading); font-weight: 500; }
.acc-form { display: grid; gap: var(--cds-gap-md); }
.acc-muted { color: var(--color-fg-muted); font-size: var(--cds-font-size-caption); }
.acc-mono { font-family: ui-monospace, Consolas, monospace; font-size: .85em; overflow-wrap: anywhere; }
.acc-steps summary { cursor: pointer; font-weight: 500; }
.acc-steps ol { margin: var(--cds-gap-sm) 0; padding-left: 1.3rem; display: grid; gap: var(--cds-gap-xs); }
.acc-shape { max-height: 24rem; overflow: auto; border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); }
.acc-shape table { border-collapse: collapse; width: 100%; font-size: var(--cds-font-size-caption); }
.acc-shape td { padding: .25rem .5rem; border-bottom: 1px solid var(--color-border-line); vertical-align: top; overflow-wrap: anywhere; }
.rv-drv { display: grid; grid-template-columns: minmax(16rem, 24rem) minmax(0, 1fr); gap: var(--cds-gap-md); align-items: start; }
@media (max-width: 900px) { .rv-drv { grid-template-columns: 1fr; } }
.rv-table tr.rv-picked td { background: var(--color-bg); font-weight: 500; }
.acc-nav { display: flex; gap: var(--cds-gap-xs); }
.acc-nav a { font-size: var(--cds-font-size-body); color: var(--color-fg-muted); text-decoration: none; padding: .3rem .6rem; border-radius: var(--cds-radius); }
.acc-nav a[aria-current="page"] { color: var(--color-fg); background: var(--color-bg); font-weight: 500; }

/* ---- safetywenze.com look: warm paper background, navy pill navigation, red active item, Inter ---- */
:root {
  --navy: #003049; --red: #c1121f; --cream: #fdf0d5;
  --color-bg: #f4f1ea; --color-panel: #ffffff; --color-fg: #0b1f2c; --color-fg-muted: #5e717d;
  --color-border-line: #e6e0d4; --color-ok: #14884a; --color-warn: #d47b06; --color-bad: #c1121f;
  --series-1: #003049; --series-2: #c1121f; --series-3: #669bbc; --series-4: #d47b06;
  --cds-chart-grid: #efe9dc; --cds-chart-axis: #cfc6b5; --cds-chart-muted: #93a3ad;
  --cds-border: #e6e0d4; --cds-text-secondary: #5e717d;
  --font-anthropic-sans: Inter, "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
  --font-anthropic-serif: Inter, "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
  --cds-radius: 12px;
  --appbar-bg: rgba(244, 241, 234, .92);
  --shadow: 0 2px 6px rgba(0, 48, 73, .04), 0 10px 30px rgba(0, 48, 73, .06);
}
/* Like safetywenze.com, the site stays light whatever the system theme. */
:root { color-scheme: light; --cds-chart-reference: #8b97a4; --cds-surface-popover: #ffffff; --cds-shadow-popover: 0 6px 24px rgba(0, 48, 73, .14);
  --series-5: #b8913a; --series-6: #3f8fa6; --series-7: #a8566b; --series-8: #6b7380; }
body { font-size: 14px; }
.appbar { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: 18px; padding: 14px 28px;
  background: var(--appbar-bg); backdrop-filter: blur(10px); }
.brand { display: flex; align-items: center; gap: 11px; text-decoration: none; color: inherit; flex: 0 0 auto; }
.brand-logo { display: block; width: 46px; height: auto; filter: drop-shadow(0 4px 10px rgba(0, 48, 73, .18)); }
.brand-copy { display: flex; flex-direction: column; }
.brand-text { font-weight: 800; font-size: 13.5px; color: var(--color-fg); letter-spacing: .02em; text-transform: uppercase; white-space: nowrap; }
.brand-sub { font-size: 11px; color: var(--color-fg-muted); letter-spacing: .02em; }
.navpill { display: flex; align-items: center; gap: 4px; margin: 0 auto; padding: 6px; background: var(--navy); border-radius: 999px;
  box-shadow: 0 12px 30px rgba(0, 48, 73, .28); max-width: 100%; overflow-x: auto; }
.navpill .nav-item { display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; border-radius: 999px; color: #d3e0ea;
  text-decoration: none; font-size: 13.5px; font-weight: 600; white-space: nowrap; transition: background .15s ease, color .15s ease; }
.navpill .nav-item:hover { background: rgba(255, 255, 255, .09); color: #fff; }
.navpill .nav-item.is-active { background: var(--red); color: #fff; box-shadow: 0 6px 16px rgba(193, 18, 31, .35); }
.nav-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--cream); }
.appbar-tools { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.appbar-tools form { margin: 0; }
.tool-btn { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--color-border-line);
  background: var(--color-panel); color: var(--color-fg); text-decoration: none; box-shadow: var(--shadow); cursor: pointer; padding: 0;
  transition: transform .15s ease, border-color .15s ease; }
.tool-btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tool-btn:hover { transform: translateY(-1px); border-color: #cfc6b5; }
.tool-btn.is-active { background: var(--navy); border-color: var(--navy); color: #fff; }
.acc-status { max-width: 1440px; margin: 0 auto; padding: 0 max(16px, 3vw); font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); }
.acc-main { padding-top: var(--cds-pad-sm); }
.rv-title, .acc-page-title { font-weight: 750; font-size: 32px; letter-spacing: -0.025em; line-height: 1.1; }
.rv-tile-value { font-weight: 700; letter-spacing: -0.02em; }
.rv-card, .rv-tile, .acc-panel { border-radius: 20px; box-shadow: var(--shadow); }
.rv-tab[aria-selected="true"] { border-bottom-color: var(--red); }
.rv-chip[aria-pressed="true"] { background: var(--navy); border-color: var(--navy); color: #fff; }
.acc-primary { background: var(--navy); color: #fff; border-radius: 999px; }
@media (max-width: 760px) {
  .appbar { flex-wrap: wrap; gap: 12px; padding: 10px 14px; }
  .brand-copy { display: none; }
  .appbar-tools { margin-left: auto; }
  .navpill { order: 3; flex: 1 1 100%; justify-content: flex-start; }
  .tool-btn { width: 38px; height: 38px; }
  .rv-title { font-size: 26px; }
}
#driver-detail .rv-h3 { margin-top: var(--cds-gap-sm); }

/* Dashboard page (from dashboard/page.html) */
.rv { display: grid; gap: var(--cds-gap-lg); font-family: var(--font-anthropic-sans); color: var(--color-fg); min-width: 0; }
  .rv * { box-sizing: border-box; }
  .rv h2, .rv h3, .rv p { margin: 0; }
  .rv-head { display: flex; flex-wrap: wrap; gap: var(--cds-gap-md); align-items: flex-end; justify-content: space-between; }
  .rv-head-text { flex: 1 1 26rem; min-width: 0; display: grid; gap: var(--cds-gap-xs); }
  .rv-title { font-family: var(--font-anthropic-serif); font-weight: 400; font-size: var(--cds-font-size-title); line-height: 1.15; text-wrap: balance; }
  .rv-lede { color: var(--color-fg-muted); font-size: var(--cds-font-size-body); line-height: 1.5; max-width: 72ch; }
  .rv .rv-lede b, .rv .rv-warn b { color: var(--color-fg); font-weight: var(--cds-font-weight-medium); font-variant-numeric: tabular-nums; }
  .rv-period { display: grid; gap: var(--cds-gap-xs); font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); }
  .rv-select, .rv-input { font: inherit; font-size: var(--cds-font-size-body); color: var(--color-fg); background: var(--color-panel);
    border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); padding: var(--cds-pad-xs) var(--cds-pad-sm); }
  .rv-select { min-width: 12rem; }
  .rv-input { width: min(100%, 26rem); }
  .rv-select:focus-visible, .rv-input:focus-visible, .rv button:focus-visible { outline: 2px solid var(--color-fg); outline-offset: 2px; }

  .rv-warn { display: flex; gap: var(--cds-gap-sm); align-items: baseline; padding: var(--cds-pad-md) var(--cds-pad-lg);
    border: 1px solid var(--color-border-line); border-left: 3px solid var(--color-warn); border-radius: var(--cds-radius); background: var(--color-panel); }
  .rv-warn p { font-size: var(--cds-font-size-body); line-height: 1.5; color: var(--color-fg-muted); max-width: 90ch; }
  .rv-warn-dot { flex: none; width: .5rem; height: .5rem; border-radius: 50%; background: var(--color-warn); transform: translateY(-.1rem); }

  .rv-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: var(--cds-gap-md); }
  .rv-tile { display: grid; align-content: start; gap: var(--cds-gap-xs); padding: var(--cds-pad-md) var(--cds-pad-lg);
    background: var(--color-panel); border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); min-width: 0; text-align: left; font: inherit; color: inherit; }
  .rv-tile-label { font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); }
  .rv-tile-value { font-family: var(--font-anthropic-serif); font-weight: 400; font-size: clamp(1.25rem, .9rem + 1.2vw, var(--cds-font-size-title));
    line-height: 1.1; font-variant-numeric: tabular-nums; white-space: nowrap; }
  .rv-tile-sub { font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); line-height: 1.4; }
  .rv-tile-sub b { color: var(--color-fg); font-weight: var(--cds-font-weight-medium); font-variant-numeric: tabular-nums; }
  .rv-tile-main { border-top: 3px solid var(--color-fg); }
  .rv-neg { color: var(--color-bad); }
  .rv-pos { color: var(--color-ok); }

  .rv-tabs { display: flex; flex-wrap: wrap; gap: var(--cds-gap-xs); border-bottom: 1px solid var(--color-border-line); }
  .rv-tab { font: inherit; font-size: var(--cds-font-size-body); color: var(--color-fg-muted); background: none; border: 0;
    border-bottom: 2px solid transparent; padding: var(--cds-pad-sm) var(--cds-pad-md); cursor: pointer; margin-bottom: -1px; }
  .rv-tab:hover { color: var(--color-fg); }
  .rv-tab[aria-selected="true"] { color: var(--color-fg); border-bottom-color: var(--color-fg); font-weight: var(--cds-font-weight-medium); }
  .rv-page { display: grid; gap: var(--cds-gap-lg); min-width: 0; }

  .rv-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr)); gap: var(--cds-gap-md); }
  .rv-grid-tables { grid-template-columns: repeat(auto-fit, minmax(min(100%, 34rem), 1fr)); }
  .rv-card { display: grid; align-content: start; gap: var(--cds-gap-sm); min-width: 0; background: var(--color-panel);
    border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); padding: var(--cds-pad-lg); }
  .rv-h2 { font-size: var(--cds-font-size-heading); font-weight: var(--cds-font-weight-medium); text-wrap: balance; }
  .rv-note { font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); line-height: 1.45; max-width: 80ch; }
  .rv-chart { position: relative; min-width: 0; }
  .rv-chart-wf { min-height: 320px; }
  .rv-chart-line, .rv-chart-bars { min-height: 270px; }
  .rv-chart svg { display: block; overflow: visible; }
  .rv-failed { display: flex; align-items: center; justify-content: center; gap: var(--cds-gap-xs); min-height: inherit;
    font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); }
  .rv-failed::before { content: ""; width: .375rem; height: .375rem; border-radius: 50%; background: var(--color-bad); }

  .rv-legend { display: flex; flex-wrap: wrap; gap: var(--cds-gap-xs) var(--cds-gap-md); font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); }
  .rv-legend span { display: inline-flex; align-items: center; gap: var(--cds-gap-xs); }
  .rv-sw { display: inline-block; width: .75rem; height: .75rem; border-radius: 2px; }
  .rv-sw-in { background: var(--color-ok); }
  .rv-sw-out { background: var(--color-bad); }
  .rv-sw-net { height: 2px; background: var(--color-fg); }

  .rv-axis text, .rv-wf-label, .rv-tick { fill: var(--color-fg-muted); font-size: var(--cds-font-size-caption); font-family: var(--font-anthropic-sans); }
  .rv-wf-val, .rv-endlabel { fill: var(--color-fg); font-size: var(--cds-font-size-caption); font-family: var(--font-anthropic-sans); font-variant-numeric: tabular-nums; }
  .rv-grid-line { stroke: var(--cds-chart-grid); stroke-width: 1; }
  .rv-zero { stroke: var(--cds-chart-reference); stroke-width: 1; stroke-dasharray: 4 3; }
  .rv-link { stroke: var(--cds-chart-axis); stroke-width: 1; stroke-dasharray: 2 2; }
  .rv-wf-up, .rv-m-in { fill: var(--color-ok); }
  .rv-wf-down, .rv-m-out { fill: var(--color-bad); }
  .rv-m-net { stroke: var(--color-fg); stroke-width: 2; stroke-linecap: round; }
  .rv-band { fill: var(--cds-chart-muted); opacity: .22; }
  .rv-over { fill: var(--color-warn); }
  .rv-rule { stroke: var(--cds-chart-axis); stroke-width: 1; }
  .rv-hit { fill: transparent; cursor: pointer; }
  .rv-dim { opacity: .3; }
  .rv-tip { position: absolute; z-index: 2; pointer-events: none; background: var(--cds-surface-popover); border: 1px solid var(--cds-border);
    border-radius: var(--cds-radius); box-shadow: var(--cds-shadow-popover); padding: var(--cds-pad-xs) var(--cds-pad-sm);
    font-size: var(--cds-font-size-caption); line-height: 1.45; white-space: nowrap; font-variant-numeric: tabular-nums; }
  .rv-tip-head { color: var(--cds-text-secondary); }

  .rv-tablebox { overflow: auto; max-height: 28rem; min-width: 0; border-top: 1px solid var(--color-border-line); }
  .rv-tall { max-height: 40rem; }
  .rv-table { width: 100%; border-collapse: collapse; font-size: var(--cds-font-size-caption); font-variant-numeric: tabular-nums; }
  .rv-table th { position: sticky; top: 0; z-index: 1; background: var(--color-panel); text-align: left; font-weight: var(--cds-font-weight-medium);
    color: var(--color-fg-muted); padding: var(--cds-pad-xs) var(--cds-pad-sm); border-bottom: 1px solid var(--color-border-line); white-space: nowrap; }
  .rv-table td { padding: var(--cds-pad-xs) var(--cds-pad-sm); border-bottom: 1px solid var(--color-border-line); vertical-align: top; }
  .rv-table .num { text-align: right; white-space: nowrap; }
  .rv-table td.wrap { min-width: 14rem; line-height: 1.4; }
  .rv-table td.mid { min-width: 9rem; }
  .rv-table tr.rv-row-mig td { color: var(--color-fg-muted); }
  .rv-table td.rv-guess { font-style: italic; color: var(--color-fg-muted); }
  .rv-cellbar { position: relative; }
  .rv-cellbar > span { position: absolute; right: var(--cds-pad-sm); bottom: 3px; height: 3px; background: var(--color-bad); opacity: .6; border-radius: 2px; }
  .rv-sort { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline dotted; text-underline-offset: 3px; }
  .rv-table th[aria-sort="ascending"] .rv-sort::after { content: " ▲"; }
  .rv-table th[aria-sort="descending"] .rv-sort::after { content: " ▼"; }
  .rv-pill { display: inline-block; padding: 0 var(--cds-pad-xs); border-radius: var(--cds-radius); border: 1px solid currentColor; white-space: nowrap; }
  .rv-pill-fix { color: var(--color-bad); }
  .rv-pill-info { color: var(--color-fg-muted); }
  .rv-empty { font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); padding: var(--cds-pad-sm) 0; }

  .rv-controls { display: flex; flex-wrap: wrap; gap: var(--cds-gap-sm) var(--cds-gap-md); align-items: center; }
  .rv-check { display: inline-flex; gap: var(--cds-gap-xs); align-items: center; font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); }
  .rv-chips { display: flex; flex-wrap: wrap; gap: var(--cds-gap-xs); }
  .rv-chip, .rv-more { font: inherit; font-size: var(--cds-font-size-caption); color: var(--color-fg); background: var(--color-bg);
    border: 1px solid var(--color-border-line); border-radius: 999px; padding: var(--cds-pad-xs) var(--cds-pad-sm); cursor: pointer; }
  .rv-chip[aria-pressed="true"] { background: var(--color-fg); color: var(--color-bg); border-color: var(--color-fg); }
  .rv-more { justify-self: start; border-radius: var(--cds-radius); }
  .rv-count { font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); }
  .rv-status { cursor: pointer; }
  .rv-status:hover { border-color: var(--color-fg-muted); }
  .rv-status[aria-pressed="true"] { border-color: var(--color-fg); box-shadow: inset 0 0 0 1px var(--color-fg); }

  .rv-prose { gap: var(--cds-gap-md); }
  .rv-prose p { font-size: var(--cds-font-size-body); line-height: 1.55; max-width: 75ch; }
  .rv-h3 { font-size: var(--cds-font-size-body); font-weight: var(--cds-font-weight-medium); }
  .rv-dl { display: grid; grid-template-columns: minmax(8rem, 13rem) 1fr; gap: var(--cds-gap-sm) var(--cds-gap-lg); margin: 0; max-width: 90ch; }
  .rv-dl dt { font-weight: var(--cds-font-weight-medium); font-size: var(--cds-font-size-body); }
  .rv-dl dd { margin: 0; font-size: var(--cds-font-size-body); line-height: 1.5; color: var(--color-fg-muted); }
  @media (max-width: 560px) {
    .rv-dl { grid-template-columns: 1fr; gap: var(--cds-gap-xs); }
    .rv-dl dd { margin-bottom: var(--cds-gap-sm); }
    .rv-narrow-hide { display: none; }
  }
  [data-dash-source-state=refreshing] { opacity: .5; transition: opacity var(--cds-dur-slow); }
  [data-dash-source-state=empty] { color: transparent; }
