  #dash-root { --lbn-blue: #1f3c93; --lbn-blue-soft: #3f5fc4; --lbn-yellow: #f6c324; --lbn-yellow-deep: #e0a800; }
  .lx { font-family: var(--font-anthropic-sans); display: flex; flex-direction: column; gap: var(--cds-gap-lg); color: var(--color-fg); position: relative; }
  .lx * { box-sizing: border-box; }
  .lx-head { display: flex; flex-wrap: wrap; gap: var(--cds-gap-md); align-items: center; }
  .lx-logo { height: 50px; width: auto; flex: none; }
  .lx-head-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 16rem; }
  .lx-title { font-family: var(--font-anthropic-serif); font-weight: 400; font-size: var(--cds-font-size-title); margin: 0; line-height: 1.1; }
  .lx-title b { color: var(--lbn-blue); font-weight: 600; }
  .lx-asof { margin: 0; color: var(--color-fg-muted); font-size: var(--cds-font-size-caption); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
  .lx-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--color-ok); display: inline-block; }
  .lx-controls { display: flex; gap: var(--cds-gap-sm); align-items: flex-end; flex-wrap: wrap; margin-left: auto; }
  .lx-field { display: flex; flex-direction: column; gap: 3px; }
  .lx-field label, .lx-lbl { font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); padding-left: 2px; }
  .lx select, .lx input[type=search], .lx input[type=month], .lx input[type=number] { 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: 6px 9px; max-width: 100%; }
  .lx button { font: inherit; cursor: pointer; }
  .lx-link { font-size: var(--cds-font-size-caption); color: var(--lbn-blue); background: none; border: none; text-decoration: underline; padding: 4px 2px; }
  :root[data-theme=dark] .lx-link, :root:not([data-theme=light]) .lx-link { color: var(--lbn-yellow); }
  .lx-btn { 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: 6px 12px; }
  .lx-btn.pri { background: var(--lbn-blue); border-color: var(--lbn-blue); color: #fff; }
  .lx-seg { display: inline-flex; border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); overflow: hidden; flex-wrap: nowrap; }
  .lx-seg button { font-size: var(--cds-font-size-caption); background: var(--color-panel); color: var(--color-fg-muted); border: none; padding: 6px 10px; white-space: nowrap; }
  .lx-seg button[aria-pressed=true] { background: var(--lbn-blue); color: #fff; }
  .lx-gp { display: flex; flex-wrap: wrap; gap: var(--cds-gap-sm); align-items: center; padding: var(--cds-pad-sm) var(--cds-pad-md); background: var(--color-panel); border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); }
  .lx-gp .lx-lbl { text-transform: uppercase; letter-spacing: .04em; font-size: 11px; }
  .lx-chip { display: inline-flex; gap: 5px; align-items: center; padding: 2px 9px; border-radius: 999px; font-size: var(--cds-font-size-caption); background: color-mix(in srgb, var(--color-fg) 7%, transparent); color: var(--color-fg-muted); border: none; white-space: nowrap; }
  .lx-chip.warn { background: color-mix(in srgb, var(--lbn-yellow) 25%, transparent); color: var(--color-fg); }
  .lx-chip.btn:hover { background: color-mix(in srgb, var(--lbn-blue) 14%, transparent); color: var(--color-fg); }

  .lx-tabs { display: flex; gap: 2px; flex-wrap: wrap; border-bottom: 1px solid var(--color-border-line); }
  .lx-tab { font-size: var(--cds-font-size-body); color: var(--color-fg-muted); background: none; border: none; border-bottom: 2px solid transparent; margin-bottom: -1px; padding: 9px 12px; white-space: nowrap; }
  .lx-tab:hover { color: var(--color-fg); }
  .lx-tab[aria-selected=true] { color: var(--lbn-blue); border-bottom-color: var(--lbn-blue); font-weight: var(--cds-font-weight-medium); }
  :root[data-theme=dark] .lx-tab[aria-selected=true], :root:not([data-theme=light]) .lx-tab[aria-selected=true] { color: var(--lbn-yellow); border-bottom-color: var(--lbn-yellow); }
  .lx-panel { display: flex; flex-direction: column; gap: var(--cds-gap-lg); min-height: 300px; }
  .lx-panel[hidden] { display: none; }
  .lx-takeaway { margin: 0; max-width: 90ch; line-height: 1.55; font-size: var(--cds-font-size-body); }
  .lx-takeaway b { font-weight: var(--cds-font-weight-medium); }

  .lx-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); gap: var(--cds-gap-md); }
  .lx-tile { text-align: left; background: var(--color-panel); border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); padding: var(--cds-pad-md) var(--cds-pad-lg); display: flex; flex-direction: column; gap: 4px; min-width: 0; color: inherit; }
  .lx-tile.click:hover { border-color: var(--lbn-blue); box-shadow: 0 0 0 1px var(--lbn-blue); }
  .lx-tile.accent { border-top: 3px solid var(--lbn-blue); }
  .lx-tile-label { font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); display: flex; justify-content: space-between; gap: 6px; }
  .lx-tile-value { font-family: var(--font-anthropic-serif); font-size: var(--cds-font-size-title); font-variant-numeric: tabular-nums; line-height: 1.1; }
  .lx-tile-sub { font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); font-variant-numeric: tabular-nums; }
  .lx-delta { font-variant-numeric: tabular-nums; }
  .lx-delta.up { color: var(--color-ok); } .lx-delta.down { color: var(--color-bad); }
  .lx-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr)); gap: var(--cds-gap-md); }
  .lx-grid.c3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); }
  .lx-card { background: var(--color-panel); border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); padding: var(--cds-pad-lg); display: flex; flex-direction: column; gap: var(--cds-gap-sm); min-width: 0; }
  .lx-card.wide { grid-column: 1 / -1; }
  .lx-card-head { display: flex; flex-wrap: wrap; gap: var(--cds-gap-sm); justify-content: space-between; align-items: flex-start; }
  .lx-card-head > .lx-ct { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 12rem; }
  .lx-card-tools { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
  .lx-h3 { font-size: var(--cds-font-size-heading); font-weight: var(--cds-font-weight-medium); margin: 0; }
  .lx-sub { margin: 0; color: var(--color-fg-muted); font-size: var(--cds-font-size-caption); }
  .lx-chart { position: relative; width: 100%; min-height: 120px; }
  .lx-chart svg { display: block; width: 100%; overflow: visible; }
  .lx-legend { display: flex; gap: var(--cds-gap-md); flex-wrap: wrap; font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); }
  .lx-legend span { display: inline-flex; align-items: center; gap: 5px; }
  .lx-legend i { width: 10px; height: 10px; border-radius: 2px; display: inline-block; }
  .lx-tip { position: fixed; pointer-events: none; z-index: 60; background: var(--cds-surface-popover, var(--color-panel)); color: var(--color-fg); border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); box-shadow: 0 6px 24px rgba(10,20,60,.22); padding: 8px 11px; font-size: var(--cds-font-size-caption); font-variant-numeric: tabular-nums; max-width: 20rem; display: none; }
  .lx-tip h4 { margin: 0 0 4px; font-size: var(--cds-font-size-caption); font-weight: var(--cds-font-weight-medium); }
  .lx-tip .r { display: flex; gap: 10px; justify-content: space-between; align-items: center; }
  .lx-tip .r span:first-child { color: var(--color-fg-muted); display: inline-flex; gap: 5px; align-items: center; }
  .lx-tip i { width: 9px; height: 9px; border-radius: 2px; display: inline-block; }
  .lx-tip .hint { margin-top: 5px; color: var(--lbn-blue); font-weight: var(--cds-font-weight-medium); }
  :root[data-theme=dark] .lx-tip .hint, :root:not([data-theme=light]) .lx-tip .hint { color: var(--lbn-yellow); }
  .lx-bar { cursor: pointer; }
  .lx-bar:hover { opacity: .8; }

  .lx-tablebox { overflow: auto; max-height: 34rem; border-radius: var(--cds-radius); }
  .lx table { width: 100%; border-collapse: collapse; font-size: var(--cds-font-size-caption); font-variant-numeric: tabular-nums; }
  .lx th { position: sticky; top: 0; background: var(--color-panel); text-align: left; font-weight: var(--cds-font-weight-medium); color: var(--color-fg-muted); border-bottom: 1px solid var(--color-border-line); padding: 0; white-space: nowrap; z-index: 1; }
  .lx th button { font: inherit; color: inherit; background: none; border: none; padding: 8px 9px; width: 100%; text-align: inherit; display: flex; gap: 4px; align-items: center; }
  .lx th.num button { justify-content: flex-end; }
  .lx th[aria-sort=ascending] button::after { content: "\2191"; color: var(--lbn-blue); }
  .lx th[aria-sort=descending] button::after { content: "\2193"; color: var(--lbn-blue); }
  .lx th.num, .lx td.num { text-align: right; }
  .lx td { padding: 7px 9px; border-bottom: 1px solid var(--color-border-line); white-space: nowrap; }
  .lx td.wrap { white-space: normal; min-width: 8rem; }
  .lx tbody tr.click { cursor: pointer; }
  .lx tbody tr.click:hover td { background: color-mix(in srgb, var(--lbn-blue) 8%, transparent); }
  .lx a.m { color: inherit; text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--lbn-blue) 45%, transparent); text-underline-offset: 3px; cursor: pointer; background: none; border: none; padding: 0; font: inherit; text-align: left; }
  .lx a.m:hover { color: var(--lbn-blue); }
  .lx-pill { display: inline-block; padding: 1px 9px; border-radius: 999px; font-size: var(--cds-font-size-caption); border: 1px solid currentColor; white-space: nowrap; }
  .lx-pill.bad { color: var(--color-bad); } .lx-pill.warn { color: var(--color-warn); } .lx-pill.ok { color: var(--color-ok); } .lx-pill.muted { color: var(--color-fg-muted); } .lx-pill.blue { color: var(--lbn-blue); }
  .lx-note { margin: 0; font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); max-width: 90ch; line-height: 1.5; }
  .lx-note b { color: var(--color-fg); font-weight: var(--cds-font-weight-medium); }
  .lx-callout { border-left: 3px solid var(--lbn-yellow); background: color-mix(in srgb, var(--lbn-yellow) 10%, transparent); padding: var(--cds-pad-sm) var(--cds-pad-md); border-radius: 0 var(--cds-radius) var(--cds-radius) 0; }
  .lx-empty { color: var(--color-fg-muted); font-size: var(--cds-font-size-caption); padding: 28px 0; text-align: center; }
  .lx-load { display: flex; align-items: center; justify-content: center; min-height: 220px; color: var(--color-fg-muted); font-size: var(--cds-font-size-caption); }
  .lx-bartrack { height: 8px; background: color-mix(in srgb, var(--color-fg) 9%, transparent); border-radius: 4px; overflow: hidden; min-width: 70px; }
  .lx-bartrack > i { display: block; height: 100%; background: var(--lbn-blue); }
  .lx-heat td, .lx-heat th { text-align: center; }
  .lx-heat td.c { cursor: pointer; }
  .lx-heat td.c:hover { outline: 2px solid var(--lbn-blue); outline-offset: -2px; }
  .lx-alert { display: flex; gap: 10px; align-items: flex-start; text-align: left; padding: 9px 11px; border: 1px solid var(--color-border-line); border-left: 3px solid var(--color-warn); border-radius: var(--cds-radius); background: var(--color-panel); color: inherit; width: 100%; }
  .lx-alert.bad { border-left-color: var(--color-bad); } .lx-alert.ok { border-left-color: var(--color-ok); }
  .lx-alert:hover { background: color-mix(in srgb, var(--lbn-blue) 6%, var(--color-panel)); }
  .lx-alert b { display: block; font-weight: var(--cds-font-weight-medium); }
  .lx-alert span { color: var(--color-fg-muted); font-size: var(--cds-font-size-caption); }
  .lx-list { margin: 0; padding-left: 1.1em; display: flex; flex-direction: column; gap: 4px; font-size: var(--cds-font-size-caption); line-height: 1.45; }
  .lx-fb { display: flex; flex-direction: column; gap: 10px; }
  .lx-fb h5 { margin: 0; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; color: var(--color-fg-muted); font-weight: var(--cds-font-weight-medium); }
  .lx-do { background: color-mix(in srgb, var(--lbn-blue) 9%, transparent); border-radius: var(--cds-radius); padding: 9px 11px; font-size: var(--cds-font-size-caption); line-height: 1.45; }

  /* popover and drill panel */
  .lx-pop { position: fixed; z-index: 55; background: var(--color-panel); border: 1px solid var(--color-border-line); border-radius: var(--cds-radius); box-shadow: 0 10px 34px rgba(10,20,60,.28); padding: 14px; width: min(22rem, calc(100vw - 24px)); display: flex; flex-direction: column; gap: 10px; }
  .lx-pop[hidden] { display: none; }
  .lx-pop .row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; justify-content: space-between; }
  .lx-scrim { position: fixed; inset: 0; background: rgba(10,18,50,.45); z-index: 40; }
  .lx-scrim[hidden] { display: none; }
  .lx-drill { position: fixed; top: 0; right: 0; bottom: 0; width: min(46rem, 100vw); z-index: 45; background: var(--color-bg); border-left: 1px solid var(--color-border-line); box-shadow: -12px 0 40px rgba(10,20,60,.3); display: flex; flex-direction: column; transform: translateX(102%); transition: transform .22s ease; }
  .lx-drill.open { transform: none; }
  .lx-drill-in { overflow: auto; padding: 18px 20px 28px; display: flex; flex-direction: column; gap: 14px; flex: 1; }
  .lx-crumbs { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: var(--cds-font-size-caption); color: var(--color-fg-muted); }
  .lx-x { border: none; background: color-mix(in srgb, var(--color-fg) 8%, transparent); width: 30px; height: 30px; border-radius: 50%; color: var(--color-fg); }
  .lx-big { font-family: var(--font-anthropic-serif); font-size: 2.1rem; line-height: 1.05; font-variant-numeric: tabular-nums; }
  .lx-box { background: color-mix(in srgb, var(--color-fg) 5%, transparent); border-radius: var(--cds-radius); padding: 12px; display: flex; flex-direction: column; gap: 9px; }
  .lx-row { display: flex; gap: 8px; flex-wrap: wrap; align-items: flex-end; }
  .lx-ins { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 8px; }
  .lx-ins > div { border-radius: var(--cds-radius); padding: 9px 11px; font-size: var(--cds-font-size-caption); background: color-mix(in srgb, var(--color-fg) 6%, transparent); line-height: 1.4; }
  .lx-ins > div b { display: block; font-size: var(--cds-font-size-body); }
  .lx-ins .bad { background: color-mix(in srgb, var(--color-bad) 13%, transparent); }
  .lx-ins .warn { background: color-mix(in srgb, var(--lbn-yellow) 20%, transparent); }
  .lx-ins .ok { background: color-mix(in srgb, var(--color-ok) 13%, transparent); }
  .lx-dtabs { display: flex; gap: 14px; border-bottom: 1px solid var(--color-border-line); }
  .lx-dtabs button { background: none; border: none; border-bottom: 2px solid transparent; padding: 6px 0; color: var(--color-fg-muted); }
  .lx-dtabs button[aria-selected=true] { color: var(--lbn-blue); border-bottom-color: var(--lbn-blue); font-weight: var(--cds-font-weight-medium); }
  .lx-kv { display: grid; grid-template-columns: 8.5rem 1fr; gap: 4px 12px; font-size: var(--cds-font-size-caption); }
  .lx-kv dt { color: var(--color-fg-muted); } .lx-kv dd { margin: 0; overflow-wrap: anywhere; }
  .lx-brush .selection { fill: var(--lbn-blue); fill-opacity: .14; stroke: var(--lbn-blue); }
  .lx-brush .handle { fill: var(--lbn-blue); }
  @media (max-width: 620px) { .lx-hn { display: none; } .lx-logo { height: 40px; } }
  .lx-i { display: inline-flex; align-items: center; justify-content: center; width: 15px; height: 15px; margin-left: 5px; border: 1px solid var(--color-fg-muted); border-radius: 50%; font: italic 600 10px/1 Georgia, serif; color: var(--color-fg-muted); cursor: help; vertical-align: middle; flex: none; background: transparent; }
  .lx-i:hover, .lx-i:focus { color: var(--lbn-blue); border-color: var(--lbn-blue); outline: none; }
  .lx-tab .lx-i { margin-left: 6px; }
  .lx-h3 .lx-i, .lx-lbl .lx-i { vertical-align: 1px; }
