:root {
  color-scheme: light;
  --background: hsl(45 25% 98%);
  --foreground: hsl(210 20% 16%);
  --muted: hsl(40 15% 94%);
  --muted-foreground: hsl(210 10% 39%);
  --border: hsl(40 12% 84%);
  --primary: hsl(191 66% 28%);
  --viz-series-1: #2072b3;
  --viz-series-2: #178271;
  --viz-series-3: #b45e22;
  --viz-series-4: #895ac2;
  --viz-series-5: #bb4568;
  --viz-series-6: #857216;
  --red: #d43f42;
  --yellow: #e4c278;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --background: hsl(210 18% 11%);
  --foreground: hsl(40 20% 92%);
  --muted: hsl(210 16% 17%);
  --muted-foreground: hsl(210 10% 70%);
  --border: hsl(210 12% 29%);
  --primary: hsl(185 48% 69%);
  --viz-series-1: #80b7ee;
  --viz-series-2: #73c7ad;
  --viz-series-3: #edab78;
  --viz-series-4: #bca0ed;
  --viz-series-5: #ea8ca5;
  --viz-series-6: #dac676;
  --red: #ee7270;
  --yellow: #e4c278;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: var(--background); color: var(--foreground); }
body { display: flow-root; font-family: Arial, Helvetica, sans-serif; font-size: 16px; line-height: 1.65; }
h3 { font-size: 19px; font-weight: 600; line-height: 1.4; }
.text-small { font-size: 13px; line-height: 1.5; }
.tabular-nums { font-variant-numeric: tabular-nums; }
.viz-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.form-label { display: inline-flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 14px; }
button, input, select { font: inherit; }
.btn, .form-select { border: 1px solid var(--border); border-radius: 5px; background: var(--background); color: var(--foreground); padding: 7px 10px; font-size: 14px; }
.btn { cursor: pointer; }
.btn-primary { color: var(--primary); border-color: var(--primary); font-weight: 600; min-width: 108px; }
.form-check { display: inline-flex; gap: 5px; align-items: center; cursor: pointer; min-height: 32px; }
input { accent-color: var(--primary); }
.form-range { width: 100%; margin: 8px 0; }
:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.bp-caption, .bp-audit { color: var(--muted-foreground); }
.bp-audit { overflow-wrap: anywhere; }
#bp-error { border: 1px solid var(--border); padding: 16px; }
@media (max-width: 430px) {
  #emg-web-handoff-demo .bp-audit { grid-template-columns: 1fr; gap: 4px; }
  #emg-web-handoff-demo .bp-audit dd { margin-bottom: 12px; }
}
